UNPKG

@wcardinal/wcardinal-geditor

Version:

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

91 lines 3.72 kB
import { EShapeActionValueShowHideLayer } from "@wcardinal/wcardinal-ui"; var EShapeButtonLayerButtonValue = /** @class */ (function () { function EShapeButtonLayerButtonValue(label, weight, layers, bringToFront, isGrouped, isActive) { this.label = label; this.weight = weight; this.layers = layers; this.bringToFront = bringToFront; this.isGrouped = isGrouped; this.isActive = isActive; this.action = new EShapeActionValueShowHideLayer("isActive", layers, bringToFront); } EShapeButtonLayerButtonValue.prototype.isEquals = function (target) { if (this.label !== target.label) { return false; } if (this.weight !== target.weight) { return false; } if (this.bringToFront !== target.bringToFront) { return false; } if (this.isGrouped !== target.isGrouped) { return false; } if (this.isActive !== target.isActive) { return false; } var layers = this.layers; var layersLength = layers.length; var targetLayers = target.layers; if (layersLength !== targetLayers.length) { return false; } for (var i = 0; i < layersLength; ++i) { if (layers[i] !== targetLayers[i]) { return false; } } return true; }; EShapeButtonLayerButtonValue.prototype.serizlize = function (manager) { var layersId = this.serializedLayers(manager); var bringToFront = this.bringToFront ? 1 : 0; var isGrouped = this.isGrouped ? 2 : 0; var isActive = this.isActive ? 4 : 0; var type = bringToFront | isGrouped | isActive; return manager.addResource("[".concat(manager.addResource(this.label), ",").concat(this.weight, ",").concat(layersId, ",").concat(type, "]")); }; EShapeButtonLayerButtonValue.prototype.serializedLayers = function (manager) { var layers = this.layers; var serialized = "["; var delimiter = ""; for (var i = 0, imax = layers.length; i < imax; ++i) { serialized += delimiter + layers[i]; delimiter = ","; } serialized += "]"; return manager.addResource(serialized); }; EShapeButtonLayerButtonValue.deserialize = function (target, manager) { var resources = manager.resources; if (0 <= target && target < resources.length) { var parsed = manager.getExtension(target); if (parsed == null) { parsed = JSON.parse(resources[target]); manager.setExtension(target, parsed); } return new EShapeButtonLayerButtonValue(resources[parsed[0]], parsed[1], this.deserializeLayers(parsed[2], manager), !!(parsed[3] & 0x1), !!(parsed[3] & 0x2), !!(parsed[3] & 0x4)); } return null; }; EShapeButtonLayerButtonValue.deserializeLayers = function (target, manager) { var result = []; var resources = manager.resources; var resourcesLength = resources.length; if (0 <= target && target < resourcesLength) { var parsed = manager.getExtension(target); if (parsed == null) { parsed = JSON.parse(resources[target]); manager.setExtension(target, parsed); } for (var i = 0, imax = parsed.length; i < imax; ++i) { result.push(parsed[i]); } } return result; }; return EShapeButtonLayerButtonValue; }()); export { EShapeButtonLayerButtonValue }; //# sourceMappingURL=e-shape-button-layer-button-value.js.map