@sap/ux-ui5-tooling 1.20.4 → 1.21.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 (287) hide show
  1. package/CHANGELOG.md +39 -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 +15811 -9929
  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 +43486 -41472
  35. package/dist/middlewares/fiori-tools-preview.js +56962 -3066
  36. package/dist/middlewares/fiori-tools-proxy.js +55281 -32282
  37. package/dist/middlewares/fiori-tools-servestatic.js +31629 -29
  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 +162 -0
  41. package/dist/preview-middleware/dist/client/adp/api-handler.ts +188 -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 +102 -0
  75. package/dist/preview-middleware/dist/client/adp/init.ts +85 -0
  76. package/dist/preview-middleware/dist/client/adp/quick-actions/add-new-subpage-quick-action-base.js +97 -0
  77. package/dist/preview-middleware/dist/client/adp/quick-actions/add-new-subpage-quick-action-base.ts +140 -0
  78. package/dist/preview-middleware/dist/client/adp/quick-actions/common/add-controller-to-page.js +74 -0
  79. package/dist/preview-middleware/dist/client/adp/quick-actions/common/add-controller-to-page.ts +92 -0
  80. package/dist/preview-middleware/dist/client/adp/quick-actions/common/add-new-annotation-file.js +171 -0
  81. package/dist/preview-middleware/dist/client/adp/quick-actions/common/add-new-annotation-file.ts +174 -0
  82. package/dist/preview-middleware/dist/client/adp/quick-actions/common/create-page-action.js +56 -0
  83. package/dist/preview-middleware/dist/client/adp/quick-actions/common/create-page-action.ts +56 -0
  84. package/dist/preview-middleware/dist/client/adp/quick-actions/common/op-add-custom-section.js +41 -0
  85. package/dist/preview-middleware/dist/client/adp/quick-actions/common/op-add-custom-section.ts +51 -0
  86. package/dist/preview-middleware/dist/client/adp/quick-actions/common/op-add-header-field.js +69 -0
  87. package/dist/preview-middleware/dist/client/adp/quick-actions/common/op-add-header-field.ts +81 -0
  88. package/dist/preview-middleware/dist/client/adp/quick-actions/common/utils.js +20 -0
  89. package/dist/preview-middleware/dist/client/adp/quick-actions/common/utils.ts +7 -0
  90. package/dist/preview-middleware/dist/client/adp/quick-actions/control-types.js +25 -0
  91. package/dist/preview-middleware/dist/client/adp/quick-actions/control-types.ts +7 -0
  92. package/dist/preview-middleware/dist/client/adp/quick-actions/dialog-enablement-validator.js +26 -0
  93. package/dist/preview-middleware/dist/client/adp/quick-actions/dialog-enablement-validator.ts +18 -0
  94. package/dist/preview-middleware/dist/client/adp/quick-actions/enablement-validator.js +2 -0
  95. package/dist/preview-middleware/dist/client/adp/quick-actions/enablement-validator.ts +19 -0
  96. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/add-new-subpage.js +82 -0
  97. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/add-new-subpage.ts +87 -0
  98. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/change-table-actions.js +69 -0
  99. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/change-table-actions.ts +71 -0
  100. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/change-table-columns.js +103 -0
  101. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/change-table-columns.ts +105 -0
  102. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/create-table-action.js +111 -0
  103. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/create-table-action.ts +110 -0
  104. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/create-table-custom-column.js +108 -0
  105. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/create-table-custom-column.ts +141 -0
  106. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-semantic-date-range-filter-bar.js +80 -0
  107. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-semantic-date-range-filter-bar.ts +93 -0
  108. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-table-filtering.js +79 -0
  109. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-table-filtering.ts +102 -0
  110. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-variant-management.js +71 -0
  111. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-variant-management.ts +98 -0
  112. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-toggle-clear-filter-bar.js +61 -0
  113. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-toggle-clear-filter-bar.ts +77 -0
  114. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/op-enable-empty-row-mode.js +95 -0
  115. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/op-enable-empty-row-mode.ts +102 -0
  116. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/op-enable-variant-management.js +86 -0
  117. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/op-enable-variant-management.ts +116 -0
  118. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/registry.js +79 -0
  119. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/registry.ts +121 -0
  120. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/utils.js +138 -0
  121. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/utils.ts +134 -0
  122. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/add-new-subpage.js +140 -0
  123. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/add-new-subpage.ts +181 -0
  124. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/change-table-actions.js +81 -0
  125. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/change-table-actions.ts +81 -0
  126. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/change-table-columns.js +90 -0
  127. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/change-table-columns.ts +97 -0
  128. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-page-action.js +81 -0
  129. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-page-action.ts +98 -0
  130. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-table-action-config-change.js +129 -0
  131. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-table-action-config-change.ts +149 -0
  132. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-table-custom-column-config-change.js +142 -0
  133. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-table-custom-column-config-change.ts +178 -0
  134. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/enable-variant-management.js +83 -0
  135. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/enable-variant-management.ts +96 -0
  136. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-enable-semantic-date-range-filter-bar.js +58 -0
  137. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-enable-semantic-date-range-filter-bar.ts +70 -0
  138. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-enable-table-filtering.js +86 -0
  139. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-enable-table-filtering.ts +96 -0
  140. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-toggle-clear-filter-bar.js +55 -0
  141. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-toggle-clear-filter-bar.ts +61 -0
  142. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/op-add-custom-section.js +73 -0
  143. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/op-add-custom-section.ts +91 -0
  144. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/op-enable-empty-row-mode.js +91 -0
  145. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/op-enable-empty-row-mode.ts +88 -0
  146. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/registry.js +62 -0
  147. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/registry.ts +86 -0
  148. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/utils.js +158 -0
  149. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/utils.ts +175 -0
  150. package/dist/preview-middleware/dist/client/adp/quick-actions/load.js +46 -0
  151. package/dist/preview-middleware/dist/client/adp/quick-actions/load.ts +23 -0
  152. package/dist/preview-middleware/dist/client/adp/quick-actions/quick-action-base.js +64 -0
  153. package/dist/preview-middleware/dist/client/adp/quick-actions/quick-action-base.ts +71 -0
  154. package/dist/preview-middleware/dist/client/adp/quick-actions/simple-quick-action-base.js +44 -0
  155. package/dist/preview-middleware/dist/client/adp/quick-actions/simple-quick-action-base.ts +51 -0
  156. package/dist/preview-middleware/dist/client/adp/quick-actions/supported-ui5versions.md +40 -0
  157. package/dist/preview-middleware/dist/client/adp/quick-actions/table-quick-action-base.js +372 -0
  158. package/dist/preview-middleware/dist/client/adp/quick-actions/table-quick-action-base.ts +433 -0
  159. package/dist/preview-middleware/dist/client/adp/sync-views-utils.js +123 -0
  160. package/dist/preview-middleware/dist/client/adp/sync-views-utils.ts +90 -0
  161. package/dist/preview-middleware/dist/client/adp/ui/AddAction.fragment.xml +49 -0
  162. package/dist/preview-middleware/dist/client/adp/ui/AddCustomFragment.fragment.xml +48 -0
  163. package/dist/preview-middleware/dist/client/adp/ui/AddFragment.fragment.xml +83 -0
  164. package/dist/preview-middleware/dist/client/adp/ui/AddSubpage.fragment.xml +73 -0
  165. package/dist/preview-middleware/dist/client/adp/ui/AddTableColumnFragments.fragment.xml +63 -0
  166. package/dist/preview-middleware/dist/client/adp/ui/ControllerExtension.fragment.xml +63 -0
  167. package/dist/preview-middleware/dist/client/adp/ui/ExtensionPoint.fragment.xml +61 -0
  168. package/dist/preview-middleware/dist/client/adp/ui/FileExistsDialog.fragment.xml +43 -0
  169. package/dist/preview-middleware/dist/client/adp/utils.js +199 -0
  170. package/dist/preview-middleware/dist/client/adp/utils.ts +200 -0
  171. package/dist/preview-middleware/dist/client/cpe/additional-change-info/add-xml-additional-info.js +85 -0
  172. package/dist/preview-middleware/dist/client/cpe/additional-change-info/add-xml-additional-info.ts +107 -0
  173. package/dist/preview-middleware/dist/client/cpe/changes/flex-change.js +66 -0
  174. package/dist/preview-middleware/dist/client/cpe/changes/flex-change.ts +66 -0
  175. package/dist/preview-middleware/dist/client/cpe/changes/generic-change.js +321 -0
  176. package/dist/preview-middleware/dist/client/cpe/changes/generic-change.ts +462 -0
  177. package/dist/preview-middleware/dist/client/cpe/changes/index.js +12 -0
  178. package/dist/preview-middleware/dist/client/cpe/changes/index.ts +1 -0
  179. package/dist/preview-middleware/dist/client/cpe/changes/service.js +527 -0
  180. package/dist/preview-middleware/dist/client/cpe/changes/service.ts +595 -0
  181. package/dist/preview-middleware/dist/client/cpe/changes/validator.js +41 -0
  182. package/dist/preview-middleware/dist/client/cpe/changes/validator.ts +35 -0
  183. package/dist/preview-middleware/dist/client/cpe/communication-service.js +44 -0
  184. package/dist/preview-middleware/dist/client/cpe/communication-service.ts +41 -0
  185. package/dist/preview-middleware/dist/client/cpe/connector-service.js +88 -0
  186. package/dist/preview-middleware/dist/client/cpe/connector-service.ts +74 -0
  187. package/dist/preview-middleware/dist/client/cpe/context-menu-service.js +90 -0
  188. package/dist/preview-middleware/dist/client/cpe/context-menu-service.ts +77 -0
  189. package/dist/preview-middleware/dist/client/cpe/control-data.js +366 -0
  190. package/dist/preview-middleware/dist/client/cpe/control-data.ts +400 -0
  191. package/dist/preview-middleware/dist/client/cpe/documentation.js +191 -0
  192. package/dist/preview-middleware/dist/client/cpe/documentation.ts +187 -0
  193. package/dist/preview-middleware/dist/client/cpe/feature-service.js +39 -0
  194. package/dist/preview-middleware/dist/client/cpe/feature-service.ts +25 -0
  195. package/dist/preview-middleware/dist/client/cpe/init.js +92 -0
  196. package/dist/preview-middleware/dist/client/cpe/init.ts +114 -0
  197. package/dist/preview-middleware/dist/client/cpe/logger.js +32 -0
  198. package/dist/preview-middleware/dist/client/cpe/logger.ts +24 -0
  199. package/dist/preview-middleware/dist/client/cpe/odata-health/odata-health-checker.js +126 -0
  200. package/dist/preview-middleware/dist/client/cpe/odata-health/odata-health-checker.ts +150 -0
  201. package/dist/preview-middleware/dist/client/cpe/odata-health/odata-health-status.js +63 -0
  202. package/dist/preview-middleware/dist/client/cpe/odata-health/odata-health-status.ts +52 -0
  203. package/dist/preview-middleware/dist/client/cpe/outline/editable.js +38 -0
  204. package/dist/preview-middleware/dist/client/cpe/outline/editable.ts +30 -0
  205. package/dist/preview-middleware/dist/client/cpe/outline/nodes.js +212 -0
  206. package/dist/preview-middleware/dist/client/cpe/outline/nodes.ts +236 -0
  207. package/dist/preview-middleware/dist/client/cpe/outline/service.js +62 -0
  208. package/dist/preview-middleware/dist/client/cpe/outline/service.ts +66 -0
  209. package/dist/preview-middleware/dist/client/cpe/quick-actions/quick-action-service.js +161 -0
  210. package/dist/preview-middleware/dist/client/cpe/quick-actions/quick-action-service.ts +184 -0
  211. package/dist/preview-middleware/dist/client/cpe/quick-actions/registry.js +145 -0
  212. package/dist/preview-middleware/dist/client/cpe/quick-actions/registry.ts +157 -0
  213. package/dist/preview-middleware/dist/client/cpe/quick-actions/utils.js +94 -0
  214. package/dist/preview-middleware/dist/client/cpe/quick-actions/utils.ts +113 -0
  215. package/dist/preview-middleware/dist/client/cpe/rta-service.js +94 -0
  216. package/dist/preview-middleware/dist/client/cpe/rta-service.ts +86 -0
  217. package/dist/preview-middleware/dist/client/cpe/selection.js +249 -0
  218. package/dist/preview-middleware/dist/client/cpe/selection.ts +267 -0
  219. package/dist/preview-middleware/dist/client/cpe/ui5-utils.js +35 -0
  220. package/dist/preview-middleware/dist/client/cpe/ui5-utils.ts +28 -0
  221. package/dist/preview-middleware/dist/client/cpe/utils.js +113 -0
  222. package/dist/preview-middleware/dist/client/cpe/utils.ts +162 -0
  223. package/dist/preview-middleware/dist/client/flp/WorkspaceConnector.js +96 -0
  224. package/dist/preview-middleware/dist/client/flp/WorkspaceConnector.ts +99 -0
  225. package/dist/preview-middleware/dist/client/flp/common.js +30 -0
  226. package/dist/preview-middleware/dist/client/flp/common.ts +28 -0
  227. package/dist/preview-middleware/dist/client/flp/enableFakeConnector.js +92 -0
  228. package/dist/preview-middleware/dist/client/flp/enableFakeConnector.ts +113 -0
  229. package/dist/preview-middleware/dist/client/flp/homepage/Component.js +16 -0
  230. package/dist/preview-middleware/dist/client/flp/homepage/Component.ts +10 -0
  231. package/dist/preview-middleware/dist/client/flp/homepage/controller/MyHome.controller.js +54 -0
  232. package/dist/preview-middleware/dist/client/flp/homepage/controller/MyHome.controller.ts +41 -0
  233. package/dist/preview-middleware/dist/client/flp/homepage/css/style.css +3 -0
  234. package/dist/preview-middleware/dist/client/flp/homepage/manifest.json +41 -0
  235. package/dist/preview-middleware/dist/client/flp/homepage/view/MyHome.view.xml +18 -0
  236. package/dist/preview-middleware/dist/client/flp/init.js +418 -0
  237. package/dist/preview-middleware/dist/client/flp/init.ts +448 -0
  238. package/dist/preview-middleware/dist/client/flp/initCdm.js +117 -0
  239. package/dist/preview-middleware/dist/client/flp/initCdm.ts +111 -0
  240. package/dist/preview-middleware/dist/client/flp/initConnectors.js +31 -0
  241. package/dist/preview-middleware/dist/client/flp/initConnectors.ts +20 -0
  242. package/dist/preview-middleware/dist/client/flp/initRta.js +180 -0
  243. package/dist/preview-middleware/dist/client/flp/initRta.ts +194 -0
  244. package/dist/preview-middleware/dist/client/i18n.js +56 -0
  245. package/dist/preview-middleware/dist/client/i18n.ts +49 -0
  246. package/dist/preview-middleware/dist/client/manifest.json +8 -0
  247. package/dist/preview-middleware/dist/client/messagebundle.properties +143 -0
  248. package/dist/preview-middleware/dist/client/thirdparty/@sap-ux-private/control-property-editor-common.js +486 -0
  249. package/dist/preview-middleware/dist/client/utils/additional-change-info.js +69 -0
  250. package/dist/preview-middleware/dist/client/utils/additional-change-info.ts +73 -0
  251. package/dist/preview-middleware/dist/client/utils/application.js +34 -0
  252. package/dist/preview-middleware/dist/client/utils/application.ts +27 -0
  253. package/dist/preview-middleware/dist/client/utils/core.js +144 -0
  254. package/dist/preview-middleware/dist/client/utils/core.ts +145 -0
  255. package/dist/preview-middleware/dist/client/utils/error.js +28 -0
  256. package/dist/preview-middleware/dist/client/utils/error.ts +18 -0
  257. package/dist/preview-middleware/dist/client/utils/fe-v2.js +58 -0
  258. package/dist/preview-middleware/dist/client/utils/fe-v2.ts +61 -0
  259. package/dist/preview-middleware/dist/client/utils/fe-v4.js +168 -0
  260. package/dist/preview-middleware/dist/client/utils/fe-v4.ts +186 -0
  261. package/dist/preview-middleware/dist/client/utils/info-center-message.js +60 -0
  262. package/dist/preview-middleware/dist/client/utils/info-center-message.ts +60 -0
  263. package/dist/preview-middleware/dist/client/utils/version.js +126 -0
  264. package/dist/preview-middleware/dist/client/utils/version.ts +138 -0
  265. package/dist/preview-middleware/templates/flp/cdm.base.json +47 -0
  266. package/dist/preview-middleware/templates/flp/cdm.ejs +72 -0
  267. package/dist/preview-middleware/templates/flp/editor.ejs +28 -0
  268. package/dist/preview-middleware/templates/flp/sandbox.ejs +88 -0
  269. package/dist/preview-middleware/templates/flp/sandbox2.ejs +86 -0
  270. package/dist/preview-middleware/templates/test/qunit.ejs +26 -0
  271. package/dist/preview-middleware/templates/test/qunit.js +29 -0
  272. package/dist/preview-middleware/templates/test/testsuite.qunit.ejs +10 -0
  273. package/dist/preview-middleware/templates/test/testsuite.qunit.js +8 -0
  274. package/dist/tasks/cf-deploy/index.js +1780 -1464
  275. package/dist/tasks/deploy/index.js +14857 -9062
  276. package/package.json +31 -34
  277. package/prebuilds/keyring.darwin-arm64.node +0 -0
  278. package/prebuilds/keyring.darwin-x64.node +0 -0
  279. package/prebuilds/keyring.linux-arm-gnueabihf.node +0 -0
  280. package/prebuilds/keyring.linux-arm64-gnu.node +0 -0
  281. package/prebuilds/keyring.linux-arm64-musl.node +0 -0
  282. package/prebuilds/keyring.linux-ia32-gnu.node +0 -0
  283. package/prebuilds/keyring.linux-x64-gnu.node +0 -0
  284. package/prebuilds/keyring.linux-x64-musl.node +0 -0
  285. package/prebuilds/keyring.win32-arm64-msvc.node +0 -0
  286. package/prebuilds/keyring.win32-ia32-msvc.node +0 -0
  287. package/prebuilds/keyring.win32-x64-msvc.node +0 -0
