UNPKG

@umbraco/json-models-builders

Version:
125 lines 4.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DocumentValueBuilder = void 0; const mediaPickerValueBuilder_1 = require("./mediaPickerValueBuilder"); const urlPickerValueBuilder_1 = require("./urlPickerValueBuilder"); const imageCropperValueBuilder_1 = require("./imageCropperValueBuilder"); const blockGridValueBuilder_1 = require("./blockGridValueBuilder"); const blockListValueBuilder_1 = require("./blockListValueBuilder"); class DocumentValueBuilder { parentBuilder; culture; segment; alias; value; editorAlias; entityType; mediaPickerValueBuilder; urlPickerValueBuilder; imageCropperValueBuilder; temporaryFileId; blockGridValueBuilder; blockListValueBuilder; constructor(parentBuilder) { this.parentBuilder = parentBuilder; this.mediaPickerValueBuilder = []; this.urlPickerValueBuilder = []; } withCulture(culture) { this.culture = culture; return this; } withSegment(segment) { this.segment = segment; return this; } withAlias(alias) { this.alias = alias; return this; } withValue(value) { this.value = value; return this; } withTemporaryFileId(temporaryFileId) { this.temporaryFileId = temporaryFileId; return this; } addMediaPickerValue() { const builder = new mediaPickerValueBuilder_1.MediaPickerValueBuilder(this); this.mediaPickerValueBuilder.push(builder); return builder; } addURLPickerValue() { const builder = new urlPickerValueBuilder_1.URLPickerValueBuilder(this); this.urlPickerValueBuilder.push(builder); return builder; } addImageCropperValue() { const builder = new imageCropperValueBuilder_1.ImageCropperValueBuilder(this); this.imageCropperValueBuilder = builder; return builder; } addBlockGridValue() { const builder = new blockGridValueBuilder_1.BlockGridValueBuilder(this); this.blockGridValueBuilder = builder; return builder; } addBlockListValue() { const builder = new blockListValueBuilder_1.BlockListValueBuilder(this); this.blockListValueBuilder = builder; return builder; } withEditorAlias(editorAlias) { this.editorAlias = editorAlias; return this; } withEntityType(entityType) { this.entityType = entityType; return this; } done() { return this.parentBuilder; } build() { let value = null; if (this.value != null) { value = this.value; } else { if (this.mediaPickerValueBuilder && this.mediaPickerValueBuilder.length > 0) { value = this.mediaPickerValueBuilder.map((builder) => { return builder.getValue(); }); } if (this.urlPickerValueBuilder && this.urlPickerValueBuilder.length > 0) { value = this.urlPickerValueBuilder.map((builder) => { return builder.getValue(); }); } if (this.imageCropperValueBuilder !== undefined) { value = this.imageCropperValueBuilder.getValue(); } if (this.temporaryFileId !== undefined) { value = { temporaryFileId: this.temporaryFileId }; } if (this.blockGridValueBuilder !== undefined) { value = this.blockGridValueBuilder.getValue(); } if (this.blockListValueBuilder !== undefined) { value = this.blockListValueBuilder.getValue(); } } return { culture: this.culture || null, segment: this.segment || null, alias: this.alias || null, value: value || null, editorAlias: this.editorAlias || null, entityType: this.editorAlias !== undefined ? 'document-property-value' : null }; } ; } exports.DocumentValueBuilder = DocumentValueBuilder; //# sourceMappingURL=documentValueBuilder.js.map