UNPKG

@wcardinal/wcardinal-geditor

Version:

WebGL-based graphic editor, tester and viewer for supervisory systems

82 lines 2.72 kB
import { EShapeActionExtensions } from "../extension/e-shape-action-extensions"; import { EDialogActionExtension } from "./e-dialog-action-extension"; var EDialogActionExtensionContainer = /** @class */ (function () { function EDialogActionExtensionContainer(dialog, condition, layout) { this._data = new Map(); this._dialog = dialog; this._condition = condition; this._layout = layout; } Object.defineProperty(EDialogActionExtensionContainer.prototype, "value", { get: function () { var selected = this._selected; if (selected) { return selected.value; } return null; }, set: function (value) { if (value != null) { var datum = this._data.get(value.type); if (datum != null) { datum.value = value; } } }, enumerable: false, configurable: true }); EDialogActionExtensionContainer.prototype.get = function (type) { var data = this._data; var result = data.get(type); if (result != null) { return result; } var e = EShapeActionExtensions.get(type); if (e == null) { return null; } result = new EDialogActionExtension(e, this._dialog, this._condition, this._layout); data.set(type, result); return result; }; EDialogActionExtensionContainer.prototype.show = function (type) { if (type != null) { var datum = this.get(type); if (datum != null) { var selected = this._selected; if (selected !== datum) { if (selected != null) { selected.hide(); } this._selected = datum; datum.show(); } } else { this.hide(); } } else { this.hide(); } }; EDialogActionExtensionContainer.prototype.hide = function () { var selected = this._selected; if (selected != null) { selected.hide(); this._selected = null; } }; EDialogActionExtensionContainer.prototype.reset = function () { this._data.forEach(function (datum) { datum.reset(); }); }; EDialogActionExtensionContainer.prototype.onChange = function (type) { this.show(type); }; return EDialogActionExtensionContainer; }()); export { EDialogActionExtensionContainer }; //# sourceMappingURL=e-dialog-action-extension-container.js.map