@@ -0,0 +1,81 @@
1
+ import OverlayUtil from 'sap/ui/dt/OverlayUtil';
2
+ import FlexCommand from 'sap/ui/rta/command/FlexCommand';
3
+ import UI5Element from 'sap/ui/core/Element';
4
+ import { QuickActionContext, NestedQuickActionDefinition } from '../../../cpe/quick-actions/quick-action-definition';
5
+ import { getControlById, findNestedElements } from '../../../utils/core';
6
+ import { TableQuickActionDefinitionBase } from '../table-quick-action-base';
7
+ import { MDC_ACTION_TOOLBAR_TYPE, MDC_TABLE_TYPE } from '../control-types';
8
+ import { getRelevantControlFromActivePage } from '../../../cpe/quick-actions/utils';
9
+ import { NestedQuickActionChild } from '@sap-ux-private/control-property-editor-common';
10
+ import { preprocessActionExecution } from '../fe-v2/create-table-custom-column';
11
+ import { DIALOG_ENABLEMENT_VALIDATOR } from '../dialog-enablement-validator';
12
+
13
+ export const CHANGE_TABLE_ACTIONS = 'change-table-actions';
14
+ const ACTION_ID = 'CTX_SETTINGS';
15
+
16
+ /**
17
+ * Quick Action for changing table columns.
18
+ */
19
+ export class ChangeTableActionsQuickAction
20
+ extends TableQuickActionDefinitionBase
21
+ implements NestedQuickActionDefinition
22
+ {
23
+ public toolbarsMap: Record<string, UI5Element | undefined> = {};
24
+
25
+ constructor(context: QuickActionContext) {
26
+ super(CHANGE_TABLE_ACTIONS, [MDC_TABLE_TYPE], 'V4_QUICK_ACTION_CHANGE_TABLE_ACTIONS', context, undefined, [
27
+ DIALOG_ENABLEMENT_VALIDATOR
28
+ ]);
29
+ }
30
+
31
+ async initialize(): Promise<void> {
32
+ const toolbars = getRelevantControlFromActivePage(this.context.controlIndex, this.context.view, [
33
+ MDC_ACTION_TOOLBAR_TYPE
34
+ ]);
35
+
36
+ const processChild = async (child: NestedQuickActionChild, mapKey: string) => {
37
+ const mapEntry = this.tableMap[mapKey];
38
+ if (mapEntry) {
39
+ const tableToolbar = findNestedElements(mapEntry.table, toolbars)[0];
40
+ this.toolbarsMap[mapKey] = tableToolbar;
41
+ const actions = tableToolbar ? await this.context.actionService.get(tableToolbar.getId()) : [];
42
+ const changeToolbarContentAction = actions.find((action) => action.id === ACTION_ID);
43
+
44
+ child.enabled = !!changeToolbarContentAction?.enabled;
45
+ let tooltip: string | undefined;
46
+ if (!tableToolbar) {
47
+ tooltip = this.context.resourceBundle.getText('TABLE_HEADER_TOOLBAR_NOT_AVAILABLE');
48
+ } else if (!child.enabled) {
49
+ tooltip = this.context.resourceBundle.getText('TABLE_HEADER_TOOLBAR_NOT_CHANGEABLE');
50
+ }
51
+ child.tooltip = tooltip ?? child.tooltip;
52
+ }
53
+ for (let idx = 0; idx < child.children.length; idx++) {
54
+ await processChild(child.children[idx], `${mapKey}/${idx}`);
55
+ }
56
+ };
57
+
58
+ await super.initialize();
59
+
60
+ // disable nested actions based on conditions
61
+ for (let idx = 0; idx < this.children.length; idx++) {
62
+ await processChild(this.children[idx], `${idx}`);
63
+ }
64
+ }
65
+
66
+ async execute(path: string): Promise<FlexCommand[]> {
67
+ const { table, sectionInfo, iconTabBarFilterKey } = this.tableMap[path];
68
+ const toolbar = this.toolbarsMap[path];
69
+ if (!table || !toolbar) {
70
+ return [];
71
+ }
72
+ preprocessActionExecution(table, sectionInfo, this.iconTabBar, iconTabBarFilterKey);
73
+ const toolbarControl = getControlById(toolbar.getId());
74
+ const controlOverlay = OverlayUtil.getClosestOverlayFor(toolbarControl);
75
+ if (controlOverlay) {
76
+ controlOverlay.setSelected(true);
77
+ await this.context.actionService.execute(toolbar.getId(), ACTION_ID);
78
+ }
79
+ return [];
80
+ }
81
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ sap.ui.define(["sap/ui/dt/OverlayUtil", "sap/ui/fl/apply/api/FlexRuntimeInfoAPI", "../../../utils/core", "../table-quick-action-base", "../control-types", "../dialog-enablement-validator", "../../../cpe/quick-actions/utils"], function (OverlayUtil, FlexRuntimeInfoAPI, _____utils_core, ___table_quick_action_base, ___control_types, ___dialog_enablement_validator, _____cpe_quick_actions_utils) {
4
+ "use strict";
5
+
6
+ const getControlById = _____utils_core["getControlById"];
7
+ const TableQuickActionDefinitionBase = ___table_quick_action_base["TableQuickActionDefinitionBase"];
8
+ const MDC_TABLE_TYPE = ___control_types["MDC_TABLE_TYPE"];
9
+ const DIALOG_ENABLEMENT_VALIDATOR = ___dialog_enablement_validator["DIALOG_ENABLEMENT_VALIDATOR"];
10
+ const getRelevantControlFromActivePage = _____cpe_quick_actions_utils["getRelevantControlFromActivePage"];
11
+ const CHANGE_TABLE_COLUMNS = 'change-table-columns';
12
+ const ACTION_ID = 'CTX_SETTINGS0';
13
+
14
+ /**
15
+ * Quick Action for changing table columns.
16
+ */
17
+ class ChangeTableColumnsQuickAction extends TableQuickActionDefinitionBase {
18
+ constructor(context) {
19
+ super(CHANGE_TABLE_COLUMNS, [MDC_TABLE_TYPE], 'V4_QUICK_ACTION_CHANGE_TABLE_COLUMNS', context, undefined, [DIALOG_ENABLEMENT_VALIDATOR]);
20
+ }
21
+ async initialize() {
22
+ for (const smartTable of getRelevantControlFromActivePage(this.context.controlIndex, this.context.view, this.controlTypes)) {
23
+ const hasVariantManagement = FlexRuntimeInfoAPI.hasVariantManagement({
24
+ element: smartTable
25
+ });
26
+ const path = this.children.length.toString();
27
+ const tableHeader = smartTable.getHeader() || 'Unnamed';
28
+ const tableLabel = `'${tableHeader}' table`;
29
+ if (!hasVariantManagement) {
30
+ this.children.push({
31
+ path,
32
+ label: tableLabel,
33
+ enabled: false,
34
+ tooltip: this.context.resourceBundle.getText('TABLE_ACTION_DISABLED_VARIANT_MANAGEMENT_NOT_AVAILABLE'),
35
+ children: []
36
+ });
37
+ this.tableMap[path] = {
38
+ table: smartTable,
39
+ tableUpdateEventAttachedOnce: false
40
+ };
41
+ continue;
42
+ }
43
+ const actions = await this.context.actionService.get(smartTable.getId());
44
+ const changeColumnAction = actions.find(action => action.id === ACTION_ID);
45
+ if (changeColumnAction) {
46
+ this.children.push({
47
+ path,
48
+ label: tableLabel,
49
+ enabled: true,
50
+ children: []
51
+ });
52
+ this.tableMap[path] = {
53
+ table: smartTable,
54
+ tableUpdateEventAttachedOnce: false
55
+ };
56
+ }
57
+ }
58
+ if (this.children.length > 0) {
59
+ this.isApplicable = true;
60
+ }
61
+ }
62
+ async execute(path) {
63
+ const {
64
+ table
65
+ } = this.tableMap[path];
66
+ if (!table) {
67
+ return [];
68
+ }
69
+ const tableControl = getControlById(table.getId());
70
+ const controlOverlay = OverlayUtil.getClosestOverlayFor(tableControl);
71
+ if (controlOverlay) {
72
+ controlOverlay.setSelected(true);
73
+ }
74
+ const hasVariantManagement = FlexRuntimeInfoAPI.hasVariantManagement({
75
+ element: table
76
+ });
77
+ if (hasVariantManagement) {
78
+ await this.context.actionService.execute(table.getId(), ACTION_ID);
79
+ }
80
+ return [];
81
+ }
82
+ }
83
+ var __exports = {
84
+ __esModule: true
85
+ };
86
+ __exports.CHANGE_TABLE_COLUMNS = CHANGE_TABLE_COLUMNS;
87
+ __exports.ChangeTableColumnsQuickAction = ChangeTableColumnsQuickAction;
88
+ return __exports;
89
+ });
90
+ //# sourceMappingURL=change-table-columns.js.map
@@ -0,0 +1,97 @@
1
+ import OverlayUtil from 'sap/ui/dt/OverlayUtil';
2
+ import type FlexCommand from 'sap/ui/rta/command/FlexCommand';
3
+ import FlexRuntimeInfoAPI from 'sap/ui/fl/apply/api/FlexRuntimeInfoAPI';
4
+ import type {
5
+ QuickActionContext,
6
+ NestedQuickActionDefinition
7
+ } from '../../../cpe/quick-actions/quick-action-definition';
8
+ import { getControlById } from '../../../utils/core';
9
+ import { TableQuickActionDefinitionBase } from '../table-quick-action-base';
10
+ import { MDC_TABLE_TYPE } from '../control-types';
11
+ import { DIALOG_ENABLEMENT_VALIDATOR } from '../dialog-enablement-validator';
12
+ import { getRelevantControlFromActivePage } from '../../../cpe/quick-actions/utils';
13
+ import type Table from 'sap/ui/mdc/Table';
14
+
15
+ export const CHANGE_TABLE_COLUMNS = 'change-table-columns';
16
+ const ACTION_ID = 'CTX_SETTINGS0';
17
+
18
+ /**
19
+ * Quick Action for changing table columns.
20
+ */
21
+ export class ChangeTableColumnsQuickAction
22
+ extends TableQuickActionDefinitionBase
23
+ implements NestedQuickActionDefinition
24
+ {
25
+ constructor(context: QuickActionContext) {
26
+ super(CHANGE_TABLE_COLUMNS, [MDC_TABLE_TYPE], 'V4_QUICK_ACTION_CHANGE_TABLE_COLUMNS', context, undefined, [
27
+ DIALOG_ENABLEMENT_VALIDATOR
28
+ ]);
29
+ }
30
+
31
+ async initialize(): Promise<void> {
32
+ for (const smartTable of getRelevantControlFromActivePage(
33
+ this.context.controlIndex,
34
+ this.context.view,
35
+ this.controlTypes
36
+ )) {
37
+ const hasVariantManagement = FlexRuntimeInfoAPI.hasVariantManagement({ element: smartTable });
38
+ const path = this.children.length.toString();
39
+ const tableHeader = (smartTable as Table).getHeader() || 'Unnamed';
40
+ const tableLabel = `'${tableHeader}' table`;
41
+
42
+ if (!hasVariantManagement) {
43
+ this.children.push({
44
+ path,
45
+ label: tableLabel,
46
+ enabled: false,
47
+ tooltip: this.context.resourceBundle.getText(
48
+ 'TABLE_ACTION_DISABLED_VARIANT_MANAGEMENT_NOT_AVAILABLE'
49
+ ),
50
+ children: []
51
+ });
52
+ this.tableMap[path] = {
53
+ table: smartTable,
54
+ tableUpdateEventAttachedOnce: false
55
+ };
56
+ continue;
57
+ }
58
+
59
+ const actions = await this.context.actionService.get(smartTable.getId());
60
+ const changeColumnAction = actions.find((action) => action.id === ACTION_ID);
61
+ if (changeColumnAction) {
62
+ this.children.push({
63
+ path,
64
+ label: tableLabel,
65
+ enabled: true,
66
+ children: []
67
+ });
68
+ this.tableMap[path] = {
69
+ table: smartTable,
70
+ tableUpdateEventAttachedOnce: false
71
+ };
72
+ }
73
+ }
74
+
75
+ if (this.children.length > 0) {
76
+ this.isApplicable = true;
77
+ }
78
+ }
79
+
80
+ async execute(path: string): Promise<FlexCommand[]> {
81
+ const { table } = this.tableMap[path];
82
+ if (!table) {
83
+ return [];
84
+ }
85
+ const tableControl = getControlById(table.getId());
86
+ const controlOverlay = OverlayUtil.getClosestOverlayFor(tableControl);
87
+ if (controlOverlay) {
88
+ controlOverlay.setSelected(true);
89
+ }
90
+ const hasVariantManagement = FlexRuntimeInfoAPI.hasVariantManagement({ element: table });
91
+ if (hasVariantManagement) {
92
+ await this.context.actionService.execute(table.getId(), ACTION_ID);
93
+ }
94
+
95
+ return [];
96
+ }
97
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ sap.ui.define(["sap/ui/dt/OverlayRegistry", "../../dialog-factory", "../simple-quick-action-base", "../../../utils/version", "../dialog-enablement-validator", "../../api-handler", "../../utils", "../../../utils/fe-v4", "../../../utils/core"], function (OverlayRegistry, ____dialog_factory, ___simple_quick_action_base, _____utils_version, ___dialog_enablement_validator, ____api_handler, ____utils, _____utils_fe_v4, _____utils_core) {
4
+ "use strict";
5
+
6
+ const DialogFactory = ____dialog_factory["DialogFactory"];
7
+ const DialogNames = ____dialog_factory["DialogNames"];
8
+ const SimpleQuickActionDefinitionBase = ___simple_quick_action_base["SimpleQuickActionDefinitionBase"];
9
+ const getUi5Version = _____utils_version["getUi5Version"];
10
+ const isLowerThanMinimalUi5Version = _____utils_version["isLowerThanMinimalUi5Version"];
11
+ const DIALOG_ENABLEMENT_VALIDATOR = ___dialog_enablement_validator["DIALOG_ENABLEMENT_VALIDATOR"];
12
+ const getExistingController = ____api_handler["getExistingController"];
13
+ const getControllerInfoForControl = ____utils["getControllerInfoForControl"];
14
+ const getV4AppComponent = _____utils_fe_v4["getV4AppComponent"];
15
+ const isA = _____utils_core["isA"];
16
+ const ADD_PAGE_ACTION = 'add-page-action';
17
+ const CONTROL_TYPES = ['sap.f.DynamicPageTitle', 'sap.uxap.ObjectPageLayout'];
18
+ /**
19
+ * Quick Action for adding a custom page action.
20
+ */
21
+ class AddPageActionQuickAction extends SimpleQuickActionDefinitionBase {
22
+ constructor(context) {
23
+ super(ADD_PAGE_ACTION, CONTROL_TYPES, 'QUICK_ACTION_ADD_CUSTOM_PAGE_ACTION', context, [DIALOG_ENABLEMENT_VALIDATOR]);
24
+ }
25
+ async initialize() {
26
+ this.pageId = this.context.view.getViewData()?.stableId.split('::').pop();
27
+ const version = await getUi5Version();
28
+ if (isLowerThanMinimalUi5Version(version, {
29
+ major: 1,
30
+ minor: 120
31
+ })) {
32
+ return;
33
+ }
34
+ await super.initialize();
35
+ }
36
+ async execute() {
37
+ if (this.control) {
38
+ const overlay = OverlayRegistry.getOverlay(this.control) || [];
39
+ const controlInfo = getControllerInfoForControl(this.control);
40
+ const data = await getExistingController(controlInfo.controllerName);
41
+ const controllerPath = data.controllerPathFromRoot.replaceAll(/\//g, '.').replace(/\.[^.]+$/, '');
42
+ await DialogFactory.createDialog(overlay, this.context.rta, DialogNames.ADD_ACTION, undefined, {
43
+ title: 'QUICK_ACTION_ADD_CUSTOM_PAGE_ACTION',
44
+ controllerReference: controllerPath ? `.extension.${controllerPath}.<REPLACE_WITH_YOUR_HANDLER_NAME>` : '.extension.<ApplicationId.FolderName.ScriptFilename.methodName>',
45
+ appDescriptor: {
46
+ appComponent: getV4AppComponent(this.context.view),
47
+ appType: 'fe-v4',
48
+ pageId: this.pageId,
49
+ projectId: this.context.flexSettings.projectId
50
+ },
51
+ validateActionId: actionId => {
52
+ const headerActions = [...this.context.changeService.getAllPendingConfigPropertyPath()].filter(path => path.includes('content/header/actions/'));
53
+ const idInPendingChanges = headerActions.length && headerActions.includes(`content/header/actions/${actionId}`);
54
+ if (idInPendingChanges) {
55
+ return false;
56
+ }
57
+ if (isA('sap.f.DynamicPageTitle', this.control) && this.control.getActions().every(action => !action.getId().endsWith(`CustomAction::${actionId}`))) {
58
+ return true;
59
+ }
60
+ if (isA('sap.uxap.ObjectPageLayout', this.control) && this.control.getHeaderTitle()?.getActions().every(action => !action.getId().endsWith(`CustomAction::${actionId}`))) {
61
+ return true;
62
+ }
63
+ return false;
64
+ },
65
+ propertyPath: 'content/header/actions/'
66
+ }, {
67
+ actionName: this.type,
68
+ telemetryEventIdentifier: this.getTelemetryIdentifier()
69
+ });
70
+ }
71
+ return [];
72
+ }
73
+ }
74
+ var __exports = {
75
+ __esModule: true
76
+ };
77
+ __exports.ADD_PAGE_ACTION = ADD_PAGE_ACTION;
78
+ __exports.AddPageActionQuickAction = AddPageActionQuickAction;
79
+ return __exports;
80
+ });
81
+ //# sourceMappingURL=create-page-action.js.map
@@ -0,0 +1,98 @@
1
+ import OverlayRegistry from 'sap/ui/dt/OverlayRegistry';
2
+ import FlexCommand from 'sap/ui/rta/command/FlexCommand';
3
+
4
+ import { DialogFactory, DialogNames } from '../../dialog-factory';
5
+ import { QuickActionContext, SimpleQuickActionDefinition } from '../../../cpe/quick-actions/quick-action-definition';
6
+ import { SimpleQuickActionDefinitionBase } from '../simple-quick-action-base';
7
+ import { getUi5Version, isLowerThanMinimalUi5Version } from '../../../utils/version';
8
+ import { DIALOG_ENABLEMENT_VALIDATOR } from '../dialog-enablement-validator';
9
+ import { getExistingController } from '../../api-handler';
10
+ import { getControllerInfoForControl } from '../../utils';
11
+ import { getV4AppComponent } from '../../../utils/fe-v4';
12
+ import { isA } from '../../../utils/core';
13
+ import DynamicPageTitle from 'sap/f/DynamicPageTitle';
14
+ import ObjectPageLayout from 'sap/uxap/ObjectPageLayout';
15
+ import ObjectPageDynamicHeaderTitle from 'sap/uxap/ObjectPageDynamicHeaderTitle';
16
+
17
+ export const ADD_PAGE_ACTION = 'add-page-action';
18
+ const CONTROL_TYPES = ['sap.f.DynamicPageTitle', 'sap.uxap.ObjectPageLayout'];
19
+ interface ViewDataType {
20
+ stableId: string;
21
+ }
22
+ /**
23
+ * Quick Action for adding a custom page action.
24
+ */
25
+ export class AddPageActionQuickAction extends SimpleQuickActionDefinitionBase implements SimpleQuickActionDefinition {
26
+ protected pageId: string | undefined;
27
+ constructor(context: QuickActionContext) {
28
+ super(ADD_PAGE_ACTION, CONTROL_TYPES, 'QUICK_ACTION_ADD_CUSTOM_PAGE_ACTION', context, [
29
+ DIALOG_ENABLEMENT_VALIDATOR
30
+ ]);
31
+ }
32
+
33
+ async initialize(): Promise<void> {
34
+ this.pageId = (this.context.view.getViewData() as ViewDataType)?.stableId.split('::').pop() as string;
35
+ const version = await getUi5Version();
36
+ if (isLowerThanMinimalUi5Version(version, { major: 1, minor: 120 })) {
37
+ return;
38
+ }
39
+ await super.initialize();
40
+ }
41
+
42
+ async execute(): Promise<FlexCommand[]> {
43
+ if (this.control) {
44
+ const overlay = OverlayRegistry.getOverlay(this.control) || [];
45
+ const controlInfo = getControllerInfoForControl(this.control);
46
+ const data = await getExistingController(controlInfo.controllerName);
47
+ const controllerPath = data.controllerPathFromRoot.replaceAll(/\//g, '.').replace(/\.[^.]+$/, '');
48
+ await DialogFactory.createDialog(
49
+ overlay,
50
+ this.context.rta,
51
+ DialogNames.ADD_ACTION,
52
+ undefined,
53
+ {
54
+ title: 'QUICK_ACTION_ADD_CUSTOM_PAGE_ACTION',
55
+ controllerReference: controllerPath
56
+ ? `.extension.${controllerPath}.<REPLACE_WITH_YOUR_HANDLER_NAME>`
57
+ : '.extension.<ApplicationId.FolderName.ScriptFilename.methodName>',
58
+ appDescriptor: {
59
+ appComponent: getV4AppComponent(this.context.view)!,
60
+ appType: 'fe-v4',
61
+ pageId: this.pageId!,
62
+ projectId: this.context.flexSettings.projectId
63
+ },
64
+ validateActionId: (actionId) => {
65
+ const headerActions = [...this.context.changeService.getAllPendingConfigPropertyPath()].filter(
66
+ (path) => path.includes('content/header/actions/')
67
+ );
68
+ const idInPendingChanges =
69
+ headerActions.length && headerActions.includes(`content/header/actions/${actionId}`);
70
+ if (idInPendingChanges) {
71
+ return false;
72
+ }
73
+ if (
74
+ isA('sap.f.DynamicPageTitle', this.control) &&
75
+ (this.control as DynamicPageTitle)
76
+ .getActions()
77
+ .every((action) => !action.getId().endsWith(`CustomAction::${actionId}`))
78
+ ) {
79
+ return true;
80
+ }
81
+ if (
82
+ isA('sap.uxap.ObjectPageLayout', this.control) &&
83
+ ((this.control as ObjectPageLayout).getHeaderTitle() as ObjectPageDynamicHeaderTitle)
84
+ ?.getActions()
85
+ .every((action) => !action.getId().endsWith(`CustomAction::${actionId}`))
86
+ ) {
87
+ return true;
88
+ }
89
+ return false;
90
+ },
91
+ propertyPath: 'content/header/actions/'
92
+ },
93
+ { actionName: this.type, telemetryEventIdentifier: this.getTelemetryIdentifier() }
94
+ );
95
+ }
96
+ return [];
97
+ }
98
+ }
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+
3
+ sap.ui.define(["sap/ui/dt/OverlayRegistry", "../../dialog-factory", "../../../utils/version", "../dialog-enablement-validator", "../../api-handler", "../../utils", "../../../utils/fe-v4", "../table-quick-action-base", "../control-types", "../../../utils/core", "./utils"], function (OverlayRegistry, ____dialog_factory, _____utils_version, ___dialog_enablement_validator, ____api_handler, ____utils, _____utils_fe_v4, ___table_quick_action_base, ___control_types, _____utils_core, ___utils) {
4
+ "use strict";
5
+
6
+ const DialogFactory = ____dialog_factory["DialogFactory"];
7
+ const DialogNames = ____dialog_factory["DialogNames"];
8
+ const getUi5Version = _____utils_version["getUi5Version"];
9
+ const isLowerThanMinimalUi5Version = _____utils_version["isLowerThanMinimalUi5Version"];
10
+ const DIALOG_ENABLEMENT_VALIDATOR = ___dialog_enablement_validator["DIALOG_ENABLEMENT_VALIDATOR"];
11
+ const getExistingController = ____api_handler["getExistingController"];
12
+ const getControllerInfoForControl = ____utils["getControllerInfoForControl"];
13
+ const getV4AppComponent = _____utils_fe_v4["getV4AppComponent"];
14
+ const TableQuickActionDefinitionBase = ___table_quick_action_base["TableQuickActionDefinitionBase"];
15
+ const MDC_TABLE_TYPE = ___control_types["MDC_TABLE_TYPE"];
16
+ const isA = _____utils_core["isA"];
17
+ const getPropertyPath = ___utils["getPropertyPath"];
18
+ const CREATE_TABLE_ACTION = 'create-table-action';
19
+ const regexForAnnotationPath = /controlConfiguration\/(?:[^@]+\/)?@com\.sap\.vocabularies\.UI\.v1\.LineItem(?:#[^/]+)?\/actions\//;
20
+
21
+ /**
22
+ * Quick Action for adding a custom page action.
23
+ */
24
+ class AddTableActionQuickAction extends TableQuickActionDefinitionBase {
25
+ constructor(context) {
26
+ super(CREATE_TABLE_ACTION, [MDC_TABLE_TYPE], 'QUICK_ACTION_ADD_CUSTOM_TABLE_ACTION', context, undefined, [DIALOG_ENABLEMENT_VALIDATOR]);
27
+ }
28
+ async initialize() {
29
+ this.pageId = this.context.view.getViewData()?.stableId.split('::').pop();
30
+ const version = await getUi5Version();
31
+ if (isLowerThanMinimalUi5Version(version, {
32
+ major: 1,
33
+ minor: 120
34
+ })) {
35
+ return;
36
+ }
37
+ await super.initialize();
38
+ }
39
+ async execute(path) {
40
+ const {
41
+ table
42
+ } = this.tableMap[path];
43
+ const propertyPath = `${getPropertyPath(table)}`;
44
+ if (!table || !propertyPath) {
45
+ return [];
46
+ }
47
+ if (table) {
48
+ const overlay = OverlayRegistry.getOverlay(table) || [];
49
+ const controlInfo = getControllerInfoForControl(table);
50
+ const data = await getExistingController(controlInfo.controllerName);
51
+ const controllerPath = data.controllerPathFromRoot.replaceAll('/', '.').replace(/\.[^.]+$/, '');
52
+ await DialogFactory.createDialog(overlay, this.context.rta, DialogNames.ADD_ACTION, undefined, {
53
+ title: 'QUICK_ACTION_ADD_CUSTOM_TABLE_ACTION',
54
+ controllerReference: controllerPath ? `.extension.${controllerPath}.<methodName>` : '.extension.<ApplicationId.FolderName.ScriptFilename.methodName>',
55
+ actionType: 'tableAction',
56
+ appDescriptor: {
57
+ appComponent: getV4AppComponent(this.context.view),
58
+ appType: 'fe-v4',
59
+ pageId: this.pageId,
60
+ projectId: this.context.flexSettings.projectId
61
+ },
62
+ validateActionId: actionId => {
63
+ const actionPaths = [...this.context.changeService.getAllPendingConfigPropertyPath()].filter(path => regexForAnnotationPath.test(path));
64
+ const idInPendingChanges = actionPaths.includes(`${propertyPath}${actionId}`);
65
+ if (idInPendingChanges) {
66
+ return false;
67
+ }
68
+ if (isA(MDC_TABLE_TYPE, table) && table.getActions().every(action => !action.getAction().getId().endsWith(`CustomAction::${actionId}`))) {
69
+ return true;
70
+ }
71
+ return false;
72
+ },
73
+ position: calculatePosition(table, this.context.view),
74
+ propertyPath
75
+ }, {
76
+ actionName: this.type,
77
+ telemetryEventIdentifier: this.getTelemetryIdentifier()
78
+ });
79
+ }
80
+ return [];
81
+ }
82
+ }
83
+ function calculatePosition(table, view) {
84
+ const actions = table.getActions();
85
+ if (!actions.length) {
86
+ return undefined;
87
+ }
88
+ const annotationAction = actions.findIndex(action => action.getAction().getId().includes('::DataFieldForAction::'));
89
+ const customAction = actions.findIndex(action => action.getAction().getId().includes('::CustomAction::'));
90
+ if (annotationAction === -1 && customAction === -1) {
91
+ return undefined;
92
+ }
93
+ // determine the least index of either annotation or custom action
94
+ let actionIndex;
95
+ if (annotationAction === -1) {
96
+ actionIndex = customAction;
97
+ } else if (customAction === -1) {
98
+ actionIndex = annotationAction;
99
+ } else {
100
+ actionIndex = Math.min(annotationAction, customAction);
101
+ }
102
+ const actionToolBarAction = actions[actionIndex];
103
+ let anchor;
104
+ let action = actionToolBarAction?.getAction();
105
+ if (action) {
106
+ const localId = view.getLocalId(action.getId()) ?? '';
107
+ if (localId.includes('CustomAction::')) {
108
+ const str = localId.substring(Math.max(0, localId.lastIndexOf('CustomAction::')));
109
+ anchor = str.split('::').pop();
110
+ } else {
111
+ anchor = localId.substring(localId.lastIndexOf('DataFieldForAction::'));
112
+ }
113
+ }
114
+ if (!anchor) {
115
+ return undefined;
116
+ }
117
+ return {
118
+ placement: 'Before',
119
+ anchor
120
+ };
121
+ }
122
+ var __exports = {
123
+ __esModule: true
124
+ };
125
+ __exports.CREATE_TABLE_ACTION = CREATE_TABLE_ACTION;
126
+ __exports.AddTableActionQuickAction = AddTableActionQuickAction;
127
+ return __exports;
128
+ });
129
+ //# sourceMappingURL=create-table-action-config-change.js.map