@sap/ux-specification 1.139.5 → 1.142.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/CHANGELOG.md +3 -113
  2. package/dist/documentation/v2/v2-AnalyticalListPage.html +2 -2
  3. package/dist/documentation/v2/v2-ApplicationV2.html +2 -2
  4. package/dist/documentation/v2/v2-ListReport.html +2 -2
  5. package/dist/documentation/v2/v2-ListReportNew.html +2 -2
  6. package/dist/documentation/v2/v2-ObjectPage.html +2 -2
  7. package/dist/documentation/v2/v2-OverviewPage.html +2 -2
  8. package/dist/documentation/v4/v4-ApplicationV4.html +2 -2
  9. package/dist/documentation/v4/v4-BuildingBlocks.html +2 -2
  10. package/dist/documentation/v4/v4-FreestylePage.html +2 -2
  11. package/dist/documentation/v4/v4-ListReport.html +2 -2
  12. package/dist/documentation/v4/v4-ObjectPage.html +2 -2
  13. package/dist/index-min.js +216 -216
  14. package/dist/index-min.js.map +4 -4
  15. package/dist/schemas/v4/BuildingBlocksConfig.json +31 -1
  16. package/dist/schemas/v4/ListReportConfig.json +48 -0
  17. package/dist/schemas/v4/ObjectPageConfig.json +72 -0
  18. package/dist/specification/package.json +4 -4
  19. package/dist/specification/scripts/macros/corrections.d.ts +40 -0
  20. package/dist/specification/scripts/macros/corrections.d.ts.map +1 -1
  21. package/dist/specification/scripts/macros/corrections.js +78 -6
  22. package/dist/specification/scripts/macros/corrections.js.map +1 -1
  23. package/dist/specification/scripts/macros/schema.js +1 -1
  24. package/dist/specification/scripts/macros/schema.js.map +1 -1
  25. package/dist/specification/scripts/macros/types.d.ts +1 -0
  26. package/dist/specification/scripts/macros/types.d.ts.map +1 -1
  27. package/dist/specification/src/api.js +1 -1
  28. package/dist/specification/src/sync/common/decoration/decorators.d.ts +65 -4
  29. package/dist/specification/src/sync/common/decoration/decorators.d.ts.map +1 -1
  30. package/dist/specification/src/sync/common/decoration/decorators.js +138 -8
  31. package/dist/specification/src/sync/common/decoration/decorators.js.map +1 -1
  32. package/dist/specification/src/sync/common/distTagEvaluator.d.ts +10 -3
  33. package/dist/specification/src/sync/common/distTagEvaluator.d.ts.map +1 -1
  34. package/dist/specification/src/sync/common/distTagEvaluator.js +14 -4
  35. package/dist/specification/src/sync/common/distTagEvaluator.js.map +1 -1
  36. package/dist/specification/src/sync/common/generate/utils.d.ts +5 -5
  37. package/dist/specification/src/sync/common/generate/utils.d.ts.map +1 -1
  38. package/dist/specification/src/sync/common/generate/utils.js +8 -5
  39. package/dist/specification/src/sync/common/generate/utils.js.map +1 -1
  40. package/dist/specification/src/sync/common/i18n.json +1 -1
  41. package/dist/specification/src/sync/common/rules.d.ts.map +1 -1
  42. package/dist/specification/src/sync/common/rules.js +16 -12
  43. package/dist/specification/src/sync/common/rules.js.map +1 -1
  44. package/dist/specification/src/sync/common/utils.d.ts +14 -1
  45. package/dist/specification/src/sync/common/utils.d.ts.map +1 -1
  46. package/dist/specification/src/sync/common/utils.js +146 -46
  47. package/dist/specification/src/sync/common/utils.js.map +1 -1
  48. package/dist/specification/src/sync/v4/application.js +2 -2
  49. package/dist/specification/src/sync/v4/application.js.map +1 -1
  50. package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts +1 -0
  51. package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts.map +1 -1
  52. package/dist/specification/src/sync/v4/export/controls/HeaderAction.js +10 -0
  53. package/dist/specification/src/sync/v4/export/controls/HeaderAction.js.map +1 -1
  54. package/dist/specification/src/sync/v4/export/controls/ObjectPageFooterAction.d.ts +2 -0
  55. package/dist/specification/src/sync/v4/export/controls/ObjectPageFooterAction.d.ts.map +1 -1
  56. package/dist/specification/src/sync/v4/export/controls/ObjectPageFooterAction.js +20 -0
  57. package/dist/specification/src/sync/v4/export/controls/ObjectPageFooterAction.js.map +1 -1
  58. package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.d.ts +2 -0
  59. package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.d.ts.map +1 -1
  60. package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.js +20 -0
  61. package/dist/specification/src/sync/v4/export/controls/ObjectPageForm.js.map +1 -1
  62. package/dist/specification/src/sync/v4/export/controls/ObjectPageFormAction.d.ts +1 -0
  63. package/dist/specification/src/sync/v4/export/controls/ObjectPageFormAction.d.ts.map +1 -1
  64. package/dist/specification/src/sync/v4/export/controls/ObjectPageFormAction.js +10 -0
  65. package/dist/specification/src/sync/v4/export/controls/ObjectPageFormAction.js.map +1 -1
  66. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.d.ts +3 -0
  67. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.d.ts.map +1 -1
  68. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.js +30 -0
  69. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderAction.js.map +1 -1
  70. package/dist/specification/src/sync/v4/export/controls/ObjectPageSectionAction.d.ts +1 -0
  71. package/dist/specification/src/sync/v4/export/controls/ObjectPageSectionAction.d.ts.map +1 -1
  72. package/dist/specification/src/sync/v4/export/controls/ObjectPageSectionAction.js +10 -0
  73. package/dist/specification/src/sync/v4/export/controls/ObjectPageSectionAction.js.map +1 -1
  74. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts +3 -0
  75. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts.map +1 -1
  76. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.js +30 -0
  77. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.js.map +1 -1
  78. package/dist/specification/src/sync/v4/export/controls/TableColumn.d.ts +2 -0
  79. package/dist/specification/src/sync/v4/export/controls/TableColumn.d.ts.map +1 -1
  80. package/dist/specification/src/sync/v4/export/controls/TableColumn.js +20 -0
  81. package/dist/specification/src/sync/v4/export/controls/TableColumn.js.map +1 -1
  82. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts +6 -0
  83. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts.map +1 -1
  84. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js +60 -0
  85. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js.map +1 -1
  86. package/dist/specification/src/sync/v4/export/export.d.ts.map +1 -1
  87. package/dist/specification/src/sync/v4/export/export.js +13 -11
  88. package/dist/specification/src/sync/v4/export/export.js.map +1 -1
  89. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.d.ts.map +1 -1
  90. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.js +16 -1
  91. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.js.map +1 -1
  92. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.js +1 -1
  93. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.js.map +1 -1
  94. package/dist/specification/src/sync/v4/generate/listReport.js +1 -1
  95. package/dist/specification/src/sync/v4/generate/listReport.js.map +1 -1
  96. package/dist/specification/src/sync/v4/generate/objectPage.js +1 -1
  97. package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
  98. package/dist/specification/src/sync/v4/import/pages/objectPage.d.ts.map +1 -1
  99. package/dist/specification/src/sync/v4/import/pages/objectPage.js +33 -13
  100. package/dist/specification/src/sync/v4/import/pages/objectPage.js.map +1 -1
  101. package/dist/specification/src/sync/v4/sync-rules/App.d.ts +141 -0
  102. package/dist/specification/src/sync/v4/sync-rules/App.d.ts.map +1 -0
  103. package/dist/specification/src/sync/v4/sync-rules/App.js +208 -0
  104. package/dist/specification/src/sync/v4/sync-rules/App.js.map +1 -0
  105. package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts +193 -0
  106. package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts.map +1 -0
  107. package/dist/specification/src/sync/v4/sync-rules/AppSchema.js +384 -0
  108. package/dist/specification/src/sync/v4/sync-rules/AppSchema.js.map +1 -0
  109. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts +172 -0
  110. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts.map +1 -0
  111. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js +410 -0
  112. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js.map +1 -0
  113. package/dist/specification/src/sync/v4/sync-rules/Page.d.ts +70 -0
  114. package/dist/specification/src/sync/v4/sync-rules/Page.d.ts.map +1 -0
  115. package/dist/specification/src/sync/v4/sync-rules/Page.js +73 -0
  116. package/dist/specification/src/sync/v4/sync-rules/Page.js.map +1 -0
  117. package/dist/specification/src/sync/v4/sync-rules/utils.d.ts +9 -0
  118. package/dist/specification/src/sync/v4/sync-rules/utils.d.ts.map +1 -0
  119. package/dist/specification/src/sync/v4/sync-rules/utils.js +43 -0
  120. package/dist/specification/src/sync/v4/sync-rules/utils.js.map +1 -0
  121. package/dist/specification/src/sync/v4/utils/utils.d.ts +1 -1
  122. package/dist/specification/src/sync/v4/utils/utils.js +1 -1
  123. package/dist/types/src/common/types.d.ts +111 -6
  124. package/dist/types/src/common/types.d.ts.map +1 -1
  125. package/dist/types/src/common/types.js +5 -3
  126. package/dist/types/src/common/types.js.map +1 -1
  127. package/dist/types/src/v4/controls/Action.d.ts +7 -0
  128. package/dist/types/src/v4/controls/Action.d.ts.map +1 -1
  129. package/package.json +4 -4
