@sap/open.fe 1.96.0 → 1.97.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/package.json +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/.library +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/.theming +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/MessageButton-dbg.js +57 -42
- package/packages/sap.fe.common/src/sap/fe/common/MessageButton.js +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/library-dbg.js +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/library-h2-preload.js +2 -2
- package/packages/sap.fe.common/src/sap/fe/common/library-preload.js +4 -4
- package/packages/sap.fe.common/src/sap/fe/common/library-preload.js.map +3 -3
- package/packages/sap.fe.common/src/sap/fe/common/library.js +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/manifest.json +3 -3
- package/packages/sap.fe.common/src/sap/fe/common/resources.json +4 -4
- package/packages/sap.fe.common/test/sap/fe/common/designtime/api.json +1 -1
- package/packages/sap.fe.common/test/sap/fe/common/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/.library +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/.theming +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils-dbg.js +59 -274
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy-dbg.js +52 -64
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper-dbg.js +18 -22
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling-dbg.js +80 -4
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/actions/operations-dbg.js +42 -23
- package/packages/sap.fe.core/src/sap/fe/core/actions/operations.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +36 -21
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +9 -3
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +20 -50
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +222 -102
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState-dbg.js +33 -6
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +109 -111
- package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d-dbg.js +8 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d.ts +0 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings-dbg.js +2 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.ts +4 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter-dbg.js +10 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.ts +9 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +67 -40
- package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action-dbg.js +6 -3
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.ts +6 -3
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form-dbg.js +57 -18
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.ts +51 -13
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table-dbg.js +130 -19
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.ts +139 -18
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID-dbg.js +9 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID.ts +4 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +18 -7
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.ts +17 -12
- package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent-dbg.designtime.js +2 -1
- package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent.designtime.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js.map +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter-dbg.js +27 -4
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.ts +20 -3
- package/packages/sap.fe.core/src/sap/fe/core/fpm/manifest.json +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper-dbg.js +211 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.ts +202 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveRefreshTypes-dbg.js +32 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveRefreshTypes.ts +36 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper-dbg.js +51 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/library-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js +10 -9
- package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js.map +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.js +232 -228
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.js.map +4 -4
- package/packages/sap.fe.core/src/sap/fe/core/library.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/manifest.json +10 -10
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle.properties +15 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ar.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_bg.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ca.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cs.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cy.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_da.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_de.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_el.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_GB.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_sappsd.properties +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saprigi.properties +11 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saptrc.properties +11 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es_MX.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_et.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fi.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr_CA.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hi.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hr.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hu.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_id.properties +11 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_it.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_iw.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ja.properties +19 -9
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_kk.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ko.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lt.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lv.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ms.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_nl.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_no.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pl.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt.properties +11 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt_PT.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ro.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ru.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sh.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sk.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sl.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sv.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_th.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_tr.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_uk.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_vi.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_CN.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_TW.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/resources.json +200 -121
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +30 -19
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper-dbg.js +80 -7
- package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper.ts +42 -2
- package/packages/sap.fe.core/test/sap/fe/core/designtime/api.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/buildingBlockOverview.md +4 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/ChartDefault.view.xml +1 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/manifest.json +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnAdaptation.fragment.xml +13 -10
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnButton.fragment.xml +7 -4
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/localService/service.cds +1 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/manifest.json +1 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/CommonUtils.spec.js +119 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/__snapshots__/TemplateConverter.spec.ts.snap +285 -4
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.js +121 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.ts +79 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.js +147 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.ts +96 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.js +51 -18
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.ts +109 -17
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/MetaModelConverter.spec.ts.snap +66 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/EntitySetHelper.cds +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/EntitySetHelperMainEntitySortableFalse.cds +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableGetSelectionMode.cds +8 -8
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/TableFormatters.spec.js +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/TableFormatters.spec.ts +38 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelper.spec.js +483 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelper.spec.ts +376 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlRefreshStrategyTests.js +101 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlRefreshStrategyTests.ts +105 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlsForRefreshTests.js +103 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlsForRefreshTests.ts +106 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/RefreshStrategyForIntentTests.js +118 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/RefreshStrategyForIntentTests.ts +118 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/StoreStrategyTests.js +101 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/StoreStrategyTests.ts +102 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/ModelHelper.spec.js +118 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/RoutingServiceFactory.spec.js +70 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/EntitySetHelper.spec.js +89 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/EntitySetHelper.spec.ts +73 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/TemplatingExpressions.qunit.js +4 -2
- package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/generalTests.json +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/.library +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/.theming +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate-dbg.js +15 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper-dbg.js +9 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/DelegateUtil-dbg.js +30 -11
- package/packages/sap.fe.macros/src/sap/fe/macros/DelegateUtil.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI-dbg.js +3 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.ts +3 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldValueHelpDelegate-dbg.js +17 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldValueHelpDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.ts +1 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate-dbg.js +4 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FlexibleColumnLayoutActions.fragment.xml +6 -15
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.fragment.xml +14 -12
- package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.fragment.xml +2 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata-dbg.js +12 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI-dbg.js +15 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.ts +10 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper-dbg.js +81 -9
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime-dbg.js +13 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating-dbg.js +5 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.ts +4 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkContactContent.fragment.xml +1 -7
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate-dbg.js +5 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkForContact.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/formcontainer/FormContainerRuntime-dbg.js +46 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/formcontainer/FormContainerRuntime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.fragment.xml +17 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldStructure.fragment.xml +26 -16
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/File.fragment.xml +1 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating-dbg.js +4 -13
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +10 -10
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate-dbg.js +5 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper-dbg.js +72 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/library-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js +12 -11
- package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js.map +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js +93 -91
- package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js.map +4 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/library.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/manifest.json +9 -9
- package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle.properties +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ar.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_bg.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ca.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cs.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cy.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_da.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_de.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_el.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en.properties +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_GB.properties +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_sappsd.properties +3 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es_MX.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_et.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fi.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr_CA.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hi.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hr.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hu.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_id.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_it.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_iw.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ja.properties +3 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_kk.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ko.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lt.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lv.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ms.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_nl.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_no.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pl.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt_PT.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ro.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ru.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sh.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sk.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sl.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sv.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_th.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_tr.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_uk.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_vi.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_CN.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_TW.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/MicroChartTitle.fragment.xml +21 -11
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/RadialMicroChart.fragment.xml +2 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/resources.json +149 -110
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Actions.fragment.xml +3 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/ColumnContent.fragment.xml +70 -29
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper-dbg.js +53 -36
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate-dbg.js +3 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/api.json +2 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.js +844 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.ts +833 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartHelper.spec.js +495 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartHelper.spec.ts +440 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartUtils.spec.js +469 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartUtils.spec.ts +448 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.js +94 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.ts +70 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.js +12 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.ts +11 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DelegateUtil.spec.js +61 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldHelper.spec.js +46 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldHelper.spec.ts +30 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.js +13 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.ts +11 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FormElement.spec.js +66 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FormElement.spec.ts +35 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.js +48 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.ts +56 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableFieldLabel.spec.js +68 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableFieldLabel.spec.ts +65 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/ChartDelegate.spec.ts.snap +82 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/DatapointMacro.spec.ts.snap +23 -5
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldHelper.spec.ts.snap +47 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroDataFieldTypes.spec.ts.snap +52 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FormElement.spec.ts.snap +25 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/QuickViewForm.spec.ts.snap +0 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/SimpleFieldMacro.spec.ts.snap +69 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/TableFieldLabel.spec.ts.snap +451 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldHelper.xml +68 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/Table.cds +13 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/TableFieldLabel.cds +152 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.js +116 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.ts +115 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/form/FormElement.spec.js +86 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/form/FormElement.spec.ts +54 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/form/__snapshots__/FormElement.spec.ts.snap +33 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.js +154 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.ts +128 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.js +7 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.ts +23 -12
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/__snapshots__/TableDelegate.spec.ts.snap +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/index.json +0 -5
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelperTemplate.qunit.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormElementTemplating.qunit.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelper.qunit.js +108 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/.library +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/.theming +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-dbg.js +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-h2-preload.js +2 -2
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js +2 -2
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library.js +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/manifest.json +3 -3
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/api.json +1 -1
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.library +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.theming +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-dbg.js +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-h2-preload.js +2 -2
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js +4 -4
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js.map +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library.js +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/manifest.json +3 -3
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/resources.json +3 -3
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderALP.fragment.html +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderOVP.fragment.html +1 -1
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/api.json +1 -1
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/.library +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/.theming +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/manifest.json +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent-dbg.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReport.view.xml +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +91 -60
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController.controller.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/manifest.json +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState-dbg.js +31 -5
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/resources.json +5 -5
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper-dbg.js +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component-dbg.js +18 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +114 -85
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox-dbg.js +8 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/manifest.json +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState-dbg.js +23 -3
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/resources.json +15 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating-dbg.js +6 -5
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.ts +6 -4
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPointTitle.fragment.xml +26 -16
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +5 -5
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl-dbg.controller.js +63 -9
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer-dbg.controller.js +54 -32
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController-dbg.js +24 -21
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/Fcl.view.xml +2 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/NavContainer.view.xml +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/Table.fragment.xml +2 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/library-dbg.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js +8 -9
- package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js.map +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js +23 -30
- package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js.map +4 -4
- package/packages/sap.fe.templates/src/sap/fe/templates/library.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/manifest.json +13 -13
- package/packages/sap.fe.templates/src/sap/fe/templates/resources.json +51 -60
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/manifest.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/api.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/HeaderFacet.spec.js +95 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/HeaderFacet.spec.ts +66 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/ObjectPageHeaderForm.spec.js +134 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/ObjectPageHeaderForm.spec.ts +94 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/HeaderFacet.spec.ts.snap +61 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/ObjectPageHeaderForm.spec.ts.snap +53 -0
- package/packages/sap.fe.test/src/sap/fe/test/.library +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/.theming +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/FCLView-dbg.js +0 -6
- package/packages/sap.fe.test/src/sap/fe/test/FCLView.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/Flexibility-dbg.js +14 -3
- package/packages/sap.fe.test/src/sap/fe/test/Flexibility.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper-dbg.js +85 -8
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.ts +54 -2
- package/packages/sap.fe.test/src/sap/fe/test/ListReport-dbg.js +0 -11
- package/packages/sap.fe.test/src/sap/fe/test/ListReport.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/ObjectPage-dbg.js +0 -38
- package/packages/sap.fe.test/src/sap/fe/test/ObjectPage.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/TemplatePage-dbg.js +0 -12
- package/packages/sap.fe.test/src/sap/fe/test/TemplatePage.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper-dbg.js +22 -1
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.ts +14 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI-dbg.js +21 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI-dbg.js +9 -5
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogActions-dbg.js +18 -5
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogActions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAssertions-dbg.js +25 -5
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAssertions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/EditState-dbg.js +9 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/EditState.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarActions-dbg.js +38 -4
- package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarActions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/FormAssertions-dbg.js +33 -4
- package/packages/sap.fe.test/src/sap/fe/test/api/FormAssertions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/TableActions-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/library-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js +3 -3
- package/packages/sap.fe.test/src/sap/fe/test/library-preload.js +23 -16
- package/packages/sap.fe.test/src/sap/fe/test/library-preload.js.map +3 -3
- package/packages/sap.fe.test/src/sap/fe/test/library.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/manifest.json +3 -3
- package/packages/sap.fe.test/src/sap/fe/test/resources.json +36 -34
- package/packages/sap.fe.test/test/sap/fe/test/designtime/api.json +1 -1
- package/packages/sap.fe.test/test/sap/fe/test/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.jsmeta.json +1 -1
- package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.common/test/sap/fe/common/relnotes/changes-1.96.json +0 -49
- package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.96.json +0 -189
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldRuntime.qunit.js +0 -73
- package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.96.json +0 -160
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/relnote/changes-1.96.json +0 -17
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/OverflowToolbarButtonHover-dbg.js +0 -26
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/OverflowToolbarButtonHover.js +0 -6
- package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.96.json +0 -153
|
@@ -7,14 +7,23 @@
|
|
|
7
7
|
ID: 'sap/fe/core/helpers/StableIdHelper'
|
|
8
8
|
}"
|
|
9
9
|
>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
change="{this>onChange}"
|
|
13
|
-
id="{= ${this>_apiId} ? ${this>_apiId} : (${this>idPrefix} ? ID.generate([${this>idPrefix}, 'Field']) : undefined )}"
|
|
14
|
-
required="{= FIELD.getRequiredForDataField(${dataField>Value/$Path@@FIELD.fieldControl}, ${this>editMode}, ${dataField>@@FIELD.fieldControl})}"
|
|
15
|
-
editable="{this>editableExpression}"
|
|
10
|
+
<template:if
|
|
11
|
+
test="{= !(${this>formatOptions/isAnalytics}) && (${this>formatOptions/fieldMode} === 'nowrapper') && (${this>editMode}==='Display') }"
|
|
16
12
|
>
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
|
|
14
|
+
<template:then>
|
|
15
|
+
<core:Fragment fragmentName="sap.fe.macros.internal.field.FieldContent" type="XML" />
|
|
16
|
+
</template:then>
|
|
17
|
+
<template:else>
|
|
18
|
+
<macro:FieldAPI
|
|
19
|
+
change="{this>onChange}"
|
|
20
|
+
id="{= ${this>_apiId} ? ${this>_apiId} : (${this>idPrefix} ? ID.generate([${this>idPrefix}, 'Field']) : undefined )}"
|
|
21
|
+
required="{= FIELD.getRequiredForDataField(${dataField>Value/$Path@@FIELD.fieldControl}, ${this>editMode}, ${dataField>@@FIELD.fieldControl})}"
|
|
22
|
+
editable="{this>editableExpression}"
|
|
23
|
+
>
|
|
24
|
+
<core:Fragment fragmentName="sap.fe.macros.internal.field.FieldContent" type="XML" />
|
|
25
|
+
</macro:FieldAPI>
|
|
26
|
+
</template:else>
|
|
27
|
+
</template:if>
|
|
19
28
|
|
|
20
29
|
</core:FragmentDefinition>
|
|
@@ -32,24 +32,34 @@
|
|
|
32
32
|
<core:Fragment fragmentName="sap.fe.macros.internal.field.displayStyle.{this>displayStyle}" type="XML" />
|
|
33
33
|
</template:then>
|
|
34
34
|
<template:else>
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
editMode="{this>editMode}"
|
|
39
|
-
visible="{this>visible}"
|
|
40
|
-
required="{= FIELD.getRequiredForDataField(${property>$Path@@FIELD.fieldControl}, ${this>editMode})}"
|
|
41
|
-
width="100%"
|
|
42
|
-
class="{this>class}"
|
|
35
|
+
|
|
36
|
+
<template:if
|
|
37
|
+
test="{= !(${this>formatOptions/isAnalytics}) && (${this>formatOptions/fieldMode} === 'nowrapper') && (${this>editMode}==='Display') && (${this>visible} === 'true') }"
|
|
43
38
|
>
|
|
44
|
-
<
|
|
39
|
+
<template:then>
|
|
45
40
|
<core:Fragment fragmentName="sap.fe.macros.internal.field.displayStyle.{this>displayStyle}" type="XML" />
|
|
46
|
-
</
|
|
47
|
-
<template:
|
|
48
|
-
<control:
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
41
|
+
</template:then>
|
|
42
|
+
<template:else>
|
|
43
|
+
<control:FieldWrapper
|
|
44
|
+
id="{= ${this>_flexId} || (${this>idPrefix} ? ID.generate([${this>idPrefix}, 'Field-content']) : undefined) }"
|
|
45
|
+
emptyIndicatorTrigger="{= FIELD.getEmptyIndicatorTrigger(${this>formatOptions/showEmptyIndicator},${this>valueBindingExpression}, ${this>text})}"
|
|
46
|
+
editMode="{this>editMode}"
|
|
47
|
+
visible="{this>visible}"
|
|
48
|
+
required="{= FIELD.getRequiredForDataField(${property>$Path@@FIELD.fieldControl}, ${this>editMode})}"
|
|
49
|
+
width="100%"
|
|
50
|
+
class="{this>class}"
|
|
51
|
+
>
|
|
52
|
+
<control:contentDisplay>
|
|
53
|
+
<core:Fragment fragmentName="sap.fe.macros.internal.field.displayStyle.{this>displayStyle}" type="XML" />
|
|
54
|
+
</control:contentDisplay>
|
|
55
|
+
<template:if test="{= ${this>editMode}!=='Display' && !!${this>editStyle}}">
|
|
56
|
+
<control:contentEdit>
|
|
57
|
+
<core:Fragment fragmentName="sap.fe.macros.internal.field.editStyle.{this>editStyle}" type="XML" />
|
|
58
|
+
</control:contentEdit>
|
|
59
|
+
</template:if>
|
|
60
|
+
</control:FieldWrapper>
|
|
61
|
+
</template:else>
|
|
62
|
+
</template:if>
|
|
53
63
|
</template:else>
|
|
54
64
|
</template:if>
|
|
55
65
|
</core:FragmentDefinition>
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
style="Transparent"
|
|
32
32
|
sendXHR="true"
|
|
33
33
|
useMultipart="false"
|
|
34
|
+
sameFilenameAllowed="true"
|
|
34
35
|
uploadOnChange="false"
|
|
35
36
|
uploadAborted="FIELDRUNTIME.handleUploadAborted"
|
|
36
37
|
uploadComplete="FIELDRUNTIME.handleUploadComplete($event, '{propertyPath>@Org.OData.Core.V1.ContentDisposition/Filename@@FIELD.propertyName}')"
|
package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating-dbg.js
CHANGED
|
@@ -14,6 +14,7 @@ sap.ui.define(["sap/fe/core/formatters/ValueFormatter", "sap/fe/core/templating/
|
|
|
14
14
|
var annotationExpression = BindingExpression.annotationExpression;
|
|
15
15
|
var getPathRelativeLocation = DataModelPathHelper.getPathRelativeLocation;
|
|
16
16
|
var enhanceDataModelPath = DataModelPathHelper.enhanceDataModelPath;
|
|
17
|
+
var formatWithTypeInformation = UIFormatters.formatWithTypeInformation;
|
|
17
18
|
var getBindingWithUnitOrCurrency = UIFormatters.getBindingWithUnitOrCurrency;
|
|
18
19
|
var EDM_TYPE_MAPPING = UIFormatters.EDM_TYPE_MAPPING;
|
|
19
20
|
var getDisplayMode = UIFormatters.getDisplayMode;
|
|
@@ -138,10 +139,12 @@ sap.ui.define(["sap/fe/core/formatters/ValueFormatter", "sap/fe/core/templating/
|
|
|
138
139
|
return np.name;
|
|
139
140
|
}) : [];
|
|
140
141
|
outExpression = annotationExpression(fieldValue, relativeLocation);
|
|
142
|
+
var oPropertyDefinition = oPropertyDataModelPath.targetObject;
|
|
141
143
|
|
|
142
144
|
if (sPropertyType) {
|
|
143
145
|
var _EDM_TYPE_MAPPING$sPr;
|
|
144
146
|
|
|
147
|
+
formatWithTypeInformation(oPropertyDefinition, outExpression);
|
|
145
148
|
outExpression.type = (_EDM_TYPE_MAPPING$sPr = EDM_TYPE_MAPPING[sPropertyType]) === null || _EDM_TYPE_MAPPING$sPr === void 0 ? void 0 : _EDM_TYPE_MAPPING$sPr.type;
|
|
146
149
|
}
|
|
147
150
|
|
|
@@ -152,18 +155,6 @@ sap.ui.define(["sap/fe/core/formatters/ValueFormatter", "sap/fe/core/templating/
|
|
|
152
155
|
outExpression = getDecimalFormat(outExpression, fieldValue, sNumberOfFractionalDigits);
|
|
153
156
|
break;
|
|
154
157
|
|
|
155
|
-
case "Edm.String":
|
|
156
|
-
if (!outExpression.formatOptions) {
|
|
157
|
-
outExpression.formatOptions = {};
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
if (!outExpression.constraints) {
|
|
161
|
-
outExpression.constraints = {};
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
outExpression.formatOptions.parseKeepsEmptyString = true;
|
|
165
|
-
break;
|
|
166
|
-
|
|
167
158
|
default:
|
|
168
159
|
}
|
|
169
160
|
|
|
@@ -249,4 +240,4 @@ sap.ui.define(["sap/fe/core/formatters/ValueFormatter", "sap/fe/core/templating/
|
|
|
249
240
|
_exports.buildExpressionForProgressIndicatorPercentValue = buildExpressionForProgressIndicatorPercentValue;
|
|
250
241
|
return _exports;
|
|
251
242
|
}, false);
|
|
252
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGFQb2ludFRlbXBsYXRpbmcudHMiXSwibmFtZXMiOlsiZ2V0RGF0YVBvaW50VGFyZ2V0RXhwcmVzc2lvbiIsIm9EYXRhTW9kZWxQYXRoIiwiVGFyZ2V0VmFsdWUiLCJhbm5vdGF0aW9uRXhwcmVzc2lvbiIsInVucmVzb2x2ZWFibGVFeHByZXNzaW9uIiwib1Jlc291cmNlTW9kZWwiLCJzYXAiLCJ1aSIsImdldENvcmUiLCJnZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUiLCJwcm9ncmVzc0luZGljYXRvckRpc3BsYXlWYWx1ZSIsIm9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgiLCJmaWVsZFZhbHVlIiwidGFyZ2V0T2JqZWN0IiwiVmFsdWUiLCJyZWxhdGl2ZUxvY2F0aW9uIiwiZ2V0UGF0aFJlbGF0aXZlTG9jYXRpb24iLCJjb250ZXh0TG9jYXRpb24iLCJuYXZpZ2F0aW9uUHJvcGVydGllcyIsIm1hcCIsIm5wIiwibmFtZSIsImZpZWxkVmFsdWVFeHByZXNzaW9uIiwiVGFyZ2V0RXhwcmVzc2lvbiIsInNVbml0UHJvcGVydHlQYXRoIiwiJHRhcmdldCIsImdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoIiwidW5kZWZpbmVkIiwic1VvTVBlcmNlbnQiLCJhbm5vdGF0aW9ucyIsIk1lYXN1cmVzIiwiVW5pdCIsImNoYXJBdCIsImNvbXBpbGVCaW5kaW5nIiwiZ2V0VGV4dCIsImJpbmRpbmdFeHByZXNzaW9uIiwiYnVpbGRSYXRpbmdJbmRpY2F0b3JTdWJ0aXRsZUV4cHJlc3Npb24iLCJvQ29udGV4dCIsIm1TYW1wbGVTaXplIiwiZm9ybWF0UmF0aW5nSW5kaWNhdG9yU3ViVGl0bGUiLCJBbm5vdGF0aW9uSGVscGVyIiwidmFsdWUiLCJjb250ZXh0IiwiaVNhbXBsZVNpemVWYWx1ZSIsInNTdWJUaXRsZUxhYmVsIiwiU3RyaW5nIiwiZ2V0SGVhZGVyUmF0aW5nSW5kaWNhdG9yVGV4dCIsIm9EYXRhUG9pbnQiLCJTYW1wbGVTaXplIiwiRGVzY3JpcHRpb24iLCJzTW9kZWxWYWx1ZSIsInJlcXVpcmVzSUNvbnRleHQiLCJidWlsZEV4cHJlc3Npb25Gb3JEZXNjcmlwdGlvbiIsIkNvbW1vbiIsIlRleHQiLCJvVGV4dEV4cHJlc3Npb24iLCJwYXJhbWV0ZXJzIiwiZ2V0RGVjaW1hbEZvcm1hdCIsIm91dEV4cHJlc3Npb24iLCJzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzIiwiY29uc3RyYWludHMiLCJPYmplY3QiLCJhc3NpZ24iLCJwcmVjaXNpb24iLCJzY2FsZSIsImdldFZhbHVlRm9ybWF0dGVkIiwib1Byb3BlcnR5RGF0YU1vZGVsUGF0aCIsInNQcm9wZXJ0eVR5cGUiLCJwYXRoIiwiaW5kZXhPZiIsInR5cGUiLCJFRE1fVFlQRV9NQVBQSU5HIiwiZm9ybWF0T3B0aW9ucyIsInBhcnNlS2VlcHNFbXB0eVN0cmluZyIsImJ1aWxkRmllbGRCaW5kaW5nRXhwcmVzc2lvbiIsIm9Qcm9wZXJ0eSIsImRhdGFQb2ludEZvcm1hdE9wdGlvbnMiLCJiTWVhc3VyZURpc3BsYXlNb2RlRW5hYmxlZCIsIm9EYXRhUG9pbnRWYWx1ZSIsIm9Gb3JtYXRPcHRpb25zIiwib0Rlc2NyaXB0aW9uIiwiVmFsdWVGb3JtYXQiLCJOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMiLCJlbmhhbmNlRGF0YU1vZGVsUGF0aCIsIm9Gb3JtYXRlZFZhbHVlIiwic0Rpc3BsYXlNb2RlIiwiZGlzcGxheU1vZGUiLCJnZXREaXNwbGF5TW9kZSIsIm9CaW5kaW5nRXhwcmVzc2lvbiIsImZvcm1hdFJlc3VsdCIsInZhbHVlRm9ybWF0dGVycyIsImZvcm1hdFdpdGhCcmFja2V0cyIsIklTT0N1cnJlbmN5IiwiZ2V0QmluZGluZ1dpdGhVbml0T3JDdXJyZW5jeSIsIm1lYXN1cmVEaXNwbGF5TW9kZSIsInNob3dNZWFzdXJlIiwiYnVpbGRFeHByZXNzaW9uRm9yUHJvZ3Jlc3NJbmRpY2F0b3JQZXJjZW50VmFsdWUiLCJVbml0RXhwcmVzc2lvbiIsIm9FeHByZXNzaW9uVGVtcGxhdGUiLCJjb21w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cUQsRUFBeEU7QUFDQSxRQUFNQyxnQkFBZ0IsR0FBR0MsdUJBQXVCLENBQy9DTCw0QkFBNEIsQ0FBQ00sZUFEa0IsRUFFL0NOLDRCQUE0QixDQUFDTyxvQkFGa0IsQ0FBdkIsQ0FHdkJDLEdBSHVCLENBR25CLFVBQUFDLEVBQUU7QUFBQSxhQUFJQSxFQUFFLENBQUNDLElBQVA7QUFBQSxLQUhpQixDQUF6QjtBQUlBLFFBQU1DLG9CQUFvQixHQUFHbkIsb0JBQW9CLENBQUNTLFVBQUQsRUFBYUcsZ0JBQWIsQ0FBakQ7QUFDQSxRQUFNUSxnQkFBZ0IsR0FBR3ZCLDRCQUE0QixDQUFDVyw0QkFBNEIsQ0FBQ0UsWUFBOUIsQ0FBckQ7QUFDQSxRQUFNVyxpQkFBaUIsR0FBR1osVUFBVSxTQUFWLElBQUFBLFVBQVUsV0FBVixJQUFBQSxVQUFVLENBQUVhLE9BQVosR0FBc0JDLDZCQUE2QixDQUFDZCxVQUFVLENBQUNhLE9BQVosQ0FBbkQsR0FBMEVFLFNBQXBHO0FBQ0EsUUFBTXNFLGNBQWMsR0FBR3pFLGlCQUFpQixHQUFHVyxpQkFBaUIsQ0FBQ1gsaUJBQUQsQ0FBcEIsR0FBMEMsRUFBbEY7QUFFQSxRQUFNMEUsbUJBQW1CLEdBQUdULFlBQVksQ0FBQyxDQUFDbkUsb0JBQUQsRUFBdUJDLGdCQUF2QixFQUF5QzBFLGNBQXpDLENBQUQsRUFBMkRQLGVBQWUsQ0FBQ1MsaUJBQTNFLENBQXhDO0FBRUEsV0FBT2xFLGNBQWMsQ0FBQ2lFLG1CQUFELENBQXJCO0FBQ0EsR0FkTSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHZhbHVlRm9ybWF0dGVycyBmcm9tIFwic2FwL2ZlL2NvcmUvZm9ybWF0dGVycy9WYWx1ZUZvcm1hdHRlclwiO1xuaW1wb3J0IHsgZ2V0RGlzcGxheU1vZGUsIEVETV9UWVBFX01BUFBJTkcsIGdldEJpbmRpbmdXaXRoVW5pdE9yQ3VycmVuY3kgfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9VSUZvcm1hdHRlcnNcIjtcblxuaW1wb3J0IHsgRGF0YU1vZGVsT2JqZWN0UGF0aCwgZW5oYW5jZURhdGFNb2RlbFBhdGgsIGdldFBhdGhSZWxhdGl2ZUxvY2F0aW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IHtcblx0RXhwcmVzc2lvbixcblx0YW5ub3RhdGlvbkV4cHJlc3Npb24sXG5cdGZvcm1hdFJlc3VsdCxcblx0QmluZGluZ0V4cHJlc3Npb25FeHByZXNzaW9uLFxuXHRCaW5kaW5nRXhwcmVzc2lvbixcblx0Y29tcGlsZUJpbmRpbmcsXG5cdGJpbmRpbmdFeHByZXNzaW9uLFxuXHRDb21wbGV4VHlwZUV4cHJlc3Npb24sXG5cdHVucmVzb2x2ZWFibGVFeHByZXNzaW9uXG59IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdFeHByZXNzaW9uXCI7XG5cbmltcG9ydCB7IGdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvUHJvcGVydHlIZWxwZXJcIjtcblxuaW1wb3J0IHsgQW5ub3RhdGlvbkhlbHBlciB9IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjRcIjtcblxuZXhwb3J0IHR5cGUgRGF0YVBvaW50Rm9ybWF0T3B0aW9ucyA9IFBhcnRpYWw8e1xuXHRtZWFzdXJlRGlzcGxheU1vZGU6IFN0cmluZztcbn0+O1xuXG5jb25zdCBnZXREYXRhUG9pbnRUYXJnZXRFeHByZXNzaW9uID0gKG9EYXRhTW9kZWxQYXRoOiBhbnkpOiBFeHByZXNzaW9uPHN0cmluZz4gPT4ge1xuXHRyZXR1cm4gb0RhdGFNb2RlbFBhdGg/LlRhcmdldFZhbHVlID8gYW5ub3RhdGlvbkV4cHJlc3Npb24ob0RhdGFNb2RlbFBhdGguVGFyZ2V0VmFsdWUpIDogdW5yZXNvbHZlYWJsZUV4cHJlc3Npb247XG59O1xuXG5jb25zdCBvUmVzb3VyY2VNb2RlbCA9IHNhcC51aS5nZXRDb3JlKCkuZ2V0TGlicmFyeVJlc291cmNlQnVuZGxlKFwic2FwLmZlLm1hY3Jvc1wiKTtcblxuZXhwb3J0IGNvbnN0IHByb2dyZXNzSW5kaWNhdG9yRGlzcGxheVZhbHVlID0gKG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGgpOiBCaW5kaW5nRXhwcmVzc2lvbjxzdHJpbmc+ID0+IHtcblx0Y29uc3QgZmllbGRWYWx1ZSA9IG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGg/LnRhcmdldE9iamVjdD8uVmFsdWUgfHwgXCJcIjtcblx0Y29uc3QgcmVsYXRpdmVMb2NhdGlvbiA9IGdldFBhdGhSZWxhdGl2ZUxvY2F0aW9uKFxuXHRcdG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGguY29udGV4dExvY2F0aW9uLFxuXHRcdG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgubmF2aWdhdGlvblByb3BlcnRpZXNcblx0KS5tYXAobnAgPT4gbnAubmFtZSk7XG5cdGNvbnN0IGZpZWxkVmFsdWVFeHByZXNzaW9uID0gYW5ub3RhdGlvbkV4cHJlc3Npb24oZmllbGRWYWx1ZSwgcmVsYXRpdmVMb2NhdGlvbik7XG5cdGNvbnN0IFRhcmdldEV4cHJlc3Npb24gPSBnZXREYXRhUG9pbnRUYXJnZXRFeHByZXNzaW9uKG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0KTtcblxuXHRpZiAoZmllbGRWYWx1ZUV4cHJlc3Npb24gJiYgVGFyZ2V0RXhwcmVzc2lvbikge1xuXHRcdGNvbnN0IHNVbml0UHJvcGVydHlQYXRoID0gZmllbGRWYWx1ZT8uJHRhcmdldCA/IGdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoKGZpZWxkVmFsdWU/LiR0YXJnZXQpIDogdW5kZWZpbmVkO1xuXG5cdFx0aWYgKCFzVW5pdFByb3BlcnR5UGF0aCkge1xuXHRcdFx0Y29uc3Qgc1VvTVBlcmNlbnQgPSBmaWVsZFZhbHVlLiR0YXJnZXQ/LmFubm90YXRpb25zPy5NZWFzdXJlcz8uVW5pdD8uY2hhckF0KDApO1xuXHRcdFx0aWYgKHNVb01QZXJjZW50ID09PSBcIiVcIikge1xuXHRcdFx0XHRyZXR1cm4gKGNvbXBpbGVCaW5kaW5nKGZpZWxkVmFsdWVFeHByZXNzaW9uKSBhcyBzdHJpbmcpICsgXCIgJVwiO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmV0dXJuIG9SZXNvdXJjZU1vZGVsLmdldFRleHQoXCJUX0NPTU1PTl9QUk9HUkVTU19JTkRJQ0FUT1JfRElTUExBWV9WQUxVRV9OT19VT01cIiwgW1xuXHRcdFx0XHRcdGNvbXBpbGVCaW5kaW5nKGZpZWxkVmFsdWVFeHByZXNzaW9uKSBhcyBzdHJpbmcsXG5cdFx0XHRcdFx0Y29tcGlsZUJpbmRpbmcoVGFyZ2V0RXhwcmVzc2lvbikgYXMgc3RyaW5nXG5cdFx0XHRcdF0pO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHRvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9DT01NT05fUFJPR1JFU1NfSU5ESUNBVE9SX0RJU1BMQVlfVkFMVUVfTk9fVU9NXCIsIFtcblx0XHRcdFx0XHRjb21waWxlQmluZGluZyhmaWVsZFZhbHVlRXhwcmVzc2lvbikgYXMgc3RyaW5nLFxuXHRcdFx0XHRcdGNvbXBpbGVCaW5kaW5nKFRhcmdldEV4cHJlc3Npb24pIGFzIHN0cmluZ1xuXHRcdFx0XHRdKSArXG5cdFx0XHRcdFwiIFwiICtcblx0XHRcdFx0Y29tcGlsZUJpbmRpbmcoYmluZGluZ0V4cHJlc3Npb24oc1VuaXRQcm9wZXJ0eVBhdGggYXMgc3RyaW5nKSlcblx0XHRcdCk7XG5cdFx0fVxuXHR9XG5cdHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBidWlsZFJhdGluZ0luZGljYXRvclN1YnRpdGxlRXhwcmVzc2lvbiA9IChvQ29udGV4dDogYW55LCBtU2FtcGxlU2l6ZTogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0aWYgKG1TYW1wbGVTaXplKSB7XG5cdFx0cmV0dXJuIGZvcm1hdFJhdGluZ0luZGljYXRvclN1YlRpdGxlKEFubm90YXRpb25IZWxwZXIudmFsdWUobVNhbXBsZVNpemUsIHsgY29udGV4dDogb0NvbnRleHQgfSkpO1xuXHR9XG59O1xuLy8gcmV0dXJucyB0aGUgdGV4dCBmb3IgdGhlIFJhdGluZyBJbmRpY2F0b3IgU3VidGl0bGUgKGUuZy4gJzcgcmV2aWV3cycpXG5jb25zdCBmb3JtYXRSYXRpbmdJbmRpY2F0b3JTdWJUaXRsZSA9IChpU2FtcGxlU2l6ZVZhbHVlOiBudW1iZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuXHRpZiAoaVNhbXBsZVNpemVWYWx1ZSkge1xuXHRcdGNvbnN0IHNTdWJUaXRsZUxhYmVsID1cblx0XHRcdGlTYW1wbGVTaXplVmFsdWUgPiAxXG5cdFx0XHRcdD8gb1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlRfQU5OT1RBVElPTl9IRUxQRVJfUkFUSU5HX0lORElDQVRPUl9TVUJUSVRMRV9MQUJFTF9QTFVSQUxcIilcblx0XHRcdFx0OiBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9BTk5PVEFUSU9OX0hFTFBFUl9SQVRJTkdfSU5ESUNBVE9SX1NVQlRJVExFX0xBQkVMXCIpO1xuXHRcdHJldHVybiBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9BTk5PVEFUSU9OX0hFTFBFUl9SQVRJTkdfSU5ESUNBVE9SX1NVQlRJVExFXCIsIFtTdHJpbmcoaVNhbXBsZVNpemVWYWx1ZSksIHNTdWJUaXRsZUxhYmVsXSk7XG5cdH1cbn07XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGdldCB0aGUgaGVhZGVyIHRleHQgb2YgcmF0aW5nIGluZGljYXRvci5cbiAqIEBwYXJhbSBvQ29udGV4dFxuICogQHBhcmFtIG9EYXRhUG9pbnRcbiAqIEBmdW5jdGlvbiBwYXJhbSB7b2JqZWN0fSBvQ29udGV4dCBjb250ZXh0IG9mIGludGVyZmFjZVxuICogcGFyYW0ge29iamVjdH0gb0RhdGFQb2ludCBkYXRhIHBvaW50IG9iamVjdFxuICogQHJldHVybnMge3N0cmluZ30gRXhwcmVzc2lvbiBiaW5kaW5nIGZvciByYXRpbmcgaW5kaWNhdG9yIHRleHRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEhlYWRlclJhdGluZ0luZGljYXRvclRleHQgPSAob0NvbnRleHQ6IGFueSwgb0RhdGFQb2ludDogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0aWYgKG9EYXRhUG9pbnQgJiYgb0RhdGFQb2ludC5TYW1wbGVTaXplKSB7XG5cdFx0cmV0dXJuIGJ1aWxkUmF0aW5nSW5kaWNhdG9yU3VidGl0bGVFeHByZXNzaW9uKG9Db250ZXh0LCBvRGF0YVBvaW50LlNhbXBsZVNpemUpO1xuXHR9IGVsc2UgaWYgKG9EYXRhUG9pbnQgJiYgb0RhdGFQb2ludC5EZXNjcmlwdGlvbikge1xuXHRcdGNvbnN0IHNNb2RlbFZhbHVlID0gQW5ub3RhdGlvbkhlbHBlci52YWx1ZShvRGF0YVBvaW50LkRlc2NyaXB0aW9uLCB7IGNvbnRleHQ6IG9Db250ZXh0IH0pO1xuXHRcdHJldHVybiBcIiR7cGF0aDpcIiArIHNNb2RlbFZhbHVlICsgXCJ9XCI7XG5cdH1cbn07XG5nZXRIZWFkZXJSYXRpbmdJbmRpY2F0b3JUZXh0LnJlcXVpcmVzSUNvbnRleHQgPSB0cnVlO1xuXG5jb25zdCBidWlsZEV4cHJlc3Npb25Gb3JEZXNjcmlwdGlvbiA9IChmaWVsZFZhbHVlOiBhbnkpOiBFeHByZXNzaW9uPGFueT4gfCB1bmRlZmluZWQgPT4ge1xuXHRpZiAoZmllbGRWYWx1ZT8uJHRhcmdldD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGV4dCkge1xuXHRcdGNvbnN0IG9UZXh0RXhwcmVzc2lvbiA9IGFubm90YXRpb25FeHByZXNzaW9uKGZpZWxkVmFsdWU/LiR0YXJnZXQ/LmFubm90YXRpb25zPy5Db21tb24/LlRleHQpIGFzIEJpbmRpbmdFeHByZXNzaW9uRXhwcmVzc2lvbjxhbnk+O1xuXHRcdG9UZXh0RXhwcmVzc2lvbi5wYXJhbWV0ZXJzID0geyBcIiQkbm9QYXRjaFwiOiB0cnVlIH07XG5cdFx0cmV0dXJuIG9UZXh0RXhwcmVzc2lvbjtcblx0fVxuXHRyZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuY29uc3QgZ2V0RGVjaW1hbEZvcm1hdCA9IChcblx0b3V0RXhwcmVzc2lvbjogQmluZGluZ0V4cHJlc3Npb248YW55Pixcblx0ZmllbGRWYWx1ZTogYW55LFxuXHRzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzOiBzdHJpbmdcbik6IEJpbmRpbmdFeHByZXNzaW9uPGFueT4gPT4ge1xuXHRpZiAoIW91dEV4cHJlc3Npb24uY29uc3RyYWludHMpIHtcblx0XHRvdXRFeHByZXNzaW9uLmNvbnN0cmFpbnRzID0ge307XG5cdH1cblx0b3V0RXhwcmVzc2lvbi5jb25zdHJhaW50cyA9IE9iamVjdC5hc3NpZ24ob3V0RXhwcmVzc2lvbi5jb25zdHJhaW50cywge1xuXHRcdHByZWNpc2lvbjogZmllbGRWYWx1ZS4kdGFyZ2V0LnByZWNpc2lvbixcblx0XHRzY2FsZTogc051bWJlck9mRnJhY3Rpb25hbERpZ2l0cyA/IHNOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMgOiBmaWVsZFZhbHVlLiR0YXJnZXQuc2NhbGVcblx0fSk7XG5cdHJldHVybiBvdXRFeHByZXNzaW9uO1xufTtcblxuY29uc3QgZ2V0VmFsdWVGb3JtYXR0ZWQgPSAoXG5cdG9Qcm9wZXJ0eURhdGFNb2RlbFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGgsXG5cdGZpZWxkVmFsdWU6IGFueSxcblx0c1Byb3BlcnR5VHlwZTogc3RyaW5nLFxuXHRzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzOiBzdHJpbmdcbik6IEJpbmRpbmdFeHByZXNzaW9uRXhwcmVzc2lvbjxzdHJpbmc+ID0+IHtcblx0bGV0IG91dEV4cHJlc3Npb246IEJpbmRpbmdFeHByZXNzaW9uPGFueT47XG5cdGNvbnN0IHJlbGF0aXZlTG9jYXRpb24gPVxuXHRcdGZpZWxkVmFsdWU/LnBhdGg/LmluZGV4T2YoXCIvXCIpID09PSAtMVxuXHRcdFx0PyBnZXRQYXRoUmVsYXRpdmVMb2NhdGlvbihvUHJvcGVydHlEYXRhTW9kZWxQYXRoLmNvbnRleHRMb2NhdGlvbiwgb1Byb3BlcnR5RGF0YU1vZGVsUGF0aC5uYXZpZ2F0aW9uUHJvcGVydGllcykubWFwKFxuXHRcdFx0XHRcdG5wID0+IG5wLm5hbWVcblx0XHRcdCAgKVxuXHRcdFx0OiBbXTtcblx0b3V0RXhwcmVzc2lvbiA9IGFubm90YXRpb25FeHByZXNzaW9uKGZpZWxkVmFsdWUsIHJlbGF0aXZlTG9jYXRpb24pO1xuXHRpZiAoc1Byb3BlcnR5VHlwZSkge1xuXHRcdG91dEV4cHJlc3Npb24udHlwZSA9IEVETV9UWVBFX01BUFBJTkdbc1Byb3BlcnR5VHlwZV0/LnR5cGU7XG5cdH1cblx0c3dpdGNoIChzUHJvcGVydHlUeXBlKSB7XG5cdFx0Y2FzZSBcIkVkbS5EZWNpbWFsXCI6XG5cdFx0XHQvLyBmb3IgdGhlIGxpc3RSZXBvcnQsIHRoZSBkZWNpbWFsIGZpZWxkcyBhcmUgZm9ybWF0dGVkIGJ5IHJldHVybmluZyBhIHN0cmluZ1xuXHRcdFx0Ly8gZm9yIHRoZSBmYWNldHMgb2YgdGhlIE9QLCB0aGUgZGVjaW1hbCBmaWVsZHMgYXJlIGZvcm1hdHRlZCBieSByZXR1cm5pbmcgYSBwcm9taXNlLCBzbyB3ZSBtYW5hZ2UgYWxsIHRoZSBjYXNlc1xuXHRcdFx0b3V0RXhwcmVzc2lvbiA9IGdldERlY2ltYWxGb3JtYXQob3V0RXhwcmVzc2lvbiwgZmllbGRWYWx1ZSwgc051bWJlck9mRnJhY3Rpb25hbERpZ2l0cyk7XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFwiRWRtLlN0cmluZ1wiOlxuXHRcdFx0aWYgKCFvdXRFeHByZXNzaW9uLmZvcm1hdE9wdGlvbnMpIHtcblx0XHRcdFx0b3V0RXhwcmVzc2lvbi5mb3JtYXRPcHRpb25zID0ge307XG5cdFx0XHR9XG5cdFx0XHRpZiAoIW91dEV4cHJlc3Npb24uY29uc3RyYWludHMpIHtcblx0XHRcdFx0b3V0RXhwcmVzc2lvbi5jb25zdHJhaW50cyA9IHt9O1xuXHRcdFx0fVxuXHRcdFx0b3V0RXhwcmVzc2lvbi5mb3JtYXRPcHRpb25zLnBhcnNlS2VlcHNFbXB0eVN0cmluZyA9IHRydWU7XG5cdFx0XHRicmVhaztcblx0XHRkZWZhdWx0OlxuXHR9XG5cdHJldHVybiBvdXRFeHByZXNzaW9uIGFzIEJpbmRpbmdFeHByZXNzaW9uRXhwcmVzc2lvbjxzdHJpbmc+O1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkRmllbGRCaW5kaW5nRXhwcmVzc2lvbiA9IChcblx0b0RhdGFNb2RlbFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGgsXG5cdG9Qcm9wZXJ0eTogYW55LFxuXHRkYXRhUG9pbnRGb3JtYXRPcHRpb25zOiBEYXRhUG9pbnRGb3JtYXRPcHRpb25zLFxuXHRiTWVhc3VyZURpc3BsYXlNb2RlRW5hYmxlZDogYm9vbGVhblxuKTogQmluZGluZ0V4cHJlc3Npb248c3RyaW5nPiA9PiB7XG5cdGNvbnN0IG9EYXRhUG9pbnQgPSBvRGF0YU1vZGVsUGF0aC50YXJnZXRPYmplY3Q7XG5cdGNvbnN0IG9EYXRhUG9pbnRWYWx1ZSA9IG9EYXRhUG9pbnQ/LlZhbHVlIHx8IFwiXCI7XG5cdGNvbnN0IG9Gb3JtYXRPcHRpb25zID0gb1Byb3BlcnR5LmZvcm1hdE9wdGlvbnM7XG5cdGNvbnN0IG9EZXNjcmlwdGlvbiA9IGJ1aWxkRXhwcmVzc2lvbkZvckRlc2NyaXB0aW9uKG9EYXRhUG9pbnRWYWx1ZSk7XG5cdGNvbnN0IHNQcm9wZXJ0eVR5cGUgPSBvRGF0YVBvaW50VmFsdWU/LiR0YXJnZXQ/LnR5cGU7XG5cdGxldCBzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzO1xuXG5cdGlmIChzUHJvcGVydHlUeXBlID09PSBcIkVkbS5EZWNpbWFsXCIgJiYgb0RhdGFQb2ludC5WYWx1ZUZvcm1hdCkge1xuXHRcdGlmIChvRGF0YVBvaW50LlZhbHVlRm9ybWF0Lk51bWJlck9mRnJhY3Rpb25hbERpZ2l0cykge1xuXHRcdFx0c051bWJlck9mRnJhY3Rpb25hbERpZ2l0cyA9IG9EYXRhUG9pbnQuVmFsdWVGb3JtYXQuTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzO1xuXHRcdH1cblx0fVxuXHRjb25zdCBvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoID0gZW5oYW5jZURhdGFNb2RlbFBhdGgob0RhdGFNb2RlbFBhdGgsIG9EYXRhUG9pbnRWYWx1ZS5wYXRoKTtcblx0Y29uc3Qgb0Zvcm1hdGVkVmFsdWUgPSBnZXRWYWx1ZUZvcm1hdHRlZChvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoLCBvRGF0YVBvaW50VmFsdWUsIHNQcm9wZXJ0eVR5cGUsIHNOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMpO1xuXHRjb25zdCBzRGlzcGxheU1vZGUgPSBvRGVzY3JpcHRpb25cblx0XHQ/IG9Gb3JtYXRPcHRpb25zLmRpc3BsYXlNb2RlIHx8IGdldERpc3BsYXlNb2RlKG9EYXRhUG9pbnRWYWx1ZSwgb1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aClcblx0XHQ6IFwiVmFsdWVcIjtcblx0bGV0IG9CaW5kaW5nRXhwcmVzc2lvbjogYW55O1xuXHRzd2l0Y2ggKHNEaXNwbGF5TW9kZSkge1xuXHRcdGNhc2UgXCJEZXNjcmlwdGlvblwiOlxuXHRcdFx0b0JpbmRpbmdFeHByZXNzaW9uID0gb0Rlc2NyaXB0aW9uO1xuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBcIlZhbHVlRGVzY3JpcHRpb25cIjpcblx0XHRcdG9CaW5kaW5nRXhwcmVzc2lvbiA9IGZvcm1hdFJlc3VsdChbb0Zvcm1hdGVkVmFsdWUsIG9EZXNjcmlwdGlvbl0sIHZhbHVlRm9ybWF0dGVycy5mb3JtYXRXaXRoQnJhY2tldHMpO1xuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBcIkRlc2NyaXB0aW9uVmFsdWVcIjpcblx0XHRcdG9CaW5kaW5nRXhwcmVzc2lvbiA9IGZvcm1hdFJlc3VsdChbb0Rlc2NyaXB0aW9uLCBvRm9ybWF0ZWRWYWx1ZV0sIHZhbHVlRm9ybWF0dGVycy5mb3JtYXRXaXRoQnJhY2tldHMpO1xuXHRcdFx0YnJlYWs7XG5cdFx0ZGVmYXVsdDpcblx0XHRcdGlmIChcblx0XHRcdFx0b1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3Q/LmFubm90YXRpb25zPy5NZWFzdXJlcz8uVW5pdCB8fFxuXHRcdFx0XHRvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdD8uYW5ub3RhdGlvbnM/Lk1lYXN1cmVzPy5JU09DdXJyZW5jeVxuXHRcdFx0KSB7XG5cdFx0XHRcdG9CaW5kaW5nRXhwcmVzc2lvbiA9IGdldEJpbmRpbmdXaXRoVW5pdE9yQ3VycmVuY3kob1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aCwgb0Zvcm1hdGVkVmFsdWUpO1xuXHRcdFx0XHRpZiAob0JpbmRpbmdFeHByZXNzaW9uICYmIGJNZWFzdXJlRGlzcGxheU1vZGVFbmFibGVkICYmIGRhdGFQb2ludEZvcm1hdE9wdGlvbnM/Lm1lYXN1cmVEaXNwbGF5TW9kZSAhPT0gXCJSZWFkT25seVwiKSB7XG5cdFx0XHRcdFx0KG9CaW5kaW5nRXhwcmVzc2lvbiBhcyBDb21wbGV4VHlwZUV4cHJlc3Npb248U3RyaW5nPikuZm9ybWF0T3B0aW9ucyA9IHtcblx0XHRcdFx0XHRcdC4uLihvQmluZGluZ0V4cHJlc3Npb24gYXMgQ29tcGxleFR5cGVFeHByZXNzaW9uPFN0cmluZz4pLmZvcm1hdE9wdGlvbnMsXG5cdFx0XHRcdFx0XHRzaG93TWVhc3VyZTogZmFsc2Vcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRvQmluZGluZ0V4cHJlc3Npb24gPSBvRm9ybWF0ZWRWYWx1ZTtcblx0XHRcdH1cblx0fVxuXG5cdHJldHVybiBjb21waWxlQmluZGluZyhvQmluZGluZ0V4cHJlc3Npb24pO1xufTtcblxuLyoqXG4gKiBNZXRob2QgdG8gY2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIHZhbHVlIG9mIFByb2dyZXNzIEluZGljYXRvci4gQmFzaWMgZm9ybXVsYSBpcyBWYWx1ZS9UYXJnZXQgKiAxMDAuXG4gKlxuICogQHBhcmFtIHsqfSBvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoXG4gKiBAcmV0dXJucyB7QmluZGluZ30gRXhwcmVzc2lvbiBiaW5kaW5nIHRoYXQgd2lsbCBjYWxjdWxhdGUgdGhlIHBlcmNlbnQgdmFsdWUgdG8gYmUgc2hvd24gaW4gcHJvZ3Jlc3MgaW5kaWNhdG9yLiBGb3JtdWxhIGdpdmVuIGFib3ZlLlxuICovXG5leHBvcnQgY29uc3QgYnVpbGRFeHByZXNzaW9uRm9yUHJvZ3Jlc3NJbmRpY2F0b3JQZXJjZW50VmFsdWUgPSAob1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aCk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG5cdGNvbnN0IGZpZWxkVmFsdWUgPSBvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoPy50YXJnZXRPYmplY3Q/LlZhbHVlIHx8IFwiXCI7XG5cdGNvbnN0IHJlbGF0aXZlTG9jYXRpb24gPSBnZXRQYXRoUmVsYXRpdmVMb2NhdGlvbihcblx0XHRvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoLmNvbnRleHRMb2NhdGlvbixcblx0XHRvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoLm5hdmlnYXRpb25Qcm9wZXJ0aWVzXG5cdCkubWFwKG5wID0+IG5wLm5hbWUpO1xuXHRjb25zdCBmaWVsZFZhbHVlRXhwcmVzc2lvbiA9IGFubm90YXRpb25FeHByZXNzaW9uKGZpZWxkVmFsdWUsIHJlbGF0aXZlTG9jYXRpb24pO1xuXHRjb25zdCBUYXJnZXRFeHByZXNzaW9uID0gZ2V0RGF0YVBvaW50VGFyZ2V0RXhwcmVzc2lvbihvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdCk7XG5cdGNvbnN0IHNVbml0UHJvcGVydHlQYXRoID0gZmllbGRWYWx1ZT8uJHRhcmdldCA/IGdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoKGZpZWxkVmFsdWUuJHRhcmdldCkgOiB1bmRlZmluZWQ7XG5cdGNvbnN0IFVuaXRFeHByZXNzaW9uID0gc1VuaXRQcm9wZXJ0eVBhdGggPyBiaW5kaW5nRXhwcmVzc2lvbihzVW5pdFByb3BlcnR5UGF0aCkgOiBcIlwiO1xuXG5cdGNvbnN0IG9FeHByZXNzaW9uVGVtcGxhdGUgPSBmb3JtYXRSZXN1bHQoW2ZpZWxkVmFsdWVFeHByZXNzaW9uLCBUYXJnZXRFeHByZXNzaW9uLCBVbml0RXhwcmVzc2lvbl0sIHZhbHVlRm9ybWF0dGVycy5jb21wdXRlUGVyY2VudGFnZSk7XG5cblx0cmV0dXJuIGNvbXBpbGVCaW5kaW5nKG9FeHByZXNzaW9uVGVtcGxhdGUpO1xufTtcbiJdfQ==
|
|
243
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGFQb2ludFRlbXBsYXRpbmcudHMiXSwibmFtZXMiOlsiZ2V0RGF0YVBvaW50VGFyZ2V0RXhwcmVzc2lvbiIsIm9EYXRhTW9kZWxQYXRoIiwiVGFyZ2V0VmFsdWUiLCJhbm5vdGF0aW9uRXhwcmVzc2lvbiIsInVucmVzb2x2ZWFibGVFeHByZXNzaW9uIiwib1Jlc291cmNlTW9kZWwiLCJzYXAiLCJ1aSIsImdldENvcmUiLCJnZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUiLCJwcm9ncmVzc0luZGljYXRvckRpc3BsYXlWYWx1ZSIsIm9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgiLCJmaWVsZFZhbHVlIiwidGFyZ2V0T2JqZWN0IiwiVmFsdWUiLCJyZWxhdGl2ZUxvY2F0aW9uIiwiZ2V0UGF0aFJlbGF0aXZlTG9jYXRpb24iLCJjb250ZXh0TG9jYXRpb24iLCJuYXZpZ2F0aW9uUHJvcGVydGllcyIsIm1hcCIsIm5wIiwibmFtZSIsImZpZWxkVmFsdWVFeHByZXNzaW9uIiwiVGFyZ2V0RXhwcmVzc2lvbiIsInNVbml0UHJvcGVydHlQYXRoIiwiJHRhcmdldCIsImdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoIiwidW5kZWZpbmVkIiwic1VvTVBlcmNlbnQiLCJhbm5vdGF0aW9ucyIsIk1lYXN1cmVzIiwiVW5pdCIsImNoYXJBdCIsImNvbXBpbGVCaW5kaW5nIiwiZ2V0VGV4dCIsImJpbmRpbmdFeHByZXNzaW9uIiwiYnVpbGRSYXRpbmdJbmRpY2F0b3JTdWJ0aXRsZUV4cHJlc3Npb24iLCJvQ29udGV4dCIsIm1TYW1wbGVTaXplIiwiZm9ybWF0UmF0aW5nSW5kaWNhdG9yU3ViVGl0bGUiLCJBbm5vdGF0aW9uSGVscGVyIiwidmFsdWUiLCJjb250ZXh0IiwiaVNhbXBsZVNpemVWYWx1ZSIsInNTdWJUaXRsZUxhYmVsIiwiU3RyaW5nIiwiZ2V0SGVhZGVyUmF0aW5nSW5kaWNhdG9yVGV4dCIsIm9EYXRhUG9pbnQiLCJTYW1wbGVTaXplIiwiRGVzY3JpcHRpb24iLCJzTW9kZWxWYWx1ZSIsInJlcXVpcmVzSUNvbnRleHQiLCJidWlsZEV4cHJlc3Npb25Gb3JEZXNjcmlwdGlvbiIsIkNvbW1vbiIsIlRleHQiLCJvVGV4dEV4cHJlc3Npb24iLCJwYXJhbWV0ZXJzIiwiZ2V0RGVjaW1hbEZvcm1hdCIsIm91dEV4cHJlc3Npb24iLCJzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzIiwiY29uc3RyYWludHMiLCJPYmplY3QiLCJhc3NpZ24iLCJwcmVjaXNpb24iLCJzY2FsZSIsImdldFZhbHVlRm9ybWF0dGVkIiwib1Byb3BlcnR5RGF0YU1vZGVsUGF0aCIsInNQcm9wZXJ0eVR5cGUiLCJwYXRoIiwiaW5kZXhPZiIsIm9Qcm9wZXJ0eURlZmluaXRpb24iLCJmb3JtYXRXaXRoVHlwZUluZm9ybWF0aW9uIiwidHlwZSIsIkVETV9UWVBFX01BUFBJTkciLCJidWlsZEZpZWxkQmluZGluZ0V4cHJlc3Npb24iLCJvUHJvcGVydHkiLCJkYXRhUG9pbnRGb3JtYXRPcHRpb25zIiwiYk1lYXN1cmVEaXNwbGF5TW9kZUVuYWJsZWQiLCJvRGF0YVBvaW50VmFsdWUiLCJvRm9ybWF0T3B0aW9ucyIsImZvcm1hdE9wdGlvbnMiLCJvRGVzY3JpcHRpb24iLCJWYWx1ZUZvcm1hdCIsIk51bWJlck9mRnJhY3Rpb25hbERpZ2l0cyIsImVuaGFuY2VEYXRhTW9kZWxQYXRoIiwib0Zvcm1hdGVkVmFsdWUiLCJzRGlzcGxheU1vZGUiLCJkaXNwbGF5TW9kZSIsImdldERpc3BsYXlNb2RlIiwib0JpbmRpbmdFeHByZXNzaW9uIiwiZm9ybWF0UmVzdWx0IiwidmFsdWVGb3JtYXR0ZXJzIiwiZm9ybWF0V2l0aEJyYWNrZXRzIiwiSVNPQ3VycmVuY3kiLCJnZXRCaW5kaW5nV2l0aFVuaXRPckN1cnJlbmN5IiwibWVhc3VyZURpc3BsYXlNb2RlIiwic2hvd01lYXN1cmUiLCJidWlsZEV4cHJlc3Npb25Gb3JQcm9ncmVzc0luZGljYXRvclBlcmNlbnRWYWx1ZSIsIlVuaXRFeHByZXNzaW9uIiwi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QUFBQSxhQUFJQSxFQUFFLENBQUNDLElBQVA7QUFBQSxLQUhpQixDQUF6QjtBQUlBLFFBQU1DLG9CQUFvQixHQUFHbkIsb0JBQW9CLENBQUNTLFVBQUQsRUFBYUcsZ0JBQWIsQ0FBakQ7QUFDQSxRQUFNUSxnQkFBZ0IsR0FBR3ZCLDRCQUE0QixDQUFDVyw0QkFBNEIsQ0FBQ0UsWUFBOUIsQ0FBckQ7QUFDQSxRQUFNVyxpQkFBaUIsR0FBR1osVUFBVSxTQUFWLElBQUFBLFVBQVUsV0FBVixJQUFBQSxVQUFVLENBQUVhLE9BQVosR0FBc0JDLDZCQUE2QixDQUFDZCxVQUFVLENBQUNhLE9BQVosQ0FBbkQsR0FBMEVFLFNBQXBHO0FBQ0EsUUFBTXVFLGNBQWMsR0FBRzFFLGlCQUFpQixHQUFHVyxpQkFBaUIsQ0FBQ1gsaUJBQUQsQ0FBcEIsR0FBMEMsRUFBbEY7QUFFQSxRQUFNMkUsbUJBQW1CLEdBQUdULFlBQVksQ0FBQyxDQUFDcEUsb0JBQUQsRUFBdUJDLGdCQUF2QixFQUF5QzJFLGNBQXpDLENBQUQsRUFBMkRQLGVBQWUsQ0FBQ1MsaUJBQTNFLENBQXhDO0FBRUEsV0FBT25FLGNBQWMsQ0FBQ2tFLG1CQUFELENBQXJCO0FBQ0EsR0FkTSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHZhbHVlRm9ybWF0dGVycyBmcm9tIFwic2FwL2ZlL2NvcmUvZm9ybWF0dGVycy9WYWx1ZUZvcm1hdHRlclwiO1xuaW1wb3J0IHtcblx0Z2V0RGlzcGxheU1vZGUsXG5cdEVETV9UWVBFX01BUFBJTkcsXG5cdGdldEJpbmRpbmdXaXRoVW5pdE9yQ3VycmVuY3ksXG5cdGZvcm1hdFdpdGhUeXBlSW5mb3JtYXRpb25cbn0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvVUlGb3JtYXR0ZXJzXCI7XG5cbmltcG9ydCB7IERhdGFNb2RlbE9iamVjdFBhdGgsIGVuaGFuY2VEYXRhTW9kZWxQYXRoLCBnZXRQYXRoUmVsYXRpdmVMb2NhdGlvbiB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0RhdGFNb2RlbFBhdGhIZWxwZXJcIjtcbmltcG9ydCB7XG5cdEV4cHJlc3Npb24sXG5cdGFubm90YXRpb25FeHByZXNzaW9uLFxuXHRmb3JtYXRSZXN1bHQsXG5cdEJpbmRpbmdFeHByZXNzaW9uRXhwcmVzc2lvbixcblx0QmluZGluZ0V4cHJlc3Npb24sXG5cdGNvbXBpbGVCaW5kaW5nLFxuXHRiaW5kaW5nRXhwcmVzc2lvbixcblx0Q29tcGxleFR5cGVFeHByZXNzaW9uLFxuXHR1bnJlc29sdmVhYmxlRXhwcmVzc2lvblxufSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nRXhwcmVzc2lvblwiO1xuXG5pbXBvcnQgeyBnZXRBc3NvY2lhdGVkVW5pdFByb3BlcnR5UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1Byb3BlcnR5SGVscGVyXCI7XG5cbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSBcIkBzYXAtdXgvYW5ub3RhdGlvbi1jb252ZXJ0ZXJcIjtcblxuaW1wb3J0IHsgQW5ub3RhdGlvbkhlbHBlciB9IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjRcIjtcblxuZXhwb3J0IHR5cGUgRGF0YVBvaW50Rm9ybWF0T3B0aW9ucyA9IFBhcnRpYWw8e1xuXHRtZWFzdXJlRGlzcGxheU1vZGU6IFN0cmluZztcbn0+O1xuXG5jb25zdCBnZXREYXRhUG9pbnRUYXJnZXRFeHByZXNzaW9uID0gKG9EYXRhTW9kZWxQYXRoOiBhbnkpOiBFeHByZXNzaW9uPHN0cmluZz4gPT4ge1xuXHRyZXR1cm4gb0RhdGFNb2RlbFBhdGg/LlRhcmdldFZhbHVlID8gYW5ub3RhdGlvbkV4cHJlc3Npb24ob0RhdGFNb2RlbFBhdGguVGFyZ2V0VmFsdWUpIDogdW5yZXNvbHZlYWJsZUV4cHJlc3Npb247XG59O1xuXG5jb25zdCBvUmVzb3VyY2VNb2RlbCA9IHNhcC51aS5nZXRDb3JlKCkuZ2V0TGlicmFyeVJlc291cmNlQnVuZGxlKFwic2FwLmZlLm1hY3Jvc1wiKTtcblxuZXhwb3J0IGNvbnN0IHByb2dyZXNzSW5kaWNhdG9yRGlzcGxheVZhbHVlID0gKG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGgpOiBCaW5kaW5nRXhwcmVzc2lvbjxzdHJpbmc+ID0+IHtcblx0Y29uc3QgZmllbGRWYWx1ZSA9IG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGg/LnRhcmdldE9iamVjdD8uVmFsdWUgfHwgXCJcIjtcblx0Y29uc3QgcmVsYXRpdmVMb2NhdGlvbiA9IGdldFBhdGhSZWxhdGl2ZUxvY2F0aW9uKFxuXHRcdG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGguY29udGV4dExvY2F0aW9uLFxuXHRcdG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgubmF2aWdhdGlvblByb3BlcnRpZXNcblx0KS5tYXAobnAgPT4gbnAubmFtZSk7XG5cdGNvbnN0IGZpZWxkVmFsdWVFeHByZXNzaW9uID0gYW5ub3RhdGlvbkV4cHJlc3Npb24oZmllbGRWYWx1ZSwgcmVsYXRpdmVMb2NhdGlvbik7XG5cdGNvbnN0IFRhcmdldEV4cHJlc3Npb24gPSBnZXREYXRhUG9pbnRUYXJnZXRFeHByZXNzaW9uKG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0KTtcblxuXHRpZiAoZmllbGRWYWx1ZUV4cHJlc3Npb24gJiYgVGFyZ2V0RXhwcmVzc2lvbikge1xuXHRcdGNvbnN0IHNVbml0UHJvcGVydHlQYXRoID0gZmllbGRWYWx1ZT8uJHRhcmdldCA/IGdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoKGZpZWxkVmFsdWU/LiR0YXJnZXQpIDogdW5kZWZpbmVkO1xuXG5cdFx0aWYgKCFzVW5pdFByb3BlcnR5UGF0aCkge1xuXHRcdFx0Y29uc3Qgc1VvTVBlcmNlbnQgPSBmaWVsZFZhbHVlLiR0YXJnZXQ/LmFubm90YXRpb25zPy5NZWFzdXJlcz8uVW5pdD8uY2hhckF0KDApO1xuXHRcdFx0aWYgKHNVb01QZXJjZW50ID09PSBcIiVcIikge1xuXHRcdFx0XHRyZXR1cm4gKGNvbXBpbGVCaW5kaW5nKGZpZWxkVmFsdWVFeHByZXNzaW9uKSBhcyBzdHJpbmcpICsgXCIgJVwiO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmV0dXJuIG9SZXNvdXJjZU1vZGVsLmdldFRleHQoXCJUX0NPTU1PTl9QUk9HUkVTU19JTkRJQ0FUT1JfRElTUExBWV9WQUxVRV9OT19VT01cIiwgW1xuXHRcdFx0XHRcdGNvbXBpbGVCaW5kaW5nKGZpZWxkVmFsdWVFeHByZXNzaW9uKSBhcyBzdHJpbmcsXG5cdFx0XHRcdFx0Y29tcGlsZUJpbmRpbmcoVGFyZ2V0RXhwcmVzc2lvbikgYXMgc3RyaW5nXG5cdFx0XHRcdF0pO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHRvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9DT01NT05fUFJPR1JFU1NfSU5ESUNBVE9SX0RJU1BMQVlfVkFMVUVfTk9fVU9NXCIsIFtcblx0XHRcdFx0XHRjb21waWxlQmluZGluZyhmaWVsZFZhbHVlRXhwcmVzc2lvbikgYXMgc3RyaW5nLFxuXHRcdFx0XHRcdGNvbXBpbGVCaW5kaW5nKFRhcmdldEV4cHJlc3Npb24pIGFzIHN0cmluZ1xuXHRcdFx0XHRdKSArXG5cdFx0XHRcdFwiIFwiICtcblx0XHRcdFx0Y29tcGlsZUJpbmRpbmcoYmluZGluZ0V4cHJlc3Npb24oc1VuaXRQcm9wZXJ0eVBhdGggYXMgc3RyaW5nKSlcblx0XHRcdCk7XG5cdFx0fVxuXHR9XG5cdHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBidWlsZFJhdGluZ0luZGljYXRvclN1YnRpdGxlRXhwcmVzc2lvbiA9IChvQ29udGV4dDogYW55LCBtU2FtcGxlU2l6ZTogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0aWYgKG1TYW1wbGVTaXplKSB7XG5cdFx0cmV0dXJuIGZvcm1hdFJhdGluZ0luZGljYXRvclN1YlRpdGxlKEFubm90YXRpb25IZWxwZXIudmFsdWUobVNhbXBsZVNpemUsIHsgY29udGV4dDogb0NvbnRleHQgfSkpO1xuXHR9XG59O1xuLy8gcmV0dXJucyB0aGUgdGV4dCBmb3IgdGhlIFJhdGluZyBJbmRpY2F0b3IgU3VidGl0bGUgKGUuZy4gJzcgcmV2aWV3cycpXG5jb25zdCBmb3JtYXRSYXRpbmdJbmRpY2F0b3JTdWJUaXRsZSA9IChpU2FtcGxlU2l6ZVZhbHVlOiBudW1iZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuXHRpZiAoaVNhbXBsZVNpemVWYWx1ZSkge1xuXHRcdGNvbnN0IHNTdWJUaXRsZUxhYmVsID1cblx0XHRcdGlTYW1wbGVTaXplVmFsdWUgPiAxXG5cdFx0XHRcdD8gb1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlRfQU5OT1RBVElPTl9IRUxQRVJfUkFUSU5HX0lORElDQVRPUl9TVUJUSVRMRV9MQUJFTF9QTFVSQUxcIilcblx0XHRcdFx0OiBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9BTk5PVEFUSU9OX0hFTFBFUl9SQVRJTkdfSU5ESUNBVE9SX1NVQlRJVExFX0xBQkVMXCIpO1xuXHRcdHJldHVybiBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9BTk5PVEFUSU9OX0hFTFBFUl9SQVRJTkdfSU5ESUNBVE9SX1NVQlRJVExFXCIsIFtTdHJpbmcoaVNhbXBsZVNpemVWYWx1ZSksIHNTdWJUaXRsZUxhYmVsXSk7XG5cdH1cbn07XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGdldCB0aGUgaGVhZGVyIHRleHQgb2YgcmF0aW5nIGluZGljYXRvci5cbiAqIEBwYXJhbSBvQ29udGV4dFxuICogQHBhcmFtIG9EYXRhUG9pbnRcbiAqIEBmdW5jdGlvbiBwYXJhbSB7b2JqZWN0fSBvQ29udGV4dCBjb250ZXh0IG9mIGludGVyZmFjZVxuICogcGFyYW0ge29iamVjdH0gb0RhdGFQb2ludCBkYXRhIHBvaW50IG9iamVjdFxuICogQHJldHVybnMge3N0cmluZ30gRXhwcmVzc2lvbiBiaW5kaW5nIGZvciByYXRpbmcgaW5kaWNhdG9yIHRleHRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEhlYWRlclJhdGluZ0luZGljYXRvclRleHQgPSAob0NvbnRleHQ6IGFueSwgb0RhdGFQb2ludDogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0aWYgKG9EYXRhUG9pbnQgJiYgb0RhdGFQb2ludC5TYW1wbGVTaXplKSB7XG5cdFx0cmV0dXJuIGJ1aWxkUmF0aW5nSW5kaWNhdG9yU3VidGl0bGVFeHByZXNzaW9uKG9Db250ZXh0LCBvRGF0YVBvaW50LlNhbXBsZVNpemUpO1xuXHR9IGVsc2UgaWYgKG9EYXRhUG9pbnQgJiYgb0RhdGFQb2ludC5EZXNjcmlwdGlvbikge1xuXHRcdGNvbnN0IHNNb2RlbFZhbHVlID0gQW5ub3RhdGlvbkhlbHBlci52YWx1ZShvRGF0YVBvaW50LkRlc2NyaXB0aW9uLCB7IGNvbnRleHQ6IG9Db250ZXh0IH0pO1xuXHRcdHJldHVybiBcIiR7cGF0aDpcIiArIHNNb2RlbFZhbHVlICsgXCJ9XCI7XG5cdH1cbn07XG5nZXRIZWFkZXJSYXRpbmdJbmRpY2F0b3JUZXh0LnJlcXVpcmVzSUNvbnRleHQgPSB0cnVlO1xuXG5jb25zdCBidWlsZEV4cHJlc3Npb25Gb3JEZXNjcmlwdGlvbiA9IChmaWVsZFZhbHVlOiBhbnkpOiBFeHByZXNzaW9uPGFueT4gfCB1bmRlZmluZWQgPT4ge1xuXHRpZiAoZmllbGRWYWx1ZT8uJHRhcmdldD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGV4dCkge1xuXHRcdGNvbnN0IG9UZXh0RXhwcmVzc2lvbiA9IGFubm90YXRpb25FeHByZXNzaW9uKGZpZWxkVmFsdWU/LiR0YXJnZXQ/LmFubm90YXRpb25zPy5Db21tb24/LlRleHQpIGFzIEJpbmRpbmdFeHByZXNzaW9uRXhwcmVzc2lvbjxhbnk+O1xuXHRcdG9UZXh0RXhwcmVzc2lvbi5wYXJhbWV0ZXJzID0geyBcIiQkbm9QYXRjaFwiOiB0cnVlIH07XG5cdFx0cmV0dXJuIG9UZXh0RXhwcmVzc2lvbjtcblx0fVxuXHRyZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuY29uc3QgZ2V0RGVjaW1hbEZvcm1hdCA9IChcblx0b3V0RXhwcmVzc2lvbjogQmluZGluZ0V4cHJlc3Npb248YW55Pixcblx0ZmllbGRWYWx1ZTogYW55LFxuXHRzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzOiBzdHJpbmdcbik6IEJpbmRpbmdFeHByZXNzaW9uPGFueT4gPT4ge1xuXHRpZiAoIW91dEV4cHJlc3Npb24uY29uc3RyYWludHMpIHtcblx0XHRvdXRFeHByZXNzaW9uLmNvbnN0cmFpbnRzID0ge307XG5cdH1cblx0b3V0RXhwcmVzc2lvbi5jb25zdHJhaW50cyA9IE9iamVjdC5hc3NpZ24ob3V0RXhwcmVzc2lvbi5jb25zdHJhaW50cywge1xuXHRcdHByZWNpc2lvbjogZmllbGRWYWx1ZS4kdGFyZ2V0LnByZWNpc2lvbixcblx0XHRzY2FsZTogc051bWJlck9mRnJhY3Rpb25hbERpZ2l0cyA/IHNOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMgOiBmaWVsZFZhbHVlLiR0YXJnZXQuc2NhbGVcblx0fSk7XG5cdHJldHVybiBvdXRFeHByZXNzaW9uO1xufTtcblxuY29uc3QgZ2V0VmFsdWVGb3JtYXR0ZWQgPSAoXG5cdG9Qcm9wZXJ0eURhdGFNb2RlbFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGgsXG5cdGZpZWxkVmFsdWU6IGFueSxcblx0c1Byb3BlcnR5VHlwZTogc3RyaW5nLFxuXHRzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzOiBzdHJpbmdcbik6IEJpbmRpbmdFeHByZXNzaW9uRXhwcmVzc2lvbjxzdHJpbmc+ID0+IHtcblx0bGV0IG91dEV4cHJlc3Npb246IEJpbmRpbmdFeHByZXNzaW9uPGFueT47XG5cdGNvbnN0IHJlbGF0aXZlTG9jYXRpb24gPVxuXHRcdGZpZWxkVmFsdWU/LnBhdGg/LmluZGV4T2YoXCIvXCIpID09PSAtMVxuXHRcdFx0PyBnZXRQYXRoUmVsYXRpdmVMb2NhdGlvbihvUHJvcGVydHlEYXRhTW9kZWxQYXRoLmNvbnRleHRMb2NhdGlvbiwgb1Byb3BlcnR5RGF0YU1vZGVsUGF0aC5uYXZpZ2F0aW9uUHJvcGVydGllcykubWFwKFxuXHRcdFx0XHRcdG5wID0+IG5wLm5hbWVcblx0XHRcdCAgKVxuXHRcdFx0OiBbXTtcblx0b3V0RXhwcmVzc2lvbiA9IGFubm90YXRpb25FeHByZXNzaW9uKGZpZWxkVmFsdWUsIHJlbGF0aXZlTG9jYXRpb24pO1xuXHRjb25zdCBvUHJvcGVydHlEZWZpbml0aW9uID0gb1Byb3BlcnR5RGF0YU1vZGVsUGF0aC50YXJnZXRPYmplY3QgYXMgUHJvcGVydHk7XG5cdGlmIChzUHJvcGVydHlUeXBlKSB7XG5cdFx0Zm9ybWF0V2l0aFR5cGVJbmZvcm1hdGlvbihvUHJvcGVydHlEZWZpbml0aW9uLCBvdXRFeHByZXNzaW9uKTtcblx0XHRvdXRFeHByZXNzaW9uLnR5cGUgPSBFRE1fVFlQRV9NQVBQSU5HW3NQcm9wZXJ0eVR5cGVdPy50eXBlO1xuXHR9XG5cdHN3aXRjaCAoc1Byb3BlcnR5VHlwZSkge1xuXHRcdGNhc2UgXCJFZG0uRGVjaW1hbFwiOlxuXHRcdFx0Ly8gZm9yIHRoZSBsaXN0UmVwb3J0LCB0aGUgZGVjaW1hbCBmaWVsZHMgYXJlIGZvcm1hdHRlZCBieSByZXR1cm5pbmcgYSBzdHJpbmdcblx0XHRcdC8vIGZvciB0aGUgZmFjZXRzIG9mIHRoZSBPUCwgdGhlIGRlY2ltYWwgZmllbGRzIGFyZSBmb3JtYXR0ZWQgYnkgcmV0dXJuaW5nIGEgcHJvbWlzZSwgc28gd2UgbWFuYWdlIGFsbCB0aGUgY2FzZXNcblx0XHRcdG91dEV4cHJlc3Npb24gPSBnZXREZWNpbWFsRm9ybWF0KG91dEV4cHJlc3Npb24sIGZpZWxkVmFsdWUsIHNOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMpO1xuXHRcdFx0YnJlYWs7XG5cdFx0ZGVmYXVsdDpcblx0fVxuXHRyZXR1cm4gb3V0RXhwcmVzc2lvbiBhcyBCaW5kaW5nRXhwcmVzc2lvbkV4cHJlc3Npb248c3RyaW5nPjtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZEZpZWxkQmluZGluZ0V4cHJlc3Npb24gPSAoXG5cdG9EYXRhTW9kZWxQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoLFxuXHRvUHJvcGVydHk6IGFueSxcblx0ZGF0YVBvaW50Rm9ybWF0T3B0aW9uczogRGF0YVBvaW50Rm9ybWF0T3B0aW9ucyxcblx0Yk1lYXN1cmVEaXNwbGF5TW9kZUVuYWJsZWQ6IGJvb2xlYW5cbik6IEJpbmRpbmdFeHByZXNzaW9uPHN0cmluZz4gPT4ge1xuXHRjb25zdCBvRGF0YVBvaW50ID0gb0RhdGFNb2RlbFBhdGgudGFyZ2V0T2JqZWN0O1xuXHRjb25zdCBvRGF0YVBvaW50VmFsdWUgPSBvRGF0YVBvaW50Py5WYWx1ZSB8fCBcIlwiO1xuXHRjb25zdCBvRm9ybWF0T3B0aW9ucyA9IG9Qcm9wZXJ0eS5mb3JtYXRPcHRpb25zO1xuXHRjb25zdCBvRGVzY3JpcHRpb24gPSBidWlsZEV4cHJlc3Npb25Gb3JEZXNjcmlwdGlvbihvRGF0YVBvaW50VmFsdWUpO1xuXHRjb25zdCBzUHJvcGVydHlUeXBlID0gb0RhdGFQb2ludFZhbHVlPy4kdGFyZ2V0Py50eXBlO1xuXHRsZXQgc051bWJlck9mRnJhY3Rpb25hbERpZ2l0cztcblxuXHRpZiAoc1Byb3BlcnR5VHlwZSA9PT0gXCJFZG0uRGVjaW1hbFwiICYmIG9EYXRhUG9pbnQuVmFsdWVGb3JtYXQpIHtcblx0XHRpZiAob0RhdGFQb2ludC5WYWx1ZUZvcm1hdC5OdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMpIHtcblx0XHRcdHNOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMgPSBvRGF0YVBvaW50LlZhbHVlRm9ybWF0Lk51bWJlck9mRnJhY3Rpb25hbERpZ2l0cztcblx0XHR9XG5cdH1cblx0Y29uc3Qgb1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aCA9IGVuaGFuY2VEYXRhTW9kZWxQYXRoKG9EYXRhTW9kZWxQYXRoLCBvRGF0YVBvaW50VmFsdWUucGF0aCk7XG5cdGNvbnN0IG9Gb3JtYXRlZFZhbHVlID0gZ2V0VmFsdWVGb3JtYXR0ZWQob1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aCwgb0RhdGFQb2ludFZhbHVlLCBzUHJvcGVydHlUeXBlLCBzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzKTtcblx0Y29uc3Qgc0Rpc3BsYXlNb2RlID0gb0Rlc2NyaXB0aW9uXG5cdFx0PyBvRm9ybWF0T3B0aW9ucy5kaXNwbGF5TW9kZSB8fCBnZXREaXNwbGF5TW9kZShvRGF0YVBvaW50VmFsdWUsIG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgpXG5cdFx0OiBcIlZhbHVlXCI7XG5cdGxldCBvQmluZGluZ0V4cHJlc3Npb246IGFueTtcblx0c3dpdGNoIChzRGlzcGxheU1vZGUpIHtcblx0XHRjYXNlIFwiRGVzY3JpcHRpb25cIjpcblx0XHRcdG9CaW5kaW5nRXhwcmVzc2lvbiA9IG9EZXNjcmlwdGlvbjtcblx0XHRcdGJyZWFrO1xuXHRcdGNhc2UgXCJWYWx1ZURlc2NyaXB0aW9uXCI6XG5cdFx0XHRvQmluZGluZ0V4cHJlc3Npb24gPSBmb3JtYXRSZXN1bHQoW29Gb3JtYXRlZFZhbHVlLCBvRGVzY3JpcHRpb25dLCB2YWx1ZUZvcm1hdHRlcnMuZm9ybWF0V2l0aEJyYWNrZXRzKTtcblx0XHRcdGJyZWFrO1xuXHRcdGNhc2UgXCJEZXNjcmlwdGlvblZhbHVlXCI6XG5cdFx0XHRvQmluZGluZ0V4cHJlc3Npb24gPSBmb3JtYXRSZXN1bHQoW29EZXNjcmlwdGlvbiwgb0Zvcm1hdGVkVmFsdWVdLCB2YWx1ZUZvcm1hdHRlcnMuZm9ybWF0V2l0aEJyYWNrZXRzKTtcblx0XHRcdGJyZWFrO1xuXHRcdGRlZmF1bHQ6XG5cdFx0XHRpZiAoXG5cdFx0XHRcdG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0Py5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQgfHxcblx0XHRcdFx0b1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3Q/LmFubm90YXRpb25zPy5NZWFzdXJlcz8uSVNPQ3VycmVuY3lcblx0XHRcdCkge1xuXHRcdFx0XHRvQmluZGluZ0V4cHJlc3Npb24gPSBnZXRCaW5kaW5nV2l0aFVuaXRPckN1cnJlbmN5KG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgsIG9Gb3JtYXRlZFZhbHVlKTtcblx0XHRcdFx0aWYgKG9CaW5kaW5nRXhwcmVzc2lvbiAmJiBiTWVhc3VyZURpc3BsYXlNb2RlRW5hYmxlZCAmJiBkYXRhUG9pbnRGb3JtYXRPcHRpb25zPy5tZWFzdXJlRGlzcGxheU1vZGUgIT09IFwiUmVhZE9ubHlcIikge1xuXHRcdFx0XHRcdChvQmluZGluZ0V4cHJlc3Npb24gYXMgQ29tcGxleFR5cGVFeHByZXNzaW9uPFN0cmluZz4pLmZvcm1hdE9wdGlvbnMgPSB7XG5cdFx0XHRcdFx0XHQuLi4ob0JpbmRpbmdFeHByZXNzaW9uIGFzIENvbXBsZXhUeXBlRXhwcmVzc2lvbjxTdHJpbmc+KS5mb3JtYXRPcHRpb25zLFxuXHRcdFx0XHRcdFx0c2hvd01lYXN1cmU6IGZhbHNlXG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0b0JpbmRpbmdFeHByZXNzaW9uID0gb0Zvcm1hdGVkVmFsdWU7XG5cdFx0XHR9XG5cdH1cblxuXHRyZXR1cm4gY29tcGlsZUJpbmRpbmcob0JpbmRpbmdFeHByZXNzaW9uKTtcbn07XG5cbi8qKlxuICogTWV0aG9kIHRvIGNhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSB2YWx1ZSBvZiBQcm9ncmVzcyBJbmRpY2F0b3IuIEJhc2ljIGZvcm11bGEgaXMgVmFsdWUvVGFyZ2V0ICogMTAwLlxuICpcbiAqIEBwYXJhbSB7Kn0gb1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aFxuICogQHJldHVybnMge0JpbmRpbmd9IEV4cHJlc3Npb24gYmluZGluZyB0aGF0IHdpbGwgY2FsY3VsYXRlIHRoZSBwZXJjZW50IHZhbHVlIHRvIGJlIHNob3duIGluIHByb2dyZXNzIGluZGljYXRvci4gRm9ybXVsYSBnaXZlbiBhYm92ZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGJ1aWxkRXhwcmVzc2lvbkZvclByb2dyZXNzSW5kaWNhdG9yUGVyY2VudFZhbHVlID0gKG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGgpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuXHRjb25zdCBmaWVsZFZhbHVlID0gb1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aD8udGFyZ2V0T2JqZWN0Py5WYWx1ZSB8fCBcIlwiO1xuXHRjb25zdCByZWxhdGl2ZUxvY2F0aW9uID0gZ2V0UGF0aFJlbGF0aXZlTG9jYXRpb24oXG5cdFx0b1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aC5jb250ZXh0TG9jYXRpb24sXG5cdFx0b1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aC5uYXZpZ2F0aW9uUHJvcGVydGllc1xuXHQpLm1hcChucCA9PiBucC5uYW1lKTtcblx0Y29uc3QgZmllbGRWYWx1ZUV4cHJlc3Npb24gPSBhbm5vdGF0aW9uRXhwcmVzc2lvbihmaWVsZFZhbHVlLCByZWxhdGl2ZUxvY2F0aW9uKTtcblx0Y29uc3QgVGFyZ2V0RXhwcmVzc2lvbiA9IGdldERhdGFQb2ludFRhcmdldEV4cHJlc3Npb24ob1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QpO1xuXHRjb25zdCBzVW5pdFByb3BlcnR5UGF0aCA9IGZpZWxkVmFsdWU/LiR0YXJnZXQgPyBnZXRBc3NvY2lhdGVkVW5pdFByb3BlcnR5UGF0aChmaWVsZFZhbHVlLiR0YXJnZXQpIDogdW5kZWZpbmVkO1xuXHRjb25zdCBVbml0RXhwcmVzc2lvbiA9IHNVbml0UHJvcGVydHlQYXRoID8gYmluZGluZ0V4cHJlc3Npb24oc1VuaXRQcm9wZXJ0eVBhdGgpIDogXCJcIjtcblxuXHRjb25zdCBvRXhwcmVzc2lvblRlbXBsYXRlID0gZm9ybWF0UmVzdWx0KFtmaWVsZFZhbHVlRXhwcmVzc2lvbiwgVGFyZ2V0RXhwcmVzc2lvbiwgVW5pdEV4cHJlc3Npb25dLCB2YWx1ZUZvcm1hdHRlcnMuY29tcHV0ZVBlcmNlbnRhZ2UpO1xuXG5cdHJldHVybiBjb21waWxlQmluZGluZyhvRXhwcmVzc2lvblRlbXBsYXRlKTtcbn07XG4iXX0=
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/fe/core/formatters/ValueFormatter","sap/fe/core/templating/UIFormatters","sap/fe/core/templating/DataModelPathHelper","sap/fe/core/helpers/BindingExpression","sap/fe/core/templating/PropertyHelper","sap/ui/model/odata/v4/AnnotationHelper"],function(v,U,D,B,P,A){"use strict";var _={};var g=P.getAssociatedUnitPropertyPath;var u=B.unresolveableExpression;var b=B.bindingExpression;var c=B.compileBinding;var f=B.formatResult;var a=B.annotationExpression;var d=D.getPathRelativeLocation;var e=D.enhanceDataModelPath;var h=U.getBindingWithUnitOrCurrency;var E=U.EDM_TYPE_MAPPING;var
|
|
5
|
+
sap.ui.define(["sap/fe/core/formatters/ValueFormatter","sap/fe/core/templating/UIFormatters","sap/fe/core/templating/DataModelPathHelper","sap/fe/core/helpers/BindingExpression","sap/fe/core/templating/PropertyHelper","sap/ui/model/odata/v4/AnnotationHelper"],function(v,U,D,B,P,A){"use strict";var _={};var g=P.getAssociatedUnitPropertyPath;var u=B.unresolveableExpression;var b=B.bindingExpression;var c=B.compileBinding;var f=B.formatResult;var a=B.annotationExpression;var d=D.getPathRelativeLocation;var e=D.enhanceDataModelPath;var h=U.formatWithTypeInformation;var j=U.getBindingWithUnitOrCurrency;var E=U.EDM_TYPE_MAPPING;var k=U.getDisplayMode;function o(i,F){var G=Object.keys(i);if(Object.getOwnPropertySymbols){var H=Object.getOwnPropertySymbols(i);if(F){H=H.filter(function(I){return Object.getOwnPropertyDescriptor(i,I).enumerable;});}G.push.apply(G,H);}return G;}function l(F){for(var i=1;i<arguments.length;i++){var G=arguments[i]!=null?arguments[i]:{};if(i%2){o(Object(G),true).forEach(function(H){m(F,H,G[H]);});}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(F,Object.getOwnPropertyDescriptors(G));}else{o(Object(G)).forEach(function(H){Object.defineProperty(F,H,Object.getOwnPropertyDescriptor(G,H));});}}return F;}function m(i,F,G){if(F in i){Object.defineProperty(i,F,{value:G,enumerable:true,configurable:true,writable:true});}else{i[F]=G;}return i;}var n=function(i){return i!==null&&i!==void 0&&i.TargetValue?a(i.TargetValue):u;};var r=sap.ui.getCore().getLibraryResourceBundle("sap.fe.macros");var p=function(i){var F;var G=(i===null||i===void 0?void 0:(F=i.targetObject)===null||F===void 0?void 0:F.Value)||"";var H=d(i.contextLocation,i.navigationProperties).map(function(Q){return Q.name;});var I=a(G,H);var T=n(i.targetObject);if(I&&T){var J=G!==null&&G!==void 0&&G.$target?g(G===null||G===void 0?void 0:G.$target):undefined;if(!J){var K,L,M,N;var O=(K=G.$target)===null||K===void 0?void 0:(L=K.annotations)===null||L===void 0?void 0:(M=L.Measures)===null||M===void 0?void 0:(N=M.Unit)===null||N===void 0?void 0:N.charAt(0);if(O==="%"){return c(I)+" %";}else{return r.getText("T_COMMON_PROGRESS_INDICATOR_DISPLAY_VALUE_NO_UOM",[c(I),c(T)]);}}else{return r.getText("T_COMMON_PROGRESS_INDICATOR_DISPLAY_VALUE_NO_UOM",[c(I),c(T)])+" "+c(b(J));}}return undefined;};_.progressIndicatorDisplayValue=p;var q=function(i,S){if(S){return s(A.value(S,{context:i}));}};var s=function(S){if(S){var i=S>1?r.getText("T_ANNOTATION_HELPER_RATING_INDICATOR_SUBTITLE_LABEL_PLURAL"):r.getText("T_ANNOTATION_HELPER_RATING_INDICATOR_SUBTITLE_LABEL");return r.getText("T_ANNOTATION_HELPER_RATING_INDICATOR_SUBTITLE",[String(S),i]);}};var t=function(i,F){if(F&&F.SampleSize){return q(i,F.SampleSize);}else if(F&&F.Description){var M=A.value(F.Description,{context:i});return"${path:"+M+"}";}};t.requiresIContext=true;_.getHeaderRatingIndicatorText=t;var w=function(i){var F,G,H;if(i!==null&&i!==void 0&&(F=i.$target)!==null&&F!==void 0&&(G=F.annotations)!==null&&G!==void 0&&(H=G.Common)!==null&&H!==void 0&&H.Text){var I,J,K;var T=a(i===null||i===void 0?void 0:(I=i.$target)===null||I===void 0?void 0:(J=I.annotations)===null||J===void 0?void 0:(K=J.Common)===null||K===void 0?void 0:K.Text);T.parameters={"$$noPatch":true};return T;}return undefined;};var x=function(i,F,N){if(!i.constraints){i.constraints={};}i.constraints=Object.assign(i.constraints,{precision:F.$target.precision,scale:N?N:F.$target.scale});return i;};var y=function(i,F,G,N){var H;var I;var J=(F===null||F===void 0?void 0:(H=F.path)===null||H===void 0?void 0:H.indexOf("/"))===-1?d(i.contextLocation,i.navigationProperties).map(function(M){return M.name;}):[];I=a(F,J);var K=i.targetObject;if(G){var L;h(K,I);I.type=(L=E[G])===null||L===void 0?void 0:L.type;}switch(G){case"Edm.Decimal":I=x(I,F,N);break;default:}return I;};var z=function(i,F,G,M){var H,I,J,K,L,N,O;var Q=i.targetObject;var R=(Q===null||Q===void 0?void 0:Q.Value)||"";var S=F.formatOptions;var T=w(R);var V=R===null||R===void 0?void 0:(H=R.$target)===null||H===void 0?void 0:H.type;var W;if(V==="Edm.Decimal"&&Q.ValueFormat){if(Q.ValueFormat.NumberOfFractionalDigits){W=Q.ValueFormat.NumberOfFractionalDigits;}}var X=e(i,R.path);var Y=y(X,R,V,W);var Z=T?S.displayMode||k(R,X):"Value";var $;switch(Z){case"Description":$=T;break;case"ValueDescription":$=f([Y,T],v.formatWithBrackets);break;case"DescriptionValue":$=f([T,Y],v.formatWithBrackets);break;default:if((I=X.targetObject)!==null&&I!==void 0&&(J=I.annotations)!==null&&J!==void 0&&(K=J.Measures)!==null&&K!==void 0&&K.Unit||(L=X.targetObject)!==null&&L!==void 0&&(N=L.annotations)!==null&&N!==void 0&&(O=N.Measures)!==null&&O!==void 0&&O.ISOCurrency){$=j(X,Y);if($&&M&&(G===null||G===void 0?void 0:G.measureDisplayMode)!=="ReadOnly"){$.formatOptions=l(l({},$.formatOptions),{},{showMeasure:false});}}else{$=Y;}}return c($);};_.buildFieldBindingExpression=z;var C=function(i){var F;var G=(i===null||i===void 0?void 0:(F=i.targetObject)===null||F===void 0?void 0:F.Value)||"";var H=d(i.contextLocation,i.navigationProperties).map(function(M){return M.name;});var I=a(G,H);var T=n(i.targetObject);var J=G!==null&&G!==void 0&&G.$target?g(G.$target):undefined;var K=J?b(J):"";var L=f([I,T,K],v.computePercentage);return c(L);};_.buildExpressionForProgressIndicatorPercentValue=C;return _;},false);
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import valueFormatters from "sap/fe/core/formatters/ValueFormatter";
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
getDisplayMode,
|
|
4
|
+
EDM_TYPE_MAPPING,
|
|
5
|
+
getBindingWithUnitOrCurrency,
|
|
6
|
+
formatWithTypeInformation
|
|
7
|
+
} from "sap/fe/core/templating/UIFormatters";
|
|
3
8
|
|
|
4
9
|
import { DataModelObjectPath, enhanceDataModelPath, getPathRelativeLocation } from "sap/fe/core/templating/DataModelPathHelper";
|
|
5
10
|
import {
|
|
@@ -16,6 +21,8 @@ import {
|
|
|
16
21
|
|
|
17
22
|
import { getAssociatedUnitPropertyPath } from "sap/fe/core/templating/PropertyHelper";
|
|
18
23
|
|
|
24
|
+
import { Property } from "@sap-ux/annotation-converter";
|
|
25
|
+
|
|
19
26
|
import { AnnotationHelper } from "sap/ui/model/odata/v4";
|
|
20
27
|
|
|
21
28
|
export type DataPointFormatOptions = Partial<{
|
|
@@ -136,7 +143,9 @@ const getValueFormatted = (
|
|
|
136
143
|
)
|
|
137
144
|
: [];
|
|
138
145
|
outExpression = annotationExpression(fieldValue, relativeLocation);
|
|
146
|
+
const oPropertyDefinition = oPropertyDataModelPath.targetObject as Property;
|
|
139
147
|
if (sPropertyType) {
|
|
148
|
+
formatWithTypeInformation(oPropertyDefinition, outExpression);
|
|
140
149
|
outExpression.type = EDM_TYPE_MAPPING[sPropertyType]?.type;
|
|
141
150
|
}
|
|
142
151
|
switch (sPropertyType) {
|
|
@@ -145,15 +154,6 @@ const getValueFormatted = (
|
|
|
145
154
|
// for the facets of the OP, the decimal fields are formatted by returning a promise, so we manage all the cases
|
|
146
155
|
outExpression = getDecimalFormat(outExpression, fieldValue, sNumberOfFractionalDigits);
|
|
147
156
|
break;
|
|
148
|
-
case "Edm.String":
|
|
149
|
-
if (!outExpression.formatOptions) {
|
|
150
|
-
outExpression.formatOptions = {};
|
|
151
|
-
}
|
|
152
|
-
if (!outExpression.constraints) {
|
|
153
|
-
outExpression.constraints = {};
|
|
154
|
-
}
|
|
155
|
-
outExpression.formatOptions.parseKeepsEmptyString = true;
|
|
156
|
-
break;
|
|
157
157
|
default:
|
|
158
158
|
}
|
|
159
159
|
return outExpression as BindingExpressionExpression<string>;
|
|
@@ -16,7 +16,8 @@ sap.ui.define(
|
|
|
16
16
|
"sap/ui/model/FilterOperator",
|
|
17
17
|
"sap/base/Log",
|
|
18
18
|
"sap/fe/macros/DelegateUtil",
|
|
19
|
-
"sap/fe/core/helpers/ModelHelper"
|
|
19
|
+
"sap/fe/core/helpers/ModelHelper",
|
|
20
|
+
"sap/fe/core/CommonUtils"
|
|
20
21
|
],
|
|
21
22
|
function(
|
|
22
23
|
TableDelegate,
|
|
@@ -30,7 +31,8 @@ sap.ui.define(
|
|
|
30
31
|
FilterOperator,
|
|
31
32
|
Log,
|
|
32
33
|
MacrosDelegateUtil,
|
|
33
|
-
ModelHelper
|
|
34
|
+
ModelHelper,
|
|
35
|
+
CommonUtils
|
|
34
36
|
) {
|
|
35
37
|
"use strict";
|
|
36
38
|
|
|
@@ -177,7 +179,7 @@ sap.ui.define(
|
|
|
177
179
|
}
|
|
178
180
|
|
|
179
181
|
// get the basic search
|
|
180
|
-
oBindingInfo.parameters.$search = oFilter.getSearch() || undefined;
|
|
182
|
+
oBindingInfo.parameters.$search = CommonUtils.normalizeSearchTerm(oFilter.getSearch()) || undefined;
|
|
181
183
|
}
|
|
182
184
|
// add select to oBindingInfo (BCP 2170163012)
|
|
183
185
|
oBindingInfo.parameters.$select = aTableProperties.reduce(function(sQuery, oProperty) {
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
(c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
4
|
|
|
5
5
|
*/
|
|
6
|
-
sap.ui.define(["sap/ui/mdc/odata/v4/TableDelegate","sap/ui/core/Core","sap/ui/mdc/util/FilterUtil","sap/ui/mdc/odata/v4/util/DelegateUtil","sap/ui/mdc/odata/v4/FilterBarDelegate","sap/ui/mdc/odata/v4/ODataMetaModelUtil","sap/ui/mdc/odata/v4/TypeUtil","sap/ui/model/Filter","sap/ui/model/FilterOperator","sap/base/Log","sap/fe/macros/DelegateUtil","sap/fe/core/helpers/ModelHelper"],function(T,C,F,D,a,O,b,c,d,L,M,e){"use strict";var
|
|
6
|
+
sap.ui.define(["sap/ui/mdc/odata/v4/TableDelegate","sap/ui/core/Core","sap/ui/mdc/util/FilterUtil","sap/ui/mdc/odata/v4/util/DelegateUtil","sap/ui/mdc/odata/v4/FilterBarDelegate","sap/ui/mdc/odata/v4/ODataMetaModelUtil","sap/ui/mdc/odata/v4/TypeUtil","sap/ui/model/Filter","sap/ui/model/FilterOperator","sap/base/Log","sap/fe/macros/DelegateUtil","sap/fe/core/helpers/ModelHelper","sap/fe/core/CommonUtils"],function(T,C,F,D,a,O,b,c,d,L,M,e,f){"use strict";var g=Object.assign({},T);g.fetchProperties=function(t){var m=this._getModel(t);var p;if(!m){p=new Promise(function(r){t.attachModelContextChange({resolver:r},o,this);}.bind(this)).then(function(m){return this._createPropertyInfos(t,m);}.bind(this));}else{p=this._createPropertyInfos(t,m);}return p.then(function(P){if(t.data){t.data("$tablePropertyInfo",P);}return P;});};function o(E,h){var t=E.getSource();var m=this._getModel(t);if(m){t.detachModelContextChange(o);h.resolver(m);}}g._createPropertyInfos=function(t,m){var h=t.getDelegate().payload;var p=[];var E="/"+h.collectionName;var i=m.getMetaModel();return i.requestObject(E+"@").then(function(j){var s=j["@Org.OData.Capabilities.V1.SortRestrictions"]||{};var S=O.getSortRestrictionsInfo(s);var k=j["@Org.OData.Capabilities.V1.FilterRestrictions"];var l=O.getFilterRestrictionsInfo(k);var n=M.getCustomData(t,"columns");n.customData.forEach(function(q){p.push({name:q.path,path:q.path,label:q.label,sortable:S[q.path]?S[q.path].sortable:q.sortable,filterable:l[q.path]?l[q.path].filterable:q.filterable,typeConfig:M.isTypeFilterable(q.$Type)?t.getTypeUtil().getTypeConfig(q.$Type):undefined,maxConditions:O.isMultiValueFilterExpression(l.propertyInfo[q.path])?-1:1});});return p;});};g.updateBindingInfo=function(m,h,B){T.updateBindingInfo.apply(this,[m,h,B]);if(!m){return;}if(h&&B){B.path=B.path||h.collectionPath||"/"+h.collectionName;B.model=B.model||h.model;}if(!B){B={};}var i=C.byId(m.getFilter()),j=m.isFilteringEnabled(),k;var I,l;var n=[];var t=m.data("$tablePropertyInfo");if(j){k=m.getConditions();I=F.getFilterInfo(m,k,t);if(I.filters){n.push(I.filters);}}if(i){k=i.getConditions();if(k){var p=D.getParameterNames(i);l=F.getFilterInfo(i,k,t,p);if(l.filters){n.push(l.filters);}var P=D.getParametersInfo(i,k);if(P){B.path=P;}}B.parameters.$search=f.normalizeSearchTerm(i.getSearch())||undefined;}B.parameters.$select=t.reduce(function(q,r){if(r.path&&r.path.indexOf("/")===-1){q=q?q+","+r.path:r.path;}return q;},"");if(e.isDraftSupported(m.getModel().getMetaModel(),B.path)){n.push(new c("IsActiveEntity",d.EQ,true));}B.filters=new c(n,true);};g.getFilterDelegate=function(){return a;};g.getTypeUtil=function(p){return b;};g._getModel=function(t){var m=t.getDelegate().payload;return t.getModel(m.model);};return g;});
|
|
@@ -59,14 +59,25 @@ sap.ui.define(
|
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
function _entityIsSearchable(oValueListInfo) {
|
|
63
|
-
var
|
|
62
|
+
function _entityIsSearchable(oValueListInfo, oPropertyAnnotations) {
|
|
63
|
+
var bSearchSupported =
|
|
64
|
+
oPropertyAnnotations["@com.sap.vocabularies.Common.v1.ValueList"] &&
|
|
65
|
+
oPropertyAnnotations["@com.sap.vocabularies.Common.v1.ValueList"].SearchSupported,
|
|
66
|
+
oCollectionAnnotations =
|
|
64
67
|
oValueListInfo.valueListInfo.$model.getMetaModel().getObject("/" + oValueListInfo.valueListInfo.CollectionPath + "@") ||
|
|
65
68
|
{},
|
|
66
69
|
bSearchable =
|
|
67
70
|
oCollectionAnnotations["@Org.OData.Capabilities.V1.SearchRestrictions"] &&
|
|
68
71
|
oCollectionAnnotations["@Org.OData.Capabilities.V1.SearchRestrictions"].Searchable;
|
|
69
|
-
|
|
72
|
+
|
|
73
|
+
if (
|
|
74
|
+
(bSearchable === undefined && bSearchSupported === false) ||
|
|
75
|
+
(bSearchable === true && bSearchSupported === false) ||
|
|
76
|
+
bSearchable === false
|
|
77
|
+
) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
return true;
|
|
70
81
|
}
|
|
71
82
|
|
|
72
83
|
function _getCachedValueHelp(sValueHelpId) {
|
|
@@ -804,6 +815,22 @@ sap.ui.define(
|
|
|
804
815
|
}
|
|
805
816
|
}
|
|
806
817
|
});
|
|
818
|
+
// Find DescriptionPath in column definition if not add it
|
|
819
|
+
if (
|
|
820
|
+
sDescriptionPath &&
|
|
821
|
+
aColumnDefs.findIndex(function(oColumn) {
|
|
822
|
+
return oColumn.path === sDescriptionPath;
|
|
823
|
+
}) === -1
|
|
824
|
+
) {
|
|
825
|
+
var oColumnDef = {
|
|
826
|
+
path: sDescriptionPath,
|
|
827
|
+
label: sDescriptionPath,
|
|
828
|
+
sortable: false,
|
|
829
|
+
filterable: false,
|
|
830
|
+
$Type: "Edm.String"
|
|
831
|
+
};
|
|
832
|
+
aColumnDefs.push(oColumnDef);
|
|
833
|
+
}
|
|
807
834
|
return {
|
|
808
835
|
keyValue: sKey,
|
|
809
836
|
descriptionValue: sDescriptionPath,
|
|
@@ -875,6 +902,10 @@ sap.ui.define(
|
|
|
875
902
|
sWrapperId = oWrapper && oWrapper.getId(),
|
|
876
903
|
sValueHelpId = oFVH.getModel("_VHUI").getProperty("/valueHelpId"),
|
|
877
904
|
that = this;
|
|
905
|
+
var oPropertyAnnotations = oFVH
|
|
906
|
+
.getModel()
|
|
907
|
+
.getMetaModel()
|
|
908
|
+
.getObject(propertyPath + "@");
|
|
878
909
|
|
|
879
910
|
//Only do this in case of context dependent value helps or other VH called the first time
|
|
880
911
|
if ((!oTable || sValueHelpId !== undefined) && sFVHClass.indexOf("FieldValueHelp") > -1) {
|
|
@@ -882,7 +913,7 @@ sap.ui.define(
|
|
|
882
913
|
oFVH.setTitle(oValueListInfo.valueListInfo.Label);
|
|
883
914
|
oFVH.setKeyPath(oValueListInfo.keyValue);
|
|
884
915
|
oFVH.setDescriptionPath(oValueListInfo.descriptionValue);
|
|
885
|
-
oFVH.setFilterFields(_entityIsSearchable(oValueListInfo) ? "$search" : "");
|
|
916
|
+
oFVH.setFilterFields(_entityIsSearchable(oValueListInfo, oPropertyAnnotations) ? "$search" : "");
|
|
886
917
|
}
|
|
887
918
|
var oSourceModel = new JSONModel({
|
|
888
919
|
id: sValueHelpId || oFVH.getId(),
|
|
@@ -972,6 +1003,10 @@ sap.ui.define(
|
|
|
972
1003
|
sFVHClass = oFVH.getMetadata().getName(),
|
|
973
1004
|
sValueHelpId = oFVH.getModel("_VHUI").getProperty("/valueHelpId"),
|
|
974
1005
|
that = this;
|
|
1006
|
+
var oPropertyAnnotations = oFVH
|
|
1007
|
+
.getModel()
|
|
1008
|
+
.getMetaModel()
|
|
1009
|
+
.getObject(propertyPath + "@");
|
|
975
1010
|
|
|
976
1011
|
//Only do this in case of context dependent value helps or other VH called the first time
|
|
977
1012
|
if ((!oTable || sValueHelpId !== undefined) && sFVHClass.indexOf("FieldValueHelp") > -1) {
|
|
@@ -979,7 +1014,7 @@ sap.ui.define(
|
|
|
979
1014
|
oFVH.setTitle(oValueListInfo.valueListInfo.Label);
|
|
980
1015
|
oFVH.setKeyPath(oValueListInfo.keyValue);
|
|
981
1016
|
oFVH.setDescriptionPath(oValueListInfo.descriptionValue);
|
|
982
|
-
oFVH.setFilterFields(_entityIsSearchable(oValueListInfo) ? "$search" : "");
|
|
1017
|
+
oFVH.setFilterFields(_entityIsSearchable(oValueListInfo, oPropertyAnnotations) ? "$search" : "");
|
|
983
1018
|
}
|
|
984
1019
|
var oSourceModel = new JSONModel({
|
|
985
1020
|
id: sValueHelpId || oFVH.getId(),
|
|
@@ -1002,6 +1037,7 @@ sap.ui.define(
|
|
|
1002
1037
|
return Promise.all([oTable]).then(function(aControls) {
|
|
1003
1038
|
var sTableWidth,
|
|
1004
1039
|
oTable = aControls[0];
|
|
1040
|
+
|
|
1005
1041
|
if (oTable) {
|
|
1006
1042
|
oTable.setModel(oValueListInfo.valueListInfo.$model);
|
|
1007
1043
|
var oBinding = oTable.getBinding("items");
|
|
@@ -1009,12 +1045,36 @@ sap.ui.define(
|
|
|
1009
1045
|
BusyLocker.lock(oTable);
|
|
1010
1046
|
});
|
|
1011
1047
|
oBinding.attachEvent("dataReceived", function(oEvent) {
|
|
1048
|
+
var sParentId = oFVH.getParent().getId();
|
|
1049
|
+
var oMessageManager = sap.ui.getCore().getMessageManager();
|
|
1012
1050
|
if (BusyLocker.isLocked(oTable)) {
|
|
1013
1051
|
BusyLocker.unlock(oTable);
|
|
1014
1052
|
}
|
|
1053
|
+
// Handle messages related to input with invalid token
|
|
1015
1054
|
if (oEvent.getParameter("error")) {
|
|
1016
|
-
|
|
1017
|
-
|
|
1055
|
+
var sErrorMessage = oEvent.getParameter("error").error.message;
|
|
1056
|
+
var _updateMessage = function(oMessage) {
|
|
1057
|
+
if (sParentId.indexOf("APD_::") === 0 && sErrorMessage === oMessage.message) {
|
|
1058
|
+
oMessage.target = sParentId;
|
|
1059
|
+
oFVH._oConditions.$search = undefined;
|
|
1060
|
+
}
|
|
1061
|
+
return oMessage;
|
|
1062
|
+
};
|
|
1063
|
+
// use timeout as the messages are otherwise not yet in the message model
|
|
1064
|
+
setTimeout(function() {
|
|
1065
|
+
messageHandling.getMessages().forEach(function(oMessage) {
|
|
1066
|
+
_updateMessage(oMessage);
|
|
1067
|
+
});
|
|
1068
|
+
}, 0);
|
|
1069
|
+
} else {
|
|
1070
|
+
oMessageManager
|
|
1071
|
+
.getMessageModel()
|
|
1072
|
+
.getData()
|
|
1073
|
+
.forEach(function(oMessage) {
|
|
1074
|
+
if (oMessage.target.includes(sParentId) && oMessage.controlIds.length === 0) {
|
|
1075
|
+
oMessage.target = "";
|
|
1076
|
+
}
|
|
1077
|
+
});
|
|
1018
1078
|
}
|
|
1019
1079
|
});
|
|
1020
1080
|
|
|
@@ -1249,7 +1309,11 @@ sap.ui.define(
|
|
|
1249
1309
|
return;
|
|
1250
1310
|
}
|
|
1251
1311
|
return ValueListHelper.getValueListInfo(oFVH, oMetaModel, propertyPath, sConditionModel).then(function(oValueListInfo) {
|
|
1252
|
-
|
|
1312
|
+
var oPropertyAnnotations = oFVH
|
|
1313
|
+
.getModel()
|
|
1314
|
+
.getMetaModel()
|
|
1315
|
+
.getObject(propertyPath + "@");
|
|
1316
|
+
oValueListInfo && oFVH.setFilterFields(_entityIsSearchable(oValueListInfo, oPropertyAnnotations) ? "$search" : "");
|
|
1253
1317
|
});
|
|
1254
1318
|
},
|
|
1255
1319
|
getColumnWidth: function(sDataFieldType, oValueList) {
|