@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,158 @@
1
+ "use strict";
2
+
3
+ sap.ui.define(["../../../utils/core", "sap/ui/rta/command/CommandFactory", "../../../utils/fe-v4"], function (_____utils_core, CommandFactory, _____utils_fe_v4) {
4
+ "use strict";
5
+
6
+ const getControlById = _____utils_core["getControlById"];
7
+ const getV4AppComponent = _____utils_fe_v4["getV4AppComponent"];
8
+ const getPageName = _____utils_fe_v4["getPageName"];
9
+ const getReference = _____utils_fe_v4["getReference"];
10
+ const isMacroTable = _____utils_fe_v4["isMacroTable"];
11
+ async function executeToggleAction(context, isButtonEnabled, controlType, propertyPath) {
12
+ const controls = context.controlIndex[controlType] ?? [];
13
+ const control = controls[0];
14
+ if (control) {
15
+ const modifiedControl = getControlById(control.controlId);
16
+ if (!modifiedControl) {
17
+ return [];
18
+ }
19
+ const {
20
+ flexSettings
21
+ } = context;
22
+ const parent = modifiedControl.getParent();
23
+ if (!parent) {
24
+ return [];
25
+ }
26
+ const modifiedValue = {
27
+ reference: getReference(modifiedControl),
28
+ appComponent: getV4AppComponent(modifiedControl),
29
+ changeType: 'appdescr_fe_changePageConfiguration',
30
+ parameters: {
31
+ page: getPageName(parent),
32
+ entityPropertyChange: {
33
+ propertyPath: propertyPath,
34
+ propertyValue: !isButtonEnabled,
35
+ operation: 'UPSERT'
36
+ }
37
+ }
38
+ };
39
+ const command = await CommandFactory.getCommandFor(modifiedControl, 'appDescriptor', modifiedValue, null, flexSettings);
40
+ return [command];
41
+ }
42
+ return [];
43
+ }
44
+ const PATTERN_SUFFIX = ':?query:';
45
+
46
+ /**
47
+ * Generates the pattern for a new route based on the input.
48
+ *
49
+ * @param sourceRoutePattern source page route pattern
50
+ * @param navProperty navigation property name (used to build nav pattern for nested OP )
51
+ * @param targetEntitySet navigation target entity set
52
+ * @returns the generated pattern as string
53
+ */
54
+ function generateRoutePattern(sourceRoutePattern, navProperty, targetEntitySet) {
55
+ const parts = [];
56
+ const basePattern = sourceRoutePattern.replace(PATTERN_SUFFIX, '');
57
+ if (basePattern) {
58
+ parts.push(basePattern);
59
+ parts.push('/');
60
+ parts.push(navProperty);
61
+ } else {
62
+ parts.push(targetEntitySet);
63
+ }
64
+ parts.push(`({${targetEntitySet}Key})`);
65
+ parts.push(PATTERN_SUFFIX);
66
+ return parts.join('');
67
+ }
68
+
69
+ /**
70
+ * Get LineItem annotation - tries to use design-time helper if available, falls back to local implementation.
71
+ *
72
+ * @param table - table control
73
+ * @returns LineItem annotation string
74
+ */
75
+ function getLineItemAnnotation(table) {
76
+ try {
77
+ const helper = sap.ui.require('sap/fe/macros/table/designtime/Table.designtime.helper');
78
+ if (helper && typeof helper.getLineItemAnnotation === 'function') {
79
+ return helper.getLineItemAnnotation(table);
80
+ }
81
+ } catch {
82
+ // Module not available or error occurred
83
+ }
84
+ return getLineItemAnnotationForTable(table);
85
+ }
86
+
87
+ /**
88
+ * Get property path for table action.
89
+ *
90
+ * @param table - table control
91
+ * @returns string
92
+ */
93
+ function getPropertyPath(table, property = 'actions') {
94
+ const macroTable = table.getParent();
95
+ const configPath = '';
96
+ if (isMacroTable(macroTable)) {
97
+ const lineItemAnnotation = getLineItemAnnotation(macroTable);
98
+ const navigationPath = macroTable.metaPath.split(macroTable.getProperty('contextPath'))[1];
99
+ if (!lineItemAnnotation) {
100
+ throw new Error('Line item annotation could not be determined for the table.');
101
+ }
102
+ if (navigationPath) {
103
+ return configPath.concat('controlConfiguration/', navigationPath.split('@')[0], lineItemAnnotation, `/${property}/`);
104
+ } else {
105
+ let contextString = macroTable.metaPath;
106
+ const firstSlash = contextString.indexOf('/');
107
+ if (firstSlash >= 0) {
108
+ contextString = contextString.substring(firstSlash + 1);
109
+ }
110
+ const secondSlash = contextString.indexOf('/');
111
+ if (secondSlash >= 0) {
112
+ contextString = contextString.substring(0, secondSlash);
113
+ }
114
+ return configPath.concat('controlConfiguration/', '/', contextString, '/', lineItemAnnotation, `/${property}/`);
115
+ }
116
+ }
117
+ return undefined;
118
+ }
119
+
120
+ /**
121
+ * Return the line item annotation that defines the table.
122
+ * This may come from a Presentation Variant, a Selection Presentation Variant or the default.
123
+ * @param table - The table control
124
+ * @returns The line item annotation used to define the table
125
+ */
126
+ function getLineItemAnnotationForTable(macroTable) {
127
+ let lineItemAnnotation = '';
128
+ if (isMacroTable(macroTable)) {
129
+ const presentation = macroTable.getModel()?.getMetaModel()?.getObject(macroTable.metaPath);
130
+
131
+ // default line item annotation
132
+ if (!presentation.Visualizations && !presentation.PresentationVariant) {
133
+ lineItemAnnotation = macroTable.metaPath.split('/').pop();
134
+ } else if (presentation.Visualizations) {
135
+ lineItemAnnotation = presentation.Visualizations[0].$AnnotationPath;
136
+ } else if (presentation.PresentationVariant) {
137
+ if (presentation.PresentationVariant.Visualizations) {
138
+ lineItemAnnotation = presentation.PresentationVariant.Visualizations[0].$AnnotationPath;
139
+ } else {
140
+ const contextPath = macroTable.metaPath.startsWith('/') ? macroTable.metaPath.split('@')[0] : macroTable.contextPath;
141
+ const pathForLineItems = contextPath + presentation.PresentationVariant.$Path;
142
+ const presentationVariantType = macroTable.getModel()?.getMetaModel()?.getObject(pathForLineItems);
143
+ lineItemAnnotation = presentationVariantType.Visualizations[0].$AnnotationPath;
144
+ }
145
+ }
146
+ }
147
+ return lineItemAnnotation;
148
+ }
149
+ var __exports = {
150
+ __esModule: true
151
+ };
152
+ __exports.executeToggleAction = executeToggleAction;
153
+ __exports.generateRoutePattern = generateRoutePattern;
154
+ __exports.getLineItemAnnotation = getLineItemAnnotation;
155
+ __exports.getPropertyPath = getPropertyPath;
156
+ return __exports;
157
+ });
158
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1,175 @@
1
+ import { getControlById } from '../../../utils/core';
2
+ import type FlexCommand from 'sap/ui/rta/command/FlexCommand';
3
+ import type { QuickActionContext } from '../../../cpe/quick-actions/quick-action-definition';
4
+ import CommandFactory from 'sap/ui/rta/command/CommandFactory';
5
+ import { getV4AppComponent, getPageName, getReference, isMacroTable } from '../../../utils/fe-v4';
6
+ import UI5Element from 'sap/ui/core/Element';
7
+
8
+ export async function executeToggleAction(
9
+ context: QuickActionContext,
10
+ isButtonEnabled: boolean,
11
+ controlType: string,
12
+ propertyPath: string
13
+ ): Promise<FlexCommand[]> {
14
+ const controls = context.controlIndex[controlType] ?? [];
15
+ const control = controls[0];
16
+ if (control) {
17
+ const modifiedControl = getControlById(control.controlId);
18
+ if (!modifiedControl) {
19
+ return [];
20
+ }
21
+
22
+ const { flexSettings } = context;
23
+ const parent = modifiedControl.getParent();
24
+ if (!parent) {
25
+ return [];
26
+ }
27
+
28
+ const modifiedValue = {
29
+ reference: getReference(modifiedControl),
30
+ appComponent: getV4AppComponent(modifiedControl),
31
+ changeType: 'appdescr_fe_changePageConfiguration',
32
+ parameters: {
33
+ page: getPageName(parent),
34
+ entityPropertyChange: {
35
+ propertyPath: propertyPath,
36
+ propertyValue: !isButtonEnabled,
37
+ operation: 'UPSERT'
38
+ }
39
+ }
40
+ };
41
+
42
+ const command = await CommandFactory.getCommandFor<FlexCommand>(
43
+ modifiedControl,
44
+ 'appDescriptor',
45
+ modifiedValue,
46
+ null,
47
+ flexSettings
48
+ );
49
+
50
+ return [command];
51
+ }
52
+
53
+ return [];
54
+ }
55
+
56
+ const PATTERN_SUFFIX = ':?query:';
57
+
58
+ /**
59
+ * Generates the pattern for a new route based on the input.
60
+ *
61
+ * @param sourceRoutePattern source page route pattern
62
+ * @param navProperty navigation property name (used to build nav pattern for nested OP )
63
+ * @param targetEntitySet navigation target entity set
64
+ * @returns the generated pattern as string
65
+ */
66
+ export function generateRoutePattern(sourceRoutePattern: string, navProperty: string, targetEntitySet: string): string {
67
+ const parts: string[] = [];
68
+ const basePattern = sourceRoutePattern.replace(PATTERN_SUFFIX, '');
69
+ if (basePattern) {
70
+ parts.push(basePattern);
71
+ parts.push('/');
72
+ parts.push(navProperty);
73
+ } else {
74
+ parts.push(targetEntitySet);
75
+ }
76
+ parts.push(`({${targetEntitySet}Key})`);
77
+ parts.push(PATTERN_SUFFIX);
78
+ return parts.join('');
79
+ }
80
+
81
+ /**
82
+ * Get LineItem annotation - tries to use design-time helper if available, falls back to local implementation.
83
+ *
84
+ * @param table - table control
85
+ * @returns LineItem annotation string
86
+ */
87
+ export function getLineItemAnnotation(table: UI5Element): string | undefined {
88
+ try {
89
+ const helper = sap.ui.require('sap/fe/macros/table/designtime/Table.designtime.helper');
90
+ if (helper && typeof helper.getLineItemAnnotation === 'function') {
91
+ return helper.getLineItemAnnotation(table);
92
+ }
93
+ } catch {
94
+ // Module not available or error occurred
95
+ }
96
+ return getLineItemAnnotationForTable(table);
97
+ }
98
+
99
+ /**
100
+ * Get property path for table action.
101
+ *
102
+ * @param table - table control
103
+ * @returns string
104
+ */
105
+ export function getPropertyPath(table: UI5Element, property: 'actions' | 'columns' = 'actions'): string | undefined {
106
+ const macroTable = table.getParent();
107
+ const configPath = '';
108
+ if (isMacroTable(macroTable)) {
109
+ const lineItemAnnotation = getLineItemAnnotation(macroTable);
110
+
111
+ const navigationPath = macroTable.metaPath.split(macroTable.getProperty('contextPath'))[1];
112
+ if (!lineItemAnnotation) {
113
+ throw new Error('Line item annotation could not be determined for the table.');
114
+ }
115
+ if (navigationPath) {
116
+ return configPath.concat(
117
+ 'controlConfiguration/',
118
+ navigationPath.split('@')[0],
119
+ lineItemAnnotation,
120
+ `/${property}/`
121
+ );
122
+ } else {
123
+ let contextString = macroTable.metaPath;
124
+ const firstSlash = contextString.indexOf('/');
125
+ if (firstSlash >= 0) {
126
+ contextString = contextString.substring(firstSlash + 1);
127
+ }
128
+ const secondSlash = contextString.indexOf('/');
129
+ if (secondSlash >= 0) {
130
+ contextString = contextString.substring(0, secondSlash);
131
+ }
132
+ return configPath.concat(
133
+ 'controlConfiguration/',
134
+ '/',
135
+ contextString,
136
+ '/',
137
+ lineItemAnnotation,
138
+ `/${property}/`
139
+ );
140
+ }
141
+ }
142
+ return undefined;
143
+ }
144
+
145
+ /**
146
+ * Return the line item annotation that defines the table.
147
+ * This may come from a Presentation Variant, a Selection Presentation Variant or the default.
148
+ * @param table - The table control
149
+ * @returns The line item annotation used to define the table
150
+ */
151
+ function getLineItemAnnotationForTable(macroTable: UI5Element): string | undefined {
152
+ let lineItemAnnotation: string | undefined = '';
153
+ if (isMacroTable(macroTable)) {
154
+ const presentation = macroTable.getModel()?.getMetaModel()?.getObject(macroTable.metaPath);
155
+
156
+ // default line item annotation
157
+ if (!presentation.Visualizations && !presentation.PresentationVariant) {
158
+ lineItemAnnotation = macroTable.metaPath.split('/').pop();
159
+ } else if (presentation.Visualizations) {
160
+ lineItemAnnotation = presentation.Visualizations[0].$AnnotationPath;
161
+ } else if (presentation.PresentationVariant) {
162
+ if (presentation.PresentationVariant.Visualizations) {
163
+ lineItemAnnotation = presentation.PresentationVariant.Visualizations[0].$AnnotationPath;
164
+ } else {
165
+ const contextPath = macroTable.metaPath.startsWith('/')
166
+ ? macroTable.metaPath.split('@')[0]
167
+ : macroTable.contextPath;
168
+ const pathForLineItems = contextPath + presentation.PresentationVariant.$Path;
169
+ const presentationVariantType = macroTable.getModel()?.getMetaModel()?.getObject(pathForLineItems);
170
+ lineItemAnnotation = presentationVariantType.Visualizations[0].$AnnotationPath;
171
+ }
172
+ }
173
+ }
174
+ return lineItemAnnotation;
175
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ sap.ui.define([], function () {
4
+ "use strict";
5
+
6
+ function __ui5_require_async(path) {
7
+ return new Promise(function (resolve, reject) {
8
+ sap.ui.require([path], function (module) {
9
+ if (!(module && module.__esModule)) {
10
+ module = module === null || !(typeof module === "object" && path.endsWith("/library")) ? {
11
+ default: module
12
+ } : module;
13
+ Object.defineProperty(module, "__esModule", {
14
+ value: true
15
+ });
16
+ }
17
+ resolve(module);
18
+ }, function (err) {
19
+ reject(err);
20
+ });
21
+ });
22
+ }
23
+ /**
24
+ * Loads the appropriate Quick Action registries for the given application type.
25
+ *
26
+ * @param appType - Application type.
27
+ * @returns Quick Action registries.
28
+ */
29
+ async function loadDefinitions(appType) {
30
+ if (appType === 'fe-v2') {
31
+ const FEV2QuickActionRegistry = (await __ui5_require_async('open/ux/preview/client/adp/quick-actions/fe-v2/registry')).default;
32
+ return [new FEV2QuickActionRegistry()];
33
+ }
34
+ if (appType === 'fe-v4') {
35
+ const FEV4QuickActionRegistry = (await __ui5_require_async('open/ux/preview/client/adp/quick-actions/fe-v4/registry')).default;
36
+ return [new FEV4QuickActionRegistry()];
37
+ }
38
+ return [];
39
+ }
40
+ var __exports = {
41
+ __esModule: true
42
+ };
43
+ __exports.loadDefinitions = loadDefinitions;
44
+ return __exports;
45
+ });
46
+ //# sourceMappingURL=load.js.map
@@ -0,0 +1,23 @@
1
+ import type { QuickActionDefinitionRegistry } from '../../cpe/quick-actions/registry';
2
+ import type { ApplicationType } from '../../utils/application';
3
+
4
+ /**
5
+ * Loads the appropriate Quick Action registries for the given application type.
6
+ *
7
+ * @param appType - Application type.
8
+ * @returns Quick Action registries.
9
+ */
10
+ export async function loadDefinitions(appType: ApplicationType): Promise<QuickActionDefinitionRegistry<string>[]> {
11
+ if (appType === 'fe-v2') {
12
+ const FEV2QuickActionRegistry = (await import('open/ux/preview/client/adp/quick-actions/fe-v2/registry'))
13
+ .default;
14
+
15
+ return [new FEV2QuickActionRegistry()];
16
+ }
17
+ if (appType === 'fe-v4') {
18
+ const FEV4QuickActionRegistry = (await import('open/ux/preview/client/adp/quick-actions/fe-v4/registry'))
19
+ .default;
20
+ return [new FEV4QuickActionRegistry()];
21
+ }
22
+ return [];
23
+ }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ sap.ui.define(["./dialog-enablement-validator"], function (___dialog_enablement_validator) {
4
+ "use strict";
5
+
6
+ const DIALOG_ENABLEMENT_VALIDATOR = ___dialog_enablement_validator["DIALOG_ENABLEMENT_VALIDATOR"];
7
+ /**
8
+ * Base class for all quick actions.
9
+ */
10
+ class QuickActionDefinitionBase {
11
+ get id() {
12
+ return `${this.context.key}-${this.type}`;
13
+ }
14
+ getTelemetryIdentifier(update = false) {
15
+ if (update === true) {
16
+ this.telemetryIdentifier = new Date().toISOString();
17
+ }
18
+ return this.telemetryIdentifier;
19
+ }
20
+ get quickActionSteps() {
21
+ return this.enablementValidators.find(item => item === DIALOG_ENABLEMENT_VALIDATOR) ? 2 : 1;
22
+ }
23
+
24
+ /**
25
+ * Quick Actions tooltip.
26
+ */
27
+ get tooltip() {
28
+ if (this.validationResult) {
29
+ const validationErrors = this.validationResult.filter(result => result?.type === 'error');
30
+ if (validationErrors.length > 0) {
31
+ const error = validationErrors[0];
32
+ return error.message;
33
+ }
34
+ }
35
+ return undefined;
36
+ }
37
+ get isDisabled() {
38
+ if (this.validationResult === undefined) {
39
+ return false;
40
+ }
41
+ const validationErrors = this.validationResult.filter(result => result?.type === 'error');
42
+ return validationErrors.length > 0;
43
+ }
44
+ get textKey() {
45
+ return this.defaultTextKey;
46
+ }
47
+ constructor(type, kind, defaultTextKey, context, enablementValidators = []) {
48
+ this.type = type;
49
+ this.kind = kind;
50
+ this.defaultTextKey = defaultTextKey;
51
+ this.context = context;
52
+ this.enablementValidators = enablementValidators;
53
+ }
54
+ async runEnablementValidators() {
55
+ this.validationResult = await Promise.all(this.enablementValidators.map(async validator => await validator.run()));
56
+ }
57
+ }
58
+ var __exports = {
59
+ __esModule: true
60
+ };
61
+ __exports.QuickActionDefinitionBase = QuickActionDefinitionBase;
62
+ return __exports;
63
+ });
64
+ //# sourceMappingURL=quick-action-base.js.map
@@ -0,0 +1,71 @@
1
+ import type { QuickActionContext } from '../../cpe/quick-actions/quick-action-definition';
2
+
3
+ import { EnablementValidator, EnablementValidatorError, EnablementValidatorResult } from './enablement-validator';
4
+ import { DIALOG_ENABLEMENT_VALIDATOR } from './dialog-enablement-validator';
5
+
6
+ /**
7
+ * Base class for all quick actions.
8
+ */
9
+ export abstract class QuickActionDefinitionBase<T extends string> {
10
+ private telemetryIdentifier: string;
11
+
12
+ public get id(): string {
13
+ return `${this.context.key}-${this.type}`;
14
+ }
15
+
16
+ public getTelemetryIdentifier(update = false) {
17
+ if (update === true) {
18
+ this.telemetryIdentifier = new Date().toISOString();
19
+ }
20
+ return this.telemetryIdentifier;
21
+ }
22
+
23
+ public get quickActionSteps(): number {
24
+ return this.enablementValidators.find((item) => item === DIALOG_ENABLEMENT_VALIDATOR)
25
+ ? 2
26
+ : 1;
27
+ }
28
+
29
+ /**
30
+ * Quick Actions tooltip.
31
+ */
32
+ public get tooltip(): string | undefined {
33
+ if (this.validationResult) {
34
+ const validationErrors = this.validationResult.filter(
35
+ (result): result is EnablementValidatorError => result?.type === 'error'
36
+ );
37
+ if (validationErrors.length > 0) {
38
+ const error = validationErrors[0];
39
+ return error.message;
40
+ }
41
+ }
42
+ return undefined;
43
+ }
44
+
45
+ protected validationResult: EnablementValidatorResult[] | undefined;
46
+ protected get isDisabled(): boolean {
47
+ if (this.validationResult === undefined) {
48
+ return false;
49
+ }
50
+ const validationErrors = this.validationResult.filter((result) => result?.type === 'error');
51
+ return validationErrors.length > 0;
52
+ }
53
+
54
+ protected get textKey(): string {
55
+ return this.defaultTextKey;
56
+ }
57
+
58
+ constructor(
59
+ public readonly type: string,
60
+ public readonly kind: T,
61
+ protected readonly defaultTextKey: string,
62
+ protected readonly context: QuickActionContext,
63
+ protected readonly enablementValidators: EnablementValidator[] = []
64
+ ) {}
65
+
66
+ async runEnablementValidators(): Promise<void> {
67
+ this.validationResult = await Promise.all(
68
+ this.enablementValidators.map(async (validator) => await validator.run())
69
+ );
70
+ }
71
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ sap.ui.define(["open/ux/preview/client/thirdparty/@sap-ux-private/control-property-editor-common", "../../cpe/quick-actions/utils", "./quick-action-base"], function (___sap_ux_private_control_property_editor_common, ____cpe_quick_actions_utils, ___quick_action_base) {
4
+ "use strict";
5
+
6
+ const SIMPLE_QUICK_ACTION_KIND = ___sap_ux_private_control_property_editor_common["SIMPLE_QUICK_ACTION_KIND"];
7
+ const getRelevantControlFromActivePage = ____cpe_quick_actions_utils["getRelevantControlFromActivePage"];
8
+ const QuickActionDefinitionBase = ___quick_action_base["QuickActionDefinitionBase"];
9
+ /**
10
+ * Base class for all simple quick actions.
11
+ */
12
+ class SimpleQuickActionDefinitionBase extends QuickActionDefinitionBase {
13
+ get isApplicable() {
14
+ return this.control !== undefined;
15
+ }
16
+ constructor(type, controlTypes, defaultTextKey, context, enablementValidators = []) {
17
+ super(type, SIMPLE_QUICK_ACTION_KIND, defaultTextKey, context, enablementValidators);
18
+ this.type = type;
19
+ this.controlTypes = controlTypes;
20
+ this.defaultTextKey = defaultTextKey;
21
+ this.context = context;
22
+ this.enablementValidators = enablementValidators;
23
+ }
24
+ initialize() {
25
+ this.control = getRelevantControlFromActivePage(this.context.controlIndex, this.context.view, this.controlTypes)[0];
26
+ return Promise.resolve();
27
+ }
28
+ getActionObject() {
29
+ return {
30
+ kind: SIMPLE_QUICK_ACTION_KIND,
31
+ id: this.id,
32
+ enabled: !this.isDisabled,
33
+ tooltip: this.tooltip,
34
+ title: this.context.resourceBundle.getText(this.textKey)
35
+ };
36
+ }
37
+ }
38
+ var __exports = {
39
+ __esModule: true
40
+ };
41
+ __exports.SimpleQuickActionDefinitionBase = SimpleQuickActionDefinitionBase;
42
+ return __exports;
43
+ });
44
+ //# sourceMappingURL=simple-quick-action-base.js.map
@@ -0,0 +1,51 @@
1
+ import type UI5Element from 'sap/ui/core/Element';
2
+
3
+ import type { SimpleQuickAction } from '@sap-ux-private/control-property-editor-common';
4
+ import { SIMPLE_QUICK_ACTION_KIND } from '@sap-ux-private/control-property-editor-common';
5
+
6
+ import { getRelevantControlFromActivePage } from '../../cpe/quick-actions/utils';
7
+ import type { QuickActionContext } from '../../cpe/quick-actions/quick-action-definition';
8
+ import type { EnablementValidator } from './enablement-validator';
9
+ import { QuickActionDefinitionBase } from './quick-action-base';
10
+
11
+ /**
12
+ * Base class for all simple quick actions.
13
+ */
14
+ export abstract class SimpleQuickActionDefinitionBase<
15
+ T extends UI5Element = UI5Element
16
+ > extends QuickActionDefinitionBase<typeof SIMPLE_QUICK_ACTION_KIND> {
17
+ public get isApplicable(): boolean {
18
+ return this.control !== undefined;
19
+ }
20
+
21
+ protected control: T | undefined;
22
+
23
+ constructor(
24
+ public readonly type: string,
25
+ protected readonly controlTypes: string[],
26
+ protected readonly defaultTextKey: string,
27
+ protected readonly context: QuickActionContext,
28
+ protected readonly enablementValidators: EnablementValidator[] = []
29
+ ) {
30
+ super(type, SIMPLE_QUICK_ACTION_KIND, defaultTextKey, context, enablementValidators);
31
+ }
32
+
33
+ initialize(): Promise<void> {
34
+ this.control = getRelevantControlFromActivePage<T>(
35
+ this.context.controlIndex,
36
+ this.context.view,
37
+ this.controlTypes
38
+ )[0];
39
+ return Promise.resolve();
40
+ }
41
+
42
+ getActionObject(): SimpleQuickAction {
43
+ return {
44
+ kind: SIMPLE_QUICK_ACTION_KIND,
45
+ id: this.id,
46
+ enabled: !this.isDisabled,
47
+ tooltip: this.tooltip,
48
+ title: this.context.resourceBundle.getText(this.textKey)
49
+ };
50
+ }
51
+ }
@@ -0,0 +1,40 @@
1
+ # Supported UI5 Versions for Quick Actions in Adaptation Projects Based on Fiori Elements Applications with OData V2 and OData V4
2
+
3
+ | Quick Action | OData Version | Page Type** | 1.71| 1.84| 1.96|1.108|1.120|1.124|1.127|1.130|1.131|>=1.132.0|>=1.135.0|
4
+ |----------------------------------------------------|---------------|-------------|-----|-----|-----|-----|-----|-----|-----|-----|-----|---------|---------|
5
+ | Add Controller to Page | V2 | LR, ALP, OP | x | x | x | x | x | x | x | x | x | x | x |
6
+ | | V4 | LR, ALP, OP | x | x | x | x | x | x | x | x | x | x | x |
7
+ | Add Header Field | V2 | OP | x | x | x | x | x | x | x | x | x | x | x |
8
+ | | V4 | OP | x | x | x | x | x | x | x | x | x | x | x |
9
+ | Add Custom Section | V2 | OP | x | x | x | x | x | x | x | x | x | x | x |
10
+ | | V4 | OP | x | x | x | x | x | x | x | x | x | x | x |
11
+ | Add Custom Page Action | V2 | LR, ALP, OP | | | | | | | | x | x | x | x |
12
+ | | V4 | LR, ALP, OP | | | | | x | x | x | x | x | x | x |
13
+ | Add Custom Table Action | V2 | LR, ALP, OP | | | x | x | x | x | x | x | x | x | x |
14
+ | | V4 | LR, ALP, OP | | | x | x | x | x | x | x | x | x | x |
15
+ | Add Custom Table Column | V2 | LR, ALP, OP | | | x | x | x | x | x | x | x | x | x |
16
+ | | V4 | LR, ALP, OP | | | x | x | x | x | x | x | x | x | x |
17
+ | Change Table Columns | V2 | LR, ALP, OP | | | x | x | x | x | x | x | x | x | x |
18
+ | | V4 | LR, ALP, OP | | | x | x | x | x | x | x | x | x | x |
19
+ | Enable/Disable "Clear" Button | V2 | LR, ALP | x | x | x | x | x | x | x | x | x | x | x |
20
+ | | V4 | LR, ALP | x | x | x | x | x | x | x | x | x | x | x |
21
+ | Enable Semantic Date Range* | V2 | LR, ALP | | | x | x | x | | | x | x | x | x |
22
+ | | V4 | LR, ALP | | | | | | | | x | x | x | x |
23
+ | Enable Table Filtering for Page Variants* | V2 | LR, ALP | | | x | x | x | | | x | x | x | x |
24
+ | | V4 | LR, ALP | | | | | | | | | x | x | x |
25
+ | Add Local Annotation File* | V2 | LR, ALP, OP | | | | | | | | | | x | x |
26
+ | | V4 | LR, ALP, OP | | | | | | | | | | x | x |
27
+ | Enable Empty Row Mode for Tables* | V2 | OP | | | | | | | | x | x | x | x |
28
+ | | V4 | OP | | | | | | | | | x | x | x |
29
+ | Enable Variant Management in Tables and Charts* | V2 | LR, ALP | | | x | x | x | | | x | x | x | x |
30
+ | | V4 | LR, ALP, OP | | | | | | | | | x | x | x |
31
+ | Enable Variant Management in Tables* | V2 | OP | | | x | x | x | | | x | x | x | x |
32
+ | | V4 | | | | | | | | | | | | |
33
+ | Add Subpage* | V2 | LR, ALP, OP | | | x | x | x | | | x | x | x | x |
34
+ | | V4 | LR, ALP, OP | | | | | | | | | | | x |
35
+
36
+
37
+ *Actions resulting in manifest changes are not available for adaptation projects built for OData v2 applications using outdated array page structure in manifest.json.
38
+
39
+ ** Meaning of Page Type abbreviation: LR - List Report, ALP - Analytical List Page, OP - Object Page
40
+