@sapui5/sap.suite.ui.generic.template 1.134.2 → 1.135.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 +2 -2
- package/src/sap/suite/ui/generic/template/.library +1 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ar.properties +4 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_bg.properties +4 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ca.properties +3 -3
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_cnr.properties +2 -2
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_cs.properties +2 -2
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_cy.properties +4 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_da.properties +4 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_de.properties +4 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_el.properties +2 -2
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_en.properties +5 -5
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_en_GB.properties +5 -5
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_en_US_saprigi.properties +5 -5
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_es.properties +3 -3
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_es_MX.properties +2 -2
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_et.properties +3 -3
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_fi.properties +2 -2
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_fr.properties +6 -6
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_fr_CA.properties +4 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_hi.properties +4 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_hr.properties +3 -3
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_hu.properties +4 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_id.properties +4 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_it.properties +4 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_iw.properties +2 -2
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ja.properties +2 -2
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_kk.properties +3 -3
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ko.properties +1 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_lt.properties +5 -5
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_lv.properties +5 -5
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_mk.properties +4 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ms.properties +4 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_nl.properties +2 -2
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_no.properties +3 -3
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_pl.properties +4 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_pt.properties +3 -3
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_pt_PT.properties +4 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ro.properties +5 -5
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ru.properties +4 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sh.properties +2 -2
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sk.properties +2 -2
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sl.properties +4 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sr.properties +2 -2
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sv.properties +4 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_th.properties +4 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_tr.properties +2 -2
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_uk.properties +2 -2
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_vi.properties +4 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_zh_CN.properties +4 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_zh_TW.properties +4 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/util/FilterUtil.js +3 -3
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/view/AnalyticalListPage.view.xml +1 -1
- package/src/sap/suite/ui/generic/template/Canvas/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/Component.js +19 -23
- package/src/sap/suite/ui/generic/template/ListReport/controller/ControllerImplementation.js +73 -57
- package/src/sap/suite/ui/generic/template/ListReport/controller/MultiEditHandler.js +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ar.properties +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_bg.properties +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ca.properties +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cy.properties +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_da.properties +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en.properties +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en_GB.properties +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en_US_saprigi.properties +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_es.properties +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_es_MX.properties +2 -2
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fr_CA.properties +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_id.properties +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_lv.properties +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_no.properties +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ro.properties +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_uk.properties +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_vi.properties +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_zh_TW.properties +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/view/fragments/TitleVariant.fragment.xml +3 -3
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/SectionTitleHandler.js +2 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ar.properties +14 -2
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_bg.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ca.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cnr.properties +14 -2
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cs.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cy.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_da.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_de.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_el.properties +12 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en.properties +15 -3
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_GB.properties +14 -2
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_US_saprigi.properties +14 -2
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_es.properties +14 -2
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_es_MX.properties +16 -4
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_et.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fi.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fr.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fr_CA.properties +12 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hi.properties +12 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hr.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hu.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_id.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_it.properties +15 -3
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_iw.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ja.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_kk.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ko.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_lt.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_lv.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_mk.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ms.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_nl.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_no.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pl.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pt.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pt_PT.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ro.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ru.properties +12 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sh.properties +14 -2
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sk.properties +12 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sl.properties +21 -9
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sr.properties +14 -2
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sv.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_th.properties +12 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_tr.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_uk.properties +14 -2
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_vi.properties +14 -2
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_zh_CN.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_zh_TW.properties +13 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/QuickCreate/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/QuickView/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/designtime/floorplans/ListReport.designtime.js +2 -2
- package/src/sap/suite/ui/generic/template/designtime/floorplans/ObjectPage.designtime.js +4 -5
- package/src/sap/suite/ui/generic/template/detailTemplates/detailUtils.js +29 -0
- package/src/sap/suite/ui/generic/template/fragments/MessageInfluencingCRUDAction.fragment.xml +1 -1
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartFilterBarWrapper.js +88 -59
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartTableChartCommon.js +3 -1
- package/src/sap/suite/ui/generic/template/genericUtilities/filterHelper.js +36 -9
- package/src/sap/suite/ui/generic/template/lib/AppComponent.js +4 -1
- package/src/sap/suite/ui/generic/template/lib/CRUDActionHandler.js +1 -0
- package/src/sap/suite/ui/generic/template/lib/CommonUtils.js +40 -40
- package/src/sap/suite/ui/generic/template/lib/ComponentUtils.js +11 -2
- package/src/sap/suite/ui/generic/template/lib/SideEffectUtil.js +6 -4
- package/src/sap/suite/ui/generic/template/lib/StableIdDefinition.js +9 -1
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ar.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_bg.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ca.properties +6 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cnr.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cs.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cy.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_da.properties +8 -4
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_de.properties +6 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_el.properties +8 -4
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_GB.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saprigi.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es.properties +6 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es_MX.properties +8 -4
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_et.properties +8 -4
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fi.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr.properties +4 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr_CA.properties +5 -1
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hi.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hr.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hu.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_id.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_it.properties +9 -5
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_iw.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ja.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_kk.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ko.properties +5 -1
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lt.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lv.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_mk.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ms.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_nl.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_no.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pl.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt_PT.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ro.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ru.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sh.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sk.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sl.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sr.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sv.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_th.properties +5 -1
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_tr.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_uk.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_vi.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_CN.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_TW.properties +7 -3
- package/src/sap/suite/ui/generic/template/lib/multipleViews/MultipleViewsHandler.js +9 -3
- package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +9 -5
- package/src/sap/suite/ui/generic/template/library.js +1 -1
- package/src/sap/suite/ui/generic/template/listTemplates/controller/IappStateHandler.js +10 -0
- package/src/sap/suite/ui/generic/template/listTemplates/filterSettingsPreparationHelper.js +16 -19
- package/src/sap/suite/ui/generic/template/manifestMerger/AddNewObjectPage.js +5 -1
- package/src/sap/suite/ui/generic/template/themes/base/QuickCreate.less +1 -17
- package/src/sap/suite/ui/generic/template/themes/base/alr_zen.css +0 -9
|
@@ -75,6 +75,18 @@ MSG_DESCRIPTION_COLUMN_VALUE={0}\: {1}
|
|
|
75
75
|
|
|
76
76
|
MSG_DESCRIPTION_COLUMN_VALUE_HIDDEN={0} (\u043F\u0440\u0438\u0445\u043E\u0432\u0430\u043D\u043E)\: {1}
|
|
77
77
|
|
|
78
|
+
MSG_SUBTITLE_DEFAULT_ROW=\u0420\u044F\u0434\u043E\u043A\: {0}
|
|
79
|
+
|
|
80
|
+
MSG_SUBTITLE_DEFAULT_ROW_HIDDEN=\u0420\u044F\u0434\u043E\u043A (\u043F\u0440\u0438\u0445\u043E\u0432\u0430\u043D\u043E)\: {0}
|
|
81
|
+
|
|
82
|
+
MSG_SUBTITLE_DEFAULT_ROW_COLUMN=\u0420\u044F\u0434\u043E\u043A\: {0}, \u0441\u0442\u043E\u0432\u043F\u0447\u0438\u043A\: {1}
|
|
83
|
+
|
|
84
|
+
MSG_SUBTITLE_DEFAULT_ROW_COLUMN_HIDDEN=\u0420\u044F\u0434\u043E\u043A\: {0}, \u0441\u0442\u043E\u0432\u043F\u0447\u0438\u043A (\u043F\u0440\u0438\u0445\u043E\u0432\u0430\u043D\u043E)\: {1}
|
|
85
|
+
|
|
86
|
+
MSG_SUBTITLE_DEFAULT_ROW_HIDDEN_COLUMN=\u0420\u044F\u0434\u043E\u043A (\u043F\u0440\u0438\u0445\u043E\u0432\u0430\u043D\u043E)\: {0}, \u0441\u0442\u043E\u0432\u043F\u0447\u0438\u043A\: {1}
|
|
87
|
+
|
|
88
|
+
MSG_SUBTITLE_DEFAULT_ROW_HIDDEN_COLUMN_HIDDEN=\u0420\u044F\u0434\u043E\u043A (\u043F\u0440\u0438\u0445\u043E\u0432.)\: {0}, \u0441\u0442\u043E\u0432\u043F\u0447\u0438\u043A (\u043F\u0440\u0438\u0445\u043E\u0432.)\: {1}
|
|
89
|
+
|
|
78
90
|
CONTACT_INFO=\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u0430 \u0456\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0456\u044F
|
|
79
91
|
|
|
80
92
|
|
|
@@ -158,9 +170,9 @@ OBJECT_SAVED=\u0412\u0430\u0448\u0456 \u0437\u043C\u0456\u043D\u0438 \u0437\u043
|
|
|
158
170
|
|
|
159
171
|
ITEM_CREATED=\u041F\u043E\u0437\u0438\u0446\u0456\u044F \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u0430
|
|
160
172
|
|
|
161
|
-
WAITING_SMARTTABLE=\u0417\u0430\u0447\u0435\u043A
|
|
173
|
+
WAITING_SMARTTABLE=\u0417\u0430\u0447\u0435\u043A\u0430\u0439\u0442\u0435, \u043F\u043E\u043A\u0438 \u0434\u0430\u043D\u0456 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0443\u044E\u0442\u044C\u0441\u044F.
|
|
162
174
|
|
|
163
|
-
OBJECT_NOT_MODIFIED=\u0412\u0438 \u043D\u0435 \u0432\
|
|
175
|
+
OBJECT_NOT_MODIFIED=\u0412\u0438 \u043D\u0435 \u0432\u043D\u0435\u0441\u043B\u0438 \u0436\u043E\u0434\u043D\u0438\u0445 \u0437\u043C\u0456\u043D.
|
|
164
176
|
|
|
165
177
|
OBJECT_CREATED=\u041E\u0431'\u0454\u043A\u0442 \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u043E.
|
|
166
178
|
|
|
@@ -75,6 +75,18 @@ MSG_DESCRIPTION_COLUMN_VALUE={0}\: {1}
|
|
|
75
75
|
|
|
76
76
|
MSG_DESCRIPTION_COLUMN_VALUE_HIDDEN={0} (B\u1ECB \u1EA9n)\: {1}
|
|
77
77
|
|
|
78
|
+
MSG_SUBTITLE_DEFAULT_ROW=Ha\u0300ng\: {0}
|
|
79
|
+
|
|
80
|
+
MSG_SUBTITLE_DEFAULT_ROW_HIDDEN=Ha\u0300ng (\u00E2\u0309n)\: {0}
|
|
81
|
+
|
|
82
|
+
MSG_SUBTITLE_DEFAULT_ROW_COLUMN=Ha\u0300ng\: {0}, C\u00F4\u0323t \: {1}
|
|
83
|
+
|
|
84
|
+
MSG_SUBTITLE_DEFAULT_ROW_COLUMN_HIDDEN=Ha\u0300ng\: {0}, c\u00F4\u0323t (\u00E2\u0309n)\: {1}
|
|
85
|
+
|
|
86
|
+
MSG_SUBTITLE_DEFAULT_ROW_HIDDEN_COLUMN=Ha\u0300ng (\u00E2\u0309n)\: {0}, c\u00F4\u0323t\: {1}
|
|
87
|
+
|
|
88
|
+
MSG_SUBTITLE_DEFAULT_ROW_HIDDEN_COLUMN_HIDDEN=Ha\u0300ng (\u00E2\u0309n)\: {0}, c\u00F4\u0323t (\u00E2\u0309n)\: {1}
|
|
89
|
+
|
|
78
90
|
CONTACT_INFO=Th\u00F4ng tin li\u00EAn h\u00EA\u0323
|
|
79
91
|
|
|
80
92
|
|
|
@@ -158,9 +170,9 @@ OBJECT_SAVED=Thay \u0111\u00F4\u0309i cu\u0309a ba\u0323n \u0111a\u0303 \u0111\u
|
|
|
158
170
|
|
|
159
171
|
ITEM_CREATED=Mu\u0323c \u0111a\u0303 ta\u0323o
|
|
160
172
|
|
|
161
|
-
WAITING_SMARTTABLE=Vui
|
|
173
|
+
WAITING_SMARTTABLE=Vui l\u00F2ng ch\u1EDD trong khi t\u1EA3i d\u1EEF li\u1EC7u.
|
|
162
174
|
|
|
163
|
-
OBJECT_NOT_MODIFIED=Ba\u0323n
|
|
175
|
+
OBJECT_NOT_MODIFIED=Ba\u0323n ch\u01B0a th\u01B0\u0323c hi\u00EA\u0323n b\u00E2\u0301t ky\u0300 thay \u0111\u00F4\u0309i na\u0300o.
|
|
164
176
|
|
|
165
177
|
OBJECT_CREATED=\u0110a\u0303 ta\u0323o \u0111\u00F4\u0301i t\u01B0\u01A1\u0323ng.
|
|
166
178
|
|
|
@@ -75,6 +75,18 @@ MSG_DESCRIPTION_COLUMN_VALUE={0}\uFF1A{1}
|
|
|
75
75
|
|
|
76
76
|
MSG_DESCRIPTION_COLUMN_VALUE_HIDDEN={0}\uFF08\u9690\u85CF\uFF09\uFF1A{1}
|
|
77
77
|
|
|
78
|
+
MSG_SUBTITLE_DEFAULT_ROW=\u884C\uFF1A{0}
|
|
79
|
+
|
|
80
|
+
MSG_SUBTITLE_DEFAULT_ROW_HIDDEN=\u884C\uFF08\u9690\u85CF\uFF09\uFF1A{0}
|
|
81
|
+
|
|
82
|
+
MSG_SUBTITLE_DEFAULT_ROW_COLUMN=\u884C\uFF1A{0}\uFF0C\u5217\uFF1A{1}
|
|
83
|
+
|
|
84
|
+
MSG_SUBTITLE_DEFAULT_ROW_COLUMN_HIDDEN=\u884C\uFF1A{0}\uFF0C\u5217\uFF08\u9690\u85CF\uFF09\uFF1A{1}
|
|
85
|
+
|
|
86
|
+
MSG_SUBTITLE_DEFAULT_ROW_HIDDEN_COLUMN=\u884C\uFF08\u9690\u85CF\uFF09\uFF1A{0}\uFF0C\u5217\uFF1A{1}
|
|
87
|
+
|
|
88
|
+
MSG_SUBTITLE_DEFAULT_ROW_HIDDEN_COLUMN_HIDDEN=\u884C\uFF08\u9690\u85CF\uFF09\uFF1A{0}\uFF0C\u5217\uFF08\u9690\u85CF\uFF09\uFF1A{1}
|
|
89
|
+
|
|
78
90
|
CONTACT_INFO=\u8054\u7CFB\u4EBA\u4FE1\u606F
|
|
79
91
|
|
|
80
92
|
|
|
@@ -158,7 +170,7 @@ OBJECT_SAVED=\u6240\u505A\u66F4\u6539\u5DF2\u4FDD\u5B58\u3002
|
|
|
158
170
|
|
|
159
171
|
ITEM_CREATED=\u5DF2\u521B\u5EFA\u9879\u76EE
|
|
160
172
|
|
|
161
|
-
WAITING_SMARTTABLE=\u6570\u636E\u52A0\u8F7D\u4E2D\uFF0C\u8BF7\u7A0D\u5019
|
|
173
|
+
WAITING_SMARTTABLE=\u6570\u636E\u52A0\u8F7D\u4E2D\uFF0C\u8BF7\u7A0D\u5019\u3002
|
|
162
174
|
|
|
163
175
|
OBJECT_NOT_MODIFIED=\u5C1A\u672A\u8FDB\u884C\u4EFB\u4F55\u66F4\u6539\u3002
|
|
164
176
|
|
|
@@ -75,6 +75,18 @@ MSG_DESCRIPTION_COLUMN_VALUE={0}\uFF1A{1}
|
|
|
75
75
|
|
|
76
76
|
MSG_DESCRIPTION_COLUMN_VALUE_HIDDEN={0} (\u5DF2\u96B1\u85CF)\uFF1A{1}
|
|
77
77
|
|
|
78
|
+
MSG_SUBTITLE_DEFAULT_ROW=\u5217\uFF1A{0}
|
|
79
|
+
|
|
80
|
+
MSG_SUBTITLE_DEFAULT_ROW_HIDDEN=\u5217 (\u5DF2\u96B1\u85CF)\uFF1A{0}
|
|
81
|
+
|
|
82
|
+
MSG_SUBTITLE_DEFAULT_ROW_COLUMN=\u5217\uFF1A{0}\u3001\u6B04\uFF1A{1}
|
|
83
|
+
|
|
84
|
+
MSG_SUBTITLE_DEFAULT_ROW_COLUMN_HIDDEN=\u5217\uFF1A{0}\u3001\u6B04 (\u5DF2\u96B1\u85CF)\uFF1A{1}
|
|
85
|
+
|
|
86
|
+
MSG_SUBTITLE_DEFAULT_ROW_HIDDEN_COLUMN=\u5217 (\u5DF2\u96B1\u85CF)\uFF1A{0}\u3001\u6B04\uFF1A{1}
|
|
87
|
+
|
|
88
|
+
MSG_SUBTITLE_DEFAULT_ROW_HIDDEN_COLUMN_HIDDEN=\u5217 (\u5DF2\u96B1\u85CF)\uFF1A{0}\u3001\u6B04 (\u5DF2\u96B1\u85CF)\uFF1A{1}
|
|
89
|
+
|
|
78
90
|
CONTACT_INFO=\u806F\u7D61\u4EBA\u8CC7\u8A0A
|
|
79
91
|
|
|
80
92
|
|
|
@@ -158,7 +170,7 @@ OBJECT_SAVED=\u5DF2\u5132\u5B58\u60A8\u7684\u66F4\u6539\u3002
|
|
|
158
170
|
|
|
159
171
|
ITEM_CREATED=\u5DF2\u5EFA\u7ACB\u9805\u76EE
|
|
160
172
|
|
|
161
|
-
WAITING_SMARTTABLE=\u8CC7\u6599\u8F09\u5165\
|
|
173
|
+
WAITING_SMARTTABLE=\u8ACB\u7B49\u5F85\u8CC7\u6599\u8F09\u5165\u3002
|
|
162
174
|
|
|
163
175
|
OBJECT_NOT_MODIFIED=\u60A8\u5C1A\u672A\u9032\u884C\u66F4\u6539\u3002
|
|
164
176
|
|
|
@@ -134,7 +134,7 @@ sap.ui.define([
|
|
|
134
134
|
}
|
|
135
135
|
},
|
|
136
136
|
"sap.ui.comp.smartform.Group": { // used in multiedit dialog
|
|
137
|
-
actions: ["rename", "remove"],
|
|
137
|
+
actions: ["rename", "remove", "annotation"],
|
|
138
138
|
aggregations: {
|
|
139
139
|
formElements: {
|
|
140
140
|
actions: ["add", "move"]
|
|
@@ -142,7 +142,7 @@ sap.ui.define([
|
|
|
142
142
|
}
|
|
143
143
|
},
|
|
144
144
|
"sap.ui.comp.smartform.GroupElement": { // used in multiedit dialog
|
|
145
|
-
actions: ["rename", "remove", "reveal"]
|
|
145
|
+
actions: ["rename", "remove", "reveal", "annotation"]
|
|
146
146
|
},
|
|
147
147
|
"sap.m.MenuButton": { // used for create and create with filters and possibly created by combining of buttons
|
|
148
148
|
actions: ["split", "rename", "remove"]
|
|
@@ -234,7 +234,7 @@ sap.ui.define([
|
|
|
234
234
|
}
|
|
235
235
|
},
|
|
236
236
|
"sap.ui.comp.smartform.Group": { // not documented in allow list, but checked by RTA OPA test
|
|
237
|
-
actions: ["rename", "remove"], // appearantly not checked directly, but indirect (selection of other checked actions by index)
|
|
237
|
+
actions: ["rename", "remove", "annotation"], // appearantly not checked directly, but indirect (selection of other checked actions by index)
|
|
238
238
|
aggregations: {
|
|
239
239
|
formElements: {
|
|
240
240
|
actions: ["add", "move", "remove"]
|
|
@@ -242,7 +242,9 @@ sap.ui.define([
|
|
|
242
242
|
}
|
|
243
243
|
},
|
|
244
244
|
"sap.ui.comp.smartform.GroupElement": { // not documented in allow list, but checked by RTA OPA test
|
|
245
|
-
|
|
245
|
+
// combine/split is meant for grouping smartfield/links in sections
|
|
246
|
+
// annotation is meant for changing text arrangement
|
|
247
|
+
actions: ["rename", "remove", "reveal", "combine", "split", "annotation"]
|
|
246
248
|
},
|
|
247
249
|
"sap.ui.comp.smartvariants.SmartVariantManagement": {
|
|
248
250
|
actions: ["compVariant"] // allows to adapt filters (same as adapt filters for end user)
|
|
@@ -255,9 +257,6 @@ sap.ui.define([
|
|
|
255
257
|
},
|
|
256
258
|
"sap.m.Title": {
|
|
257
259
|
actions: ["rename"]
|
|
258
|
-
},
|
|
259
|
-
"sap.ui.comp.smartfield.SmartField": {
|
|
260
|
-
actions: ["annotation"] // Allows to change text arrangement
|
|
261
260
|
}
|
|
262
261
|
};
|
|
263
262
|
|
|
@@ -216,6 +216,34 @@ sap.ui.define([ "sap/suite/ui/generic/template/genericUtilities/FeLogger", "sap/
|
|
|
216
216
|
oPaginatorButtonsHelper.handleShowPrevObject(oEvent);
|
|
217
217
|
}
|
|
218
218
|
|
|
219
|
+
function fnConstructTitleAdditionalInfo(sTitle, oTemplateContract, oCurrentIdentity) {
|
|
220
|
+
let sObjectTitle, sObjectSubtitle, sHeaderText;
|
|
221
|
+
let oCurrentRegistryEntry = oTemplateContract.componentRegistry[oCurrentIdentity.treeNode.componentId];
|
|
222
|
+
let oTemplatePrivateModel = oCurrentRegistryEntry.utils.getTemplatePrivateModel();
|
|
223
|
+
sObjectTitle = oTemplatePrivateModel.getProperty("/objectPage/headerInfo/objectTitle");
|
|
224
|
+
sObjectSubtitle = oTemplatePrivateModel.getProperty("/objectPage/headerInfo/objectSubtitle");
|
|
225
|
+
let oParentNode = oTemplateContract.mRoutingTree[oCurrentIdentity.treeNode.parentRoute]; //start from the currentNode's parent node
|
|
226
|
+
let aAncestors = [];
|
|
227
|
+
let sSeperator = " - ";
|
|
228
|
+
while (oParentNode.level > 0) { //construct the title only till the main object page
|
|
229
|
+
aAncestors.push(oParentNode.text || oParentNode.headerTitle);
|
|
230
|
+
oParentNode = oTemplateContract.mRoutingTree[oParentNode.parentRoute];
|
|
231
|
+
}
|
|
232
|
+
let sAncestorsTitle = aAncestors.join(" - "); //final string constructed for the breadcrumb
|
|
233
|
+
sObjectSubtitle = sObjectSubtitle ? "(" + sObjectSubtitle + ")" : "";
|
|
234
|
+
if (sObjectTitle && !sObjectSubtitle) {
|
|
235
|
+
sObjectTitle += sSeperator;
|
|
236
|
+
}
|
|
237
|
+
if (sObjectSubtitle) {
|
|
238
|
+
sObjectSubtitle += sSeperator;
|
|
239
|
+
}
|
|
240
|
+
if (sAncestorsTitle && sTitle) {
|
|
241
|
+
sAncestorsTitle += sSeperator;
|
|
242
|
+
}
|
|
243
|
+
sHeaderText = `${sObjectTitle} ${sObjectSubtitle} ${sAncestorsTitle} ${sTitle}`;
|
|
244
|
+
return {headerText : sHeaderText};
|
|
245
|
+
}
|
|
246
|
+
|
|
219
247
|
// Expose selected private functions to unit tests
|
|
220
248
|
/* eslint-disable */
|
|
221
249
|
var fnGetHashChangerInstance = testableHelper.testable(fnGetHashChangerInstance, "getHashChangerInstance");
|
|
@@ -259,6 +287,7 @@ sap.ui.define([ "sap/suite/ui/generic/template/genericUtilities/FeLogger", "sap/
|
|
|
259
287
|
};
|
|
260
288
|
}
|
|
261
289
|
};
|
|
290
|
+
oTemplateUtils.oServices.oTemplateCapabilities.fnConstructTitleAdditionalInfo = fnConstructTitleAdditionalInfo;
|
|
262
291
|
},
|
|
263
292
|
handlers: {
|
|
264
293
|
handleShowNextObject: handleShowNextObject,
|
package/src/sap/suite/ui/generic/template/fragments/MessageInfluencingCRUDAction.fragment.xml
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<customHeader>
|
|
14
14
|
<Bar>
|
|
15
15
|
<contentMiddle>
|
|
16
|
-
<
|
|
16
|
+
<Title level="H1" text="{model>/title}"/>
|
|
17
17
|
</contentMiddle>
|
|
18
18
|
<contentLeft>
|
|
19
19
|
<Button icon="sap-icon://nav-back" visible="{model>/backbtnvisibility}" press="onBackButtonPress" tooltip="{i18n>BACK}" />
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
sap.ui.define([
|
|
2
|
-
|
|
2
|
+
"sap/ui/model/FilterOperator"
|
|
3
|
+
], function (FilterOperator) {
|
|
3
4
|
"use strict";
|
|
4
5
|
|
|
5
6
|
|
|
@@ -13,12 +14,12 @@ sap.ui.define([
|
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* Constructor for SmartFilterBarWrapper
|
|
16
|
-
* @param {sap.ui.comp.smartfilterbar.SmartFilterBar} vTarget - The SmartFilterBar control
|
|
17
|
+
* @param {sap.ui.comp.smartfilterbar.SmartFilterBar} vTarget - The SmartFilterBar control
|
|
17
18
|
* or the Id of control for which this wrapper is created
|
|
18
19
|
* @param {object} oFactory - the controlStateWrapperFactory
|
|
19
|
-
* @param {object} mParams
|
|
20
|
+
* @param {object} mParams
|
|
20
21
|
* @param {Object} mParams.oCustomFiltersWrapper - wrapper for custom filters (from SFB point of view)
|
|
21
|
-
* (currently containing: generic (currently only editState), app extension, and adaptation extension - but this is knowledge of LR, i.e. of iAppStateHandler, not of SFB)
|
|
22
|
+
* (currently containing: generic (currently only editState), app extension, and adaptation extension - but this is knowledge of LR, i.e. of iAppStateHandler, not of SFB)
|
|
22
23
|
* @returns {object}
|
|
23
24
|
* @alias sap.suite.ui.generic.template.genericUtilities.controlStateWrapperFactory.SmartFilterBarWrapper
|
|
24
25
|
*/
|
|
@@ -35,10 +36,10 @@ sap.ui.define([
|
|
|
35
36
|
if (typeof vTarget !== "string") {
|
|
36
37
|
fnSetControl(vTarget);
|
|
37
38
|
}
|
|
38
|
-
|
|
39
|
-
// Filters visible initially (after initialization). Stored here to be
|
|
40
|
-
// able to compare with currently visible ones to identify added and
|
|
41
|
-
// removed ones without need to instantiate all possible filter items
|
|
39
|
+
|
|
40
|
+
// Filters visible initially (after initialization). Stored here to be
|
|
41
|
+
// able to compare with currently visible ones to identify added and
|
|
42
|
+
// removed ones without need to instantiate all possible filter items
|
|
42
43
|
// (which would harm performance). Can only be retrieved in initialized event.
|
|
43
44
|
oControlAssignedPromise.then(function () {
|
|
44
45
|
oSmartFilterBar.getInitializedPromise().then(function () {
|
|
@@ -55,7 +56,7 @@ sap.ui.define([
|
|
|
55
56
|
function setSVMWrapperCallbacks(oSVMWrapperCallbacks){
|
|
56
57
|
// Before saving the current state as a new variant, we need to provide all state data of controls controlled by VM, but not known to it with setCustomFilterData. From a
|
|
57
58
|
// logical point of view, the event (beforeVariantFetch) as well as the method to store the extension data (setCustomFilterData) belong to SVM, but both are implemented
|
|
58
|
-
// in SFB. Additionally, beforeVariantSave would actually be the name more logical to the consumer, however that name had been used earlier and was deprecated and
|
|
59
|
+
// in SFB. Additionally, beforeVariantSave would actually be the name more logical to the consumer, however that name had been used earlier and was deprecated and
|
|
59
60
|
// replaced by the given one. Fetch actually does not mean to fetch variant content from the place variants are stored, but to get the current state from the controls!
|
|
60
61
|
oSmartFilterBar.attachBeforeVariantFetch(function(){
|
|
61
62
|
var oCustomData = Object.create(null);
|
|
@@ -63,14 +64,14 @@ sap.ui.define([
|
|
|
63
64
|
oCustomData[dataPropertyNameGeneric].customFilters = mParams.oCustomFiltersWrapper.getState();
|
|
64
65
|
oSmartFilterBar.setCustomFilterData(oCustomData);
|
|
65
66
|
});
|
|
66
|
-
|
|
67
|
+
|
|
67
68
|
// When a variant is loaded, correspondingly we have to get the customData and apply the states to the controls not known to SVM. Again, event and method are implemented
|
|
68
69
|
// in SFB instead of SVM where it would make more sense.
|
|
69
70
|
// Here the event is afterVariantLoad, as the variant content known to SVM/SFB has first to be applied to the SFB, which will also pass the custom data accordingly. Only
|
|
70
|
-
// after this has happened, we can get the custom data from SFB.
|
|
71
|
+
// after this has happened, we can get the custom data from SFB.
|
|
71
72
|
oSmartFilterBar.attachAfterVariantLoad(function(oEvent){
|
|
72
73
|
var oCustomData = oSmartFilterBar.getCustomFilterData();
|
|
73
|
-
// variant stored with 1.103 or later: all customFilter data stored in property customFilters
|
|
74
|
+
// variant stored with 1.103 or later: all customFilter data stored in property customFilters
|
|
74
75
|
// legacy variant stored with 1.102 or earlier: customFilters (from storing point of view) separated according to their origin
|
|
75
76
|
var oCustomFiltersState = oCustomData[dataPropertyNameGeneric].customFilters || {
|
|
76
77
|
editState: oCustomData[dataPropertyNameGeneric].editStateFilter,
|
|
@@ -90,48 +91,76 @@ sap.ui.define([
|
|
|
90
91
|
|
|
91
92
|
function fnGetNavigationProperties() {
|
|
92
93
|
//Fetch the navigation properties
|
|
93
|
-
|
|
94
|
+
const oMetaModel = oSmartFilterBar.getModel().getMetaModel(),
|
|
94
95
|
sEntitySet = oSmartFilterBar.getEntitySet(),
|
|
95
96
|
oDataEntitySet = oMetaModel.getODataEntitySet(sEntitySet),
|
|
96
97
|
oDataEntityType = oMetaModel.getODataEntityType(oDataEntitySet.entityType),
|
|
97
|
-
|
|
98
|
-
aAddedNavigationProperties = [];
|
|
98
|
+
aNavigationProperties = oDataEntityType['navigationProperty'];
|
|
99
99
|
//Fetch the added filters in the current variant
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
if (oCurrentVariant
|
|
105
|
-
|
|
100
|
+
const sCurrentVariantID = oSmartFilterBar.getVariantManagement().getCurrentVariantId(),
|
|
101
|
+
oCurrentVariant = oSmartFilterBar.getVariantManagement().getAllVariants().find(function(variant) {
|
|
102
|
+
return variant.getId() === sCurrentVariantID;
|
|
103
|
+
});
|
|
104
|
+
if (!oCurrentVariant
|
|
105
|
+
|| !oCurrentVariant.getContent()
|
|
106
|
+
|| !oCurrentVariant.getContent().searchListReportVariant
|
|
107
|
+
|| !oCurrentVariant.getContent().searchListReportVariant.filterBarVariant
|
|
108
|
+
|| !aNavigationProperties
|
|
109
|
+
|| !aNavigationProperties.length
|
|
110
|
+
) {
|
|
111
|
+
return [];
|
|
106
112
|
}
|
|
107
|
-
|
|
113
|
+
const oManifestNavigationProperties = oSmartFilterBar.getNavigationProperties() ?
|
|
114
|
+
oSmartFilterBar.getNavigationProperties().split(",").reduce(function(accumulator, currentValue){
|
|
115
|
+
accumulator[currentValue] = true;
|
|
116
|
+
return accumulator;
|
|
117
|
+
}, {}) : {},
|
|
118
|
+
oNavigationProperties = aNavigationProperties.reduce(function(accumulator, currentValue){
|
|
119
|
+
accumulator[currentValue.name] = true;
|
|
120
|
+
return accumulator;
|
|
121
|
+
}, {}),
|
|
122
|
+
oSmartFilterBarVariant = JSON.parse(oCurrentVariant.getContent().searchListReportVariant.filterBarVariant),
|
|
123
|
+
aMissing = [];
|
|
108
124
|
delete oSmartFilterBarVariant["_CUSTOM"];
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
125
|
+
|
|
126
|
+
// Compare the filter source and navigation properties
|
|
127
|
+
// Take into account if parameter is already specified in page setting in manifest.json - settings->filterSettings->navigationProperties
|
|
128
|
+
// If parameter exist in navigationProperties -> SFB will handle specific parameter and code ignore it
|
|
129
|
+
for (const sFilterKey in oSmartFilterBarVariant) {
|
|
130
|
+
const sParamName = sFilterKey.split(".")[0]; // take first part from navigation parameter. Example: to_Currency.Currency_Code -> to_Currency
|
|
131
|
+
if (!oNavigationProperties[sParamName] || oManifestNavigationProperties[sParamName]
|
|
132
|
+
) {
|
|
133
|
+
// Parameter is
|
|
134
|
+
// 1) not navigation property -> we don't process it
|
|
135
|
+
// 2) is defined in manifest.json - settings->filterSettings->navigationProperties -> value will be handled by SFB
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
if (oSmartFilterBarVariant[sFilterKey].items && oSmartFilterBarVariant[sFilterKey].items.length) {
|
|
139
|
+
aMissing.push(oSmartFilterBarVariant[sFilterKey].items.map(function(entry) {
|
|
140
|
+
return {
|
|
141
|
+
exclude: false,
|
|
142
|
+
field: sFilterKey,
|
|
143
|
+
operation: FilterOperator.EQ,
|
|
144
|
+
value1: entry.key
|
|
145
|
+
};
|
|
146
|
+
}));
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
if (oSmartFilterBarVariant[sFilterKey].ranges && oSmartFilterBarVariant[sFilterKey].ranges.length) {
|
|
150
|
+
aMissing.push(oSmartFilterBarVariant[sFilterKey].ranges.map(function(entry) {
|
|
151
|
+
return {
|
|
152
|
+
exclude: entry.exclude,
|
|
153
|
+
field: entry.keyField,
|
|
154
|
+
operation: entry.operation,
|
|
155
|
+
value1: entry.value1,
|
|
156
|
+
value2: entry.value2
|
|
157
|
+
};
|
|
158
|
+
}));
|
|
119
159
|
}
|
|
120
160
|
}
|
|
121
|
-
|
|
122
|
-
//Compare the manifest property with the filter source
|
|
123
|
-
var oManifestNavigationProperties = oSmartFilterBar.getNavigationProperties() || [];
|
|
124
|
-
var missingNavProperty = aMatchedRanges.filter(function(item) {
|
|
125
|
-
var sKeyField = item[0].keyField.split('.')[0];
|
|
126
|
-
return !oManifestNavigationProperties.includes(sKeyField);
|
|
127
|
-
});
|
|
128
|
-
if (missingNavProperty.length) {
|
|
129
|
-
aAddedNavigationProperties = aMatchedRanges;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
return aAddedNavigationProperties;
|
|
161
|
+
return aMissing;
|
|
133
162
|
}
|
|
134
|
-
|
|
163
|
+
|
|
135
164
|
function fnGetState() {
|
|
136
165
|
if (!oSmartFilterBar) {
|
|
137
166
|
return oPreliminaryState;
|
|
@@ -147,14 +176,14 @@ sap.ui.define([
|
|
|
147
176
|
// added/removedFilterItems: selectOptions only contains values/ranges, not the information, whether the filter should be shown directly ("visibleInFilterBar"). SFB just assumes any items to
|
|
148
177
|
// be shown that contain values (plus those shown per default), which is wrong in two directions: items made visible but without a value are missed, items with a value, but not shown are
|
|
149
178
|
// added additionally
|
|
150
|
-
// Remark:
|
|
179
|
+
// Remark:
|
|
151
180
|
// - When saving as variant, the information seems to be passed to VM directly - but for appState, it would still be missing
|
|
152
181
|
// - Storing added (not in BASIC group but made visible by user) and removed (the other way round) separately to not disconnect the user (using e.g. a saved tile) from future changes
|
|
153
182
|
// in the application (e.g. adding a new property to selection fields)
|
|
154
183
|
// (Remark: old logic (see iAppStateHandler.getByDefaultNonVisibleCustomFilterNames) seems to provide this data only for custom fields. Assumption: Even in VM it was only available for
|
|
155
184
|
// standard fields some time back - now, this seems to be solved from SFB/SVM, but still it's missing for appState)
|
|
156
185
|
var oSelectOptions = oUiState.getSelectionVariant().SelectOptions; // again, data contained in SelectionVaraint is only partly relevant
|
|
157
|
-
// In beforeVariantFetch we need to provide the custom (from SVMs point of view) control's state data to the SFB. However, SFB also tries to interpret this data as
|
|
186
|
+
// In beforeVariantFetch we need to provide the custom (from SVMs point of view) control's state data to the SFB. However, SFB also tries to interpret this data as
|
|
158
187
|
// name-value pairs (implicitly stringifying them and assuming name to be a name of a filter), thus whenever the beforeVariantFetch has occured before getting the state
|
|
159
188
|
// here, the selectionVariant contains a superfluous select option for the property sap.suite.ui.generic.template.genericData (filtering for the value [object Object]).
|
|
160
189
|
// Note: beforeVariantFetch is even called on initial startup, i.e. without explicetly removing it, the superfluous select option would always be there.
|
|
@@ -182,11 +211,11 @@ sap.ui.define([
|
|
|
182
211
|
|
|
183
212
|
function fnSetState(oState) {
|
|
184
213
|
// Don't cause side effects (filter change event), if setting state is no real change.
|
|
185
|
-
// If this comparison fails for state that actually are identically, maybe it needs to be enhanced (e.g. ignoring order in some arrays might be needed)
|
|
214
|
+
// If this comparison fails for state that actually are identically, maybe it needs to be enhanced (e.g. ignoring order in some arrays might be needed)
|
|
186
215
|
if (JSON.stringify(oState) === JSON.stringify(fnGetState())){
|
|
187
216
|
return;
|
|
188
217
|
}
|
|
189
|
-
|
|
218
|
+
|
|
190
219
|
bIsApplying = true;
|
|
191
220
|
oPreliminaryState = oState;
|
|
192
221
|
|
|
@@ -200,16 +229,16 @@ sap.ui.define([
|
|
|
200
229
|
oUiState.getSelectionVariant().SelectOptions = oPreliminaryState && oPreliminaryState.selectOptions;
|
|
201
230
|
oUiState.getSelectionVariant().Parameters = oPreliminaryState && oPreliminaryState.parameters;
|
|
202
231
|
oUiState.setSemanticDates(oPreliminaryState && oPreliminaryState.semanticDates);
|
|
203
|
-
// setState is meant to set the state absolutely, no merge needed => replace and strictMode can be set to true.
|
|
232
|
+
// setState is meant to set the state absolutely, no merge needed => replace and strictMode can be set to true.
|
|
204
233
|
// (replace=false can be used to set additional selectOptions but keeping the existing ones. strictMode=false is used to map filters to parameters. Both might make sense in navigation
|
|
205
|
-
// scenarios (navigation parameter to be merged with defaults, property used in source app as filter but in target as parameter), but not when just restoring to a state (provided from the
|
|
234
|
+
// scenarios (navigation parameter to be merged with defaults, property used in source app as filter but in target as parameter), but not when just restoring to a state (provided from the
|
|
206
235
|
// same control))
|
|
207
236
|
oSmartFilterBar.setUiState(oUiState, {replace: true, strictMode: true});
|
|
208
237
|
|
|
209
238
|
mParams.oCustomFiltersWrapper.setState(oPreliminaryState && oPreliminaryState.customFilters);
|
|
210
|
-
|
|
239
|
+
|
|
211
240
|
// set visibility
|
|
212
|
-
// TODO:
|
|
241
|
+
// TODO:
|
|
213
242
|
// - How to deal with old states (not containing all information about visibility) -> legacy state handler?
|
|
214
243
|
// - restoring from old state when annotation has changed (new selection fields)?
|
|
215
244
|
oSmartFilterBar.getAllFilterItems().forEach(function(oFilterItem){
|
|
@@ -261,7 +290,7 @@ sap.ui.define([
|
|
|
261
290
|
});
|
|
262
291
|
// unclear, whether this is needed, or filterChange event is anyway raised again (after dialog is closed)
|
|
263
292
|
oSmartFilterBar.attachFiltersDialogClosed(handleStateChanged);
|
|
264
|
-
|
|
293
|
+
|
|
265
294
|
// do we need to provide and handle change events from custom filters?
|
|
266
295
|
// contra:
|
|
267
296
|
// - SFB raises filteChange event also for custom filters
|
|
@@ -272,7 +301,7 @@ sap.ui.define([
|
|
|
272
301
|
// - existing method in extensionAPI (onCustomAppStateChange)
|
|
273
302
|
mParams.oCustomFiltersWrapper.attachStateChanged(function(){
|
|
274
303
|
handleStateChanged();
|
|
275
|
-
// When a custom filter value is changed by the user, not only the appState changes, but also the variant needs to be marked as dirty. For some known controls, this is
|
|
304
|
+
// When a custom filter value is changed by the user, not only the appState changes, but also the variant needs to be marked as dirty. For some known controls, this is
|
|
276
305
|
// handled from the SFB (which informs the SVM directly). This logic is broken from architectural point of view, as it does not allow to use arbitrary own controls for
|
|
277
306
|
// extension filters (which is the general idea of an extension).
|
|
278
307
|
// However, when user selects a variant, custom filters also have to be restored, but that must not mark the selected variant as dirty. Ideally, this should be handled
|
|
@@ -293,13 +322,13 @@ sap.ui.define([
|
|
|
293
322
|
function fnGetMissingNavProperties() {
|
|
294
323
|
return aMissingNavFilters;
|
|
295
324
|
}
|
|
296
|
-
|
|
325
|
+
|
|
297
326
|
// check waiting for initialization (like in SmartTableWrapper/SmartChartWrapper)
|
|
298
327
|
// currently, whole appState restoring is waiting for initialized event from sfb - but probably it would be enough to wait for it here
|
|
299
328
|
fnInitialize();
|
|
300
|
-
|
|
329
|
+
|
|
301
330
|
return {
|
|
302
|
-
// generic properties (provided by all state wrappers)
|
|
331
|
+
// generic properties (provided by all state wrappers)
|
|
303
332
|
getState: fnGetState,
|
|
304
333
|
setState: fnSetState,
|
|
305
334
|
setControl: fnSetControl,
|
|
@@ -307,7 +336,7 @@ sap.ui.define([
|
|
|
307
336
|
// specific properties (needed to workaround direct connection between SFB and SVM)
|
|
308
337
|
setSVMWrapperCallbacks: setSVMWrapperCallbacks,
|
|
309
338
|
bVMConnection: oSmartFilterBar.getSmartVariant(),
|
|
310
|
-
suppressSelection: oSmartFilterBar.setSuppressSelection.bind(oSmartFilterBar), // if multiple reasons for suppressing overlap, a counter (to avoid to early resume) could be implemented here
|
|
339
|
+
suppressSelection: oSmartFilterBar.setSuppressSelection.bind(oSmartFilterBar), // if multiple reasons for suppressing overlap, a counter (to avoid to early resume) could be implemented here
|
|
311
340
|
getMissingNavProperties: fnGetMissingNavProperties
|
|
312
341
|
};
|
|
313
342
|
}
|
|
@@ -36,7 +36,8 @@ sap.ui.define([
|
|
|
36
36
|
return {
|
|
37
37
|
oUiState: {
|
|
38
38
|
oPresentationVariant: oUiState.getPresentationVariant(),
|
|
39
|
-
oSelectionVariant: oUiState.getSelectionVariant()
|
|
39
|
+
oSelectionVariant: oUiState.getSelectionVariant(),
|
|
40
|
+
oTableSettings: oUiState.getTableSettings()
|
|
40
41
|
}
|
|
41
42
|
};
|
|
42
43
|
}
|
|
@@ -56,6 +57,7 @@ sap.ui.define([
|
|
|
56
57
|
if (!oUiState.getProperty("variantName")){
|
|
57
58
|
oUiState.setPresentationVariant(oState.oUiState.oPresentationVariant);
|
|
58
59
|
oUiState.setSelectionVariant(oState.oUiState.oSelectionVariant);
|
|
60
|
+
oUiState.setTableSettings(oState.oUiState.oTableSettings);
|
|
59
61
|
oControl.setUiState(oUiState);
|
|
60
62
|
}
|
|
61
63
|
bIsApplying = false;
|
|
@@ -10,6 +10,18 @@ sap.ui.define([
|
|
|
10
10
|
], function (FilterOperator, DateFormat, encodeURL, DynamicDateUtil, metadataAnalyser, CalendarType, testableHelper,Filter) {
|
|
11
11
|
"use strict";
|
|
12
12
|
|
|
13
|
+
const aNegateOperationsMapping = {
|
|
14
|
+
[FilterOperator.EQ]: FilterOperator.NE,
|
|
15
|
+
[FilterOperator.GE]: FilterOperator.LT,
|
|
16
|
+
[FilterOperator.LT]: FilterOperator.GE,
|
|
17
|
+
[FilterOperator.LE]: FilterOperator.GT,
|
|
18
|
+
[FilterOperator.GT]: FilterOperator.LE,
|
|
19
|
+
[FilterOperator.BT]: FilterOperator.NB,
|
|
20
|
+
[FilterOperator.Contains]: FilterOperator.NotContains,
|
|
21
|
+
[FilterOperator.StartsWith]: FilterOperator.NotStartsWith,
|
|
22
|
+
[FilterOperator.EndsWith]: FilterOperator.NotEndsWith
|
|
23
|
+
};
|
|
24
|
+
|
|
13
25
|
function getInfoForFilters(aFilters, getFilterInfoForPropertyFilters, bAnd){
|
|
14
26
|
var mPropertyFilters = Object.create(null);
|
|
15
27
|
var aInfosForFilters = [];
|
|
@@ -39,7 +51,7 @@ sap.ui.define([
|
|
|
39
51
|
}
|
|
40
52
|
if (aInfosForFilters.length === 0 ){
|
|
41
53
|
return null;
|
|
42
|
-
}
|
|
54
|
+
}
|
|
43
55
|
if (aInfosForFilters.length === 1){
|
|
44
56
|
return aInfosForFilters[0];
|
|
45
57
|
}
|
|
@@ -60,11 +72,11 @@ sap.ui.define([
|
|
|
60
72
|
// The interface of this function should be as follows:
|
|
61
73
|
// sProperty defines the common property all atomic filters to be handled refer to
|
|
62
74
|
// aFiltersForProperty is an array of atomic filters all referring to that property
|
|
63
|
-
// sLogicalOperator is the logical operator ('and' or 'or') these filters should be combined with.
|
|
75
|
+
// sLogicalOperator is the logical operator ('and' or 'or') these filters should be combined with.
|
|
64
76
|
// If aFiltersForProperty contains only one filter this parameter will be the empty string.
|
|
65
77
|
// The expected return value is an object containing two properties:
|
|
66
78
|
// - stringRep: The string representation of the given filters
|
|
67
|
-
// - logicalOperator: The topmost logical operator ('and' or 'or') that was used to create stringRep.
|
|
79
|
+
// - logicalOperator: The topmost logical operator ('and' or 'or') that was used to create stringRep.
|
|
68
80
|
// In case no logical operator is used on top most level it should be faulty
|
|
69
81
|
function getFilterString(aFilters, getFilterInfoForPropertyFilters) {
|
|
70
82
|
var oFilterInfo = getInfoForFilters(aFilters, getFilterInfoForPropertyFilters, true);
|
|
@@ -187,7 +199,7 @@ sap.ui.define([
|
|
|
187
199
|
* @param {object} oParams - It contains information like (Model/EntityType/FilterData/bIsStatic),
|
|
188
200
|
* Here bIsStatic is subject to change from false to true whenever application uses custom sematic date
|
|
189
201
|
* @param {String} sProperty - property name of the filter field from SFB
|
|
190
|
-
* @param {Array} aFiltersForProperty - filter operator of field from SFB
|
|
202
|
+
* @param {Array} aFiltersForProperty - filter operator of field from SFB
|
|
191
203
|
* @param {String} sLogicalOperator - logical operator (and/or) betweem each filter item.
|
|
192
204
|
* @returns {string} - return combination of filters as a string.
|
|
193
205
|
*/
|
|
@@ -265,7 +277,7 @@ sap.ui.define([
|
|
|
265
277
|
|
|
266
278
|
/**
|
|
267
279
|
* function wraps the table level filters into single filter object
|
|
268
|
-
* This is done to follow the same format as SFB and chart filters
|
|
280
|
+
* This is done to follow the same format as SFB and chart filters
|
|
269
281
|
* returns the updated aFilters
|
|
270
282
|
* @param {Array} aFilters - It contains all the filters applied (in SFB , chart or table level filters)
|
|
271
283
|
* @returns {Array} - returns array containing all the filters applied including the table filters wrapped as single filter object similar to SFB and chart filters
|
|
@@ -284,7 +296,7 @@ sap.ui.define([
|
|
|
284
296
|
}
|
|
285
297
|
});
|
|
286
298
|
|
|
287
|
-
if (aTableFilters && aTableFilters.length
|
|
299
|
+
if (aTableFilters && aTableFilters.length) {
|
|
288
300
|
//Grouping the table level filters based on sPath
|
|
289
301
|
var aGroupedTableFilters = aTableFilters.reduce(
|
|
290
302
|
(aGroupedFilters, oCurrentfilter) => {
|
|
@@ -348,10 +360,25 @@ sap.ui.define([
|
|
|
348
360
|
sFilterParams = oParams.bIsStatic ? "" : sFilterParams;
|
|
349
361
|
return sFilterParams;
|
|
350
362
|
}
|
|
363
|
+
|
|
364
|
+
/**
|
|
365
|
+
* Transforms operation for exclude
|
|
366
|
+
* @private
|
|
367
|
+
* @static
|
|
368
|
+
* @param {string} sOperation the input operation
|
|
369
|
+
* @returns {string} negated operation
|
|
370
|
+
*/
|
|
371
|
+
function fnNegateOperation(sOperation) {
|
|
372
|
+
return aNegateOperationsMapping[sOperation] || sOperation;
|
|
373
|
+
}
|
|
374
|
+
|
|
351
375
|
testableHelper.testableStatic(getFilterInfoForPropertyFilters, "filterHelper_getFilterInfoForPropertyFilters");
|
|
352
376
|
testableHelper.testableStatic(getFilterString, "filterHelper_getFilterString");
|
|
353
377
|
testableHelper.testableStatic(fnNormaliseControlFilters, "filterHelper_fnNormaliseControlFilters");
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
378
|
+
|
|
379
|
+
return {
|
|
380
|
+
getFilterParams: getFilterParams,
|
|
381
|
+
fnNormaliseControlFilters: fnNormaliseControlFilters,
|
|
382
|
+
negateOperation: fnNegateOperation
|
|
383
|
+
};
|
|
357
384
|
});
|