34935-vm/assets/cesium/packages/widgets/Source/subscribeAndEvaluate.js
Flatlogic Bot 055d24df95 WORKING
2025-10-14 02:37:44 +00:00

31 lines
1012 B
JavaScript

import knockout from "./ThirdParty/knockout.js";
/**
* Subscribe to a Knockout observable ES5 property, and immediately fire
* the callback with the current value of the property.
*
* @private
*
* @function subscribeAndEvaluate
*
* @param {object} owner The object containing the observable property.
* @param {string} observablePropertyName The name of the observable property.
* @param {Function} callback The callback function.
* @param {object} [target] The value of this in the callback function.
* @param {string} [event='change'] The name of the event to receive notification for.
* @returns The subscription object from Knockout which can be used to dispose the subscription later.
*/
function subscribeAndEvaluate(
owner,
observablePropertyName,
callback,
target,
event
) {
callback.call(target, owner[observablePropertyName]);
return knockout
.getObservable(owner, observablePropertyName)
.subscribe(callback, target, event);
}
export default subscribeAndEvaluate;