@@ -19,7 +19,7 @@ exports.LR_CREATION_MODE_FOR_ANALYTICAL_TABLE = {
19
19
  const tableSettings = getTableSettings(context);
20
20
  if (tableSettings.creationMode) {
21
21
  for (const prop of Object.keys(schema.properties)) {
22
- processNotAllowedProperty(context, 'ENTITY_SET_NOT_ALLOWED_FOR_TABLE_TYPE', prop, ux_specification_types_1.PropertyName.creationMode);
22
+ processNotAllowedProperty(context, 'PROPERTY_NOT_ALLOWED_FOR_TABLE_TYPE', prop, ux_specification_types_1.PropertyName.creationMode, true);
23
23
  }
24
24
  }
25
25
  else {
@@ -122,21 +122,25 @@ function processNotAllowedProperty(context, message, propertyName, propertyToDis
122
122
  if (tableSettings?.creationMode?.[propertyName] !== undefined ||
123
123
  tableSettings?.analyticalConfiguration?.[propertyName] !== undefined ||
124
124
  (propertyName === ux_specification_types_1.PropertyName.popinLayout && tableSettings?.[propertyName] !== undefined)) {
125
- const def = schema.properties && Object.keys(schema.properties).length > 0
126
- ? schema?.properties?.[propertyName]
127
- : schema;
125
+ const def = (schema.properties && Object.keys(schema.properties).length > 0 ? schema?.properties?.[propertyName] : schema);
128
126
  if (def) {
129
127
  if (usePropertyName) {
130
- (0, generate_1.addMessageToSchema)(def, i18next_1.default.t(message, {
131
- propertyName: propertyToDisplay ?? propertyName,
132
- tableType: getTableType(context)
133
- }), true);
128
+ (0, generate_1.addMessageToSchema)(def, {
129
+ text: i18next_1.default.t(message, {
130
+ propertyName: propertyToDisplay ?? propertyName,
131
+ tableType: getTableType(context)
132
+ }),
133
+ deletable: true
134
+ });
134
135
  }
135
136
  else {
136
- (0, generate_1.addMessageToSchema)(def, i18next_1.default.t(message, {
137
- entityName: propertyToDisplay ?? propertyName,
138
- tableType: getTableType(context)
139
- }), true);
137
+ (0, generate_1.addMessageToSchema)(def, {
138
+ text: i18next_1.default.t(message, {
139
+ entityName: propertyToDisplay ?? propertyName,
140
+ tableType: getTableType(context)
141
+ }),
142
+ deletable: true
143
+ });
140
144
  }
141
145
  }
142
146
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../../../src/sync/common/rules.ts"],"names":[],"mappings":";;;;;;AACA,wEAAyE;AACzE,2DAAiE;AACjE,yCAAgD;AAEhD,sDAA8B;AAE9B,MAAM,kBAAkB,GAAG,gBAAW,CAAC,eAAe,CAAC;AAE1C,QAAA,qCAAqC,GAAc;IAC5D,IAAI,EAAE,iCAAQ,CAAC,gCAAgC;IAC/C,KAAK,EAAE,CAAC,OAAoB,EAAE,EAAE;QAC5B,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,gBAAW,CAAC,eAAe,CAAC;IACjE,CAAC;IACD,OAAO,EAAE,CAAC,OAAoB,EAAE,EAAE;QAC9B,MAAM,EACF,MAAM,EACN,UAAU,EAAE,EAAE,eAAe,EAAE,EAClC,GAAG,OAAO,CAAC;QACZ,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,aAAa,CAAC,YAAY,EAAE,CAAC;YAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChD,yBAAyB,CACrB,OAAO,EACP,uCAAuC,EACvC,IAAI,EACJ,qCAAY,CAAC,YAAY,CAC5B,CAAC;YACN,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,OAAQ,eAA8B,CAAC,UAAU,CAAC,qCAAY,CAAC,YAAY,CAAC,CAAC;QACjF,CAAC;IACL,CAAC;CACK,CAAC;AAEE,QAAA,mCAAmC,GAAc;IAC1D,IAAI,EAAE,iCAAQ,CAAC,6BAA6B;IAC5C,KAAK,EAAE,CAAC,OAAoB,EAAE,EAAE;QAC5B,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,gBAAW,CAAC,SAAS,CAAC;IAC3D,CAAC;IACD,OAAO,EAAE,CAAC,OAAoB,EAAE,EAAE;QAC9B,yBAAyB,CACrB,OAAO,EACP,8CAA8C,EAC9C,qCAAY,CAAC,aAAa,EAC1B,qCAAY,CAAC,aAAa,EAC1B,IAAI,CACP,CAAC;QACF,yBAAyB,CACrB,OAAO,EACP,8CAA8C,EAC9C,qCAAY,CAAC,eAAe,EAC5B,qCAAY,CAAC,eAAe,EAC5B,IAAI,CACP,CAAC;IACN,CAAC;CACK,CAAC;AAEE,QAAA,6CAA6C,GAAc;IACpE,IAAI,EAAE,iCAAQ,CAAC,sCAAsC;IACrD,KAAK,EAAE,CAAC,OAAoB,EAAE,EAAE;QAC5B,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAChD,OAAO,aAAa,EAAE,YAAY,EAAE,IAAI,KAAK,2BAAE,CAAC,qBAAqB,CAAC,cAAc,CAAC;IACzF,CAAC;IACD,OAAO,EAAE,CAAC,OAAoB,EAAE,EAAE;QAC9B,yBAAyB,CACrB,OAAO,EACP,iDAAiD,EACjD,qCAAY,CAAC,cAAc,CAC9B,CAAC;IACN,CAAC;CACK,CAAC;AAEE,QAAA,oDAAoD,GAAc;IAC3E,IAAI,EAAE,iCAAQ,CAAC,8CAA8C;IAC7D,KAAK,EAAE,CAAC,OAAoB,EAAE,EAAE;QAC5B,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,gBAAW,CAAC,eAAe,CAAC;IACjE,CAAC;IACD,OAAO,EAAE,CAAC,OAAoB,EAAE,EAAE;QAC9B,MAAM,EACF,MAAM,EACN,UAAU,EAAE,EAAE,eAAe,EAAE,EAClC,GAAG,OAAO,CAAC;QACZ,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,aAAa,EAAE,uBAAuB,EAAE,CAAC;YACzC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChD,yBAAyB,CACrB,OAAO,EACP,qCAAqC,EACrC,IAAI,EACJ,qCAAY,CAAC,uBAAuB,EACpC,IAAI,CACP,CAAC;YACN,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,OAAQ,eAA8B,CAAC,UAAU,CAAC,qCAAY,CAAC,uBAAuB,CAAC,CAAC;QAC5F,CAAC;IACL,CAAC;CACK,CAAC;AAEE,QAAA,wCAAwC,GAAc;IAC/D,IAAI,EAAE,iCAAQ,CAAC,kCAAkC;IACjD,KAAK,EAAE,CAAC,OAAoB,EAAE,EAAE;QAC5B,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,gBAAW,CAAC,eAAe,CAAC;IACjE,CAAC;IACD,OAAO,EAAE,CAAC,OAAoB,EAAE,EAAE;QAC9B,MAAM,EACF,MAAM,EACN,UAAU,EAAE,EAAE,eAAe,EAAE,EAClC,GAAG,OAAO,CAAC;QACZ,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,aAAa,EAAE,WAAW,EAAE,CAAC;YAC7B,IAAI,MAAM,EAAE,CAAC;gBACT,yBAAyB,CACrB,OAAO,EACP,qCAAqC,EACrC,qCAAY,CAAC,WAAW,EACxB,qCAAY,CAAC,WAAW,EACxB,IAAI,CACP,CAAC;YACN,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,OAAQ,eAA8B,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACrE,CAAC;IACL,CAAC;CACK,CAAC;AAEX;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,OAAoB;IAC1C,MAAM,EACF,IAAI,EACJ,UAAU,EAAE,EAAE,WAAW,EAAE,EAC9B,GAAG,OAAO,CAAC;IACZ,MAAM,aAAa,GACf,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAE,WAAsB,IAAI,EAAE,CAAC,EAAE,CAAC,qCAAY,CAAC,aAAa,CAAC,CAAC;IAChH,OAAO,aAAa,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,OAAoB;IACtC,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,aAAa,EAAE,IAAI,IAAI,kBAAkB,CAAC;IAC5D,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,yBAAyB,CAC9B,OAAoB,EACpB,OAAe,EACf,YAAoC,EACpC,iBAAyC,EACzC,eAAe,GAAG,KAAK;IAEvB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChD,IACI,aAAa,EAAE,YAAY,EAAE,CAAC,YAAY,CAAC,KAAK,SAAS;QACzD,aAAa,EAAE,uBAAuB,EAAE,CAAC,YAAY,CAAC,KAAK,SAAS;QACpE,CAAC,YAAY,KAAK,qCAAY,CAAC,WAAW,IAAI,aAAa,EAAE,CAAC,YAAY,CAAC,KAAK,SAAS,CAAC,EAC5F,CAAC;QACC,MAAM,GAAG,GACL,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC;YAC1D,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,YAAY,CAAC;YACpC,CAAC,CAAC,MAAM,CAAC;QACjB,IAAI,GAAG,EAAE,CAAC;YACN,IAAI,eAAe,EAAE,CAAC;gBAClB,IAAA,6BAAkB,EACd,GAAiB,EACjB,iBAAO,CAAC,CAAC,CAAC,OAAO,EAAE;oBACf,YAAY,EAAE,iBAAiB,IAAI,YAAY;oBAC/C,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC;iBACnC,CAAC,EACF,IAAI,CACP,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,IAAA,6BAAkB,EACd,GAAiB,EACjB,iBAAO,CAAC,CAAC,CAAC,OAAO,EAAE;oBACf,UAAU,EAAE,iBAAiB,IAAI,YAAY;oBAC7C,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC;iBACnC,CAAC,EACF,IAAI,CACP,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../../../src/sync/common/rules.ts"],"names":[],"mappings":"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"}
@@ -357,6 +357,19 @@ export type NextDefinition = {
357
357
  * @returns {string[]} Array of matching object keys
358
358
  */
359
359
  export declare function findMatchingKeysByAdditionalProperties(appSchema: Definition, additionalProperties: Definition, configObject: object): string[];
360
+ /**
361
+ * Recursive function to determine the next config parts, next definitions in the app schema and the title.
362
+ *
363
+ * @param appSchema - app-specific JSON schema
364
+ * @param title - default title
365
+ * @param currentConfigObject - current part of the configuration that gets traversed
366
+ * @param propertyDefinition - definition of a given property in the app schema
367
+ * @param key - actual key
368
+ * @param {MetadataInstanceInterface} factory - factory for creating metadata instances
369
+ * @param pageType - page type
370
+ * @returns {NextDefinition} - Next target definition to process
371
+ */
372
+ export declare function getNextTargetDefinitions(appSchema: object, title: string, currentConfigObject: object, propertyDefinition: object, key: string, factory: MetadataInstanceInterface, pageType: PageTypeV2 | PageTypeV4): NextDefinition[] | undefined;
360
373
  /**
361
374
  * Recursive function to determine the next config part, next definition in the app schema and the title.
362
375
  *
@@ -369,7 +382,7 @@ export declare function findMatchingKeysByAdditionalProperties(appSchema: Defini
369
382
  * @param pageType - page type
370
383
  * @returns {NextDefinition} - Next target definition to process
371
384
  */
372
- export declare function getNextTargetDefinition(appSchema: object, title: string, currentConfigObject: object, propertyDefinition: object, key: string, factory: MetadataInstanceInterface, pageType: PageTypeV2 | PageTypeV4): NextDefinition;
385
+ export declare function getNextTargetDefinition(appSchema: object, title: string, currentConfigObject: object, propertyDefinition: object, key: string, factory: MetadataInstanceInterface, pageType: PageTypeV2 | PageTypeV4): NextDefinition | undefined;
373
386
  /**
374
387
  * Custom array merge function called by deepmerge's merge function.
375
388
  *
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/sync/common/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/sync/common/utils.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,7 @@ exports.createDefaultSection = createDefaultSection;
36
36
  exports.getObjectPageFacetSection = getObjectPageFacetSection;
37
37
  exports.generatePageId = generatePageId;
38
38
  exports.findMatchingKeysByAdditionalProperties = findMatchingKeysByAdditionalProperties;
39
+ exports.getNextTargetDefinitions = getNextTargetDefinitions;
39
40
  exports.getNextTargetDefinition = getNextTargetDefinition;
40
41
  exports.convertEnumToCSV = convertEnumToCSV;
41
42
  exports.convertActionKeyToStableId = convertActionKeyToStableId;
@@ -1432,7 +1433,9 @@ function fillArrayFromAnyOfReference(element, appSchema, currentConfigObject, de
1432
1433
  if (controlPropertyInDefinition &&
1433
1434
  controlPropertyInDefinition[exports.CONST_PROPERTY] &&
1434
1435
  controlPropertyInDefinition[exports.CONST_PROPERTY] === currentConfigObject[controlProperty]) {
1435
- definitionArray.push(definitionKey);
1436
+ definitionArray.push({
1437
+ key: definitionKey
1438
+ });
1436
1439
  }
1437
1440
  // the control property could be defined not only as a const, but also as an enum with one value
1438
1441
  // we should consider this case as well
@@ -1440,11 +1443,15 @@ function fillArrayFromAnyOfReference(element, appSchema, currentConfigObject, de
1440
1443
  Array.isArray(controlPropertyInDefinition[ENUM_PROPERTY]) &&
1441
1444
  controlPropertyInDefinition[ENUM_PROPERTY].length === 1 &&
1442
1445
  controlPropertyInDefinition[ENUM_PROPERTY][0] === currentConfigObject[controlProperty]) {
1443
- definitionArray.push(definitionKey);
1446
+ definitionArray.push({
1447
+ key: definitionKey
1448
+ });
1444
1449
  }
1445
1450
  // the control property could be defined as a default value for the schema
1446
1451
  if (currentConfigObject[controlProperty] === undefined && innerDefinition[exports.DEFAULT_CONTROL_PROPERTY]) {
1447
- definitionArray.push(definitionKey);
1452
+ definitionArray.push({
1453
+ key: definitionKey
1454
+ });
1448
1455
  }
1449
1456
  }
1450
1457
  else if (typeof innerDefinition.additionalProperties === 'object') {
@@ -1454,11 +1461,72 @@ function fillArrayFromAnyOfReference(element, appSchema, currentConfigObject, de
1454
1461
  if (properties.some((property) => property in currentConfigObject) ||
1455
1462
  matchingKeys.length ||
1456
1463
  (Object.keys(currentConfigObject).length === 0 && properties.length)) {
1457
- definitionArray.push(definitionKey);
1464
+ definitionArray.push({
1465
+ key: definitionKey
1466
+ });
1458
1467
  }
1459
1468
  }
1460
1469
  }
1461
1470
  }
1471
+ /**
1472
+ * Ensures that the definition referenced by the given `element` is included in
1473
+ * `definitionArray` when it declares properties that are not yet represented by
1474
+ * any of the definitions already collected.
1475
+ *
1476
+ * This is used when resolving or validating `anyOf` branches:
1477
+ * if a referenced definition provides properties that do not appear in the
1478
+ * currently collected definitions (`definitionArray`), those missing properties
1479
+ * are added to the appropriate definition entry. If the definition itself is not
1480
+ * yet included, it is inserted into the array.
1481
+ *
1482
+ * @param element - The element containing a reference ($ref) to a specific definition within the application schema.
1483
+ * @param appSchema - The application's schema object containing all definitions.
1484
+ * @param currentConfigObject - The current configuration object which is evaluated against the schema definitions.
1485
+ * @param definitionArray - The array to which matching definitions are added based on the evaluation.
1486
+ */
1487
+ function addMissingPropertyDefinitionForElement(element, appSchema, currentConfigObject, definitionArray) {
1488
+ const $ref = typeof element === 'object' ? element.$ref : undefined;
1489
+ const definitionKey = $ref ? getDefinitionKey($ref) : undefined;
1490
+ const innerDefinition = definitionKey ? appSchema.definitions?.[definitionKey] : undefined;
1491
+ if (typeof currentConfigObject !== 'object' ||
1492
+ typeof innerDefinition !== 'object' ||
1493
+ typeof innerDefinition.properties !== 'object') {
1494
+ return;
1495
+ }
1496
+ const candidateKeys = Object.keys(innerDefinition.properties);
1497
+ const missingProperties = [];
1498
+ for (const key of candidateKeys) {
1499
+ // Check whether any definition (referenced by definitionArray) already contains this property
1500
+ const definitionAlreadyHasKey = definitionArray.some((existingDefName) => {
1501
+ const definition = appSchema.definitions?.[existingDefName.key];
1502
+ return typeof definition === 'object' && !!definition.properties?.[key];
1503
+ });
1504
+ if (!definitionAlreadyHasKey) {
1505
+ missingProperties.push(key);
1506
+ }
1507
+ }
1508
+ if (missingProperties.length === 0) {
1509
+ return;
1510
+ }
1511
+ // If the same definitionKey already exists in definitionArray, merge missing properties into it.
1512
+ const existingIndex = definitionArray.findIndex((d) => d.key === definitionKey);
1513
+ if (existingIndex >= 0) {
1514
+ const existing = definitionArray[existingIndex];
1515
+ const existingProps = Array.isArray(existing.properties) ? existing.properties : [];
1516
+ const merged = Array.from(new Set([...missingProperties, ...existingProps]));
1517
+ definitionArray[existingIndex] = {
1518
+ ...existing,
1519
+ properties: merged
1520
+ };
1521
+ }
1522
+ else {
1523
+ // Otherwise unshift a new entry for this definition containing all missing properties
1524
+ definitionArray.unshift({
1525
+ key: definitionKey,
1526
+ properties: missingProperties
1527
+ });
1528
+ }
1529
+ }
1462
1530
  /**
1463
1531
  * Fills an array of next definitions from given references in the JSON schema.
1464
1532
  *
@@ -1471,13 +1539,22 @@ function fillArrayFromAnyOfReference(element, appSchema, currentConfigObject, de
1471
1539
  function fillArrayFromPropertyDefinition(propertyDefinition, currentConfigObject, appSchema) {
1472
1540
  const definitionArray = [];
1473
1541
  if (propertyDefinition.$ref) {
1474
- definitionArray.push(propertyDefinition.$ref.split(exports.DEFINITION_LINK_PREFIX)[1]);
1542
+ definitionArray.push({
1543
+ key: propertyDefinition.$ref.split(exports.DEFINITION_LINK_PREFIX)[1]
1544
+ });
1475
1545
  }
1476
1546
  else if (propertyDefinition.anyOf) {
1477
1547
  if (currentConfigObject) {
1478
1548
  propertyDefinition.anyOf.forEach((element) => {
1479
1549
  fillArrayFromAnyOfReference(element, appSchema, currentConfigObject, definitionArray);
1480
1550
  });
1551
+ if (definitionArray.length) {
1552
+ propertyDefinition.anyOf.forEach((element) => {
1553
+ // Add property definitions from this element that are not included in the root
1554
+ // resolved definition but may exist in other referenced definitions.
1555
+ addMissingPropertyDefinitionForElement(element, appSchema, currentConfigObject, definitionArray);
1556
+ });
1557
+ }
1481
1558
  }
1482
1559
  if (definitionArray.length === 0) {
1483
1560
  return undefined;
@@ -1499,50 +1576,60 @@ function fillArrayFromPropertyDefinition(propertyDefinition, currentConfigObject
1499
1576
  * @param propertyDefinition - Definition of the current property in schema
1500
1577
  * @returns {NextDefinition} - Next target definition to process
1501
1578
  */
1502
- function determineNextDefinitionFromDefinitionArray(definitionArray, appSchema, title, currentConfigObject, key, factory, pageType, propertyDefinition) {
1503
- let nextDefinition = {
1504
- configObject: undefined,
1505
- targetDefinition: {},
1506
- title: ''
1507
- };
1579
+ function determineNextDefinitionsFromDefinitionArray(definitionArray, appSchema, title, currentConfigObject, key, factory, pageType, propertyDefinition) {
1580
+ const nextDefinitions = [];
1508
1581
  if (definitionArray.length) {
1509
- const lastDefinition = definitionArray[definitionArray.length - 1];
1510
- nextDefinition.targetDefinition = appSchema['definitions'][lastDefinition];
1511
- // Action groups contain action definitions as properties, and these definitions require processing.
1512
- // This is why we don't use the ref in the action group definition.
1513
- if (nextDefinition?.targetDefinition?.['$ref'] || nextDefinition?.targetDefinition?.['type'] === 'array') {
1514
- nextDefinition = getNextTargetDefinition(appSchema, title, currentConfigObject, nextDefinition.targetDefinition, key, factory, pageType);
1515
- return nextDefinition;
1516
- }
1517
- if (definitionArray.length > 1) {
1518
- definitionArray.forEach((element) => {
1519
- if (element !== '') {
1520
- nextDefinition.targetDefinition['properties'] = {
1521
- ...nextDefinition.targetDefinition['properties'],
1522
- ...appSchema['definitions'][element]['properties']
1523
- };
1582
+ for (const definitionData of definitionArray) {
1583
+ const definition = definitionData.key;
1584
+ const nextDefinition = {
1585
+ configObject: undefined,
1586
+ targetDefinition: { ...appSchema['definitions'][definition] },
1587
+ title: ''
1588
+ };
1589
+ if (definitionData.properties) {
1590
+ // We should include only specific properties(anyOf case when some definitions can have properties which does not exist in other anyOf variant)
1591
+ const targetDefinition = { ...nextDefinition.targetDefinition };
1592
+ targetDefinition.properties = {};
1593
+ for (const property of definitionData.properties) {
1594
+ targetDefinition.properties[property] = nextDefinition.targetDefinition.properties[property];
1524
1595
  }
1525
- });
1596
+ nextDefinition.targetDefinition = targetDefinition;
1597
+ }
1598
+ if (nextDefinition?.targetDefinition?.['$ref'] || nextDefinition?.targetDefinition?.['type'] === 'array') {
1599
+ nextDefinitions.push(getNextTargetDefinition(appSchema, title, currentConfigObject, nextDefinition.targetDefinition, key, factory, pageType));
1600
+ continue;
1601
+ }
1602
+ if (definitionArray.length > 1 && !definitionData.properties) {
1603
+ definitionArray.forEach((element) => {
1604
+ if (element.key !== '') {
1605
+ nextDefinition.targetDefinition['properties'] = {
1606
+ ...nextDefinition.targetDefinition['properties'],
1607
+ ...appSchema['definitions'][element.key]['properties']
1608
+ };
1609
+ }
1610
+ });
1611
+ }
1612
+ nextDefinition.title = nextDefinition?.targetDefinition?.['title']
1613
+ ? nextDefinition.targetDefinition['title']
1614
+ : title;
1615
+ const factoryKey = definition?.split('<')[0];
1616
+ const targetObject = currentConfigObject ? currentConfigObject : {};
1617
+ nextDefinition.configObject = factory.createInstance(pageType, factoryKey, targetObject, nextDefinition?.targetDefinition?.[CONTROL_PROPERTY]);
1618
+ nextDefinitions.push(nextDefinition);
1526
1619
  }
1527
- nextDefinition.title = nextDefinition?.targetDefinition?.['title']
1528
- ? nextDefinition.targetDefinition['title']
1529
- : title;
1530
- const factoryKey = lastDefinition?.split('<')[0];
1531
- const targetObject = currentConfigObject ? currentConfigObject : {};
1532
- nextDefinition.configObject = factory.createInstance(pageType, factoryKey, targetObject, nextDefinition?.targetDefinition?.[CONTROL_PROPERTY]);
1533
1620
  }
1534
1621
  else {
1535
1622
  //e.g. sections ==> loop over all properties = subsections or other
1536
- nextDefinition.targetDefinition = propertyDefinition;
1537
- nextDefinition.title = nextDefinition.targetDefinition['title']
1538
- ? nextDefinition.targetDefinition['title']
1539
- : key;
1540
- nextDefinition.configObject = currentConfigObject;
1623
+ nextDefinitions.push({
1624
+ configObject: currentConfigObject,
1625
+ targetDefinition: propertyDefinition,
1626
+ title: key
1627
+ });
1541
1628
  }
1542
- return nextDefinition;
1629
+ return nextDefinitions;
1543
1630
  }
1544
1631
  /**
1545
- * Recursive function to determine the next config part, next definition in the app schema and the title.
1632
+ * Recursive function to determine the next config parts, next definitions in the app schema and the title.
1546
1633
  *
1547
1634
  * @param appSchema - app-specific JSON schema
1548
1635
  * @param title - default title
@@ -1553,18 +1640,31 @@ function determineNextDefinitionFromDefinitionArray(definitionArray, appSchema,
1553
1640
  * @param pageType - page type
1554
1641
  * @returns {NextDefinition} - Next target definition to process
1555
1642
  */
1556
- function getNextTargetDefinition(appSchema, title, currentConfigObject, propertyDefinition, key, factory, pageType) {
1557
- let nextDefinition;
1643
+ function getNextTargetDefinitions(appSchema, title, currentConfigObject, propertyDefinition, key, factory, pageType) {
1558
1644
  if (propertyDefinition['type'] === 'array') {
1559
- nextDefinition = getNextTargetDefinition(appSchema, title, currentConfigObject, propertyDefinition['items'], key, factory, pageType);
1560
- return nextDefinition;
1645
+ return getNextTargetDefinitions(appSchema, title, currentConfigObject, propertyDefinition['items'], key, factory, pageType);
1561
1646
  }
1562
1647
  const definitionArray = fillArrayFromPropertyDefinition(propertyDefinition, currentConfigObject, appSchema);
1563
1648
  if (!definitionArray) {
1564
1649
  return undefined;
1565
1650
  }
1566
- nextDefinition = determineNextDefinitionFromDefinitionArray(definitionArray, appSchema, title, currentConfigObject, key, factory, pageType, propertyDefinition);
1567
- return nextDefinition;
1651
+ return determineNextDefinitionsFromDefinitionArray(definitionArray, appSchema, title, currentConfigObject, key, factory, pageType, propertyDefinition);
1652
+ }
1653
+ /**
1654
+ * Recursive function to determine the next config part, next definition in the app schema and the title.
1655
+ *
1656
+ * @param appSchema - app-specific JSON schema
1657
+ * @param title - default title
1658
+ * @param currentConfigObject - current part of the configuration that gets traversed
1659
+ * @param propertyDefinition - definition of a given property in the app schema
1660
+ * @param key - actual key
1661
+ * @param {MetadataInstanceInterface} factory - factory for creating metadata instances
1662
+ * @param pageType - page type
1663
+ * @returns {NextDefinition} - Next target definition to process
1664
+ */
1665
+ function getNextTargetDefinition(appSchema, title, currentConfigObject, propertyDefinition, key, factory, pageType) {
1666
+ const definitions = getNextTargetDefinitions(appSchema, title, currentConfigObject, propertyDefinition, key, factory, pageType);
1667
+ return definitions ? definitions[definitions.length - 1] : undefined;
1568
1668
  }
1569
1669
  /**
1570
1670
  * Custom array merge function called by deepmerge's merge function.