UNPKG

@wcardinal/wcardinal-geditor

Version:

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

162 lines 5.86 kB
import { __extends } from "tslib"; import { DBoard, DButtonAmbient, DControllers, DCornerMask, DInputText, DLayoutHorizontal } from "@wcardinal/wcardinal-ui"; import { ECommandDocumentName } from "../command/e-command-document-name"; import { EDialogCanvas } from "./e-dialog-canvas"; import { ECommandDocumentAll } from "../command/e-command-document-all"; var toOptions = function (options) { var _a, _b, _c, _d, _e; (_a = options.width) !== null && _a !== void 0 ? _a : (options.width = 200); (_b = options.height) !== null && _b !== void 0 ? _b : (options.height = 30); (_c = options.padding) !== null && _c !== void 0 ? _c : (options.padding = 0); (_d = options.corner) !== null && _d !== void 0 ? _d : (options.corner = { mask: "BOTTOM" }); (_e = options.shadow) !== null && _e !== void 0 ? _e : (options.shadow = "WEAK"); return options; }; var EEditorCanvas = /** @class */ (function (_super) { __extends(EEditorCanvas, _super); function EEditorCanvas(options) { var _this = _super.call(this, toOptions(options)) || this; _this._icons = options.icons; var diagram = options.diagram; _this._diagram = diagram; diagram.on("change", function () { var canvas = diagram.canvas; if (canvas != null) { _this.inputName.value = canvas.name; } }); diagram.on("set", function (canvas) { _this.inputName.value = canvas.name; _this.show(); }); diagram.on("unset", function (canvas) { _this.hide(); }); _this._canvas = options.canvas; _this.addChild(new DLayoutHorizontal({ x: "padding", y: "padding", width: "padding", height: "padding", margin: 0, children: [_this.inputName, _this.buttonEditor] })); _this.hide(); return _this; } Object.defineProperty(EEditorCanvas.prototype, "inputName", { get: function () { var result = this._inputName; if (result == null) { result = this.newInputName(); this._inputName = result; } return result; }, enumerable: false, configurable: true }); EEditorCanvas.prototype.newInputName = function () { var _this = this; return new DInputText({ weight: 1, background: { color: null }, border: { color: null }, corner: { mask: DCornerMask.ALL & ~DCornerMask.TOP_LEFT }, on: { change: function (value) { _this.onInputNameChange(value); } } }); }; EEditorCanvas.prototype.onInputNameChange = function (value) { var diagram = this._diagram; var canvas = diagram.canvas; if (canvas != null && canvas.name !== value) { DControllers.getCommandController().push(new ECommandDocumentName(diagram, canvas, value)); } }; Object.defineProperty(EEditorCanvas.prototype, "buttonEditor", { get: function () { var result = this._buttonEditor; if (result == null) { result = this.newButtonEditor(); this._buttonEditor = result; } return result; }, enumerable: false, configurable: true }); EEditorCanvas.prototype.newButtonEditor = function () { var _this = this; return new DButtonAmbient({ width: 30, image: { source: this._icons.editor_canvas }, on: { active: function (emitter) { _this.onButtonEditorActive(emitter); } } }); }; EEditorCanvas.prototype.onButtonEditorActive = function (opener) { var _this = this; this.dialogEditor.then(function (dialogEditor) { var diagram = _this._diagram; dialogEditor .reset(diagram) .open(opener) .then(function (value) { var canvas = diagram.canvas; if (canvas != null) { DControllers.getCommandController().push(new ECommandDocumentAll(diagram, canvas, value.name, value.label, value.width, value.height, value.category, value.summary, value.description, value.background.color, value.background.alpha)); } }); }); }; Object.defineProperty(EEditorCanvas.prototype, "dialogEditor", { get: function () { var result = this._dialogEditor; if (result == null) { result = this.newDialogEditor(); this._dialogEditor = result; } return result; }, enumerable: false, configurable: true }); EEditorCanvas.prototype.newDialogEditor = function () { return this._canvas.get().then(function (canvas) { return new EDialogCanvas({ canvas: canvas }); }); }; EEditorCanvas.prototype.render = function (renderer) { var diagram = this._diagram; var canvas = diagram.canvas; if (canvas != null) { var position = canvas.position; this.position.set(position.x, position.y - this.height); this.updateTransform(); } _super.prototype.render.call(this, renderer); }; EEditorCanvas.prototype.getType = function () { return "EEditorCanvas"; }; return EEditorCanvas; }(DBoard)); export { EEditorCanvas }; //# sourceMappingURL=e-editor-canvas.js.map