UNPKG

@agility/cli

Version:

Agility CLI for working with your content. (Public Beta)

42 lines 2.31 kB
"use strict"; var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.translateZoneNames = translateZoneNames; function translateZoneNames(sourceZones, targetTemplate) { if (!sourceZones || !(targetTemplate === null || targetTemplate === void 0 ? void 0 : targetTemplate.contentSectionDefinitions)) { return sourceZones || {}; // No template or sections, return as-is } var translatedZones = {}; var sectionNames = targetTemplate.contentSectionDefinitions .sort(function (a, b) { return (a.itemOrder || 0) - (b.itemOrder || 0); }) // Sort by item order .map(function (def) { return def.pageItemTemplateReferenceName; }); // Map source zones to template section names in order var sourceZoneEntries = Object.entries(sourceZones); for (var i = 0; i < sourceZoneEntries.length && i < sectionNames.length; i++) { var _a = sourceZoneEntries[i], sourceZoneName = _a[0], zoneContent = _a[1]; var targetZoneName = sectionNames[i]; translatedZones[targetZoneName] = zoneContent; } // CRITICAL FIX: Instead of dropping extra zones, combine them into the main zone if (sourceZoneEntries.length > sectionNames.length && sectionNames.length > 0) { var mainZoneName = sectionNames[0]; // Use first (main) zone as target var mainZoneModules = Array.isArray(translatedZones[mainZoneName]) ? __spreadArray([], translatedZones[mainZoneName], true) : []; for (var i = sectionNames.length; i < sourceZoneEntries.length; i++) { var _b = sourceZoneEntries[i], sourceZoneName = _b[0], zoneContent = _b[1]; if (Array.isArray(zoneContent) && zoneContent.length > 0) { mainZoneModules.push.apply(mainZoneModules, zoneContent); } } translatedZones[mainZoneName] = mainZoneModules; } return translatedZones; } //# sourceMappingURL=translate-zone-names.js.map