@sap/ux-ui5-tooling 1.20.3 → 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 +15601 -9530
  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 +43608 -41594
  35. package/dist/middlewares/fiori-tools-preview.js +57009 -3089
  36. package/dist/middlewares/fiori-tools-proxy.js +54866 -31843
  37. package/dist/middlewares/fiori-tools-servestatic.js +31657 -57
  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 +1836 -1496
  275. package/dist/tasks/deploy/index.js +14679 -8695
  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,58 @@
1
+ "use strict";
2
+
3
+ sap.ui.define(["../../../cpe/quick-actions/utils", "../../../utils/core", "./utils", "../simple-quick-action-base"], function (_____cpe_quick_actions_utils, _____utils_core, ___utils, ___simple_quick_action_base) {
4
+ "use strict";
5
+
6
+ const pageHasControlId = _____cpe_quick_actions_utils["pageHasControlId"];
7
+ const getControlById = _____utils_core["getControlById"];
8
+ const executeToggleAction = ___utils["executeToggleAction"];
9
+ const SimpleQuickActionDefinitionBase = ___simple_quick_action_base["SimpleQuickActionDefinitionBase"];
10
+ const ENABLE_SEMANTIC_DATE_RANGE = 'enable-semantic-date-range';
11
+ const PROPERTY_NAME = 'useSemanticDateRange';
12
+ const PROPERTY_PATH = `controlConfiguration/@com.sap.vocabularies.UI.v1.SelectionFields/${PROPERTY_NAME}`;
13
+ const CONTROL_TYPE = 'sap.fe.macros.controls.FilterBar';
14
+ const boolMap = {
15
+ 'true': true,
16
+ 'false': false
17
+ };
18
+ /**
19
+ * Quick Action for toggling the visibility of "Semantic date range" for filter bar fields in LR.
20
+ */
21
+ class ToggleSemanticDateRangeFilterBar extends SimpleQuickActionDefinitionBase {
22
+ constructor(context) {
23
+ super(ENABLE_SEMANTIC_DATE_RANGE, [], '', context);
24
+ }
25
+ forceRefreshAfterExecution = true;
26
+ isUseDateRangeTypeEnabled = false;
27
+ initialize() {
28
+ const controls = this.context.controlIndex[CONTROL_TYPE] ?? [];
29
+ for (const control of controls) {
30
+ const isActionApplicable = pageHasControlId(this.context.view, control.controlId);
31
+ const filterBar = getControlById(control.controlId);
32
+ if (isActionApplicable && filterBar) {
33
+ this.control = filterBar;
34
+ const value = this.context.changeService.getConfigurationPropertyValue(control.controlId, PROPERTY_NAME);
35
+ this.isUseDateRangeTypeEnabled = value === undefined ? boolMap[this.control.data('useSemanticDateRange')] : value;
36
+ }
37
+ }
38
+ return Promise.resolve();
39
+ }
40
+ get textKey() {
41
+ return this.isUseDateRangeTypeEnabled ? 'QUICK_ACTION_LR_DISABLE_SEMANTIC_DATE_RANGE_FILTER_BAR' : 'QUICK_ACTION_LR_ENABLE_SEMANTIC_DATE_RANGE_FILTER_BAR';
42
+ }
43
+ async execute() {
44
+ const command = await executeToggleAction(this.context, this.isUseDateRangeTypeEnabled, CONTROL_TYPE, PROPERTY_PATH);
45
+ if (command.length) {
46
+ this.isUseDateRangeTypeEnabled = !this.isUseDateRangeTypeEnabled;
47
+ }
48
+ return command;
49
+ }
50
+ }
51
+ var __exports = {
52
+ __esModule: true
53
+ };
54
+ __exports.ENABLE_SEMANTIC_DATE_RANGE = ENABLE_SEMANTIC_DATE_RANGE;
55
+ __exports.ToggleSemanticDateRangeFilterBar = ToggleSemanticDateRangeFilterBar;
56
+ return __exports;
57
+ });
58
+ //# sourceMappingURL=lr-enable-semantic-date-range-filter-bar.js.map
@@ -0,0 +1,70 @@
1
+ import type FlexCommand from 'sap/ui/rta/command/FlexCommand';
2
+ import type FilterBar from 'sap/ui/mdc/FilterBar';
3
+
4
+ import type {
5
+ QuickActionContext,
6
+ SimpleQuickActionDefinition
7
+ } from '../../../cpe/quick-actions/quick-action-definition';
8
+ import { pageHasControlId } from '../../../cpe/quick-actions/utils';
9
+ import { getControlById } from '../../../utils/core';
10
+ import { executeToggleAction } from './utils';
11
+ import { SimpleQuickActionDefinitionBase } from '../simple-quick-action-base';
12
+
13
+ export const ENABLE_SEMANTIC_DATE_RANGE = 'enable-semantic-date-range';
14
+ const PROPERTY_NAME = 'useSemanticDateRange';
15
+ const PROPERTY_PATH = `controlConfiguration/@com.sap.vocabularies.UI.v1.SelectionFields/${PROPERTY_NAME}`;
16
+ const CONTROL_TYPE = 'sap.fe.macros.controls.FilterBar';
17
+ const boolMap: { [key: string]: boolean } = {
18
+ 'true': true,
19
+ 'false': false
20
+ };
21
+ /**
22
+ * Quick Action for toggling the visibility of "Semantic date range" for filter bar fields in LR.
23
+ */
24
+ export class ToggleSemanticDateRangeFilterBar
25
+ extends SimpleQuickActionDefinitionBase
26
+ implements SimpleQuickActionDefinition
27
+ {
28
+ constructor(context: QuickActionContext) {
29
+ super(ENABLE_SEMANTIC_DATE_RANGE, [], '', context);
30
+ }
31
+ readonly forceRefreshAfterExecution = true;
32
+ private isUseDateRangeTypeEnabled = false;
33
+
34
+ initialize(): Promise<void> {
35
+ const controls = this.context.controlIndex[CONTROL_TYPE] ?? [];
36
+ for (const control of controls) {
37
+ const isActionApplicable = pageHasControlId(this.context.view, control.controlId);
38
+ const filterBar = getControlById<FilterBar>(control.controlId);
39
+ if (isActionApplicable && filterBar) {
40
+ this.control = filterBar;
41
+ const value = this.context.changeService.getConfigurationPropertyValue(
42
+ control.controlId,
43
+ PROPERTY_NAME
44
+ );
45
+ this.isUseDateRangeTypeEnabled =
46
+ value === undefined ? boolMap[this.control.data('useSemanticDateRange')] : (value as boolean);
47
+ }
48
+ }
49
+ return Promise.resolve();
50
+ }
51
+
52
+ protected get textKey() {
53
+ return this.isUseDateRangeTypeEnabled
54
+ ? 'QUICK_ACTION_LR_DISABLE_SEMANTIC_DATE_RANGE_FILTER_BAR'
55
+ : 'QUICK_ACTION_LR_ENABLE_SEMANTIC_DATE_RANGE_FILTER_BAR';
56
+ }
57
+
58
+ async execute(): Promise<FlexCommand[]> {
59
+ const command = await executeToggleAction(
60
+ this.context,
61
+ this.isUseDateRangeTypeEnabled,
62
+ CONTROL_TYPE,
63
+ PROPERTY_PATH
64
+ );
65
+ if (command.length) {
66
+ this.isUseDateRangeTypeEnabled = !this.isUseDateRangeTypeEnabled;
67
+ }
68
+ return command;
69
+ }
70
+ }
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ sap.ui.define(["../table-quick-action-base", "../../../cpe/quick-actions/utils", "../../../utils/fe-v4", "../../../utils/version", "../control-types"], function (___table_quick_action_base, _____cpe_quick_actions_utils, _____utils_fe_v4, _____utils_version, ___control_types) {
4
+ "use strict";
5
+
6
+ const TableQuickActionDefinitionBase = ___table_quick_action_base["TableQuickActionDefinitionBase"];
7
+ const getRelevantControlFromActivePage = _____cpe_quick_actions_utils["getRelevantControlFromActivePage"];
8
+ const createManifestPropertyChange = _____utils_fe_v4["createManifestPropertyChange"];
9
+ const getUi5Version = _____utils_version["getUi5Version"];
10
+ const isLowerThanMinimalUi5Version = _____utils_version["isLowerThanMinimalUi5Version"];
11
+ const MDC_TABLE_TYPE = ___control_types["MDC_TABLE_TYPE"];
12
+ const ENABLE_TABLE_FILTERING = 'enable-table-filtering';
13
+ /**
14
+ * Quick Action for enabling table filtering using table personalization settings.
15
+ */
16
+ class EnableTableFilteringQuickAction extends TableQuickActionDefinitionBase {
17
+ constructor(context) {
18
+ super(ENABLE_TABLE_FILTERING, [MDC_TABLE_TYPE], 'QUICK_ACTION_ENABLE_TABLE_FILTERING', context);
19
+ }
20
+ forceRefreshAfterExecution = true;
21
+ async initialize() {
22
+ const version = await getUi5Version();
23
+ if (isLowerThanMinimalUi5Version(version, {
24
+ major: 1,
25
+ minor: 131
26
+ })) {
27
+ this.isApplicable = false;
28
+ return;
29
+ }
30
+ const tooltipText = this.context.resourceBundle.getText('TABLE_FILTERING_CHANGE_HAS_ALREADY_BEEN_MADE');
31
+ for (const smartTable of getRelevantControlFromActivePage(this.context.controlIndex, this.context.view, [MDC_TABLE_TYPE])) {
32
+ const personalizationData = smartTable.getP13nMode();
33
+ const value = this.context.changeService.getConfigurationPropertyValue(smartTable.getId(), 'personalization');
34
+ const isFilterEnabled = value?.filter === undefined ? personalizationData.includes('Filter') : value.filter;
35
+ const path = this.children.length.toString();
36
+ this.children.push({
37
+ path,
38
+ label: `'${smartTable.getHeader()}' table`,
39
+ enabled: !isFilterEnabled,
40
+ tooltip: isFilterEnabled ? tooltipText : undefined,
41
+ children: []
42
+ });
43
+ this.tableMap[path] = {
44
+ table: smartTable,
45
+ tableUpdateEventAttachedOnce: false
46
+ };
47
+ }
48
+ if (this.children.length > 0) {
49
+ this.isApplicable = true;
50
+ }
51
+ }
52
+ async execute(path) {
53
+ const {
54
+ flexSettings
55
+ } = this.context;
56
+ const {
57
+ table
58
+ } = this.tableMap[path];
59
+ if (!table) {
60
+ return [];
61
+ }
62
+ const propertyChange = {
63
+ personalization: {
64
+ sort: true,
65
+ column: true,
66
+ filter: true,
67
+ group: true,
68
+ aggregate: true
69
+ }
70
+ };
71
+ const command = await createManifestPropertyChange(table, flexSettings, propertyChange);
72
+ if (command) {
73
+ return [command];
74
+ } else {
75
+ return [];
76
+ }
77
+ }
78
+ }
79
+ var __exports = {
80
+ __esModule: true
81
+ };
82
+ __exports.ENABLE_TABLE_FILTERING = ENABLE_TABLE_FILTERING;
83
+ __exports.EnableTableFilteringQuickAction = EnableTableFilteringQuickAction;
84
+ return __exports;
85
+ });
86
+ //# sourceMappingURL=lr-enable-table-filtering.js.map
@@ -0,0 +1,96 @@
1
+ import type FlexCommand from 'sap/ui/rta/command/FlexCommand';
2
+
3
+ import type {
4
+ NestedQuickActionDefinition,
5
+ QuickActionContext
6
+ } from '../../../cpe/quick-actions/quick-action-definition';
7
+ import type Table from 'sap/ui/mdc/Table';
8
+ import { TableQuickActionDefinitionBase } from '../table-quick-action-base';
9
+ import { getRelevantControlFromActivePage } from '../../../cpe/quick-actions/utils';
10
+ import { createManifestPropertyChange } from '../../../utils/fe-v4';
11
+ import { getUi5Version, isLowerThanMinimalUi5Version } from '../../../utils/version';
12
+ import { MDC_TABLE_TYPE } from '../control-types';
13
+
14
+ export const ENABLE_TABLE_FILTERING = 'enable-table-filtering';
15
+
16
+ type Personalization = {
17
+ sort: boolean;
18
+ column: boolean;
19
+ filter: boolean;
20
+ group: boolean;
21
+ aggregate: boolean;
22
+ };
23
+
24
+ /**
25
+ * Quick Action for enabling table filtering using table personalization settings.
26
+ */
27
+ export class EnableTableFilteringQuickAction
28
+ extends TableQuickActionDefinitionBase
29
+ implements NestedQuickActionDefinition
30
+ {
31
+ constructor(context: QuickActionContext) {
32
+ super(ENABLE_TABLE_FILTERING, [MDC_TABLE_TYPE], 'QUICK_ACTION_ENABLE_TABLE_FILTERING', context);
33
+ }
34
+ readonly forceRefreshAfterExecution = true;
35
+
36
+ async initialize(): Promise<void> {
37
+ const version = await getUi5Version();
38
+ if (isLowerThanMinimalUi5Version(version, { major: 1, minor: 131 })) {
39
+ this.isApplicable = false;
40
+ return;
41
+ }
42
+
43
+ const tooltipText = this.context.resourceBundle.getText('TABLE_FILTERING_CHANGE_HAS_ALREADY_BEEN_MADE');
44
+
45
+ for (const smartTable of getRelevantControlFromActivePage(this.context.controlIndex, this.context.view, [
46
+ MDC_TABLE_TYPE
47
+ ])) {
48
+ const personalizationData = (smartTable as Table).getP13nMode();
49
+ const value = this.context.changeService.getConfigurationPropertyValue(
50
+ smartTable.getId(),
51
+ 'personalization'
52
+ ) as Personalization;
53
+ const isFilterEnabled = value?.filter === undefined ? personalizationData.includes('Filter') : value.filter;
54
+ const path = this.children.length.toString();
55
+ this.children.push({
56
+ path,
57
+ label: `'${(smartTable as Table).getHeader()}' table`,
58
+ enabled: !isFilterEnabled,
59
+ tooltip: isFilterEnabled ? tooltipText : undefined,
60
+ children: []
61
+ });
62
+ this.tableMap[path] = {
63
+ table: smartTable,
64
+ tableUpdateEventAttachedOnce: false
65
+ };
66
+ }
67
+
68
+ if (this.children.length > 0) {
69
+ this.isApplicable = true;
70
+ }
71
+ }
72
+
73
+ async execute(path: string): Promise<FlexCommand[]> {
74
+ const { flexSettings } = this.context;
75
+ const { table } = this.tableMap[path];
76
+
77
+ if (!table) {
78
+ return [];
79
+ }
80
+ const propertyChange = {
81
+ personalization: {
82
+ sort: true,
83
+ column: true,
84
+ filter: true,
85
+ group: true,
86
+ aggregate: true
87
+ }
88
+ };
89
+ const command = await createManifestPropertyChange(table, flexSettings, propertyChange);
90
+ if (command) {
91
+ return [command];
92
+ } else {
93
+ return [];
94
+ }
95
+ }
96
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ sap.ui.define(["../../../cpe/quick-actions/utils", "../../../utils/core", "./utils", "../simple-quick-action-base"], function (_____cpe_quick_actions_utils, _____utils_core, ___utils, ___simple_quick_action_base) {
4
+ "use strict";
5
+
6
+ const pageHasControlId = _____cpe_quick_actions_utils["pageHasControlId"];
7
+ const getControlById = _____utils_core["getControlById"];
8
+ const executeToggleAction = ___utils["executeToggleAction"];
9
+ const SimpleQuickActionDefinitionBase = ___simple_quick_action_base["SimpleQuickActionDefinitionBase"];
10
+ const ENABLE_CLEAR_FILTER_BAR_TYPE = 'enable-clear-filter-bar';
11
+ const PROPERTY_NAME = 'showClearButton';
12
+ const PROPERTY_PATH = `controlConfiguration/@com.sap.vocabularies.UI.v1.SelectionFields/${PROPERTY_NAME}`;
13
+ const CONTROL_TYPE = 'sap.fe.macros.controls.FilterBar';
14
+
15
+ /**
16
+ * Quick Action for toggling the visibility of "clear filter bar" button in List Report page.
17
+ */
18
+ class ToggleClearFilterBarQuickAction extends SimpleQuickActionDefinitionBase {
19
+ constructor(context) {
20
+ super(ENABLE_CLEAR_FILTER_BAR_TYPE, [], '', context);
21
+ }
22
+ forceRefreshAfterExecution = true;
23
+ isClearButtonEnabled = false;
24
+ initialize() {
25
+ const controls = this.context.controlIndex[CONTROL_TYPE] ?? [];
26
+ for (const control of controls) {
27
+ const isActionApplicable = pageHasControlId(this.context.view, control.controlId);
28
+ const filterBar = getControlById(control.controlId);
29
+ if (isActionApplicable && filterBar) {
30
+ this.control = filterBar;
31
+ const value = this.context.changeService.getConfigurationPropertyValue(control.controlId, PROPERTY_NAME);
32
+ this.isClearButtonEnabled = value === undefined ? filterBar.getShowClearButton() : value;
33
+ }
34
+ }
35
+ return Promise.resolve();
36
+ }
37
+ get textKey() {
38
+ return this.isClearButtonEnabled ? 'V4_QUICK_ACTION_LR_DISABLE_CLEAR_FILTER_BAR' : 'V4_QUICK_ACTION_LR_ENABLE_CLEAR_FILTER_BAR';
39
+ }
40
+ async execute() {
41
+ const command = await executeToggleAction(this.context, this.isClearButtonEnabled, CONTROL_TYPE, PROPERTY_PATH);
42
+ if (command.length) {
43
+ this.isClearButtonEnabled = !this.isClearButtonEnabled;
44
+ }
45
+ return command;
46
+ }
47
+ }
48
+ var __exports = {
49
+ __esModule: true
50
+ };
51
+ __exports.ENABLE_CLEAR_FILTER_BAR_TYPE = ENABLE_CLEAR_FILTER_BAR_TYPE;
52
+ __exports.ToggleClearFilterBarQuickAction = ToggleClearFilterBarQuickAction;
53
+ return __exports;
54
+ });
55
+ //# sourceMappingURL=lr-toggle-clear-filter-bar.js.map
@@ -0,0 +1,61 @@
1
+ import type FlexCommand from 'sap/ui/rta/command/FlexCommand';
2
+ import type FilterBar from 'sap/ui/mdc/FilterBar';
3
+
4
+ import type {
5
+ QuickActionContext,
6
+ SimpleQuickActionDefinition
7
+ } from '../../../cpe/quick-actions/quick-action-definition';
8
+ import { pageHasControlId } from '../../../cpe/quick-actions/utils';
9
+ import { getControlById } from '../../../utils/core';
10
+ import { executeToggleAction } from './utils';
11
+ import { SimpleQuickActionDefinitionBase } from '../simple-quick-action-base';
12
+
13
+ export const ENABLE_CLEAR_FILTER_BAR_TYPE = 'enable-clear-filter-bar';
14
+ const PROPERTY_NAME = 'showClearButton';
15
+ const PROPERTY_PATH = `controlConfiguration/@com.sap.vocabularies.UI.v1.SelectionFields/${PROPERTY_NAME}`;
16
+ const CONTROL_TYPE = 'sap.fe.macros.controls.FilterBar';
17
+
18
+ /**
19
+ * Quick Action for toggling the visibility of "clear filter bar" button in List Report page.
20
+ */
21
+ export class ToggleClearFilterBarQuickAction
22
+ extends SimpleQuickActionDefinitionBase
23
+ implements SimpleQuickActionDefinition
24
+ {
25
+ constructor(context: QuickActionContext) {
26
+ super(ENABLE_CLEAR_FILTER_BAR_TYPE, [], '', context);
27
+ }
28
+ readonly forceRefreshAfterExecution = true;
29
+ private isClearButtonEnabled = false;
30
+
31
+ initialize(): Promise<void> {
32
+ const controls = this.context.controlIndex[CONTROL_TYPE] ?? [];
33
+ for (const control of controls) {
34
+ const isActionApplicable = pageHasControlId(this.context.view, control.controlId);
35
+ const filterBar = getControlById<FilterBar>(control.controlId);
36
+ if (isActionApplicable && filterBar) {
37
+ this.control = filterBar;
38
+ const value = this.context.changeService.getConfigurationPropertyValue(
39
+ control.controlId,
40
+ PROPERTY_NAME
41
+ );
42
+ this.isClearButtonEnabled = value === undefined ? filterBar.getShowClearButton() : (value as boolean);
43
+ }
44
+ }
45
+ return Promise.resolve();
46
+ }
47
+
48
+ protected get textKey() {
49
+ return this.isClearButtonEnabled
50
+ ? 'V4_QUICK_ACTION_LR_DISABLE_CLEAR_FILTER_BAR'
51
+ : 'V4_QUICK_ACTION_LR_ENABLE_CLEAR_FILTER_BAR';
52
+ }
53
+
54
+ async execute(): Promise<FlexCommand[]> {
55
+ const command = await executeToggleAction(this.context, this.isClearButtonEnabled, CONTROL_TYPE, PROPERTY_PATH);
56
+ if (command.length) {
57
+ this.isClearButtonEnabled = !this.isClearButtonEnabled;
58
+ }
59
+ return command;
60
+ }
61
+ }
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ sap.ui.define(["../../../utils/fe-v4", "../simple-quick-action-base", "../common/op-add-custom-section", "../dialog-enablement-validator", "../../../cpe/quick-actions/utils", "sap/ui/dt/OverlayRegistry", "../../dialog-factory"], function (_____utils_fe_v4, ___simple_quick_action_base, ___common_op_add_custom_section, ___dialog_enablement_validator, _____cpe_quick_actions_utils, OverlayRegistry, ____dialog_factory) {
4
+ "use strict";
5
+
6
+ const getV4AppComponent = _____utils_fe_v4["getV4AppComponent"];
7
+ const SimpleQuickActionDefinitionBase = ___simple_quick_action_base["SimpleQuickActionDefinitionBase"];
8
+ const OP_ADD_CUSTOM_SECTION = ___common_op_add_custom_section["OP_ADD_CUSTOM_SECTION"];
9
+ const DIALOG_ENABLEMENT_VALIDATOR = ___dialog_enablement_validator["DIALOG_ENABLEMENT_VALIDATOR"];
10
+ const getRelevantControlFromActivePage = _____cpe_quick_actions_utils["getRelevantControlFromActivePage"];
11
+ const DialogFactory = ____dialog_factory["DialogFactory"];
12
+ const DialogNames = ____dialog_factory["DialogNames"];
13
+ const OP_PAGE_LAYOUT = ['sap.uxap.ObjectPageLayout'];
14
+ /**
15
+ * Quick Action for adding a custom page action.
16
+ */
17
+ class AddCustomSectionQuickAction extends SimpleQuickActionDefinitionBase {
18
+ get currentPageDescriptor() {
19
+ const appComponent = getV4AppComponent(this.context.view);
20
+ const projectId = this.context.flexSettings.projectId;
21
+ const objectPageLayout = getRelevantControlFromActivePage(this.context.controlIndex, this.context.view, OP_PAGE_LAYOUT)[0];
22
+ const sections = objectPageLayout.getSections();
23
+ let anchor = null;
24
+ const pageId = this.context.view.getViewData()?.stableId.split('::').pop();
25
+ if (sections.length > 0) {
26
+ // Use the first section as the anchor if available
27
+ anchor = (this.context.view.getLocalId(sections[sections.length - 1].getId()) ?? '').split('::').pop();
28
+ }
29
+ if (!pageId) {
30
+ throw new Error('pageId is not defined');
31
+ }
32
+ if (!projectId) {
33
+ throw new Error('app reference is not defined');
34
+ }
35
+ if (!appComponent) {
36
+ throw new Error('appComponent is not defined');
37
+ }
38
+ if (!anchor) {
39
+ throw new Error('appComponent is not defined');
40
+ }
41
+ return {
42
+ appType: 'fe-v4',
43
+ appComponent,
44
+ anchor,
45
+ pageId,
46
+ projectId
47
+ };
48
+ }
49
+ constructor(context) {
50
+ super(OP_ADD_CUSTOM_SECTION, OP_PAGE_LAYOUT, 'QUICK_ACTION_OP_ADD_CUSTOM_SECTION', context, [DIALOG_ENABLEMENT_VALIDATOR]);
51
+ }
52
+ async execute() {
53
+ const objectPageLayout = getRelevantControlFromActivePage(this.context.controlIndex, this.context.view, OP_PAGE_LAYOUT)[0];
54
+ const overlay = OverlayRegistry.getOverlay(objectPageLayout) || [];
55
+ await DialogFactory.createDialog(overlay, this.context.rta, DialogNames.ADD_CUSTOM_FRAGMENT, undefined, {
56
+ propertyPath: 'content/body/sections/',
57
+ title: 'QUICK_ACTION_OP_ADD_CUSTOM_SECTION',
58
+ appDescriptor: this.currentPageDescriptor,
59
+ type: 'section'
60
+ }, {
61
+ actionName: this.type,
62
+ telemetryEventIdentifier: this.getTelemetryIdentifier()
63
+ });
64
+ return [];
65
+ }
66
+ }
67
+ var __exports = {
68
+ __esModule: true
69
+ };
70
+ __exports.AddCustomSectionQuickAction = AddCustomSectionQuickAction;
71
+ return __exports;
72
+ });
73
+ //# sourceMappingURL=op-add-custom-section.js.map
@@ -0,0 +1,91 @@
1
+ import { getV4AppComponent } from '../../../utils/fe-v4';
2
+ import { PageDescriptorV4 } from '../../controllers/types';
3
+ import { SimpleQuickActionDefinitionBase } from '../simple-quick-action-base';
4
+ import { QuickActionContext, SimpleQuickActionDefinition } from '../../../cpe/quick-actions/quick-action-definition';
5
+ import { OP_ADD_CUSTOM_SECTION } from '../common/op-add-custom-section';
6
+ import { DIALOG_ENABLEMENT_VALIDATOR } from '../dialog-enablement-validator';
7
+ import FlexCommand from 'sap/ui/rta/command/FlexCommand';
8
+ import { getRelevantControlFromActivePage } from '../../../cpe/quick-actions/utils';
9
+ import ObjectPageLayout from 'sap/uxap/ObjectPageLayout';
10
+ import OverlayRegistry from 'sap/ui/dt/OverlayRegistry';
11
+ import { DialogFactory, DialogNames } from '../../dialog-factory';
12
+
13
+ const OP_PAGE_LAYOUT = ['sap.uxap.ObjectPageLayout'];
14
+
15
+ interface ViewDataType {
16
+ stableId: string;
17
+ }
18
+ /**
19
+ * Quick Action for adding a custom page action.
20
+ */
21
+ export class AddCustomSectionQuickAction
22
+ extends SimpleQuickActionDefinitionBase
23
+ implements SimpleQuickActionDefinition
24
+ {
25
+ protected get currentPageDescriptor(): PageDescriptorV4 {
26
+ const appComponent = getV4AppComponent(this.context.view);
27
+ const projectId = this.context.flexSettings.projectId;
28
+ const objectPageLayout = getRelevantControlFromActivePage(
29
+ this.context.controlIndex,
30
+ this.context.view,
31
+ OP_PAGE_LAYOUT
32
+ )[0] as ObjectPageLayout;
33
+ const sections = objectPageLayout.getSections();
34
+ let anchor: string | null = null;
35
+ const pageId = (this.context.view.getViewData() as ViewDataType)?.stableId.split('::').pop() as string;
36
+ if (sections.length > 0) {
37
+ // Use the first section as the anchor if available
38
+ anchor = (this.context.view.getLocalId(sections[sections.length - 1].getId()) ?? '')
39
+ .split('::')
40
+ .pop() as string;
41
+ }
42
+ if (!pageId) {
43
+ throw new Error('pageId is not defined');
44
+ }
45
+ if (!projectId) {
46
+ throw new Error('app reference is not defined');
47
+ }
48
+ if (!appComponent) {
49
+ throw new Error('appComponent is not defined');
50
+ }
51
+ if (!anchor) {
52
+ throw new Error('appComponent is not defined');
53
+ }
54
+ return {
55
+ appType: 'fe-v4',
56
+ appComponent,
57
+ anchor,
58
+ pageId,
59
+ projectId
60
+ };
61
+ }
62
+ constructor(context: QuickActionContext) {
63
+ super(OP_ADD_CUSTOM_SECTION, OP_PAGE_LAYOUT, 'QUICK_ACTION_OP_ADD_CUSTOM_SECTION', context, [
64
+ DIALOG_ENABLEMENT_VALIDATOR
65
+ ]);
66
+ }
67
+
68
+ async execute(): Promise<FlexCommand[]> {
69
+ const objectPageLayout = getRelevantControlFromActivePage(
70
+ this.context.controlIndex,
71
+ this.context.view,
72
+ OP_PAGE_LAYOUT
73
+ )[0] as ObjectPageLayout;
74
+
75
+ const overlay = OverlayRegistry.getOverlay(objectPageLayout) || [];
76
+ await DialogFactory.createDialog(
77
+ overlay,
78
+ this.context.rta,
79
+ DialogNames.ADD_CUSTOM_FRAGMENT,
80
+ undefined,
81
+ {
82
+ propertyPath: 'content/body/sections/',
83
+ title: 'QUICK_ACTION_OP_ADD_CUSTOM_SECTION',
84
+ appDescriptor: this.currentPageDescriptor,
85
+ type: 'section'
86
+ },
87
+ { actionName: this.type, telemetryEventIdentifier: this.getTelemetryIdentifier() }
88
+ );
89
+ return [];
90
+ }
91
+ }