@umbraco/json-models-builders
Version:
Builders and models for Umbraco Sites
107 lines • 3.49 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MediaPickerDataTypeBuilder = void 0;
const dataTypeBuilder_1 = require("./dataTypeBuilder");
const mediaPickerBuilder_1 = require("./mediaPickerBuilder");
class MediaPickerDataTypeBuilder extends dataTypeBuilder_1.DataTypeBuilder {
filter;
multiple;
minValue;
maxValue;
enableLocalFocalPoint;
ignoreUserStartNodes;
startNodeId;
mediaPickerCropBuilder;
constructor() {
super();
this.editorAlias = "Umbraco.MediaPicker3";
this.editorUiAlias = "Umb.PropertyEditorUi.MediaPicker";
this.mediaPickerCropBuilder = [];
}
withFilter(filter) {
this.filter = filter;
return this;
}
withMultiple(multiple) {
this.multiple = multiple;
return this;
}
withMinValue(minValue) {
this.minValue = minValue;
return this;
}
withMaxValue(maxValue) {
this.maxValue = maxValue;
return this;
}
withEnableLocalFocalPoint(enableLocalFocalPoint) {
this.enableLocalFocalPoint = enableLocalFocalPoint;
return this;
}
withIgnoreUserStartNodes(ignoreUserStartNodes) {
this.ignoreUserStartNodes = ignoreUserStartNodes;
return this;
}
withStartNodeId(startNodeId) {
this.startNodeId = startNodeId;
return this;
}
addCrop() {
const builder = new mediaPickerBuilder_1.MediaPickerCropBuilder(this);
this.mediaPickerCropBuilder.push(builder);
return builder;
}
getValues() {
let values = [];
if (this.filter !== undefined) {
values.push({
alias: "filter",
value: this.filter
});
}
if (this.multiple !== undefined) {
values.push({
alias: "multiple",
value: this.multiple !== undefined ? this.multiple : false
});
}
if (this.minValue !== undefined || this.maxValue !== undefined) {
values.push({
alias: "validationLimit",
value: {
min: this.minValue !== undefined ? this.minValue : "",
max: this.maxValue !== undefined ? this.maxValue : ""
}
});
}
if (this.enableLocalFocalPoint !== undefined) {
values.push({
alias: "enableLocalFocalPoint",
value: this.enableLocalFocalPoint !== undefined ? this.enableLocalFocalPoint : false
});
}
if (this.ignoreUserStartNodes !== undefined) {
values.push({
alias: "ignoreUserStartNodes",
value: this.ignoreUserStartNodes !== undefined ? this.ignoreUserStartNodes : false
});
}
if (this.startNodeId !== undefined) {
values.push({
alias: "startNodeId",
value: this.startNodeId
});
}
if (this.mediaPickerCropBuilder && this.mediaPickerCropBuilder.length > 0) {
values.push({
alias: "crops",
value: this.mediaPickerCropBuilder.map((builder) => {
return builder.getValues();
})
});
}
return values;
}
}
exports.MediaPickerDataTypeBuilder = MediaPickerDataTypeBuilder;
//# sourceMappingURL=mediaPickerDataTypeBuilder.js.map