diff --git a/scripts/extract-elx/extract-elx.js b/scripts/extract-elx/extract-elx.js index 9b9d7af..de187f9 100644 --- a/scripts/extract-elx/extract-elx.js +++ b/scripts/extract-elx/extract-elx.js @@ -205,12 +205,14 @@ function getArraySortKey(propertyName, item) { * Get the output file name for a property array item. */ function getArrayItemName(propertyName, item, index, totalCount) { + var itemSuffix = null; + if (propertyName === 'translationsTabMapper' && item && typeof item === 'object' && item.order != null) { - return `${CONFIG.ITEM_PREFIX}_${String(item.order)}`; + itemSuffix = String(item.order); } if (propertyName === 'formSchemaData' && item && typeof item === 'object' && item.id != null) { - return `formSchemaData_item_${String(item.id)}`; + itemSuffix = String(item.id); } if (propertyName === 'moduleConfig' && typeof item === 'string') { @@ -218,7 +220,7 @@ function getArrayItemName(propertyName, item, index, totalCount) { if (rawOrderValue) { const sanitized = sanitizeFileName(rawOrderValue); if (sanitized) { - return `moduleConfig_item_${sanitized}`; + itemSuffix = sanitized; } } } @@ -228,12 +230,36 @@ function getArrayItemName(propertyName, item, index, totalCount) { if (rawOrderValue) { const sanitized = sanitizeFileName(rawOrderValue); if (sanitized) { - return `moduleTab_item_${sanitized}`; + itemSuffix = sanitized; } } } - return `${CONFIG.ITEM_PREFIX}_${padIndex(index, totalCount)}`; + if (propertyName === 'moduleUserValidation' && typeof item === 'string') { + const rawOrderValue = extractXmlValueFromSection(item, 'System', 'COL0001'); + if (rawOrderValue) { + const sanitized = sanitizeFileName(rawOrderValue); + if (sanitized) { + itemSuffix = sanitized; + } + } + } + + if (propertyName === 'moduleValidation' && typeof item === 'string') { + const rawOrderValue = extractXmlValueFromSection(item, 'System', 'COL0003'); + if (rawOrderValue) { + const sanitized = sanitizeFileName(rawOrderValue); + if (sanitized) { + itemSuffix = sanitized; + } + } + } + + if (!itemSuffix) { + itemSuffix = padIndex(index, totalCount); + } + + return `${propertyName}_${CONFIG.ITEM_PREFIX}_${itemSuffix}`; } /**