@wcardinal/wcardinal-geditor
Version:
WebGL-based graphic editor, tester and viewer for supervisory systems
165 lines • 6.76 kB
JavaScript
import { __extends } from "tslib";
import { DDialogProcessing } from "@wcardinal/wcardinal-ui";
var EDialogProcessing = /** @class */ (function (_super) {
__extends(EDialogProcessing, _super);
function EDialogProcessing() {
return _super !== null && _super.apply(this, arguments) || this;
}
EDialogProcessing.prototype.toReasonMalformedLabel = function (target) {
switch (target) {
case "uid":
return "An ID";
case "password":
return "A password";
case "description":
return "A description";
case "name":
return "A name";
case "label":
return "A label";
case "summary":
return "A summary";
default:
return "Something";
}
};
EDialogProcessing.prototype.toReasonMalformedRange = function (target) {
switch (target) {
case "uid":
return {
lower: 1,
upper: 32
};
case "password":
return {
lower: 6,
upper: 32
};
case "description":
return {
lower: 0,
upper: 256
};
case "name":
return {
lower: 1,
upper: 32
};
case "label":
return {
lower: 0,
upper: 16
};
case "summary":
return {
lower: 0,
upper: 32
};
default:
return {
lower: 1,
upper: 32
};
}
};
EDialogProcessing.prototype.toReasonMalformed = function (at, target, reason) {
var label = this.toReasonMalformedLabel(target);
switch (reason) {
case "short":
case "long":
var range = this.toReasonMalformedRange(target);
return "Failed to save '".concat(at, "'.\n").concat(label, " must be of ").concat(range.lower, " to ").concat(range.upper, "\ncharacters long.");
case "simple":
return "Failed to save '".concat(at, "'.\n").concat(label, " must contain letters (A-Za-z_)\nand digits (0-9).");
case "slash":
return "Failed to save '".concat(at, "'.\n").concat(label, " must not contain the slash mark (/).");
case "non-alphanumeric":
return ("Failed to save '".concat(at, "'.\n").concat(label, " must contain only letters (A-Za-z_),\n") +
"digits (0-9) and a sharp symbol (#).");
default:
return "Failed to save '".concat(at, "'.\n").concat(label, " is invalid.");
}
};
EDialogProcessing.prototype.toReasonTarget = function (at, target, targetLabel) {
if (target != null) {
return "Failed to save '".concat(at, "'.\n").concat(targetLabel, " '").concat(target, "' does not exit.");
}
else {
return "Failed to save '".concat(at, "'.\n").concat(targetLabel, " is missing.");
}
};
EDialogProcessing.prototype.toReasonTargetAt = function (at, target, atLabel, targetLabel) {
if (target != null) {
return "Failed to save.\n".concat(atLabel, " '").concat(at, "'\nrequires ").concat(targetLabel, " '").concat(target, "'.");
}
else {
return "Failed to save.\n".concat(atLabel, " '").concat(at, "'\nrequires ").concat(targetLabel, ".");
}
};
EDialogProcessing.prototype.toReason = function (reason) {
if (reason == null) {
return undefined;
}
else {
if (0 < reason.length && reason[0] === "{") {
try {
var parsed = JSON.parse(reason);
switch (parsed.id) {
case "no-sensor-found":
return this.toReasonTarget(parsed.at, parsed.target, "Sensor");
case "no-device-model-found":
return this.toReasonTarget(parsed.at, parsed.target, "Device model");
case "malformed":
return this.toReasonMalformed(parsed.at, parsed.target, parsed.reason);
case "invalid-operation-mode":
return "Failed to save.\nInvalid operation mode.";
case "no-graphic-found":
return this.toReasonTargetAt(parsed.at, parsed.target, "A graphic sensor mapping", "a graphic");
case "no-alarm-list-found":
return this.toReasonTargetAt(parsed.at, parsed.target, "An alarm mapping", "an alarm list");
case "no-trend-graph-found":
return this.toReasonTargetAt(parsed.at, parsed.target, "A trend graph sensor mapping", "a trend graph");
}
}
catch (_a) {
return undefined;
}
}
else {
switch (reason) {
case "duplication":
return "Failed to save.\nThe name has already been used.";
case "duplications":
return "Failed to save.\nIDs must be unique.";
case "invalid-operation-mode":
return "Failed to save.\nInvalid operation mode.";
case "validation":
return "A validation error has occurred.";
case "validation-fail":
return "A validation failed.";
}
}
}
return undefined;
};
EDialogProcessing.prototype.toButtonText = function (reason) {
if (reason === "validation" || reason === "validation-fail" || reason != undefined) {
return "OK";
}
return "Save";
};
EDialogProcessing.prototype.reject = function (reason) {
_super.prototype.reject.call(this, this.toReason(reason));
// Button text
var footer = this.footer;
if (footer) {
var buttonOk = footer.buttonOk;
if (buttonOk) {
buttonOk.text = this.toButtonText(reason);
}
}
};
return EDialogProcessing;
}(DDialogProcessing));
export { EDialogProcessing };
//# sourceMappingURL=e-dialog-processing.js.map