devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
39 lines (38 loc) • 1.41 kB
JavaScript
/**
* DevExtreme (esm/__internal/integration/knockout/components.js)
* Version: 25.2.3
* Build date: Fri Dec 12 2025
*
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import {
getImageContainer
} from "../../core/utils/m_icon";
import ko from "knockout";
if (ko) {
ko.bindingHandlers.dxControlsDescendantBindings = {
init: (_, valueAccessor) => ({
controlsDescendantBindings: ko.unwrap(valueAccessor())
})
};
ko.bindingHandlers.dxIcon = {
init(element, valueAccessor) {
const options = ko.utils.unwrapObservable(valueAccessor()) || {};
const iconElement = getImageContainer(options);
ko.virtualElements.emptyNode(element);
if (iconElement) {
ko.virtualElements.prepend(element, iconElement.get(0))
}
},
update(element, valueAccessor) {
const options = ko.utils.unwrapObservable(valueAccessor()) || {};
const iconElement = getImageContainer(options);
ko.virtualElements.emptyNode(element);
if (iconElement) {
ko.virtualElements.prepend(element, iconElement.get(0))
}
}
};
ko.virtualElements.allowedBindings.dxIcon = true
}