@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,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
sap.ui.define(["../../../utils/core", "sap/ui/rta/command/CommandFactory", "../../../utils/fe-v4"], function (_____utils_core, CommandFactory, _____utils_fe_v4) {
|
|
4
|
+
"use strict";
|
|
5
|
+
|
|
6
|
+
const getControlById = _____utils_core["getControlById"];
|
|
7
|
+
const getV4AppComponent = _____utils_fe_v4["getV4AppComponent"];
|
|
8
|
+
const getPageName = _____utils_fe_v4["getPageName"];
|
|
9
|
+
const getReference = _____utils_fe_v4["getReference"];
|
|
10
|
+
const isMacroTable = _____utils_fe_v4["isMacroTable"];
|
|
11
|
+
async function executeToggleAction(context, isButtonEnabled, controlType, propertyPath) {
|
|
12
|
+
const controls = context.controlIndex[controlType] ?? [];
|
|
13
|
+
const control = controls[0];
|
|
14
|
+
if (control) {
|
|
15
|
+
const modifiedControl = getControlById(control.controlId);
|
|
16
|
+
if (!modifiedControl) {
|
|
17
|
+
return [];
|
|
18
|
+
}
|
|
19
|
+
const {
|
|
20
|
+
flexSettings
|
|
21
|
+
} = context;
|
|
22
|
+
const parent = modifiedControl.getParent();
|
|
23
|
+
if (!parent) {
|
|
24
|
+
return [];
|
|
25
|
+
}
|
|
26
|
+
const modifiedValue = {
|
|
27
|
+
reference: getReference(modifiedControl),
|
|
28
|
+
appComponent: getV4AppComponent(modifiedControl),
|
|
29
|
+
changeType: 'appdescr_fe_changePageConfiguration',
|
|
30
|
+
parameters: {
|
|
31
|
+
page: getPageName(parent),
|
|
32
|
+
entityPropertyChange: {
|
|
33
|
+
propertyPath: propertyPath,
|
|
34
|
+
propertyValue: !isButtonEnabled,
|
|
35
|
+
operation: 'UPSERT'
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const command = await CommandFactory.getCommandFor(modifiedControl, 'appDescriptor', modifiedValue, null, flexSettings);
|
|
40
|
+
return [command];
|
|
41
|
+
}
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
const PATTERN_SUFFIX = ':?query:';
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Generates the pattern for a new route based on the input.
|
|
48
|
+
*
|
|
49
|
+
* @param sourceRoutePattern source page route pattern
|
|
50
|
+
* @param navProperty navigation property name (used to build nav pattern for nested OP )
|
|
51
|
+
* @param targetEntitySet navigation target entity set
|
|
52
|
+
* @returns the generated pattern as string
|
|
53
|
+
*/
|
|
54
|
+
function generateRoutePattern(sourceRoutePattern, navProperty, targetEntitySet) {
|
|
55
|
+
const parts = [];
|
|
56
|
+
const basePattern = sourceRoutePattern.replace(PATTERN_SUFFIX, '');
|
|
57
|
+
if (basePattern) {
|
|
58
|
+
parts.push(basePattern);
|
|
59
|
+
parts.push('/');
|
|
60
|
+
parts.push(navProperty);
|
|
61
|
+
} else {
|
|
62
|
+
parts.push(targetEntitySet);
|
|
63
|
+
}
|
|
64
|
+
parts.push(`({${targetEntitySet}Key})`);
|
|
65
|
+
parts.push(PATTERN_SUFFIX);
|
|
66
|
+
return parts.join('');
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Get LineItem annotation - tries to use design-time helper if available, falls back to local implementation.
|
|
71
|
+
*
|
|
72
|
+
* @param table - table control
|
|
73
|
+
* @returns LineItem annotation string
|
|
74
|
+
*/
|
|
75
|
+
function getLineItemAnnotation(table) {
|
|
76
|
+
try {
|
|
77
|
+
const helper = sap.ui.require('sap/fe/macros/table/designtime/Table.designtime.helper');
|
|
78
|
+
if (helper && typeof helper.getLineItemAnnotation === 'function') {
|
|
79
|
+
return helper.getLineItemAnnotation(table);
|
|
80
|
+
}
|
|
81
|
+
} catch {
|
|
82
|
+
// Module not available or error occurred
|
|
83
|
+
}
|
|
84
|
+
return getLineItemAnnotationForTable(table);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Get property path for table action.
|
|
89
|
+
*
|
|
90
|
+
* @param table - table control
|
|
91
|
+
* @returns string
|
|
92
|
+
*/
|
|
93
|
+
function getPropertyPath(table, property = 'actions') {
|
|
94
|
+
const macroTable = table.getParent();
|
|
95
|
+
const configPath = '';
|
|
96
|
+
if (isMacroTable(macroTable)) {
|
|
97
|
+
const lineItemAnnotation = getLineItemAnnotation(macroTable);
|
|
98
|
+
const navigationPath = macroTable.metaPath.split(macroTable.getProperty('contextPath'))[1];
|
|
99
|
+
if (!lineItemAnnotation) {
|
|
100
|
+
throw new Error('Line item annotation could not be determined for the table.');
|
|
101
|
+
}
|
|
102
|
+
if (navigationPath) {
|
|
103
|
+
return configPath.concat('controlConfiguration/', navigationPath.split('@')[0], lineItemAnnotation, `/${property}/`);
|
|
104
|
+
} else {
|
|
105
|
+
let contextString = macroTable.metaPath;
|
|
106
|
+
const firstSlash = contextString.indexOf('/');
|
|
107
|
+
if (firstSlash >= 0) {
|
|
108
|
+
contextString = contextString.substring(firstSlash + 1);
|
|
109
|
+
}
|
|
110
|
+
const secondSlash = contextString.indexOf('/');
|
|
111
|
+
if (secondSlash >= 0) {
|
|
112
|
+
contextString = contextString.substring(0, secondSlash);
|
|
113
|
+
}
|
|
114
|
+
return configPath.concat('controlConfiguration/', '/', contextString, '/', lineItemAnnotation, `/${property}/`);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return undefined;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Return the line item annotation that defines the table.
|
|
122
|
+
* This may come from a Presentation Variant, a Selection Presentation Variant or the default.
|
|
123
|
+
* @param table - The table control
|
|
124
|
+
* @returns The line item annotation used to define the table
|
|
125
|
+
*/
|
|
126
|
+
function getLineItemAnnotationForTable(macroTable) {
|
|
127
|
+
let lineItemAnnotation = '';
|
|
128
|
+
if (isMacroTable(macroTable)) {
|
|
129
|
+
const presentation = macroTable.getModel()?.getMetaModel()?.getObject(macroTable.metaPath);
|
|
130
|
+
|
|
131
|
+
// default line item annotation
|
|
132
|
+
if (!presentation.Visualizations && !presentation.PresentationVariant) {
|
|
133
|
+
lineItemAnnotation = macroTable.metaPath.split('/').pop();
|
|
134
|
+
} else if (presentation.Visualizations) {
|
|
135
|
+
lineItemAnnotation = presentation.Visualizations[0].$AnnotationPath;
|
|
136
|
+
} else if (presentation.PresentationVariant) {
|
|
137
|
+
if (presentation.PresentationVariant.Visualizations) {
|
|
138
|
+
lineItemAnnotation = presentation.PresentationVariant.Visualizations[0].$AnnotationPath;
|
|
139
|
+
} else {
|
|
140
|
+
const contextPath = macroTable.metaPath.startsWith('/') ? macroTable.metaPath.split('@')[0] : macroTable.contextPath;
|
|
141
|
+
const pathForLineItems = contextPath + presentation.PresentationVariant.$Path;
|
|
142
|
+
const presentationVariantType = macroTable.getModel()?.getMetaModel()?.getObject(pathForLineItems);
|
|
143
|
+
lineItemAnnotation = presentationVariantType.Visualizations[0].$AnnotationPath;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
return lineItemAnnotation;
|
|
148
|
+
}
|
|
149
|
+
var __exports = {
|
|
150
|
+
__esModule: true
|
|
151
|
+
};
|
|
152
|
+
__exports.executeToggleAction = executeToggleAction;
|
|
153
|
+
__exports.generateRoutePattern = generateRoutePattern;
|
|
154
|
+
__exports.getLineItemAnnotation = getLineItemAnnotation;
|
|
155
|
+
__exports.getPropertyPath = getPropertyPath;
|
|
156
|
+
return __exports;
|
|
157
|
+
});
|
|
158
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { getControlById } from '../../../utils/core';
|
|
2
|
+
import type FlexCommand from 'sap/ui/rta/command/FlexCommand';
|
|
3
|
+
import type { QuickActionContext } from '../../../cpe/quick-actions/quick-action-definition';
|
|
4
|
+
import CommandFactory from 'sap/ui/rta/command/CommandFactory';
|
|
5
|
+
import { getV4AppComponent, getPageName, getReference, isMacroTable } from '../../../utils/fe-v4';
|
|
6
|
+
import UI5Element from 'sap/ui/core/Element';
|
|
7
|
+
|
|
8
|
+
export async function executeToggleAction(
|
|
9
|
+
context: QuickActionContext,
|
|
10
|
+
isButtonEnabled: boolean,
|
|
11
|
+
controlType: string,
|
|
12
|
+
propertyPath: string
|
|
13
|
+
): Promise<FlexCommand[]> {
|
|
14
|
+
const controls = context.controlIndex[controlType] ?? [];
|
|
15
|
+
const control = controls[0];
|
|
16
|
+
if (control) {
|
|
17
|
+
const modifiedControl = getControlById(control.controlId);
|
|
18
|
+
if (!modifiedControl) {
|
|
19
|
+
return [];
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const { flexSettings } = context;
|
|
23
|
+
const parent = modifiedControl.getParent();
|
|
24
|
+
if (!parent) {
|
|
25
|
+
return [];
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const modifiedValue = {
|
|
29
|
+
reference: getReference(modifiedControl),
|
|
30
|
+
appComponent: getV4AppComponent(modifiedControl),
|
|
31
|
+
changeType: 'appdescr_fe_changePageConfiguration',
|
|
32
|
+
parameters: {
|
|
33
|
+
page: getPageName(parent),
|
|
34
|
+
entityPropertyChange: {
|
|
35
|
+
propertyPath: propertyPath,
|
|
36
|
+
propertyValue: !isButtonEnabled,
|
|
37
|
+
operation: 'UPSERT'
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const command = await CommandFactory.getCommandFor<FlexCommand>(
|
|
43
|
+
modifiedControl,
|
|
44
|
+
'appDescriptor',
|
|
45
|
+
modifiedValue,
|
|
46
|
+
null,
|
|
47
|
+
flexSettings
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
return [command];
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return [];
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const PATTERN_SUFFIX = ':?query:';
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Generates the pattern for a new route based on the input.
|
|
60
|
+
*
|
|
61
|
+
* @param sourceRoutePattern source page route pattern
|
|
62
|
+
* @param navProperty navigation property name (used to build nav pattern for nested OP )
|
|
63
|
+
* @param targetEntitySet navigation target entity set
|
|
64
|
+
* @returns the generated pattern as string
|
|
65
|
+
*/
|
|
66
|
+
export function generateRoutePattern(sourceRoutePattern: string, navProperty: string, targetEntitySet: string): string {
|
|
67
|
+
const parts: string[] = [];
|
|
68
|
+
const basePattern = sourceRoutePattern.replace(PATTERN_SUFFIX, '');
|
|
69
|
+
if (basePattern) {
|
|
70
|
+
parts.push(basePattern);
|
|
71
|
+
parts.push('/');
|
|
72
|
+
parts.push(navProperty);
|
|
73
|
+
} else {
|
|
74
|
+
parts.push(targetEntitySet);
|
|
75
|
+
}
|
|
76
|
+
parts.push(`({${targetEntitySet}Key})`);
|
|
77
|
+
parts.push(PATTERN_SUFFIX);
|
|
78
|
+
return parts.join('');
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Get LineItem annotation - tries to use design-time helper if available, falls back to local implementation.
|
|
83
|
+
*
|
|
84
|
+
* @param table - table control
|
|
85
|
+
* @returns LineItem annotation string
|
|
86
|
+
*/
|
|
87
|
+
export function getLineItemAnnotation(table: UI5Element): string | undefined {
|
|
88
|
+
try {
|
|
89
|
+
const helper = sap.ui.require('sap/fe/macros/table/designtime/Table.designtime.helper');
|
|
90
|
+
if (helper && typeof helper.getLineItemAnnotation === 'function') {
|
|
91
|
+
return helper.getLineItemAnnotation(table);
|
|
92
|
+
}
|
|
93
|
+
} catch {
|
|
94
|
+
// Module not available or error occurred
|
|
95
|
+
}
|
|
96
|
+
return getLineItemAnnotationForTable(table);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Get property path for table action.
|
|
101
|
+
*
|
|
102
|
+
* @param table - table control
|
|
103
|
+
* @returns string
|
|
104
|
+
*/
|
|
105
|
+
export function getPropertyPath(table: UI5Element, property: 'actions' | 'columns' = 'actions'): string | undefined {
|
|
106
|
+
const macroTable = table.getParent();
|
|
107
|
+
const configPath = '';
|
|
108
|
+
if (isMacroTable(macroTable)) {
|
|
109
|
+
const lineItemAnnotation = getLineItemAnnotation(macroTable);
|
|
110
|
+
|
|
111
|
+
const navigationPath = macroTable.metaPath.split(macroTable.getProperty('contextPath'))[1];
|
|
112
|
+
if (!lineItemAnnotation) {
|
|
113
|
+
throw new Error('Line item annotation could not be determined for the table.');
|
|
114
|
+
}
|
|
115
|
+
if (navigationPath) {
|
|
116
|
+
return configPath.concat(
|
|
117
|
+
'controlConfiguration/',
|
|
118
|
+
navigationPath.split('@')[0],
|
|
119
|
+
lineItemAnnotation,
|
|
120
|
+
`/${property}/`
|
|
121
|
+
);
|
|
122
|
+
} else {
|
|
123
|
+
let contextString = macroTable.metaPath;
|
|
124
|
+
const firstSlash = contextString.indexOf('/');
|
|
125
|
+
if (firstSlash >= 0) {
|
|
126
|
+
contextString = contextString.substring(firstSlash + 1);
|
|
127
|
+
}
|
|
128
|
+
const secondSlash = contextString.indexOf('/');
|
|
129
|
+
if (secondSlash >= 0) {
|
|
130
|
+
contextString = contextString.substring(0, secondSlash);
|
|
131
|
+
}
|
|
132
|
+
return configPath.concat(
|
|
133
|
+
'controlConfiguration/',
|
|
134
|
+
'/',
|
|
135
|
+
contextString,
|
|
136
|
+
'/',
|
|
137
|
+
lineItemAnnotation,
|
|
138
|
+
`/${property}/`
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return undefined;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Return the line item annotation that defines the table.
|
|
147
|
+
* This may come from a Presentation Variant, a Selection Presentation Variant or the default.
|
|
148
|
+
* @param table - The table control
|
|
149
|
+
* @returns The line item annotation used to define the table
|
|
150
|
+
*/
|
|
151
|
+
function getLineItemAnnotationForTable(macroTable: UI5Element): string | undefined {
|
|
152
|
+
let lineItemAnnotation: string | undefined = '';
|
|
153
|
+
if (isMacroTable(macroTable)) {
|
|
154
|
+
const presentation = macroTable.getModel()?.getMetaModel()?.getObject(macroTable.metaPath);
|
|
155
|
+
|
|
156
|
+
// default line item annotation
|
|
157
|
+
if (!presentation.Visualizations && !presentation.PresentationVariant) {
|
|
158
|
+
lineItemAnnotation = macroTable.metaPath.split('/').pop();
|
|
159
|
+
} else if (presentation.Visualizations) {
|
|
160
|
+
lineItemAnnotation = presentation.Visualizations[0].$AnnotationPath;
|
|
161
|
+
} else if (presentation.PresentationVariant) {
|
|
162
|
+
if (presentation.PresentationVariant.Visualizations) {
|
|
163
|
+
lineItemAnnotation = presentation.PresentationVariant.Visualizations[0].$AnnotationPath;
|
|
164
|
+
} else {
|
|
165
|
+
const contextPath = macroTable.metaPath.startsWith('/')
|
|
166
|
+
? macroTable.metaPath.split('@')[0]
|
|
167
|
+
: macroTable.contextPath;
|
|
168
|
+
const pathForLineItems = contextPath + presentation.PresentationVariant.$Path;
|
|
169
|
+
const presentationVariantType = macroTable.getModel()?.getMetaModel()?.getObject(pathForLineItems);
|
|
170
|
+
lineItemAnnotation = presentationVariantType.Visualizations[0].$AnnotationPath;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return lineItemAnnotation;
|
|
175
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
sap.ui.define([], function () {
|
|
4
|
+
"use strict";
|
|
5
|
+
|
|
6
|
+
function __ui5_require_async(path) {
|
|
7
|
+
return new Promise(function (resolve, reject) {
|
|
8
|
+
sap.ui.require([path], function (module) {
|
|
9
|
+
if (!(module && module.__esModule)) {
|
|
10
|
+
module = module === null || !(typeof module === "object" && path.endsWith("/library")) ? {
|
|
11
|
+
default: module
|
|
12
|
+
} : module;
|
|
13
|
+
Object.defineProperty(module, "__esModule", {
|
|
14
|
+
value: true
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
resolve(module);
|
|
18
|
+
}, function (err) {
|
|
19
|
+
reject(err);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Loads the appropriate Quick Action registries for the given application type.
|
|
25
|
+
*
|
|
26
|
+
* @param appType - Application type.
|
|
27
|
+
* @returns Quick Action registries.
|
|
28
|
+
*/
|
|
29
|
+
async function loadDefinitions(appType) {
|
|
30
|
+
if (appType === 'fe-v2') {
|
|
31
|
+
const FEV2QuickActionRegistry = (await __ui5_require_async('open/ux/preview/client/adp/quick-actions/fe-v2/registry')).default;
|
|
32
|
+
return [new FEV2QuickActionRegistry()];
|
|
33
|
+
}
|
|
34
|
+
if (appType === 'fe-v4') {
|
|
35
|
+
const FEV4QuickActionRegistry = (await __ui5_require_async('open/ux/preview/client/adp/quick-actions/fe-v4/registry')).default;
|
|
36
|
+
return [new FEV4QuickActionRegistry()];
|
|
37
|
+
}
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
40
|
+
var __exports = {
|
|
41
|
+
__esModule: true
|
|
42
|
+
};
|
|
43
|
+
__exports.loadDefinitions = loadDefinitions;
|
|
44
|
+
return __exports;
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=load.js.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { QuickActionDefinitionRegistry } from '../../cpe/quick-actions/registry';
|
|
2
|
+
import type { ApplicationType } from '../../utils/application';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Loads the appropriate Quick Action registries for the given application type.
|
|
6
|
+
*
|
|
7
|
+
* @param appType - Application type.
|
|
8
|
+
* @returns Quick Action registries.
|
|
9
|
+
*/
|
|
10
|
+
export async function loadDefinitions(appType: ApplicationType): Promise<QuickActionDefinitionRegistry<string>[]> {
|
|
11
|
+
if (appType === 'fe-v2') {
|
|
12
|
+
const FEV2QuickActionRegistry = (await import('open/ux/preview/client/adp/quick-actions/fe-v2/registry'))
|
|
13
|
+
.default;
|
|
14
|
+
|
|
15
|
+
return [new FEV2QuickActionRegistry()];
|
|
16
|
+
}
|
|
17
|
+
if (appType === 'fe-v4') {
|
|
18
|
+
const FEV4QuickActionRegistry = (await import('open/ux/preview/client/adp/quick-actions/fe-v4/registry'))
|
|
19
|
+
.default;
|
|
20
|
+
return [new FEV4QuickActionRegistry()];
|
|
21
|
+
}
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
sap.ui.define(["./dialog-enablement-validator"], function (___dialog_enablement_validator) {
|
|
4
|
+
"use strict";
|
|
5
|
+
|
|
6
|
+
const DIALOG_ENABLEMENT_VALIDATOR = ___dialog_enablement_validator["DIALOG_ENABLEMENT_VALIDATOR"];
|
|
7
|
+
/**
|
|
8
|
+
* Base class for all quick actions.
|
|
9
|
+
*/
|
|
10
|
+
class QuickActionDefinitionBase {
|
|
11
|
+
get id() {
|
|
12
|
+
return `${this.context.key}-${this.type}`;
|
|
13
|
+
}
|
|
14
|
+
getTelemetryIdentifier(update = false) {
|
|
15
|
+
if (update === true) {
|
|
16
|
+
this.telemetryIdentifier = new Date().toISOString();
|
|
17
|
+
}
|
|
18
|
+
return this.telemetryIdentifier;
|
|
19
|
+
}
|
|
20
|
+
get quickActionSteps() {
|
|
21
|
+
return this.enablementValidators.find(item => item === DIALOG_ENABLEMENT_VALIDATOR) ? 2 : 1;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Quick Actions tooltip.
|
|
26
|
+
*/
|
|
27
|
+
get tooltip() {
|
|
28
|
+
if (this.validationResult) {
|
|
29
|
+
const validationErrors = this.validationResult.filter(result => result?.type === 'error');
|
|
30
|
+
if (validationErrors.length > 0) {
|
|
31
|
+
const error = validationErrors[0];
|
|
32
|
+
return error.message;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
get isDisabled() {
|
|
38
|
+
if (this.validationResult === undefined) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
const validationErrors = this.validationResult.filter(result => result?.type === 'error');
|
|
42
|
+
return validationErrors.length > 0;
|
|
43
|
+
}
|
|
44
|
+
get textKey() {
|
|
45
|
+
return this.defaultTextKey;
|
|
46
|
+
}
|
|
47
|
+
constructor(type, kind, defaultTextKey, context, enablementValidators = []) {
|
|
48
|
+
this.type = type;
|
|
49
|
+
this.kind = kind;
|
|
50
|
+
this.defaultTextKey = defaultTextKey;
|
|
51
|
+
this.context = context;
|
|
52
|
+
this.enablementValidators = enablementValidators;
|
|
53
|
+
}
|
|
54
|
+
async runEnablementValidators() {
|
|
55
|
+
this.validationResult = await Promise.all(this.enablementValidators.map(async validator => await validator.run()));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
var __exports = {
|
|
59
|
+
__esModule: true
|
|
60
|
+
};
|
|
61
|
+
__exports.QuickActionDefinitionBase = QuickActionDefinitionBase;
|
|
62
|
+
return __exports;
|
|
63
|
+
});
|
|
64
|
+
//# sourceMappingURL=quick-action-base.js.map
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { QuickActionContext } from '../../cpe/quick-actions/quick-action-definition';
|
|
2
|
+
|
|
3
|
+
import { EnablementValidator, EnablementValidatorError, EnablementValidatorResult } from './enablement-validator';
|
|
4
|
+
import { DIALOG_ENABLEMENT_VALIDATOR } from './dialog-enablement-validator';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Base class for all quick actions.
|
|
8
|
+
*/
|
|
9
|
+
export abstract class QuickActionDefinitionBase<T extends string> {
|
|
10
|
+
private telemetryIdentifier: string;
|
|
11
|
+
|
|
12
|
+
public get id(): string {
|
|
13
|
+
return `${this.context.key}-${this.type}`;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
public getTelemetryIdentifier(update = false) {
|
|
17
|
+
if (update === true) {
|
|
18
|
+
this.telemetryIdentifier = new Date().toISOString();
|
|
19
|
+
}
|
|
20
|
+
return this.telemetryIdentifier;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
public get quickActionSteps(): number {
|
|
24
|
+
return this.enablementValidators.find((item) => item === DIALOG_ENABLEMENT_VALIDATOR)
|
|
25
|
+
? 2
|
|
26
|
+
: 1;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Quick Actions tooltip.
|
|
31
|
+
*/
|
|
32
|
+
public get tooltip(): string | undefined {
|
|
33
|
+
if (this.validationResult) {
|
|
34
|
+
const validationErrors = this.validationResult.filter(
|
|
35
|
+
(result): result is EnablementValidatorError => result?.type === 'error'
|
|
36
|
+
);
|
|
37
|
+
if (validationErrors.length > 0) {
|
|
38
|
+
const error = validationErrors[0];
|
|
39
|
+
return error.message;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
protected validationResult: EnablementValidatorResult[] | undefined;
|
|
46
|
+
protected get isDisabled(): boolean {
|
|
47
|
+
if (this.validationResult === undefined) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
const validationErrors = this.validationResult.filter((result) => result?.type === 'error');
|
|
51
|
+
return validationErrors.length > 0;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
protected get textKey(): string {
|
|
55
|
+
return this.defaultTextKey;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
constructor(
|
|
59
|
+
public readonly type: string,
|
|
60
|
+
public readonly kind: T,
|
|
61
|
+
protected readonly defaultTextKey: string,
|
|
62
|
+
protected readonly context: QuickActionContext,
|
|
63
|
+
protected readonly enablementValidators: EnablementValidator[] = []
|
|
64
|
+
) {}
|
|
65
|
+
|
|
66
|
+
async runEnablementValidators(): Promise<void> {
|
|
67
|
+
this.validationResult = await Promise.all(
|
|
68
|
+
this.enablementValidators.map(async (validator) => await validator.run())
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
sap.ui.define(["open/ux/preview/client/thirdparty/@sap-ux-private/control-property-editor-common", "../../cpe/quick-actions/utils", "./quick-action-base"], function (___sap_ux_private_control_property_editor_common, ____cpe_quick_actions_utils, ___quick_action_base) {
|
|
4
|
+
"use strict";
|
|
5
|
+
|
|
6
|
+
const SIMPLE_QUICK_ACTION_KIND = ___sap_ux_private_control_property_editor_common["SIMPLE_QUICK_ACTION_KIND"];
|
|
7
|
+
const getRelevantControlFromActivePage = ____cpe_quick_actions_utils["getRelevantControlFromActivePage"];
|
|
8
|
+
const QuickActionDefinitionBase = ___quick_action_base["QuickActionDefinitionBase"];
|
|
9
|
+
/**
|
|
10
|
+
* Base class for all simple quick actions.
|
|
11
|
+
*/
|
|
12
|
+
class SimpleQuickActionDefinitionBase extends QuickActionDefinitionBase {
|
|
13
|
+
get isApplicable() {
|
|
14
|
+
return this.control !== undefined;
|
|
15
|
+
}
|
|
16
|
+
constructor(type, controlTypes, defaultTextKey, context, enablementValidators = []) {
|
|
17
|
+
super(type, SIMPLE_QUICK_ACTION_KIND, defaultTextKey, context, enablementValidators);
|
|
18
|
+
this.type = type;
|
|
19
|
+
this.controlTypes = controlTypes;
|
|
20
|
+
this.defaultTextKey = defaultTextKey;
|
|
21
|
+
this.context = context;
|
|
22
|
+
this.enablementValidators = enablementValidators;
|
|
23
|
+
}
|
|
24
|
+
initialize() {
|
|
25
|
+
this.control = getRelevantControlFromActivePage(this.context.controlIndex, this.context.view, this.controlTypes)[0];
|
|
26
|
+
return Promise.resolve();
|
|
27
|
+
}
|
|
28
|
+
getActionObject() {
|
|
29
|
+
return {
|
|
30
|
+
kind: SIMPLE_QUICK_ACTION_KIND,
|
|
31
|
+
id: this.id,
|
|
32
|
+
enabled: !this.isDisabled,
|
|
33
|
+
tooltip: this.tooltip,
|
|
34
|
+
title: this.context.resourceBundle.getText(this.textKey)
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
var __exports = {
|
|
39
|
+
__esModule: true
|
|
40
|
+
};
|
|
41
|
+
__exports.SimpleQuickActionDefinitionBase = SimpleQuickActionDefinitionBase;
|
|
42
|
+
return __exports;
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=simple-quick-action-base.js.map
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type UI5Element from 'sap/ui/core/Element';
|
|
2
|
+
|
|
3
|
+
import type { SimpleQuickAction } from '@sap-ux-private/control-property-editor-common';
|
|
4
|
+
import { SIMPLE_QUICK_ACTION_KIND } from '@sap-ux-private/control-property-editor-common';
|
|
5
|
+
|
|
6
|
+
import { getRelevantControlFromActivePage } from '../../cpe/quick-actions/utils';
|
|
7
|
+
import type { QuickActionContext } from '../../cpe/quick-actions/quick-action-definition';
|
|
8
|
+
import type { EnablementValidator } from './enablement-validator';
|
|
9
|
+
import { QuickActionDefinitionBase } from './quick-action-base';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Base class for all simple quick actions.
|
|
13
|
+
*/
|
|
14
|
+
export abstract class SimpleQuickActionDefinitionBase<
|
|
15
|
+
T extends UI5Element = UI5Element
|
|
16
|
+
> extends QuickActionDefinitionBase<typeof SIMPLE_QUICK_ACTION_KIND> {
|
|
17
|
+
public get isApplicable(): boolean {
|
|
18
|
+
return this.control !== undefined;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
protected control: T | undefined;
|
|
22
|
+
|
|
23
|
+
constructor(
|
|
24
|
+
public readonly type: string,
|
|
25
|
+
protected readonly controlTypes: string[],
|
|
26
|
+
protected readonly defaultTextKey: string,
|
|
27
|
+
protected readonly context: QuickActionContext,
|
|
28
|
+
protected readonly enablementValidators: EnablementValidator[] = []
|
|
29
|
+
) {
|
|
30
|
+
super(type, SIMPLE_QUICK_ACTION_KIND, defaultTextKey, context, enablementValidators);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
initialize(): Promise<void> {
|
|
34
|
+
this.control = getRelevantControlFromActivePage<T>(
|
|
35
|
+
this.context.controlIndex,
|
|
36
|
+
this.context.view,
|
|
37
|
+
this.controlTypes
|
|
38
|
+
)[0];
|
|
39
|
+
return Promise.resolve();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
getActionObject(): SimpleQuickAction {
|
|
43
|
+
return {
|
|
44
|
+
kind: SIMPLE_QUICK_ACTION_KIND,
|
|
45
|
+
id: this.id,
|
|
46
|
+
enabled: !this.isDisabled,
|
|
47
|
+
tooltip: this.tooltip,
|
|
48
|
+
title: this.context.resourceBundle.getText(this.textKey)
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Supported UI5 Versions for Quick Actions in Adaptation Projects Based on Fiori Elements Applications with OData V2 and OData V4
|
|
2
|
+
|
|
3
|
+
| Quick Action | OData Version | Page Type** | 1.71| 1.84| 1.96|1.108|1.120|1.124|1.127|1.130|1.131|>=1.132.0|>=1.135.0|
|
|
4
|
+
|----------------------------------------------------|---------------|-------------|-----|-----|-----|-----|-----|-----|-----|-----|-----|---------|---------|
|
|
5
|
+
| Add Controller to Page | V2 | LR, ALP, OP | x | x | x | x | x | x | x | x | x | x | x |
|
|
6
|
+
| | V4 | LR, ALP, OP | x | x | x | x | x | x | x | x | x | x | x |
|
|
7
|
+
| Add Header Field | V2 | OP | x | x | x | x | x | x | x | x | x | x | x |
|
|
8
|
+
| | V4 | OP | x | x | x | x | x | x | x | x | x | x | x |
|
|
9
|
+
| Add Custom Section | V2 | OP | x | x | x | x | x | x | x | x | x | x | x |
|
|
10
|
+
| | V4 | OP | x | x | x | x | x | x | x | x | x | x | x |
|
|
11
|
+
| Add Custom Page Action | V2 | LR, ALP, OP | | | | | | | | x | x | x | x |
|
|
12
|
+
| | V4 | LR, ALP, OP | | | | | x | x | x | x | x | x | x |
|
|
13
|
+
| Add Custom Table Action | V2 | LR, ALP, OP | | | x | x | x | x | x | x | x | x | x |
|
|
14
|
+
| | V4 | LR, ALP, OP | | | x | x | x | x | x | x | x | x | x |
|
|
15
|
+
| Add Custom Table Column | V2 | LR, ALP, OP | | | x | x | x | x | x | x | x | x | x |
|
|
16
|
+
| | V4 | LR, ALP, OP | | | x | x | x | x | x | x | x | x | x |
|
|
17
|
+
| Change Table Columns | V2 | LR, ALP, OP | | | x | x | x | x | x | x | x | x | x |
|
|
18
|
+
| | V4 | LR, ALP, OP | | | x | x | x | x | x | x | x | x | x |
|
|
19
|
+
| Enable/Disable "Clear" Button | V2 | LR, ALP | x | x | x | x | x | x | x | x | x | x | x |
|
|
20
|
+
| | V4 | LR, ALP | x | x | x | x | x | x | x | x | x | x | x |
|
|
21
|
+
| Enable Semantic Date Range* | V2 | LR, ALP | | | x | x | x | | | x | x | x | x |
|
|
22
|
+
| | V4 | LR, ALP | | | | | | | | x | x | x | x |
|
|
23
|
+
| Enable Table Filtering for Page Variants* | V2 | LR, ALP | | | x | x | x | | | x | x | x | x |
|
|
24
|
+
| | V4 | LR, ALP | | | | | | | | | x | x | x |
|
|
25
|
+
| Add Local Annotation File* | V2 | LR, ALP, OP | | | | | | | | | | x | x |
|
|
26
|
+
| | V4 | LR, ALP, OP | | | | | | | | | | x | x |
|
|
27
|
+
| Enable Empty Row Mode for Tables* | V2 | OP | | | | | | | | x | x | x | x |
|
|
28
|
+
| | V4 | OP | | | | | | | | | x | x | x |
|
|
29
|
+
| Enable Variant Management in Tables and Charts* | V2 | LR, ALP | | | x | x | x | | | x | x | x | x |
|
|
30
|
+
| | V4 | LR, ALP, OP | | | | | | | | | x | x | x |
|
|
31
|
+
| Enable Variant Management in Tables* | V2 | OP | | | x | x | x | | | x | x | x | x |
|
|
32
|
+
| | V4 | | | | | | | | | | | | |
|
|
33
|
+
| Add Subpage* | V2 | LR, ALP, OP | | | x | x | x | | | x | x | x | x |
|
|
34
|
+
| | V4 | LR, ALP, OP | | | | | | | | | | | x |
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
*Actions resulting in manifest changes are not available for adaptation projects built for OData v2 applications using outdated array page structure in manifest.json.
|
|
38
|
+
|
|
39
|
+
** Meaning of Page Type abbreviation: LR - List Report, ALP - Analytical List Page, OP - Object Page
|
|
40
|
+
|