@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.
- package/CHANGELOG.md +60 -0
- package/dist/adp-tooling/templates/cf/_gitignore +6 -0
- package/dist/adp-tooling/templates/cf/approuter/package.json +13 -0
- package/dist/adp-tooling/templates/cf/approuter/xs-app.json +15 -0
- package/dist/adp-tooling/templates/cf/i18n/i18n.properties +3 -0
- package/dist/adp-tooling/templates/cf/package.json +35 -0
- package/dist/adp-tooling/templates/cf/ui5.yaml +5 -0
- package/dist/adp-tooling/templates/cf/xs-security.json +7 -0
- package/dist/adp-tooling/templates/changes/annotation.xml +18 -0
- package/dist/adp-tooling/templates/project/gitignore.tmpl +5 -0
- package/dist/adp-tooling/templates/project/package.json +31 -0
- package/dist/adp-tooling/templates/project/ui5.yaml +6 -0
- package/dist/adp-tooling/templates/project/webapp/i18n/i18n.properties +6 -0
- package/dist/adp-tooling/templates/project/webapp/manifest.appdescr_variant +10 -0
- package/dist/adp-tooling/templates/rta/common/analytical-custom-column.xml +25 -0
- package/dist/adp-tooling/templates/rta/common/custom-action.xml +8 -0
- package/dist/adp-tooling/templates/rta/common/grid-tree-custom-column.xml +22 -0
- package/dist/adp-tooling/templates/rta/common/header-field.xml +13 -0
- package/dist/adp-tooling/templates/rta/common/op-custom-section.xml +20 -0
- package/dist/adp-tooling/templates/rta/common/v4-table-action.xml +8 -0
- package/dist/adp-tooling/templates/rta/controller.ejs +80 -0
- package/dist/adp-tooling/templates/rta/fragment.xml +7 -0
- package/dist/adp-tooling/templates/rta/ts-controller.ejs +18 -0
- package/dist/adp-tooling/templates/rta/v2/m-table-custom-column-cell.xml +7 -0
- package/dist/adp-tooling/templates/rta/v2/m-table-custom-column.xml +18 -0
- package/dist/adp-tooling/templates/rta/v4/custom-section.xml +12 -0
- package/dist/adp-tooling/templates/rta/v4/mdc-custom-column-config.xml +6 -0
- package/dist/adp-tooling/templates/rta/v4/mdc-custom-column.xml +11 -0
- package/dist/adp-tooling/templates/typescript/tsconfig.json +19 -0
- package/dist/cli/index.js +17761 -11603
- package/dist/control-property-editor/app.css +2 -0
- package/dist/control-property-editor/app.js +175 -0
- package/dist/livereload-js/livereload.js +3795 -0
- package/dist/middlewares/fiori-tools-appreload.js +44007 -41669
- package/dist/middlewares/fiori-tools-preview.js +66889 -4176
- package/dist/middlewares/fiori-tools-proxy.js +38049 -5767
- package/dist/middlewares/fiori-tools-servestatic.js +32893 -347
- package/dist/preview-middleware/dist/client/adp/add-fragment.js +48 -0
- package/dist/preview-middleware/dist/client/adp/add-fragment.ts +51 -0
- package/dist/preview-middleware/dist/client/adp/api-handler.js +165 -0
- package/dist/preview-middleware/dist/client/adp/api-handler.ts +191 -0
- package/dist/preview-middleware/dist/client/adp/command-executor.js +100 -0
- package/dist/preview-middleware/dist/client/adp/command-executor.ts +105 -0
- package/dist/preview-middleware/dist/client/adp/control-utils.js +46 -0
- package/dist/preview-middleware/dist/client/adp/control-utils.ts +48 -0
- package/dist/preview-middleware/dist/client/adp/controllers/AddActionFragment.controller.js +198 -0
- package/dist/preview-middleware/dist/client/adp/controllers/AddActionFragment.controller.ts +232 -0
- package/dist/preview-middleware/dist/client/adp/controllers/AddCustomFragment.controller.js +223 -0
- package/dist/preview-middleware/dist/client/adp/controllers/AddCustomFragment.controller.ts +257 -0
- package/dist/preview-middleware/dist/client/adp/controllers/AddFragment.controller.js +195 -0
- package/dist/preview-middleware/dist/client/adp/controllers/AddFragment.controller.ts +264 -0
- package/dist/preview-middleware/dist/client/adp/controllers/AddSubpage.controller.js +146 -0
- package/dist/preview-middleware/dist/client/adp/controllers/AddSubpage.controller.ts +209 -0
- package/dist/preview-middleware/dist/client/adp/controllers/AddTableColumnFragments.controller.js +232 -0
- package/dist/preview-middleware/dist/client/adp/controllers/AddTableColumnFragments.controller.ts +306 -0
- package/dist/preview-middleware/dist/client/adp/controllers/BaseDialog.controller.js +187 -0
- package/dist/preview-middleware/dist/client/adp/controllers/BaseDialog.controller.ts +254 -0
- package/dist/preview-middleware/dist/client/adp/controllers/ControllerExtension.controller.js +330 -0
- package/dist/preview-middleware/dist/client/adp/controllers/ControllerExtension.controller.ts +408 -0
- package/dist/preview-middleware/dist/client/adp/controllers/ExtensionPoint.controller.js +160 -0
- package/dist/preview-middleware/dist/client/adp/controllers/ExtensionPoint.controller.ts +195 -0
- package/dist/preview-middleware/dist/client/adp/controllers/FileExistsDialog.controller.js +68 -0
- package/dist/preview-middleware/dist/client/adp/controllers/FileExistsDialog.controller.ts +86 -0
- package/dist/preview-middleware/dist/client/adp/controllers/types.js +2 -0
- package/dist/preview-middleware/dist/client/adp/controllers/types.ts +10 -0
- package/dist/preview-middleware/dist/client/adp/dialog-factory.js +151 -0
- package/dist/preview-middleware/dist/client/adp/dialog-factory.ts +210 -0
- package/dist/preview-middleware/dist/client/adp/extend-controller.js +48 -0
- package/dist/preview-middleware/dist/client/adp/extend-controller.ts +49 -0
- package/dist/preview-middleware/dist/client/adp/extension-point.js +83 -0
- package/dist/preview-middleware/dist/client/adp/extension-point.ts +116 -0
- package/dist/preview-middleware/dist/client/adp/init-dialogs.js +142 -0
- package/dist/preview-middleware/dist/client/adp/init-dialogs.ts +178 -0
- package/dist/preview-middleware/dist/client/adp/init.js +111 -0
- package/dist/preview-middleware/dist/client/adp/init.ts +92 -0
- package/dist/preview-middleware/dist/client/adp/ovp-window-functions.js +130 -0
- package/dist/preview-middleware/dist/client/adp/ovp-window-functions.ts +171 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/add-new-subpage-quick-action-base.js +97 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/add-new-subpage-quick-action-base.ts +140 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/common/add-controller-to-page.js +74 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/common/add-controller-to-page.ts +92 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/common/add-new-annotation-file.js +171 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/common/add-new-annotation-file.ts +174 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/common/create-page-action.js +56 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/common/create-page-action.ts +56 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/common/op-add-custom-section.js +41 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/common/op-add-custom-section.ts +51 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/common/op-add-header-field.js +69 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/common/op-add-header-field.ts +81 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/common/utils.js +20 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/common/utils.ts +7 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/control-types.js +25 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/control-types.ts +7 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/dialog-enablement-validator.js +26 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/dialog-enablement-validator.ts +18 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/enablement-validator.js +2 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/enablement-validator.ts +19 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/add-new-subpage.js +82 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/add-new-subpage.ts +87 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/change-table-actions.js +69 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/change-table-actions.ts +71 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/change-table-columns.js +103 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/change-table-columns.ts +105 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/create-table-action.js +111 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/create-table-action.ts +110 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/create-table-custom-column.js +108 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/create-table-custom-column.ts +141 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-semantic-date-range-filter-bar.js +80 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-semantic-date-range-filter-bar.ts +93 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-table-filtering.js +79 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-table-filtering.ts +102 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-variant-management.js +71 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-enable-variant-management.ts +98 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-toggle-clear-filter-bar.js +61 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/lr-toggle-clear-filter-bar.ts +77 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/op-enable-empty-row-mode.js +95 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/op-enable-empty-row-mode.ts +102 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/op-enable-variant-management.js +86 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/op-enable-variant-management.ts +116 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/registry.js +79 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/registry.ts +121 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/utils.js +138 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v2/utils.ts +134 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/add-new-subpage.js +140 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/add-new-subpage.ts +181 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/change-table-actions.js +81 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/change-table-actions.ts +81 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/change-table-columns.js +90 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/change-table-columns.ts +97 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-page-action.js +81 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-page-action.ts +98 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-table-action-config-change.js +129 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-table-action-config-change.ts +149 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-table-custom-column-config-change.js +142 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/create-table-custom-column-config-change.ts +178 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/enable-variant-management.js +83 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/enable-variant-management.ts +96 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-enable-semantic-date-range-filter-bar.js +58 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-enable-semantic-date-range-filter-bar.ts +70 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-enable-table-filtering.js +86 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-enable-table-filtering.ts +96 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-toggle-clear-filter-bar.js +55 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/lr-toggle-clear-filter-bar.ts +61 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/op-add-custom-section.js +73 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/op-add-custom-section.ts +91 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/op-enable-empty-row-mode.js +91 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/op-enable-empty-row-mode.ts +88 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/registry.js +62 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/registry.ts +86 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/utils.js +158 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/fe-v4/utils.ts +175 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/load.js +46 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/load.ts +23 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/quick-action-base.js +64 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/quick-action-base.ts +71 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/simple-quick-action-base.js +44 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/simple-quick-action-base.ts +51 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/supported-ui5versions.md +40 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/table-quick-action-base.js +372 -0
- package/dist/preview-middleware/dist/client/adp/quick-actions/table-quick-action-base.ts +433 -0
- package/dist/preview-middleware/dist/client/adp/sync-views-utils.js +123 -0
- package/dist/preview-middleware/dist/client/adp/sync-views-utils.ts +90 -0
- package/dist/preview-middleware/dist/client/adp/ui/AddAction.fragment.xml +49 -0
- package/dist/preview-middleware/dist/client/adp/ui/AddCustomFragment.fragment.xml +48 -0
- package/dist/preview-middleware/dist/client/adp/ui/AddFragment.fragment.xml +83 -0
- package/dist/preview-middleware/dist/client/adp/ui/AddSubpage.fragment.xml +73 -0
- package/dist/preview-middleware/dist/client/adp/ui/AddTableColumnFragments.fragment.xml +63 -0
- package/dist/preview-middleware/dist/client/adp/ui/ControllerExtension.fragment.xml +63 -0
- package/dist/preview-middleware/dist/client/adp/ui/ExtensionPoint.fragment.xml +61 -0
- package/dist/preview-middleware/dist/client/adp/ui/FileExistsDialog.fragment.xml +43 -0
- package/dist/preview-middleware/dist/client/adp/utils.js +199 -0
- package/dist/preview-middleware/dist/client/adp/utils.ts +200 -0
- package/dist/preview-middleware/dist/client/cpe/additional-change-info/add-xml-additional-info.js +85 -0
- package/dist/preview-middleware/dist/client/cpe/additional-change-info/add-xml-additional-info.ts +107 -0
- package/dist/preview-middleware/dist/client/cpe/changes/flex-change.js +66 -0
- package/dist/preview-middleware/dist/client/cpe/changes/flex-change.ts +66 -0
- package/dist/preview-middleware/dist/client/cpe/changes/generic-change.js +321 -0
- package/dist/preview-middleware/dist/client/cpe/changes/generic-change.ts +462 -0
- package/dist/preview-middleware/dist/client/cpe/changes/index.js +12 -0
- package/dist/preview-middleware/dist/client/cpe/changes/index.ts +1 -0
- package/dist/preview-middleware/dist/client/cpe/changes/service.js +527 -0
- package/dist/preview-middleware/dist/client/cpe/changes/service.ts +595 -0
- package/dist/preview-middleware/dist/client/cpe/changes/validator.js +41 -0
- package/dist/preview-middleware/dist/client/cpe/changes/validator.ts +35 -0
- package/dist/preview-middleware/dist/client/cpe/communication-service.js +44 -0
- package/dist/preview-middleware/dist/client/cpe/communication-service.ts +41 -0
- package/dist/preview-middleware/dist/client/cpe/connector-service.js +88 -0
- package/dist/preview-middleware/dist/client/cpe/connector-service.ts +74 -0
- package/dist/preview-middleware/dist/client/cpe/context-menu-service.js +90 -0
- package/dist/preview-middleware/dist/client/cpe/context-menu-service.ts +77 -0
- package/dist/preview-middleware/dist/client/cpe/control-data.js +366 -0
- package/dist/preview-middleware/dist/client/cpe/control-data.ts +400 -0
- package/dist/preview-middleware/dist/client/cpe/documentation.js +191 -0
- package/dist/preview-middleware/dist/client/cpe/documentation.ts +187 -0
- package/dist/preview-middleware/dist/client/cpe/feature-service.js +39 -0
- package/dist/preview-middleware/dist/client/cpe/feature-service.ts +25 -0
- package/dist/preview-middleware/dist/client/cpe/init.js +92 -0
- package/dist/preview-middleware/dist/client/cpe/init.ts +114 -0
- package/dist/preview-middleware/dist/client/cpe/logger.js +32 -0
- package/dist/preview-middleware/dist/client/cpe/logger.ts +24 -0
- package/dist/preview-middleware/dist/client/cpe/odata-health/odata-health-checker.js +136 -0
- package/dist/preview-middleware/dist/client/cpe/odata-health/odata-health-checker.ts +160 -0
- package/dist/preview-middleware/dist/client/cpe/odata-health/odata-health-status.js +63 -0
- package/dist/preview-middleware/dist/client/cpe/odata-health/odata-health-status.ts +52 -0
- package/dist/preview-middleware/dist/client/cpe/outline/editable.js +38 -0
- package/dist/preview-middleware/dist/client/cpe/outline/editable.ts +30 -0
- package/dist/preview-middleware/dist/client/cpe/outline/nodes.js +212 -0
- package/dist/preview-middleware/dist/client/cpe/outline/nodes.ts +236 -0
- package/dist/preview-middleware/dist/client/cpe/outline/service.js +62 -0
- package/dist/preview-middleware/dist/client/cpe/outline/service.ts +66 -0
- package/dist/preview-middleware/dist/client/cpe/quick-actions/quick-action-service.js +161 -0
- package/dist/preview-middleware/dist/client/cpe/quick-actions/quick-action-service.ts +184 -0
- package/dist/preview-middleware/dist/client/cpe/quick-actions/registry.js +145 -0
- package/dist/preview-middleware/dist/client/cpe/quick-actions/registry.ts +157 -0
- package/dist/preview-middleware/dist/client/cpe/quick-actions/utils.js +94 -0
- package/dist/preview-middleware/dist/client/cpe/quick-actions/utils.ts +113 -0
- package/dist/preview-middleware/dist/client/cpe/rta-service.js +94 -0
- package/dist/preview-middleware/dist/client/cpe/rta-service.ts +86 -0
- package/dist/preview-middleware/dist/client/cpe/selection.js +249 -0
- package/dist/preview-middleware/dist/client/cpe/selection.ts +267 -0
- package/dist/preview-middleware/dist/client/cpe/ui5-utils.js +35 -0
- package/dist/preview-middleware/dist/client/cpe/ui5-utils.ts +28 -0
- package/dist/preview-middleware/dist/client/cpe/utils.js +113 -0
- package/dist/preview-middleware/dist/client/cpe/utils.ts +162 -0
- package/dist/preview-middleware/dist/client/flp/WorkspaceConnector.js +97 -0
- package/dist/preview-middleware/dist/client/flp/WorkspaceConnector.ts +101 -0
- package/dist/preview-middleware/dist/client/flp/common.js +30 -0
- package/dist/preview-middleware/dist/client/flp/common.ts +28 -0
- package/dist/preview-middleware/dist/client/flp/enableFakeConnector.js +92 -0
- package/dist/preview-middleware/dist/client/flp/enableFakeConnector.ts +113 -0
- package/dist/preview-middleware/dist/client/flp/homepage/Component.js +16 -0
- package/dist/preview-middleware/dist/client/flp/homepage/Component.ts +10 -0
- package/dist/preview-middleware/dist/client/flp/homepage/controller/MyHome.controller.js +54 -0
- package/dist/preview-middleware/dist/client/flp/homepage/controller/MyHome.controller.ts +41 -0
- package/dist/preview-middleware/dist/client/flp/homepage/css/style.css +3 -0
- package/dist/preview-middleware/dist/client/flp/homepage/manifest.json +41 -0
- package/dist/preview-middleware/dist/client/flp/homepage/view/MyHome.view.xml +18 -0
- package/dist/preview-middleware/dist/client/flp/init.js +418 -0
- package/dist/preview-middleware/dist/client/flp/init.ts +448 -0
- package/dist/preview-middleware/dist/client/flp/initCdm.js +117 -0
- package/dist/preview-middleware/dist/client/flp/initCdm.ts +111 -0
- package/dist/preview-middleware/dist/client/flp/initConnectors.js +31 -0
- package/dist/preview-middleware/dist/client/flp/initConnectors.ts +20 -0
- package/dist/preview-middleware/dist/client/flp/initRta.js +180 -0
- package/dist/preview-middleware/dist/client/flp/initRta.ts +194 -0
- package/dist/preview-middleware/dist/client/i18n.js +56 -0
- package/dist/preview-middleware/dist/client/i18n.ts +49 -0
- package/dist/preview-middleware/dist/client/manifest.json +8 -0
- package/dist/preview-middleware/dist/client/messagebundle.properties +143 -0
- package/dist/preview-middleware/dist/client/thirdparty/@sap-ux-private/control-property-editor-common.js +486 -0
- package/dist/preview-middleware/dist/client/utils/additional-change-info.js +69 -0
- package/dist/preview-middleware/dist/client/utils/additional-change-info.ts +73 -0
- package/dist/preview-middleware/dist/client/utils/application.js +34 -0
- package/dist/preview-middleware/dist/client/utils/application.ts +27 -0
- package/dist/preview-middleware/dist/client/utils/core.js +144 -0
- package/dist/preview-middleware/dist/client/utils/core.ts +145 -0
- package/dist/preview-middleware/dist/client/utils/error.js +28 -0
- package/dist/preview-middleware/dist/client/utils/error.ts +18 -0
- package/dist/preview-middleware/dist/client/utils/fe-v2.js +58 -0
- package/dist/preview-middleware/dist/client/utils/fe-v2.ts +61 -0
- package/dist/preview-middleware/dist/client/utils/fe-v4.js +168 -0
- package/dist/preview-middleware/dist/client/utils/fe-v4.ts +186 -0
- package/dist/preview-middleware/dist/client/utils/info-center-message.js +60 -0
- package/dist/preview-middleware/dist/client/utils/info-center-message.ts +60 -0
- package/dist/preview-middleware/dist/client/utils/version.js +126 -0
- package/dist/preview-middleware/dist/client/utils/version.ts +138 -0
- package/dist/preview-middleware/templates/flp/cdm.base.json +47 -0
- package/dist/preview-middleware/templates/flp/cdm.ejs +72 -0
- package/dist/preview-middleware/templates/flp/editor.ejs +28 -0
- package/dist/preview-middleware/templates/flp/sandbox.ejs +88 -0
- package/dist/preview-middleware/templates/flp/sandbox2.ejs +86 -0
- package/dist/preview-middleware/templates/test/qunit.ejs +26 -0
- package/dist/preview-middleware/templates/test/qunit.js +29 -0
- package/dist/preview-middleware/templates/test/testsuite.qunit.ejs +10 -0
- package/dist/preview-middleware/templates/test/testsuite.qunit.js +8 -0
- package/dist/tasks/cf-deploy/index.js +3916 -3521
- package/dist/tasks/deploy/index.js +17204 -11133
- package/package.json +36 -39
- package/prebuilds/keyring.darwin-arm64.node +0 -0
- package/prebuilds/keyring.darwin-x64.node +0 -0
- package/prebuilds/keyring.linux-arm-gnueabihf.node +0 -0
- package/prebuilds/keyring.linux-arm64-gnu.node +0 -0
- package/prebuilds/keyring.linux-arm64-musl.node +0 -0
- package/prebuilds/keyring.linux-ia32-gnu.node +0 -0
- package/prebuilds/keyring.linux-x64-gnu.node +0 -0
- package/prebuilds/keyring.linux-x64-musl.node +0 -0
- package/prebuilds/keyring.win32-arm64-msvc.node +0 -0
- package/prebuilds/keyring.win32-ia32-msvc.node +0 -0
- package/prebuilds/keyring.win32-x64-msvc.node +0 -0
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import type FlexCommand from 'sap/ui/rta/command/FlexCommand';
|
|
2
|
+
import type ManagedObject from 'sap/ui/base/ManagedObject';
|
|
3
|
+
import type ElementOverlay from 'sap/ui/dt/ElementOverlay';
|
|
4
|
+
import FlexUtils from 'sap/ui/fl/Utils';
|
|
5
|
+
import IsReuseComponentApi from 'sap/ui/rta/util/isReuseComponent';
|
|
6
|
+
import { getControlById } from '../utils/core';
|
|
7
|
+
import type { Manifest } from 'sap/ui/rta/RuntimeAuthoring';
|
|
8
|
+
import RuntimeAuthoring from 'sap/ui/rta/RuntimeAuthoring';
|
|
9
|
+
|
|
10
|
+
import { isLowerThanMinimalUi5Version, Ui5VersionInfo } from '../utils/version';
|
|
11
|
+
|
|
12
|
+
export interface Deferred<T> {
|
|
13
|
+
promise: Promise<T>;
|
|
14
|
+
resolve: (value: T | PromiseLike<T>) => void;
|
|
15
|
+
reject: (reason?: unknown) => void;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface FragmentChange {
|
|
19
|
+
content: {
|
|
20
|
+
fragmentPath: string;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export type ReuseComponentChecker = (controlId: string) => boolean;
|
|
25
|
+
|
|
26
|
+
let reuseComponentChecker: ReuseComponentChecker | undefined;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Resets the reuse component checker.
|
|
30
|
+
*/
|
|
31
|
+
export function resetReuseComponentChecker(): void {
|
|
32
|
+
reuseComponentChecker = undefined;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Defers the resolution of the promise, stores resolve/reject functions so that they can be accessed at a later stage.
|
|
37
|
+
*
|
|
38
|
+
* @description A Deferred object contains an unresolved promise along with the functions to resolve or reject that promise.
|
|
39
|
+
*
|
|
40
|
+
* @returns {Deferred} Deferred object
|
|
41
|
+
*/
|
|
42
|
+
export function createDeferred<T>(): Deferred<T> {
|
|
43
|
+
let resolve: Deferred<T>['resolve'] | null = null;
|
|
44
|
+
let reject: Deferred<T>['reject'] | null = null;
|
|
45
|
+
|
|
46
|
+
const promise = new Promise<T>((res, rej) => {
|
|
47
|
+
resolve = res;
|
|
48
|
+
reject = rej;
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
if (resolve === null || reject === null) {
|
|
52
|
+
throw new Error('Failed to initialize resolve and reject functions.');
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return { promise, resolve, reject };
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Checks for the existence of a change associated with a specific fragment name in the RTA command stack.
|
|
60
|
+
*
|
|
61
|
+
* @param {RuntimeAuthoring} rta - The RuntimeAuthoring instance to check for existing changes.
|
|
62
|
+
* @param {string} commandName - The name of the fragment to check for existing changes.
|
|
63
|
+
* @param {string} propertyPath - The path to the property as string separated by dot in the change definition to check.
|
|
64
|
+
* @param {string} propertyValue - The value to match against the specified property.
|
|
65
|
+
* @returns {Promise<boolean>} A promise that resolves to `true` if a matching change is found, otherwise `false`.
|
|
66
|
+
*/
|
|
67
|
+
export function checkForExistingChange(
|
|
68
|
+
rta: RuntimeAuthoring,
|
|
69
|
+
commandName: string,
|
|
70
|
+
propertyPath: string,
|
|
71
|
+
propertyValue: string
|
|
72
|
+
): boolean {
|
|
73
|
+
const allCommands = rta.getCommandStack().getCommands();
|
|
74
|
+
|
|
75
|
+
return allCommands.some((command: FlexCommand) => {
|
|
76
|
+
if (typeof command.getCommands === 'function') {
|
|
77
|
+
const subCommand = command.getCommands().find((c: FlexCommand) => c?.getProperty('name') === commandName);
|
|
78
|
+
|
|
79
|
+
return subCommand && matchesChangeProperty(subCommand, propertyPath, propertyValue);
|
|
80
|
+
} else {
|
|
81
|
+
return matchesChangeProperty(command, propertyPath, propertyValue);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Retrieves the value of a nested property from an object based on a dot-separated path.
|
|
88
|
+
*
|
|
89
|
+
* @param obj - The object from which to retrieve the nested property.
|
|
90
|
+
* @param path - A dot-separated string representing the path to the desired property.
|
|
91
|
+
* For example, "a.b.c" will attempt to access `obj.a.b.c`.
|
|
92
|
+
* @returns The value of the nested property if it exists, or `undefined` if any part of the path is invalid.
|
|
93
|
+
*/
|
|
94
|
+
export function getNestedProperty(obj: object, path: string): unknown {
|
|
95
|
+
return path.split('.').reduce((acc: unknown, key) => {
|
|
96
|
+
return (acc as Record<string, unknown>)?.[key];
|
|
97
|
+
}, obj);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Checks if a specific property in the command's change matches the given value.
|
|
102
|
+
*
|
|
103
|
+
* @param {FlexCommand} command - The command object containing the prepared change to be examined.
|
|
104
|
+
* @param {string} propertyPath - The path to the property in the change definition to check.
|
|
105
|
+
* @param {string} propertyValue - The value to match against the specified property.
|
|
106
|
+
* @returns {boolean} Returns true if the command's change contains the specified property with the matching value; otherwise, returns false.
|
|
107
|
+
*/
|
|
108
|
+
export function matchesChangeProperty(command: FlexCommand, propertyPath: string, propertyValue: string): boolean {
|
|
109
|
+
if (typeof command.getPreparedChange !== 'function') {
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
const change = command.getPreparedChange()?.getDefinition?.();
|
|
113
|
+
if (!change) {
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
const nestedProperty = getNestedProperty(change, propertyPath);
|
|
118
|
+
return typeof nestedProperty === 'string' ? nestedProperty.includes(propertyValue) : false;
|
|
119
|
+
}
|
|
120
|
+
interface ControllerInfo {
|
|
121
|
+
controllerName: string;
|
|
122
|
+
viewId: string;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Gets controller name and view ID for the given UI5 control.
|
|
127
|
+
*
|
|
128
|
+
* @param control UI5 control.
|
|
129
|
+
* @returns The controller name and view ID.
|
|
130
|
+
*/
|
|
131
|
+
export function getControllerInfoForControl(control: ManagedObject): ControllerInfo {
|
|
132
|
+
const view = FlexUtils.getViewForControl(control);
|
|
133
|
+
const moduleName = view?.getControllerModuleName?.();
|
|
134
|
+
const controllerName = moduleName ? `module:${moduleName}` : view.getController()?.getMetadata().getName();
|
|
135
|
+
const viewId = view.getId();
|
|
136
|
+
return { controllerName, viewId };
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Gets controller name and view ID for the given overlay control.
|
|
141
|
+
*
|
|
142
|
+
* @param overlayControl The overlay control.
|
|
143
|
+
* @returns The controller name and view ID.
|
|
144
|
+
*/
|
|
145
|
+
|
|
146
|
+
export function getControllerInfo(overlayControl: ElementOverlay): ControllerInfo {
|
|
147
|
+
const control = overlayControl.getElement();
|
|
148
|
+
return getControllerInfoForControl(control);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Gets the reuse component checker function.
|
|
153
|
+
*
|
|
154
|
+
* @param ui5VersionInfo UI5 version information.
|
|
155
|
+
* @returns The reuse component checker function.
|
|
156
|
+
*/
|
|
157
|
+
export async function getReuseComponentChecker(ui5VersionInfo: Ui5VersionInfo): Promise<ReuseComponentChecker> {
|
|
158
|
+
if (reuseComponentChecker) {
|
|
159
|
+
return reuseComponentChecker;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
let reuseComponentApi: typeof IsReuseComponentApi;
|
|
163
|
+
if (!isLowerThanMinimalUi5Version(ui5VersionInfo, { major: 1, minor: 134 })) {
|
|
164
|
+
reuseComponentApi = (await import('sap/ui/rta/util/isReuseComponent')).default;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
reuseComponentChecker = function isReuseComponent(controlId: string): boolean {
|
|
168
|
+
const ui5Control = getControlById(controlId);
|
|
169
|
+
if (!ui5Control) {
|
|
170
|
+
return false;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
const component = FlexUtils.getComponentForControl(ui5Control);
|
|
174
|
+
|
|
175
|
+
if (reuseComponentApi) {
|
|
176
|
+
return reuseComponentApi(component);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
if (!component) {
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
const appComponent = FlexUtils.getAppComponentForControl(component);
|
|
184
|
+
if (!appComponent) {
|
|
185
|
+
return false;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
const manifest = component.getManifest() as Manifest;
|
|
189
|
+
const appManifest = appComponent.getManifest() as Manifest;
|
|
190
|
+
const componentName = manifest?.['sap.app']?.id;
|
|
191
|
+
|
|
192
|
+
// Look for component name in component usages of app component manifest
|
|
193
|
+
const componentUsages = appManifest?.['sap.ui5']?.componentUsages;
|
|
194
|
+
return Object.values(componentUsages || {}).some((componentUsage) => {
|
|
195
|
+
return componentUsage.name === componentName;
|
|
196
|
+
});
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
return reuseComponentChecker;
|
|
200
|
+
}
|
package/dist/preview-middleware/dist/client/cpe/additional-change-info/add-xml-additional-info.js
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
sap.ui.define(["../../utils/core", "../../adp/quick-actions/control-types"], function (____utils_core, ____adp_quick_actions_control_types) {
|
|
4
|
+
"use strict";
|
|
5
|
+
|
|
6
|
+
const getControlBySelector = ____utils_core["getControlBySelector"];
|
|
7
|
+
const findViewByControl = ____utils_core["findViewByControl"];
|
|
8
|
+
const ANALYTICAL_TABLE_TYPE = ____adp_quick_actions_control_types["ANALYTICAL_TABLE_TYPE"];
|
|
9
|
+
const GRID_TABLE_TYPE = ____adp_quick_actions_control_types["GRID_TABLE_TYPE"];
|
|
10
|
+
const MDC_TABLE_TYPE = ____adp_quick_actions_control_types["MDC_TABLE_TYPE"];
|
|
11
|
+
const TREE_TABLE_TYPE = ____adp_quick_actions_control_types["TREE_TABLE_TYPE"];
|
|
12
|
+
function getAddXMLAdditionalInfo(change, appComponent) {
|
|
13
|
+
const selector = change.getSelector();
|
|
14
|
+
const targetAggregation = change.getContent()?.targetAggregation ?? '';
|
|
15
|
+
const targetControl = getControlBySelector(selector, appComponent);
|
|
16
|
+
const controlType = targetControl?.getMetadata().getName() ?? '';
|
|
17
|
+
const templateName = getFragmentTemplateName(selector, targetAggregation, appComponent);
|
|
18
|
+
const viewName = targetControl ? findViewByControl(targetControl)?.getViewName() ?? '' : '';
|
|
19
|
+
const result = {};
|
|
20
|
+
if (templateName) {
|
|
21
|
+
result.templateName = templateName;
|
|
22
|
+
}
|
|
23
|
+
if (controlType && targetAggregation && viewName) {
|
|
24
|
+
result.targetAggregation = targetAggregation;
|
|
25
|
+
result.controlType = controlType;
|
|
26
|
+
result.viewName = viewName;
|
|
27
|
+
}
|
|
28
|
+
return Object.keys(result).length > 0 ? result : undefined;
|
|
29
|
+
}
|
|
30
|
+
function getFragmentTemplateName(selector, targetAggregation, appComponent) {
|
|
31
|
+
const control = getControlBySelector(selector, appComponent);
|
|
32
|
+
if (!control) {
|
|
33
|
+
return '';
|
|
34
|
+
}
|
|
35
|
+
const controlName = control.getMetadata().getName();
|
|
36
|
+
if (controlName === 'sap.uxap.ObjectPageLayout' && targetAggregation === 'sections') {
|
|
37
|
+
return 'OBJECT_PAGE_CUSTOM_SECTION';
|
|
38
|
+
} else if (isCustomAction(controlName, targetAggregation)) {
|
|
39
|
+
return 'CUSTOM_ACTION';
|
|
40
|
+
} else if (isObjectPageHeaderField(control, controlName, targetAggregation)) {
|
|
41
|
+
return 'OBJECT_PAGE_HEADER_FIELD';
|
|
42
|
+
} else if (targetAggregation === 'columns') {
|
|
43
|
+
switch (controlName) {
|
|
44
|
+
case MDC_TABLE_TYPE:
|
|
45
|
+
return 'V4_MDC_TABLE_COLUMN';
|
|
46
|
+
case TREE_TABLE_TYPE:
|
|
47
|
+
case GRID_TABLE_TYPE:
|
|
48
|
+
return 'GRID_TREE_TABLE_COLUMN';
|
|
49
|
+
case ANALYTICAL_TABLE_TYPE:
|
|
50
|
+
return 'ANALYTICAL_TABLE_COLUMN';
|
|
51
|
+
default:
|
|
52
|
+
return '';
|
|
53
|
+
}
|
|
54
|
+
} else if (controlName === 'sap.ui.mdc.Table' && targetAggregation === 'actions') {
|
|
55
|
+
return 'TABLE_ACTION';
|
|
56
|
+
}
|
|
57
|
+
return '';
|
|
58
|
+
}
|
|
59
|
+
function isCustomAction(controlName, targetAggregation) {
|
|
60
|
+
if (['sap.f.DynamicPageTitle', 'sap.uxap.ObjectPageHeader', 'sap.uxap.ObjectPageDynamicHeaderTitle'].includes(controlName)) {
|
|
61
|
+
return targetAggregation === 'actions';
|
|
62
|
+
} else if (controlName === 'sap.m.OverflowToolbar' || controlName === 'sap.m.Toolbar') {
|
|
63
|
+
return targetAggregation === 'content';
|
|
64
|
+
}
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
function isObjectPageHeaderField(control, controlName, targetAggregation) {
|
|
68
|
+
if (controlName === 'sap.uxap.ObjectPageLayout') {
|
|
69
|
+
return targetAggregation === 'headerContent';
|
|
70
|
+
} else if (controlName === 'sap.m.FlexBox') {
|
|
71
|
+
const parentName = control.getParent()?.getMetadata().getName();
|
|
72
|
+
if (parentName === 'sap.uxap.ObjectPageDynamicHeaderContent' || parentName === 'sap.uxap.ObjectPageLayout') {
|
|
73
|
+
return targetAggregation === 'items';
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
var __exports = {
|
|
79
|
+
__esModule: true
|
|
80
|
+
};
|
|
81
|
+
__exports.getAddXMLAdditionalInfo = getAddXMLAdditionalInfo;
|
|
82
|
+
__exports.getFragmentTemplateName = getFragmentTemplateName;
|
|
83
|
+
return __exports;
|
|
84
|
+
});
|
|
85
|
+
//# sourceMappingURL=add-xml-additional-info.js.map
|
package/dist/preview-middleware/dist/client/cpe/additional-change-info/add-xml-additional-info.ts
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import FlexChange from 'sap/ui/fl/Change';
|
|
2
|
+
import { getControlBySelector, findViewByControl } from '../../utils/core';
|
|
3
|
+
import {
|
|
4
|
+
ANALYTICAL_TABLE_TYPE,
|
|
5
|
+
GRID_TABLE_TYPE,
|
|
6
|
+
MDC_TABLE_TYPE,
|
|
7
|
+
TREE_TABLE_TYPE
|
|
8
|
+
} from '../../adp/quick-actions/control-types';
|
|
9
|
+
import Element from 'sap/ui/core/Element';
|
|
10
|
+
import type Component from 'sap/ui/core/Component';
|
|
11
|
+
import type Selector from 'sap/ui/fl/Selector';
|
|
12
|
+
|
|
13
|
+
export type AddXMLAdditionalInfo = {
|
|
14
|
+
templateName?: string;
|
|
15
|
+
targetAggregation?: string;
|
|
16
|
+
controlType?: string;
|
|
17
|
+
viewName?: string;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export type AddXMLChangeContent = {
|
|
21
|
+
targetAggregation?: string;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export function getAddXMLAdditionalInfo(
|
|
25
|
+
change: FlexChange<AddXMLChangeContent>,
|
|
26
|
+
appComponent?: Component
|
|
27
|
+
): AddXMLAdditionalInfo | undefined {
|
|
28
|
+
const selector = change.getSelector();
|
|
29
|
+
const targetAggregation = change.getContent()?.targetAggregation ?? '';
|
|
30
|
+
const targetControl = getControlBySelector(selector, appComponent);
|
|
31
|
+
const controlType = targetControl?.getMetadata().getName() ?? '';
|
|
32
|
+
const templateName = getFragmentTemplateName(selector, targetAggregation, appComponent);
|
|
33
|
+
const viewName = targetControl ? (findViewByControl(targetControl)?.getViewName() ?? '') : '';
|
|
34
|
+
|
|
35
|
+
const result: AddXMLAdditionalInfo = {};
|
|
36
|
+
if (templateName) {
|
|
37
|
+
result.templateName = templateName;
|
|
38
|
+
}
|
|
39
|
+
if (controlType && targetAggregation && viewName) {
|
|
40
|
+
result.targetAggregation = targetAggregation;
|
|
41
|
+
result.controlType = controlType;
|
|
42
|
+
result.viewName = viewName;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return Object.keys(result).length > 0 ? result : undefined;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export function getFragmentTemplateName(
|
|
49
|
+
selector: Selector | undefined,
|
|
50
|
+
targetAggregation: string,
|
|
51
|
+
appComponent?: Component
|
|
52
|
+
): string {
|
|
53
|
+
const control = getControlBySelector(selector, appComponent);
|
|
54
|
+
|
|
55
|
+
if (!control) {
|
|
56
|
+
return '';
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const controlName = control.getMetadata().getName();
|
|
60
|
+
if (controlName === 'sap.uxap.ObjectPageLayout' && targetAggregation === 'sections') {
|
|
61
|
+
return 'OBJECT_PAGE_CUSTOM_SECTION';
|
|
62
|
+
} else if (isCustomAction(controlName, targetAggregation)) {
|
|
63
|
+
return 'CUSTOM_ACTION';
|
|
64
|
+
} else if (isObjectPageHeaderField(control, controlName, targetAggregation)) {
|
|
65
|
+
return 'OBJECT_PAGE_HEADER_FIELD';
|
|
66
|
+
} else if (targetAggregation === 'columns') {
|
|
67
|
+
switch (controlName) {
|
|
68
|
+
case MDC_TABLE_TYPE:
|
|
69
|
+
return 'V4_MDC_TABLE_COLUMN';
|
|
70
|
+
case TREE_TABLE_TYPE:
|
|
71
|
+
case GRID_TABLE_TYPE:
|
|
72
|
+
return 'GRID_TREE_TABLE_COLUMN';
|
|
73
|
+
case ANALYTICAL_TABLE_TYPE:
|
|
74
|
+
return 'ANALYTICAL_TABLE_COLUMN';
|
|
75
|
+
default:
|
|
76
|
+
return '';
|
|
77
|
+
}
|
|
78
|
+
} else if (controlName === 'sap.ui.mdc.Table' && targetAggregation === 'actions') {
|
|
79
|
+
return 'TABLE_ACTION';
|
|
80
|
+
}
|
|
81
|
+
return '';
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function isCustomAction(controlName: string, targetAggregation: string): boolean {
|
|
85
|
+
if (
|
|
86
|
+
['sap.f.DynamicPageTitle', 'sap.uxap.ObjectPageHeader', 'sap.uxap.ObjectPageDynamicHeaderTitle'].includes(
|
|
87
|
+
controlName
|
|
88
|
+
)
|
|
89
|
+
) {
|
|
90
|
+
return targetAggregation === 'actions';
|
|
91
|
+
} else if (controlName === 'sap.m.OverflowToolbar' || controlName === 'sap.m.Toolbar') {
|
|
92
|
+
return targetAggregation === 'content';
|
|
93
|
+
}
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
function isObjectPageHeaderField(control: Element, controlName: string, targetAggregation: string): boolean {
|
|
98
|
+
if (controlName === 'sap.uxap.ObjectPageLayout') {
|
|
99
|
+
return targetAggregation === 'headerContent';
|
|
100
|
+
} else if (controlName === 'sap.m.FlexBox') {
|
|
101
|
+
const parentName = control.getParent()?.getMetadata().getName();
|
|
102
|
+
if (parentName === 'sap.uxap.ObjectPageDynamicHeaderContent' || parentName === 'sap.uxap.ObjectPageLayout') {
|
|
103
|
+
return targetAggregation === 'items';
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
sap.ui.define(["sap/ui/rta/command/CommandFactory", "open/ux/preview/client/thirdparty/@sap-ux-private/control-property-editor-common", "./validator", "../../utils/fe-v4"], function (CommandFactory, ___sap_ux_private_control_property_editor_common, ___validator, ____utils_fe_v4) {
|
|
4
|
+
"use strict";
|
|
5
|
+
|
|
6
|
+
const PropertyType = ___sap_ux_private_control_property_editor_common["PropertyType"];
|
|
7
|
+
const validateBindingModel = ___validator["validateBindingModel"];
|
|
8
|
+
const createManifestPropertyChange = ____utils_fe_v4["createManifestPropertyChange"];
|
|
9
|
+
/**
|
|
10
|
+
* Function to check a give value is a binding expression.
|
|
11
|
+
*
|
|
12
|
+
* @param value value to be checked.
|
|
13
|
+
* @returns boolean
|
|
14
|
+
*/
|
|
15
|
+
function isBindingExpression(value) {
|
|
16
|
+
return value.includes('{') && value.includes('}') && value.indexOf('{') < value.indexOf('}');
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
* @param options UI5 adaptation options
|
|
22
|
+
* @param change changed property/app descriptor property of a control
|
|
23
|
+
*/
|
|
24
|
+
async function applyChange(options, change) {
|
|
25
|
+
const {
|
|
26
|
+
rta
|
|
27
|
+
} = options;
|
|
28
|
+
const isBindingString = typeof change.value === 'string' && isBindingExpression(change.value);
|
|
29
|
+
const flexSettings = rta.getFlexSettings();
|
|
30
|
+
const modifiedControl = sap.ui.getCore().byId(change.controlId);
|
|
31
|
+
if (!modifiedControl) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (change.propertyType === PropertyType.ControlProperty) {
|
|
35
|
+
const modifiedControlModifiedProperties = modifiedControl.getMetadata().getAllProperties()[change.propertyName];
|
|
36
|
+
const isBindingModel = isBindingString && modifiedControlModifiedProperties?.type === 'string';
|
|
37
|
+
const changeType = isBindingString ? 'BindProperty' : 'Property';
|
|
38
|
+
if (isBindingModel) {
|
|
39
|
+
await validateBindingModel(modifiedControl, change.value);
|
|
40
|
+
}
|
|
41
|
+
const property = isBindingString ? 'newBinding' : 'newValue';
|
|
42
|
+
const modifiedValue = {
|
|
43
|
+
generator: flexSettings.generator,
|
|
44
|
+
propertyName: change.propertyName,
|
|
45
|
+
[property]: change.value
|
|
46
|
+
};
|
|
47
|
+
const command = await CommandFactory.getCommandFor(modifiedControl, changeType, modifiedValue, null, flexSettings);
|
|
48
|
+
await rta.getCommandStack().pushAndExecute(command);
|
|
49
|
+
} else if (change.propertyType === PropertyType.Configuration) {
|
|
50
|
+
const command = await createManifestPropertyChange(modifiedControl, flexSettings, {
|
|
51
|
+
[change.propertyName]: change.value
|
|
52
|
+
});
|
|
53
|
+
if (command) {
|
|
54
|
+
await rta.getCommandStack().pushAndExecute(command);
|
|
55
|
+
} else {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
var __exports = {
|
|
61
|
+
__esModule: true
|
|
62
|
+
};
|
|
63
|
+
__exports.applyChange = applyChange;
|
|
64
|
+
return __exports;
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=flex-change.js.map
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type FlexCommand from 'sap/ui/rta/command/FlexCommand';
|
|
2
|
+
import CommandFactory from 'sap/ui/rta/command/CommandFactory';
|
|
3
|
+
import { PropertyType, type PropertyChange } from '@sap-ux-private/control-property-editor-common';
|
|
4
|
+
import type { UI5AdaptationOptions } from '../types';
|
|
5
|
+
import { validateBindingModel } from './validator';
|
|
6
|
+
import { createManifestPropertyChange } from '../../utils/fe-v4';
|
|
7
|
+
/**
|
|
8
|
+
* Function to check a give value is a binding expression.
|
|
9
|
+
*
|
|
10
|
+
* @param value value to be checked.
|
|
11
|
+
* @returns boolean
|
|
12
|
+
*/
|
|
13
|
+
function isBindingExpression(value: string): boolean {
|
|
14
|
+
return value.includes('{') && value.includes('}') && value.indexOf('{') < value.indexOf('}');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
* @param options UI5 adaptation options
|
|
20
|
+
* @param change changed property/app descriptor property of a control
|
|
21
|
+
*/
|
|
22
|
+
export async function applyChange(options: UI5AdaptationOptions, change: PropertyChange): Promise<void> {
|
|
23
|
+
const { rta } = options;
|
|
24
|
+
|
|
25
|
+
const isBindingString = typeof change.value === 'string' && isBindingExpression(change.value);
|
|
26
|
+
const flexSettings = rta.getFlexSettings();
|
|
27
|
+
const modifiedControl = sap.ui.getCore().byId(change.controlId);
|
|
28
|
+
if (!modifiedControl) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (change.propertyType === PropertyType.ControlProperty) {
|
|
33
|
+
const modifiedControlModifiedProperties = modifiedControl.getMetadata().getAllProperties()[change.propertyName];
|
|
34
|
+
const isBindingModel = isBindingString && modifiedControlModifiedProperties?.type === 'string';
|
|
35
|
+
const changeType = isBindingString ? 'BindProperty' : 'Property';
|
|
36
|
+
|
|
37
|
+
if (isBindingModel) {
|
|
38
|
+
await validateBindingModel(modifiedControl, change.value as string);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const property = isBindingString ? 'newBinding' : 'newValue';
|
|
42
|
+
const modifiedValue = {
|
|
43
|
+
generator: flexSettings.generator,
|
|
44
|
+
propertyName: change.propertyName,
|
|
45
|
+
[property]: change.value
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const command = await CommandFactory.getCommandFor<FlexCommand>(
|
|
49
|
+
modifiedControl,
|
|
50
|
+
changeType,
|
|
51
|
+
modifiedValue,
|
|
52
|
+
null,
|
|
53
|
+
flexSettings
|
|
54
|
+
);
|
|
55
|
+
await rta.getCommandStack().pushAndExecute(command);
|
|
56
|
+
} else if (change.propertyType === PropertyType.Configuration) {
|
|
57
|
+
const command = await createManifestPropertyChange(modifiedControl, flexSettings, {
|
|
58
|
+
[change.propertyName]: change.value
|
|
59
|
+
});
|
|
60
|
+
if (command) {
|
|
61
|
+
await rta.getCommandStack().pushAndExecute(command);
|
|
62
|
+
} else {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|