@aurigma/design-atoms
Version:
Design Atoms is a part of Customer's Canvas SDK which allows for manipulating individual design elements through your code.
103 lines • 4.19 kB
JavaScript
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spread = (this && this.__spread) || function () {
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
return ar;
};
import { NotImplementedException } from "@aurigma/design-atoms-model/Exception";
import * as _ from "underscore";
var Violation = /** @class */ (function () {
function Violation() {
}
Violation.prototype.isAvailableFor = function (item) {
throw new NotImplementedException("Violation.ts: isAvailableFor is not implemented!");
};
Violation.prototype.getViolationInfo = function (item, oldViolationInfo) {
throw new NotImplementedException("Violation.ts: getViolationState is not implemented!");
};
Violation.prototype.getStatePropertyName = function () {
throw new NotImplementedException("Violation.ts: getAlias is not implemented!");
};
Violation.prototype.getDataPropertyName = function () {
throw new NotImplementedException("Violation.ts: getAlias is not implemented!");
};
Violation._computeTotalViolationState = function (violationStates) {
if (_.isEmpty(violationStates) || violationStates.includes(ViolationState.None))
return ViolationState.None;
var presentStates = violationStates.filter(function (s) { return s != null; });
if (presentStates.length === 0)
return ViolationState.None;
return Math.max.apply(Math, __spread(presentStates));
};
Violation.computeTotalViolationInfo = function (violations, item, oldViolationInfo) {
var result = {};
var violationStates = [];
var data = {};
var messages = [];
violations.forEach(function (v) {
if (v.isAvailableFor(item)) {
var info = v.getViolationInfo(item, oldViolationInfo);
violationStates.push(info.state);
if (!_.isEmpty(info.message))
messages.push(info.message);
if (info.data != null) {
data[v.getDataPropertyName()] = info.data;
}
result[v.getStatePropertyName()] = info.state;
}
});
result.state = Violation._computeTotalViolationState(violationStates);
result.data = data;
result.messages = messages;
return result;
};
return Violation;
}());
export { Violation };
var ViolationInfoResult = /** @class */ (function () {
function ViolationInfoResult() {
}
Object.defineProperty(ViolationInfoResult, "none", {
get: function () {
return { state: ViolationState.None };
},
enumerable: true,
configurable: true
});
Object.defineProperty(ViolationInfoResult, "good", {
get: function () {
return { state: ViolationState.Good };
},
enumerable: true,
configurable: true
});
return ViolationInfoResult;
}());
export { ViolationInfoResult };
/** Results of preflight check. */
export var ViolationState;
(function (ViolationState) {
/** The preflight check was not performed, `0`. */
ViolationState[ViolationState["None"] = 0] = "None";
/** The preflight check is successful, `1`. */
ViolationState[ViolationState["Good"] = 1] = "Good";
/** The preflight check results in a warning, `2`. */
ViolationState[ViolationState["Warning"] = 2] = "Warning";
/** The preflight check results in an error, `3`. */
ViolationState[ViolationState["Bad"] = 3] = "Bad";
})(ViolationState || (ViolationState = {}));
//# sourceMappingURL=Violation.js.map