@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,35 @@
1
+ "use strict";
2
+
3
+ sap.ui.define(["sap/ui/core/IconPool"], function (IconPool) {
4
+ "use strict";
5
+
6
+ /**
7
+ * Get ui5 icons.
8
+ *
9
+ * @returns IconDetails[]
10
+ */
11
+ function getIcons() {
12
+ return IconPool.getIconNames('undefined').map(icon => {
13
+ const iconInfo = IconPool.getIconInfo(icon);
14
+ return {
15
+ name: icon.toLowerCase(),
16
+ content: iconInfo.content,
17
+ fontFamily: iconInfo.fontFamily
18
+ };
19
+ }).sort((item1, item2) => {
20
+ if (item1.name < item2.name) {
21
+ return -1;
22
+ }
23
+ if (item1.name > item2.name) {
24
+ return 1;
25
+ }
26
+ return 0;
27
+ });
28
+ }
29
+ var __exports = {
30
+ __esModule: true
31
+ };
32
+ __exports.getIcons = getIcons;
33
+ return __exports;
34
+ });
35
+ //# sourceMappingURL=ui5-utils.js.map
@@ -0,0 +1,28 @@
1
+ import type { IconDetails } from '@sap-ux-private/control-property-editor-common';
2
+ import IconPool from 'sap/ui/core/IconPool';
3
+
4
+ /**
5
+ * Get ui5 icons.
6
+ *
7
+ * @returns IconDetails[]
8
+ */
9
+ export function getIcons(): IconDetails[] {
10
+ return IconPool.getIconNames('undefined')
11
+ .map((icon: string) => {
12
+ const iconInfo = IconPool.getIconInfo(icon) as IconDetails;
13
+ return {
14
+ name: icon.toLowerCase(),
15
+ content: iconInfo.content,
16
+ fontFamily: iconInfo.fontFamily
17
+ } as IconDetails;
18
+ })
19
+ .sort((item1: IconDetails, item2: IconDetails) => {
20
+ if (item1.name < item2.name) {
21
+ return -1;
22
+ }
23
+ if (item1.name > item2.name) {
24
+ return 1;
25
+ }
26
+ return 0;
27
+ });
28
+ }
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+
3
+ sap.ui.define(["sap/ui/core/mvc/XMLView", "sap/ui/core/UIComponent", "../utils/core", "sap/ui/dt/OverlayRegistry", "sap/ui/dt/OverlayUtil"], function (XMLView, UIComponent, ___utils_core, OverlayRegistry, OverlayUtil) {
4
+ "use strict";
5
+
6
+ const getComponent = ___utils_core["getComponent"];
7
+ /**
8
+ * Get runtime control.
9
+ *
10
+ * @param overlayControl - element overlay.
11
+ * @returns ManagedObject
12
+ */
13
+ function getRuntimeControl(overlayControl) {
14
+ let runtimeControl;
15
+ if (overlayControl.getElementInstance) {
16
+ runtimeControl = overlayControl.getElementInstance();
17
+ } else {
18
+ runtimeControl = overlayControl.getElement();
19
+ }
20
+ return runtimeControl;
21
+ }
22
+
23
+ /**
24
+ * Get library of a control name.
25
+ *
26
+ * @param controlName - name of the ui5 control eg: sap.m.Button.
27
+ * @returns Promise<string>
28
+ */
29
+ async function getLibrary(controlName) {
30
+ return new Promise(resolve => {
31
+ const controlPath = controlName.replace(/\./g, '/');
32
+ sap.ui.require([controlPath], control => {
33
+ const contMetadata = control.getMetadata();
34
+ // getLibraryName method does not exist on events
35
+ if (contMetadata?.getLibraryName) {
36
+ const contLibName = contMetadata.getLibraryName();
37
+ resolve(contLibName);
38
+ } else {
39
+ resolve(''); // return empty for events
40
+ }
41
+ });
42
+ });
43
+ }
44
+
45
+ /**
46
+ * Gets the root view of component for the provided ComponentContainer control.
47
+ *
48
+ * @param container ComponentContainer control.
49
+ * @returns XMLView which is the root control of the component if it exists.
50
+ */
51
+ function getRootControlFromComponentContainer(container) {
52
+ if (container) {
53
+ const componentId = container.getComponent();
54
+ const component = getComponent(componentId);
55
+ if (component instanceof UIComponent) {
56
+ const rootControl = component.getRootControl();
57
+ if (rootControl instanceof XMLView) {
58
+ return rootControl;
59
+ }
60
+ }
61
+ }
62
+ return undefined;
63
+ }
64
+ function getManifestProperties(control, changeService, controlOverlay) {
65
+ const overlayData = controlOverlay?.getDesignTimeMetadata().getData();
66
+ if (!controlOverlay || !overlayData?.manifestSettings) {
67
+ return {};
68
+ }
69
+ const manifestPropertiesValue = overlayData?.manifestSettingsValues(overlayData?.manifestSettings(control), control);
70
+ const manifestProperties = overlayData?.manifestSettings(control).reduce((acc, item) => {
71
+ const propertyId = item.path ?? item.id;
72
+ const value = changeService.getConfigurationPropertyValue(control.getId(), propertyId);
73
+ let propertyValue = value === 0 || value === false || value ? value : manifestPropertiesValue[propertyId];
74
+ if (item?.type && ['boolean', 'number', 'string'].includes(item?.type)) {
75
+ if (propertyValue === undefined) {
76
+ propertyValue = item.value; // set default value of property
77
+ }
78
+ }
79
+ if (!acc[propertyId]) {
80
+ acc[propertyId] = {
81
+ ...item,
82
+ defaultValue: item.value,
83
+ configuration: true,
84
+ name: item.id,
85
+ readableName: item.name,
86
+ manifestPropertyPath: `${overlayData?.manifestPropertyPath(control)}/${propertyId}`,
87
+ type: item.type === 'number' ? 'int' : item.type,
88
+ value: propertyValue
89
+ };
90
+ }
91
+ return acc;
92
+ }, {});
93
+ return manifestProperties;
94
+ }
95
+ const getOverlay = control => {
96
+ let controlOverlay = OverlayRegistry.getOverlay(control);
97
+ if (!controlOverlay?.getDomRef()) {
98
+ //look for closest control
99
+ controlOverlay = OverlayUtil.getClosestOverlayFor(control);
100
+ }
101
+ return controlOverlay;
102
+ };
103
+ var __exports = {
104
+ __esModule: true
105
+ };
106
+ __exports.getRuntimeControl = getRuntimeControl;
107
+ __exports.getLibrary = getLibrary;
108
+ __exports.getRootControlFromComponentContainer = getRootControlFromComponentContainer;
109
+ __exports.getManifestProperties = getManifestProperties;
110
+ __exports.getOverlay = getOverlay;
111
+ return __exports;
112
+ });
113
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1,162 @@
1
+ import type ManagedObject from 'sap/ui/base/ManagedObject';
2
+ import type Control from 'sap/ui/core/Control';
3
+ import type ElementOverlay from 'sap/ui/dt/ElementOverlay';
4
+ import DataType from 'sap/ui/base/DataType';
5
+ import ComponentContainer from 'sap/ui/core/ComponentContainer';
6
+ import XMLView from 'sap/ui/core/mvc/XMLView';
7
+ import UIComponent from 'sap/ui/core/UIComponent';
8
+
9
+ import { getComponent } from '../utils/core';
10
+ import { DesigntimeSetting } from 'sap/ui/dt/DesignTimeMetadata';
11
+ import { ChangeService } from './changes';
12
+ import UI5Element from 'sap/ui/core/Element';
13
+ import OverlayRegistry from 'sap/ui/dt/OverlayRegistry';
14
+ import OverlayUtil from 'sap/ui/dt/OverlayUtil';
15
+
16
+
17
+ export interface PropertiesInfo {
18
+ defaultValue: string;
19
+ description: string;
20
+ propertyName: string;
21
+ type: string;
22
+ propertyType: string | undefined;
23
+ }
24
+ export interface Properties {
25
+ [key: string]: PropertiesInfo;
26
+ }
27
+
28
+ export interface ManagedObjectMetadataProperties {
29
+ name: string;
30
+ defaultValue: string | null;
31
+ deprecated: boolean;
32
+ getType: () => DataType;
33
+ getName: () => string;
34
+ getDefaultValue: () => unknown;
35
+ }
36
+
37
+ export interface MergedSetting extends DesigntimeSetting {
38
+ defaultValue: unknown;
39
+ value: unknown;
40
+ configuration: boolean;
41
+ name: string;
42
+ readableName: string;
43
+ manifestPropertyPath: string;
44
+ type: 'string' | 'int' | 'boolean' | 'undefined';
45
+ }
46
+
47
+ /**
48
+ * Get runtime control.
49
+ *
50
+ * @param overlayControl - element overlay.
51
+ * @returns ManagedObject
52
+ */
53
+ export function getRuntimeControl(overlayControl: ElementOverlay): ManagedObject {
54
+ let runtimeControl;
55
+ if (overlayControl.getElementInstance) {
56
+ runtimeControl = overlayControl.getElementInstance();
57
+ } else {
58
+ runtimeControl = overlayControl.getElement();
59
+ }
60
+ return runtimeControl;
61
+ }
62
+
63
+ /**
64
+ * Get library of a control name.
65
+ *
66
+ * @param controlName - name of the ui5 control eg: sap.m.Button.
67
+ * @returns Promise<string>
68
+ */
69
+ export async function getLibrary(controlName: string): Promise<string> {
70
+ return new Promise((resolve) => {
71
+ const controlPath = controlName.replace(/\./g, '/');
72
+ sap.ui.require([controlPath], (control: Control) => {
73
+ const contMetadata = control.getMetadata();
74
+ // getLibraryName method does not exist on events
75
+ if (contMetadata?.getLibraryName) {
76
+ const contLibName = contMetadata.getLibraryName();
77
+ resolve(contLibName);
78
+ } else {
79
+ resolve(''); // return empty for events
80
+ }
81
+ });
82
+ });
83
+ }
84
+
85
+ /**
86
+ * Gets the root view of component for the provided ComponentContainer control.
87
+ *
88
+ * @param container ComponentContainer control.
89
+ * @returns XMLView which is the root control of the component if it exists.
90
+ */
91
+ export function getRootControlFromComponentContainer(container?: ComponentContainer): XMLView | undefined {
92
+ if (container) {
93
+ const componentId = container.getComponent();
94
+ const component = getComponent(componentId);
95
+ if (component instanceof UIComponent) {
96
+ const rootControl = component.getRootControl();
97
+ if (rootControl instanceof XMLView) {
98
+ return rootControl;
99
+ }
100
+ }
101
+ }
102
+ return undefined;
103
+ }
104
+
105
+ export function getManifestProperties(
106
+ control: ManagedObject,
107
+ changeService: ChangeService,
108
+ controlOverlay?: ElementOverlay
109
+ ): {
110
+ [key: string]: MergedSetting;
111
+ } {
112
+ const overlayData = controlOverlay?.getDesignTimeMetadata().getData();
113
+ if (!controlOverlay || !overlayData?.manifestSettings) {
114
+ return {};
115
+ }
116
+ const manifestPropertiesValue = overlayData?.manifestSettingsValues(
117
+ overlayData?.manifestSettings(control),
118
+ control
119
+ );
120
+ const manifestProperties = overlayData?.manifestSettings(control).reduce(
121
+ (
122
+ acc: {
123
+ [key: string]: MergedSetting;
124
+ },
125
+ item: DesigntimeSetting
126
+ ) => {
127
+ const propertyId = item.path ?? item.id;
128
+ const value = changeService.getConfigurationPropertyValue(control.getId(), propertyId);
129
+ let propertyValue = value === 0 || value === false || value ? value : manifestPropertiesValue[propertyId];
130
+ if (item?.type && ['boolean', 'number', 'string'].includes(item?.type)) {
131
+ if (propertyValue === undefined) {
132
+ propertyValue = item.value as string | boolean | number; // set default value of property
133
+ }
134
+ }
135
+ if (!acc[propertyId]) {
136
+ acc[propertyId] = {
137
+ ...item,
138
+ defaultValue: item.value,
139
+ configuration: true,
140
+ name: item.id,
141
+ readableName: item.name,
142
+ manifestPropertyPath: `${overlayData?.manifestPropertyPath(control)}/${propertyId}`,
143
+ type: item.type === 'number' ? 'int' : (item.type as 'string' | 'boolean' | 'undefined'),
144
+ value: propertyValue
145
+ };
146
+ }
147
+ return acc;
148
+ },
149
+ {}
150
+ );
151
+ return manifestProperties;
152
+ }
153
+
154
+ export const getOverlay = (control: UI5Element): ElementOverlay | undefined => {
155
+ let controlOverlay = OverlayRegistry.getOverlay(control);
156
+ if (!controlOverlay?.getDomRef()) {
157
+ //look for closest control
158
+ controlOverlay = OverlayUtil.getClosestOverlayFor(control);
159
+ }
160
+
161
+ return controlOverlay;
162
+ };
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+
3
+ sap.ui.define(["sap/base/util/merge", "sap/ui/fl/write/api/connectors/ObjectStorageConnector", "sap/ui/fl/Layer", "./common", "../utils/version", "../utils/additional-change-info"], function (merge, ObjectStorageConnector, Layer, ___common, ___utils_version, ___utils_additional_change_info) {
4
+ "use strict";
5
+
6
+ const CHANGES_API_PATH_STATIC = ___common["CHANGES_API_PATH"];
7
+ const getFlexSettings = ___common["getFlexSettings"];
8
+ const getUi5Version = ___utils_version["getUi5Version"];
9
+ const isLowerThanMinimalUi5Version = ___utils_version["isLowerThanMinimalUi5Version"];
10
+ const getAdditionalChangeInfo = ___utils_additional_change_info["getAdditionalChangeInfo"];
11
+ const baseUrl = document.getElementById('sap-ui-bootstrap')?.dataset.openUxPreviewBaseUrl ?? '';
12
+ const changesApiPath = `${baseUrl}${CHANGES_API_PATH_STATIC}`;
13
+ const connector = merge({}, ObjectStorageConnector, {
14
+ layers: [Layer.VENDOR, Layer.CUSTOMER_BASE],
15
+ storage: {
16
+ _itemsStoredAsObjects: true,
17
+ fileChangeRequestNotifier: undefined,
18
+ setItem: function (_key, change) {
19
+ const settings = getFlexSettings();
20
+ if (settings) {
21
+ change.support ??= {};
22
+ change.support.generator = settings.generator;
23
+ }
24
+ const additionalChangeInfo = getAdditionalChangeInfo(change);
25
+ if (typeof this.fileChangeRequestNotifier === 'function' && change.fileName) {
26
+ try {
27
+ this.fileChangeRequestNotifier(change.fileName, 'create', change, additionalChangeInfo);
28
+ } catch {
29
+ // exceptions in the listener call are ignored
30
+ }
31
+ }
32
+ const body = {
33
+ change,
34
+ additionalChangeInfo
35
+ };
36
+ return fetch(changesApiPath, {
37
+ method: 'POST',
38
+ body: JSON.stringify(body, null, 2),
39
+ headers: {
40
+ 'content-type': 'application/json'
41
+ }
42
+ });
43
+ },
44
+ removeItem: function (key) {
45
+ if (typeof this.fileChangeRequestNotifier === 'function') {
46
+ try {
47
+ this.fileChangeRequestNotifier(key, 'delete');
48
+ } catch {
49
+ // exceptions in the listener call are ignored
50
+ }
51
+ }
52
+ return fetch(changesApiPath, {
53
+ method: 'DELETE',
54
+ body: JSON.stringify({
55
+ fileName: key
56
+ }),
57
+ headers: {
58
+ 'content-type': 'application/json'
59
+ }
60
+ });
61
+ },
62
+ clear: function () {
63
+ // not implemented
64
+ },
65
+ getItem: function (_key) {
66
+ // not implemented
67
+ },
68
+ getItems: async function () {
69
+ const response = await fetch(changesApiPath, {
70
+ method: 'GET',
71
+ headers: {
72
+ 'content-type': 'application/json'
73
+ }
74
+ });
75
+ return await response.json();
76
+ }
77
+ },
78
+ loadFeatures: async function () {
79
+ const features = await ObjectStorageConnector.loadFeatures();
80
+ features.isVariantAdaptationEnabled = !isLowerThanMinimalUi5Version(await getUi5Version(), {
81
+ major: 1,
82
+ minor: 90
83
+ });
84
+ const settings = getFlexSettings();
85
+ if (settings?.developerMode) {
86
+ features.isVariantAdaptationEnabled = false;
87
+ }
88
+ if (settings?.scenario === 'ADAPTATION_PROJECT') {
89
+ features.isVariantAdaptationEnabled = true;
90
+ }
91
+ features.isAnnotationChangeEnabled = false;
92
+ return features;
93
+ }
94
+ });
95
+ return connector;
96
+ });
97
+ //# sourceMappingURL=WorkspaceConnector.js.map
@@ -0,0 +1,101 @@
1
+ import merge from 'sap/base/util/merge';
2
+ import ObjectStorageConnector from 'sap/ui/fl/write/api/connectors/ObjectStorageConnector';
3
+ import Layer from 'sap/ui/fl/Layer';
4
+ import type { FlexChange } from './common';
5
+ import { CHANGES_API_PATH as CHANGES_API_PATH_STATIC, getFlexSettings } from './common';
6
+ import { getUi5Version, isLowerThanMinimalUi5Version } from '../utils/version';
7
+ import { getAdditionalChangeInfo } from '../utils/additional-change-info';
8
+
9
+ const baseUrl = document.getElementById('sap-ui-bootstrap')?.dataset.openUxPreviewBaseUrl ??'';
10
+ const changesApiPath = `${baseUrl}${CHANGES_API_PATH_STATIC}`;
11
+
12
+ const connector = merge({}, ObjectStorageConnector, {
13
+ layers: [Layer.VENDOR, Layer.CUSTOMER_BASE],
14
+ storage: {
15
+ _itemsStoredAsObjects: true,
16
+ fileChangeRequestNotifier: undefined,
17
+ setItem: function (_key: string, change: FlexChange) {
18
+ const settings = getFlexSettings();
19
+ if (settings) {
20
+ change.support ??= {};
21
+ change.support.generator = settings.generator;
22
+ }
23
+
24
+ const additionalChangeInfo = getAdditionalChangeInfo(change);
25
+
26
+ if (typeof this.fileChangeRequestNotifier === 'function' && change.fileName) {
27
+ try {
28
+ this.fileChangeRequestNotifier(change.fileName, 'create', change, additionalChangeInfo);
29
+ } catch {
30
+ // exceptions in the listener call are ignored
31
+ }
32
+ }
33
+
34
+ const body = {
35
+ change,
36
+ additionalChangeInfo
37
+ };
38
+
39
+ return fetch(changesApiPath, {
40
+ method: 'POST',
41
+ body: JSON.stringify(body, null, 2),
42
+ headers: {
43
+ 'content-type': 'application/json'
44
+ }
45
+ });
46
+ },
47
+ removeItem: function (key: string) {
48
+ if (typeof this.fileChangeRequestNotifier === 'function') {
49
+ try {
50
+ this.fileChangeRequestNotifier(key, 'delete');
51
+ } catch {
52
+ // exceptions in the listener call are ignored
53
+ }
54
+ }
55
+
56
+ return fetch(changesApiPath, {
57
+ method: 'DELETE',
58
+ body: JSON.stringify({ fileName: key }),
59
+ headers: {
60
+ 'content-type': 'application/json'
61
+ }
62
+ });
63
+ },
64
+ clear: function () {
65
+ // not implemented
66
+ },
67
+ getItem: function (_key: string) {
68
+ // not implemented
69
+ },
70
+ getItems: async function () {
71
+ const response = await fetch(changesApiPath, {
72
+ method: 'GET',
73
+ headers: {
74
+ 'content-type': 'application/json'
75
+ }
76
+ });
77
+ return (await response.json()) as unknown as FlexChange[];
78
+ }
79
+ } as typeof ObjectStorageConnector.storage,
80
+ loadFeatures: async function () {
81
+ const features = await ObjectStorageConnector.loadFeatures();
82
+ features.isVariantAdaptationEnabled = !isLowerThanMinimalUi5Version(await getUi5Version(), {
83
+ major: 1,
84
+ minor: 90
85
+ });
86
+ const settings = getFlexSettings();
87
+ if (settings?.developerMode) {
88
+ features.isVariantAdaptationEnabled = false;
89
+ }
90
+
91
+ if (settings?.scenario === 'ADAPTATION_PROJECT') {
92
+ features.isVariantAdaptationEnabled = true;
93
+ }
94
+
95
+ features.isAnnotationChangeEnabled = false;
96
+
97
+ return features;
98
+ }
99
+ }) as typeof ObjectStorageConnector;
100
+
101
+ export default connector;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ sap.ui.define([], function () {
4
+ "use strict";
5
+
6
+ const CHANGES_API_PATH = '/preview/api/changes';
7
+
8
+ /**
9
+ * Retrieves Flex settings from a 'sap-ui-bootstrap' element's data attribute.
10
+ * Parses the 'data-open-ux-preview-flex-settings' attribute as JSON.
11
+ *
12
+ * @returns {FlexSettings | undefined} The parsed Flex settings if available, otherwise undefined.
13
+ */
14
+ function getFlexSettings() {
15
+ let result;
16
+ const bootstrapConfig = document.getElementById('sap-ui-bootstrap');
17
+ const flexSetting = bootstrapConfig?.dataset.openUxPreviewFlexSettings;
18
+ if (flexSetting) {
19
+ result = JSON.parse(flexSetting);
20
+ }
21
+ return result;
22
+ }
23
+ var __exports = {
24
+ __esModule: true
25
+ };
26
+ __exports.CHANGES_API_PATH = CHANGES_API_PATH;
27
+ __exports.getFlexSettings = getFlexSettings;
28
+ return __exports;
29
+ });
30
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1,28 @@
1
+ import type { FlexSettings } from 'sap/ui/rta/RuntimeAuthoring';
2
+
3
+ export interface FlexChange {
4
+ [key: string]: string | object | undefined;
5
+ changeType: string;
6
+ fileName: string;
7
+ support: {
8
+ generator?: string;
9
+ };
10
+ }
11
+
12
+ export const CHANGES_API_PATH = '/preview/api/changes';
13
+
14
+ /**
15
+ * Retrieves Flex settings from a 'sap-ui-bootstrap' element's data attribute.
16
+ * Parses the 'data-open-ux-preview-flex-settings' attribute as JSON.
17
+ *
18
+ * @returns {FlexSettings | undefined} The parsed Flex settings if available, otherwise undefined.
19
+ */
20
+ export function getFlexSettings(): FlexSettings | undefined {
21
+ let result: FlexSettings | undefined;
22
+ const bootstrapConfig = document.getElementById('sap-ui-bootstrap');
23
+ const flexSetting = bootstrapConfig?.dataset.openUxPreviewFlexSettings;
24
+ if (flexSetting) {
25
+ result = JSON.parse(flexSetting) as FlexSettings;
26
+ }
27
+ return result;
28
+ }
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ sap.ui.define(["sap/ui/fl/LrepConnector", "sap/ui/fl/FakeLrepConnector", "../utils/additional-change-info", "./common"], function (LrepConnector, FakeLrepConnector, ___utils_additional_change_info, ___common) {
4
+ "use strict";
5
+
6
+ const getAdditionalChangeInfo = ___utils_additional_change_info["getAdditionalChangeInfo"];
7
+ const CHANGES_API_PATH_STATIC = ___common["CHANGES_API_PATH"];
8
+ const getFlexSettings = ___common["getFlexSettings"];
9
+ const baseUrl = document.getElementById('sap-ui-bootstrap')?.dataset.openUxPreviewBaseUrl ?? '';
10
+ const changesApiPath = `${baseUrl}${CHANGES_API_PATH_STATIC}`;
11
+
12
+ /**
13
+ * Processes an array of FlexChange objects.
14
+ * It updates each change object with settings and sends them to a API endpoint.
15
+ *
16
+ * @param {FlexChange | FlexChange[]} changes - Array of FlexChange objects to be processed.
17
+ * @returns {Promise<void>} A promise that resolves when all changes are processed.
18
+ */
19
+ async function create(changes) {
20
+ const settings = getFlexSettings();
21
+ await Promise.all((Array.isArray(changes) ? changes : [changes]).map(change => {
22
+ if (settings) {
23
+ change.support ??= {};
24
+ change.support.generator = settings.generator;
25
+ }
26
+ const additionalChangeInfo = getAdditionalChangeInfo(change);
27
+ if (typeof FakeLrepConnector.fileChangeRequestNotifier === 'function' && change.fileName) {
28
+ try {
29
+ FakeLrepConnector.fileChangeRequestNotifier(change.fileName, 'create', change, additionalChangeInfo);
30
+ } catch {
31
+ // exceptions in the listener call are ignored
32
+ }
33
+ }
34
+ const body = {
35
+ change,
36
+ additionalChangeInfo
37
+ };
38
+ return fetch(changesApiPath, {
39
+ method: 'POST',
40
+ body: JSON.stringify(body, null, 2),
41
+ headers: {
42
+ 'content-type': 'application/json'
43
+ }
44
+ });
45
+ }));
46
+ }
47
+
48
+ /**
49
+ * Loads changes from a given path and processes them using an LrepConnector instance.
50
+ * The changes are then formatted and returned in a specified structure.
51
+ *
52
+ * @returns {Promise<LoadChangesResult>} A promise that resolves to an object of type LoadChangesResult.
53
+ */
54
+ async function loadChanges(...args) {
55
+ const lrep = new LrepConnector();
56
+ const response = await fetch(changesApiPath, {
57
+ method: 'GET',
58
+ headers: {
59
+ 'content-type': 'application/json'
60
+ }
61
+ });
62
+ const changes = await response.json();
63
+ return LrepConnector.prototype.loadChanges.apply(lrep, args).then(res => {
64
+ res.changes.changes = Object.values(changes);
65
+ return res;
66
+ });
67
+ }
68
+
69
+ /**
70
+ * Configures and enables the FakeLrepConnector based on the SAP UI5 version.
71
+ * If the minor version of the SAP UI5 is less than 72, this function extends
72
+ * the FakeLrepConnector's prototype with specific methods and enables the fake connector.
73
+ *
74
+ * Assumes the existence of a global 'sap' object with an 'ui.version' property,
75
+ * and global jQuery object with 'extend' method.
76
+ *
77
+ * @returns {void}
78
+ */
79
+ var __exports = function () {
80
+ // eslint-disable-next-line no-undef
81
+ jQuery.extend(FakeLrepConnector.prototype, {
82
+ create,
83
+ loadChanges,
84
+ loadSettings: () => Promise.resolve()
85
+ });
86
+ FakeLrepConnector.enableFakeConnector();
87
+ };
88
+ __exports.create = create;
89
+ __exports.loadChanges = loadChanges;
90
+ return __exports;
91
+ });
92
+ //# sourceMappingURL=enableFakeConnector.js.map