@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,46 @@
1
+ "use strict";
2
+
3
+ sap.ui.define([], function () {
4
+ "use strict";
5
+
6
+ /**
7
+ * Handles calling control specific functions for retrieving control data
8
+ */
9
+ class ControlUtils {
10
+ /**
11
+ * Returns ManagedObject runtime control
12
+ *
13
+ * @param overlayControl Overlay
14
+ * @returns {ManagedObject} Managed Object instance
15
+ */
16
+ static getRuntimeControl(overlayControl) {
17
+ let runtimeControl;
18
+ if (overlayControl.getElementInstance) {
19
+ runtimeControl = overlayControl.getElementInstance();
20
+ } else {
21
+ runtimeControl = overlayControl.getElement();
22
+ }
23
+ return runtimeControl;
24
+ }
25
+
26
+ /**
27
+ * Returns control aggregation names in an array
28
+ *
29
+ * @param control Managed Object runtime control
30
+ * @param name Aggregation name
31
+ * @returns Array of control aggregations
32
+ */
33
+ static getControlAggregationByName(control, name) {
34
+ let result = [];
35
+ const aggregation = (control ? control.getMetadata().getAllAggregations() : {})[name];
36
+ if (aggregation) {
37
+ // This executes a _sGetter function that can vary from control to control (_sGetter can be: getContent, getItems, etc)
38
+ const names = aggregation._sGetter && control[aggregation._sGetter]() || [];
39
+ result = Array.isArray(names) ? names : [names];
40
+ }
41
+ return result;
42
+ }
43
+ }
44
+ return ControlUtils;
45
+ });
46
+ //# sourceMappingURL=control-utils.js.map
@@ -0,0 +1,48 @@
1
+ import type ElementOverlay from 'sap/ui/dt/ElementOverlay';
2
+ import type ManagedObject from 'sap/ui/base/ManagedObject';
3
+
4
+ /**
5
+ * Handles calling control specific functions for retrieving control data
6
+ */
7
+ export default class ControlUtils {
8
+ /**
9
+ * Returns ManagedObject runtime control
10
+ *
11
+ * @param overlayControl Overlay
12
+ * @returns {ManagedObject} Managed Object instance
13
+ */
14
+ public static getRuntimeControl(overlayControl: ElementOverlay): ManagedObject {
15
+ let runtimeControl;
16
+ if (overlayControl.getElementInstance) {
17
+ runtimeControl = overlayControl.getElementInstance();
18
+ } else {
19
+ runtimeControl = overlayControl.getElement();
20
+ }
21
+ return runtimeControl;
22
+ }
23
+
24
+ /**
25
+ * Returns control aggregation names in an array
26
+ *
27
+ * @param control Managed Object runtime control
28
+ * @param name Aggregation name
29
+ * @returns Array of control aggregations
30
+ */
31
+ public static getControlAggregationByName(control: ManagedObject, name: string): unknown[] {
32
+ let result: unknown[] = [];
33
+ const aggregation = (control ? control.getMetadata().getAllAggregations() : {})[name] as unknown as object & {
34
+ _sGetter: string;
35
+ };
36
+
37
+ if (aggregation) {
38
+ // This executes a _sGetter function that can vary from control to control (_sGetter can be: getContent, getItems, etc)
39
+ const names =
40
+ (aggregation._sGetter &&
41
+ (control as ManagedObject & { [key: string]: () => unknown })[aggregation._sGetter]()) ||
42
+ [];
43
+
44
+ result = Array.isArray(names) ? names : [names];
45
+ }
46
+ return result;
47
+ }
48
+ }
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+
3
+ sap.ui.define(["./BaseDialog.controller", "sap/ui/model/json/JSONModel", "../../i18n", "open/ux/preview/client/thirdparty/@sap-ux-private/control-property-editor-common", "../../utils/info-center-message", "../command-executor", "../../utils/error", "sap/ui/core/library"], function (__BaseDialog, JSONModel, ____i18n, ___sap_ux_private_control_property_editor_common, ____utils_info_center_message, __CommandExecutor, ____utils_error, sap_ui_core_library) {
4
+ "use strict";
5
+
6
+ function _interopRequireDefault(obj) {
7
+ return obj && obj.__esModule && typeof obj.default !== "undefined" ? obj.default : obj;
8
+ }
9
+ const BaseDialog = _interopRequireDefault(__BaseDialog);
10
+ const getResourceModel = ____i18n["getResourceModel"];
11
+ const getTextBundle = ____i18n["getTextBundle"];
12
+ const MessageBarType = ___sap_ux_private_control_property_editor_common["MessageBarType"];
13
+ const sendInfoCenterMessage = ____utils_info_center_message["sendInfoCenterMessage"];
14
+ const CommandExecutor = _interopRequireDefault(__CommandExecutor);
15
+ const getError = ____utils_error["getError"];
16
+ const ValueState = sap_ui_core_library["ValueState"];
17
+ /**
18
+ * Validates Action ID input.
19
+ *
20
+ * @param input control of action ID to validate
21
+ * @param resource text bundle for messages
22
+ * @param validateForDuplicateId custom validation function
23
+ * @return validation result
24
+ */
25
+ function validateActionId(input, resource, validateForDuplicateId) {
26
+ const actionId = input.getValue();
27
+ // Check if empty
28
+ if (!actionId || actionId.trim().length === 0) {
29
+ return {
30
+ isValid: false,
31
+ errorMessage: resource.getText('ACTION_ID_REQUIRED')
32
+ };
33
+ }
34
+ if (typeof validateForDuplicateId === 'function' && !validateForDuplicateId(actionId)) {
35
+ return {
36
+ isValid: false,
37
+ errorMessage: resource.getText('ACTION_WITH_GIVEN_ID_ALREADY_EXISTS', [actionId])
38
+ };
39
+ }
40
+
41
+ // Check starts and only allowed characters
42
+ if (!/(^([A-Za-z_][-A-Za-z0-9_.:]*)$)/.test(actionId)) {
43
+ return {
44
+ isValid: false,
45
+ errorMessage: resource.getText('ID_INVALID_FORMAT', ['Action'])
46
+ };
47
+ }
48
+ return {
49
+ isValid: true,
50
+ errorMessage: ''
51
+ };
52
+ }
53
+ const AddActionFragment = BaseDialog.extend("src.adp.controllers.AddActionFragment", {
54
+ constructor: function _constructor(name, overlays, rta, options, telemetryData) {
55
+ BaseDialog.prototype.constructor.call(this, name, telemetryData);
56
+ this.options = options;
57
+ this.rta = rta;
58
+ this.overlays = overlays;
59
+ this.model = new JSONModel({
60
+ title: options.title
61
+ });
62
+ this.commandExecutor = new CommandExecutor(this.rta);
63
+ },
64
+ /**
65
+ * Setups the Dialog and the JSON Model
66
+ *
67
+ * @param {Dialog} dialog - Dialog instance
68
+ */
69
+ setup: async function _setup(dialog) {
70
+ this.dialog = dialog;
71
+ this.setEscapeHandler();
72
+ this.bundle = await getTextBundle();
73
+ await this.buildDialogData();
74
+ const resourceModel = await getResourceModel('open.ux.preview.client');
75
+ this.dialog.setModel(resourceModel, 'i18n');
76
+ this.dialog.setModel(this.model);
77
+ this.dialog.open();
78
+ },
79
+ /**
80
+ * Handles create button press
81
+ *
82
+ * @param event Event
83
+ */
84
+ onCreateBtnPress: async function _onCreateBtnPress(event) {
85
+ const source = event.getSource();
86
+ source.setEnabled(false);
87
+ await BaseDialog.prototype.onCreateBtnPressHandler.call(this);
88
+ const actionId = this.model.getProperty('/actionId');
89
+ const buttonText = this.model.getProperty('/buttonText');
90
+ await this.createAppDescriptorChangeForV4(`${this.options.propertyPath}${actionId}`, buttonText);
91
+ this.handleDialogClose();
92
+ },
93
+ /**
94
+ * Builds data that is used in the dialog
95
+ */
96
+ buildDialogData: async function _buildDialogData() {
97
+ try {
98
+ let hasController = false;
99
+ if (this.options.controllerReference) {
100
+ this.model.setProperty('/handlerReference', this.options.controllerReference);
101
+ hasController = true;
102
+ }
103
+ this.model.setProperty('/hasController', hasController);
104
+ } catch (e) {
105
+ const error = getError(e);
106
+ await sendInfoCenterMessage({
107
+ title: {
108
+ key: 'ADP_GET_FRAGMENTS_FAILURE_TITLE'
109
+ },
110
+ description: error.message,
111
+ type: MessageBarType.error
112
+ });
113
+ throw error;
114
+ }
115
+ },
116
+ /**
117
+ * Checks input values for duplicates and updates confirmation button state based on input validation states
118
+ */
119
+ updateFormState: function _updateFormState() {
120
+ const form = this.dialog.getContent()[0];
121
+ const formContent = form.getContent();
122
+ const inputs = formContent.filter(item => item.isA('sap.m.Input'));
123
+ const beginBtn = this.dialog.getBeginButton();
124
+ // Exclude the last input (display-only) from validation
125
+ // Only validate inputs that are visible and editable
126
+ const validatableInputs = inputs.filter(input => input.getVisible() && input.getEditable());
127
+ beginBtn.setEnabled(validatableInputs.every(input => input.getValueState() === ValueState.Success));
128
+ },
129
+ /**
130
+ * Handles action id input change
131
+ *
132
+ * @param event Event
133
+ */
134
+ onActionIdInputChange: function _onActionIdInputChange(event) {
135
+ // update model value
136
+ const input = event.getSource();
137
+ let modelValue = input.getValue();
138
+ if (modelValue.length < 1) {
139
+ modelValue = null;
140
+ }
141
+ this.model.setProperty('/actionId', modelValue);
142
+ const result = validateActionId(input, this.bundle, this.options.validateActionId);
143
+ if (result.isValid) {
144
+ input.setValueState(ValueState.Success).setValueStateText('');
145
+ } else {
146
+ input.setValueState(ValueState.Error).setValueStateText(result.errorMessage);
147
+ }
148
+ this.updateFormState();
149
+ },
150
+ onButtonTextInputChange: function _onButtonTextInputChange(event) {
151
+ // update model value
152
+ const input = event.getSource();
153
+ let modelValue = input.getValue();
154
+ if (modelValue.length < 1) {
155
+ modelValue = null;
156
+ }
157
+ this.model.setProperty('/buttonText', modelValue);
158
+ if (modelValue && modelValue.length > 0) {
159
+ input.setValueState(ValueState.Success).setValueStateText('');
160
+ } else {
161
+ input.setValueState(ValueState.Error).setValueStateText(this.bundle.getText('BUTTON_TEXT_REQUIRED'));
162
+ }
163
+ this.updateFormState();
164
+ },
165
+ createAppDescriptorChangeForV4: async function _createAppDescriptorChangeForV(propertyPath, actionLabel) {
166
+ const flexSettings = this.rta.getFlexSettings();
167
+ const modifiedValue = {
168
+ reference: this.options.appDescriptor?.projectId,
169
+ appComponent: this.options.appDescriptor?.appComponent,
170
+ changeType: 'appdescr_fe_changePageConfiguration',
171
+ parameters: {
172
+ page: this.options.appDescriptor?.pageId,
173
+ entityPropertyChange: {
174
+ propertyPath: `${propertyPath}`,
175
+ // e.g. 'content/body/sections/test'
176
+ operation: 'UPSERT',
177
+ propertyValue: {
178
+ press: this.options.controllerReference,
179
+ visible: true,
180
+ enabled: true,
181
+ text: actionLabel,
182
+ ...(this.options.actionType === 'tableAction' ? {
183
+ requiresSelection: false
184
+ } : {}),
185
+ ...(this.options.position && {
186
+ position: this.options.position
187
+ })
188
+ }
189
+ }
190
+ }
191
+ };
192
+ const command = await this.commandExecutor.getCommand(this.getRuntimeControl(), 'appDescriptor', modifiedValue, flexSettings);
193
+ await this.commandExecutor.pushAndExecuteCommand(command);
194
+ }
195
+ });
196
+ return AddActionFragment;
197
+ });
198
+ //# sourceMappingURL=AddActionFragment.controller.js.map
@@ -0,0 +1,232 @@
1
+ import RuntimeAuthoring from 'sap/ui/rta/RuntimeAuthoring';
2
+ import { PageDescriptorV4 } from './types';
3
+ import UI5Element from 'sap/ui/core/Element';
4
+ import BaseDialog from './BaseDialog.controller';
5
+ import { QuickActionTelemetryData } from '../../cpe/quick-actions/quick-action-definition';
6
+ import JSONModel from 'sap/ui/model/json/JSONModel';
7
+ import Dialog from 'sap/m/Dialog';
8
+ import { getResourceModel, getTextBundle, TextBundle } from '../../i18n';
9
+ import { MessageBarType } from '@sap-ux-private/control-property-editor-common';
10
+ import Button from 'sap/m/Button';
11
+ import { sendInfoCenterMessage } from '../../utils/info-center-message';
12
+ import Input from 'sap/m/Input';
13
+ import CommandExecutor from '../command-executor';
14
+ import Event from 'sap/ui/base/Event';
15
+ import { getError } from '../../utils/error';
16
+ import { ValueState } from 'sap/ui/core/library';
17
+ import FlexCommand from 'sap/ui/rta/command/FlexCommand';
18
+ import SimpleForm from 'sap/ui/layout/form';
19
+ import Control from 'sap/ui/core/Control';
20
+
21
+ type AddActionFragmentsModel = JSONModel & {
22
+ getProperty(sPath: '/title'): string;
23
+ getProperty(sPath: '/buttonText'): string;
24
+ getProperty(sPath: '/actionId'): string;
25
+ getProperty(sPath: '/handlerReference'): string;
26
+ getProperty(sPath: '/hasController'): boolean;
27
+ };
28
+
29
+ export interface AddActionOptions {
30
+ name: string;
31
+ propertyPath: string;
32
+ actionType: 'pageAction' | 'tableAction';
33
+ title: string;
34
+ controllerReference: string;
35
+ appDescriptor?: PageDescriptorV4;
36
+ validateActionId?: (actionId: string) => boolean;
37
+ position?: {
38
+ placement: 'Before' | 'After';
39
+ anchor: string;
40
+ };
41
+ }
42
+
43
+ /**
44
+ * Validates Action ID input.
45
+ *
46
+ * @param input control of action ID to validate
47
+ * @param resource text bundle for messages
48
+ * @param validateForDuplicateId custom validation function
49
+ * @return validation result
50
+ */
51
+ function validateActionId(
52
+ input: Input,
53
+ resource: TextBundle,
54
+ validateForDuplicateId?: (actionId: string) => boolean
55
+ ): { isValid: boolean; errorMessage: string } {
56
+ const actionId = input.getValue();
57
+ // Check if empty
58
+ if (!actionId || actionId.trim().length === 0) {
59
+ return { isValid: false, errorMessage: resource.getText('ACTION_ID_REQUIRED') };
60
+ }
61
+
62
+ if (typeof validateForDuplicateId === 'function' && !validateForDuplicateId(actionId)) {
63
+ return { isValid: false, errorMessage: resource.getText('ACTION_WITH_GIVEN_ID_ALREADY_EXISTS', [actionId]) };
64
+ }
65
+
66
+ // Check starts and only allowed characters
67
+ if (!/(^([A-Za-z_][-A-Za-z0-9_.:]*)$)/.test(actionId)) {
68
+ return { isValid: false, errorMessage: resource.getText('ID_INVALID_FORMAT', ['Action']) };
69
+ }
70
+ return { isValid: true, errorMessage: '' };
71
+ }
72
+
73
+ export default class AddActionFragment extends BaseDialog<AddActionFragmentsModel> {
74
+ private bundle: TextBundle;
75
+ constructor(
76
+ name: string,
77
+ overlays: UI5Element,
78
+ rta: RuntimeAuthoring,
79
+ readonly options: AddActionOptions,
80
+ telemetryData?: QuickActionTelemetryData
81
+ ) {
82
+ super(name, telemetryData);
83
+ this.rta = rta;
84
+ this.overlays = overlays;
85
+ this.model = new JSONModel({
86
+ title: options.title
87
+ });
88
+ this.commandExecutor = new CommandExecutor(this.rta);
89
+ }
90
+
91
+ /**
92
+ * Setups the Dialog and the JSON Model
93
+ *
94
+ * @param {Dialog} dialog - Dialog instance
95
+ */
96
+ async setup(dialog: Dialog): Promise<void> {
97
+ this.dialog = dialog;
98
+
99
+ this.setEscapeHandler();
100
+ this.bundle = await getTextBundle();
101
+ await this.buildDialogData();
102
+ const resourceModel = await getResourceModel('open.ux.preview.client');
103
+
104
+ this.dialog.setModel(resourceModel, 'i18n');
105
+ this.dialog.setModel(this.model);
106
+
107
+ this.dialog.open();
108
+ }
109
+
110
+ /**
111
+ * Handles create button press
112
+ *
113
+ * @param event Event
114
+ */
115
+ async onCreateBtnPress(event: Event) {
116
+ const source = event.getSource<Button>();
117
+ source.setEnabled(false);
118
+ await super.onCreateBtnPressHandler();
119
+
120
+ const actionId = this.model.getProperty('/actionId');
121
+ const buttonText = this.model.getProperty('/buttonText');
122
+ await this.createAppDescriptorChangeForV4(`${this.options.propertyPath}${actionId}`, buttonText);
123
+ this.handleDialogClose();
124
+ }
125
+
126
+ /**
127
+ * Builds data that is used in the dialog
128
+ */
129
+ async buildDialogData(): Promise<void> {
130
+ try {
131
+ let hasController = false;
132
+ if (this.options.controllerReference) {
133
+ this.model.setProperty('/handlerReference', this.options.controllerReference);
134
+ hasController = true;
135
+ }
136
+ this.model.setProperty('/hasController', hasController);
137
+ } catch (e) {
138
+ const error = getError(e);
139
+ await sendInfoCenterMessage({
140
+ title: { key: 'ADP_GET_FRAGMENTS_FAILURE_TITLE' },
141
+ description: error.message,
142
+ type: MessageBarType.error
143
+ });
144
+ throw error;
145
+ }
146
+ }
147
+
148
+ /**
149
+ * Checks input values for duplicates and updates confirmation button state based on input validation states
150
+ */
151
+ private updateFormState(): void {
152
+ const form = this.dialog.getContent()[0] as unknown as SimpleForm<Control[]>;
153
+ const formContent = form.getContent();
154
+ const inputs = formContent.filter((item) => item.isA('sap.m.Input')) as Input[];
155
+
156
+ const beginBtn = this.dialog.getBeginButton();
157
+ // Exclude the last input (display-only) from validation
158
+ // Only validate inputs that are visible and editable
159
+ const validatableInputs = inputs.filter((input) => input.getVisible() && input.getEditable());
160
+ beginBtn.setEnabled(validatableInputs.every((input) => input.getValueState() === ValueState.Success));
161
+ }
162
+
163
+ /**
164
+ * Handles action id input change
165
+ *
166
+ * @param event Event
167
+ */
168
+ onActionIdInputChange(event: Event): void {
169
+ // update model value
170
+ const input = event.getSource<Input>();
171
+ let modelValue: string | null = input.getValue();
172
+ if (modelValue.length < 1) {
173
+ modelValue = null;
174
+ }
175
+ this.model.setProperty('/actionId', modelValue);
176
+ const result = validateActionId(input, this.bundle, this.options.validateActionId);
177
+ if (result.isValid) {
178
+ input.setValueState(ValueState.Success).setValueStateText('');
179
+ } else {
180
+ input.setValueState(ValueState.Error).setValueStateText(result.errorMessage);
181
+ }
182
+ this.updateFormState();
183
+ }
184
+
185
+ onButtonTextInputChange(event: Event): void {
186
+ // update model value
187
+ const input = event.getSource<Input>();
188
+ let modelValue: string | null = input.getValue();
189
+ if (modelValue.length < 1) {
190
+ modelValue = null;
191
+ }
192
+ this.model.setProperty('/buttonText', modelValue);
193
+ if (modelValue && modelValue.length > 0) {
194
+ input.setValueState(ValueState.Success).setValueStateText('');
195
+ } else {
196
+ input.setValueState(ValueState.Error).setValueStateText(this.bundle.getText('BUTTON_TEXT_REQUIRED'));
197
+ }
198
+ this.updateFormState();
199
+ }
200
+
201
+ private async createAppDescriptorChangeForV4(propertyPath: string, actionLabel: string) {
202
+ const flexSettings = this.rta.getFlexSettings();
203
+ const modifiedValue = {
204
+ reference: this.options.appDescriptor?.projectId,
205
+ appComponent: this.options.appDescriptor?.appComponent,
206
+ changeType: 'appdescr_fe_changePageConfiguration',
207
+ parameters: {
208
+ page: this.options.appDescriptor?.pageId,
209
+ entityPropertyChange: {
210
+ propertyPath: `${propertyPath}`, // e.g. 'content/body/sections/test'
211
+ operation: 'UPSERT',
212
+ propertyValue: {
213
+ press: this.options.controllerReference,
214
+ visible: true,
215
+ enabled: true,
216
+ text: actionLabel,
217
+ ...(this.options.actionType === 'tableAction' ? { requiresSelection: false } : {}),
218
+ ...(this.options.position && { position: this.options.position })
219
+ }
220
+ }
221
+ }
222
+ };
223
+ const command = await this.commandExecutor.getCommand<FlexCommand>(
224
+ this.getRuntimeControl(),
225
+ 'appDescriptor',
226
+ modifiedValue,
227
+ flexSettings
228
+ );
229
+
230
+ await this.commandExecutor.pushAndExecuteCommand(command);
231
+ }
232
+ }