@sap/ux-ui5-tooling 1.20.4 → 1.22.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 (289) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/dist/adp-tooling/templates/cf/_gitignore +6 -0
  3. package/dist/adp-tooling/templates/cf/approuter/package.json +13 -0
  4. package/dist/adp-tooling/templates/cf/approuter/xs-app.json +15 -0
  5. package/dist/adp-tooling/templates/cf/i18n/i18n.properties +3 -0
  6. package/dist/adp-tooling/templates/cf/package.json +35 -0
  7. package/dist/adp-tooling/templates/cf/ui5.yaml +5 -0
  8. package/dist/adp-tooling/templates/cf/xs-security.json +7 -0
  9. package/dist/adp-tooling/templates/changes/annotation.xml +18 -0
  10. package/dist/adp-tooling/templates/project/gitignore.tmpl +5 -0
  11. package/dist/adp-tooling/templates/project/package.json +31 -0
  12. package/dist/adp-tooling/templates/project/ui5.yaml +6 -0
  13. package/dist/adp-tooling/templates/project/webapp/i18n/i18n.properties +6 -0
  14. package/dist/adp-tooling/templates/project/webapp/manifest.appdescr_variant +10 -0
  15. package/dist/adp-tooling/templates/rta/common/analytical-custom-column.xml +25 -0
  16. package/dist/adp-tooling/templates/rta/common/custom-action.xml +8 -0
  17. package/dist/adp-tooling/templates/rta/common/grid-tree-custom-column.xml +22 -0
  18. package/dist/adp-tooling/templates/rta/common/header-field.xml +13 -0
  19. package/dist/adp-tooling/templates/rta/common/op-custom-section.xml +20 -0
  20. package/dist/adp-tooling/templates/rta/common/v4-table-action.xml +8 -0
  21. package/dist/adp-tooling/templates/rta/controller.ejs +80 -0
  22. package/dist/adp-tooling/templates/rta/fragment.xml +7 -0
  23. package/dist/adp-tooling/templates/rta/ts-controller.ejs +18 -0
  24. package/dist/adp-tooling/templates/rta/v2/m-table-custom-column-cell.xml +7 -0
  25. package/dist/adp-tooling/templates/rta/v2/m-table-custom-column.xml +18 -0
  26. package/dist/adp-tooling/templates/rta/v4/custom-section.xml +12 -0
  27. package/dist/adp-tooling/templates/rta/v4/mdc-custom-column-config.xml +6 -0
  28. package/dist/adp-tooling/templates/rta/v4/mdc-custom-column.xml +11 -0
  29. package/dist/adp-tooling/templates/typescript/tsconfig.json +19 -0
  30. package/dist/cli/index.js +17761 -11603
  31. package/dist/control-property-editor/app.css +2 -0
  32. package/dist/control-property-editor/app.js +175 -0
  33. package/dist/livereload-js/livereload.js +3795 -0
  34. package/dist/middlewares/fiori-tools-appreload.js +44007 -41669
  35. package/dist/middlewares/fiori-tools-preview.js +66889 -4176
  36. package/dist/middlewares/fiori-tools-proxy.js +38049 -5767
  37. package/dist/middlewares/fiori-tools-servestatic.js +32893 -347
  38. package/dist/preview-middleware/dist/client/adp/add-fragment.js +48 -0
  39. package/dist/preview-middleware/dist/client/adp/add-fragment.ts +51 -0
  40. package/dist/preview-middleware/dist/client/adp/api-handler.js +165 -0
  41. package/dist/preview-middleware/dist/client/adp/api-handler.ts +191 -0
  42. package/dist/preview-middleware/dist/client/adp/command-executor.js +100 -0
  43. package/dist/preview-middleware/dist/client/adp/command-executor.ts +105 -0
  44. package/dist/preview-middleware/dist/client/adp/control-utils.js +46 -0
  45. package/dist/preview-middleware/dist/client/adp/control-utils.ts +48 -0
  46. package/dist/preview-middleware/dist/client/adp/controllers/AddActionFragment.controller.js +198 -0
  47. package/dist/preview-middleware/dist/client/adp/controllers/AddActionFragment.controller.ts +232 -0
  48. package/dist/preview-middleware/dist/client/adp/controllers/AddCustomFragment.controller.js +223 -0
  49. package/dist/preview-middleware/dist/client/adp/controllers/AddCustomFragment.controller.ts +257 -0
  50. package/dist/preview-middleware/dist/client/adp/controllers/AddFragment.controller.js +195 -0
  51. package/dist/preview-middleware/dist/client/adp/controllers/AddFragment.controller.ts +264 -0
  52. package/dist/preview-middleware/dist/client/adp/controllers/AddSubpage.controller.js +146 -0
  53. package/dist/preview-middleware/dist/client/adp/controllers/AddSubpage.controller.ts +209 -0
  54. package/dist/preview-middleware/dist/client/adp/controllers/AddTableColumnFragments.controller.js +232 -0
  55. package/dist/preview-middleware/dist/client/adp/controllers/AddTableColumnFragments.controller.ts +306 -0
  56. package/dist/preview-middleware/dist/client/adp/controllers/BaseDialog.controller.js +187 -0
  57. package/dist/preview-middleware/dist/client/adp/controllers/BaseDialog.controller.ts +254 -0
  58. package/dist/preview-middleware/dist/client/adp/controllers/ControllerExtension.controller.js +330 -0
  59. package/dist/preview-middleware/dist/client/adp/controllers/ControllerExtension.controller.ts +408 -0
  60. package/dist/preview-middleware/dist/client/adp/controllers/ExtensionPoint.controller.js +160 -0
  61. package/dist/preview-middleware/dist/client/adp/controllers/ExtensionPoint.controller.ts +195 -0
  62. package/dist/preview-middleware/dist/client/adp/controllers/FileExistsDialog.controller.js +68 -0
  63. package/dist/preview-middleware/dist/client/adp/controllers/FileExistsDialog.controller.ts +86 -0
  64. package/dist/preview-middleware/dist/client/adp/controllers/types.js +2 -0
  65. package/dist/preview-middleware/dist/client/adp/controllers/types.ts +10 -0
  66. package/dist/preview-middleware/dist/client/adp/dialog-factory.js +151 -0
  67. package/dist/preview-middleware/dist/client/adp/dialog-factory.ts +210 -0
  68. package/dist/preview-middleware/dist/client/adp/extend-controller.js +48 -0
  69. package/dist/preview-middleware/dist/client/adp/extend-controller.ts +49 -0
  70. package/dist/preview-middleware/dist/client/adp/extension-point.js +83 -0
  71. package/dist/preview-middleware/dist/client/adp/extension-point.ts +116 -0
  72. package/dist/preview-middleware/dist/client/adp/init-dialogs.js +142 -0
  73. package/dist/preview-middleware/dist/client/adp/init-dialogs.ts +178 -0
  74. package/dist/preview-middleware/dist/client/adp/init.js +111 -0
  75. package/dist/preview-middleware/dist/client/adp/init.ts +92 -0
  76. package/dist/preview-middleware/dist/client/adp/ovp-window-functions.js +130 -0
  77. package/dist/preview-middleware/dist/client/adp/ovp-window-functions.ts +171 -0
  78. package/dist/preview-middleware/dist/client/adp/quick-actions/add-new-subpage-quick-action-base.js +97 -0
  79. package/dist/preview-middleware/dist/client/adp/quick-actions/add-new-subpage-quick-action-base.ts +140 -0
  80. package/dist/preview-middleware/dist/client/adp/quick-actions/common/add-controller-to-page.js +74 -0
  81. package/dist/preview-middleware/dist/client/adp/quick-actions/common/add-controller-to-page.ts +92 -0
  82. package/dist/preview-middleware/dist/client/adp/quick-actions/common/add-new-annotation-file.js +171 -0
  83. package/dist/preview-middleware/dist/client/adp/quick-actions/common/add-new-annotation-file.ts +174 -0
  84. package/dist/preview-middleware/dist/client/adp/quick-actions/common/create-page-action.js +56 -0
  85. package/dist/preview-middleware/dist/client/adp/quick-actions/common/create-page-action.ts +56 -0
  86. package/dist/preview-middleware/dist/client/adp/quick-actions/common/op-add-custom-section.js +41 -0
  87. package/dist/preview-middleware/dist/client/adp/quick-actions/common/op-add-custom-section.ts +51 -0
  88. package/dist/preview-middleware/dist/client/adp/quick-actions/common/op-add-header-field.js +69 -0
  89. package/dist/preview-middleware/dist/client/adp/quick-actions/common/op-add-header-field.ts +81 -0
  90. package/dist/preview-middleware/dist/client/adp/quick-actions/common/utils.js +20 -0
  91. package/dist/preview-middleware/dist/client/adp/quick-actions/common/utils.ts +7 -0
  92. package/dist/preview-middleware/dist/client/adp/quick-actions/control-types.js +25 -0
  93. package/dist/preview-middleware/dist/client/adp/quick-actions/control-types.ts +7 -0
  94. package/dist/preview-middleware/dist/client/adp/quick-actions/dialog-enablement-validator.js +26 -0
  95. package/dist/preview-middleware/dist/client/adp/quick-actions/dialog-enablement-validator.ts +18 -0
  96. package/dist/preview-middleware/dist/client/adp/quick-actions/enablement-validator.js +2 -0
  97. package/dist/preview-middleware/dist/client/adp/quick-actions/enablement-validator.ts +19 -0
  98. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/add-new-subpage.js +82 -0
  99. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/add-new-subpage.ts +87 -0
  100. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/change-table-actions.js +69 -0
  101. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/change-table-actions.ts +71 -0
  102. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/change-table-columns.js +103 -0
  103. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/change-table-columns.ts +105 -0
  104. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/create-table-action.js +111 -0
  105. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/create-table-action.ts +110 -0
  106. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/create-table-custom-column.js +108 -0
  107. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/create-table-custom-column.ts +141 -0
  108. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-semantic-date-range-filter-bar.js +80 -0
  109. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-semantic-date-range-filter-bar.ts +93 -0
  110. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-table-filtering.js +79 -0
  111. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-table-filtering.ts +102 -0
  112. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-variant-management.js +71 -0
  113. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-variant-management.ts +98 -0
  114. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-toggle-clear-filter-bar.js +61 -0
  115. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-toggle-clear-filter-bar.ts +77 -0
  116. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/op-enable-empty-row-mode.js +95 -0
  117. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/op-enable-empty-row-mode.ts +102 -0
  118. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/op-enable-variant-management.js +86 -0
  119. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/op-enable-variant-management.ts +116 -0
  120. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/registry.js +79 -0
  121. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/registry.ts +121 -0
  122. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/utils.js +138 -0
  123. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/utils.ts +134 -0
  124. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/add-new-subpage.js +140 -0
  125. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/add-new-subpage.ts +181 -0
  126. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/change-table-actions.js +81 -0
  127. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/change-table-actions.ts +81 -0
  128. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/change-table-columns.js +90 -0
  129. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/change-table-columns.ts +97 -0
  130. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-page-action.js +81 -0
  131. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-page-action.ts +98 -0
  132. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-table-action-config-change.js +129 -0
  133. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-table-action-config-change.ts +149 -0
  134. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-table-custom-column-config-change.js +142 -0
  135. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-table-custom-column-config-change.ts +178 -0
  136. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/enable-variant-management.js +83 -0
  137. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/enable-variant-management.ts +96 -0
  138. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-enable-semantic-date-range-filter-bar.js +58 -0
  139. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-enable-semantic-date-range-filter-bar.ts +70 -0
  140. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-enable-table-filtering.js +86 -0
  141. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-enable-table-filtering.ts +96 -0
  142. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-toggle-clear-filter-bar.js +55 -0
  143. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-toggle-clear-filter-bar.ts +61 -0
  144. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/op-add-custom-section.js +73 -0
  145. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/op-add-custom-section.ts +91 -0
  146. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/op-enable-empty-row-mode.js +91 -0
  147. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/op-enable-empty-row-mode.ts +88 -0
  148. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/registry.js +62 -0
  149. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/registry.ts +86 -0
  150. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/utils.js +158 -0
  151. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/utils.ts +175 -0
  152. package/dist/preview-middleware/dist/client/adp/quick-actions/load.js +46 -0
  153. package/dist/preview-middleware/dist/client/adp/quick-actions/load.ts +23 -0
  154. package/dist/preview-middleware/dist/client/adp/quick-actions/quick-action-base.js +64 -0
  155. package/dist/preview-middleware/dist/client/adp/quick-actions/quick-action-base.ts +71 -0
  156. package/dist/preview-middleware/dist/client/adp/quick-actions/simple-quick-action-base.js +44 -0
  157. package/dist/preview-middleware/dist/client/adp/quick-actions/simple-quick-action-base.ts +51 -0
  158. package/dist/preview-middleware/dist/client/adp/quick-actions/supported-ui5versions.md +40 -0
  159. package/dist/preview-middleware/dist/client/adp/quick-actions/table-quick-action-base.js +372 -0
  160. package/dist/preview-middleware/dist/client/adp/quick-actions/table-quick-action-base.ts +433 -0
  161. package/dist/preview-middleware/dist/client/adp/sync-views-utils.js +123 -0
  162. package/dist/preview-middleware/dist/client/adp/sync-views-utils.ts +90 -0
  163. package/dist/preview-middleware/dist/client/adp/ui/AddAction.fragment.xml +49 -0
  164. package/dist/preview-middleware/dist/client/adp/ui/AddCustomFragment.fragment.xml +48 -0
  165. package/dist/preview-middleware/dist/client/adp/ui/AddFragment.fragment.xml +83 -0
  166. package/dist/preview-middleware/dist/client/adp/ui/AddSubpage.fragment.xml +73 -0
  167. package/dist/preview-middleware/dist/client/adp/ui/AddTableColumnFragments.fragment.xml +63 -0
  168. package/dist/preview-middleware/dist/client/adp/ui/ControllerExtension.fragment.xml +63 -0
  169. package/dist/preview-middleware/dist/client/adp/ui/ExtensionPoint.fragment.xml +61 -0
  170. package/dist/preview-middleware/dist/client/adp/ui/FileExistsDialog.fragment.xml +43 -0
  171. package/dist/preview-middleware/dist/client/adp/utils.js +199 -0
  172. package/dist/preview-middleware/dist/client/adp/utils.ts +200 -0
  173. package/dist/preview-middleware/dist/client/cpe/additional-change-info/add-xml-additional-info.js +85 -0
  174. package/dist/preview-middleware/dist/client/cpe/additional-change-info/add-xml-additional-info.ts +107 -0
  175. package/dist/preview-middleware/dist/client/cpe/changes/flex-change.js +66 -0
  176. package/dist/preview-middleware/dist/client/cpe/changes/flex-change.ts +66 -0
  177. package/dist/preview-middleware/dist/client/cpe/changes/generic-change.js +321 -0
  178. package/dist/preview-middleware/dist/client/cpe/changes/generic-change.ts +462 -0
  179. package/dist/preview-middleware/dist/client/cpe/changes/index.js +12 -0
  180. package/dist/preview-middleware/dist/client/cpe/changes/index.ts +1 -0
  181. package/dist/preview-middleware/dist/client/cpe/changes/service.js +527 -0
  182. package/dist/preview-middleware/dist/client/cpe/changes/service.ts +595 -0
  183. package/dist/preview-middleware/dist/client/cpe/changes/validator.js +41 -0
  184. package/dist/preview-middleware/dist/client/cpe/changes/validator.ts +35 -0
  185. package/dist/preview-middleware/dist/client/cpe/communication-service.js +44 -0
  186. package/dist/preview-middleware/dist/client/cpe/communication-service.ts +41 -0
  187. package/dist/preview-middleware/dist/client/cpe/connector-service.js +88 -0
  188. package/dist/preview-middleware/dist/client/cpe/connector-service.ts +74 -0
  189. package/dist/preview-middleware/dist/client/cpe/context-menu-service.js +90 -0
  190. package/dist/preview-middleware/dist/client/cpe/context-menu-service.ts +77 -0
  191. package/dist/preview-middleware/dist/client/cpe/control-data.js +366 -0
  192. package/dist/preview-middleware/dist/client/cpe/control-data.ts +400 -0
  193. package/dist/preview-middleware/dist/client/cpe/documentation.js +191 -0
  194. package/dist/preview-middleware/dist/client/cpe/documentation.ts +187 -0
  195. package/dist/preview-middleware/dist/client/cpe/feature-service.js +39 -0
  196. package/dist/preview-middleware/dist/client/cpe/feature-service.ts +25 -0
  197. package/dist/preview-middleware/dist/client/cpe/init.js +92 -0
  198. package/dist/preview-middleware/dist/client/cpe/init.ts +114 -0
  199. package/dist/preview-middleware/dist/client/cpe/logger.js +32 -0
  200. package/dist/preview-middleware/dist/client/cpe/logger.ts +24 -0
  201. package/dist/preview-middleware/dist/client/cpe/odata-health/odata-health-checker.js +136 -0
  202. package/dist/preview-middleware/dist/client/cpe/odata-health/odata-health-checker.ts +160 -0
  203. package/dist/preview-middleware/dist/client/cpe/odata-health/odata-health-status.js +63 -0
  204. package/dist/preview-middleware/dist/client/cpe/odata-health/odata-health-status.ts +52 -0
  205. package/dist/preview-middleware/dist/client/cpe/outline/editable.js +38 -0
  206. package/dist/preview-middleware/dist/client/cpe/outline/editable.ts +30 -0
  207. package/dist/preview-middleware/dist/client/cpe/outline/nodes.js +212 -0
  208. package/dist/preview-middleware/dist/client/cpe/outline/nodes.ts +236 -0
  209. package/dist/preview-middleware/dist/client/cpe/outline/service.js +62 -0
  210. package/dist/preview-middleware/dist/client/cpe/outline/service.ts +66 -0
  211. package/dist/preview-middleware/dist/client/cpe/quick-actions/quick-action-service.js +161 -0
  212. package/dist/preview-middleware/dist/client/cpe/quick-actions/quick-action-service.ts +184 -0
  213. package/dist/preview-middleware/dist/client/cpe/quick-actions/registry.js +145 -0
  214. package/dist/preview-middleware/dist/client/cpe/quick-actions/registry.ts +157 -0
  215. package/dist/preview-middleware/dist/client/cpe/quick-actions/utils.js +94 -0
  216. package/dist/preview-middleware/dist/client/cpe/quick-actions/utils.ts +113 -0
  217. package/dist/preview-middleware/dist/client/cpe/rta-service.js +94 -0
  218. package/dist/preview-middleware/dist/client/cpe/rta-service.ts +86 -0
  219. package/dist/preview-middleware/dist/client/cpe/selection.js +249 -0
  220. package/dist/preview-middleware/dist/client/cpe/selection.ts +267 -0
  221. package/dist/preview-middleware/dist/client/cpe/ui5-utils.js +35 -0
  222. package/dist/preview-middleware/dist/client/cpe/ui5-utils.ts +28 -0
  223. package/dist/preview-middleware/dist/client/cpe/utils.js +113 -0
  224. package/dist/preview-middleware/dist/client/cpe/utils.ts +162 -0
  225. package/dist/preview-middleware/dist/client/flp/WorkspaceConnector.js +97 -0
  226. package/dist/preview-middleware/dist/client/flp/WorkspaceConnector.ts +101 -0
  227. package/dist/preview-middleware/dist/client/flp/common.js +30 -0
  228. package/dist/preview-middleware/dist/client/flp/common.ts +28 -0
  229. package/dist/preview-middleware/dist/client/flp/enableFakeConnector.js +92 -0
  230. package/dist/preview-middleware/dist/client/flp/enableFakeConnector.ts +113 -0
  231. package/dist/preview-middleware/dist/client/flp/homepage/Component.js +16 -0
  232. package/dist/preview-middleware/dist/client/flp/homepage/Component.ts +10 -0
  233. package/dist/preview-middleware/dist/client/flp/homepage/controller/MyHome.controller.js +54 -0
  234. package/dist/preview-middleware/dist/client/flp/homepage/controller/MyHome.controller.ts +41 -0
  235. package/dist/preview-middleware/dist/client/flp/homepage/css/style.css +3 -0
  236. package/dist/preview-middleware/dist/client/flp/homepage/manifest.json +41 -0
  237. package/dist/preview-middleware/dist/client/flp/homepage/view/MyHome.view.xml +18 -0
  238. package/dist/preview-middleware/dist/client/flp/init.js +418 -0
  239. package/dist/preview-middleware/dist/client/flp/init.ts +448 -0
  240. package/dist/preview-middleware/dist/client/flp/initCdm.js +117 -0
  241. package/dist/preview-middleware/dist/client/flp/initCdm.ts +111 -0
  242. package/dist/preview-middleware/dist/client/flp/initConnectors.js +31 -0
  243. package/dist/preview-middleware/dist/client/flp/initConnectors.ts +20 -0
  244. package/dist/preview-middleware/dist/client/flp/initRta.js +180 -0
  245. package/dist/preview-middleware/dist/client/flp/initRta.ts +194 -0
  246. package/dist/preview-middleware/dist/client/i18n.js +56 -0
  247. package/dist/preview-middleware/dist/client/i18n.ts +49 -0
  248. package/dist/preview-middleware/dist/client/manifest.json +8 -0
  249. package/dist/preview-middleware/dist/client/messagebundle.properties +143 -0
  250. package/dist/preview-middleware/dist/client/thirdparty/@sap-ux-private/control-property-editor-common.js +486 -0
  251. package/dist/preview-middleware/dist/client/utils/additional-change-info.js +69 -0
  252. package/dist/preview-middleware/dist/client/utils/additional-change-info.ts +73 -0
  253. package/dist/preview-middleware/dist/client/utils/application.js +34 -0
  254. package/dist/preview-middleware/dist/client/utils/application.ts +27 -0
  255. package/dist/preview-middleware/dist/client/utils/core.js +144 -0
  256. package/dist/preview-middleware/dist/client/utils/core.ts +145 -0
  257. package/dist/preview-middleware/dist/client/utils/error.js +28 -0
  258. package/dist/preview-middleware/dist/client/utils/error.ts +18 -0
  259. package/dist/preview-middleware/dist/client/utils/fe-v2.js +58 -0
  260. package/dist/preview-middleware/dist/client/utils/fe-v2.ts +61 -0
  261. package/dist/preview-middleware/dist/client/utils/fe-v4.js +168 -0
  262. package/dist/preview-middleware/dist/client/utils/fe-v4.ts +186 -0
  263. package/dist/preview-middleware/dist/client/utils/info-center-message.js +60 -0
  264. package/dist/preview-middleware/dist/client/utils/info-center-message.ts +60 -0
  265. package/dist/preview-middleware/dist/client/utils/version.js +126 -0
  266. package/dist/preview-middleware/dist/client/utils/version.ts +138 -0
  267. package/dist/preview-middleware/templates/flp/cdm.base.json +47 -0
  268. package/dist/preview-middleware/templates/flp/cdm.ejs +72 -0
  269. package/dist/preview-middleware/templates/flp/editor.ejs +28 -0
  270. package/dist/preview-middleware/templates/flp/sandbox.ejs +88 -0
  271. package/dist/preview-middleware/templates/flp/sandbox2.ejs +86 -0
  272. package/dist/preview-middleware/templates/test/qunit.ejs +26 -0
  273. package/dist/preview-middleware/templates/test/qunit.js +29 -0
  274. package/dist/preview-middleware/templates/test/testsuite.qunit.ejs +10 -0
  275. package/dist/preview-middleware/templates/test/testsuite.qunit.js +8 -0
  276. package/dist/tasks/cf-deploy/index.js +3916 -3521
  277. package/dist/tasks/deploy/index.js +17204 -11133
  278. package/package.json +36 -39
  279. package/prebuilds/keyring.darwin-arm64.node +0 -0
  280. package/prebuilds/keyring.darwin-x64.node +0 -0
  281. package/prebuilds/keyring.linux-arm-gnueabihf.node +0 -0
  282. package/prebuilds/keyring.linux-arm64-gnu.node +0 -0
  283. package/prebuilds/keyring.linux-arm64-musl.node +0 -0
  284. package/prebuilds/keyring.linux-ia32-gnu.node +0 -0
  285. package/prebuilds/keyring.linux-x64-gnu.node +0 -0
  286. package/prebuilds/keyring.linux-x64-musl.node +0 -0
  287. package/prebuilds/keyring.win32-arm64-msvc.node +0 -0
  288. package/prebuilds/keyring.win32-ia32-msvc.node +0 -0
  289. package/prebuilds/keyring.win32-x64-msvc.node +0 -0
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+
3
+ sap.ui.define(["sap/ui/model/json/JSONModel", "sap/ui/dt/OverlayRegistry", "open/ux/preview/client/thirdparty/@sap-ux-private/control-property-editor-common", "../../cpe/communication-service", "../../i18n", "sap/ui/core/library", "../../utils/additional-change-info", "../../utils/error", "../../utils/info-center-message", "../api-handler", "../command-executor", "../control-utils", "./BaseDialog.controller"], function (JSONModel, OverlayRegistry, ___sap_ux_private_control_property_editor_common, ____cpe_communication_service, ____i18n, sap_ui_core_library, ____utils_additional_change_info, ____utils_error, ____utils_info_center_message, ___api_handler, __CommandExecutor, __ControlUtils, __BaseDialog) {
4
+ "use strict";
5
+
6
+ function _interopRequireDefault(obj) {
7
+ return obj && obj.__esModule && typeof obj.default !== "undefined" ? obj.default : obj;
8
+ }
9
+ const MessageBarType = ___sap_ux_private_control_property_editor_common["MessageBarType"];
10
+ const setApplicationRequiresReload = ___sap_ux_private_control_property_editor_common["setApplicationRequiresReload"];
11
+ const CommunicationService = ____cpe_communication_service["CommunicationService"];
12
+ const getResourceModel = ____i18n["getResourceModel"];
13
+ const ValueState = sap_ui_core_library["ValueState"];
14
+ const setAdditionalChangeInfoForChangeFile = ____utils_additional_change_info["setAdditionalChangeInfoForChangeFile"];
15
+ const getError = ____utils_error["getError"];
16
+ const sendInfoCenterMessage = ____utils_info_center_message["sendInfoCenterMessage"];
17
+ const getFragments = ___api_handler["getFragments"];
18
+ const CommandExecutor = _interopRequireDefault(__CommandExecutor);
19
+ const ControlUtils = _interopRequireDefault(__ControlUtils);
20
+ const BaseDialog = _interopRequireDefault(__BaseDialog);
21
+ const radix = 10;
22
+ const COLUMNS_AGGREGATION = 'columns';
23
+ const ITEMS_AGGREGATION = 'items';
24
+ const CELLS_AGGREGATION = 'cells';
25
+ /**
26
+ * @namespace open.ux.preview.client.adp.controllers
27
+ */
28
+ const AddTableColumnFragments = BaseDialog.extend("open.ux.preview.client.adp.controllers.AddTableColumnFragments", {
29
+ constructor: function _constructor(name, overlays, rta, options, telemetryData) {
30
+ BaseDialog.prototype.constructor.call(this, name, telemetryData);
31
+ this.options = options;
32
+ this.rta = rta;
33
+ this.overlays = overlays;
34
+ this.model = new JSONModel({
35
+ title: options.title
36
+ });
37
+ this.commandExecutor = new CommandExecutor(this.rta);
38
+ },
39
+ /**
40
+ * Setups the Dialog and the JSON Model
41
+ *
42
+ * @param {Dialog} dialog - Dialog instance
43
+ */
44
+ setup: async function _setup(dialog) {
45
+ this.dialog = dialog;
46
+ this.setEscapeHandler();
47
+ await this.buildDialogData();
48
+ const resourceModel = await getResourceModel('open.ux.preview.client');
49
+ this.dialog.setModel(resourceModel, 'i18n');
50
+ this.dialog.setModel(this.model);
51
+ this.dialog.open();
52
+ },
53
+ /**
54
+ * Handles create button press
55
+ *
56
+ * @param event Event
57
+ */
58
+ onCreateBtnPress: async function _onCreateBtnPress(event) {
59
+ const source = event.getSource();
60
+ source.setEnabled(false);
61
+ await BaseDialog.prototype.onCreateBtnPressHandler.call(this);
62
+ const columnFragmentName = this.model.getProperty('/newColumnFragmentName');
63
+ const cellFragmentName = this.model.getProperty('/newCellFragmentName');
64
+ const index = this.model.getProperty('/selectedIndex');
65
+ const fragmentData = {
66
+ index,
67
+ fragments: [{
68
+ fragmentName: columnFragmentName,
69
+ targetAggregation: this.model.getProperty('/selectedColumnsAggregation')
70
+ }, {
71
+ fragmentName: cellFragmentName,
72
+ targetAggregation: this.model.getProperty('/selectedItemsAggregation')
73
+ }]
74
+ };
75
+ await this.createFragmentChange(fragmentData);
76
+ await sendInfoCenterMessage({
77
+ title: {
78
+ key: 'ADP_CREATE_XML_FRAGMENT_TITLE'
79
+ },
80
+ description: {
81
+ key: 'ADP_ADD_TWO_FRAGMENTS_WITH_TEMPLATE_NOTIFICATION',
82
+ params: [columnFragmentName, cellFragmentName]
83
+ },
84
+ type: MessageBarType.info
85
+ });
86
+ this.handleDialogClose();
87
+ },
88
+ /**
89
+ * Builds data that is used in the dialog
90
+ */
91
+ buildDialogData: async function _buildDialogData() {
92
+ const {
93
+ controlMetadata,
94
+ targetAggregation
95
+ } = this.getControlMetadata();
96
+ const defaultAggregation = this.options.aggregation ?? controlMetadata.getDefaultAggregationName();
97
+ const selectedControlName = controlMetadata.getName();
98
+ let selectedControlChildren = Object.keys(ControlUtils.getControlAggregationByName(this.getRuntimeControl(), defaultAggregation));
99
+ selectedControlChildren = selectedControlChildren.map(key => {
100
+ return Number.parseInt(key, radix);
101
+ });
102
+ this.model.setProperty('/selectedControlName', selectedControlName);
103
+ const indexArray = this.fillIndexArray(selectedControlChildren);
104
+ if (!targetAggregation.includes(COLUMNS_AGGREGATION)) {
105
+ throw new Error(`Selected control does not have "${COLUMNS_AGGREGATION}" aggregation`);
106
+ }
107
+ this.model.setProperty('/selectedColumnsAggregation', COLUMNS_AGGREGATION);
108
+ this.specialIndexHandling(COLUMNS_AGGREGATION);
109
+ if (!targetAggregation.includes(ITEMS_AGGREGATION)) {
110
+ throw new Error(`Selected control does not have "${ITEMS_AGGREGATION}" aggregation`);
111
+ }
112
+ this.model.setProperty('/selectedItemsAggregation', ITEMS_AGGREGATION);
113
+ try {
114
+ const {
115
+ fragments
116
+ } = await getFragments();
117
+ this.model.setProperty('/fragmentList', fragments);
118
+ } catch (e) {
119
+ const error = getError(e);
120
+ await sendInfoCenterMessage({
121
+ title: {
122
+ key: 'ADP_GET_FRAGMENTS_FAILURE_TITLE'
123
+ },
124
+ description: error.message,
125
+ type: MessageBarType.error
126
+ });
127
+ throw error;
128
+ }
129
+ this.model.setProperty('/index', indexArray);
130
+ this.model.setProperty('/selectedIndex', indexArray.length - 1);
131
+ },
132
+ /**
133
+ * Checks input values for duplicates and updates confirmation button state based on input validation states
134
+ */
135
+ updateFormState: function _updateFormState() {
136
+ const form = this.dialog.getContent()[0];
137
+ const formContent = form.getContent();
138
+ const inputs = formContent.filter(item => item.isA('sap.m.Input'));
139
+ const value1 = inputs[0].getValue();
140
+ const value2 = inputs[1].getValue();
141
+ // check duplicating fragment names
142
+ if (value1 === value2 && value1.length) {
143
+ inputs.forEach(input => {
144
+ if (input.getValueState() === ValueState.Success) {
145
+ // if there is no other validation error
146
+ input.setValueState(ValueState.Error).setValueStateText('Duplicate name');
147
+ }
148
+ });
149
+ } else {
150
+ // clear duplicates error
151
+ inputs.forEach(input => {
152
+ if (input.getValueState() === ValueState.Error && input.getValueStateText() === 'Duplicate name') {
153
+ input.setValueState(ValueState.Success);
154
+ }
155
+ });
156
+ }
157
+ const beginBtn = this.dialog.getBeginButton();
158
+ beginBtn.setEnabled(inputs.every(input => input.getValueState() === ValueState.Success));
159
+ },
160
+ /**
161
+ * Handles column fragment name input change
162
+ *
163
+ * @param event Event
164
+ */
165
+ onColumnFragmentNameInputChange: function _onColumnFragmentNameInputChange(event) {
166
+ // call parent method to update control state and show warning messages
167
+ BaseDialog.prototype.onFragmentNameInputChange.call(this, event);
168
+
169
+ // update model value
170
+ const input = event.getSource();
171
+ let modelValue = input.getValue();
172
+ if (modelValue.length < 1) {
173
+ modelValue = null;
174
+ }
175
+ this.model.setProperty('/newColumnFragmentName', modelValue);
176
+ this.updateFormState();
177
+ },
178
+ /**
179
+ * Handles cell fragment name input change
180
+ *
181
+ * @param event Event
182
+ */
183
+ onCellFragmentNameInputChange: function _onCellFragmentNameInputChange(event) {
184
+ // call parent method to update control state and show warning messages
185
+ BaseDialog.prototype.onFragmentNameInputChange.call(this, event);
186
+
187
+ // update model value
188
+ const input = event.getSource();
189
+ let modelValue = input.getValue();
190
+ if (input.getValue().length < 1) {
191
+ modelValue = null;
192
+ }
193
+ this.model.setProperty('/newCellFragmentName', modelValue);
194
+ this.updateFormState();
195
+ },
196
+ /**
197
+ * Creates an addXML fragment command and pushes it to the command stack
198
+ *
199
+ * @param fragmentData Fragment Data
200
+ */
201
+ createFragmentChange: async function _createFragmentChange(fragmentData) {
202
+ const {
203
+ fragments,
204
+ index
205
+ } = fragmentData;
206
+ const flexSettings = this.rta.getFlexSettings();
207
+ const overlay = OverlayRegistry.getOverlay(this.getRuntimeControl());
208
+ const designMetadata = overlay.getDesignTimeMetadata();
209
+ const compositeCommand = await this.commandExecutor.createCompositeCommand(this.getRuntimeControl());
210
+ for (const fragment of fragments) {
211
+ const modifiedValue = {
212
+ fragment: `<core:FragmentDefinition xmlns:core='sap.ui.core'></core:FragmentDefinition>`,
213
+ fragmentPath: `fragments/${fragment.fragmentName}.fragment.xml`,
214
+ index: index ?? 0,
215
+ targetAggregation: fragment.targetAggregation === ITEMS_AGGREGATION ? CELLS_AGGREGATION : fragment.targetAggregation
216
+ };
217
+ const targetObject = fragment.targetAggregation === COLUMNS_AGGREGATION ? this.getRuntimeControl() : this.getRuntimeControl().getAggregation(ITEMS_AGGREGATION)[0];
218
+ const command = await this.commandExecutor.getCommand(targetObject, 'addXML', modifiedValue, flexSettings, designMetadata);
219
+ const templateName = fragment.targetAggregation === COLUMNS_AGGREGATION ? `V2_SMART_TABLE_COLUMN` : 'V2_SMART_TABLE_CELL';
220
+ const preparedChange = command.getPreparedChange();
221
+ setAdditionalChangeInfoForChangeFile(preparedChange.getDefinition().fileName, {
222
+ templateName
223
+ });
224
+ compositeCommand.addCommand(command, false);
225
+ }
226
+ await this.commandExecutor.pushAndExecuteCommand(compositeCommand);
227
+ CommunicationService.sendAction(setApplicationRequiresReload(true));
228
+ }
229
+ });
230
+ return AddTableColumnFragments;
231
+ });
232
+ //# sourceMappingURL=AddTableColumnFragments.controller.js.map
@@ -0,0 +1,306 @@
1
+ /** sap.m */
2
+ import type Button from 'sap/m/Button';
3
+ import type Dialog from 'sap/m/Dialog';
4
+
5
+ /** sap.ui.core */
6
+ import type UI5Element from 'sap/ui/core/Element';
7
+
8
+ /** sap.ui.base */
9
+ import type Event from 'sap/ui/base/Event';
10
+
11
+ /** sap.ui.model */
12
+ import JSONModel from 'sap/ui/model/json/JSONModel';
13
+
14
+ /** sap.ui.rta */
15
+ import type RuntimeAuthoring from 'sap/ui/rta/RuntimeAuthoring';
16
+
17
+ /** sap.ui.dt */
18
+ import OverlayRegistry from 'sap/ui/dt/OverlayRegistry';
19
+
20
+ /** sap.ui.fl */
21
+ import type { AddTableCellFragmentChangeContentType } from 'sap/ui/fl/Change';
22
+
23
+ /** sap.ui.layout */
24
+ import { type SimpleForm } from 'sap/ui/layout/form';
25
+
26
+ import { MessageBarType, setApplicationRequiresReload } from '@sap-ux-private/control-property-editor-common';
27
+
28
+ import { CommunicationService } from '../../cpe/communication-service';
29
+ import { getResourceModel } from '../../i18n';
30
+
31
+ import Input from 'sap/m/Input';
32
+ import ManagedObject from 'sap/ui/base/ManagedObject';
33
+ import Control from 'sap/ui/core/Control';
34
+ import { ValueState } from 'sap/ui/core/library';
35
+ import { QuickActionTelemetryData } from '../../cpe/quick-actions/quick-action-definition';
36
+ import { setAdditionalChangeInfoForChangeFile } from '../../utils/additional-change-info';
37
+ import { getError } from '../../utils/error';
38
+ import { sendInfoCenterMessage } from '../../utils/info-center-message';
39
+ import { getFragments } from '../api-handler';
40
+ import CommandExecutor from '../command-executor';
41
+ import ControlUtils from '../control-utils';
42
+ import { type AddFragmentModel, type AddFragmentOptions } from './AddFragment.controller';
43
+ import BaseDialog from './BaseDialog.controller';
44
+
45
+ const radix = 10;
46
+
47
+ type AddTableColumnsFragmentsModel = AddFragmentModel & {
48
+ getProperty(sPath: '/newColumnFragmentName'): string;
49
+ getProperty(sPath: '/newCellFragmentName'): string;
50
+ };
51
+
52
+ const COLUMNS_AGGREGATION = 'columns';
53
+ const ITEMS_AGGREGATION = 'items';
54
+ const CELLS_AGGREGATION = 'cells';
55
+
56
+ interface CreateFragmentProps {
57
+ index: string | number;
58
+ fragments: { fragmentName: string; targetAggregation: string }[];
59
+ }
60
+
61
+ /**
62
+ * @namespace open.ux.preview.client.adp.controllers
63
+ */
64
+ export default class AddTableColumnFragments extends BaseDialog<AddTableColumnsFragmentsModel> {
65
+ constructor(
66
+ name: string,
67
+ overlays: UI5Element,
68
+ rta: RuntimeAuthoring,
69
+ readonly options: AddFragmentOptions,
70
+ telemetryData?: QuickActionTelemetryData
71
+ ) {
72
+ super(name, telemetryData);
73
+ this.rta = rta;
74
+ this.overlays = overlays;
75
+ this.model = new JSONModel({
76
+ title: options.title
77
+ }) as AddTableColumnsFragmentsModel;
78
+ this.commandExecutor = new CommandExecutor(this.rta);
79
+ }
80
+
81
+ /**
82
+ * Setups the Dialog and the JSON Model
83
+ *
84
+ * @param {Dialog} dialog - Dialog instance
85
+ */
86
+ async setup(dialog: Dialog): Promise<void> {
87
+ this.dialog = dialog;
88
+
89
+ this.setEscapeHandler();
90
+
91
+ await this.buildDialogData();
92
+ const resourceModel = await getResourceModel('open.ux.preview.client');
93
+
94
+ this.dialog.setModel(resourceModel, 'i18n');
95
+ this.dialog.setModel(this.model);
96
+
97
+ this.dialog.open();
98
+ }
99
+
100
+ /**
101
+ * Handles create button press
102
+ *
103
+ * @param event Event
104
+ */
105
+ async onCreateBtnPress(event: Event) {
106
+ const source = event.getSource<Button>();
107
+ source.setEnabled(false);
108
+ await super.onCreateBtnPressHandler();
109
+
110
+ const columnFragmentName = this.model.getProperty('/newColumnFragmentName');
111
+ const cellFragmentName = this.model.getProperty('/newCellFragmentName');
112
+ const index = this.model.getProperty('/selectedIndex');
113
+ const fragmentData: CreateFragmentProps = {
114
+ index,
115
+ fragments: [
116
+ {
117
+ fragmentName: columnFragmentName,
118
+ targetAggregation: this.model.getProperty('/selectedColumnsAggregation')
119
+ },
120
+ {
121
+ fragmentName: cellFragmentName,
122
+ targetAggregation: this.model.getProperty('/selectedItemsAggregation')
123
+ }
124
+ ]
125
+ };
126
+
127
+ await this.createFragmentChange(fragmentData);
128
+
129
+ await sendInfoCenterMessage({
130
+ title: { key: 'ADP_CREATE_XML_FRAGMENT_TITLE' },
131
+ description: {
132
+ key: 'ADP_ADD_TWO_FRAGMENTS_WITH_TEMPLATE_NOTIFICATION',
133
+ params: [columnFragmentName, cellFragmentName]
134
+ },
135
+ type: MessageBarType.info
136
+ });
137
+
138
+ this.handleDialogClose();
139
+ }
140
+
141
+ /**
142
+ * Builds data that is used in the dialog
143
+ */
144
+ async buildDialogData(): Promise<void> {
145
+ const { controlMetadata, targetAggregation } = this.getControlMetadata();
146
+ const defaultAggregation = this.options.aggregation ?? controlMetadata.getDefaultAggregationName();
147
+ const selectedControlName = controlMetadata.getName();
148
+
149
+ let selectedControlChildren: string[] | number[] = Object.keys(
150
+ ControlUtils.getControlAggregationByName(this.getRuntimeControl(), defaultAggregation)
151
+ );
152
+
153
+ selectedControlChildren = selectedControlChildren.map((key) => {
154
+ return Number.parseInt(key, radix);
155
+ });
156
+
157
+ this.model.setProperty('/selectedControlName', selectedControlName);
158
+
159
+ const indexArray = this.fillIndexArray(selectedControlChildren);
160
+
161
+ if (!targetAggregation.includes(COLUMNS_AGGREGATION)) {
162
+ throw new Error(`Selected control does not have "${COLUMNS_AGGREGATION}" aggregation`);
163
+ }
164
+ this.model.setProperty('/selectedColumnsAggregation', COLUMNS_AGGREGATION);
165
+ this.specialIndexHandling(COLUMNS_AGGREGATION);
166
+
167
+ if (!targetAggregation.includes(ITEMS_AGGREGATION)) {
168
+ throw new Error(`Selected control does not have "${ITEMS_AGGREGATION}" aggregation`);
169
+ }
170
+ this.model.setProperty('/selectedItemsAggregation', ITEMS_AGGREGATION);
171
+
172
+ try {
173
+ const { fragments } = await getFragments();
174
+ this.model.setProperty('/fragmentList', fragments);
175
+ } catch (e) {
176
+ const error = getError(e);
177
+ await sendInfoCenterMessage({
178
+ title: { key: 'ADP_GET_FRAGMENTS_FAILURE_TITLE' },
179
+ description: error.message,
180
+ type: MessageBarType.error
181
+ });
182
+ throw error;
183
+ }
184
+
185
+ this.model.setProperty('/index', indexArray);
186
+ this.model.setProperty('/selectedIndex', indexArray.length - 1);
187
+ }
188
+
189
+ /**
190
+ * Checks input values for duplicates and updates confirmation button state based on input validation states
191
+ */
192
+ private updateFormState() {
193
+ const form = this.dialog.getContent()[0] as unknown as SimpleForm<Control[]>;
194
+ const formContent = form.getContent();
195
+ const inputs = formContent.filter((item) => item.isA('sap.m.Input')) as Input[];
196
+
197
+ const value1 = inputs[0].getValue();
198
+ const value2 = inputs[1].getValue();
199
+ // check duplicating fragment names
200
+ if (value1 === value2 && value1.length) {
201
+ inputs.forEach((input) => {
202
+ if (input.getValueState() === ValueState.Success) {
203
+ // if there is no other validation error
204
+ input.setValueState(ValueState.Error).setValueStateText('Duplicate name');
205
+ }
206
+ });
207
+ } else {
208
+ // clear duplicates error
209
+ inputs.forEach((input) => {
210
+ if (input.getValueState() === ValueState.Error && input.getValueStateText() === 'Duplicate name') {
211
+ input.setValueState(ValueState.Success);
212
+ }
213
+ });
214
+ }
215
+
216
+ const beginBtn = this.dialog.getBeginButton();
217
+ beginBtn.setEnabled(inputs.every((input) => input.getValueState() === ValueState.Success));
218
+ }
219
+
220
+ /**
221
+ * Handles column fragment name input change
222
+ *
223
+ * @param event Event
224
+ */
225
+ onColumnFragmentNameInputChange(event: Event): void {
226
+ // call parent method to update control state and show warning messages
227
+ super.onFragmentNameInputChange(event);
228
+
229
+ // update model value
230
+ const input = event.getSource<Input>();
231
+ let modelValue: string | null = input.getValue();
232
+ if (modelValue.length < 1) {
233
+ modelValue = null;
234
+ }
235
+ this.model.setProperty('/newColumnFragmentName', modelValue);
236
+ this.updateFormState();
237
+ }
238
+
239
+ /**
240
+ * Handles cell fragment name input change
241
+ *
242
+ * @param event Event
243
+ */
244
+ onCellFragmentNameInputChange(event: Event): void {
245
+ // call parent method to update control state and show warning messages
246
+ super.onFragmentNameInputChange(event);
247
+
248
+ // update model value
249
+ const input = event.getSource<Input>();
250
+ let modelValue: string | null = input.getValue();
251
+ if (input.getValue().length < 1) {
252
+ modelValue = null;
253
+ }
254
+ this.model.setProperty('/newCellFragmentName', modelValue);
255
+
256
+ this.updateFormState();
257
+ }
258
+
259
+ /**
260
+ * Creates an addXML fragment command and pushes it to the command stack
261
+ *
262
+ * @param fragmentData Fragment Data
263
+ */
264
+ private async createFragmentChange(fragmentData: CreateFragmentProps): Promise<void> {
265
+ const { fragments, index } = fragmentData;
266
+
267
+ const flexSettings = this.rta.getFlexSettings();
268
+
269
+ const overlay = OverlayRegistry.getOverlay(this.getRuntimeControl() as UI5Element);
270
+ const designMetadata = overlay.getDesignTimeMetadata();
271
+
272
+ const compositeCommand = await this.commandExecutor.createCompositeCommand(this.getRuntimeControl());
273
+
274
+ for (const fragment of fragments) {
275
+ const modifiedValue = {
276
+ fragment: `<core:FragmentDefinition xmlns:core='sap.ui.core'></core:FragmentDefinition>`,
277
+ fragmentPath: `fragments/${fragment.fragmentName}.fragment.xml`,
278
+ index: index ?? 0,
279
+ targetAggregation:
280
+ fragment.targetAggregation === ITEMS_AGGREGATION ? CELLS_AGGREGATION : fragment.targetAggregation
281
+ };
282
+
283
+ const targetObject =
284
+ fragment.targetAggregation === COLUMNS_AGGREGATION
285
+ ? this.getRuntimeControl()
286
+ : (this.getRuntimeControl().getAggregation(ITEMS_AGGREGATION) as ManagedObject[])[0];
287
+
288
+ const command = await this.commandExecutor.getCommand<AddTableCellFragmentChangeContentType>(
289
+ targetObject,
290
+ 'addXML',
291
+ modifiedValue,
292
+ flexSettings,
293
+ designMetadata
294
+ );
295
+
296
+ const templateName =
297
+ fragment.targetAggregation === COLUMNS_AGGREGATION ? `V2_SMART_TABLE_COLUMN` : 'V2_SMART_TABLE_CELL';
298
+ const preparedChange = command.getPreparedChange();
299
+ setAdditionalChangeInfoForChangeFile(preparedChange.getDefinition().fileName, { templateName });
300
+ compositeCommand.addCommand(command, false);
301
+ }
302
+
303
+ await this.commandExecutor.pushAndExecuteCommand(compositeCommand);
304
+ CommunicationService.sendAction(setApplicationRequiresReload(true));
305
+ }
306
+ }