@sapui5/sap.suite.ui.generic.template 1.132.0 → 1.134.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/suite/ui/generic/template/.library +1 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/Component.js +0 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/FilterItemMicroBar.js +3 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/FilterItemMicroChart.js +7 -2
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/FilterItemMicroDonut.js +3 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/control/visualfilterbar/FilterItemMicroLine.js +3 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/controller/KpiTagController.js +3 -4
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/extensionAPI/ExtensionAPI.js +2 -2
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n.properties +7 -7
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/util/AnnotationHelper.js +3 -0
- package/src/sap/suite/ui/generic/template/Canvas/extensionAPI/ExtensionAPI.js +11 -3
- package/src/sap/suite/ui/generic/template/Canvas/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/AnnotationHelperSmartList.js +2 -2
- package/src/sap/suite/ui/generic/template/ListReport/controller/ControllerImplementation.js +2 -0
- package/src/sap/suite/ui/generic/template/ListReport/extensionAPI/ExtensionAPI.js +13 -11
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n.properties +3 -3
- package/src/sap/suite/ui/generic/template/ListReport/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/view/ListReport.view.xml +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartFilterBar.fragment.xml +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartTable.fragment.xml +1 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/Component.js +13 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/ControllerImplementation.js +11 -8
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/MessageSortingHandler.js +82 -12
- package/src/sap/suite/ui/generic/template/ObjectPage/controllerFrameworkExtensions.js +1 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/extensionAPI/DraftTransactionController.js +8 -10
- package/src/sap/suite/ui/generic/template/ObjectPage/extensionAPI/ExtensionAPI.js +36 -16
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n.properties +59 -10
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ar.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_bg.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ca.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cnr.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cs.properties +26 -6
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_cy.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_da.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_de.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_el.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_GB.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_en_US_saprigi.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_es.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_es_MX.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_et.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fi.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fr.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_fr_CA.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hi.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hr.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_hu.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_id.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_it.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_iw.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ja.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_kk.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ko.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_lt.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_lv.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_mk.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ms.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_nl.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_no.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pl.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pt.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pt_PT.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ro.properties +26 -6
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_ru.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sh.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sk.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sl.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sr.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sv.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_th.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_tr.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_uk.properties +27 -7
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_vi.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_zh_CN.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_zh_TW.properties +25 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/templateSpecificPreparationHelper.js +233 -125
- package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/Facet.fragment.xml +32 -27
- package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartTable.fragment.xml +8 -12
- 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 +74 -17
- package/src/sap/suite/ui/generic/template/designtime/controls/ObjectPageLayout.designtime.js +44 -16
- package/src/sap/suite/ui/generic/template/designtime/controls/SmartFilterBar.designtime.js +142 -38
- package/src/sap/suite/ui/generic/template/designtime/controls/SmartTable.designtime.js +71 -46
- package/src/sap/suite/ui/generic/template/designtime/floorplans/AnalyticalListPage.designtime.js +21 -19
- package/src/sap/suite/ui/generic/template/designtime/floorplans/ListReport.designtime.js +22 -17
- package/src/sap/suite/ui/generic/template/designtime/floorplans/ObjectPage.designtime.js +14 -8
- package/src/sap/suite/ui/generic/template/designtime/utils/designtimeHelper.js +32 -44
- package/src/sap/suite/ui/generic/template/designtime/utils/designtimeUtils.js +47 -2
- package/src/sap/suite/ui/generic/template/detailTemplates/DiscardEditHandler.js +13 -0
- package/src/sap/suite/ui/generic/template/fragments/DeterminingButton.fragment.xml +18 -20
- package/src/sap/suite/ui/generic/template/fragments/DraftAdminDataPopover.fragment.xml +1 -0
- package/src/sap/suite/ui/generic/template/fragments/GridTableCells.fragment.xml +4 -4
- package/src/sap/suite/ui/generic/template/fragments/HeaderDataPointContent.fragment.xml +1 -1
- package/src/sap/suite/ui/generic/template/fragments/HeaderFormDataField.fragment.xml +2 -2
- package/src/sap/suite/ui/generic/template/fragments/MessagePopover.fragment.xml +4 -3
- package/src/sap/suite/ui/generic/template/fragments/SmartControlContextMenu.fragment.xml +1 -1
- package/src/sap/suite/ui/generic/template/fragments/TableCell.fragment.xml +2 -2
- package/src/sap/suite/ui/generic/template/fragments/TreeTableColumns.fragment.xml +1 -1
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartVariantManagementWrapper.js +4 -2
- package/src/sap/suite/ui/generic/template/genericUtilities/filterHelper.js +3 -1
- package/src/sap/suite/ui/generic/template/js/AnnotationHelper.js +78 -25
- package/src/sap/suite/ui/generic/template/js/AnnotationHelperStreamSupport.js +4 -1
- package/src/sap/suite/ui/generic/template/js/QuickTemplates/QuickTemplateComponentFactory.js +2 -3
- package/src/sap/suite/ui/generic/template/js/RuntimeFormatters.js +78 -22
- package/src/sap/suite/ui/generic/template/lib/AppComponent.js +1 -2
- package/src/sap/suite/ui/generic/template/lib/Application.js +2 -0
- package/src/sap/suite/ui/generic/template/lib/CRUDActionHandler.js +12 -3
- package/src/sap/suite/ui/generic/template/lib/CommonEventHandlers.js +13 -1
- package/src/sap/suite/ui/generic/template/lib/CommonUtils.js +41 -36
- package/src/sap/suite/ui/generic/template/lib/ComponentUtils.js +13 -2
- package/src/sap/suite/ui/generic/template/lib/ContextBookkeeping.js +1 -0
- package/src/sap/suite/ui/generic/template/lib/ContextMenuHandler.js +124 -2
- package/src/sap/suite/ui/generic/template/lib/MessageButtonHelper.js +6 -0
- package/src/sap/suite/ui/generic/template/lib/MessageStripHelper.js +1 -1
- package/src/sap/suite/ui/generic/template/lib/RetryAfterHandler.js +2 -3
- package/src/sap/suite/ui/generic/template/lib/SideEffectUtil.js +39 -2
- package/src/sap/suite/ui/generic/template/lib/TemplateComponent.js +3 -4
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n.properties +20 -11
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ar.properties +4 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_bg.properties +6 -2
- 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 +5 -1
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cs.properties +5 -1
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cy.properties +4 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_da.properties +5 -1
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_de.properties +9 -5
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_el.properties +6 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en.properties +6 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_GB.properties +6 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_sappsd.properties +11 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saprigi.properties +6 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saptrc.properties +9 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es.properties +8 -4
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es_MX.properties +4 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_et.properties +6 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fi.properties +5 -1
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr.properties +6 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr_CA.properties +6 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hi.properties +4 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hr.properties +5 -1
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hu.properties +6 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_id.properties +5 -1
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_it.properties +6 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_iw.properties +4 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ja.properties +5 -1
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_kk.properties +5 -1
- 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 +6 -2
- 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 +6 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ms.properties +5 -1
- 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 +6 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pl.properties +4 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt.properties +6 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt_PT.properties +6 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ro.properties +6 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ru.properties +6 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sh.properties +5 -1
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sk.properties +4 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sl.properties +6 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sr.properties +5 -1
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sv.properties +6 -2
- 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 +5 -1
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_uk.properties +6 -2
- 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 +5 -1
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_TW.properties +6 -2
- package/src/sap/suite/ui/generic/template/lib/insights/InsightsCardHelper.js +27 -11
- package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +32 -20
- package/src/sap/suite/ui/generic/template/lib/presentationControl/SmartTableHandler.js +92 -1
- package/src/sap/suite/ui/generic/template/library.js +1 -1
- package/src/sap/suite/ui/generic/template/listTemplates/fragments/DetailSmartTable.fragment.xml +1 -1
- package/src/sap/suite/ui/generic/template/manifestMerger/ChangePageConfiguration.js +3 -0
- package/src/sap/suite/ui/generic/template/manifestMerger/MergerUtil.js +27 -1
|
@@ -263,7 +263,7 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
263
263
|
var iEntitySetName = sSmartControlId.indexOf("::" + oComponent.getEntitySet() + "--") + 2; //Ensure only Entity set is picked up for processing
|
|
264
264
|
var sI18nKey = sSmartControlId.substring(iEntitySetName, sSmartControlId.lastIndexOf("::")),
|
|
265
265
|
sI18nKey = sI18nKey.replace(/--/g, "|").replace(/::/g, "|"); //sId = "STTA_C_MP_Product|to_ProductText|com.sap.vocabularies.UI.v1.LineItem"
|
|
266
|
-
|
|
266
|
+
|
|
267
267
|
return sI18nKey;
|
|
268
268
|
}
|
|
269
269
|
|
|
@@ -311,9 +311,9 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
311
311
|
|
|
312
312
|
/*
|
|
313
313
|
* Sets the enabled value for Toolbar buttons
|
|
314
|
-
*
|
|
315
|
-
* Currently, the property applicablePath (resp. sap:applicable-path) is only evaluated for buttons in header and
|
|
316
|
-
* footer (influencing the visibility) and for toolbar buttons which require a context (influencing the enablement).
|
|
314
|
+
*
|
|
315
|
+
* Currently, the property applicablePath (resp. sap:applicable-path) is only evaluated for buttons in header and
|
|
316
|
+
* footer (influencing the visibility) and for toolbar buttons which require a context (influencing the enablement).
|
|
317
317
|
* For static toolbar buttons (i.e. toolbar buttons that do not require a selection) the property is ignored.
|
|
318
318
|
* TO DO : make sure the properties applicablePath/sap:applicable-path influence the visibility of static toolbar buttons as well
|
|
319
319
|
*
|
|
@@ -368,11 +368,11 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
368
368
|
oComponentUtils.getTemplatePrivateModel().setProperty("/listReport/multiEditEnabled", aContexts.filter(fnIsContextEditable).length > 0);
|
|
369
369
|
}
|
|
370
370
|
if (oEnabledPromise){
|
|
371
|
-
// check if "enabled" is bound to the path '/generic/controlProperties/' in the model - otherwise it's bound to another path or has a hard coded true/false
|
|
371
|
+
// check if "enabled" is bound to the path '/generic/controlProperties/' in the model - otherwise it's bound to another path or has a hard coded true/false
|
|
372
372
|
if (oEnabledPromise && !/generic\/controlProperties/.test(oButton.getBindingPath("enabled"))) {
|
|
373
373
|
oEnabledPromise = null;
|
|
374
374
|
bEnabled = oButton.getEnabled();
|
|
375
|
-
}
|
|
375
|
+
}
|
|
376
376
|
}
|
|
377
377
|
return {
|
|
378
378
|
enabledPromise: oEnabledPromise,
|
|
@@ -568,21 +568,21 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
568
568
|
// This method is invoked twice in ALP. Once for smart table and once again for smart chart.
|
|
569
569
|
// In the first iteration (smart table actions), the calculated enablement value is stored on "mBreakoutActionEnabled".
|
|
570
570
|
// In the second iteration (smart chart actions), the enablement should be calculated only for the chart actions (oBreakoutAction.filter = "chart").
|
|
571
|
-
// As the previously calculated value for the table actions should be retained, the value stored on "mBreakoutActionEnabled" is used as the default value.
|
|
571
|
+
// As the previously calculated value for the table actions should be retained, the value stored on "mBreakoutActionEnabled" is used as the default value.
|
|
572
572
|
var bDefaultValue = !bIsAnalyticalListPage || !!mBreakOutActionEnabled[sControlId].enabled;
|
|
573
573
|
var bEnabled = fnIsBreakoutActionEnabled(oBreakoutAction, aContexts, oModel, oControl, bDefaultValue, bIsAnalyticalListPage);
|
|
574
|
-
|
|
574
|
+
|
|
575
575
|
mBreakOutActionEnabled[sControlId] = {
|
|
576
576
|
enabled: bEnabled
|
|
577
|
-
};
|
|
577
|
+
};
|
|
578
578
|
}
|
|
579
|
-
|
|
579
|
+
|
|
580
580
|
/**
|
|
581
581
|
* This method analyzes the applicable contexts and tells whether the breakout action should be enabled.
|
|
582
|
-
*
|
|
583
|
-
* If the context based analysis is not required (i.e the action doesn't require selection),
|
|
582
|
+
*
|
|
583
|
+
* If the context based analysis is not required (i.e the action doesn't require selection),
|
|
584
584
|
* it will simply return the default value <code>bDefaultValue</code>.
|
|
585
|
-
*
|
|
585
|
+
*
|
|
586
586
|
* @param {object} oBreakoutAction Manifest information about the breakout action
|
|
587
587
|
* @param {Array<sap.ui.model.Context>} aContexts Applicable contexts
|
|
588
588
|
* @param {sap.ui.model.Model} oModel Model of the smart control
|
|
@@ -603,14 +603,14 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
603
603
|
// check if applicablePath is true for this context
|
|
604
604
|
var oObject = oModel.getObject(oContext.getPath() + oApplicablePathInfo.navigationPath);
|
|
605
605
|
return oObject[oApplicablePathInfo.property] === true;
|
|
606
|
-
});
|
|
606
|
+
});
|
|
607
607
|
} else {
|
|
608
608
|
bEnabled = bEnabled || (bFilterIsChart ? controlHelper.isSmartChart(oControl) : controlHelper.isSmartTable(oControl));
|
|
609
609
|
}
|
|
610
610
|
} else if (controlHelper.isSmartChart(oControl)) {
|
|
611
611
|
//table button chart ondata received
|
|
612
612
|
// For LR/OP, directly evaluate the drill stack filters and enable the action accordingly.
|
|
613
|
-
// For ALP, evaluate the drill stack filters only when oBreakoutAction.filter is "chart" and skip the evaluation for table based actions.
|
|
613
|
+
// For ALP, evaluate the drill stack filters only when oBreakoutAction.filter is "chart" and skip the evaluation for table based actions.
|
|
614
614
|
if (!bIsAnalyticalListPage || bFilterIsChart) {
|
|
615
615
|
// If enabled Selection is made on the chart but drilldown is performed later.
|
|
616
616
|
bEnabled = oControl.getDrillStackFilters().length > 0;
|
|
@@ -621,7 +621,7 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
621
621
|
}
|
|
622
622
|
}
|
|
623
623
|
return bEnabled;
|
|
624
|
-
|
|
624
|
+
|
|
625
625
|
}
|
|
626
626
|
|
|
627
627
|
function fnUpdateBreakoutEnablement(mBreakOutActionEnabled, mBreakoutActions, aContexts, oModel, sSelectedTabKey, oControl) {
|
|
@@ -853,13 +853,13 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
853
853
|
|
|
854
854
|
/**
|
|
855
855
|
* Provides the Navigation Context about the smart link clicked by the user
|
|
856
|
-
*
|
|
856
|
+
*
|
|
857
857
|
* @param {Array} aKeys - Array of Navigation Key Properties Object
|
|
858
858
|
* @param {object} oResponse - response of oDataModel's GET request
|
|
859
859
|
* @returns {string} route string for Context Navigation
|
|
860
860
|
* @private
|
|
861
861
|
*/
|
|
862
|
-
|
|
862
|
+
|
|
863
863
|
function fnMergeNavigationKeyPropertiesWithValues(aKeys, oResponse) {
|
|
864
864
|
var sKeySeparator, sRoute;
|
|
865
865
|
for (var i = 0, ilength = aKeys.length; i < ilength; i++) {
|
|
@@ -929,7 +929,7 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
929
929
|
|
|
930
930
|
/**
|
|
931
931
|
* Provides the information about the smart link clicked by user
|
|
932
|
-
*
|
|
932
|
+
*
|
|
933
933
|
* @param {*} oEvent beforePopoverOpens event
|
|
934
934
|
* @returns {object} oSourceInfo - object contains the smart link info
|
|
935
935
|
* oSourceInfo.smartLink - The clicked smart link
|
|
@@ -941,9 +941,9 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
941
941
|
oSmartLink = Element.getElementById(sSmartLinkId),
|
|
942
942
|
oOwnerControl = getOwnerControl(oSmartLink, true),
|
|
943
943
|
oSourceInfo = Object.create(null);
|
|
944
|
-
|
|
944
|
+
|
|
945
945
|
oSourceInfo.smartLink = oSmartLink;
|
|
946
|
-
|
|
946
|
+
|
|
947
947
|
if (controlHelper.isSmartTable(oOwnerControl)) {
|
|
948
948
|
var oSmartTableHandler = oServices.oPresentationControlHandlerFactory.getPresentationControlHandler(oOwnerControl);
|
|
949
949
|
oSourceInfo.smartTable = oOwnerControl;
|
|
@@ -1026,7 +1026,7 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
1026
1026
|
// call extension
|
|
1027
1027
|
oController.adaptNavigationParameterExtension(oSelectionVariant, oObjectInfo);
|
|
1028
1028
|
sSelectionVariantPrepared = oSelectionVariant.toJSONString();
|
|
1029
|
-
}
|
|
1029
|
+
}
|
|
1030
1030
|
delete oEventParameters.semanticAttributes;
|
|
1031
1031
|
oNavigationHandler.processBeforeSmartLinkPopoverOpens(oEventParameters, sSelectionVariantPrepared);
|
|
1032
1032
|
}
|
|
@@ -1050,7 +1050,7 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
1050
1050
|
var sOwnerComponentEntitySet = oController.getOwnerComponent().getEntitySet();
|
|
1051
1051
|
if (controlHelper.isSemanticObjectController(oControl) || controlHelper.isSmartTable(oControl)) {
|
|
1052
1052
|
sControlEntitySet = oControl.getEntitySet();
|
|
1053
|
-
} else {
|
|
1053
|
+
} else {
|
|
1054
1054
|
// When navigation from table is triggered from an OP Table, oControl is not a smart table but a link or a button in the table.
|
|
1055
1055
|
var oOwnerControl = getOwnerControl(oControl);
|
|
1056
1056
|
var oParentControl = oOwnerControl && oOwnerControl.getParent();
|
|
@@ -1112,7 +1112,7 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
1112
1112
|
fnHandleMandatoryField("HasActiveEntity");
|
|
1113
1113
|
}
|
|
1114
1114
|
}
|
|
1115
|
-
|
|
1115
|
+
|
|
1116
1116
|
function isMultiViewMultiEntity() {
|
|
1117
1117
|
return !!(oComponentUtils && oComponentUtils.getSettings() && oComponentUtils.getSettings().quickVariantSelectionX);
|
|
1118
1118
|
}
|
|
@@ -1437,7 +1437,7 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
1437
1437
|
// add the value to the model
|
|
1438
1438
|
var sSemObj = aInternalLinks[j].semanticObject;
|
|
1439
1439
|
var sAction = aInternalLinks[j].action;
|
|
1440
|
-
|
|
1440
|
+
|
|
1441
1441
|
var oSemObjProp = oTemplatePrivateModel.getProperty("/generic/supportedIntents/" + sSemObj); if (!oSemObjProp) { // no semantic object in the model yet
|
|
1442
1442
|
oSupportedIntents[sSemObj] = {};
|
|
1443
1443
|
oSupportedIntents[sSemObj][sAction] =
|
|
@@ -1458,7 +1458,7 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
1458
1458
|
});
|
|
1459
1459
|
});
|
|
1460
1460
|
});
|
|
1461
|
-
|
|
1461
|
+
|
|
1462
1462
|
}
|
|
1463
1463
|
}
|
|
1464
1464
|
|
|
@@ -1632,10 +1632,10 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
1632
1632
|
}
|
|
1633
1633
|
|
|
1634
1634
|
/**
|
|
1635
|
-
* While exporting data from a table, this function removes the technical properties
|
|
1636
|
-
* (like "IsActiveEntity", "HasActiveEntity") and adds the actual value of "Editing Status" select box
|
|
1637
|
-
* into the exported file.
|
|
1638
|
-
*
|
|
1635
|
+
* While exporting data from a table, this function removes the technical properties
|
|
1636
|
+
* (like "IsActiveEntity", "HasActiveEntity") and adds the actual value of "Editing Status" select box
|
|
1637
|
+
* into the exported file.
|
|
1638
|
+
*
|
|
1639
1639
|
* @param {sap.ui.export.util.Filter[]} aFilterSettings Filters in the exported file
|
|
1640
1640
|
*/
|
|
1641
1641
|
function fnTransformTechnicalPropsOnExportedFile (aFilterSettings) {
|
|
@@ -1650,7 +1650,7 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
1650
1650
|
// Find the technical props for the selected draft state value
|
|
1651
1651
|
var sDraftStateValue = oEditStateControl.getSelectedKey(),
|
|
1652
1652
|
aTechnicalProps = oDraftStateToTechnicalProps[sDraftStateValue];
|
|
1653
|
-
|
|
1653
|
+
|
|
1654
1654
|
aTechnicalProps.forEach(function (oTechnicalProp){
|
|
1655
1655
|
// Find the index of filter settings to be removed
|
|
1656
1656
|
var iIndexOfFilterSettingsToBeRemoved = aFilterSettings.findIndex(function (oFilterSettings){
|
|
@@ -1664,7 +1664,7 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
1664
1664
|
aFilterSettings.splice(iIndexOfFilterSettingsToBeRemoved, 1);
|
|
1665
1665
|
}
|
|
1666
1666
|
});
|
|
1667
|
-
|
|
1667
|
+
|
|
1668
1668
|
//Create a new filter with the value retrieved from "editStateFilter" select control
|
|
1669
1669
|
var sEditStateLabel = oEditStateControl.getLabels().at(0).getText(),
|
|
1670
1670
|
sEditStateValue = oEditStateControl.getSelectedItem().getText(),
|
|
@@ -1676,9 +1676,9 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
1676
1676
|
}
|
|
1677
1677
|
|
|
1678
1678
|
/**
|
|
1679
|
-
* This method reads the values of analytical parameters from the smart filter bar
|
|
1679
|
+
* This method reads the values of analytical parameters from the smart filter bar
|
|
1680
1680
|
* and adds them to the list of filters in the exported file
|
|
1681
|
-
*
|
|
1681
|
+
*
|
|
1682
1682
|
* @param {sap.ui.comp.smarttable.SmartTable} oSmartTable The smart table which has the data to be exported
|
|
1683
1683
|
* @param {sap.ui.export.util.Filter[]} aFilterSettings Current filters in the exported file
|
|
1684
1684
|
*/
|
|
@@ -1780,7 +1780,7 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
1780
1780
|
}, fnReject);
|
|
1781
1781
|
});
|
|
1782
1782
|
};
|
|
1783
|
-
|
|
1783
|
+
|
|
1784
1784
|
var fnIsFieldModified = function(oSourceControl) {
|
|
1785
1785
|
var oInnerControl = oSourceControl.getFirstInnerControl && oSourceControl.getFirstInnerControl();
|
|
1786
1786
|
if (oInnerControl.getValue() !== oInnerControl.getLastValue()) {
|
|
@@ -1805,7 +1805,7 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
1805
1805
|
if (!fnIsFieldModified(oSourceControl)) {
|
|
1806
1806
|
mAdditionalParameters.callPreparationOnly = true;
|
|
1807
1807
|
}
|
|
1808
|
-
fnCallExecuteSideEffect();
|
|
1808
|
+
fnCallExecuteSideEffect();
|
|
1809
1809
|
// Resolve the promise and exit the loop for Inactive transient row
|
|
1810
1810
|
return fnResolve();
|
|
1811
1811
|
}
|
|
@@ -2006,6 +2006,11 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
2006
2006
|
var bSetToDirty = oResponseContext && (!oResponse.actionContext || sResponseContextPath !== oResponse.actionContext.getPath());
|
|
2007
2007
|
if (bSetToDirty) {
|
|
2008
2008
|
oServices.oViewDependencyHelper.setMeToDirty(oController.getOwnerComponent(), sEntitySet, false, sResponseContextPath === "/undefined" || aContexts.length > 1);
|
|
2009
|
+
if (oCustomData.ActionType === "determining") {
|
|
2010
|
+
// Determining action detected. This type of action can activate draft.
|
|
2011
|
+
// As activated draft is different object it also necessary to refresh parent page (LR).
|
|
2012
|
+
oServices.oViewDependencyHelper.setParentToDirty(oController.getOwnerComponent(), sEntitySet, 1);
|
|
2013
|
+
}
|
|
2009
2014
|
}
|
|
2010
2015
|
}
|
|
2011
2016
|
});
|
|
@@ -770,6 +770,11 @@ sap.ui.define([
|
|
|
770
770
|
oComponentRegistryEntry.oTemplateContract.oNavigationControllerProxy.navigateFromNodeAccordingToContext(oTreeNode, oNavigationContext, iDisplayMode, bReplace);
|
|
771
771
|
}
|
|
772
772
|
|
|
773
|
+
function getAppTitle(){
|
|
774
|
+
var oManifest = oComponent.getAppComponent().getManifestEntry("sap.app");
|
|
775
|
+
return oManifest.title ?? "";
|
|
776
|
+
}
|
|
777
|
+
|
|
773
778
|
function getTitle(){
|
|
774
779
|
return oTreeNode.headerTitle;
|
|
775
780
|
}
|
|
@@ -1106,7 +1111,11 @@ sap.ui.define([
|
|
|
1106
1111
|
function fnOpenContextInNewTab (oNavigationContext) {
|
|
1107
1112
|
oComponentRegistryEntry.oTemplateContract.oNavigationControllerProxy.openContextInNewTab(oTreeNode, oNavigationContext);
|
|
1108
1113
|
}
|
|
1109
|
-
|
|
1114
|
+
|
|
1115
|
+
function fnGetTargetIdentityForContext(oNavigationContext){
|
|
1116
|
+
return oComponentRegistryEntry.oTemplateContract.oNavigationControllerProxy.getTargetIdentityForContext(oTreeNode, oNavigationContext);
|
|
1117
|
+
}
|
|
1118
|
+
|
|
1110
1119
|
return {
|
|
1111
1120
|
getBusyHelper: function() {
|
|
1112
1121
|
return oComponentRegistryEntry.oApplication.getBusyHelper();
|
|
@@ -1145,6 +1154,7 @@ sap.ui.define([
|
|
|
1145
1154
|
getCommunicationObject: getCommunicationObject,
|
|
1146
1155
|
navigateRoute: fnNavigateRoute,
|
|
1147
1156
|
navigateAccordingToContext: fnNavigateAccordingToContext,
|
|
1157
|
+
getAppTitle: getAppTitle,
|
|
1148
1158
|
getTitle: getTitle,
|
|
1149
1159
|
setText: setText,
|
|
1150
1160
|
onBeforeDraftTransfer: onBeforeDraftTransfer,
|
|
@@ -1187,7 +1197,8 @@ sap.ui.define([
|
|
|
1187
1197
|
getToolbarDataFieldForIBNCommandDetails: oCommandComponentUtils.getToolbarDataFieldForIBNCommandDetails,
|
|
1188
1198
|
isStateHandlingSuspended: fnIsStateHandlingSuspended,
|
|
1189
1199
|
getUI5VersionInfo: fnGetUI5VersionInfo,
|
|
1190
|
-
openContextInNewTab: fnOpenContextInNewTab
|
|
1200
|
+
openContextInNewTab: fnOpenContextInNewTab,
|
|
1201
|
+
getTargetIdentityForContext: fnGetTargetIdentityForContext
|
|
1191
1202
|
};
|
|
1192
1203
|
}
|
|
1193
1204
|
|
|
@@ -871,6 +871,7 @@ sap.ui.define(["sap/ui/base/Object", "sap/base/util/each", "sap/base/util/extend
|
|
|
871
871
|
activationStarted: activationStarted,
|
|
872
872
|
cancellationStarted: cancellationStarted,
|
|
873
873
|
editingStarted: editingStarted,
|
|
874
|
+
createDraftSiblingPromise: createDraftSiblingPromise,
|
|
874
875
|
getDraftSiblingPromise: getDraftSiblingPromise,
|
|
875
876
|
getSiblingPromise: getSiblingPromise,
|
|
876
877
|
getAlternativeIdentityPromise: getAlternativeIdentityPromise,
|
|
@@ -2,11 +2,12 @@ sap.ui.define([
|
|
|
2
2
|
"sap/base/util/extend",
|
|
3
3
|
"sap/base/util/ObjectPath",
|
|
4
4
|
"sap/m/MessageBox",
|
|
5
|
+
"sap/suite/ui/commons/collaboration/ServiceContainer",
|
|
5
6
|
"sap/suite/ui/generic/template/genericUtilities/controlHelper",
|
|
6
7
|
"sap/suite/ui/generic/template/genericUtilities/FeLogger",
|
|
7
8
|
"sap/ui/base/Object",
|
|
8
9
|
"sap/ui/base/Event"
|
|
9
|
-
], function (extend, ObjectPath, MessageBox, controlHelper, FeLogger, BaseObject, Event) {
|
|
10
|
+
], function (extend, ObjectPath, MessageBox, ServiceContainer, controlHelper, FeLogger, BaseObject, Event) {
|
|
10
11
|
"use strict";
|
|
11
12
|
|
|
12
13
|
/* This class provides generic functionality for handling of the context menu for one smart control (oSourceControl).
|
|
@@ -17,6 +18,7 @@ sap.ui.define([
|
|
|
17
18
|
|
|
18
19
|
// Constants
|
|
19
20
|
var MAX_RECORDS_OPEN_IN_NEW_TAB = 10;
|
|
21
|
+
var MAX_RECORDS_SHARE_TO_CM = 1;
|
|
20
22
|
var aToolbarContentsToBeOmitted = ["btnPersonalisation", "btnExcelExport"];
|
|
21
23
|
|
|
22
24
|
function getMethods(oController, oTemplateUtils, oState, oSourceControl, oConfiguration) {
|
|
@@ -64,6 +66,9 @@ sap.ui.define([
|
|
|
64
66
|
// Store the outbound navigation target
|
|
65
67
|
var sOutboundNavigationTarget = oSourceControl.getTable().getContextMenu().data("CrossNavigation");
|
|
66
68
|
var oOutbound = sOutboundNavigationTarget && fnGetOutboundInfoFromManifest(sOutboundNavigationTarget);
|
|
69
|
+
// SAP Collaboration Manager service
|
|
70
|
+
var oCollaborationManager;
|
|
71
|
+
|
|
67
72
|
/**
|
|
68
73
|
* The method does the following
|
|
69
74
|
* - Adds an entry (menu item) to the context menu.
|
|
@@ -385,6 +390,121 @@ sap.ui.define([
|
|
|
385
390
|
}
|
|
386
391
|
}
|
|
387
392
|
|
|
393
|
+
/**
|
|
394
|
+
* Initialize the SAP Collaboration Manager service
|
|
395
|
+
*
|
|
396
|
+
* @returns {Promise<{sap.suite.ui.commons.collaboration.CollaborationManagerService|undefined}>} Returns the promise that is resolved to the SAP Collaboration Manager service
|
|
397
|
+
*/
|
|
398
|
+
function fnInitToCollaborationManager() {
|
|
399
|
+
var { promise, resolve, reject } = Promise.withResolvers();
|
|
400
|
+
|
|
401
|
+
if (!oCollaborationManager) {
|
|
402
|
+
ServiceContainer.getCollaborationServices().then(function (mResults) {
|
|
403
|
+
if (mResults && mResults.oCMHelperService) {
|
|
404
|
+
var oCMOptions = mResults.oCMHelperService.getOptions();
|
|
405
|
+
if (oCMOptions) {
|
|
406
|
+
oCollaborationManager = mResults.oCMHelperService;
|
|
407
|
+
resolve(oCollaborationManager);
|
|
408
|
+
} else {
|
|
409
|
+
reject();
|
|
410
|
+
}
|
|
411
|
+
} else {
|
|
412
|
+
reject();
|
|
413
|
+
}
|
|
414
|
+
});
|
|
415
|
+
} else {
|
|
416
|
+
resolve(oCollaborationManager);
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
return promise;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
/**
|
|
423
|
+
* Returns the promise which resolves the event handler for "Share to SAP Collaboration Manager" entry.
|
|
424
|
+
*
|
|
425
|
+
* Negative scenario: It just returns without any value when anyone of the following condition met.
|
|
426
|
+
* So that, "Share to SAP Collaboration Manager" option isn't added in context menu:
|
|
427
|
+
* a. SAP Collaboration Manager service is unavailable
|
|
428
|
+
* b. Navigation is not supported by the table
|
|
429
|
+
* c. Table is configured with onListNavigationExtension
|
|
430
|
+
* d. Navigation target is a draft without an active version
|
|
431
|
+
* e. Navigation target is a child of own draft in edit mode
|
|
432
|
+
* f. Navigation target is outbound
|
|
433
|
+
* g. Direct edit flow is enabled
|
|
434
|
+
*
|
|
435
|
+
* @param {sap.suite.ui.generic.template.lib.ContextMenuHandler.FocusInfo} oFocusInfo
|
|
436
|
+
* @param {sap.suite.ui.commons.collaboration.CollaborationManagerService} oCMHelperService
|
|
437
|
+
* @returns {Promise<Function|undefined>} Promise which resolves the handler method
|
|
438
|
+
*/
|
|
439
|
+
function getSharePromiseForCollaborationManager (oFocusInfo, oCMHelperService) {
|
|
440
|
+
// Enable the context menu entry only if at least one navigable context is available
|
|
441
|
+
var aNavigableContexts = oFocusInfo.applicableContexts.filter(fnIsContextNavigable);
|
|
442
|
+
if (!aNavigableContexts.length) {
|
|
443
|
+
return;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
var oActiveEntity = aNavigableContexts[0].getObject();
|
|
447
|
+
var bIsDraftSupported = oComponentUtils.isDraftEnabled();
|
|
448
|
+
var bIsDraft = bIsDraftSupported && oActiveEntity.IsActiveEntity === false;
|
|
449
|
+
var bHasActiveEntity = bIsDraft ? oActiveEntity.HasActiveEntity === true : true;
|
|
450
|
+
var bIsOwnDraftChild = bIsDraft ? oFocusInfo.focussedBindingContext.sPath !== oFocusInfo.focussedBindingContext.sDeepPath : false;
|
|
451
|
+
var bDirectEdit = oTemplateUtils.oServices.oApplication.getEditFlowOfRoot() === "direct";
|
|
452
|
+
var bOnListNavigationExtensionFound = oController.hasOwnProperty("onListNavigationExtension");
|
|
453
|
+
|
|
454
|
+
if (!oCMHelperService || !bNavigationSupported || bOnListNavigationExtensionFound || !bHasActiveEntity || bIsOwnDraftChild || oOutbound || bDirectEdit) {
|
|
455
|
+
return;
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
return Promise.resolve(function () {
|
|
459
|
+
if (aNavigableContexts.length > MAX_RECORDS_SHARE_TO_CM) {
|
|
460
|
+
var sWarningMessage = oCommonUtils.getText("T_TABLE_SHARE_TO_COLLABORATION_MANAGER_TOO_MANY_ITEMS_SELECTED", [MAX_RECORDS_SHARE_TO_CM]);
|
|
461
|
+
MessageBox.warning(sWarningMessage);
|
|
462
|
+
return;
|
|
463
|
+
}
|
|
464
|
+
var sAppTitle = oComponentUtils.getAppTitle();
|
|
465
|
+
if (bIsDraft) {
|
|
466
|
+
var oBusyHelper = oTemplateUtils.oServices.oApplication.getBusyHelper();
|
|
467
|
+
if (oBusyHelper.isBusy()) {
|
|
468
|
+
return; // Ignore user interaction while the app is busy.
|
|
469
|
+
}
|
|
470
|
+
var oSiblingContextPromise = oTemplateUtils.oServices.oApplication.createDraftSiblingPromise(oFocusInfo.focussedBindingContext.oModel, oFocusInfo.focussedBindingContext.sPath);
|
|
471
|
+
var URLParser = new sap.ushell.services.URLParsing();
|
|
472
|
+
oBusyHelper.setBusy(oSiblingContextPromise.then(function(oSiblingContext) {
|
|
473
|
+
var sPath = document.URL.split(URLParser.getHash(document.URL))[0] + URLParser.getShellHash(document.URL) + "&" + oSiblingContext.sPath;
|
|
474
|
+
var sSiblingURL = sPath.replace(/\(/g, '%28').replace(/\)/g, '%29');
|
|
475
|
+
oCMHelperService.publishData({
|
|
476
|
+
sAppTitle: sAppTitle,
|
|
477
|
+
sCurrentURL: sSiblingURL
|
|
478
|
+
});
|
|
479
|
+
}));
|
|
480
|
+
} else {
|
|
481
|
+
var sTargetURLPromise = oComponentUtils.getTargetIdentityForContext(oFocusInfo.focussedBindingContext);
|
|
482
|
+
sTargetURLPromise.then(function (sTargetURL) {
|
|
483
|
+
oCMHelperService.publishData({
|
|
484
|
+
sAppTitle: sAppTitle,
|
|
485
|
+
sCurrentURL: sTargetURL
|
|
486
|
+
});
|
|
487
|
+
});
|
|
488
|
+
}
|
|
489
|
+
});
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
/**
|
|
493
|
+
* Adds "Share to SAP Collaboration Manager" entry to context menu
|
|
494
|
+
* @param {sap.suite.ui.generic.template.lib.ContextMenuHandler.FocusInfo} oFocusInfo
|
|
495
|
+
* @param {Array<sap.suite.ui.generic.template.lib.ContextMenuHandler.ContextMenuEntry>} aItems
|
|
496
|
+
*/
|
|
497
|
+
function fnAddShareToCollaborationManager(oFocusInfo, aItems) {
|
|
498
|
+
fnInitToCollaborationManager().then(function (oCMHelperService) {
|
|
499
|
+
var oSharePromise = getSharePromiseForCollaborationManager(oFocusInfo, oCMHelperService);
|
|
500
|
+
if (oSharePromise) {
|
|
501
|
+
fnAddMainMenuItem(aItems, oCommonUtils.getText("ST_SHARE_TO_COLLABORATION_MANAGER"), null, false, oSharePromise);
|
|
502
|
+
}
|
|
503
|
+
}).catch(function (oError) {
|
|
504
|
+
oLogger.error("SAP Collaboration Manager is unavailable" + oError);
|
|
505
|
+
});
|
|
506
|
+
}
|
|
507
|
+
|
|
388
508
|
/************************************************************
|
|
389
509
|
* End of methods related to "Open in new tab" functionality
|
|
390
510
|
************************************************************/
|
|
@@ -395,8 +515,10 @@ sap.ui.define([
|
|
|
395
515
|
var aRet = [];
|
|
396
516
|
// Add the toolbar buttons to context menu
|
|
397
517
|
fnAddToolbarButtonsToContextMenu(oFocusInfo, aRet);
|
|
398
|
-
//Add an entry for "Open in new tab or window"
|
|
518
|
+
// Add an entry for "Open in new tab or window"
|
|
399
519
|
fnAddOpenInNewTabToContextMenu(oFocusInfo, aRet);
|
|
520
|
+
// Add an entry for "Share to SAP Collaboration Manager"
|
|
521
|
+
fnAddShareToCollaborationManager(oFocusInfo, aRet);
|
|
400
522
|
return aRet;
|
|
401
523
|
}
|
|
402
524
|
|
|
@@ -81,6 +81,10 @@ sap.ui.define([
|
|
|
81
81
|
var sRet = (bIsPopoverOpen && sMsgId && aControlIds && oCurrentMessageSupportFunctions) ? oCurrentMessageSupportFunctions.getSubtitle(sMsgId, sAdditionalText) : sAdditionalText;
|
|
82
82
|
return sRet;
|
|
83
83
|
}
|
|
84
|
+
|
|
85
|
+
function getDescription(sMsgId, aControlIds, sAdditionalText, bIsPopoverOpen){
|
|
86
|
+
return (bIsPopoverOpen && sMsgId && aControlIds && oCurrentMessageSupportFunctions) ? oCurrentMessageSupportFunctions.getDescription(sMsgId, sAdditionalText) : sAdditionalText;
|
|
87
|
+
}
|
|
84
88
|
|
|
85
89
|
// function that determines whether we are currently in the Non-draft create case
|
|
86
90
|
var getIsNonDraftCreate = (bIsODataBased && !bIsDraftEnabled) ? oUiModel.getProperty.bind(oUiModel, "/createMode") : function(){ return false; };
|
|
@@ -101,8 +105,10 @@ sap.ui.define([
|
|
|
101
105
|
ErrorExplanationHelper.generateErrorExplanation(oEvent, oController, oTemplateUtils);
|
|
102
106
|
},
|
|
103
107
|
getSubtitle: getSubtitle,
|
|
108
|
+
getDescription: getDescription,
|
|
104
109
|
titlePressed: function (oEvent) { // the user wants to navigate from the message to the corresponding control
|
|
105
110
|
MessageUtils.navigateFromMessageTitleEvent(oTemplateUtils, oEvent, oComponent, bIsDraftEnabled, sCurrentBindingPath);
|
|
111
|
+
oMessagePopover.close();
|
|
106
112
|
}
|
|
107
113
|
}).then(function (oMPopover) {
|
|
108
114
|
oMessagePopover = oMPopover;
|
|
@@ -79,7 +79,7 @@ sap.ui.define([
|
|
|
79
79
|
|
|
80
80
|
// This is the public method that can be used to set or remove the message which is currently displayed for a tab or a collection of tabs.
|
|
81
81
|
// oMessage: The object which represents the message that should currently be displayed. If it is faulty no message should be shown for the specified tabs.
|
|
82
|
-
// Otherwise it should be an object containing properties message (text of the message) and type (instance of sap
|
|
82
|
+
// Otherwise it should be an object containing properties message (text of the message) and type (instance of sap/ui/core/message/MessageType).
|
|
83
83
|
// vTab: Specifies the affected tabs: faulty -> all tabs affected, string -> identifies the affected tab, array -> lists the affected tabs
|
|
84
84
|
// If more than one tab is specified in this way these tabs will be considered to belong together for the close feature of the message strip.
|
|
85
85
|
// This means, that the message will be removed for all these tabs when the user closes the message strip.
|
|
@@ -3,6 +3,7 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
3
3
|
"sap/base/i18n/Formatting",
|
|
4
4
|
"sap/m/Button",
|
|
5
5
|
"sap/m/Dialog",
|
|
6
|
+
"sap/m/IllustratedMessageType",
|
|
6
7
|
"sap/m/ProgressIndicator",
|
|
7
8
|
"sap/m/Text",
|
|
8
9
|
"sap/m/library",
|
|
@@ -13,7 +14,7 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
13
14
|
"sap/ui/model/FilterOperator",
|
|
14
15
|
"sap/ui/model/json/JSONModel",
|
|
15
16
|
"sap/suite/ui/generic/template/genericUtilities/testableHelper"
|
|
16
|
-
], function (BaseObject, extend, Formatting, Button, Dialog, ProgressIndicator, Text, mobileLibrary, DateFormat, coreLibrary,
|
|
17
|
+
], function (BaseObject, extend, Formatting, Button, Dialog, IllustratedMessageType, ProgressIndicator, Text, mobileLibrary, DateFormat, coreLibrary,
|
|
17
18
|
Messaging, Filter, FilterOperator, JSONModel, testableHelper) {
|
|
18
19
|
"use strict";
|
|
19
20
|
|
|
@@ -63,8 +64,6 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
63
64
|
var ButtonType = mobileLibrary.ButtonType;
|
|
64
65
|
// Shortcut for sap.m.DialogType
|
|
65
66
|
var DialogType = mobileLibrary.DialogType;
|
|
66
|
-
// Shortcut for sap.m.IllustratedMessageType
|
|
67
|
-
var IllustratedMessageType = mobileLibrary.IllustratedMessageType;
|
|
68
67
|
// Shortcut for sap.ui.core.ValueState
|
|
69
68
|
var ValueState = coreLibrary.ValueState;
|
|
70
69
|
// Shortcut for getting i18n text
|
|
@@ -209,7 +209,6 @@ sap.ui.define(["sap/suite/ui/generic/template/js/AnnotationHelper",
|
|
|
209
209
|
|
|
210
210
|
/**
|
|
211
211
|
* Configures a side effect for custom field.
|
|
212
|
-
* @param {Object} oView - The view instance of the object page.
|
|
213
212
|
* @param {Object} oControl - The control object for the custom field.
|
|
214
213
|
* @param {String} sProperty - The name of the property associated with the custom field.
|
|
215
214
|
* @param {String} sEntitySet - The entity set to which the custom field belongs.
|
|
@@ -260,12 +259,50 @@ sap.ui.define(["sap/suite/ui/generic/template/js/AnnotationHelper",
|
|
|
260
259
|
}
|
|
261
260
|
}
|
|
262
261
|
|
|
262
|
+
/**
|
|
263
|
+
* Configures a side effect for custom column.
|
|
264
|
+
* @param {Object} oTable - The controller for the custom column.
|
|
265
|
+
* @param {String} sProperty - The name of the property associated with the custom column.
|
|
266
|
+
* @param {String} sEntitySet - The entity set to which the custom column belongs.
|
|
267
|
+
* @param {String} oController - Object page controller.
|
|
268
|
+
*/
|
|
269
|
+
function registerCustomColumnForSideEffect(oTable, sProperty, sEntitySet, oController) {
|
|
270
|
+
var aRows;
|
|
271
|
+
if (oTable.isA("sap.m.Table")) {
|
|
272
|
+
aRows = oTable.getAggregation("items");
|
|
273
|
+
} else if (oTable.isA("sap.ui.table.Table")) {
|
|
274
|
+
aRows = oTable.getAggregation("rows");
|
|
275
|
+
}
|
|
276
|
+
var oMetaModel = oController.getView().getModel().getMetaModel();
|
|
277
|
+
var oEntitySet = oMetaModel.getODataEntitySet(sEntitySet);
|
|
278
|
+
var oEntityType = oMetaModel.getODataEntityType(oEntitySet.entityType);
|
|
279
|
+
var oProperty = oMetaModel.getODataProperty(oEntityType, sProperty);
|
|
280
|
+
let columnIndex = oTable.getAggregation("columns").findIndex(oCol => {
|
|
281
|
+
return oCol.data("p13nData").leadingProperty == sProperty;
|
|
282
|
+
|
|
283
|
+
});
|
|
284
|
+
//The method SharedUtil.applyFieldGroupIDs takes in the control and its metadata, reads the Side Effect annotations configured for it
|
|
285
|
+
//and assigns the fieldGroupID accordingly.
|
|
286
|
+
aRows.forEach(oRows => {
|
|
287
|
+
var aCells = oRows.getCells();
|
|
288
|
+
SharedUtil.applyFieldGroupIDs(aCells[columnIndex], {
|
|
289
|
+
entitySet: oEntitySet,
|
|
290
|
+
entityType: oEntityType,
|
|
291
|
+
path: sProperty,
|
|
292
|
+
property: {
|
|
293
|
+
property: oProperty
|
|
294
|
+
}
|
|
295
|
+
});
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
|
|
263
299
|
return {
|
|
264
300
|
handleSideEffectForField : fnHandleSideEffectForField,
|
|
265
301
|
assignFieldGroupIds: fnAssignFieldGroupIds,
|
|
266
302
|
getPropsForLinkFields: fnGetPropsForLinkFields,
|
|
267
303
|
assignFieldGroupIdsToLinkField: fnAssignFieldGroupIdsToLinkField,
|
|
268
304
|
registerCustomFieldForSideEffect: registerCustomFieldForSideEffect,
|
|
269
|
-
fieldGroupChangeRegister: fieldGroupChangeRegister
|
|
305
|
+
fieldGroupChangeRegister: fieldGroupChangeRegister,
|
|
306
|
+
registerCustomColumnForSideEffect: registerCustomColumnForSideEffect
|
|
270
307
|
};
|
|
271
308
|
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
sap.ui.define([
|
|
1
|
+
sap.ui.define([
|
|
2
|
+
"sap/ui/core/mvc/ViewType",
|
|
2
3
|
"sap/ui/core/Component",
|
|
3
4
|
"sap/ui/core/UIComponent",
|
|
4
5
|
"sap/ui/model/json/JSONModel",
|
|
@@ -18,7 +19,7 @@ sap.ui.define(["sap/ui/core/library",
|
|
|
18
19
|
"sap/m/IllustratedMessageType",
|
|
19
20
|
"sap/ui/core/Element"
|
|
20
21
|
], function (
|
|
21
|
-
|
|
22
|
+
ViewType,
|
|
22
23
|
Component,
|
|
23
24
|
UIComponent,
|
|
24
25
|
JSONModel,
|
|
@@ -41,8 +42,6 @@ sap.ui.define(["sap/ui/core/library",
|
|
|
41
42
|
"use strict";
|
|
42
43
|
var sClassName = "lib.TemplateComponent";
|
|
43
44
|
var oLogger = new FeLogger(sClassName).getLogger();
|
|
44
|
-
// shortcut for sap.ui.core.mvc.ViewType
|
|
45
|
-
var ViewType = coreLibrary.mvc.ViewType;
|
|
46
45
|
|
|
47
46
|
// This method enhances the i18n model which has been attached to the template component via the manifest.
|
|
48
47
|
// For this purpose the following enhancement chain is built:
|