@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
package/dist/preview-middleware/dist/client/adp/controllers/AddTableColumnFragments.controller.js
ADDED
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
sap.ui.define(["sap/ui/model/json/JSONModel", "sap/ui/dt/OverlayRegistry", "open/ux/preview/client/thirdparty/@sap-ux-private/control-property-editor-common", "../../cpe/communication-service", "../../i18n", "sap/ui/core/library", "../../utils/additional-change-info", "../../utils/error", "../../utils/info-center-message", "../api-handler", "../command-executor", "../control-utils", "./BaseDialog.controller"], function (JSONModel, OverlayRegistry, ___sap_ux_private_control_property_editor_common, ____cpe_communication_service, ____i18n, sap_ui_core_library, ____utils_additional_change_info, ____utils_error, ____utils_info_center_message, ___api_handler, __CommandExecutor, __ControlUtils, __BaseDialog) {
|
|
4
|
+
"use strict";
|
|
5
|
+
|
|
6
|
+
function _interopRequireDefault(obj) {
|
|
7
|
+
return obj && obj.__esModule && typeof obj.default !== "undefined" ? obj.default : obj;
|
|
8
|
+
}
|
|
9
|
+
const MessageBarType = ___sap_ux_private_control_property_editor_common["MessageBarType"];
|
|
10
|
+
const setApplicationRequiresReload = ___sap_ux_private_control_property_editor_common["setApplicationRequiresReload"];
|
|
11
|
+
const CommunicationService = ____cpe_communication_service["CommunicationService"];
|
|
12
|
+
const getResourceModel = ____i18n["getResourceModel"];
|
|
13
|
+
const ValueState = sap_ui_core_library["ValueState"];
|
|
14
|
+
const setAdditionalChangeInfoForChangeFile = ____utils_additional_change_info["setAdditionalChangeInfoForChangeFile"];
|
|
15
|
+
const getError = ____utils_error["getError"];
|
|
16
|
+
const sendInfoCenterMessage = ____utils_info_center_message["sendInfoCenterMessage"];
|
|
17
|
+
const getFragments = ___api_handler["getFragments"];
|
|
18
|
+
const CommandExecutor = _interopRequireDefault(__CommandExecutor);
|
|
19
|
+
const ControlUtils = _interopRequireDefault(__ControlUtils);
|
|
20
|
+
const BaseDialog = _interopRequireDefault(__BaseDialog);
|
|
21
|
+
const radix = 10;
|
|
22
|
+
const COLUMNS_AGGREGATION = 'columns';
|
|
23
|
+
const ITEMS_AGGREGATION = 'items';
|
|
24
|
+
const CELLS_AGGREGATION = 'cells';
|
|
25
|
+
/**
|
|
26
|
+
* @namespace open.ux.preview.client.adp.controllers
|
|
27
|
+
*/
|
|
28
|
+
const AddTableColumnFragments = BaseDialog.extend("open.ux.preview.client.adp.controllers.AddTableColumnFragments", {
|
|
29
|
+
constructor: function _constructor(name, overlays, rta, options, telemetryData) {
|
|
30
|
+
BaseDialog.prototype.constructor.call(this, name, telemetryData);
|
|
31
|
+
this.options = options;
|
|
32
|
+
this.rta = rta;
|
|
33
|
+
this.overlays = overlays;
|
|
34
|
+
this.model = new JSONModel({
|
|
35
|
+
title: options.title
|
|
36
|
+
});
|
|
37
|
+
this.commandExecutor = new CommandExecutor(this.rta);
|
|
38
|
+
},
|
|
39
|
+
/**
|
|
40
|
+
* Setups the Dialog and the JSON Model
|
|
41
|
+
*
|
|
42
|
+
* @param {Dialog} dialog - Dialog instance
|
|
43
|
+
*/
|
|
44
|
+
setup: async function _setup(dialog) {
|
|
45
|
+
this.dialog = dialog;
|
|
46
|
+
this.setEscapeHandler();
|
|
47
|
+
await this.buildDialogData();
|
|
48
|
+
const resourceModel = await getResourceModel('open.ux.preview.client');
|
|
49
|
+
this.dialog.setModel(resourceModel, 'i18n');
|
|
50
|
+
this.dialog.setModel(this.model);
|
|
51
|
+
this.dialog.open();
|
|
52
|
+
},
|
|
53
|
+
/**
|
|
54
|
+
* Handles create button press
|
|
55
|
+
*
|
|
56
|
+
* @param event Event
|
|
57
|
+
*/
|
|
58
|
+
onCreateBtnPress: async function _onCreateBtnPress(event) {
|
|
59
|
+
const source = event.getSource();
|
|
60
|
+
source.setEnabled(false);
|
|
61
|
+
await BaseDialog.prototype.onCreateBtnPressHandler.call(this);
|
|
62
|
+
const columnFragmentName = this.model.getProperty('/newColumnFragmentName');
|
|
63
|
+
const cellFragmentName = this.model.getProperty('/newCellFragmentName');
|
|
64
|
+
const index = this.model.getProperty('/selectedIndex');
|
|
65
|
+
const fragmentData = {
|
|
66
|
+
index,
|
|
67
|
+
fragments: [{
|
|
68
|
+
fragmentName: columnFragmentName,
|
|
69
|
+
targetAggregation: this.model.getProperty('/selectedColumnsAggregation')
|
|
70
|
+
}, {
|
|
71
|
+
fragmentName: cellFragmentName,
|
|
72
|
+
targetAggregation: this.model.getProperty('/selectedItemsAggregation')
|
|
73
|
+
}]
|
|
74
|
+
};
|
|
75
|
+
await this.createFragmentChange(fragmentData);
|
|
76
|
+
await sendInfoCenterMessage({
|
|
77
|
+
title: {
|
|
78
|
+
key: 'ADP_CREATE_XML_FRAGMENT_TITLE'
|
|
79
|
+
},
|
|
80
|
+
description: {
|
|
81
|
+
key: 'ADP_ADD_TWO_FRAGMENTS_WITH_TEMPLATE_NOTIFICATION',
|
|
82
|
+
params: [columnFragmentName, cellFragmentName]
|
|
83
|
+
},
|
|
84
|
+
type: MessageBarType.info
|
|
85
|
+
});
|
|
86
|
+
this.handleDialogClose();
|
|
87
|
+
},
|
|
88
|
+
/**
|
|
89
|
+
* Builds data that is used in the dialog
|
|
90
|
+
*/
|
|
91
|
+
buildDialogData: async function _buildDialogData() {
|
|
92
|
+
const {
|
|
93
|
+
controlMetadata,
|
|
94
|
+
targetAggregation
|
|
95
|
+
} = this.getControlMetadata();
|
|
96
|
+
const defaultAggregation = this.options.aggregation ?? controlMetadata.getDefaultAggregationName();
|
|
97
|
+
const selectedControlName = controlMetadata.getName();
|
|
98
|
+
let selectedControlChildren = Object.keys(ControlUtils.getControlAggregationByName(this.getRuntimeControl(), defaultAggregation));
|
|
99
|
+
selectedControlChildren = selectedControlChildren.map(key => {
|
|
100
|
+
return Number.parseInt(key, radix);
|
|
101
|
+
});
|
|
102
|
+
this.model.setProperty('/selectedControlName', selectedControlName);
|
|
103
|
+
const indexArray = this.fillIndexArray(selectedControlChildren);
|
|
104
|
+
if (!targetAggregation.includes(COLUMNS_AGGREGATION)) {
|
|
105
|
+
throw new Error(`Selected control does not have "${COLUMNS_AGGREGATION}" aggregation`);
|
|
106
|
+
}
|
|
107
|
+
this.model.setProperty('/selectedColumnsAggregation', COLUMNS_AGGREGATION);
|
|
108
|
+
this.specialIndexHandling(COLUMNS_AGGREGATION);
|
|
109
|
+
if (!targetAggregation.includes(ITEMS_AGGREGATION)) {
|
|
110
|
+
throw new Error(`Selected control does not have "${ITEMS_AGGREGATION}" aggregation`);
|
|
111
|
+
}
|
|
112
|
+
this.model.setProperty('/selectedItemsAggregation', ITEMS_AGGREGATION);
|
|
113
|
+
try {
|
|
114
|
+
const {
|
|
115
|
+
fragments
|
|
116
|
+
} = await getFragments();
|
|
117
|
+
this.model.setProperty('/fragmentList', fragments);
|
|
118
|
+
} catch (e) {
|
|
119
|
+
const error = getError(e);
|
|
120
|
+
await sendInfoCenterMessage({
|
|
121
|
+
title: {
|
|
122
|
+
key: 'ADP_GET_FRAGMENTS_FAILURE_TITLE'
|
|
123
|
+
},
|
|
124
|
+
description: error.message,
|
|
125
|
+
type: MessageBarType.error
|
|
126
|
+
});
|
|
127
|
+
throw error;
|
|
128
|
+
}
|
|
129
|
+
this.model.setProperty('/index', indexArray);
|
|
130
|
+
this.model.setProperty('/selectedIndex', indexArray.length - 1);
|
|
131
|
+
},
|
|
132
|
+
/**
|
|
133
|
+
* Checks input values for duplicates and updates confirmation button state based on input validation states
|
|
134
|
+
*/
|
|
135
|
+
updateFormState: function _updateFormState() {
|
|
136
|
+
const form = this.dialog.getContent()[0];
|
|
137
|
+
const formContent = form.getContent();
|
|
138
|
+
const inputs = formContent.filter(item => item.isA('sap.m.Input'));
|
|
139
|
+
const value1 = inputs[0].getValue();
|
|
140
|
+
const value2 = inputs[1].getValue();
|
|
141
|
+
// check duplicating fragment names
|
|
142
|
+
if (value1 === value2 && value1.length) {
|
|
143
|
+
inputs.forEach(input => {
|
|
144
|
+
if (input.getValueState() === ValueState.Success) {
|
|
145
|
+
// if there is no other validation error
|
|
146
|
+
input.setValueState(ValueState.Error).setValueStateText('Duplicate name');
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
} else {
|
|
150
|
+
// clear duplicates error
|
|
151
|
+
inputs.forEach(input => {
|
|
152
|
+
if (input.getValueState() === ValueState.Error && input.getValueStateText() === 'Duplicate name') {
|
|
153
|
+
input.setValueState(ValueState.Success);
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
const beginBtn = this.dialog.getBeginButton();
|
|
158
|
+
beginBtn.setEnabled(inputs.every(input => input.getValueState() === ValueState.Success));
|
|
159
|
+
},
|
|
160
|
+
/**
|
|
161
|
+
* Handles column fragment name input change
|
|
162
|
+
*
|
|
163
|
+
* @param event Event
|
|
164
|
+
*/
|
|
165
|
+
onColumnFragmentNameInputChange: function _onColumnFragmentNameInputChange(event) {
|
|
166
|
+
// call parent method to update control state and show warning messages
|
|
167
|
+
BaseDialog.prototype.onFragmentNameInputChange.call(this, event);
|
|
168
|
+
|
|
169
|
+
// update model value
|
|
170
|
+
const input = event.getSource();
|
|
171
|
+
let modelValue = input.getValue();
|
|
172
|
+
if (modelValue.length < 1) {
|
|
173
|
+
modelValue = null;
|
|
174
|
+
}
|
|
175
|
+
this.model.setProperty('/newColumnFragmentName', modelValue);
|
|
176
|
+
this.updateFormState();
|
|
177
|
+
},
|
|
178
|
+
/**
|
|
179
|
+
* Handles cell fragment name input change
|
|
180
|
+
*
|
|
181
|
+
* @param event Event
|
|
182
|
+
*/
|
|
183
|
+
onCellFragmentNameInputChange: function _onCellFragmentNameInputChange(event) {
|
|
184
|
+
// call parent method to update control state and show warning messages
|
|
185
|
+
BaseDialog.prototype.onFragmentNameInputChange.call(this, event);
|
|
186
|
+
|
|
187
|
+
// update model value
|
|
188
|
+
const input = event.getSource();
|
|
189
|
+
let modelValue = input.getValue();
|
|
190
|
+
if (input.getValue().length < 1) {
|
|
191
|
+
modelValue = null;
|
|
192
|
+
}
|
|
193
|
+
this.model.setProperty('/newCellFragmentName', modelValue);
|
|
194
|
+
this.updateFormState();
|
|
195
|
+
},
|
|
196
|
+
/**
|
|
197
|
+
* Creates an addXML fragment command and pushes it to the command stack
|
|
198
|
+
*
|
|
199
|
+
* @param fragmentData Fragment Data
|
|
200
|
+
*/
|
|
201
|
+
createFragmentChange: async function _createFragmentChange(fragmentData) {
|
|
202
|
+
const {
|
|
203
|
+
fragments,
|
|
204
|
+
index
|
|
205
|
+
} = fragmentData;
|
|
206
|
+
const flexSettings = this.rta.getFlexSettings();
|
|
207
|
+
const overlay = OverlayRegistry.getOverlay(this.getRuntimeControl());
|
|
208
|
+
const designMetadata = overlay.getDesignTimeMetadata();
|
|
209
|
+
const compositeCommand = await this.commandExecutor.createCompositeCommand(this.getRuntimeControl());
|
|
210
|
+
for (const fragment of fragments) {
|
|
211
|
+
const modifiedValue = {
|
|
212
|
+
fragment: `<core:FragmentDefinition xmlns:core='sap.ui.core'></core:FragmentDefinition>`,
|
|
213
|
+
fragmentPath: `fragments/${fragment.fragmentName}.fragment.xml`,
|
|
214
|
+
index: index ?? 0,
|
|
215
|
+
targetAggregation: fragment.targetAggregation === ITEMS_AGGREGATION ? CELLS_AGGREGATION : fragment.targetAggregation
|
|
216
|
+
};
|
|
217
|
+
const targetObject = fragment.targetAggregation === COLUMNS_AGGREGATION ? this.getRuntimeControl() : this.getRuntimeControl().getAggregation(ITEMS_AGGREGATION)[0];
|
|
218
|
+
const command = await this.commandExecutor.getCommand(targetObject, 'addXML', modifiedValue, flexSettings, designMetadata);
|
|
219
|
+
const templateName = fragment.targetAggregation === COLUMNS_AGGREGATION ? `V2_SMART_TABLE_COLUMN` : 'V2_SMART_TABLE_CELL';
|
|
220
|
+
const preparedChange = command.getPreparedChange();
|
|
221
|
+
setAdditionalChangeInfoForChangeFile(preparedChange.getDefinition().fileName, {
|
|
222
|
+
templateName
|
|
223
|
+
});
|
|
224
|
+
compositeCommand.addCommand(command, false);
|
|
225
|
+
}
|
|
226
|
+
await this.commandExecutor.pushAndExecuteCommand(compositeCommand);
|
|
227
|
+
CommunicationService.sendAction(setApplicationRequiresReload(true));
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
return AddTableColumnFragments;
|
|
231
|
+
});
|
|
232
|
+
//# sourceMappingURL=AddTableColumnFragments.controller.js.map
|
package/dist/preview-middleware/dist/client/adp/controllers/AddTableColumnFragments.controller.ts
ADDED
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
/** sap.m */
|
|
2
|
+
import type Button from 'sap/m/Button';
|
|
3
|
+
import type Dialog from 'sap/m/Dialog';
|
|
4
|
+
|
|
5
|
+
/** sap.ui.core */
|
|
6
|
+
import type UI5Element from 'sap/ui/core/Element';
|
|
7
|
+
|
|
8
|
+
/** sap.ui.base */
|
|
9
|
+
import type Event from 'sap/ui/base/Event';
|
|
10
|
+
|
|
11
|
+
/** sap.ui.model */
|
|
12
|
+
import JSONModel from 'sap/ui/model/json/JSONModel';
|
|
13
|
+
|
|
14
|
+
/** sap.ui.rta */
|
|
15
|
+
import type RuntimeAuthoring from 'sap/ui/rta/RuntimeAuthoring';
|
|
16
|
+
|
|
17
|
+
/** sap.ui.dt */
|
|
18
|
+
import OverlayRegistry from 'sap/ui/dt/OverlayRegistry';
|
|
19
|
+
|
|
20
|
+
/** sap.ui.fl */
|
|
21
|
+
import type { AddTableCellFragmentChangeContentType } from 'sap/ui/fl/Change';
|
|
22
|
+
|
|
23
|
+
/** sap.ui.layout */
|
|
24
|
+
import { type SimpleForm } from 'sap/ui/layout/form';
|
|
25
|
+
|
|
26
|
+
import { MessageBarType, setApplicationRequiresReload } from '@sap-ux-private/control-property-editor-common';
|
|
27
|
+
|
|
28
|
+
import { CommunicationService } from '../../cpe/communication-service';
|
|
29
|
+
import { getResourceModel } from '../../i18n';
|
|
30
|
+
|
|
31
|
+
import Input from 'sap/m/Input';
|
|
32
|
+
import ManagedObject from 'sap/ui/base/ManagedObject';
|
|
33
|
+
import Control from 'sap/ui/core/Control';
|
|
34
|
+
import { ValueState } from 'sap/ui/core/library';
|
|
35
|
+
import { QuickActionTelemetryData } from '../../cpe/quick-actions/quick-action-definition';
|
|
36
|
+
import { setAdditionalChangeInfoForChangeFile } from '../../utils/additional-change-info';
|
|
37
|
+
import { getError } from '../../utils/error';
|
|
38
|
+
import { sendInfoCenterMessage } from '../../utils/info-center-message';
|
|
39
|
+
import { getFragments } from '../api-handler';
|
|
40
|
+
import CommandExecutor from '../command-executor';
|
|
41
|
+
import ControlUtils from '../control-utils';
|
|
42
|
+
import { type AddFragmentModel, type AddFragmentOptions } from './AddFragment.controller';
|
|
43
|
+
import BaseDialog from './BaseDialog.controller';
|
|
44
|
+
|
|
45
|
+
const radix = 10;
|
|
46
|
+
|
|
47
|
+
type AddTableColumnsFragmentsModel = AddFragmentModel & {
|
|
48
|
+
getProperty(sPath: '/newColumnFragmentName'): string;
|
|
49
|
+
getProperty(sPath: '/newCellFragmentName'): string;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
const COLUMNS_AGGREGATION = 'columns';
|
|
53
|
+
const ITEMS_AGGREGATION = 'items';
|
|
54
|
+
const CELLS_AGGREGATION = 'cells';
|
|
55
|
+
|
|
56
|
+
interface CreateFragmentProps {
|
|
57
|
+
index: string | number;
|
|
58
|
+
fragments: { fragmentName: string; targetAggregation: string }[];
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* @namespace open.ux.preview.client.adp.controllers
|
|
63
|
+
*/
|
|
64
|
+
export default class AddTableColumnFragments extends BaseDialog<AddTableColumnsFragmentsModel> {
|
|
65
|
+
constructor(
|
|
66
|
+
name: string,
|
|
67
|
+
overlays: UI5Element,
|
|
68
|
+
rta: RuntimeAuthoring,
|
|
69
|
+
readonly options: AddFragmentOptions,
|
|
70
|
+
telemetryData?: QuickActionTelemetryData
|
|
71
|
+
) {
|
|
72
|
+
super(name, telemetryData);
|
|
73
|
+
this.rta = rta;
|
|
74
|
+
this.overlays = overlays;
|
|
75
|
+
this.model = new JSONModel({
|
|
76
|
+
title: options.title
|
|
77
|
+
}) as AddTableColumnsFragmentsModel;
|
|
78
|
+
this.commandExecutor = new CommandExecutor(this.rta);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Setups the Dialog and the JSON Model
|
|
83
|
+
*
|
|
84
|
+
* @param {Dialog} dialog - Dialog instance
|
|
85
|
+
*/
|
|
86
|
+
async setup(dialog: Dialog): Promise<void> {
|
|
87
|
+
this.dialog = dialog;
|
|
88
|
+
|
|
89
|
+
this.setEscapeHandler();
|
|
90
|
+
|
|
91
|
+
await this.buildDialogData();
|
|
92
|
+
const resourceModel = await getResourceModel('open.ux.preview.client');
|
|
93
|
+
|
|
94
|
+
this.dialog.setModel(resourceModel, 'i18n');
|
|
95
|
+
this.dialog.setModel(this.model);
|
|
96
|
+
|
|
97
|
+
this.dialog.open();
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Handles create button press
|
|
102
|
+
*
|
|
103
|
+
* @param event Event
|
|
104
|
+
*/
|
|
105
|
+
async onCreateBtnPress(event: Event) {
|
|
106
|
+
const source = event.getSource<Button>();
|
|
107
|
+
source.setEnabled(false);
|
|
108
|
+
await super.onCreateBtnPressHandler();
|
|
109
|
+
|
|
110
|
+
const columnFragmentName = this.model.getProperty('/newColumnFragmentName');
|
|
111
|
+
const cellFragmentName = this.model.getProperty('/newCellFragmentName');
|
|
112
|
+
const index = this.model.getProperty('/selectedIndex');
|
|
113
|
+
const fragmentData: CreateFragmentProps = {
|
|
114
|
+
index,
|
|
115
|
+
fragments: [
|
|
116
|
+
{
|
|
117
|
+
fragmentName: columnFragmentName,
|
|
118
|
+
targetAggregation: this.model.getProperty('/selectedColumnsAggregation')
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
fragmentName: cellFragmentName,
|
|
122
|
+
targetAggregation: this.model.getProperty('/selectedItemsAggregation')
|
|
123
|
+
}
|
|
124
|
+
]
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
await this.createFragmentChange(fragmentData);
|
|
128
|
+
|
|
129
|
+
await sendInfoCenterMessage({
|
|
130
|
+
title: { key: 'ADP_CREATE_XML_FRAGMENT_TITLE' },
|
|
131
|
+
description: {
|
|
132
|
+
key: 'ADP_ADD_TWO_FRAGMENTS_WITH_TEMPLATE_NOTIFICATION',
|
|
133
|
+
params: [columnFragmentName, cellFragmentName]
|
|
134
|
+
},
|
|
135
|
+
type: MessageBarType.info
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
this.handleDialogClose();
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Builds data that is used in the dialog
|
|
143
|
+
*/
|
|
144
|
+
async buildDialogData(): Promise<void> {
|
|
145
|
+
const { controlMetadata, targetAggregation } = this.getControlMetadata();
|
|
146
|
+
const defaultAggregation = this.options.aggregation ?? controlMetadata.getDefaultAggregationName();
|
|
147
|
+
const selectedControlName = controlMetadata.getName();
|
|
148
|
+
|
|
149
|
+
let selectedControlChildren: string[] | number[] = Object.keys(
|
|
150
|
+
ControlUtils.getControlAggregationByName(this.getRuntimeControl(), defaultAggregation)
|
|
151
|
+
);
|
|
152
|
+
|
|
153
|
+
selectedControlChildren = selectedControlChildren.map((key) => {
|
|
154
|
+
return Number.parseInt(key, radix);
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
this.model.setProperty('/selectedControlName', selectedControlName);
|
|
158
|
+
|
|
159
|
+
const indexArray = this.fillIndexArray(selectedControlChildren);
|
|
160
|
+
|
|
161
|
+
if (!targetAggregation.includes(COLUMNS_AGGREGATION)) {
|
|
162
|
+
throw new Error(`Selected control does not have "${COLUMNS_AGGREGATION}" aggregation`);
|
|
163
|
+
}
|
|
164
|
+
this.model.setProperty('/selectedColumnsAggregation', COLUMNS_AGGREGATION);
|
|
165
|
+
this.specialIndexHandling(COLUMNS_AGGREGATION);
|
|
166
|
+
|
|
167
|
+
if (!targetAggregation.includes(ITEMS_AGGREGATION)) {
|
|
168
|
+
throw new Error(`Selected control does not have "${ITEMS_AGGREGATION}" aggregation`);
|
|
169
|
+
}
|
|
170
|
+
this.model.setProperty('/selectedItemsAggregation', ITEMS_AGGREGATION);
|
|
171
|
+
|
|
172
|
+
try {
|
|
173
|
+
const { fragments } = await getFragments();
|
|
174
|
+
this.model.setProperty('/fragmentList', fragments);
|
|
175
|
+
} catch (e) {
|
|
176
|
+
const error = getError(e);
|
|
177
|
+
await sendInfoCenterMessage({
|
|
178
|
+
title: { key: 'ADP_GET_FRAGMENTS_FAILURE_TITLE' },
|
|
179
|
+
description: error.message,
|
|
180
|
+
type: MessageBarType.error
|
|
181
|
+
});
|
|
182
|
+
throw error;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
this.model.setProperty('/index', indexArray);
|
|
186
|
+
this.model.setProperty('/selectedIndex', indexArray.length - 1);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Checks input values for duplicates and updates confirmation button state based on input validation states
|
|
191
|
+
*/
|
|
192
|
+
private updateFormState() {
|
|
193
|
+
const form = this.dialog.getContent()[0] as unknown as SimpleForm<Control[]>;
|
|
194
|
+
const formContent = form.getContent();
|
|
195
|
+
const inputs = formContent.filter((item) => item.isA('sap.m.Input')) as Input[];
|
|
196
|
+
|
|
197
|
+
const value1 = inputs[0].getValue();
|
|
198
|
+
const value2 = inputs[1].getValue();
|
|
199
|
+
// check duplicating fragment names
|
|
200
|
+
if (value1 === value2 && value1.length) {
|
|
201
|
+
inputs.forEach((input) => {
|
|
202
|
+
if (input.getValueState() === ValueState.Success) {
|
|
203
|
+
// if there is no other validation error
|
|
204
|
+
input.setValueState(ValueState.Error).setValueStateText('Duplicate name');
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
} else {
|
|
208
|
+
// clear duplicates error
|
|
209
|
+
inputs.forEach((input) => {
|
|
210
|
+
if (input.getValueState() === ValueState.Error && input.getValueStateText() === 'Duplicate name') {
|
|
211
|
+
input.setValueState(ValueState.Success);
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
const beginBtn = this.dialog.getBeginButton();
|
|
217
|
+
beginBtn.setEnabled(inputs.every((input) => input.getValueState() === ValueState.Success));
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* Handles column fragment name input change
|
|
222
|
+
*
|
|
223
|
+
* @param event Event
|
|
224
|
+
*/
|
|
225
|
+
onColumnFragmentNameInputChange(event: Event): void {
|
|
226
|
+
// call parent method to update control state and show warning messages
|
|
227
|
+
super.onFragmentNameInputChange(event);
|
|
228
|
+
|
|
229
|
+
// update model value
|
|
230
|
+
const input = event.getSource<Input>();
|
|
231
|
+
let modelValue: string | null = input.getValue();
|
|
232
|
+
if (modelValue.length < 1) {
|
|
233
|
+
modelValue = null;
|
|
234
|
+
}
|
|
235
|
+
this.model.setProperty('/newColumnFragmentName', modelValue);
|
|
236
|
+
this.updateFormState();
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Handles cell fragment name input change
|
|
241
|
+
*
|
|
242
|
+
* @param event Event
|
|
243
|
+
*/
|
|
244
|
+
onCellFragmentNameInputChange(event: Event): void {
|
|
245
|
+
// call parent method to update control state and show warning messages
|
|
246
|
+
super.onFragmentNameInputChange(event);
|
|
247
|
+
|
|
248
|
+
// update model value
|
|
249
|
+
const input = event.getSource<Input>();
|
|
250
|
+
let modelValue: string | null = input.getValue();
|
|
251
|
+
if (input.getValue().length < 1) {
|
|
252
|
+
modelValue = null;
|
|
253
|
+
}
|
|
254
|
+
this.model.setProperty('/newCellFragmentName', modelValue);
|
|
255
|
+
|
|
256
|
+
this.updateFormState();
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Creates an addXML fragment command and pushes it to the command stack
|
|
261
|
+
*
|
|
262
|
+
* @param fragmentData Fragment Data
|
|
263
|
+
*/
|
|
264
|
+
private async createFragmentChange(fragmentData: CreateFragmentProps): Promise<void> {
|
|
265
|
+
const { fragments, index } = fragmentData;
|
|
266
|
+
|
|
267
|
+
const flexSettings = this.rta.getFlexSettings();
|
|
268
|
+
|
|
269
|
+
const overlay = OverlayRegistry.getOverlay(this.getRuntimeControl() as UI5Element);
|
|
270
|
+
const designMetadata = overlay.getDesignTimeMetadata();
|
|
271
|
+
|
|
272
|
+
const compositeCommand = await this.commandExecutor.createCompositeCommand(this.getRuntimeControl());
|
|
273
|
+
|
|
274
|
+
for (const fragment of fragments) {
|
|
275
|
+
const modifiedValue = {
|
|
276
|
+
fragment: `<core:FragmentDefinition xmlns:core='sap.ui.core'></core:FragmentDefinition>`,
|
|
277
|
+
fragmentPath: `fragments/${fragment.fragmentName}.fragment.xml`,
|
|
278
|
+
index: index ?? 0,
|
|
279
|
+
targetAggregation:
|
|
280
|
+
fragment.targetAggregation === ITEMS_AGGREGATION ? CELLS_AGGREGATION : fragment.targetAggregation
|
|
281
|
+
};
|
|
282
|
+
|
|
283
|
+
const targetObject =
|
|
284
|
+
fragment.targetAggregation === COLUMNS_AGGREGATION
|
|
285
|
+
? this.getRuntimeControl()
|
|
286
|
+
: (this.getRuntimeControl().getAggregation(ITEMS_AGGREGATION) as ManagedObject[])[0];
|
|
287
|
+
|
|
288
|
+
const command = await this.commandExecutor.getCommand<AddTableCellFragmentChangeContentType>(
|
|
289
|
+
targetObject,
|
|
290
|
+
'addXML',
|
|
291
|
+
modifiedValue,
|
|
292
|
+
flexSettings,
|
|
293
|
+
designMetadata
|
|
294
|
+
);
|
|
295
|
+
|
|
296
|
+
const templateName =
|
|
297
|
+
fragment.targetAggregation === COLUMNS_AGGREGATION ? `V2_SMART_TABLE_COLUMN` : 'V2_SMART_TABLE_CELL';
|
|
298
|
+
const preparedChange = command.getPreparedChange();
|
|
299
|
+
setAdditionalChangeInfoForChangeFile(preparedChange.getDefinition().fileName, { templateName });
|
|
300
|
+
compositeCommand.addCommand(command, false);
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
await this.commandExecutor.pushAndExecuteCommand(compositeCommand);
|
|
304
|
+
CommunicationService.sendAction(setApplicationRequiresReload(true));
|
|
305
|
+
}
|
|
306
|
+
}
|