devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
56 lines (55 loc) • 1.54 kB
JavaScript
/**
* DevExtreme (cjs/__internal/ui/html_editor/modules/m_widget_collector.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/
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _iterator = require("../../../../core/utils/iterator");
class WidgetCollector {
constructor() {
this._collection = []
}
clear() {
this._collection = []
}
add(name, instance) {
this._collection.push({
name: name,
instance: instance
})
}
remove(name) {
this._collection = this._collection.filter((item => item.name !== name))
}
getByName(widgetName) {
let widget = null;
(0, _iterator.each)(this._collection, ((index, _ref) => {
let {
name: name,
instance: instance
} = _ref;
if (name === widgetName) {
widget = instance;
return false
}
}));
return widget
}
each(handler) {
this._collection.forEach((_ref2 => {
let {
name: name,
instance: instance
} = _ref2;
return instance && handler(name, instance)
}))
}
}
exports.default = WidgetCollector;