mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-09-02 14:07:04 +03:00
notifySubscribers and equalityComparer are not used outside KnockoutJS
This commit is contained in:
parent
679d7356e0
commit
30e9b89d9b
9 changed files with 113 additions and 114 deletions
|
|
@ -149,7 +149,7 @@ function evaluateImmediate_CallReadThenEndDependencyDetection(state, dependencyD
|
|||
}
|
||||
|
||||
var computedFn = {
|
||||
"equalityComparer": valuesArePrimitiveAndEqual,
|
||||
equalityComparer: valuesArePrimitiveAndEqual,
|
||||
getDependenciesCount: function () {
|
||||
return this[computedState].dependenciesCount;
|
||||
},
|
||||
|
|
@ -303,17 +303,17 @@ var computedFn = {
|
|||
|
||||
if (changed) {
|
||||
if (!state.isSleeping) {
|
||||
computedObservable["notifySubscribers"](state.latestValue, "beforeChange");
|
||||
computedObservable.notifySubscribers(state.latestValue, "beforeChange");
|
||||
} else {
|
||||
computedObservable.updateVersion();
|
||||
}
|
||||
|
||||
state.latestValue = newValue;
|
||||
|
||||
computedObservable["notifySubscribers"](state.latestValue, "spectate");
|
||||
computedObservable.notifySubscribers(state.latestValue, "spectate");
|
||||
|
||||
if (!state.isSleeping && notifyChange) {
|
||||
computedObservable["notifySubscribers"](state.latestValue);
|
||||
computedObservable.notifySubscribers(state.latestValue);
|
||||
}
|
||||
if (computedObservable._recordUpdate) {
|
||||
computedObservable._recordUpdate();
|
||||
|
|
@ -321,7 +321,7 @@ var computedFn = {
|
|||
}
|
||||
|
||||
if (isInitial) {
|
||||
computedObservable["notifySubscribers"](state.latestValue, "awake");
|
||||
computedObservable.notifySubscribers(state.latestValue, "awake");
|
||||
}
|
||||
|
||||
return changed;
|
||||
|
|
@ -420,7 +420,7 @@ var pureComputedOverrides = {
|
|||
}
|
||||
|
||||
if (!state.isDisposed) { // test since evaluating could trigger disposal
|
||||
computedObservable["notifySubscribers"](state.latestValue, "awake");
|
||||
computedObservable.notifySubscribers(state.latestValue, "awake");
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -438,7 +438,7 @@ var pureComputedOverrides = {
|
|||
}
|
||||
});
|
||||
state.isSleeping = true;
|
||||
this["notifySubscribers"](undefined, "asleep");
|
||||
this.notifySubscribers(undefined, "asleep");
|
||||
}
|
||||
},
|
||||
getVersion: function () {
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ ko.extenders = {
|
|||
},
|
||||
|
||||
'notify': (target, notifyWhen) => {
|
||||
target["equalityComparer"] = notifyWhen == "always" ?
|
||||
target.equalityComparer = notifyWhen == "always" ?
|
||||
null : // null equalityComparer means to always notify
|
||||
valuesArePrimitiveAndEqual;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,13 +42,13 @@ var observableFn = {
|
|||
let value = this[observableLatestValue];
|
||||
return value && value.toJSON ? value.toJSON() : value;
|
||||
},
|
||||
'equalityComparer': valuesArePrimitiveAndEqual,
|
||||
equalityComparer: valuesArePrimitiveAndEqual,
|
||||
peek: function() { return this[observableLatestValue]; },
|
||||
valueHasMutated: function () {
|
||||
this['notifySubscribers'](this[observableLatestValue], 'spectate');
|
||||
this['notifySubscribers'](this[observableLatestValue]);
|
||||
this.notifySubscribers(this[observableLatestValue], 'spectate');
|
||||
this.notifySubscribers(this[observableLatestValue]);
|
||||
},
|
||||
valueWillMutate: function () { this['notifySubscribers'](this[observableLatestValue], 'beforeChange'); }
|
||||
valueWillMutate: function () { this.notifySubscribers(this[observableLatestValue], 'beforeChange'); }
|
||||
};
|
||||
|
||||
// Note that for browsers that don't support proto assignment, the
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ ko.extenders['trackArrayChanges'] = (target, options) => {
|
|||
pendingChanges = 0;
|
||||
|
||||
if (changes && changes.length) {
|
||||
target['notifySubscribers'](changes, arrayChangeEventName);
|
||||
target.notifySubscribers(changes, arrayChangeEventName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ var ko_subscribable_fn = {
|
|||
return subscription;
|
||||
},
|
||||
|
||||
"notifySubscribers": function (valueToNotify, event) {
|
||||
notifySubscribers: function (valueToNotify, event) {
|
||||
event = event || defaultEvent;
|
||||
if (event === defaultEvent) {
|
||||
this.updateVersion();
|
||||
|
|
@ -105,9 +105,9 @@ var ko_subscribable_fn = {
|
|||
beforeChange = 'beforeChange';
|
||||
|
||||
if (!self._origNotifySubscribers) {
|
||||
self._origNotifySubscribers = self["notifySubscribers"];
|
||||
self._origNotifySubscribers = self.notifySubscribers;
|
||||
// Moved out of "limit" to avoid the extra closure
|
||||
self["notifySubscribers"] = function(value, event) {
|
||||
self.notifySubscribers = function(value, event) {
|
||||
if (!event || event === defaultEvent) {
|
||||
this._limitChange(value);
|
||||
} else if (event === 'beforeChange') {
|
||||
|
|
@ -165,7 +165,7 @@ var ko_subscribable_fn = {
|
|||
},
|
||||
|
||||
isDifferent: function(oldValue, newValue) {
|
||||
return !this['equalityComparer'] || !this['equalityComparer'](oldValue, newValue);
|
||||
return !this.equalityComparer || !this.equalityComparer(oldValue, newValue);
|
||||
},
|
||||
|
||||
toString: () => '[object Object]',
|
||||
|
|
@ -197,4 +197,4 @@ ko.subscribable['fn'] = ko_subscribable_fn;
|
|||
|
||||
|
||||
ko.isSubscribable = instance =>
|
||||
instance != null && typeof instance.subscribe == "function" && typeof instance["notifySubscribers"] == "function";
|
||||
instance != null && typeof instance.subscribe == "function" && typeof instance.notifySubscribers == "function";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue