@sapui5/sap.suite.ui.generic.template 1.153.0 → 1.154.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/controller/ControllerImplementation.js +31 -2
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n.properties +7 -2
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ar.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_bg.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ca.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_cnr.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_cs.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_cy.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_da.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_de.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_el.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_en.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_en_GB.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_en_US_sappsd.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_en_US_saprigi.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_es.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_es_MX.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_et.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_fi.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_fr.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_fr_CA.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_hi.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_hr.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_hu.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_id.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_it.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_iw.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ja.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_kk.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ko.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_lt.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_lv.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_mk.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ms.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_nl.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_no.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_pl.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_pt.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_pt_PT.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ro.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_ru.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sh.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sk.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sl.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sr.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_sv.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_th.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_tr.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_uk.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_vi.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_zh_CN.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_zh_TW.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/manifest.json +8 -3
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/view/fragments/FilterContainer.fragment.xml +2 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/view/fragments/HeaderCommands.fragment.xml +1 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/view/fragments/SmartFilterBar.fragment.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 +25 -1
- package/src/sap/suite/ui/generic/template/ListReport/controller/ControllerImplementation.js +122 -20
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n.properties +6 -3
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ar.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_bg.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ca.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cnr.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cs.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_cy.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_da.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_de.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_el.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en.properties +3 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en_GB.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en_US_sappsd.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_en_US_saprigi.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_es.properties +3 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_es_MX.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_et.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fi.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fr.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fr_CA.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_hi.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_hr.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_hu.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_id.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_it.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_iw.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ja.properties +4 -2
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_kk.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ko.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_lt.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_lv.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_mk.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ms.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_nl.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_no.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_pl.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_pt.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_pt_PT.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ro.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ru.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sh.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sk.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sl.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sr.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_sv.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_th.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_tr.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_uk.properties +3 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_vi.properties +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_zh_CN.properties +4 -2
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_zh_TW.properties +5 -3
- package/src/sap/suite/ui/generic/template/ListReport/manifest.json +7 -2
- package/src/sap/suite/ui/generic/template/ListReport/view/fragments/HeaderCommands.fragment.xml +21 -15
- package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartFilterBar.fragment.xml +1 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/Component.js +0 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/ControllerImplementation.js +87 -36
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/SectionTitleHandler.js +1 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n.properties +6 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ar.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_bg.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ca.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cnr.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cs.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cy.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_da.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_de.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_el.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_GB.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_US_sappsd.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_US_saprigi.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_es.properties +5 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_es_MX.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_et.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fi.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fr.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fr_CA.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hi.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hr.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hu.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_id.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_it.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_iw.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ja.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_kk.properties +30 -26
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ko.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_lt.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_lv.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_mk.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ms.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_nl.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_no.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pl.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pt.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pt_PT.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ro.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ru.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sh.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sk.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sl.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sr.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sv.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_th.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_tr.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_uk.properties +8 -4
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_vi.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_zh_CN.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_zh_TW.properties +8 -4
- package/src/sap/suite/ui/generic/template/ObjectPage/manifest.json +13 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/templateSpecificPreparationHelper.js +2 -2
- package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/Actions.fragment.xml +1 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/PageLevelCommands.fragment.xml +2 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartTableUiTableCommons.fragment.xml +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/controls/DynamicPage.designtime.js +39 -3
- package/src/sap/suite/ui/generic/template/designtime/controls/ObjectPageLayout.designtime.js +39 -5
- package/src/sap/suite/ui/generic/template/designtime/controls/SmartTable.designtime.js +17 -0
- package/src/sap/suite/ui/generic/template/detailTemplates/detailUtils.js +3 -2
- package/src/sap/suite/ui/generic/template/detailTemplates/i18n/i18n_es.properties +1 -1
- package/src/sap/suite/ui/generic/template/fragments/EasyFilter.fragment.xml +1 -0
- package/src/sap/suite/ui/generic/template/fragments/SmartTableUiTableCommons.fragment.xml +1 -0
- package/src/sap/suite/ui/generic/template/fragments/TableColumnListItem.fragment.xml +3 -0
- package/src/sap/suite/ui/generic/template/genericUtilities/controlHelper.js +3 -0
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartTableChartCommon.js +7 -0
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartVariantManagementWrapper.js +35 -43
- package/src/sap/suite/ui/generic/template/lib/AppComponent.js +20 -15
- package/src/sap/suite/ui/generic/template/lib/CommonEventHandlers.js +69 -0
- package/src/sap/suite/ui/generic/template/lib/CommonUtils.js +32 -1
- package/src/sap/suite/ui/generic/template/lib/ContextMenuHandler.js +45 -2
- package/src/sap/suite/ui/generic/template/lib/MessageUtils.js +1 -0
- package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillAIOrchestrator.js +127 -8
- package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillApplyHandler.js +9 -1
- package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillDialogController.js +234 -13
- package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillFileHandler.js +218 -0
- package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillFormRenderer.js +6 -2
- package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillHandler.js +162 -5
- package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/fragments/EasyFillDialog.fragment.xml +193 -30
- package/src/sap/suite/ui/generic/template/lib/ai/EasyFilterBarHandler.js +581 -26
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n.properties +60 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ar.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_bg.properties +43 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ca.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cnr.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cs.properties +40 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cy.properties +44 -4
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_da.properties +44 -4
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_de.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_el.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en.properties +40 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_GB.properties +40 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_sappsd.properties +40 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saprigi.properties +40 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es.properties +44 -4
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es_MX.properties +40 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_et.properties +43 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fi.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr.properties +40 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr_CA.properties +44 -4
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hi.properties +43 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hr.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hu.properties +43 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_id.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_it.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_iw.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ja.properties +43 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_kk.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ko.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lt.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lv.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_mk.properties +44 -4
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ms.properties +43 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_nl.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_no.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pl.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt_PT.properties +44 -4
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ro.properties +40 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ru.properties +40 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sh.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sk.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sl.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sr.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sv.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_th.properties +44 -4
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_tr.properties +43 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_uk.properties +40 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_vi.properties +43 -3
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_CN.properties +42 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_TW.properties +44 -4
- package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +27 -7
- package/src/sap/suite/ui/generic/template/library.js +1 -1
- package/src/sap/suite/ui/generic/template/listTemplates/fragments/DetailSmartTable.fragment.xml +3 -0
- package/src/sap/suite/ui/generic/template/listTemplates/fragments/TableCommands.fragment.xml +23 -19
- package/src/sap/suite/ui/generic/template/themes/base/ObjectPage.less +265 -0
- package/src/sap/suite/ui/generic/template/themes/sap_belize_base/ObjectPage.less +9 -0
- package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/ObjectPage.less +9 -0
- package/src/sap/suite/ui/generic/template/themes/sap_hcb/base_ObjectPage.less +9 -0
|
@@ -191,13 +191,40 @@ sap.ui.define([
|
|
|
191
191
|
keyUser: true
|
|
192
192
|
};
|
|
193
193
|
|
|
194
|
+
/**
|
|
195
|
+
* @type {DesigntimeSetting}
|
|
196
|
+
* App-level setting: controls the Smart Summarization button visibility across all pages.
|
|
197
|
+
* Always written as a global manifest change (settings/aiConfiguration/smartSummarization/visibility).
|
|
198
|
+
*/
|
|
199
|
+
const smartSummarizationVisibility = {
|
|
200
|
+
id: "smartSummarizationVisibility",
|
|
201
|
+
name: oResourceBundle.getText('RTA_SMART_SUMMARIZATION_VISIBILITY'),
|
|
202
|
+
description: oResourceBundle.getText('RTA_SMART_SUMMARIZATION_VISIBILITY_DESC'),
|
|
203
|
+
type: "string",
|
|
204
|
+
value: "ShowOnAllPages",
|
|
205
|
+
enums: [
|
|
206
|
+
{
|
|
207
|
+
id: "ShowOnAllPages",
|
|
208
|
+
name: oResourceBundle.getText("RTA_SMART_SUMMARIZATION_OPTION_AVAILABLE_FOR_ALL_PAGES")
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
id: "HideOnAllPages",
|
|
212
|
+
name: oResourceBundle.getText("RTA_SMART_SUMMARIZATION_OPTION_NOT_AVAILABLE_FOR_ALL_PAGES")
|
|
213
|
+
}
|
|
214
|
+
],
|
|
215
|
+
getPath: () => "settings/aiConfiguration/smartSummarization/visibility",
|
|
216
|
+
bSupportsGlobalScope: true,
|
|
217
|
+
keyUser: true
|
|
218
|
+
};
|
|
219
|
+
|
|
194
220
|
return [
|
|
195
221
|
smartVariantManagement,
|
|
196
222
|
hideVariantManagement,
|
|
197
223
|
enableTableFilterInPageVariant,
|
|
198
224
|
initialLoad,
|
|
199
225
|
openInEditMode,
|
|
200
|
-
defaultContentView
|
|
226
|
+
defaultContentView,
|
|
227
|
+
smartSummarizationVisibility
|
|
201
228
|
];
|
|
202
229
|
|
|
203
230
|
}
|
|
@@ -240,6 +267,9 @@ sap.ui.define([
|
|
|
240
267
|
case "defaultContentView":
|
|
241
268
|
mPropertyValues[sProperty] = mLrOrALPSettings.defaultContentView ?? oSetting.value;
|
|
242
269
|
break;
|
|
270
|
+
case "smartSummarizationVisibility":
|
|
271
|
+
mPropertyValues[sProperty] = ObjectPath.get("aiConfiguration.smartSummarization.visibility", mLrOrALPSettings) ?? oSetting.value;
|
|
272
|
+
break;
|
|
243
273
|
default:
|
|
244
274
|
break;
|
|
245
275
|
}
|
|
@@ -262,6 +292,11 @@ sap.ui.define([
|
|
|
262
292
|
const sComponentName = oComponent.getMetadata().getComponentName();
|
|
263
293
|
const mLrOrALPSettings = oComponent.mProperties;
|
|
264
294
|
|
|
295
|
+
// Merge app-level aiConfiguration into the settings for reading smartSummarizationVisibility
|
|
296
|
+
const oAppComponent = oComponent.getAppComponent();
|
|
297
|
+
const oGlobalSettings = oAppComponent.getManifestEntry("sap.ui.generic.app")?.settings;
|
|
298
|
+
const mSettingsWithGlobal = Object.assign({}, mLrOrALPSettings, { aiConfiguration: oGlobalSettings?.aiConfiguration });
|
|
299
|
+
|
|
265
300
|
// Get all the designtime settings
|
|
266
301
|
const aAllDesigntimeSettings = getAllDesigntimeSettings(oControl);
|
|
267
302
|
// Get the allowed designtime settings based on the floorplan
|
|
@@ -276,7 +311,7 @@ sap.ui.define([
|
|
|
276
311
|
|
|
277
312
|
|
|
278
313
|
// Get the current values of the properties
|
|
279
|
-
const mRuntimeAdaptationPropertyValues = getRuntimeAdapationProperties(aAllowedDesigntimeSettings,
|
|
314
|
+
const mRuntimeAdaptationPropertyValues = getRuntimeAdapationProperties(aAllowedDesigntimeSettings, mSettingsWithGlobal);
|
|
280
315
|
// Save the unchanged data to compare later
|
|
281
316
|
const mUnchangedData = deepClone(mRuntimeAdaptationPropertyValues);
|
|
282
317
|
// Get the settings of the dialog from the designtime settings using which the dialog will be created
|
|
@@ -293,7 +328,8 @@ sap.ui.define([
|
|
|
293
328
|
* @type {ControlChangeParams}
|
|
294
329
|
*/
|
|
295
330
|
const mPathParameters = {
|
|
296
|
-
sChangeType: designtimeUtils.ChangeType.ChangePageConfiguration
|
|
331
|
+
sChangeType: designtimeUtils.ChangeType.ChangePageConfiguration,
|
|
332
|
+
sScope: designtimeUtils.SettingScope.Application
|
|
297
333
|
};
|
|
298
334
|
return designtimeUtils.extractChanges(mPropertyValuesEntered, mUnchangedData, aAllowedDesigntimeSettings, oComponent, mPathParameters);
|
|
299
335
|
|
package/src/sap/suite/ui/generic/template/designtime/controls/ObjectPageLayout.designtime.js
CHANGED
|
@@ -75,6 +75,9 @@ sap.ui.define([
|
|
|
75
75
|
case "showRelatedApps":
|
|
76
76
|
mPropertyValues[sProperty] = mSettings[sProperty] ?? oSetting.value;
|
|
77
77
|
break;
|
|
78
|
+
case "smartSummarizationVisibility":
|
|
79
|
+
mPropertyValues[sProperty] = ObjectPath.get("aiConfiguration.smartSummarization.visibility", mSettings) ?? oSetting.value;
|
|
80
|
+
break;
|
|
78
81
|
default:
|
|
79
82
|
break;
|
|
80
83
|
}
|
|
@@ -140,23 +143,52 @@ sap.ui.define([
|
|
|
140
143
|
keyUser: true
|
|
141
144
|
};
|
|
142
145
|
|
|
146
|
+
/**
|
|
147
|
+
* @type {DesigntimeSetting}
|
|
148
|
+
* App-level setting: controls the Smart Summarization button visibility across all pages.
|
|
149
|
+
* Always written as a global manifest change (settings/aiConfiguration/smartSummarization/visibility).
|
|
150
|
+
*/
|
|
151
|
+
const smartSummarizationVisibility = {
|
|
152
|
+
id: "smartSummarizationVisibility",
|
|
153
|
+
name: oResourceBundle.getText('RTA_SMART_SUMMARIZATION_VISIBILITY'),
|
|
154
|
+
description: oResourceBundle.getText('RTA_SMART_SUMMARIZATION_VISIBILITY_DESC'),
|
|
155
|
+
type: "string",
|
|
156
|
+
value: "ShowOnAllPages",
|
|
157
|
+
enums: [
|
|
158
|
+
{
|
|
159
|
+
id: "ShowOnAllPages",
|
|
160
|
+
name: oResourceBundle.getText("RTA_SMART_SUMMARIZATION_OPTION_AVAILABLE_FOR_ALL_PAGES")
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
id: "HideOnAllPages",
|
|
164
|
+
name: oResourceBundle.getText("RTA_SMART_SUMMARIZATION_OPTION_NOT_AVAILABLE_FOR_ALL_PAGES")
|
|
165
|
+
}
|
|
166
|
+
],
|
|
167
|
+
getPath: () => "settings/aiConfiguration/smartSummarization/visibility",
|
|
168
|
+
bSupportsGlobalScope: true,
|
|
169
|
+
keyUser: true
|
|
170
|
+
};
|
|
171
|
+
|
|
143
172
|
return [
|
|
144
173
|
editableHeaderContent,
|
|
145
174
|
tableVariantManagement,
|
|
146
175
|
chartVariantManagement,
|
|
147
|
-
showRelatedApps
|
|
176
|
+
showRelatedApps,
|
|
177
|
+
smartSummarizationVisibility
|
|
148
178
|
];
|
|
149
179
|
|
|
150
180
|
};
|
|
151
181
|
|
|
152
182
|
|
|
153
183
|
|
|
154
|
-
function getObjectPageSettings(oComponent) {
|
|
184
|
+
function getObjectPageSettings(oComponent, oAppComponent) {
|
|
185
|
+
const oGlobalSettings = oAppComponent.getManifestEntry("sap.ui.generic.app")?.settings;
|
|
155
186
|
return {
|
|
156
187
|
editableHeaderContent: JSON.parse(oComponent.getEditableHeaderContent()),
|
|
157
188
|
tableVariantManagement: ObjectPath.get(["variantManagement"], oComponent.getTableSettings()),
|
|
158
189
|
chartVariantManagement: ObjectPath.get(["variantManagement"], oComponent.getChartSettings()),
|
|
159
|
-
showRelatedApps: JSON.parse(oComponent.getShowRelatedApps())
|
|
190
|
+
showRelatedApps: JSON.parse(oComponent.getShowRelatedApps()),
|
|
191
|
+
aiConfiguration: oGlobalSettings?.aiConfiguration
|
|
160
192
|
};
|
|
161
193
|
}
|
|
162
194
|
|
|
@@ -172,8 +204,9 @@ sap.ui.define([
|
|
|
172
204
|
async function fnOpenObjectPageConfigurationDialog(oControl, mPropertyBag) {
|
|
173
205
|
const oResourceModel = oControl.getModel("i18n");
|
|
174
206
|
const oComponent = designtimeUtils.getOwnerComponentFor(oControl);
|
|
207
|
+
const oAppComponent = oComponent.getAppComponent();
|
|
175
208
|
|
|
176
|
-
const mObjectPageSettings = getObjectPageSettings(oComponent);
|
|
209
|
+
const mObjectPageSettings = getObjectPageSettings(oComponent, oAppComponent);
|
|
177
210
|
|
|
178
211
|
// Get all the designtime settings
|
|
179
212
|
const aAllDesigntimeSettings = getAllDesigntimeSettings(oControl);
|
|
@@ -203,7 +236,8 @@ sap.ui.define([
|
|
|
203
236
|
* @type {ControlChangeParams}
|
|
204
237
|
*/
|
|
205
238
|
const mPathParameters = {
|
|
206
|
-
sChangeType: designtimeUtils.ChangeType.ChangePageConfiguration
|
|
239
|
+
sChangeType: designtimeUtils.ChangeType.ChangePageConfiguration,
|
|
240
|
+
sScope: designtimeUtils.SettingScope.Application
|
|
207
241
|
};
|
|
208
242
|
return designtimeUtils.extractChanges(mPropertyValuesEntered, mUnchangedData, aAllowedDesigntimeSettings, oComponent, mPathParameters);
|
|
209
243
|
|
|
@@ -604,6 +604,23 @@ sap.ui.define([
|
|
|
604
604
|
|
|
605
605
|
const oHelper = {
|
|
606
606
|
getDesigntime: function (oSmartTable) {
|
|
607
|
+
const oComponent = designtimeUtils.getOwnerComponentFor(oSmartTable);
|
|
608
|
+
const sComponentName = oComponent.getMetadata().getComponentName();
|
|
609
|
+
// Tables in reuse/extension components have no FE manifest settings to configure.
|
|
610
|
+
if (sComponentName !== sObjectPageComponentName && sComponentName !== sListReportComponentName) {
|
|
611
|
+
return {};
|
|
612
|
+
}
|
|
613
|
+
if (sComponentName === sObjectPageComponentName) {
|
|
614
|
+
const sLocalId = designtimeUtils.getLocalId(oSmartTable);
|
|
615
|
+
// Null means the table is not part of the FE-owned view.
|
|
616
|
+
if (!sLocalId) {
|
|
617
|
+
return {};
|
|
618
|
+
}
|
|
619
|
+
// No manifest section means the table was added by the application, not by FE.
|
|
620
|
+
if (!oComponent.getSections()?.[getSectionKey(oSmartTable)]) {
|
|
621
|
+
return {};
|
|
622
|
+
}
|
|
623
|
+
}
|
|
607
624
|
return {
|
|
608
625
|
actions: {
|
|
609
626
|
settings: {
|
|
@@ -160,9 +160,10 @@ sap.ui.define([ "sap/suite/ui/generic/template/genericUtilities/FeLogger", "sap/
|
|
|
160
160
|
oBusyHelper.setBusy(oApplyPromise);
|
|
161
161
|
}
|
|
162
162
|
|
|
163
|
-
//
|
|
163
|
+
// Called from the Apply button (draft sub-object pages) and from the PrimaryAction keyboard shortcut.
|
|
164
|
+
// oEvent is present when triggered by a button; absent (null/undefined) when triggered by the shortcut.
|
|
164
165
|
function fnApplyAndUp(oEvent) {
|
|
165
|
-
var oControl = oEvent.getSource();
|
|
166
|
+
var oControl = oEvent && oEvent.getSource();
|
|
166
167
|
var oCRUDActionHandler = oTemplateUtils.oComponentUtils.getCRUDActionHandler();
|
|
167
168
|
|
|
168
169
|
// Pre-check validation to decide navigation
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
afterQueryProcessing="._templateEventHandlers.onEasyFilterAfterQueryProcessing"
|
|
11
11
|
clearFilters="._templateEventHandlers.onEasyFilterClearFilters"
|
|
12
12
|
dataFetcher="._templateEventHandlers.onEasyFilterDataFetcher"
|
|
13
|
+
complexFilterApplied="._templateEventHandlers.onEasyFilterComplexFilterApplied"
|
|
13
14
|
/>
|
|
14
15
|
</VBox>
|
|
15
16
|
</core:FragmentDefinition>
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
selectionChange="._templateEventHandlers.onMultiSelectionChange"
|
|
9
9
|
selectionMode="{tableSettings>mode}" />
|
|
10
10
|
<plugins.ContextMenuSetting scope="Selection"/>
|
|
11
|
+
<core:CommandExecution execute="._templateEventHandlers.onNavigateToDetails" command="NavigateToDetails"/>
|
|
11
12
|
</table:dependents>
|
|
12
13
|
<table:rowSettingsTemplate>
|
|
13
14
|
<table:RowSettings
|
|
@@ -31,6 +31,9 @@
|
|
|
31
31
|
type="{parts: [{path: 'listEntitySet>'}, {path: 'parameter>/settings/subPages/'}, {path: 'parameter>/manifest/'}, {path: 'parameter>/treeNode/'}, {path:'parameter>/isDraftEnabled'}, {path: 'facet>Target/AnnotationPath'}], formatter: 'AH.getColumnListItemType'}"
|
|
32
32
|
navigated="{parts: [{path: '_templPriv>/generic/currentActiveChildContext'}, {path: ''}], formatter: 'RuntimeFormatters.setRowNavigated.bind($control)'}"
|
|
33
33
|
detailPress="._templateEventHandlers.onEdit">
|
|
34
|
+
<dependents>
|
|
35
|
+
<core:CommandExecution execute="._templateEventHandlers.onNavigateToDetails" command="NavigateToDetails"/>
|
|
36
|
+
</dependents>
|
|
34
37
|
<template:if test="{parts: [{path: 'listEntitySet>name'}, {path: 'parameter>/settings/subPages/'}, {path: 'facet>Target/AnnotationPath'}], formatter: 'AH.getDisplayNavigationIntent'}">
|
|
35
38
|
<customData>
|
|
36
39
|
<core:CustomData key="CrossNavigation"
|
|
@@ -126,6 +126,9 @@ sap.ui.define([
|
|
|
126
126
|
if (oControlHelper.isObjectPageSubSection(oControl)){
|
|
127
127
|
return oControl.getBlocks().concat(oControl.getMoreBlocks());
|
|
128
128
|
}
|
|
129
|
+
if (isControlOfType("sap/ui/layout/form/Form", oControl)){
|
|
130
|
+
return oControl.getFormContainers();
|
|
131
|
+
}
|
|
129
132
|
if (isControlOfType("sap/ui/comp/smartform/Group", oControl)){
|
|
130
133
|
return oControl.getFormElements();
|
|
131
134
|
}
|
|
@@ -166,6 +166,13 @@ sap.ui.define([
|
|
|
166
166
|
oState.variantId = oState.sVariantId;
|
|
167
167
|
}
|
|
168
168
|
|
|
169
|
+
// Compare current passed and control states. If states are same, setting state make no change, but trigger table refresh.
|
|
170
|
+
// For performance reason we compare object stringified versions. Object key order should not change as it only get applied at runtime.
|
|
171
|
+
var oControlState = bVariantManagementActive ? oVariantManagementStateWrapper.getState() : oSmartControlStateWrapper.getState();
|
|
172
|
+
if (JSON.stringify(oState) === JSON.stringify(oControlState)) {
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
|
|
169
176
|
if (bVariantManagementActive) {
|
|
170
177
|
// In case VariantManagement is configured
|
|
171
178
|
oVariantManagementStateWrapper.setState(oState);
|
|
@@ -151,52 +151,44 @@ sap.ui.define([
|
|
|
151
151
|
};
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
-
function fnApplyVariantState() {
|
|
155
|
-
bIsApplyingVariant = true;
|
|
156
|
-
if (!oPreliminaryState) {
|
|
157
|
-
// if no state is provided set default variant (not modified)
|
|
158
|
-
// use cases:
|
|
159
|
-
// - LR: if appStateKey in the URL that cannot be read
|
|
160
|
-
// - OP: if switching to different object instance (in discovery mode always, in persistency mode when page was not shown)
|
|
161
|
-
fnSetVariant(oSmartVariantManagement.getDefaultVariantId());
|
|
162
|
-
} else if (oPreliminaryState.modified) {
|
|
163
|
-
// Special logic according to UX: If variant was modified anyway, there's no benefit for the user to see the name (but it could be confusing), so standard variant (not default!) should be
|
|
164
|
-
// set (which is achieved by empty string)
|
|
165
|
-
fnSetVariant("");
|
|
166
|
-
oSmartVariantManagement.currentVariantSetModified(true);
|
|
167
|
-
// Usually restoring the state of any of the managed controls should mark the variant as dirty, but there might be edge cases (state from an old release not containing information for any
|
|
168
|
-
// managed control now relevant), so to be on the safe side, we set modified=true explicitly.
|
|
169
|
-
fnSetManagedControlStates(oPreliminaryState);
|
|
170
|
-
} else {
|
|
171
|
-
fnSetVariant(oPreliminaryState.variantId);
|
|
172
|
-
// if managedControlStates is not provided (legacy or maybe broken state), applying VM state should not break
|
|
173
|
-
// don't apply undefined to managedControlWrappers, but just leave them untouched
|
|
174
|
-
if (oPreliminaryState.managedControlStates){
|
|
175
|
-
if (oSmartFilterBarWrapper) {
|
|
176
|
-
// SmartFilterBarWrapper.setState is invoked to apply the state changes modified by "modifyStartupExtension"
|
|
177
|
-
oSmartFilterBarWrapper.setState(oPreliminaryState.managedControlStates[oSmartFilterBarWrapper.getLocalId()]);
|
|
178
|
-
}
|
|
179
|
-
if (oPreliminaryState.variantId !== oSmartVariantManagement.getCurrentVariantId()){
|
|
180
|
-
// variant could not be set because it is not known, i.e. it could be private and URL was shared, or could be deleted after page was bookmarked. In this case,
|
|
181
|
-
// standard variant is set (by VM). Additionally, it should be marked as modified.
|
|
182
|
-
oSmartVariantManagement.currentVariantSetModified(true);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
bIsApplyingVariant = false;
|
|
187
|
-
}
|
|
188
|
-
|
|
189
154
|
function setState(oState) {
|
|
190
155
|
oPreliminaryState = oState;
|
|
191
156
|
|
|
192
|
-
//
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
157
|
+
// Wait for all managed controls to be initialized before applying state
|
|
158
|
+
return oAllControlsInitializedPromise.then(function() {
|
|
159
|
+
bIsApplyingVariant = true;
|
|
160
|
+
if (!oPreliminaryState) {
|
|
161
|
+
// if no state is provided set default variant (not modified)
|
|
162
|
+
// use cases:
|
|
163
|
+
// - LR: if appStateKey in the URL that cannot be read
|
|
164
|
+
// - OP: if switching to different object instance (in discovery mode always, in persistency mode when page was not shown)
|
|
165
|
+
fnSetVariant(oSmartVariantManagement.getDefaultVariantId());
|
|
166
|
+
} else if (oPreliminaryState.modified) {
|
|
167
|
+
// Special logic according to UX: If variant was modified anyway, there's no benefit for the user to see the name (but it could be confusing), so standard variant (not default!) should be
|
|
168
|
+
// set (which is achieved by empty string)
|
|
169
|
+
fnSetVariant("");
|
|
170
|
+
oSmartVariantManagement.currentVariantSetModified(true);
|
|
171
|
+
// Usually restoring the state of any of the managed controls should mark the variant as dirty, but there might be edge cases (state from an old release not containing information for any
|
|
172
|
+
// managed control now relevant), so to be on the safe side, we set modified=true explicitly.
|
|
173
|
+
fnSetManagedControlStates(oPreliminaryState);
|
|
174
|
+
} else {
|
|
175
|
+
fnSetVariant(oPreliminaryState.variantId);
|
|
176
|
+
// if managedControlStates is not provided (legacy or maybe broken state), applying VM state should not break
|
|
177
|
+
// don't apply undefined to managedControlWrappers, but just leave them untouched
|
|
178
|
+
if (oPreliminaryState.managedControlStates){
|
|
179
|
+
if (oSmartFilterBarWrapper) {
|
|
180
|
+
// SmartFilterBarWrapper.setState is invoked to apply the state changes modified by "modifyStartupExtension"
|
|
181
|
+
oSmartFilterBarWrapper.setState(oPreliminaryState.managedControlStates[oSmartFilterBarWrapper.getLocalId()]);
|
|
182
|
+
}
|
|
183
|
+
if (oPreliminaryState.variantId !== oSmartVariantManagement.getCurrentVariantId()){
|
|
184
|
+
// variant could not be set because it is not known, i.e. it could be private and URL was shared, or could be deleted after page was bookmarked. In this case,
|
|
185
|
+
// standard variant is set (by VM). Additionally, it should be marked as modified.
|
|
186
|
+
oSmartVariantManagement.currentVariantSetModified(true);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
bIsApplyingVariant = false;
|
|
191
|
+
});
|
|
200
192
|
}
|
|
201
193
|
|
|
202
194
|
function attachStateChanged(fnHandler) {
|
|
@@ -293,15 +293,18 @@ sap.ui.define([
|
|
|
293
293
|
function setGlobalTemplateModels() {
|
|
294
294
|
var oGenericApp = oAppComponent.getManifestEntry("sap.ui.generic.app");
|
|
295
295
|
var oGlobalSettings = oGenericApp && oGenericApp.settings;
|
|
296
|
-
var
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
296
|
+
var sSummarizationVisibility = oGlobalSettings?.aiConfiguration?.smartSummarization?.visibility;
|
|
297
|
+
var bShowSummarizationButton = true;
|
|
298
|
+
if (sSummarizationVisibility !== undefined) {
|
|
299
|
+
var aValidVisibilityValues = ["ShowOnAllPages", "HideOnAllPages"];
|
|
300
|
+
if (!aValidVisibilityValues.includes(sSummarizationVisibility)) {
|
|
301
|
+
oLogger.warning("Manifest setting 'aiConfiguration.smartSummarization.visibility' has invalid value '" + sSummarizationVisibility + "'. Valid values: ShowOnAllPages | HideOnAllPages. Falling back to default: ShowOnAllPages.");
|
|
300
302
|
} else {
|
|
301
|
-
|
|
303
|
+
bShowSummarizationButton = (sSummarizationVisibility === "ShowOnAllPages");
|
|
302
304
|
}
|
|
303
305
|
}
|
|
304
|
-
oTemplateContract.oTemplatePrivateGlobalModel
|
|
306
|
+
oAppComponent.setModel(oTemplateContract.oTemplatePrivateGlobalModel, "_templPrivGlobal");
|
|
307
|
+
oAppComponent.getModel("_templPrivGlobal").setProperty("/generic", {
|
|
305
308
|
// Since draft saving is done globally, there is a global state which applies to all DraftIndicators
|
|
306
309
|
draftIndicatorState: DraftIndicatorState.Clear,
|
|
307
310
|
// if the ShellService is unavailable some of its tasks have to be done by ourselves. Assume that this is not the case.
|
|
@@ -314,10 +317,9 @@ sap.ui.define([
|
|
|
314
317
|
isEasyFilterEnabled : false,
|
|
315
318
|
isErrorExplanationEnabled : false,
|
|
316
319
|
isEasyFillEnabled: false,
|
|
317
|
-
|
|
320
|
+
summarizationButtonVisibility: bShowSummarizationButton
|
|
318
321
|
}
|
|
319
322
|
});
|
|
320
|
-
oAppComponent.setModel(oTemplateContract.oTemplatePrivateGlobalModel, "_templPrivGlobal");
|
|
321
323
|
oTemplateContract.oShellServicePromise.catch(function(){
|
|
322
324
|
// it turns out that the ShellService is not available
|
|
323
325
|
oTemplateContract.oTemplatePrivateGlobalModel.setProperty("/generic/shellServiceUnavailable", true);
|
|
@@ -471,6 +473,7 @@ sap.ui.define([
|
|
|
471
473
|
oTemplateContract.appSettings = new ManagedObjectModel(oAppComponent);
|
|
472
474
|
oTemplateContract.oBusyHelper.setBusy(oTemplateContract.oShellServicePromise, undefined, undefined, true);
|
|
473
475
|
fnDeregister = fnRegisterAppComponent(oAppRegistryEntry);
|
|
476
|
+
setGlobalTemplateModels();
|
|
474
477
|
|
|
475
478
|
var oModel = oAppComponent.getModel();
|
|
476
479
|
oTemplateContract.bCreateRequestsCanonical = true;
|
|
@@ -486,7 +489,6 @@ sap.ui.define([
|
|
|
486
489
|
}
|
|
487
490
|
// workaround until Modules Factory is available
|
|
488
491
|
oApplicationController = new ApplicationController(oModel);
|
|
489
|
-
setGlobalTemplateModels();
|
|
490
492
|
oNavigationController = new NavigationController(oTemplateContract);
|
|
491
493
|
attachToApplicationController();
|
|
492
494
|
CRUDHelper.enableAutomaticDraftSaving(oTemplateContract);
|
|
@@ -778,7 +780,7 @@ sap.ui.define([
|
|
|
778
780
|
}
|
|
779
781
|
|
|
780
782
|
function fnNormalizeQuickVariantSelectionXEntitySets(oConfig){
|
|
781
|
-
fnAddMissingEntitySetsToQuickVariantSelectionX(oConfig.pages[0]);
|
|
783
|
+
fnAddMissingEntitySetsToQuickVariantSelectionX(oConfig.pages && oConfig.pages[0]);
|
|
782
784
|
}
|
|
783
785
|
|
|
784
786
|
// handling of deprecated properties which are still supported for compatibility reasons
|
|
@@ -972,7 +974,7 @@ sap.ui.define([
|
|
|
972
974
|
* @public
|
|
973
975
|
* @extends sap.ui.core.UIComponent
|
|
974
976
|
* @author SAP SE
|
|
975
|
-
* @version 1.
|
|
977
|
+
* @version 1.154.0
|
|
976
978
|
* @name sap.suite.ui.generic.template.lib.AppComponent
|
|
977
979
|
*/
|
|
978
980
|
var oAppComponent = UIComponent.extend("sap.suite.ui.generic.template.lib.AppComponent", {
|
|
@@ -1085,10 +1087,13 @@ sap.ui.define([
|
|
|
1085
1087
|
type: "string",
|
|
1086
1088
|
defaultValue: "illustration" // Possible values: 'illustration', 'illustrationWithFallback' and 'textOnly'
|
|
1087
1089
|
},
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1090
|
+
aiConfiguration: {
|
|
1091
|
+
type: "object",
|
|
1092
|
+
defaultValue: {
|
|
1093
|
+
smartSummarization: {
|
|
1094
|
+
visibility: "ShowOnAllPages" // Possible values ShowOnAllPages or HideOnAllPages,
|
|
1095
|
+
}
|
|
1096
|
+
}
|
|
1092
1097
|
}
|
|
1093
1098
|
},
|
|
1094
1099
|
events: {
|
|
@@ -1818,6 +1818,73 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
1818
1818
|
|
|
1819
1819
|
}
|
|
1820
1820
|
|
|
1821
|
+
/**
|
|
1822
|
+
* Handles Alt+Enter keyboard shortcut on a focused row in a UI Table or Responsive Table.
|
|
1823
|
+
* For UI Table: finds the RowActionItem for the focused row and fires its press event.
|
|
1824
|
+
* For Responsive Table: finds the focused ColumnListItem and fires its press event.
|
|
1825
|
+
* Both paths trigger the same navigation as clicking the chevron/row, preserving
|
|
1826
|
+
* cross-app navigation and all existing navigation logic.
|
|
1827
|
+
* Does nothing if the table has no navigation configured or the focused row is not navigable.
|
|
1828
|
+
* @param {sap.ui.base.Event} oEvent - execute event from the CommandExecution placed in the table dependents
|
|
1829
|
+
*/
|
|
1830
|
+
function onNavigateToDetails(oEvent) {
|
|
1831
|
+
var oParent = oEvent.getSource().getParent();
|
|
1832
|
+
var oTable = oParent.isA("sap.m.ListItemBase") ? oParent.getParent() : oParent;
|
|
1833
|
+
var oFocusedDom = document.activeElement;
|
|
1834
|
+
if (controlHelper.isUiTable(oTable)) {
|
|
1835
|
+
if (oTable.getRowActionCount() === 0) {
|
|
1836
|
+
return;
|
|
1837
|
+
}
|
|
1838
|
+
var oFocusedRow = oTable.getRows().find(function(oRow) {
|
|
1839
|
+
var oDomRef = oRow.getDomRef();
|
|
1840
|
+
return oDomRef && oDomRef.contains(oFocusedDom);
|
|
1841
|
+
});
|
|
1842
|
+
if (!oFocusedRow || !oFocusedRow.getBindingContext()) {
|
|
1843
|
+
return;
|
|
1844
|
+
}
|
|
1845
|
+
// Find the per-row RowAction clone using only public APIs (findAggregatedObjects + isA).
|
|
1846
|
+
// sap.ui.table.Row offers no public getter for its RowAction instance, and
|
|
1847
|
+
// getRowActionTemplate() returns only the template which has no row binding.
|
|
1848
|
+
var oRowAction = oFocusedRow.findAggregatedObjects(false, function(oChild) {
|
|
1849
|
+
return oChild.isA("sap.ui.table.RowAction");
|
|
1850
|
+
})[0];
|
|
1851
|
+
if (!oRowAction || !oRowAction.getVisible()) {
|
|
1852
|
+
return;
|
|
1853
|
+
}
|
|
1854
|
+
var oNavItem = oRowAction.getItems().find(function(oItem) {
|
|
1855
|
+
return oItem.getType() === "Navigation" && oItem.getVisible();
|
|
1856
|
+
});
|
|
1857
|
+
if (!oNavItem) {
|
|
1858
|
+
return;
|
|
1859
|
+
}
|
|
1860
|
+
// Fire press on the RowActionItem — triggers the same onListNavigate handler as a chevron click,
|
|
1861
|
+
// preserving cross-app navigation (CrossNavigation custom data) and all existing navigation logic.
|
|
1862
|
+
oNavItem.firePress({
|
|
1863
|
+
row: oFocusedRow,
|
|
1864
|
+
item: oNavItem
|
|
1865
|
+
});
|
|
1866
|
+
} else if (controlHelper.isMTable(oTable)) {
|
|
1867
|
+
// CommandExecution is on the row; oParent IS the focused ColumnListItem.
|
|
1868
|
+
var oFocusedItem = oParent;
|
|
1869
|
+
// Only navigate if the item has type Navigation and has a binding context
|
|
1870
|
+
if (!oFocusedItem || !oFocusedItem.getBindingContext() ||
|
|
1871
|
+
oFocusedItem.getType() !== "Navigation") {
|
|
1872
|
+
return;
|
|
1873
|
+
}
|
|
1874
|
+
// ListReport/ObjectPage wire onListNavigate to the table's itemPress event.
|
|
1875
|
+
// ALP wires it to the ColumnListItem's press event instead (no itemPress on table).
|
|
1876
|
+
// hasListeners distinguishes the two patterns without touching private APIs.
|
|
1877
|
+
if (oTable.hasListeners("itemPress")) {
|
|
1878
|
+
oTable.fireItemPress({
|
|
1879
|
+
listItem: oFocusedItem,
|
|
1880
|
+
srcControl: oFocusedItem
|
|
1881
|
+
});
|
|
1882
|
+
} else {
|
|
1883
|
+
oFocusedItem.firePress();
|
|
1884
|
+
}
|
|
1885
|
+
}
|
|
1886
|
+
}
|
|
1887
|
+
|
|
1821
1888
|
/**
|
|
1822
1889
|
* Navigation from table
|
|
1823
1890
|
* @param {sap.ui.base.EventProvider} oEventOrSource - either event triggering navigation, or it's source control (if the event needs to be faked - then the control should be a ColumnListItem or mTable)
|
|
@@ -3008,12 +3075,14 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
3008
3075
|
var fnApplyCellHiddenBindings = testableHelper.testable(fnApplyCellHiddenBindings, "fnApplyCellHiddenBindings");
|
|
3009
3076
|
var fnAttachRowsUpdateHandler = testableHelper.testable(fnAttachRowsUpdateHandler, "fnAttachRowsUpdateHandler");
|
|
3010
3077
|
var fnHandleTableCellVisibility = testableHelper.testable(fnHandleTableCellVisibility, "fnHandleTableCellVisibility");
|
|
3078
|
+
var onNavigateToDetails = testableHelper.testable(onNavigateToDetails, "onNavigateToDetails");
|
|
3011
3079
|
/* eslint-enable */
|
|
3012
3080
|
|
|
3013
3081
|
return {
|
|
3014
3082
|
onDataReceived: onDataReceived,
|
|
3015
3083
|
onBeforeRebindTable: onBeforeRebindTable,
|
|
3016
3084
|
onListNavigate: onListNavigate,
|
|
3085
|
+
onNavigateToDetails: onNavigateToDetails,
|
|
3017
3086
|
onEditNavigateIntent: fnNavigateIntentManifest,
|
|
3018
3087
|
onRelatedAppNavigation: onRelatedAppNavigation,
|
|
3019
3088
|
onDataFieldWithNavigationPath: onDataFieldWithNavigationPath,
|
|
@@ -1791,6 +1791,36 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
1791
1791
|
var fnRemovePropertiesFromNavigationContext = testableHelper.testable(fnRemovePropertiesFromNavigationContext, "removePropertiesFromNavigationContext");
|
|
1792
1792
|
/* eslint-enable */
|
|
1793
1793
|
|
|
1794
|
+
/**
|
|
1795
|
+
* Returns the first visible, enabled custom Emphasized button in the view, or null.
|
|
1796
|
+
* Skips excluded controls and their children, framework buttons (template:: IDs),
|
|
1797
|
+
* buttons inside dialogs or popovers (including closed ones), buttons in hidden containers,
|
|
1798
|
+
* and the internal buttons of a sap.m.PDFViewer.
|
|
1799
|
+
* Used by Ctrl+Enter on LR (live mode or worklist), ALP (live mode) and OP.
|
|
1800
|
+
* @param {sap.ui.core.mvc.View} oView The view to scan
|
|
1801
|
+
* @param {sap.ui.core.Control[]} aExcludedControls Controls to skip together with their children
|
|
1802
|
+
* @returns {sap.m.Button|null} The button, or null
|
|
1803
|
+
*/
|
|
1804
|
+
function fnFindCustomEmphasizedButton(oView, aExcludedControls) {
|
|
1805
|
+
var aButtons = oView.findAggregatedObjects(true, function(oControl) {
|
|
1806
|
+
if (!oControl.isA("sap.m.Button") || oControl.getType() !== "Emphasized" ||
|
|
1807
|
+
!oControl.getVisible() || !oControl.getEnabled() ||
|
|
1808
|
+
aExcludedControls.indexOf(oControl) >= 0 || oControl.getId().indexOf("template::") !== -1) {
|
|
1809
|
+
return false;
|
|
1810
|
+
}
|
|
1811
|
+
for (var oParent = oControl.getParent(); oParent && oParent !== oView; oParent = oParent.getParent()) {
|
|
1812
|
+
if (aExcludedControls.indexOf(oParent) >= 0 ||
|
|
1813
|
+
oParent.isA("sap.m.Dialog") || oParent.isA("sap.m.Popover") ||
|
|
1814
|
+
oParent.isA("sap.m.PDFViewer") ||
|
|
1815
|
+
(oParent.getVisible && !oParent.getVisible())) {
|
|
1816
|
+
return false;
|
|
1817
|
+
}
|
|
1818
|
+
}
|
|
1819
|
+
return true;
|
|
1820
|
+
});
|
|
1821
|
+
return aButtons[0] || null;
|
|
1822
|
+
}
|
|
1823
|
+
|
|
1794
1824
|
return {
|
|
1795
1825
|
getPositionableControlId: getPositionableControlId,
|
|
1796
1826
|
getMetaModelEntityType: getMetaModelEntityType,
|
|
@@ -2101,7 +2131,8 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
2101
2131
|
transformTechnicalPropsOnExportedFile: fnTransformTechnicalPropsOnExportedFile,
|
|
2102
2132
|
includeEntitySetParametersToExportedFile: fnIncludeEntitySetParametersToExportedFile,
|
|
2103
2133
|
openContextInNewTabFromListItem: fnOpenContextInNewTabFromListItem,
|
|
2104
|
-
getCustomizedTextFromApp: getCustomizedTextFromApp
|
|
2134
|
+
getCustomizedTextFromApp: getCustomizedTextFromApp,
|
|
2135
|
+
findCustomEmphasizedButton: fnFindCustomEmphasizedButton
|
|
2105
2136
|
};
|
|
2106
2137
|
}
|
|
2107
2138
|
|
|
@@ -228,7 +228,7 @@ sap.ui.define([
|
|
|
228
228
|
|
|
229
229
|
function fnAddToolbarButtonToContextMenu(sPathToItems, oFocusInfo, oToolbarControlsData, aItems, oButton, bStartsNewSection){
|
|
230
230
|
// Case 1: If button has the stable id, use it to find local id.
|
|
231
|
-
// Case 2: If the button was created using design time adaption, use the custom data "originalButtonId" to find local id.
|
|
231
|
+
// Case 2: If the button was created using design time adaption, use the custom data "originalButtonId" to find local id.
|
|
232
232
|
var sButtonLocalId = oView.getLocalId(oButton.getId()) || oView.getLocalId(oButton.data("originalButtonId"));
|
|
233
233
|
|
|
234
234
|
var oHandlePromise = null;
|
|
@@ -254,6 +254,45 @@ sap.ui.define([
|
|
|
254
254
|
return false;
|
|
255
255
|
}
|
|
256
256
|
|
|
257
|
+
// Returns a raw entry object for a toolbar button child without writing to the model.
|
|
258
|
+
// Generates a key and registers the handler in mHandlers so clicks on sub-menu items
|
|
259
|
+
// resolve correctly via onContextMenu. The parent fnAddMenuItem Promise.all owns all
|
|
260
|
+
// child enabled-flag writes; no setProperty call is made here.
|
|
261
|
+
function fnGetToolbarButtonContextMenuEntry(oFocusInfo, oToolbarControlsData, oButton, bStartsSection) {
|
|
262
|
+
var sButtonLocalId = oView.getLocalId(oButton.getId()) || oView.getLocalId(oButton.data("originalButtonId"));
|
|
263
|
+
|
|
264
|
+
var oStandardControlData = oToolbarControlsData.standardActions.find(function(oControlData){
|
|
265
|
+
return oControlData.ID === sButtonLocalId;
|
|
266
|
+
});
|
|
267
|
+
var oBreakoutControlData = oConfiguration.findBreakoutActionByLocalId(oToolbarControlsData.breakoutActions, sButtonLocalId);
|
|
268
|
+
|
|
269
|
+
var oHandlePromise = null;
|
|
270
|
+
if (oStandardControlData) {
|
|
271
|
+
oHandlePromise = getHandlePromiseForStandardAction(oFocusInfo, oStandardControlData, oButton);
|
|
272
|
+
} else if (oBreakoutControlData) {
|
|
273
|
+
oHandlePromise = getHandlePromiseForBreakoutAction(oFocusInfo, oBreakoutControlData, oButton);
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
if (!oHandlePromise) {
|
|
277
|
+
return null;
|
|
278
|
+
}
|
|
279
|
+
iCreatedMenuItemsCounter++;
|
|
280
|
+
var sKey = "ContextMenuKey" + iCreatedMenuItemsCounter;
|
|
281
|
+
oHandlePromise.then(function(fnHandler) {
|
|
282
|
+
if (fnHandler) {
|
|
283
|
+
mHandlers[sKey] = fnHandler;
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
return {
|
|
287
|
+
text: oButton.getText(),
|
|
288
|
+
icon: oButton.getIcon(),
|
|
289
|
+
key: sKey,
|
|
290
|
+
enabled: false,
|
|
291
|
+
startsSection: bStartsSection,
|
|
292
|
+
handlerPromise: oHandlePromise
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
|
|
257
296
|
/**
|
|
258
297
|
*
|
|
259
298
|
* Evaluates the menu items in a menu button and adds them to the context menu based on the following rules:
|
|
@@ -271,7 +310,11 @@ sap.ui.define([
|
|
|
271
310
|
var aChildContextMenuEntries = [];
|
|
272
311
|
aMenuItems.forEach(function (oMenuItem) {
|
|
273
312
|
var bStartsSectionOnSubMenu = oMenuItem.getStartsSection();
|
|
274
|
-
|
|
313
|
+
var oEntry = fnGetToolbarButtonContextMenuEntry(oFocusInfo, oToolbarControlsData, oMenuItem, bStartsSectionOnSubMenu);
|
|
314
|
+
if (oEntry) {
|
|
315
|
+
oEntry.startsSection = oEntry.startsSection && aChildContextMenuEntries.length > 0;
|
|
316
|
+
aChildContextMenuEntries.push(oEntry);
|
|
317
|
+
}
|
|
275
318
|
});
|
|
276
319
|
|
|
277
320
|
if (aChildContextMenuEntries.length === 1) {
|