devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
46 lines (44 loc) • 1.78 kB
JavaScript
/**
* DevExtreme (cjs/integration/knockout/components.js)
* Version: 24.2.6
* Build date: Mon Mar 17 2025
*
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
var _knockout = _interopRequireDefault(require("knockout"));
var _icon = require("../../core/utils/icon");
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
default: e
}
}
if (_knockout.default) {
_knockout.default.bindingHandlers.dxControlsDescendantBindings = {
init: function(_, valueAccessor) {
return {
controlsDescendantBindings: _knockout.default.unwrap(valueAccessor())
}
}
};
_knockout.default.bindingHandlers.dxIcon = {
init: function(element, valueAccessor) {
const options = _knockout.default.utils.unwrapObservable(valueAccessor()) || {};
const iconElement = (0, _icon.getImageContainer)(options);
_knockout.default.virtualElements.emptyNode(element);
if (iconElement) {
_knockout.default.virtualElements.prepend(element, iconElement.get(0))
}
},
update: function(element, valueAccessor) {
const options = _knockout.default.utils.unwrapObservable(valueAccessor()) || {};
const iconElement = (0, _icon.getImageContainer)(options);
_knockout.default.virtualElements.emptyNode(element);
if (iconElement) {
_knockout.default.virtualElements.prepend(element, iconElement.get(0))
}
}
};
_knockout.default.virtualElements.allowedBindings.dxIcon = true
}