mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-09-03 22:47:03 +03:00
ko.utils.domNodeDisposal.addDisposeCallback to ko.addDisposeCallback
This commit is contained in:
parent
c744b83480
commit
4cd5774257
12 changed files with 111 additions and 113 deletions
|
|
@ -131,7 +131,7 @@ class AsyncCompleteContext {
|
|||
this.asyncDescendants = new Set;
|
||||
this.childrenComplete = false;
|
||||
|
||||
bindingInfo.asyncContext || ko.utils.domNodeDisposal['addDisposeCallback'](node, asyncContextDispose);
|
||||
bindingInfo.asyncContext || ko.utils.domNodeDisposal.addDisposeCallback(node, asyncContextDispose);
|
||||
|
||||
if (ancestorBindingInfo?.asyncContext) {
|
||||
ancestorBindingInfo.asyncContext.asyncDescendants.add(node);
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
};
|
||||
|
||||
ko.virtualElements.emptyNode(element);
|
||||
ko.utils.domNodeDisposal['addDisposeCallback'](element, disposeAssociatedComponentViewModel);
|
||||
ko.utils.domNodeDisposal.addDisposeCallback(element, disposeAssociatedComponentViewModel);
|
||||
|
||||
ko.computed(() => {
|
||||
var componentName = ko.utils.unwrapObservable(valueAccessor()),
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ ko.computed = (evaluatorFunctionOrOptions, options) => {
|
|||
// Attach a DOM node disposal callback so that the computed will be proactively disposed as soon as the node is
|
||||
// removed using ko.removeNode. But skip if isActive is false (there will never be any dependencies to dispose).
|
||||
if (state.disposeWhenNodeIsRemoved && computedObservable.isActive()) {
|
||||
ko.utils.domNodeDisposal['addDisposeCallback'](state.disposeWhenNodeIsRemoved, state.domNodeDisposalCallback = () => {
|
||||
ko.utils.domNodeDisposal.addDisposeCallback(state.disposeWhenNodeIsRemoved, state.domNodeDisposalCallback = () => {
|
||||
computedObservable['dispose']();
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ class koSubscription
|
|||
disposeWhenNodeIsRemoved(node) {
|
||||
// MutationObserver ?
|
||||
this._node = node;
|
||||
ko.utils.domNodeDisposal['addDisposeCallback'](node, this._domNodeDisposalCallback = this['dispose'].bind(this));
|
||||
ko.utils.domNodeDisposal.addDisposeCallback(node, this._domNodeDisposalCallback = this['dispose'].bind(this));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ ko.utils.domNodeDisposal = (() => {
|
|||
};
|
||||
|
||||
return {
|
||||
'addDisposeCallback' : (node, callback) => {
|
||||
addDisposeCallback : (node, callback) => {
|
||||
if (typeof callback != "function")
|
||||
throw Error("Callback must be a function");
|
||||
getDisposeCallbacksCollection(node, 1).add(callback);
|
||||
|
|
@ -82,4 +82,5 @@ ko.utils.domNodeDisposal = (() => {
|
|||
})();
|
||||
ko.cleanNode = ko.utils.domNodeDisposal.cleanNode; // Shorthand name for convenience
|
||||
ko.removeNode = ko.utils.domNodeDisposal.removeNode; // Shorthand name for convenience
|
||||
ko.exportSymbol('utils.domNodeDisposal', ko.utils.domNodeDisposal);
|
||||
//ko.exportSymbol('utils.domNodeDisposal', ko.utils.domNodeDisposal);
|
||||
ko.exportSymbol('addDisposeCallback', ko.utils.domNodeDisposal.addDisposeCallback);
|
||||
|
|
|
|||
2
vendors/knockout/src/utils.js
vendored
2
vendors/knockout/src/utils.js
vendored
|
|
@ -96,5 +96,5 @@ ko.utils = {
|
|||
element.textContent = ko.utils.unwrapObservable(textContent)
|
||||
};
|
||||
|
||||
ko.exportSymbol('utils', ko.utils);
|
||||
//ko.exportSymbol('utils', ko.utils);
|
||||
ko.exportSymbol('unwrap', ko.utils.unwrapObservable); // Convenient shorthand, because this is used so commonly
|
||||
|
|
|
|||
14
vendors/knockout/src/virtualElements.js
vendored
14
vendors/knockout/src/virtualElements.js
vendored
|
|
@ -76,17 +76,15 @@
|
|||
ko.utils.setDomNodeChildren(node, childNodes);
|
||||
},
|
||||
|
||||
prepend: (containerNode, nodeToPrepend) => {
|
||||
// Start comments must always have a parent and at least one following sibling (the end comment)
|
||||
isStartComment(containerNode)
|
||||
? containerNode.nextSibling.before(nodeToPrepend)
|
||||
: containerNode.prepend(nodeToPrepend);
|
||||
},
|
||||
|
||||
insertAfter: (containerNode, nodeToInsert, insertAfterNode) => {
|
||||
insertAfterNode
|
||||
? insertAfterNode.after(nodeToInsert)
|
||||
: ko.virtualElements.prepend(containerNode, nodeToInsert);
|
||||
: (
|
||||
// Start comments must always have a parent and at least one following sibling (the end comment)
|
||||
isStartComment(containerNode)
|
||||
? containerNode.nextSibling.before(nodeToInsert)
|
||||
: containerNode.prepend(nodeToInsert)
|
||||
);
|
||||
},
|
||||
|
||||
firstChild: node => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue