@sapui5/sap.suite.ui.generic.template 1.131.1 → 1.133.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/src/sap/suite/ui/generic/template/.library +1 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/Component.js +0 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/SmartFilterBarExt.js +3 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/SmartKpiTag.js +37 -11
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/FilterItem.js +3 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/FilterItemMicroBar.js +3 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/FilterItemMicroChart.js +26 -6
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/FilterItemMicroDonut.js +3 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/FilterItemMicroLine.js +3 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/SmartVisualFilterBar.js +46 -15
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/controller/DropDownController.js +42 -17
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/controller/KpiTagController.js +15 -6
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/extensionAPI/ExtensionAPI.js +2 -2
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_en_US_saptrc.properties +105 -105
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sk.properties +1 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/util/AnnotationHelper.js +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/util/FilterUtil.js +17 -6
- package/src/sap/suite/ui/generic/template/Canvas/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/AnnotationHelperSmartList.js +2 -2
- package/src/sap/suite/ui/generic/template/ListReport/controller/ControllerImplementation.js +46 -22
- package/src/sap/suite/ui/generic/template/ListReport/controller/IappStateHandler.js +18 -2
- package/src/sap/suite/ui/generic/template/ListReport/extensionAPI/ExtensionAPI.js +2 -2
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n.properties +1 -4
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ar.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_bg.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ca.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cnr.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cs.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cy.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_da.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_de.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_el.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en_GB.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en_US_saprigi.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en_US_saptrc.properties +58 -58
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_es.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_es_MX.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_et.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fi.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fr.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fr_CA.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_hi.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_hr.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_hu.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_id.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_it.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_iw.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ja.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_kk.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ko.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_lt.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_lv.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_mk.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ms.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_nl.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_no.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_pl.properties +2 -4
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_pt.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_pt_PT.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ro.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ru.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sh.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sk.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sl.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sr.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sv.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_th.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_tr.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_uk.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_vi.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_zh_CN.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_zh_TW.properties +1 -3
- package/src/sap/suite/ui/generic/template/ListReport/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/view/fragments/BreakoutActionButtons.fragment.xml +3 -2
- package/src/sap/suite/ui/generic/template/ListReport/view/fragments/FullscreenPage.fragment.xml +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartList.fragment.xml +3 -3
- package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartTable.fragment.xml +2 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/Component.js +13 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/ControllerImplementation.js +117 -30
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/MessageSortingHandler.js +63 -10
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/SectionTitleHandler.js +34 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/inlineCreationRows/InlineCreationRowsHelper.js +46 -4
- package/src/sap/suite/ui/generic/template/ObjectPage/controllerFrameworkExtensions.js +22 -4
- package/src/sap/suite/ui/generic/template/ObjectPage/extensionAPI/ExtensionAPI.js +29 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n.properties +37 -6
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ar.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_bg.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ca.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cnr.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cs.properties +26 -6
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cy.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_da.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_de.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_el.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_GB.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_US_saprigi.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_US_saptrc.properties +95 -95
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_es.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_es_MX.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_et.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fi.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fr.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fr_CA.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hi.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hr.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hu.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_id.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_it.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_iw.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ja.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_kk.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ko.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_lt.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_lv.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_mk.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ms.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_nl.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_no.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pl.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pt.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pt_PT.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ro.properties +26 -6
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ru.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sh.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sk.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sl.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sr.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sv.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_th.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_tr.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_uk.properties +27 -7
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_vi.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_zh_CN.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_zh_TW.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/view/Details.view.xml +2 -2
- package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/CRUDActionButtons.fragment.xml +2 -2
- package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/Footer.fragment.xml +3 -3
- package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/HeaderContainer.fragment.xml +4 -4
- package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/HeaderImage.fragment.xml +4 -4
- package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartChart.fragment.xml +1 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartTable.fragment.xml +3 -2
- package/src/sap/suite/ui/generic/template/QuickCreate/i18n/i18n_en_US_saptrc.properties +14 -14
- package/src/sap/suite/ui/generic/template/QuickCreate/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/QuickView/i18n/i18n_en_US_saptrc.properties +2 -2
- package/src/sap/suite/ui/generic/template/QuickView/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/designtime/controls/DynamicPage.designtime.js +198 -193
- package/src/sap/suite/ui/generic/template/designtime/controls/ObjectPageLayout.designtime.js +215 -0
- package/src/sap/suite/ui/generic/template/designtime/controls/SmartFilterBar.designtime.js +340 -0
- package/src/sap/suite/ui/generic/template/designtime/controls/SmartTable.designtime.js +43 -19
- package/src/sap/suite/ui/generic/template/designtime/floorplans/AnalyticalListPage.designtime.js +18 -18
- package/src/sap/suite/ui/generic/template/designtime/floorplans/ListReport.designtime.js +19 -16
- package/src/sap/suite/ui/generic/template/designtime/floorplans/ObjectPage.designtime.js +10 -7
- package/src/sap/suite/ui/generic/template/designtime/utils/designtimeHelper.js +52 -37
- package/src/sap/suite/ui/generic/template/designtime/utils/designtimeUtils.js +112 -23
- package/src/sap/suite/ui/generic/template/detailTemplates/i18n/i18n_en_US_saptrc.properties +6 -6
- package/src/sap/suite/ui/generic/template/fragments/BreakoutActions.fragment.xml +2 -2
- package/src/sap/suite/ui/generic/template/fragments/DeterminingActions.fragment.xml +3 -2
- package/src/sap/suite/ui/generic/template/fragments/DeterminingButton.fragment.xml +18 -20
- package/src/sap/suite/ui/generic/template/fragments/EasyFilter.fragment.xml +0 -6
- package/src/sap/suite/ui/generic/template/fragments/GlobalActions.fragment.xml +3 -2
- package/src/sap/suite/ui/generic/template/fragments/GridTableCells.fragment.xml +7 -6
- package/src/sap/suite/ui/generic/template/fragments/HeaderAddress.fragment.xml +2 -1
- package/src/sap/suite/ui/generic/template/fragments/HeaderContactWithDetailsPopover.fragment.xml +2 -1
- package/src/sap/suite/ui/generic/template/fragments/HeaderDataPointContent.fragment.xml +2 -2
- package/src/sap/suite/ui/generic/template/fragments/HeaderForm.fragment.xml +1 -1
- package/src/sap/suite/ui/generic/template/fragments/HeaderFormDataField.fragment.xml +14 -7
- package/src/sap/suite/ui/generic/template/fragments/HeaderPlainText.fragment.xml +1 -1
- package/src/sap/suite/ui/generic/template/fragments/HeaderRatingIndicator.fragment.xml +5 -7
- package/src/sap/suite/ui/generic/template/fragments/MessagePopover.fragment.xml +2 -1
- package/src/sap/suite/ui/generic/template/fragments/ProgressIndicator.fragment.xml +2 -2
- package/src/sap/suite/ui/generic/template/fragments/QuickViewSmartForm.fragment.xml +2 -2
- package/src/sap/suite/ui/generic/template/fragments/RatingIndicatorFacet.fragment.xml +2 -2
- package/src/sap/suite/ui/generic/template/fragments/SmartFormDataField.fragment.xml +4 -3
- package/src/sap/suite/ui/generic/template/fragments/SmartMicroChart.fragment.xml +1 -1
- package/src/sap/suite/ui/generic/template/fragments/SmartTableUiTableCommons.fragment.xml +2 -5
- package/src/sap/suite/ui/generic/template/fragments/TableCell.fragment.xml +9 -7
- package/src/sap/suite/ui/generic/template/fragments/TableColumnListItem.fragment.xml +2 -5
- package/src/sap/suite/ui/generic/template/fragments/ToolbarButton.fragment.xml +2 -2
- package/src/sap/suite/ui/generic/template/fragments/TreeTableColumns.fragment.xml +4 -3
- package/src/sap/suite/ui/generic/template/genericUtilities/controlHelper.js +10 -9
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartVariantManagementWrapper.js +4 -2
- package/src/sap/suite/ui/generic/template/genericUtilities/filterHelper.js +70 -2
- package/src/sap/suite/ui/generic/template/genericUtilities/polyFill.js +14 -0
- package/src/sap/suite/ui/generic/template/js/AnnotationHelper.js +67 -30
- package/src/sap/suite/ui/generic/template/js/AnnotationHelperStreamSupport.js +3 -0
- package/src/sap/suite/ui/generic/template/js/QuickTemplates/QuickTemplateComponentFactory.js +25 -14
- package/src/sap/suite/ui/generic/template/js/RuntimeFormatters.js +78 -22
- package/src/sap/suite/ui/generic/template/lib/AppComponent.js +16 -225
- package/src/sap/suite/ui/generic/template/lib/CRUDActionHandler.js +12 -3
- package/src/sap/suite/ui/generic/template/lib/CRUDHelper.js +5 -3
- package/src/sap/suite/ui/generic/template/lib/CommonEventHandlers.js +24 -5
- package/src/sap/suite/ui/generic/template/lib/CommonUtils.js +78 -48
- package/src/sap/suite/ui/generic/template/lib/ComponentUtils.js +3 -3
- package/src/sap/suite/ui/generic/template/lib/ContextBookkeeping.js +39 -23
- package/src/sap/suite/ui/generic/template/lib/FlexibleColumnLayoutHandler.js +13 -5
- package/src/sap/suite/ui/generic/template/lib/FlexibleColumnLayoutHelper.js +168 -0
- package/src/sap/suite/ui/generic/template/lib/MessageButtonHelper.js +6 -0
- package/src/sap/suite/ui/generic/template/lib/MessageStripHelper.js +1 -1
- package/src/sap/suite/ui/generic/template/lib/RetryAfterHandler.js +2 -3
- package/src/sap/suite/ui/generic/template/lib/ShellPersonalizationService.js +137 -0
- package/src/sap/suite/ui/generic/template/lib/SideEffectUtil.js +56 -1
- package/src/sap/suite/ui/generic/template/lib/TemplateComponent.js +26 -7
- package/src/sap/suite/ui/generic/template/lib/ai/EasyFilterBarHandler.js +91 -36
- package/src/sap/suite/ui/generic/template/lib/ai/FioriAIHandler.js +30 -35
- package/src/sap/suite/ui/generic/template/lib/deletionHelper.js +10 -2
- package/src/sap/suite/ui/generic/template/lib/filterHelper.js +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n.properties +9 -15
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ar.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_bg.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ca.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cnr.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cs.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cy.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_da.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_de.properties +7 -13
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_el.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_GB.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saprigi.properties +7 -11
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saptrc.properties +183 -149
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es.properties +6 -12
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es_MX.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_et.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fi.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr_CA.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hi.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hr.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hu.properties +5 -11
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_id.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_it.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_iw.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ja.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_kk.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ko.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lt.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lv.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_mk.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ms.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_nl.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_no.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pl.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt_PT.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ro.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ru.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sh.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sk.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sl.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sr.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sv.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_th.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_tr.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_uk.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_vi.properties +5 -11
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_CN.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_TW.properties +3 -9
- package/src/sap/suite/ui/generic/template/lib/insights/InsightsCardHelper.js +27 -11
- package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +59 -38
- package/src/sap/suite/ui/generic/template/lib/presentationControl/SmartTableHandler.js +93 -1
- package/src/sap/suite/ui/generic/template/library.js +7 -3
- package/src/sap/suite/ui/generic/template/listTemplates/fragments/ChartActions.fragment.xml +4 -3
- package/src/sap/suite/ui/generic/template/listTemplates/fragments/DetailSmartTable.fragment.xml +4 -3
- package/src/sap/suite/ui/generic/template/listTemplates/i18n/i18n_en_US_saptrc.properties +1 -1
- package/src/sap/suite/ui/generic/template/manifestMerger/ChangePageConfiguration.js +4 -1
- package/src/sap/suite/ui/generic/template/manifestMerger/MergerUtil.js +27 -1
- package/src/sap/suite/ui/generic/template/support/DiagnosticsTool/DiagnosticsTool.js +15 -3
- package/src/sap/suite/ui/generic/template/support/DiagnosticsTool/view/DiagnosticsTool.view.xml +0 -24
- package/src/sap/suite/ui/generic/template/support/lib/CommonChecks.js +11 -19
- package/src/sap/suite/ui/generic/template/themes/base/ObjectPage.less +0 -4
- package/src/sap/suite/ui/generic/template/themes/sap_belize_base/ObjectPage.less +0 -4
- package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/ObjectPage.less +0 -4
- package/src/sap/suite/ui/generic/template/themes/sap_fiori_3_hcb/AnalyticalListPage.less +0 -1
- package/src/sap/suite/ui/generic/template/themes/sap_fiori_3_hcw/AnalyticalListPage.less +0 -1
- package/src/sap/suite/ui/generic/template/themes/sap_hcb/base_ObjectPage.less +0 -4
- package/src/sap/suite/ui/generic/template/themes/sap_horizon_hcb/AnalyticalListPage.less +0 -1
- package/src/sap/suite/ui/generic/template/themes/sap_horizon_hcw/AnalyticalListPage.less +0 -1
- package/src/sap/suite/ui/generic/template/fragments/ContactDetailsQuickViewGroup.fragment.xml +0 -36
- package/src/sap/suite/ui/generic/template/js/formatters/formatDisplayValueForProgressIndicator.js +0 -28
- package/src/sap/suite/ui/generic/template/js/formatters/formatImageUrl.js +0 -21
- package/src/sap/suite/ui/generic/template/js/formatters/formatRatingIndicatorAggregateCount.js +0 -21
- package/src/sap/suite/ui/generic/template/js/formatters/formatRatingIndicatorFooterText.js +0 -21
- package/src/sap/suite/ui/generic/template/js/formatters/formatRatingIndicatorSubTitle.js +0 -21
- package/src/sap/suite/ui/generic/template/js/formatters/setInfoHighlight.js +0 -21
- package/src/sap/suite/ui/generic/template/js/formatters/setRowNavigated.js +0 -26
|
@@ -79,7 +79,7 @@ sap.ui.define([
|
|
|
79
79
|
|
|
80
80
|
// This is the public method that can be used to set or remove the message which is currently displayed for a tab or a collection of tabs.
|
|
81
81
|
// oMessage: The object which represents the message that should currently be displayed. If it is faulty no message should be shown for the specified tabs.
|
|
82
|
-
// Otherwise it should be an object containing properties message (text of the message) and type (instance of sap
|
|
82
|
+
// Otherwise it should be an object containing properties message (text of the message) and type (instance of sap/ui/core/message/MessageType).
|
|
83
83
|
// vTab: Specifies the affected tabs: faulty -> all tabs affected, string -> identifies the affected tab, array -> lists the affected tabs
|
|
84
84
|
// If more than one tab is specified in this way these tabs will be considered to belong together for the close feature of the message strip.
|
|
85
85
|
// This means, that the message will be removed for all these tabs when the user closes the message strip.
|
|
@@ -3,6 +3,7 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
3
3
|
"sap/base/i18n/Formatting",
|
|
4
4
|
"sap/m/Button",
|
|
5
5
|
"sap/m/Dialog",
|
|
6
|
+
"sap/m/IllustratedMessageType",
|
|
6
7
|
"sap/m/ProgressIndicator",
|
|
7
8
|
"sap/m/Text",
|
|
8
9
|
"sap/m/library",
|
|
@@ -13,7 +14,7 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
13
14
|
"sap/ui/model/FilterOperator",
|
|
14
15
|
"sap/ui/model/json/JSONModel",
|
|
15
16
|
"sap/suite/ui/generic/template/genericUtilities/testableHelper"
|
|
16
|
-
], function (BaseObject, extend, Formatting, Button, Dialog, ProgressIndicator, Text, mobileLibrary, DateFormat, coreLibrary,
|
|
17
|
+
], function (BaseObject, extend, Formatting, Button, Dialog, IllustratedMessageType, ProgressIndicator, Text, mobileLibrary, DateFormat, coreLibrary,
|
|
17
18
|
Messaging, Filter, FilterOperator, JSONModel, testableHelper) {
|
|
18
19
|
"use strict";
|
|
19
20
|
|
|
@@ -63,8 +64,6 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
63
64
|
var ButtonType = mobileLibrary.ButtonType;
|
|
64
65
|
// Shortcut for sap.m.DialogType
|
|
65
66
|
var DialogType = mobileLibrary.DialogType;
|
|
66
|
-
// Shortcut for sap.m.IllustratedMessageType
|
|
67
|
-
var IllustratedMessageType = mobileLibrary.IllustratedMessageType;
|
|
68
67
|
// Shortcut for sap.ui.core.ValueState
|
|
69
68
|
var ValueState = coreLibrary.ValueState;
|
|
70
69
|
// Shortcut for getting i18n text
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
sap.ui.define([
|
|
2
|
+
"sap/ui/base/Object",
|
|
3
|
+
"sap/base/util/extend",
|
|
4
|
+
"sap/suite/ui/generic/template/genericUtilities/testableHelper",
|
|
5
|
+
"sap/suite/ui/generic/template/genericUtilities/FeLogger"
|
|
6
|
+
], function (
|
|
7
|
+
BaseObject,
|
|
8
|
+
extend,
|
|
9
|
+
testableHelper,
|
|
10
|
+
FeLogger
|
|
11
|
+
) {
|
|
12
|
+
"use strict";
|
|
13
|
+
|
|
14
|
+
function getMethods({ oAppComponent }) {
|
|
15
|
+
|
|
16
|
+
var shellPersonalizationService;
|
|
17
|
+
var applicationPersonalizers = {};
|
|
18
|
+
|
|
19
|
+
var sClassName = "lib.ShellPersonalizationService";
|
|
20
|
+
var oLogger = new FeLogger(sClassName).getLogger();
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Gets the personalizer from the shell service.
|
|
24
|
+
* We set some defaults for the scope object.
|
|
25
|
+
* @param persId Personalization object
|
|
26
|
+
* @param scope Scope object
|
|
27
|
+
* @param component
|
|
28
|
+
* @returns {Promise<PersonalizerType> | undefined} Personalizer object which handles personalization
|
|
29
|
+
*/
|
|
30
|
+
async function getPersonalizer(persId, scope, component) {
|
|
31
|
+
if (!hasInitialized()) {
|
|
32
|
+
oLogger.error("Personalization service is not initialized");
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
scope = {
|
|
36
|
+
// merge some defaults
|
|
37
|
+
keyCategory: shellPersonalizationService.constants.keyCategory.FIXED_KEY,
|
|
38
|
+
writeFrequency: shellPersonalizationService.constants.writeFrequency.LOW,
|
|
39
|
+
clientStorageAllowed: false,
|
|
40
|
+
validity: Infinity,
|
|
41
|
+
...scope
|
|
42
|
+
};
|
|
43
|
+
return shellPersonalizationService.getPersonalizer(persId, scope, component);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Prepares the container name for personalizer.
|
|
48
|
+
* @returns Container name
|
|
49
|
+
*/
|
|
50
|
+
function getContainerName() {
|
|
51
|
+
// personalizer logs error if name longer than 40 symbols
|
|
52
|
+
var sContainer = `App#${(oAppComponent).getManifest()["sap.app"].id}`;
|
|
53
|
+
return sContainer;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Initializes the personalizer to access the Application data stored in the shell Personalization.
|
|
58
|
+
* @param {string} itemName The name of the item for which the personalizer is created.
|
|
59
|
+
* @returns {Promise<PersonalizerType>} A personalizer
|
|
60
|
+
*/
|
|
61
|
+
async function getApplicationPersonalizer(itemName) {
|
|
62
|
+
if (!applicationPersonalizers[itemName]) {
|
|
63
|
+
applicationPersonalizers[itemName] = getPersonalizer(
|
|
64
|
+
{
|
|
65
|
+
container: getContainerName(),
|
|
66
|
+
item: itemName
|
|
67
|
+
},
|
|
68
|
+
{},
|
|
69
|
+
oAppComponent
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
return applicationPersonalizers[itemName];
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Returns data from the personalization service.
|
|
77
|
+
* @param {string} itemName
|
|
78
|
+
* @returns {Promise<object | undefined>} Data
|
|
79
|
+
*/
|
|
80
|
+
async function getApplicationPersonalizationData(itemName) {
|
|
81
|
+
var oAppPersonalizer = await getApplicationPersonalizer(itemName);
|
|
82
|
+
var oPersData = await oAppPersonalizer?.getPersData();
|
|
83
|
+
return oPersData;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Stores an object in the personalization service.
|
|
88
|
+
* @param {string} itemName
|
|
89
|
+
* @param {object} data
|
|
90
|
+
* @returns {Promise<void>} A promise
|
|
91
|
+
*/
|
|
92
|
+
async function setApplicationPersonalizationData(itemName, data) {
|
|
93
|
+
var oAppPersonalizer = await getApplicationPersonalizer(itemName);
|
|
94
|
+
oAppPersonalizer.setPersData(data);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Checks whether the shell personalization service has been initialized
|
|
99
|
+
* @returns True or false
|
|
100
|
+
*/
|
|
101
|
+
function hasInitialized() {
|
|
102
|
+
return !!shellPersonalizationService;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Initializes the shell personalization service
|
|
107
|
+
*/
|
|
108
|
+
function init() {
|
|
109
|
+
var UShellContainer = sap.ui.require("sap/ushell/Container");
|
|
110
|
+
if (hasInitialized() || !UShellContainer) {
|
|
111
|
+
return Promise.resolve();
|
|
112
|
+
}
|
|
113
|
+
return UShellContainer.getServiceAsync("PersonalizationV2").then((oShellPersonalizationService) => {
|
|
114
|
+
setShellPersonalizationService(oShellPersonalizationService);
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
function setShellPersonalizationService(service) {
|
|
119
|
+
shellPersonalizationService = service;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
var setShellPersonalizationService = testableHelper.testable(setShellPersonalizationService, "setShellPersonalizationService");
|
|
123
|
+
|
|
124
|
+
return {
|
|
125
|
+
init: init,
|
|
126
|
+
hasInitialized: hasInitialized,
|
|
127
|
+
getApplicationPersonalizationData: getApplicationPersonalizationData,
|
|
128
|
+
setApplicationPersonalizationData: setApplicationPersonalizationData
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
return BaseObject.extend("sap.suite.ui.generic.template.lib.ShellPersonalizationService", {
|
|
133
|
+
constructor: function (oTemplateContract) {
|
|
134
|
+
extend(this, getMethods(oTemplateContract));
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
});
|
|
@@ -207,10 +207,65 @@ sap.ui.define(["sap/suite/ui/generic/template/js/AnnotationHelper",
|
|
|
207
207
|
}
|
|
208
208
|
}
|
|
209
209
|
|
|
210
|
+
/**
|
|
211
|
+
* Configures a side effect for custom field.
|
|
212
|
+
* @param {Object} oView - The view instance of the object page.
|
|
213
|
+
* @param {Object} oControl - The control object for the custom field.
|
|
214
|
+
* @param {String} sProperty - The name of the property associated with the custom field.
|
|
215
|
+
* @param {String} sEntitySet - The entity set to which the custom field belongs.
|
|
216
|
+
* @param {String} oController - Object page controller.
|
|
217
|
+
*/
|
|
218
|
+
function registerCustomFieldForSideEffect(oControl, sProperty, sEntitySet, oController) {
|
|
219
|
+
var oMetaModel = oController.getView().getModel().getMetaModel();
|
|
220
|
+
var oEntitySet = oMetaModel.getODataEntitySet(sEntitySet);
|
|
221
|
+
var oEntityType = oMetaModel.getODataEntityType(oEntitySet.entityType);
|
|
222
|
+
var oProperty = oMetaModel.getODataProperty(oEntityType, sProperty);
|
|
223
|
+
//The method SharedUtil.applyFieldGroupIDs takes in the control and its metadata, reads the Side Effect annotations configured for it
|
|
224
|
+
//and assigns the fieldGroupID accordingly.
|
|
225
|
+
oController.extensionAPI.attachPageDataLoaded(() => {
|
|
226
|
+
SharedUtil.applyFieldGroupIDs(oControl, {
|
|
227
|
+
entitySet: oEntitySet,
|
|
228
|
+
entityType: oEntityType,
|
|
229
|
+
path: sProperty,
|
|
230
|
+
property: {
|
|
231
|
+
property: oProperty
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Register field group Change.
|
|
239
|
+
* @param {object} oComponent
|
|
240
|
+
* @param {Object} oTemplateUtils
|
|
241
|
+
* @param {String} sFieldName - The name of the property associated with the custom field.
|
|
242
|
+
* @param {string} sEntitySet - EntitySet where side effect is defined.
|
|
243
|
+
*/
|
|
244
|
+
function fieldGroupChangeRegister(oComponent, oTemplateUtils, sFieldName, sEntitySet) {
|
|
245
|
+
var oEntitySet = oComponent.getModel().getMetaModel().getODataEntitySet(sEntitySet);
|
|
246
|
+
var oEntityType = oComponent.getModel().getMetaModel().getODataEntityType(oEntitySet.entityType);
|
|
247
|
+
for (var sProperty in oEntityType) {
|
|
248
|
+
if (sProperty.includes("com.sap.vocabularies.Common.v1.SideEffects")) {
|
|
249
|
+
var aSource = oEntityType[sProperty].SourceProperties;
|
|
250
|
+
if (!aSource) {
|
|
251
|
+
continue;
|
|
252
|
+
}
|
|
253
|
+
for (var i = 0; i < aSource.length; i++) {
|
|
254
|
+
if (aSource[i].PropertyPath === sFieldName) {
|
|
255
|
+
var sQualifier = sProperty.split("#")[1];
|
|
256
|
+
oTemplateUtils.oServices.oApplicationController.registerGroupChange(sQualifier);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
210
263
|
return {
|
|
211
264
|
handleSideEffectForField : fnHandleSideEffectForField,
|
|
212
265
|
assignFieldGroupIds: fnAssignFieldGroupIds,
|
|
213
266
|
getPropsForLinkFields: fnGetPropsForLinkFields,
|
|
214
|
-
assignFieldGroupIdsToLinkField: fnAssignFieldGroupIdsToLinkField
|
|
267
|
+
assignFieldGroupIdsToLinkField: fnAssignFieldGroupIdsToLinkField,
|
|
268
|
+
registerCustomFieldForSideEffect: registerCustomFieldForSideEffect,
|
|
269
|
+
fieldGroupChangeRegister: fieldGroupChangeRegister
|
|
215
270
|
};
|
|
216
271
|
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
sap.ui.define([
|
|
1
|
+
sap.ui.define([
|
|
2
|
+
"sap/ui/core/mvc/ViewType",
|
|
2
3
|
"sap/ui/core/Component",
|
|
3
4
|
"sap/ui/core/UIComponent",
|
|
4
5
|
"sap/ui/model/json/JSONModel",
|
|
@@ -15,14 +16,32 @@ sap.ui.define(["sap/ui/core/library",
|
|
|
15
16
|
"sap/suite/ui/generic/template/genericUtilities/CacheHelper",
|
|
16
17
|
"sap/suite/ui/generic/template/genericUtilities/FeError",
|
|
17
18
|
"sap/ui/core/mvc/XMLView",
|
|
18
|
-
"sap/m/IllustratedMessageType"
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
"sap/m/IllustratedMessageType",
|
|
20
|
+
"sap/ui/core/Element"
|
|
21
|
+
], function (
|
|
22
|
+
ViewType,
|
|
23
|
+
Component,
|
|
24
|
+
UIComponent,
|
|
25
|
+
JSONModel,
|
|
26
|
+
ResourceModel,
|
|
27
|
+
Device,
|
|
28
|
+
reuseComponentHelper,
|
|
29
|
+
CustomData,
|
|
30
|
+
StableIdDefinition,
|
|
31
|
+
StableIdHelper,
|
|
32
|
+
FeLogger,
|
|
33
|
+
AnnotationHelper,
|
|
34
|
+
extend,
|
|
35
|
+
deepExtend,
|
|
36
|
+
CacheHelper,
|
|
37
|
+
FeError,
|
|
38
|
+
XMLView,
|
|
39
|
+
IllustratedMessageType,
|
|
40
|
+
Element
|
|
41
|
+
) {
|
|
21
42
|
"use strict";
|
|
22
43
|
var sClassName = "lib.TemplateComponent";
|
|
23
44
|
var oLogger = new FeLogger(sClassName).getLogger();
|
|
24
|
-
// shortcut for sap.ui.core.mvc.ViewType
|
|
25
|
-
var ViewType = coreLibrary.mvc.ViewType;
|
|
26
45
|
|
|
27
46
|
// This method enhances the i18n model which has been attached to the template component via the manifest.
|
|
28
47
|
// For this purpose the following enhancement chain is built:
|
|
@@ -242,7 +261,7 @@ sap.ui.define(["sap/ui/core/library",
|
|
|
242
261
|
|
|
243
262
|
var sViewId = fnDetermineViewId(oComponentRegistryEntry);
|
|
244
263
|
|
|
245
|
-
var oView =
|
|
264
|
+
var oView = Element.getElementById(sViewId);
|
|
246
265
|
if (oView){
|
|
247
266
|
oLogger.warning("View with ID: " + sViewId + " already exists - old view is getting destroyed now!");
|
|
248
267
|
try {
|
|
@@ -2,8 +2,9 @@ sap.ui.define([
|
|
|
2
2
|
"sap/ui/base/Object",
|
|
3
3
|
"sap/base/util/extend",
|
|
4
4
|
"sap/suite/ui/generic/template/lib/filterHelper",
|
|
5
|
-
"sap/suite/ui/generic/template/genericUtilities/FeLogger"
|
|
6
|
-
|
|
5
|
+
"sap/suite/ui/generic/template/genericUtilities/FeLogger",
|
|
6
|
+
"sap/ui/model/FilterOperator"
|
|
7
|
+
], function(BaseObject, extend, filterHelper, FeLogger, FilterOperator) {
|
|
7
8
|
'use strict';
|
|
8
9
|
|
|
9
10
|
/*
|
|
@@ -13,11 +14,11 @@ sap.ui.define([
|
|
|
13
14
|
* Event handlers for the easy filter bar are also defined here
|
|
14
15
|
*
|
|
15
16
|
*/
|
|
16
|
-
var oEasyFilterMetadata;
|
|
17
17
|
var oLogger = new FeLogger("lib.ai.EasyFilterBarHandler").getLogger();
|
|
18
18
|
|
|
19
19
|
function getMethods(oState, oController, oTemplateUtils) {
|
|
20
20
|
var mCodeList = {};
|
|
21
|
+
var oEasyFilterMetadata;
|
|
21
22
|
// used for busyHandling between query triggered and query resolved.
|
|
22
23
|
var oQueryPromise, oQueryPromiseResolve;
|
|
23
24
|
var fnValueHelpPromiseResolve;
|
|
@@ -28,25 +29,13 @@ sap.ui.define([
|
|
|
28
29
|
* @returns A promise which returns the prepared metadata
|
|
29
30
|
*/
|
|
30
31
|
function fnGetEasyFilterSearchMetadata() {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
if (oState.oSmartFilterbar.isInitialised()) {
|
|
37
|
-
fnPrepareSearchMetadata().then(function(oMetadata){
|
|
38
|
-
fnResolve(oMetadata);
|
|
39
|
-
}
|
|
40
|
-
);
|
|
41
|
-
} else {
|
|
42
|
-
oState.oSmartFilterbar.attachInitialized(function() {
|
|
43
|
-
fnPrepareSearchMetadata().then(function(oMetadata) {
|
|
44
|
-
fnResolve(oMetadata);
|
|
45
|
-
});
|
|
46
|
-
},this);
|
|
47
|
-
}
|
|
32
|
+
return new Promise(function(fnResolve) {
|
|
33
|
+
oState.oIappStateHandler.onFEStartupInitialized().then(function() {
|
|
34
|
+
fnPrepareSearchMetadata().then(function(oMetadata){
|
|
35
|
+
fnResolve(oMetadata);
|
|
36
|
+
});
|
|
48
37
|
});
|
|
49
|
-
}
|
|
38
|
+
});
|
|
50
39
|
}
|
|
51
40
|
/**
|
|
52
41
|
* This method prepares the metadata for each filterable field from the smart filter bar
|
|
@@ -56,34 +45,48 @@ sap.ui.define([
|
|
|
56
45
|
function fnPrepareSearchMetadata() {
|
|
57
46
|
|
|
58
47
|
var aPromise = [];
|
|
48
|
+
var oEditStateFilterItem;
|
|
49
|
+
var oDefaultValuesForEasyFilter = {};
|
|
59
50
|
var oOwnerFilterControl = oState.oSmartFilterbar;
|
|
60
51
|
var oSFBModel = oOwnerFilterControl.getModel();
|
|
61
52
|
var oSFBMetaModel = oSFBModel.getMetaModel();
|
|
62
|
-
|
|
53
|
+
|
|
63
54
|
var sEntitySet = oController.getOwnerComponent().getEntitySet();
|
|
64
|
-
var sTokenType = "ValueHelp"; // Other values are "Calendar" | "Time" | "MenuWithCheckBox"
|
|
65
55
|
|
|
66
56
|
var mFilterProperties = {}; // todo : Add the properties from navigation entites
|
|
67
57
|
var oEntityType = oTemplateUtils.oCommonUtils.getMetaModelEntityType(sEntitySet);
|
|
68
58
|
oEntityType.property.map(function (oProperty) {
|
|
59
|
+
var sTokenType = "ValueHelp"; // Other values are "Calendar" | "Time" | "MenuWithCheckBox" | "MenuWithSingleSelect"
|
|
69
60
|
if (filterHelper.isPropertyFilterable(oProperty)) {
|
|
70
|
-
|
|
61
|
+
|
|
62
|
+
var bIsCodeListRequired;
|
|
71
63
|
oProperty.extensions && oProperty.extensions.forEach(function(oExtension) {
|
|
72
64
|
if (oExtension.name === "value-list" && oExtension.value === "fixed-values") {
|
|
73
65
|
sTokenType = "MenuWithCheckBox";
|
|
74
66
|
bIsCodeListRequired = true;
|
|
75
67
|
}
|
|
76
68
|
});
|
|
69
|
+
|
|
70
|
+
// Calculate the token type based on the property type and display format
|
|
71
|
+
// It will be better if this is done at the control level
|
|
72
|
+
if ((oProperty.type === "Edm.DateTime" && oProperty["sap:display-format"] === "Date") ||
|
|
73
|
+
(oProperty.type === "Edm.String" && oProperty["com.sap.vocabularies.Common.v1.IsCalendarDate"] && oProperty["com.sap.vocabularies.Common.v1.IsCalendarDate"].Bool === "true")) {
|
|
74
|
+
sTokenType = "Calendar";
|
|
75
|
+
} else if (oProperty.type === "Edm.DateTimeOffset") {
|
|
76
|
+
sTokenType = "Time";
|
|
77
|
+
}
|
|
78
|
+
|
|
77
79
|
mFilterProperties[oProperty.name] = {
|
|
78
80
|
name: oProperty.name,
|
|
79
81
|
//label: oProperty.label, Name is added from the filter item control
|
|
80
82
|
dataType: oProperty.type,
|
|
83
|
+
defaultValue : [], // Fill values from FLP user defaults , SV or other sources
|
|
81
84
|
filterable: true,
|
|
82
85
|
sortable: false,
|
|
83
86
|
codeList : bIsCodeListRequired,
|
|
84
87
|
type: sTokenType,
|
|
85
88
|
unit: oProperty["sap:unit"] || "",
|
|
86
|
-
required: oProperty["sap:required-in-filter"] ? true : false
|
|
89
|
+
required: oProperty["sap:required-in-filter"] === "true" ? true : false
|
|
87
90
|
};
|
|
88
91
|
}
|
|
89
92
|
});
|
|
@@ -93,12 +96,54 @@ sap.ui.define([
|
|
|
93
96
|
entitySet: sEntitySet,
|
|
94
97
|
fields : []
|
|
95
98
|
};
|
|
96
|
-
|
|
99
|
+
oDefaultValuesForEasyFilter = oOwnerFilterControl.getFilterData() || {};
|
|
97
100
|
oOwnerFilterControl.getAllFilterItems().forEach(function (oFilterItem) {
|
|
98
101
|
//check if the filter item from the filter control is a property of the entity type , if then push it to the easy filter metadata
|
|
99
102
|
// todo : Add the properties from navigation entites
|
|
100
103
|
var oFilterItemForQuery = mFilterProperties[oFilterItem.getName()];
|
|
101
104
|
if (oFilterItemForQuery) {
|
|
105
|
+
var oDefaultFilterValue = oDefaultValuesForEasyFilter[oFilterItem.getName()];
|
|
106
|
+
if (oDefaultFilterValue) {
|
|
107
|
+
var aValues = [];
|
|
108
|
+
// oDefaultFilterValue can have ranges or items or low or single value directly
|
|
109
|
+
if (oDefaultFilterValue.ranges && oDefaultFilterValue.ranges.length > 0) {
|
|
110
|
+
aValues = oDefaultFilterValue.ranges.map(function(oRange) {
|
|
111
|
+
if (oRange.exclude === false) {
|
|
112
|
+
if (oRange.operation === "BT") {
|
|
113
|
+
return {
|
|
114
|
+
operator: FilterOperator.BT,
|
|
115
|
+
selectedValues: [{ value1: oRange.value1, value2: oRange.value2 }]
|
|
116
|
+
};
|
|
117
|
+
} else {
|
|
118
|
+
return {
|
|
119
|
+
operator: oRange.operation,
|
|
120
|
+
selectedValues: [oRange.value1]
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
} else {
|
|
124
|
+
return {
|
|
125
|
+
operator: FilterOperator.NE,
|
|
126
|
+
selectedValues: [oRange.value1]
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
} else if (oDefaultFilterValue.items && oDefaultFilterValue.items.length > 0) { // unrestricted/multi-value
|
|
131
|
+
oDefaultFilterValue.items.forEach(function(oItem) {
|
|
132
|
+
aValues.push({
|
|
133
|
+
operator: FilterOperator.EQ,
|
|
134
|
+
selectedValues: [oItem.key]
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
} else if (oDefaultFilterValue) { // In cases where the default value is coming from the FLP user defaults and does not have ranges and the value is a single value
|
|
138
|
+
aValues = [
|
|
139
|
+
{
|
|
140
|
+
operator: FilterOperator.EQ,
|
|
141
|
+
selectedValues: [oDefaultFilterValue]
|
|
142
|
+
}
|
|
143
|
+
];
|
|
144
|
+
}
|
|
145
|
+
oFilterItemForQuery.defaultValue = aValues;
|
|
146
|
+
}
|
|
102
147
|
oFilterItemForQuery.label = oFilterItem.getLabel();
|
|
103
148
|
// codeList is set to true for fixed value list and codelist is fetched
|
|
104
149
|
if (oFilterItemForQuery.codeList) {
|
|
@@ -128,7 +173,6 @@ sap.ui.define([
|
|
|
128
173
|
if (oTemplateUtils.oComponentUtils.isDraftEnabled()) {
|
|
129
174
|
var oEditStateControl = oController.byId("editStateFilter");
|
|
130
175
|
if (oEditStateControl) {
|
|
131
|
-
sTokenType = "MenuWithCheckBox";
|
|
132
176
|
var oEditingStatusCodeList = oEditStateControl.getItems().map(function(oItem) {
|
|
133
177
|
return {
|
|
134
178
|
value : oItem.getKey(),
|
|
@@ -142,7 +186,7 @@ sap.ui.define([
|
|
|
142
186
|
filterable: true,
|
|
143
187
|
required: false,
|
|
144
188
|
sortable: false,
|
|
145
|
-
type:
|
|
189
|
+
type: "MenuWithSingleSelect",
|
|
146
190
|
codeList : oEditingStatusCodeList
|
|
147
191
|
};
|
|
148
192
|
oEasyFilterMetadata.fields.push(oEditStateFilterMetadata);
|
|
@@ -308,17 +352,12 @@ sap.ui.define([
|
|
|
308
352
|
var sEntitySet = oController.getOwnerComponent().getEntitySet();
|
|
309
353
|
oEasyFilterMetadataPromise.then((oEasyFilterMetadata) => {
|
|
310
354
|
oEasyFilter.setContextPath(sEntitySet);
|
|
311
|
-
oEasyFilter.setAppId(oController.getOwnerComponent().getAppComponent().getManifestEntry("sap.app")
|
|
355
|
+
oEasyFilter.setAppId(oController.getOwnerComponent().getAppComponent().getManifestEntry("sap.app").id);
|
|
312
356
|
oEasyFilter.setFilterBarMetadata(oEasyFilterMetadata.fields);
|
|
313
357
|
oEasyFilter.easyfilter = oTemplateUtils.oServices.oFioriAIHandler.fioriaiLib.EasyFilter;
|
|
314
358
|
});
|
|
315
359
|
}
|
|
316
360
|
|
|
317
|
-
function fnExecuteSearch(oEvent) {
|
|
318
|
-
var oSmartFilterbar = oState.oSmartFilterbar;
|
|
319
|
-
oSmartFilterbar.search();
|
|
320
|
-
}
|
|
321
|
-
|
|
322
361
|
function fnClearFilters(oEvent) {
|
|
323
362
|
var oSmartFilterbar = oState.oSmartFilterbar;
|
|
324
363
|
oSmartFilterbar.search();
|
|
@@ -430,19 +469,35 @@ sap.ui.define([
|
|
|
430
469
|
}
|
|
431
470
|
}
|
|
432
471
|
|
|
472
|
+
/**
|
|
473
|
+
*
|
|
474
|
+
* This method is called when the variant is loaded in SFB
|
|
475
|
+
* Always set the filterMode to classic when the variant is loaded as the variant filters are not supported in the EasyFilter
|
|
476
|
+
* */
|
|
477
|
+
function fnHandleVariantLoad(oEvent) {
|
|
478
|
+
var oTempModel = oTemplateUtils.oComponentUtils.getTemplatePrivateModel();
|
|
479
|
+
// 'context' is undefined or null when the user switches variant , in this case switch to classic mode
|
|
480
|
+
// other values are "CANCEL" , "RESET" , "SET_VM_ID" , "DATA_SUITE" , "INIT" , "KEY_USER" etc : Do not switch filter mode in these cases
|
|
481
|
+
if (!oEvent.getParameter("context") && oTempModel.getProperty("/listReport/filterMode") !== "classic") {
|
|
482
|
+
var oSmartFilterbar = oState.oSmartFilterbar;
|
|
483
|
+
oTempModel.setProperty("/listReport/filterMode", "classic");
|
|
484
|
+
oSmartFilterbar.setVisible(true);
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
|
|
433
488
|
return {
|
|
434
489
|
getEasyFilterBar : fnGetEasyFilterBar,
|
|
435
490
|
initialiseEasyFilterBar : fnInitialiseEasyFilterBar,
|
|
436
491
|
getSFBVariantData : fnGetSFBVariantData,
|
|
437
492
|
getEasyFilterSearchMetadata : fnGetEasyFilterSearchMetadata,
|
|
438
|
-
onExecuteSearch: fnExecuteSearch,
|
|
439
493
|
onClearFilters: fnClearFilters,
|
|
440
494
|
onAfterQueryProcessing: fnAfterQueryProcessing,
|
|
441
495
|
onBeforeQueryProcessing: fnBeforeQueryProcessing,
|
|
442
496
|
onQueryChanged : fnQueryChanged,
|
|
443
497
|
onTokensChanged: fnTokensChanged,
|
|
444
498
|
onShowValueHelp: fnShowValueHelp,
|
|
445
|
-
onFilterChange : fnOnFilterChange
|
|
499
|
+
onFilterChange : fnOnFilterChange,
|
|
500
|
+
handleVariantLoad : fnHandleVariantLoad
|
|
446
501
|
};
|
|
447
502
|
}
|
|
448
503
|
|
|
@@ -2,10 +2,16 @@ sap.ui.define([
|
|
|
2
2
|
"sap/ui/base/Object",
|
|
3
3
|
"sap/base/util/extend",
|
|
4
4
|
"sap/ui/core/Lib",
|
|
5
|
-
"sap/suite/ui/generic/template/genericUtilities/FeLogger"
|
|
5
|
+
"sap/suite/ui/generic/template/genericUtilities/FeLogger",
|
|
6
|
+
"sap/suite/ui/generic/template/genericUtilities/polyFill"
|
|
6
7
|
], function(BaseObject, extend, Lib, FeLogger) {
|
|
7
8
|
'use strict';
|
|
8
|
-
|
|
9
|
+
// List of AI capabilities that are available in the template
|
|
10
|
+
var aAIIntentMaster = [
|
|
11
|
+
{ name : "summarize", intent : "#IntelligentPrompt-summarize", importURL : "ux/eng/fioriai/reuse/library", localProperty : "isSummarizationEnabled", oEnabledPromise : Promise.withResolvers() },
|
|
12
|
+
{ name : "EasyFilter", intent : "#IntelligentPrompt-filter", importURL : "ux/eng/fioriai/reuse/easyfilter/EasyFilter", localProperty : "isEasyFilterEnabled", oEnabledPromise : Promise.withResolvers() },
|
|
13
|
+
{ name : "ErrorExplanation", intent : "#IntelligentPrompt-explain", importURL : "ux/eng/fioriai/reuse/errorexplanation/ErrorExplanation", localProperty : "isErrorExplanationEnabled", oEnabledPromise : Promise.withResolvers() }
|
|
14
|
+
];
|
|
9
15
|
var sFioriAILibrary = "ux.eng.fioriai.reuse";
|
|
10
16
|
var UShellContainer = sap.ui.require("sap/ushell/Container");
|
|
11
17
|
var oLogger = new FeLogger("lib.ai.FioriAIHandler").getLogger();
|
|
@@ -16,52 +22,42 @@ sap.ui.define([
|
|
|
16
22
|
|
|
17
23
|
function getMethods(oTemplateContract) {
|
|
18
24
|
|
|
19
|
-
var fnResolveInit = null;
|
|
20
|
-
var fnRejectInit = null;
|
|
21
|
-
var oFioriAILoaderPromise = new Promise(function(fnResolve, fnReject) {
|
|
22
|
-
fnResolveInit = fnResolve;
|
|
23
|
-
fnRejectInit = fnReject;
|
|
24
|
-
});
|
|
25
|
-
|
|
26
25
|
/**
|
|
27
26
|
* This method is used to load the Fiori AI library and make the available AI capabilities to the template contract
|
|
28
27
|
*/
|
|
29
28
|
function fnLoadAILibrary() {
|
|
30
29
|
var that = this;
|
|
31
30
|
UShellContainer && UShellContainer.getServiceAsync("Navigation").then(function(oNavigationService) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
that.fioriaiLib.ErrorExplanation = ErrorExplanation;
|
|
42
|
-
|
|
43
|
-
that.isFioriAIEnabled = true;
|
|
44
|
-
// Each AI capability will be enabled separately. Currently there is no separation for beta , but in future it will be
|
|
45
|
-
oTemplateContract.oTemplatePrivateGlobalModel.setProperty("/generic/fioriAI/isSummarizationEnabled", !!sUrl);
|
|
46
|
-
// isEasyFilterEnabled property controls the visibility of the filter bar switch from which the easyfilter can be accessed
|
|
47
|
-
oTemplateContract.oTemplatePrivateGlobalModel.setProperty("/generic/fioriAI/isEasyFilterEnabled", !!sUrl);
|
|
48
|
-
oTemplateContract.oTemplatePrivateGlobalModel.setProperty("/generic/fioriAI/isErrorExplanationEnabled", !!sUrl);
|
|
49
|
-
fnResolveInit();
|
|
31
|
+
aAIIntentMaster.forEach(function(oAIIntent) {
|
|
32
|
+
oNavigationService.resolveIntent(oAIIntent.intent).then(function(sURL) {
|
|
33
|
+
Lib.load({name: sFioriAILibrary , url : sURL }).then(function() {
|
|
34
|
+
sap.ui.require([oAIIntent.importURL
|
|
35
|
+
], function(fioriaiLibImport) {
|
|
36
|
+
oTemplateContract.oTemplatePrivateGlobalModel.setProperty("/generic/fioriAI/" + oAIIntent.localProperty , true);
|
|
37
|
+
that.fioriaiLib[oAIIntent.name] = fioriaiLibImport;
|
|
38
|
+
oAIIntent.oEnabledPromise.resolve();
|
|
39
|
+
});
|
|
50
40
|
});
|
|
41
|
+
}, function() {
|
|
42
|
+
oLogger.warning(oAIIntent.intent + " capability not enabled on this tenant");
|
|
43
|
+
oAIIntent.oEnabledPromise.reject();
|
|
51
44
|
});
|
|
52
|
-
}).catch(function() {
|
|
53
|
-
oLogger.warning("No intelligent capability enabled on the tenant");
|
|
54
|
-
fnRejectInit();
|
|
55
45
|
});
|
|
56
|
-
}
|
|
46
|
+
}).catch(function() {
|
|
47
|
+
oLogger.warning("No Navigation service enabled on the tenant");
|
|
48
|
+
});
|
|
57
49
|
}
|
|
58
50
|
|
|
59
51
|
/**
|
|
60
|
-
*
|
|
52
|
+
* @param {*} sAIIntentName The name of the AI intent
|
|
61
53
|
* @returns Promise which resolves to true if the AI is enabled
|
|
62
54
|
*/
|
|
63
|
-
function fnGetFioriAIEnabledPromise() {
|
|
64
|
-
|
|
55
|
+
function fnGetFioriAIEnabledPromise(sAIIntentName) {
|
|
56
|
+
var oAIIntent;
|
|
57
|
+
oAIIntent = aAIIntentMaster.find(function(oAIIntent) {
|
|
58
|
+
return oAIIntent.name === sAIIntentName;
|
|
59
|
+
});
|
|
60
|
+
return oAIIntent.oEnabledPromise.promise;
|
|
65
61
|
}
|
|
66
62
|
|
|
67
63
|
return {
|
|
@@ -77,7 +73,6 @@ sap.ui.define([
|
|
|
77
73
|
EasyFilter: null,
|
|
78
74
|
ErrorExplanation: null
|
|
79
75
|
};
|
|
80
|
-
this.isFioriAIEnabled = false;
|
|
81
76
|
extend(this, getMethods(oTemplateContract));
|
|
82
77
|
}
|
|
83
78
|
});
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* after deletion can possibly depend on the ui state before the deletion.
|
|
7
7
|
* Promises are used to trigger the after delete action.
|
|
8
8
|
*/
|
|
9
|
-
sap.ui.define(["sap/base/util/extend"], function(extend) {
|
|
9
|
+
sap.ui.define(["sap/base/util/extend", "sap/ui/core/routing/History"], function(extend, History) {
|
|
10
10
|
"use strict";
|
|
11
11
|
|
|
12
12
|
// returns a sparse array that maps the view levels currently active onto the binding parthes currently used for them.
|
|
@@ -105,8 +105,16 @@ sap.ui.define(["sap/base/util/extend"], function(extend) {
|
|
|
105
105
|
function getNavigateAfterDeletionOfCreateDraft(oTemplateContract){
|
|
106
106
|
return function(){
|
|
107
107
|
var bForceFullscreenCreate = oTemplateContract.oTemplatePrivateGlobalModel.getProperty("/generic/forceFullscreenCreate");
|
|
108
|
+
// If "bForceFullscreenCreate" is true, the create page is directly opened through external navigation
|
|
108
109
|
if (bForceFullscreenCreate){
|
|
109
|
-
|
|
110
|
+
// - If back navigation is possible, navigate back to the App where we have come from
|
|
111
|
+
// - Otherwise, the create page is opened on new tab. So, navigate to the root page of current app
|
|
112
|
+
var bBackNavigationPossible = !!History.getInstance().getPreviousHash();
|
|
113
|
+
if (bBackNavigationPossible) {
|
|
114
|
+
oTemplateContract.oNavigationControllerProxy.navigateBack();
|
|
115
|
+
} else {
|
|
116
|
+
fnNavigateToPosition(oTemplateContract, 0);
|
|
117
|
+
}
|
|
110
118
|
} else {
|
|
111
119
|
var aOrderObjectShownAfterDelete = fnGetItemsForDisplayNextObjectAfterDelete(oTemplateContract, true);
|
|
112
120
|
if (aOrderObjectShownAfterDelete){
|