mframejs
Version:
simple framework
27 lines • 1.24 kB
JavaScript
import { CONSTANTS } from '../interface/exported';
import { unSubscribeClassProperty } from './property/unSubscribeClassProperty';
export function unSubscribeClassMetaBinding(_class) {
const META = _class.__proto__[CONSTANTS.META_BINDABLE];
if (META) {
const keys = Object.keys(META);
for (const key of keys) {
const CLASSMETA = _class.__metaBinding[key];
const subscribeInternal = CLASSMETA.options.subscribeInternal;
if (subscribeInternal) {
unSubscribeClassProperty(_class.$bindingContext, subscribeInternal);
}
const subscribeExternal = CLASSMETA.options.subscribeExternal;
if (_class.$bindingContext && subscribeExternal) {
if (_class.$element) {
const el = _class.$element;
const att = `${META[key].options.attribute}.bind`;
const attrValue = el.getAttribute(att);
if (attrValue) {
unSubscribeClassProperty(_class.$bindingContext, subscribeExternal);
}
}
}
}
}
}
//# sourceMappingURL=unSubscribeClassMetaBinding.js.map