@wcardinal/wcardinal-geditor
Version:
WebGL-based graphic editor, tester and viewer for supervisory systems
91 lines • 3.72 kB
JavaScript
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