@aurigma/design-atoms
Version:
Design Atoms is a part of Customer's Canvas SDK which allows for manipulating individual design elements through your code.
41 lines • 2.03 kB
JavaScript
import { Violation, ViolationState, ViolationInfoResult } from "./Violation";
import { ImageItem, PlaceholderItem } from "@aurigma/design-atoms-model/Product/Items";
import { ValidationSeverity } from "../../../Viewer/Interfaces";
import { ItemUtils } from "../../../Utils/ItemUtils";
import { SurfaceContainer } from "@aurigma/design-atoms-model/Product/Container";
export class RasterElementsViolation extends Violation {
constructor(_messages, _conf) {
var _a, _b;
super();
this._messages = _messages;
this._conf = _conf;
this._severity = (_b = (_a = _conf.rasterElements) === null || _a === void 0 ? void 0 : _a.severity) !== null && _b !== void 0 ? _b : ValidationSeverity.Warning;
}
isAvailableFor(item) {
return item instanceof ImageItem || item instanceof PlaceholderItem;
}
getViolationInfo(item) {
var _a, _b;
const image = ItemUtils.getImageItem(item);
if (!image || !((_a = image.source) === null || _a === void 0 ? void 0 : _a.id)) {
return ViolationInfoResult.none;
}
const parentContainer = item.parentContainer;
if (!(parentContainer instanceof SurfaceContainer) || ((_b = parentContainer.printingTechniqueConstraints) === null || _b === void 0 ? void 0 : _b.allowRasterElements) !== false) {
return ViolationInfoResult.good;
}
const isVector = image.source.isVector;
if (isVector) {
return ViolationInfoResult.good;
}
const violationState = this._severity === ValidationSeverity.Error
? ViolationState.Bad
: ViolationState.Warning;
return { state: violationState, message: this._messages.rasterElementsViolationWarning };
}
getStatePropertyName() {
return RasterElementsViolation.statePropertyName;
}
}
RasterElementsViolation.statePropertyName = "rasterElementsViolationState";
//# sourceMappingURL=RasterElementsViolation.js.map