devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
44 lines (42 loc) • 1.74 kB
JavaScript
/**
* DevExtreme (cjs/__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/
*/
;
var _m_icon = require("../../core/utils/m_icon");
var _knockout = _interopRequireDefault(require("knockout"));
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
default: e
}
}
if (_knockout.default) {
_knockout.default.bindingHandlers.dxControlsDescendantBindings = {
init: (_, valueAccessor) => ({
controlsDescendantBindings: _knockout.default.unwrap(valueAccessor())
})
};
_knockout.default.bindingHandlers.dxIcon = {
init(element, valueAccessor) {
const options = _knockout.default.utils.unwrapObservable(valueAccessor()) || {};
const iconElement = (0, _m_icon.getImageContainer)(options);
_knockout.default.virtualElements.emptyNode(element);
if (iconElement) {
_knockout.default.virtualElements.prepend(element, iconElement.get(0))
}
},
update(element, valueAccessor) {
const options = _knockout.default.utils.unwrapObservable(valueAccessor()) || {};
const iconElement = (0, _m_icon.getImageContainer)(options);
_knockout.default.virtualElements.emptyNode(element);
if (iconElement) {
_knockout.default.virtualElements.prepend(element, iconElement.get(0))
}
}
};
_knockout.default.virtualElements.allowedBindings.dxIcon = true
}