@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,527 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
sap.ui.define(["open/ux/preview/client/thirdparty/@sap-ux-private/control-property-editor-common", "sap/base/Log", "../../i18n", "../../utils/additional-change-info", "../../utils/core", "../../utils/error", "../../utils/info-center-message", "../rta-service", "./flex-change", "./generic-change"], function (___sap_ux_private_control_property_editor_common, Log, ____i18n, ____utils_additional_change_info, ____utils_core, ____utils_error, ____utils_info_center_message, ___rta_service, ___flex_change, ___generic_change) {
|
|
4
|
+
"use strict";
|
|
5
|
+
|
|
6
|
+
const changeProperty = ___sap_ux_private_control_property_editor_common["changeProperty"];
|
|
7
|
+
const changeStackModified = ___sap_ux_private_control_property_editor_common["changeStackModified"];
|
|
8
|
+
const deletePropertyChanges = ___sap_ux_private_control_property_editor_common["deletePropertyChanges"];
|
|
9
|
+
const FlexChangesEndPoints = ___sap_ux_private_control_property_editor_common["FlexChangesEndPoints"];
|
|
10
|
+
const GENERIC_CHANGE_KIND = ___sap_ux_private_control_property_editor_common["GENERIC_CHANGE_KIND"];
|
|
11
|
+
const MessageBarType = ___sap_ux_private_control_property_editor_common["MessageBarType"];
|
|
12
|
+
const PENDING_CHANGE_TYPE = ___sap_ux_private_control_property_editor_common["PENDING_CHANGE_TYPE"];
|
|
13
|
+
const propertyChangeFailed = ___sap_ux_private_control_property_editor_common["propertyChangeFailed"];
|
|
14
|
+
const reloadApplication = ___sap_ux_private_control_property_editor_common["reloadApplication"];
|
|
15
|
+
const save = ___sap_ux_private_control_property_editor_common["save"];
|
|
16
|
+
const setApplicationRequiresReload = ___sap_ux_private_control_property_editor_common["setApplicationRequiresReload"];
|
|
17
|
+
const UNKNOWN_CHANGE_KIND = ___sap_ux_private_control_property_editor_common["UNKNOWN_CHANGE_KIND"];
|
|
18
|
+
const getTextBundle = ____i18n["getTextBundle"];
|
|
19
|
+
const setAdditionalChangeInfo = ____utils_additional_change_info["setAdditionalChangeInfo"];
|
|
20
|
+
const getControlById = ____utils_core["getControlById"];
|
|
21
|
+
const isA = ____utils_core["isA"];
|
|
22
|
+
const getError = ____utils_error["getError"];
|
|
23
|
+
const sendInfoCenterMessage = ____utils_info_center_message["sendInfoCenterMessage"];
|
|
24
|
+
const modeAndStackChangeHandler = ___rta_service["modeAndStackChangeHandler"];
|
|
25
|
+
const applyChange = ___flex_change["applyChange"];
|
|
26
|
+
const GENERIC_CHANGE_HANDLER = ___generic_change["GENERIC_CHANGE_HANDLER"];
|
|
27
|
+
const getControlIdByChange = ___generic_change["getControlIdByChange"];
|
|
28
|
+
const getFlexObject = ___generic_change["getFlexObject"];
|
|
29
|
+
const TITLE_MAP = {
|
|
30
|
+
appdescr_app_addAnnotationsToOData: 'Add New Annotation File'
|
|
31
|
+
};
|
|
32
|
+
const STACK_CHANGE_EVENT = 'STACK_CHANGED';
|
|
33
|
+
/**
|
|
34
|
+
* Modify rta message.
|
|
35
|
+
*
|
|
36
|
+
* @param errorMessage error message to be replaced
|
|
37
|
+
* @param id - control id
|
|
38
|
+
* @param type - control type
|
|
39
|
+
* @returns string
|
|
40
|
+
*/
|
|
41
|
+
function modifyRTAErrorMessage(errorMessage, id, type) {
|
|
42
|
+
return errorMessage.replace('Error: Applying property changes failed:', '').replace(`${type}#${id}`, '');
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* A Class of ChangeService
|
|
47
|
+
*/
|
|
48
|
+
class ChangeService extends EventTarget {
|
|
49
|
+
savedChanges = [];
|
|
50
|
+
changesRequiringReload = 0;
|
|
51
|
+
pendingChanges = [];
|
|
52
|
+
changedFiles = {};
|
|
53
|
+
eventStack = [];
|
|
54
|
+
pendingConfigChangeMap = new Map();
|
|
55
|
+
configPropertyControlIdMap = new Map();
|
|
56
|
+
configPropertyPath = new Set();
|
|
57
|
+
/**
|
|
58
|
+
*
|
|
59
|
+
* @param options ui5 adaptation options.
|
|
60
|
+
* @param ui5 facade for ui5 framework methods.
|
|
61
|
+
* @param selectionService selection service instance.
|
|
62
|
+
*/
|
|
63
|
+
constructor(options) {
|
|
64
|
+
super();
|
|
65
|
+
this.options = options;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Initializes change service.
|
|
70
|
+
*
|
|
71
|
+
* @param sendAction action sender function
|
|
72
|
+
* @param subscribe subscriber function
|
|
73
|
+
*/
|
|
74
|
+
async init(sendAction, subscribe) {
|
|
75
|
+
this.sendAction = sendAction;
|
|
76
|
+
subscribe(async action => {
|
|
77
|
+
if (changeProperty.match(action)) {
|
|
78
|
+
try {
|
|
79
|
+
await applyChange(this.options, action.payload);
|
|
80
|
+
} catch (exception) {
|
|
81
|
+
// send error information
|
|
82
|
+
let name = '';
|
|
83
|
+
const id = action.payload.controlId || '';
|
|
84
|
+
const control = sap.ui.getCore().byId(id);
|
|
85
|
+
if (control) {
|
|
86
|
+
name = control.getMetadata().getName();
|
|
87
|
+
}
|
|
88
|
+
const error = getError(exception);
|
|
89
|
+
const modifiedMessage = modifyRTAErrorMessage(error.toString(), id, name);
|
|
90
|
+
const errorMessage = modifiedMessage || `RTA Exception applying expression "${action.payload.value}"`;
|
|
91
|
+
await sendInfoCenterMessage({
|
|
92
|
+
title: {
|
|
93
|
+
key: 'CHANGE_CREATION_FAILED_TITLE'
|
|
94
|
+
},
|
|
95
|
+
description: errorMessage,
|
|
96
|
+
type: MessageBarType.error
|
|
97
|
+
});
|
|
98
|
+
const propertyChangeFailedAction = propertyChangeFailed({
|
|
99
|
+
...action.payload,
|
|
100
|
+
errorMessage
|
|
101
|
+
});
|
|
102
|
+
sendAction(propertyChangeFailedAction);
|
|
103
|
+
}
|
|
104
|
+
} else if (deletePropertyChanges.match(action)) {
|
|
105
|
+
await this.deleteChange(action.payload.controlId, action.payload.propertyName, action.payload.fileName);
|
|
106
|
+
} else if (reloadApplication.match(action)) {
|
|
107
|
+
this.sendAction(setApplicationRequiresReload(false));
|
|
108
|
+
} else if (save.match(action)) {
|
|
109
|
+
this.changesRequiringReload = 0;
|
|
110
|
+
this.sendAction(setApplicationRequiresReload(false));
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
await this.fetchSavedChanges();
|
|
114
|
+
this.updateStack();
|
|
115
|
+
this.options.rta.attachUndoRedoStackModified(this.createOnStackChangeHandler());
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Send update to the editor with modified stack.
|
|
120
|
+
*
|
|
121
|
+
* @param pendingChanges Changes that are waiting to be saved
|
|
122
|
+
*/
|
|
123
|
+
updateStack() {
|
|
124
|
+
this.sendAction(changeStackModified({
|
|
125
|
+
saved: this.savedChanges ?? [],
|
|
126
|
+
pending: this.pendingChanges ?? []
|
|
127
|
+
}));
|
|
128
|
+
}
|
|
129
|
+
isGenericChange(change) {
|
|
130
|
+
return change.changeType === 'appdescr_app_addAnnotationsToOData' || change.changeType === 'rename' || change.changeType === 'moveControls' || change.changeType === 'addXML' || change.changeType === 'propertyChange' || change.changeType === 'propertyBindingChange' || change.changeType === 'appdescr_fe_changePageConfiguration' || change.changeType === 'appdescr_ui_generic_app_changePageConfiguration';
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Fetches saved changes from the workspace and sorts them.
|
|
135
|
+
*/
|
|
136
|
+
async fetchSavedChanges() {
|
|
137
|
+
this.changedFiles = {};
|
|
138
|
+
const savedChangesResponse = await fetch(FlexChangesEndPoints.changes + `?_=${Date.now()}`);
|
|
139
|
+
const savedChanges = await savedChangesResponse.json();
|
|
140
|
+
const textBundle = await getTextBundle();
|
|
141
|
+
const changes = (await Promise.all(Object.keys(savedChanges ?? {}).map(async key => {
|
|
142
|
+
const change = savedChanges[key];
|
|
143
|
+
try {
|
|
144
|
+
const handler = GENERIC_CHANGE_HANDLER[change.changeType];
|
|
145
|
+
if (this.isGenericChange(change)) {
|
|
146
|
+
const {
|
|
147
|
+
properties,
|
|
148
|
+
changeTitle,
|
|
149
|
+
controlId,
|
|
150
|
+
changeType: type,
|
|
151
|
+
subtitle
|
|
152
|
+
} = await handler(change, {
|
|
153
|
+
textBundle,
|
|
154
|
+
appComponent: this.options.rta.getRootControlInstance(),
|
|
155
|
+
configPropertyControlIdMap: this.configPropertyControlIdMap
|
|
156
|
+
});
|
|
157
|
+
this.changedFiles[change.fileName] = change;
|
|
158
|
+
return {
|
|
159
|
+
kind: GENERIC_CHANGE_KIND,
|
|
160
|
+
type: 'saved',
|
|
161
|
+
fileName: change.fileName,
|
|
162
|
+
...(subtitle && {
|
|
163
|
+
subtitle
|
|
164
|
+
}),
|
|
165
|
+
changeType: type ?? change.changeType,
|
|
166
|
+
timestamp: new Date(change.creation).getTime(),
|
|
167
|
+
...(controlId && {
|
|
168
|
+
controlId
|
|
169
|
+
}),
|
|
170
|
+
properties,
|
|
171
|
+
title: textBundle.getText(changeTitle)
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
throw new Error('Unknown change type');
|
|
175
|
+
} catch {
|
|
176
|
+
// Gracefully handle change files with invalid content
|
|
177
|
+
const flexObject = await getFlexObject(change);
|
|
178
|
+
const selectorId = await getControlIdByChange(flexObject, this.options.rta.getRootControlInstance());
|
|
179
|
+
if (change.fileName) {
|
|
180
|
+
this.changedFiles[change.fileName] = change;
|
|
181
|
+
const unknownChange = {
|
|
182
|
+
type: 'saved',
|
|
183
|
+
kind: 'unknown',
|
|
184
|
+
changeType: change.changeType,
|
|
185
|
+
fileName: change.fileName,
|
|
186
|
+
timestamp: new Date(change.creation).getTime()
|
|
187
|
+
};
|
|
188
|
+
if (change.creation) {
|
|
189
|
+
unknownChange.timestamp = new Date(change.creation).getTime();
|
|
190
|
+
}
|
|
191
|
+
if (selectorId) {
|
|
192
|
+
const controlChange = {
|
|
193
|
+
...unknownChange,
|
|
194
|
+
kind: 'control',
|
|
195
|
+
controlId: selectorId
|
|
196
|
+
};
|
|
197
|
+
return controlChange;
|
|
198
|
+
}
|
|
199
|
+
return unknownChange;
|
|
200
|
+
}
|
|
201
|
+
return undefined;
|
|
202
|
+
}
|
|
203
|
+
}))).filter(change => !!change).sort((a, b) => b.timestamp - a.timestamp);
|
|
204
|
+
this.savedChanges = changes;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
*
|
|
209
|
+
* @param controlId unique identifier for a control
|
|
210
|
+
* @param propertyName name of the property change to be deleted
|
|
211
|
+
* @param fileName name of the file.
|
|
212
|
+
*/
|
|
213
|
+
async deleteChange(controlId, propertyName, fileName) {
|
|
214
|
+
const filesToDelete = this.savedChanges.filter(change => {
|
|
215
|
+
if (fileName) {
|
|
216
|
+
return fileName === change.fileName;
|
|
217
|
+
}
|
|
218
|
+
if (change.kind === 'control') {
|
|
219
|
+
return change.controlId === controlId;
|
|
220
|
+
}
|
|
221
|
+
return false;
|
|
222
|
+
}).map(change => fetch(FlexChangesEndPoints.changes, {
|
|
223
|
+
method: 'DELETE',
|
|
224
|
+
headers: {
|
|
225
|
+
'Content-Type': 'application/json'
|
|
226
|
+
},
|
|
227
|
+
body: JSON.stringify({
|
|
228
|
+
fileName: change.fileName
|
|
229
|
+
})
|
|
230
|
+
}));
|
|
231
|
+
await Promise.all(filesToDelete).catch(error => Log.error(getError(error).message));
|
|
232
|
+
await this.fetchSavedChanges();
|
|
233
|
+
this.updateStack();
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Handler for undo/redo stack change.
|
|
238
|
+
*
|
|
239
|
+
* @param sendAction send action method
|
|
240
|
+
* @returns (event: sap.ui.base.Event) => Promise<void>
|
|
241
|
+
*/
|
|
242
|
+
createOnStackChangeHandler() {
|
|
243
|
+
const handleStackChange = modeAndStackChangeHandler(this.sendAction, this.options.rta);
|
|
244
|
+
return async event => {
|
|
245
|
+
const pendingChanges = [];
|
|
246
|
+
this.eventStack.push(event);
|
|
247
|
+
const stack = this.options.rta.getCommandStack();
|
|
248
|
+
const allCommands = stack.getCommands();
|
|
249
|
+
const executedCommands = stack.getAllExecutedCommands();
|
|
250
|
+
const allCommandsFlattened = allCommands.flatMap(command => typeof command.getCommands === 'function' ? command.getCommands() : [command]);
|
|
251
|
+
const activeCommandCount = allCommandsFlattened.length - executedCommands.length;
|
|
252
|
+
this.pendingConfigChangeMap = new Map();
|
|
253
|
+
let i = 0;
|
|
254
|
+
for (const command of allCommands) {
|
|
255
|
+
try {
|
|
256
|
+
if (typeof command.getCommands === 'function') {
|
|
257
|
+
const subCommands = command.getCommands();
|
|
258
|
+
for (const subCommand of subCommands) {
|
|
259
|
+
await this.handleCommand(subCommand, activeCommandCount, i, pendingChanges);
|
|
260
|
+
i++;
|
|
261
|
+
}
|
|
262
|
+
} else {
|
|
263
|
+
await this.handleCommand(command, activeCommandCount, i, pendingChanges);
|
|
264
|
+
i++;
|
|
265
|
+
}
|
|
266
|
+
} catch (error) {
|
|
267
|
+
Log.error('CPE: Change creation Failed', getError(error));
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
const eventIndex = this.eventStack.indexOf(event);
|
|
271
|
+
if (this.eventStack.length - 1 === eventIndex) {
|
|
272
|
+
this.pendingChanges = pendingChanges.filter(change => !!change);
|
|
273
|
+
const changesRequiringReload = this.pendingChanges.reduce((sum, change) => isGenericConfigChange(change) ? sum + 1 : sum, 0);
|
|
274
|
+
if (changesRequiringReload > this.changesRequiringReload) {
|
|
275
|
+
await sendInfoCenterMessage({
|
|
276
|
+
title: {
|
|
277
|
+
key: 'CHANGES_VISIBLE_AFTER_SAVE_AND_RELOAD_TITLE'
|
|
278
|
+
},
|
|
279
|
+
description: {
|
|
280
|
+
key: 'CHANGES_VISIBLE_AFTER_SAVE_AND_RELOAD_DESCRIPTION'
|
|
281
|
+
},
|
|
282
|
+
type: MessageBarType.info
|
|
283
|
+
});
|
|
284
|
+
this.sendAction(setApplicationRequiresReload(changesRequiringReload > 0));
|
|
285
|
+
}
|
|
286
|
+
this.changesRequiringReload = changesRequiringReload;
|
|
287
|
+
}
|
|
288
|
+
this.eventStack.splice(eventIndex, 1);
|
|
289
|
+
if (Array.isArray(allCommands) && allCommands.length === 0) {
|
|
290
|
+
this.pendingChanges = [];
|
|
291
|
+
this.pendingConfigChangeMap = new Map();
|
|
292
|
+
await this.fetchSavedChanges();
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
// Notify to update the ui for configuration changes.
|
|
296
|
+
const configurationChanges = this.pendingChanges?.filter(isGenericConfigChange);
|
|
297
|
+
if (configurationChanges.length) {
|
|
298
|
+
const stackChangeEvent = new CustomEvent(STACK_CHANGE_EVENT, {
|
|
299
|
+
detail: {
|
|
300
|
+
controls: configurationChanges.reduce((acc, item) => {
|
|
301
|
+
const controls = [...(item.controlId ?? [])].map(id => {
|
|
302
|
+
return getControlById(id);
|
|
303
|
+
}).filter(ui5Element => isA('sap.ui.core.Element', ui5Element));
|
|
304
|
+
acc.push(...controls);
|
|
305
|
+
return acc;
|
|
306
|
+
}, [])
|
|
307
|
+
}
|
|
308
|
+
});
|
|
309
|
+
this.dispatchEvent(stackChangeEvent);
|
|
310
|
+
}
|
|
311
|
+
this.updateStack();
|
|
312
|
+
handleStackChange();
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Cached configuration commands to set reset value during stack change event.
|
|
317
|
+
*
|
|
318
|
+
* @param controlId - control id of the config property.
|
|
319
|
+
* @param propertyName - config property name.
|
|
320
|
+
* @returns Configuration property value.
|
|
321
|
+
*/
|
|
322
|
+
getConfigurationPropertyValue(controlId, propertyName) {
|
|
323
|
+
const pendingChanges = this.pendingConfigChangeMap?.get(controlId);
|
|
324
|
+
return (pendingChanges || []).find(item => item.isActive && item.properties[0].label === propertyName)?.properties[0].value;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
/**
|
|
328
|
+
* Get all pending configuration changes.
|
|
329
|
+
*
|
|
330
|
+
* @returns array of pending generic changes
|
|
331
|
+
*/
|
|
332
|
+
getAllPendingConfigPropertyPath() {
|
|
333
|
+
return this.configPropertyPath ?? new Set();
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* Update config changes with associated controls.
|
|
338
|
+
*
|
|
339
|
+
* @param {Map<string, string[]>} configPropertyControlIdMap - config property path control id map.
|
|
340
|
+
*/
|
|
341
|
+
async updateConfigurationProps(configPropertyControlIdMap) {
|
|
342
|
+
this.configPropertyControlIdMap = configPropertyControlIdMap;
|
|
343
|
+
await this.fetchSavedChanges();
|
|
344
|
+
this.updateStack();
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
/**
|
|
348
|
+
* Handles a command by preparing a pending change and adding it to the list of pending changes.
|
|
349
|
+
*
|
|
350
|
+
* @param {FlexCommand} command - The command to process.
|
|
351
|
+
* @param {number} inactiveCommandCount - The number of inactive commands.
|
|
352
|
+
* @param {number} index - The index of the current command being processed.
|
|
353
|
+
* @param {PendingChange[]} pendingChanges - The list of pending changes to update.
|
|
354
|
+
* @returns {Promise<void>} A promise that resolves when the command is handled.
|
|
355
|
+
*/
|
|
356
|
+
async handleCommand(command, inactiveCommandCount, index, pendingChanges) {
|
|
357
|
+
setAdditionalChangeInfo(command?.getPreparedChange?.(), this.options.rta.getRootControlInstance());
|
|
358
|
+
const pendingChange = await this.prepareChangeType(command, inactiveCommandCount, index);
|
|
359
|
+
if (pendingChange) {
|
|
360
|
+
pendingChanges.push(pendingChange);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
trackPendingConfigChanges(result) {
|
|
364
|
+
for (const id of result?.controlId ?? []) {
|
|
365
|
+
if (!this.pendingConfigChangeMap.get(id)) {
|
|
366
|
+
this.pendingConfigChangeMap.set(id, []);
|
|
367
|
+
}
|
|
368
|
+
const pendingChanges = this.pendingConfigChangeMap.get(id);
|
|
369
|
+
pendingChanges?.push(result);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
/**
|
|
374
|
+
* Prepares the type of change based on the command and other parameters.
|
|
375
|
+
*
|
|
376
|
+
* @param {FlexCommand} command - The command to process.
|
|
377
|
+
* @param {number} inactiveCommandCount - The number of inactive commands.
|
|
378
|
+
* @param {number} index - The index of the current command being processed.
|
|
379
|
+
* @returns {Promise<PendingChange | undefined>} - A promise that resolves to a `PendingChange` or `undefined`.
|
|
380
|
+
*/
|
|
381
|
+
async prepareChangeType(command, inactiveCommandCount, index) {
|
|
382
|
+
const change = command?.getPreparedChange?.();
|
|
383
|
+
const textBundle = await getTextBundle();
|
|
384
|
+
const selectorId = typeof change?.getSelector === 'function' ? await getControlIdByChange(change, this.options.rta.getRootControlInstance()) : this.getCommandSelectorId(command);
|
|
385
|
+
const changeType = this.getCommandChangeType(command);
|
|
386
|
+
if (!changeType) {
|
|
387
|
+
return undefined;
|
|
388
|
+
}
|
|
389
|
+
const changeDefinition = change.getDefinition ? change.getDefinition() : change.getJson();
|
|
390
|
+
const {
|
|
391
|
+
fileName
|
|
392
|
+
} = changeDefinition;
|
|
393
|
+
const handler = GENERIC_CHANGE_HANDLER[changeType];
|
|
394
|
+
if (handler) {
|
|
395
|
+
const {
|
|
396
|
+
properties,
|
|
397
|
+
changeTitle,
|
|
398
|
+
controlId,
|
|
399
|
+
changeType: type,
|
|
400
|
+
subtitle
|
|
401
|
+
} = await handler(changeDefinition, {
|
|
402
|
+
textBundle,
|
|
403
|
+
appComponent: this.options.rta.getRootControlInstance(),
|
|
404
|
+
configPropertyControlIdMap: this.configPropertyControlIdMap
|
|
405
|
+
});
|
|
406
|
+
const genericChange = {
|
|
407
|
+
kind: GENERIC_CHANGE_KIND,
|
|
408
|
+
type: 'pending',
|
|
409
|
+
changeType: type ?? changeType,
|
|
410
|
+
...(subtitle && {
|
|
411
|
+
subtitle
|
|
412
|
+
}),
|
|
413
|
+
isActive: index >= inactiveCommandCount,
|
|
414
|
+
title: textBundle.getText(changeTitle),
|
|
415
|
+
fileName,
|
|
416
|
+
...(controlId && {
|
|
417
|
+
controlId
|
|
418
|
+
}),
|
|
419
|
+
properties
|
|
420
|
+
};
|
|
421
|
+
if (changeType === 'appdescr_fe_changePageConfiguration') {
|
|
422
|
+
const configChangePath = changeDefinition.content.entityPropertyChange.propertyPath;
|
|
423
|
+
if (genericChange.isActive) {
|
|
424
|
+
this.configPropertyPath.add(configChangePath);
|
|
425
|
+
} else {
|
|
426
|
+
// remove value from set if change is undone
|
|
427
|
+
this.configPropertyPath.delete(configChangePath);
|
|
428
|
+
}
|
|
429
|
+
this.trackPendingConfigChanges(genericChange);
|
|
430
|
+
}
|
|
431
|
+
return genericChange;
|
|
432
|
+
} else {
|
|
433
|
+
const title = TITLE_MAP[changeType] ?? '';
|
|
434
|
+
let result = {
|
|
435
|
+
type: PENDING_CHANGE_TYPE,
|
|
436
|
+
kind: UNKNOWN_CHANGE_KIND,
|
|
437
|
+
...(title && {
|
|
438
|
+
title
|
|
439
|
+
}),
|
|
440
|
+
changeType,
|
|
441
|
+
isActive: index >= inactiveCommandCount,
|
|
442
|
+
fileName
|
|
443
|
+
};
|
|
444
|
+
if (selectorId) {
|
|
445
|
+
result = {
|
|
446
|
+
...result,
|
|
447
|
+
kind: 'control',
|
|
448
|
+
controlId: selectorId
|
|
449
|
+
};
|
|
450
|
+
}
|
|
451
|
+
return result;
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
/**
|
|
456
|
+
* Retry operations.
|
|
457
|
+
*
|
|
458
|
+
* @param operations to be executed
|
|
459
|
+
* @returns first successfull operation result or undefined
|
|
460
|
+
*/
|
|
461
|
+
retryOperations(operations) {
|
|
462
|
+
for (const operation of operations) {
|
|
463
|
+
try {
|
|
464
|
+
const result = operation();
|
|
465
|
+
if (!result) {
|
|
466
|
+
continue;
|
|
467
|
+
}
|
|
468
|
+
return result;
|
|
469
|
+
} catch {
|
|
470
|
+
continue;
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
Log.error('All retry operations failed');
|
|
474
|
+
return undefined;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
/**
|
|
478
|
+
* Get command change type.
|
|
479
|
+
*
|
|
480
|
+
* @param command to be executed for creating change
|
|
481
|
+
* @returns command change type or undefined
|
|
482
|
+
*/
|
|
483
|
+
getCommandChangeType(command) {
|
|
484
|
+
return this.retryOperations([() => command.getChangeType(), () => command.getPreparedChange().getDefinition().changeType]);
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
/**
|
|
488
|
+
* Get command selector id.
|
|
489
|
+
*
|
|
490
|
+
* @param command to be executed for creating change
|
|
491
|
+
* @returns command selector id or undefined
|
|
492
|
+
*/
|
|
493
|
+
getCommandSelectorId(command) {
|
|
494
|
+
return this.retryOperations([() => command.getSelector().id,
|
|
495
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
496
|
+
() => command.getElement().getProperty('persistencyKey'), () => command.getElement().getId(), () => command.getParent()?.getElement().getId()]);
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
/**
|
|
500
|
+
* Sync outline changes to place modification markers when outline is changed.
|
|
501
|
+
*
|
|
502
|
+
* @returns void
|
|
503
|
+
*/
|
|
504
|
+
async syncOutlineChanges() {
|
|
505
|
+
for (const change of this.savedChanges) {
|
|
506
|
+
if (change.kind !== 'unknown' && change.changeType !== 'configuration') {
|
|
507
|
+
const flexObject = await getFlexObject(this.changedFiles[change.fileName]);
|
|
508
|
+
change.controlId = (await getControlIdByChange(flexObject, this.options.rta.getRootControlInstance())) ?? '';
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
this.updateStack();
|
|
512
|
+
}
|
|
513
|
+
onStackChange(handler) {
|
|
514
|
+
this.addEventListener(STACK_CHANGE_EVENT, handler);
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
function isGenericConfigChange(change) {
|
|
518
|
+
return change.kind === GENERIC_CHANGE_KIND && change.changeType === 'configuration';
|
|
519
|
+
}
|
|
520
|
+
var __exports = {
|
|
521
|
+
__esModule: true
|
|
522
|
+
};
|
|
523
|
+
__exports.STACK_CHANGE_EVENT = STACK_CHANGE_EVENT;
|
|
524
|
+
__exports.ChangeService = ChangeService;
|
|
525
|
+
return __exports;
|
|
526
|
+
});
|
|
527
|
+
//# sourceMappingURL=service.js.map
|