@sap/ux-ui5-tooling 1.20.4 → 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/adp-tooling/templates/cf/_gitignore +6 -0
  3. package/dist/adp-tooling/templates/cf/approuter/package.json +13 -0
  4. package/dist/adp-tooling/templates/cf/approuter/xs-app.json +15 -0
  5. package/dist/adp-tooling/templates/cf/i18n/i18n.properties +3 -0
  6. package/dist/adp-tooling/templates/cf/package.json +35 -0
  7. package/dist/adp-tooling/templates/cf/ui5.yaml +5 -0
  8. package/dist/adp-tooling/templates/cf/xs-security.json +7 -0
  9. package/dist/adp-tooling/templates/changes/annotation.xml +18 -0
  10. package/dist/adp-tooling/templates/project/gitignore.tmpl +5 -0
  11. package/dist/adp-tooling/templates/project/package.json +31 -0
  12. package/dist/adp-tooling/templates/project/ui5.yaml +6 -0
  13. package/dist/adp-tooling/templates/project/webapp/i18n/i18n.properties +6 -0
  14. package/dist/adp-tooling/templates/project/webapp/manifest.appdescr_variant +10 -0
  15. package/dist/adp-tooling/templates/rta/common/analytical-custom-column.xml +25 -0
  16. package/dist/adp-tooling/templates/rta/common/custom-action.xml +8 -0
  17. package/dist/adp-tooling/templates/rta/common/grid-tree-custom-column.xml +22 -0
  18. package/dist/adp-tooling/templates/rta/common/header-field.xml +13 -0
  19. package/dist/adp-tooling/templates/rta/common/op-custom-section.xml +20 -0
  20. package/dist/adp-tooling/templates/rta/common/v4-table-action.xml +8 -0
  21. package/dist/adp-tooling/templates/rta/controller.ejs +80 -0
  22. package/dist/adp-tooling/templates/rta/fragment.xml +7 -0
  23. package/dist/adp-tooling/templates/rta/ts-controller.ejs +18 -0
  24. package/dist/adp-tooling/templates/rta/v2/m-table-custom-column-cell.xml +7 -0
  25. package/dist/adp-tooling/templates/rta/v2/m-table-custom-column.xml +18 -0
  26. package/dist/adp-tooling/templates/rta/v4/custom-section.xml +12 -0
  27. package/dist/adp-tooling/templates/rta/v4/mdc-custom-column-config.xml +6 -0
  28. package/dist/adp-tooling/templates/rta/v4/mdc-custom-column.xml +11 -0
  29. package/dist/adp-tooling/templates/typescript/tsconfig.json +19 -0
  30. package/dist/cli/index.js +15811 -9929
  31. package/dist/control-property-editor/app.css +2 -0
  32. package/dist/control-property-editor/app.js +175 -0
  33. package/dist/livereload-js/livereload.js +3795 -0
  34. package/dist/middlewares/fiori-tools-appreload.js +43486 -41472
  35. package/dist/middlewares/fiori-tools-preview.js +56962 -3066
  36. package/dist/middlewares/fiori-tools-proxy.js +55281 -32282
  37. package/dist/middlewares/fiori-tools-servestatic.js +31629 -29
  38. package/dist/preview-middleware/dist/client/adp/add-fragment.js +48 -0
  39. package/dist/preview-middleware/dist/client/adp/add-fragment.ts +51 -0
  40. package/dist/preview-middleware/dist/client/adp/api-handler.js +162 -0
  41. package/dist/preview-middleware/dist/client/adp/api-handler.ts +188 -0
  42. package/dist/preview-middleware/dist/client/adp/command-executor.js +100 -0
  43. package/dist/preview-middleware/dist/client/adp/command-executor.ts +105 -0
  44. package/dist/preview-middleware/dist/client/adp/control-utils.js +46 -0
  45. package/dist/preview-middleware/dist/client/adp/control-utils.ts +48 -0
  46. package/dist/preview-middleware/dist/client/adp/controllers/AddActionFragment.controller.js +198 -0
  47. package/dist/preview-middleware/dist/client/adp/controllers/AddActionFragment.controller.ts +232 -0
  48. package/dist/preview-middleware/dist/client/adp/controllers/AddCustomFragment.controller.js +223 -0
  49. package/dist/preview-middleware/dist/client/adp/controllers/AddCustomFragment.controller.ts +257 -0
  50. package/dist/preview-middleware/dist/client/adp/controllers/AddFragment.controller.js +195 -0
  51. package/dist/preview-middleware/dist/client/adp/controllers/AddFragment.controller.ts +264 -0
  52. package/dist/preview-middleware/dist/client/adp/controllers/AddSubpage.controller.js +146 -0
  53. package/dist/preview-middleware/dist/client/adp/controllers/AddSubpage.controller.ts +209 -0
  54. package/dist/preview-middleware/dist/client/adp/controllers/AddTableColumnFragments.controller.js +232 -0
  55. package/dist/preview-middleware/dist/client/adp/controllers/AddTableColumnFragments.controller.ts +306 -0
  56. package/dist/preview-middleware/dist/client/adp/controllers/BaseDialog.controller.js +187 -0
  57. package/dist/preview-middleware/dist/client/adp/controllers/BaseDialog.controller.ts +254 -0
  58. package/dist/preview-middleware/dist/client/adp/controllers/ControllerExtension.controller.js +330 -0
  59. package/dist/preview-middleware/dist/client/adp/controllers/ControllerExtension.controller.ts +408 -0
  60. package/dist/preview-middleware/dist/client/adp/controllers/ExtensionPoint.controller.js +160 -0
  61. package/dist/preview-middleware/dist/client/adp/controllers/ExtensionPoint.controller.ts +195 -0
  62. package/dist/preview-middleware/dist/client/adp/controllers/FileExistsDialog.controller.js +68 -0
  63. package/dist/preview-middleware/dist/client/adp/controllers/FileExistsDialog.controller.ts +86 -0
  64. package/dist/preview-middleware/dist/client/adp/controllers/types.js +2 -0
  65. package/dist/preview-middleware/dist/client/adp/controllers/types.ts +10 -0
  66. package/dist/preview-middleware/dist/client/adp/dialog-factory.js +151 -0
  67. package/dist/preview-middleware/dist/client/adp/dialog-factory.ts +210 -0
  68. package/dist/preview-middleware/dist/client/adp/extend-controller.js +48 -0
  69. package/dist/preview-middleware/dist/client/adp/extend-controller.ts +49 -0
  70. package/dist/preview-middleware/dist/client/adp/extension-point.js +83 -0
  71. package/dist/preview-middleware/dist/client/adp/extension-point.ts +116 -0
  72. package/dist/preview-middleware/dist/client/adp/init-dialogs.js +142 -0
  73. package/dist/preview-middleware/dist/client/adp/init-dialogs.ts +178 -0
  74. package/dist/preview-middleware/dist/client/adp/init.js +102 -0
  75. package/dist/preview-middleware/dist/client/adp/init.ts +85 -0
  76. package/dist/preview-middleware/dist/client/adp/quick-actions/add-new-subpage-quick-action-base.js +97 -0
  77. package/dist/preview-middleware/dist/client/adp/quick-actions/add-new-subpage-quick-action-base.ts +140 -0
  78. package/dist/preview-middleware/dist/client/adp/quick-actions/common/add-controller-to-page.js +74 -0
  79. package/dist/preview-middleware/dist/client/adp/quick-actions/common/add-controller-to-page.ts +92 -0
  80. package/dist/preview-middleware/dist/client/adp/quick-actions/common/add-new-annotation-file.js +171 -0
  81. package/dist/preview-middleware/dist/client/adp/quick-actions/common/add-new-annotation-file.ts +174 -0
  82. package/dist/preview-middleware/dist/client/adp/quick-actions/common/create-page-action.js +56 -0
  83. package/dist/preview-middleware/dist/client/adp/quick-actions/common/create-page-action.ts +56 -0
  84. package/dist/preview-middleware/dist/client/adp/quick-actions/common/op-add-custom-section.js +41 -0
  85. package/dist/preview-middleware/dist/client/adp/quick-actions/common/op-add-custom-section.ts +51 -0
  86. package/dist/preview-middleware/dist/client/adp/quick-actions/common/op-add-header-field.js +69 -0
  87. package/dist/preview-middleware/dist/client/adp/quick-actions/common/op-add-header-field.ts +81 -0
  88. package/dist/preview-middleware/dist/client/adp/quick-actions/common/utils.js +20 -0
  89. package/dist/preview-middleware/dist/client/adp/quick-actions/common/utils.ts +7 -0
  90. package/dist/preview-middleware/dist/client/adp/quick-actions/control-types.js +25 -0
  91. package/dist/preview-middleware/dist/client/adp/quick-actions/control-types.ts +7 -0
  92. package/dist/preview-middleware/dist/client/adp/quick-actions/dialog-enablement-validator.js +26 -0
  93. package/dist/preview-middleware/dist/client/adp/quick-actions/dialog-enablement-validator.ts +18 -0
  94. package/dist/preview-middleware/dist/client/adp/quick-actions/enablement-validator.js +2 -0
  95. package/dist/preview-middleware/dist/client/adp/quick-actions/enablement-validator.ts +19 -0
  96. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/add-new-subpage.js +82 -0
  97. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/add-new-subpage.ts +87 -0
  98. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/change-table-actions.js +69 -0
  99. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/change-table-actions.ts +71 -0
  100. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/change-table-columns.js +103 -0
  101. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/change-table-columns.ts +105 -0
  102. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/create-table-action.js +111 -0
  103. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/create-table-action.ts +110 -0
  104. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/create-table-custom-column.js +108 -0
  105. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/create-table-custom-column.ts +141 -0
  106. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-semantic-date-range-filter-bar.js +80 -0
  107. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-semantic-date-range-filter-bar.ts +93 -0
  108. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-table-filtering.js +79 -0
  109. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-table-filtering.ts +102 -0
  110. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-variant-management.js +71 -0
  111. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-variant-management.ts +98 -0
  112. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-toggle-clear-filter-bar.js +61 -0
  113. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-toggle-clear-filter-bar.ts +77 -0
  114. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/op-enable-empty-row-mode.js +95 -0
  115. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/op-enable-empty-row-mode.ts +102 -0
  116. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/op-enable-variant-management.js +86 -0
  117. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/op-enable-variant-management.ts +116 -0
  118. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/registry.js +79 -0
  119. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/registry.ts +121 -0
  120. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/utils.js +138 -0
  121. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/utils.ts +134 -0
  122. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/add-new-subpage.js +140 -0
  123. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/add-new-subpage.ts +181 -0
  124. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/change-table-actions.js +81 -0
  125. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/change-table-actions.ts +81 -0
  126. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/change-table-columns.js +90 -0
  127. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/change-table-columns.ts +97 -0
  128. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-page-action.js +81 -0
  129. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-page-action.ts +98 -0
  130. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-table-action-config-change.js +129 -0
  131. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-table-action-config-change.ts +149 -0
  132. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-table-custom-column-config-change.js +142 -0
  133. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-table-custom-column-config-change.ts +178 -0
  134. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/enable-variant-management.js +83 -0
  135. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/enable-variant-management.ts +96 -0
  136. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-enable-semantic-date-range-filter-bar.js +58 -0
  137. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-enable-semantic-date-range-filter-bar.ts +70 -0
  138. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-enable-table-filtering.js +86 -0
  139. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-enable-table-filtering.ts +96 -0
  140. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-toggle-clear-filter-bar.js +55 -0
  141. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-toggle-clear-filter-bar.ts +61 -0
  142. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/op-add-custom-section.js +73 -0
  143. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/op-add-custom-section.ts +91 -0
  144. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/op-enable-empty-row-mode.js +91 -0
  145. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/op-enable-empty-row-mode.ts +88 -0
  146. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/registry.js +62 -0
  147. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/registry.ts +86 -0
  148. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/utils.js +158 -0
  149. package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/utils.ts +175 -0
  150. package/dist/preview-middleware/dist/client/adp/quick-actions/load.js +46 -0
  151. package/dist/preview-middleware/dist/client/adp/quick-actions/load.ts +23 -0
  152. package/dist/preview-middleware/dist/client/adp/quick-actions/quick-action-base.js +64 -0
  153. package/dist/preview-middleware/dist/client/adp/quick-actions/quick-action-base.ts +71 -0
  154. package/dist/preview-middleware/dist/client/adp/quick-actions/simple-quick-action-base.js +44 -0
  155. package/dist/preview-middleware/dist/client/adp/quick-actions/simple-quick-action-base.ts +51 -0
  156. package/dist/preview-middleware/dist/client/adp/quick-actions/supported-ui5versions.md +40 -0
  157. package/dist/preview-middleware/dist/client/adp/quick-actions/table-quick-action-base.js +372 -0
  158. package/dist/preview-middleware/dist/client/adp/quick-actions/table-quick-action-base.ts +433 -0
  159. package/dist/preview-middleware/dist/client/adp/sync-views-utils.js +123 -0
  160. package/dist/preview-middleware/dist/client/adp/sync-views-utils.ts +90 -0
  161. package/dist/preview-middleware/dist/client/adp/ui/AddAction.fragment.xml +49 -0
  162. package/dist/preview-middleware/dist/client/adp/ui/AddCustomFragment.fragment.xml +48 -0
  163. package/dist/preview-middleware/dist/client/adp/ui/AddFragment.fragment.xml +83 -0
  164. package/dist/preview-middleware/dist/client/adp/ui/AddSubpage.fragment.xml +73 -0
  165. package/dist/preview-middleware/dist/client/adp/ui/AddTableColumnFragments.fragment.xml +63 -0
  166. package/dist/preview-middleware/dist/client/adp/ui/ControllerExtension.fragment.xml +63 -0
  167. package/dist/preview-middleware/dist/client/adp/ui/ExtensionPoint.fragment.xml +61 -0
  168. package/dist/preview-middleware/dist/client/adp/ui/FileExistsDialog.fragment.xml +43 -0
  169. package/dist/preview-middleware/dist/client/adp/utils.js +199 -0
  170. package/dist/preview-middleware/dist/client/adp/utils.ts +200 -0
  171. package/dist/preview-middleware/dist/client/cpe/additional-change-info/add-xml-additional-info.js +85 -0
  172. package/dist/preview-middleware/dist/client/cpe/additional-change-info/add-xml-additional-info.ts +107 -0
  173. package/dist/preview-middleware/dist/client/cpe/changes/flex-change.js +66 -0
  174. package/dist/preview-middleware/dist/client/cpe/changes/flex-change.ts +66 -0
  175. package/dist/preview-middleware/dist/client/cpe/changes/generic-change.js +321 -0
  176. package/dist/preview-middleware/dist/client/cpe/changes/generic-change.ts +462 -0
  177. package/dist/preview-middleware/dist/client/cpe/changes/index.js +12 -0
  178. package/dist/preview-middleware/dist/client/cpe/changes/index.ts +1 -0
  179. package/dist/preview-middleware/dist/client/cpe/changes/service.js +527 -0
  180. package/dist/preview-middleware/dist/client/cpe/changes/service.ts +595 -0
  181. package/dist/preview-middleware/dist/client/cpe/changes/validator.js +41 -0
  182. package/dist/preview-middleware/dist/client/cpe/changes/validator.ts +35 -0
  183. package/dist/preview-middleware/dist/client/cpe/communication-service.js +44 -0
  184. package/dist/preview-middleware/dist/client/cpe/communication-service.ts +41 -0
  185. package/dist/preview-middleware/dist/client/cpe/connector-service.js +88 -0
  186. package/dist/preview-middleware/dist/client/cpe/connector-service.ts +74 -0
  187. package/dist/preview-middleware/dist/client/cpe/context-menu-service.js +90 -0
  188. package/dist/preview-middleware/dist/client/cpe/context-menu-service.ts +77 -0
  189. package/dist/preview-middleware/dist/client/cpe/control-data.js +366 -0
  190. package/dist/preview-middleware/dist/client/cpe/control-data.ts +400 -0
  191. package/dist/preview-middleware/dist/client/cpe/documentation.js +191 -0
  192. package/dist/preview-middleware/dist/client/cpe/documentation.ts +187 -0
  193. package/dist/preview-middleware/dist/client/cpe/feature-service.js +39 -0
  194. package/dist/preview-middleware/dist/client/cpe/feature-service.ts +25 -0
  195. package/dist/preview-middleware/dist/client/cpe/init.js +92 -0
  196. package/dist/preview-middleware/dist/client/cpe/init.ts +114 -0
  197. package/dist/preview-middleware/dist/client/cpe/logger.js +32 -0
  198. package/dist/preview-middleware/dist/client/cpe/logger.ts +24 -0
  199. package/dist/preview-middleware/dist/client/cpe/odata-health/odata-health-checker.js +126 -0
  200. package/dist/preview-middleware/dist/client/cpe/odata-health/odata-health-checker.ts +150 -0
  201. package/dist/preview-middleware/dist/client/cpe/odata-health/odata-health-status.js +63 -0
  202. package/dist/preview-middleware/dist/client/cpe/odata-health/odata-health-status.ts +52 -0
  203. package/dist/preview-middleware/dist/client/cpe/outline/editable.js +38 -0
  204. package/dist/preview-middleware/dist/client/cpe/outline/editable.ts +30 -0
  205. package/dist/preview-middleware/dist/client/cpe/outline/nodes.js +212 -0
  206. package/dist/preview-middleware/dist/client/cpe/outline/nodes.ts +236 -0
  207. package/dist/preview-middleware/dist/client/cpe/outline/service.js +62 -0
  208. package/dist/preview-middleware/dist/client/cpe/outline/service.ts +66 -0
  209. package/dist/preview-middleware/dist/client/cpe/quick-actions/quick-action-service.js +161 -0
  210. package/dist/preview-middleware/dist/client/cpe/quick-actions/quick-action-service.ts +184 -0
  211. package/dist/preview-middleware/dist/client/cpe/quick-actions/registry.js +145 -0
  212. package/dist/preview-middleware/dist/client/cpe/quick-actions/registry.ts +157 -0
  213. package/dist/preview-middleware/dist/client/cpe/quick-actions/utils.js +94 -0
  214. package/dist/preview-middleware/dist/client/cpe/quick-actions/utils.ts +113 -0
  215. package/dist/preview-middleware/dist/client/cpe/rta-service.js +94 -0
  216. package/dist/preview-middleware/dist/client/cpe/rta-service.ts +86 -0
  217. package/dist/preview-middleware/dist/client/cpe/selection.js +249 -0
  218. package/dist/preview-middleware/dist/client/cpe/selection.ts +267 -0
  219. package/dist/preview-middleware/dist/client/cpe/ui5-utils.js +35 -0
  220. package/dist/preview-middleware/dist/client/cpe/ui5-utils.ts +28 -0
  221. package/dist/preview-middleware/dist/client/cpe/utils.js +113 -0
  222. package/dist/preview-middleware/dist/client/cpe/utils.ts +162 -0
  223. package/dist/preview-middleware/dist/client/flp/WorkspaceConnector.js +96 -0
  224. package/dist/preview-middleware/dist/client/flp/WorkspaceConnector.ts +99 -0
  225. package/dist/preview-middleware/dist/client/flp/common.js +30 -0
  226. package/dist/preview-middleware/dist/client/flp/common.ts +28 -0
  227. package/dist/preview-middleware/dist/client/flp/enableFakeConnector.js +92 -0
  228. package/dist/preview-middleware/dist/client/flp/enableFakeConnector.ts +113 -0
  229. package/dist/preview-middleware/dist/client/flp/homepage/Component.js +16 -0
  230. package/dist/preview-middleware/dist/client/flp/homepage/Component.ts +10 -0
  231. package/dist/preview-middleware/dist/client/flp/homepage/controller/MyHome.controller.js +54 -0
  232. package/dist/preview-middleware/dist/client/flp/homepage/controller/MyHome.controller.ts +41 -0
  233. package/dist/preview-middleware/dist/client/flp/homepage/css/style.css +3 -0
  234. package/dist/preview-middleware/dist/client/flp/homepage/manifest.json +41 -0
  235. package/dist/preview-middleware/dist/client/flp/homepage/view/MyHome.view.xml +18 -0
  236. package/dist/preview-middleware/dist/client/flp/init.js +418 -0
  237. package/dist/preview-middleware/dist/client/flp/init.ts +448 -0
  238. package/dist/preview-middleware/dist/client/flp/initCdm.js +117 -0
  239. package/dist/preview-middleware/dist/client/flp/initCdm.ts +111 -0
  240. package/dist/preview-middleware/dist/client/flp/initConnectors.js +31 -0
  241. package/dist/preview-middleware/dist/client/flp/initConnectors.ts +20 -0
  242. package/dist/preview-middleware/dist/client/flp/initRta.js +180 -0
  243. package/dist/preview-middleware/dist/client/flp/initRta.ts +194 -0
  244. package/dist/preview-middleware/dist/client/i18n.js +56 -0
  245. package/dist/preview-middleware/dist/client/i18n.ts +49 -0
  246. package/dist/preview-middleware/dist/client/manifest.json +8 -0
  247. package/dist/preview-middleware/dist/client/messagebundle.properties +143 -0
  248. package/dist/preview-middleware/dist/client/thirdparty/@sap-ux-private/control-property-editor-common.js +486 -0
  249. package/dist/preview-middleware/dist/client/utils/additional-change-info.js +69 -0
  250. package/dist/preview-middleware/dist/client/utils/additional-change-info.ts +73 -0
  251. package/dist/preview-middleware/dist/client/utils/application.js +34 -0
  252. package/dist/preview-middleware/dist/client/utils/application.ts +27 -0
  253. package/dist/preview-middleware/dist/client/utils/core.js +144 -0
  254. package/dist/preview-middleware/dist/client/utils/core.ts +145 -0
  255. package/dist/preview-middleware/dist/client/utils/error.js +28 -0
  256. package/dist/preview-middleware/dist/client/utils/error.ts +18 -0
  257. package/dist/preview-middleware/dist/client/utils/fe-v2.js +58 -0
  258. package/dist/preview-middleware/dist/client/utils/fe-v2.ts +61 -0
  259. package/dist/preview-middleware/dist/client/utils/fe-v4.js +168 -0
  260. package/dist/preview-middleware/dist/client/utils/fe-v4.ts +186 -0
  261. package/dist/preview-middleware/dist/client/utils/info-center-message.js +60 -0
  262. package/dist/preview-middleware/dist/client/utils/info-center-message.ts +60 -0
  263. package/dist/preview-middleware/dist/client/utils/version.js +126 -0
  264. package/dist/preview-middleware/dist/client/utils/version.ts +138 -0
  265. package/dist/preview-middleware/templates/flp/cdm.base.json +47 -0
  266. package/dist/preview-middleware/templates/flp/cdm.ejs +72 -0
  267. package/dist/preview-middleware/templates/flp/editor.ejs +28 -0
  268. package/dist/preview-middleware/templates/flp/sandbox.ejs +88 -0
  269. package/dist/preview-middleware/templates/flp/sandbox2.ejs +86 -0
  270. package/dist/preview-middleware/templates/test/qunit.ejs +26 -0
  271. package/dist/preview-middleware/templates/test/qunit.js +29 -0
  272. package/dist/preview-middleware/templates/test/testsuite.qunit.ejs +10 -0
  273. package/dist/preview-middleware/templates/test/testsuite.qunit.js +8 -0
  274. package/dist/tasks/cf-deploy/index.js +1780 -1464
  275. package/dist/tasks/deploy/index.js +14857 -9062
  276. package/package.json +31 -34
  277. package/prebuilds/keyring.darwin-arm64.node +0 -0
  278. package/prebuilds/keyring.darwin-x64.node +0 -0
  279. package/prebuilds/keyring.linux-arm-gnueabihf.node +0 -0
  280. package/prebuilds/keyring.linux-arm64-gnu.node +0 -0
  281. package/prebuilds/keyring.linux-arm64-musl.node +0 -0
  282. package/prebuilds/keyring.linux-ia32-gnu.node +0 -0
  283. package/prebuilds/keyring.linux-x64-gnu.node +0 -0
  284. package/prebuilds/keyring.linux-x64-musl.node +0 -0
  285. package/prebuilds/keyring.win32-arm64-msvc.node +0 -0
  286. package/prebuilds/keyring.win32-ia32-msvc.node +0 -0
  287. package/prebuilds/keyring.win32-x64-msvc.node +0 -0
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+
3
+ sap.ui.define(["sap/ui/core/library", "sap/ui/core/mvc/Controller", "../utils", "../../utils/core", "../control-utils", "sap/ui/dt/OverlayRegistry", "open/ux/preview/client/thirdparty/@sap-ux-private/control-property-editor-common", "sap/base/Log"], function (sap_ui_core_library, Controller, ___utils, ____utils_core, __ControlUtils, OverlayRegistry, ___sap_ux_private_control_property_editor_common, Log) {
4
+ "use strict";
5
+
6
+ function _interopRequireDefault(obj) {
7
+ return obj && obj.__esModule && typeof obj.default !== "undefined" ? obj.default : obj;
8
+ }
9
+ const ValueState = sap_ui_core_library["ValueState"];
10
+ const checkForExistingChange = ___utils["checkForExistingChange"];
11
+ const getControlById = ____utils_core["getControlById"];
12
+ const ControlUtils = _interopRequireDefault(__ControlUtils);
13
+ const reportTelemetry = ___sap_ux_private_control_property_editor_common["reportTelemetry"];
14
+ /**
15
+ * @namespace open.ux.preview.client.adp.controllers
16
+ */
17
+ const BaseDialog = Controller.extend("open.ux.preview.client.adp.controllers.BaseDialog", {
18
+ constructor: function _constructor(name, telemetryData) {
19
+ Controller.prototype.constructor.call(this, name);
20
+ this.telemetryData = telemetryData;
21
+ },
22
+ onCreateBtnPressHandler: async function _onCreateBtnPressHandler() {
23
+ try {
24
+ await reportTelemetry({
25
+ category: 'Dialog',
26
+ dialogName: this.dialog.getId(),
27
+ ...this.telemetryData
28
+ });
29
+ } catch (error) {
30
+ Log.error('Error in reporting Telemetry:', error);
31
+ }
32
+ },
33
+ getRuntimeControl: function _getRuntimeControl() {
34
+ if (!this._runtimeControl && this.overlays) {
35
+ const selectorId = this.overlays.getId();
36
+ const overlayControl = getControlById(selectorId);
37
+ if (!overlayControl) {
38
+ throw new Error('Cannot get overlay control');
39
+ }
40
+ this._runtimeControl = ControlUtils.getRuntimeControl(overlayControl);
41
+ }
42
+ return this._runtimeControl;
43
+ },
44
+ /**
45
+ * Method is used in add fragment dialog controllers to get current control metadata which are needed on the dialog
46
+ *
47
+ * @returns control metadata and target aggregations
48
+ */
49
+ getControlMetadata: function _getControlMetadata() {
50
+ const controlMetadata = this.getRuntimeControl().getMetadata();
51
+ if (!controlMetadata) {
52
+ throw new Error('Cannot get control metadata');
53
+ }
54
+ const allAggregations = Object.keys(controlMetadata.getAllAggregations());
55
+ const hiddenAggregations = ['customData', 'layoutData', 'dependents'];
56
+ const targetAggregation = allAggregations.filter(item => {
57
+ if (hiddenAggregations.indexOf(item) === -1) {
58
+ return item;
59
+ }
60
+ return false;
61
+ });
62
+ return {
63
+ controlMetadata,
64
+ targetAggregation
65
+ };
66
+ },
67
+ /**
68
+ * Fills indexArray from selected control children
69
+ *
70
+ * @param selectedControlChildren Array of numbers
71
+ * @returns Array of key value pairs
72
+ */
73
+ fillIndexArray: function _fillIndexArray(selectedControlChildren) {
74
+ let indexArray = [];
75
+ if (selectedControlChildren.length === 0) {
76
+ indexArray.push({
77
+ key: 0,
78
+ value: 0
79
+ });
80
+ } else {
81
+ indexArray = selectedControlChildren.map((elem, index) => {
82
+ return {
83
+ key: index + 1,
84
+ value: elem + 1
85
+ };
86
+ });
87
+ indexArray.unshift({
88
+ key: 0,
89
+ value: 0
90
+ });
91
+ indexArray.push({
92
+ key: selectedControlChildren.length + 1,
93
+ value: selectedControlChildren.length + 1
94
+ });
95
+ }
96
+ return indexArray;
97
+ },
98
+ /**
99
+ * Handles fragment name input change
100
+ *
101
+ * @param event Event
102
+ */
103
+ onFragmentNameInputChange: function _onFragmentNameInputChange(event) {
104
+ const input = event.getSource();
105
+ const beginBtn = this.dialog.getBeginButton();
106
+ const fragmentName = input.getValue();
107
+ const fragmentList = this.model.getProperty('/fragmentList');
108
+ const updateDialogState = (valueState, valueStateText = '') => {
109
+ input.setValueState(valueState).setValueStateText(valueStateText);
110
+ beginBtn.setEnabled(valueState === ValueState.Success);
111
+ };
112
+ if (fragmentName.length <= 0) {
113
+ updateDialogState(ValueState.None);
114
+ this.model.setProperty('/newFragmentName', null);
115
+ return;
116
+ }
117
+ const fileExists = fragmentList.some(f => f.fragmentName === `${fragmentName}.fragment.xml`);
118
+ if (fileExists) {
119
+ updateDialogState(ValueState.Error, 'Enter a different name. The fragment name that you entered already exists in your project.');
120
+ return;
121
+ }
122
+ const isValidName = /^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(fragmentName);
123
+ if (!isValidName) {
124
+ updateDialogState(ValueState.Error, 'The fragment name cannot contain white spaces or special characters.');
125
+ return;
126
+ }
127
+ if (fragmentName.length > 64) {
128
+ updateDialogState(ValueState.Error, 'A fragment file name cannot contain more than 64 characters.');
129
+ return;
130
+ }
131
+ const changeExists = checkForExistingChange(this.rta, 'addXMLAtExtensionPoint', 'content.fragmentPath', `${fragmentName}.fragment.xml`);
132
+ if (changeExists) {
133
+ updateDialogState(ValueState.Error, 'Enter a different name. The fragment name entered matches the name of an unsaved fragment.');
134
+ return;
135
+ }
136
+ // 'changes.fragments' is the current folder structure where fragment changes are written.
137
+ // following value is subjected to change if the folder structure changes
138
+ const template = `${this.rta.getFlexSettings()?.projectId}.changes.fragments.${fragmentName}`;
139
+ const v4CustomXMLChange = checkForExistingChange(this.rta, 'appdescr_fe_changePageConfiguration', 'content.entityPropertyChange.propertyValue.template', template);
140
+ if (v4CustomXMLChange) {
141
+ updateDialogState(ValueState.Error, 'Enter a different name. The fragment name entered matches the name of an unsaved fragment.');
142
+ return;
143
+ }
144
+ updateDialogState(ValueState.Success);
145
+ this.model.setProperty('/newFragmentName', fragmentName);
146
+ },
147
+ /**
148
+ * Sets custom function that fires when user presses escape key.
149
+ */
150
+ setEscapeHandler: function _setEscapeHandler() {
151
+ this.dialog.setEscapeHandler(({
152
+ resolve
153
+ }) => {
154
+ this.handleDialogClose();
155
+ resolve();
156
+ });
157
+ },
158
+ /**
159
+ * Handles the dialog closing and destruction of it.
160
+ */
161
+ handleDialogClose: function _handleDialogClose() {
162
+ this.dialog.close();
163
+ this.dialog.destroy();
164
+ },
165
+ /**
166
+ * Handles the index field whenever a specific aggregation is chosen
167
+ *
168
+ * @param specialIndexAggregation string | number
169
+ */
170
+ specialIndexHandling: function _specialIndexHandling(specialIndexAggregation) {
171
+ const overlay = OverlayRegistry.getOverlay(this.getRuntimeControl());
172
+ const aggregations = overlay.getDesignTimeMetadata().getData().aggregations;
173
+ if (specialIndexAggregation in aggregations && 'specialIndexHandling' in aggregations[specialIndexAggregation]) {
174
+ const controlType = this.getRuntimeControl().getMetadata().getName();
175
+ this.model.setProperty('/indexHandlingFlag', false);
176
+ this.model.setProperty('/specialIndexHandlingIcon', true);
177
+ this.model.setProperty('/iconTooltip', `Index is defined by special logic of ${controlType} and can't be set here`);
178
+ } else {
179
+ this.model.setProperty('/indexHandlingFlag', true);
180
+ this.model.setProperty('/specialIndexHandlingIcon', false);
181
+ this.model.setProperty('/specialIndexHandlingIconPressed', false);
182
+ }
183
+ }
184
+ });
185
+ return BaseDialog;
186
+ });
187
+ //# sourceMappingURL=BaseDialog.controller.js.map
@@ -0,0 +1,254 @@
1
+ import type Dialog from 'sap/m/Dialog';
2
+ import type Input from 'sap/m/Input';
3
+ import type Event from 'sap/ui/base/Event';
4
+ import type ManagedObject from 'sap/ui/base/ManagedObject';
5
+ import type UI5Element from 'sap/ui/core/Element';
6
+ import { ValueState } from 'sap/ui/core/library';
7
+ import Controller from 'sap/ui/core/mvc/Controller';
8
+ import JSONModel from 'sap/ui/model/json/JSONModel';
9
+ import RuntimeAuthoring from 'sap/ui/rta/RuntimeAuthoring';
10
+ import CommandExecutor from '../command-executor';
11
+ import { checkForExistingChange } from '../utils';
12
+ import type { Fragments } from '../api-handler';
13
+ import ManagedObjectMetadata from 'sap/ui/base/ManagedObjectMetadata';
14
+ import { getControlById } from '../../utils/core';
15
+ import ControlUtils from '../control-utils';
16
+ import type ElementOverlay from 'sap/ui/dt/ElementOverlay';
17
+ import OverlayRegistry from 'sap/ui/dt/OverlayRegistry';
18
+ import { QuickActionTelemetryData } from '../../cpe/quick-actions/quick-action-definition';
19
+ import { reportTelemetry } from '@sap-ux-private/control-property-editor-common';
20
+ import Log from 'sap/base/Log';
21
+
22
+ type BaseDialogModel = JSONModel & {
23
+ getProperty(sPath: '/fragmentList'): Fragments;
24
+ };
25
+
26
+ /**
27
+ * @namespace open.ux.preview.client.adp.controllers
28
+ */
29
+ export default abstract class BaseDialog<T extends BaseDialogModel = BaseDialogModel> extends Controller {
30
+ /**
31
+ * Runtime Authoring
32
+ */
33
+ protected rta: RuntimeAuthoring;
34
+ /**
35
+ * Control Overlays
36
+ */
37
+ protected overlays: UI5Element;
38
+ /**
39
+ * JSON Model that has the data
40
+ */
41
+ public model: T;
42
+ /**
43
+ * Runtime control managed object
44
+ */
45
+ private _runtimeControl: ManagedObject;
46
+ /**
47
+ * Dialog instance
48
+ */
49
+ public dialog: Dialog;
50
+ /**
51
+ * RTA Command Executor
52
+ */
53
+ protected commandExecutor: CommandExecutor;
54
+
55
+ abstract setup(dialog: Dialog): Promise<void>;
56
+
57
+ abstract onCreateBtnPress(event: Event): Promise<void> | void;
58
+
59
+ abstract buildDialogData(): Promise<void> | void;
60
+
61
+ constructor(name: string, private readonly telemetryData?: QuickActionTelemetryData | undefined) {
62
+ super(name);
63
+ }
64
+ public async onCreateBtnPressHandler(): Promise<void> {
65
+ try {
66
+ await reportTelemetry({ category: 'Dialog', dialogName: this.dialog.getId(), ...this.telemetryData });
67
+ } catch (error) {
68
+ Log.error('Error in reporting Telemetry:', error);
69
+ }
70
+ }
71
+
72
+ protected getRuntimeControl(): ManagedObject {
73
+ if (!this._runtimeControl && this.overlays) {
74
+ const selectorId = this.overlays.getId();
75
+ const overlayControl = getControlById(selectorId) as unknown as ElementOverlay;
76
+ if (!overlayControl) {
77
+ throw new Error('Cannot get overlay control');
78
+ }
79
+ this._runtimeControl = ControlUtils.getRuntimeControl(overlayControl);
80
+ }
81
+ return this._runtimeControl;
82
+ }
83
+
84
+ /**
85
+ * Method is used in add fragment dialog controllers to get current control metadata which are needed on the dialog
86
+ *
87
+ * @returns control metadata and target aggregations
88
+ */
89
+ protected getControlMetadata(): { controlMetadata: ManagedObjectMetadata; targetAggregation: string[] } {
90
+ const controlMetadata: ManagedObjectMetadata = this.getRuntimeControl().getMetadata();
91
+ if (!controlMetadata) {
92
+ throw new Error('Cannot get control metadata');
93
+ }
94
+
95
+ const allAggregations = Object.keys(controlMetadata.getAllAggregations());
96
+ const hiddenAggregations = ['customData', 'layoutData', 'dependents'];
97
+ const targetAggregation = allAggregations.filter((item) => {
98
+ if (hiddenAggregations.indexOf(item) === -1) {
99
+ return item;
100
+ }
101
+ return false;
102
+ });
103
+ return { controlMetadata, targetAggregation };
104
+ }
105
+
106
+ /**
107
+ * Fills indexArray from selected control children
108
+ *
109
+ * @param selectedControlChildren Array of numbers
110
+ * @returns Array of key value pairs
111
+ */
112
+ protected fillIndexArray(selectedControlChildren: number[]) {
113
+ let indexArray: { key: number; value: number }[] = [];
114
+ if (selectedControlChildren.length === 0) {
115
+ indexArray.push({ key: 0, value: 0 });
116
+ } else {
117
+ indexArray = selectedControlChildren.map((elem, index) => {
118
+ return { key: index + 1, value: elem + 1 };
119
+ });
120
+ indexArray.unshift({ key: 0, value: 0 });
121
+ indexArray.push({
122
+ key: selectedControlChildren.length + 1,
123
+ value: selectedControlChildren.length + 1
124
+ });
125
+ }
126
+ return indexArray;
127
+ }
128
+
129
+ /**
130
+ * Handles fragment name input change
131
+ *
132
+ * @param event Event
133
+ */
134
+ onFragmentNameInputChange(event: Event): void {
135
+ const input = event.getSource<Input>();
136
+ const beginBtn = this.dialog.getBeginButton();
137
+
138
+ const fragmentName: string = input.getValue();
139
+ const fragmentList: Fragments = this.model.getProperty('/fragmentList');
140
+
141
+ const updateDialogState = (valueState: ValueState, valueStateText = '') => {
142
+ input.setValueState(valueState).setValueStateText(valueStateText);
143
+ beginBtn.setEnabled(valueState === ValueState.Success);
144
+ };
145
+
146
+ if (fragmentName.length <= 0) {
147
+ updateDialogState(ValueState.None);
148
+ this.model.setProperty('/newFragmentName', null);
149
+ return;
150
+ }
151
+
152
+ const fileExists = fragmentList.some((f) => f.fragmentName === `${fragmentName}.fragment.xml`);
153
+
154
+ if (fileExists) {
155
+ updateDialogState(
156
+ ValueState.Error,
157
+ 'Enter a different name. The fragment name that you entered already exists in your project.'
158
+ );
159
+ return;
160
+ }
161
+
162
+ const isValidName = /^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(fragmentName);
163
+
164
+ if (!isValidName) {
165
+ updateDialogState(ValueState.Error, 'The fragment name cannot contain white spaces or special characters.');
166
+ return;
167
+ }
168
+
169
+ if (fragmentName.length > 64) {
170
+ updateDialogState(ValueState.Error, 'A fragment file name cannot contain more than 64 characters.');
171
+ return;
172
+ }
173
+
174
+ const changeExists = checkForExistingChange(
175
+ this.rta,
176
+ 'addXMLAtExtensionPoint',
177
+ 'content.fragmentPath',
178
+ `${fragmentName}.fragment.xml`
179
+ );
180
+
181
+ if (changeExists) {
182
+ updateDialogState(
183
+ ValueState.Error,
184
+ 'Enter a different name. The fragment name entered matches the name of an unsaved fragment.'
185
+ );
186
+ return;
187
+ }
188
+ // 'changes.fragments' is the current folder structure where fragment changes are written.
189
+ // following value is subjected to change if the folder structure changes
190
+ const template = `${this.rta.getFlexSettings()?.projectId}.changes.fragments.${fragmentName}`;
191
+ const v4CustomXMLChange = checkForExistingChange(
192
+ this.rta,
193
+ 'appdescr_fe_changePageConfiguration',
194
+ 'content.entityPropertyChange.propertyValue.template',
195
+ template
196
+ );
197
+
198
+ if (v4CustomXMLChange) {
199
+ updateDialogState(
200
+ ValueState.Error,
201
+ 'Enter a different name. The fragment name entered matches the name of an unsaved fragment.'
202
+ );
203
+ return;
204
+ }
205
+
206
+ updateDialogState(ValueState.Success);
207
+ this.model.setProperty('/newFragmentName', fragmentName);
208
+ }
209
+
210
+ /**
211
+ * Sets custom function that fires when user presses escape key.
212
+ */
213
+ setEscapeHandler() {
214
+ this.dialog.setEscapeHandler(({ resolve }) => {
215
+ this.handleDialogClose();
216
+ resolve();
217
+ });
218
+ }
219
+
220
+ /**
221
+ * Handles the dialog closing and destruction of it.
222
+ */
223
+ handleDialogClose() {
224
+ this.dialog.close();
225
+ this.dialog.destroy();
226
+ }
227
+
228
+ /**
229
+ * Handles the index field whenever a specific aggregation is chosen
230
+ *
231
+ * @param specialIndexAggregation string | number
232
+ */
233
+ protected specialIndexHandling(specialIndexAggregation: string | number): void {
234
+ const overlay = OverlayRegistry.getOverlay(this.getRuntimeControl() as UI5Element);
235
+ const aggregations = overlay.getDesignTimeMetadata().getData().aggregations;
236
+
237
+ if (
238
+ specialIndexAggregation in aggregations &&
239
+ 'specialIndexHandling' in aggregations[specialIndexAggregation]
240
+ ) {
241
+ const controlType = this.getRuntimeControl().getMetadata().getName();
242
+ this.model.setProperty('/indexHandlingFlag', false);
243
+ this.model.setProperty('/specialIndexHandlingIcon', true);
244
+ this.model.setProperty(
245
+ '/iconTooltip',
246
+ `Index is defined by special logic of ${controlType} and can't be set here`
247
+ );
248
+ } else {
249
+ this.model.setProperty('/indexHandlingFlag', true);
250
+ this.model.setProperty('/specialIndexHandlingIcon', false);
251
+ this.model.setProperty('/specialIndexHandlingIconPressed', false);
252
+ }
253
+ }
254
+ }