UNPKG

@umbraco/json-models-builders

Version:
66 lines 1.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BlockGridLayoutBuilder = void 0; const blockGridAreaBuilder_1 = require("./blockGridAreaBuilder"); class BlockGridLayoutBuilder { parentBuilder; columnSpan; contentKey; contentUdi; rowSpan; settingsKey; settingsUdi; areasBuilder; constructor(parentBuilder) { this.parentBuilder = parentBuilder; this.areasBuilder = []; } withColumnSpan(columnSpan) { this.columnSpan = columnSpan; return this; } withContentKey(contentKey) { this.contentKey = contentKey; return this; } withContentUdi(contentUdi) { this.contentUdi = contentUdi; return this; } withRowSpan(rowSpan) { this.rowSpan = rowSpan; return this; } withSettingsUdi(settingsUdi) { this.settingsUdi = settingsUdi; return this; } withSettingsKey(settingsKey) { this.settingsKey = settingsKey; return this; } addArea() { const builder = new blockGridAreaBuilder_1.BlockGridAreaBuilder(this); this.areasBuilder.push(builder); return builder; } done() { return this.parentBuilder; } getValue() { return { $type: 'BlockGridLayoutItem', columnSpan: this.columnSpan || 12, contentKey: this.contentKey, areas: this.areasBuilder.map((builder) => { return builder.getValue(); }), contentUdi: this.contentUdi || null, rowSpan: this.rowSpan || 1, settingsKey: this.settingsKey || null, settingsUdi: this.settingsUdi || null }; } } exports.BlockGridLayoutBuilder = BlockGridLayoutBuilder; //# sourceMappingURL=blockGridLayoutBuilder.js.map