mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-31 21:19:21 +03:00
KnockoutJS:
* remove deprecated allBindings as Accessor https://github.com/knockout/knockout/pull/2133 * remove unused event '*Bubble' https://knockoutjs.com/documentation/event-binding.html#note-4-preventing-the-event-from-bubbling * remove unused 'completeOn' https://knockoutjs.com/documentation/binding-lifecycle-events.html#indicating-that-a-control-flow-binding-completes-asynchronously
This commit is contained in:
parent
4cb88b408c
commit
3a32a09f2a
8 changed files with 96 additions and 116 deletions
|
|
@ -393,13 +393,12 @@
|
|||
? bindingKey => () => bindingsUpdater()[bindingKey]()
|
||||
: bindingKey => bindings[bindingKey];
|
||||
|
||||
// Use of allBindings as a function is maintained for backwards compatibility, but its use is deprecated
|
||||
function allBindings() {
|
||||
return ko.utils.objectMap(bindingsUpdater ? bindingsUpdater() : bindings, valueAccessor => valueAccessor());
|
||||
}
|
||||
// Use of allBindings as a function is deprecated and removed
|
||||
// The following is the 3.x allBindings API
|
||||
allBindings['get'] = key => bindings[key] && getValueAccessor(key)();
|
||||
allBindings['has'] = key => key in bindings;
|
||||
var allBindings = {
|
||||
'get': key => bindings[key] && getValueAccessor(key)(),
|
||||
'has': key => key in bindings
|
||||
};
|
||||
|
||||
if (ko.bindingEvent.childrenComplete in bindings) {
|
||||
ko.bindingEvent.subscribe(node, ko.bindingEvent.childrenComplete, () => {
|
||||
|
|
|
|||
|
|
@ -33,12 +33,6 @@ ko.bindingHandlers['event'] = {
|
|||
event.preventDefault();
|
||||
}
|
||||
}
|
||||
|
||||
var bubble = allBindings.get(eventName + 'Bubble') !== false;
|
||||
if (!bubble) {
|
||||
event.cancelBubble = true;
|
||||
event.stopPropagation();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
function makeWithIfBinding(bindingKey, isWith, isNot) {
|
||||
ko.bindingHandlers[bindingKey] = {
|
||||
'init': (element, valueAccessor, allBindings, viewModel, bindingContext) => {
|
||||
var didDisplayOnLastUpdate, savedNodes, contextOptions = {}, completeOnRender, needAsyncContext, renderOnEveryChange;
|
||||
var didDisplayOnLastUpdate, savedNodes, contextOptions = {}, needAsyncContext, renderOnEveryChange;
|
||||
|
||||
if (isWith) {
|
||||
var as = allBindings.get('as'), noChildContext = allBindings.get('noChildContext');
|
||||
|
|
@ -12,8 +12,7 @@ function makeWithIfBinding(bindingKey, isWith, isNot) {
|
|||
contextOptions = { 'as': as, 'noChildContext': noChildContext, 'exportDependencies': renderOnEveryChange };
|
||||
}
|
||||
|
||||
completeOnRender = allBindings.get("completeOn") == "render";
|
||||
needAsyncContext = completeOnRender || allBindings['has'](ko.bindingEvent.descendantsComplete);
|
||||
needAsyncContext = allBindings['has'](ko.bindingEvent.descendantsComplete);
|
||||
|
||||
ko.computed(() => {
|
||||
var value = ko.utils.unwrapObservable(valueAccessor()),
|
||||
|
|
@ -57,9 +56,7 @@ function makeWithIfBinding(bindingKey, isWith, isNot) {
|
|||
} else {
|
||||
ko.virtualElements.emptyNode(element);
|
||||
|
||||
if (!completeOnRender) {
|
||||
ko.bindingEvent.notify(element, ko.bindingEvent.childrenComplete);
|
||||
}
|
||||
ko.bindingEvent.notify(element, ko.bindingEvent.childrenComplete);
|
||||
}
|
||||
|
||||
didDisplayOnLastUpdate = shouldDisplay;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue