UNPKG

@wcardinal/wcardinal-geditor

Version:

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

98 lines 3.35 kB
import { __extends } from "tslib"; import { DCommandBase } from "@wcardinal/wcardinal-ui"; var ECommandLayerDelete = /** @class */ (function (_super) { __extends(ECommandLayerDelete, _super); function ECommandLayerDelete(layer, layerContainer, selection) { var _this = _super.call(this) || this; _this._layerContainer = layerContainer; _this._layerActive = layerContainer.active; _this._layer = layer; layer.reference += 1; _this._layerIndex = -1; _this._selection = selection; _this._selectionStored = null; return _this; } Object.defineProperty(ECommandLayerDelete.prototype, "layerContainer", { get: function () { return this._layerContainer; }, enumerable: false, configurable: true }); Object.defineProperty(ECommandLayerDelete.prototype, "layerActive", { get: function () { return this._layerActive; }, enumerable: false, configurable: true }); Object.defineProperty(ECommandLayerDelete.prototype, "layer", { get: function () { return this._layer; }, enumerable: false, configurable: true }); Object.defineProperty(ECommandLayerDelete.prototype, "layerIndex", { get: function () { return this._layerIndex; }, enumerable: false, configurable: true }); Object.defineProperty(ECommandLayerDelete.prototype, "selection", { get: function () { return this._selection; }, enumerable: false, configurable: true }); Object.defineProperty(ECommandLayerDelete.prototype, "selectionStored", { get: function () { return this._selectionStored; }, enumerable: false, configurable: true }); ECommandLayerDelete.prototype.execute = function () { var layer = this._layer; var layerContainer = this._layerContainer; var selection = this._selection; if (layer === layerContainer.active && !selection.isEmpty()) { this._selectionStored = selection.store(); selection.clear(); } else { this._selectionStored = null; } this._layerIndex = layerContainer.delete(layer, true); return true; }; ECommandLayerDelete.prototype.redo = function () { if (this._selectionStored != null) { this._selection.clear(); } this._layerContainer.delete(this._layer, true); return true; }; ECommandLayerDelete.prototype.undo = function () { this._layerContainer.attachAt(this._layer, this._layerIndex, this._layer === this._layerActive); if (this._selectionStored != null) { this._selection.restore(this._selectionStored); } return true; }; ECommandLayerDelete.prototype.destroy = function () { var layer = this._layer; layer.reference -= 1; if (layer.parent == null && layer.reference <= 0) { layer.destroy(); } this._layerActive = null; this._selectionStored = null; }; return ECommandLayerDelete; }(DCommandBase)); export { ECommandLayerDelete }; //# sourceMappingURL=e-command-layer-delete.js.map