@sapui5/sap.suite.ui.generic.template 1.123.1 → 1.124.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 +4 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/controller/ControllerImplementation.js +16 -9
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/controller/CtxMenuHandler.js +77 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n.properties +3 -0
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/util/FilterUtil.js +52 -51
- package/src/sap/suite/ui/generic/template/Canvas/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/controller/ControllerImplementation.js +5 -4
- package/src/sap/suite/ui/generic/template/ListReport/controller/CtxMenuHandler.js +20 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n.properties +3 -0
- package/src/sap/suite/ui/generic/template/ListReport/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/ControllerImplementation.js +130 -99
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/CtxMenuHandler.js +8 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/MessageSortingHandler.js +2 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/MessageStripHelper.js +4 -3
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/PasteHandler.js +12 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/SectionTitleHandler.js +15 -3
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/inlineCreationRows/InlineCreationRowsHelper.js +12 -15
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/inlineCreationRows/RequiredPropHelper.js +4 -3
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n.properties +4 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/manifest.json +5 -2
- package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/Actions.fragment.xml +12 -12
- package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartTable.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/detailTemplates/detailUtils.js +3 -3
- package/src/sap/suite/ui/generic/template/extensionAPI/extensionAPI.js +2 -0
- package/src/sap/suite/ui/generic/template/fragments/AnalyticalTableColumns.fragment.xml +1 -1
- package/src/sap/suite/ui/generic/template/fragments/ContactDetails.fragment.xml +15 -9
- package/src/sap/suite/ui/generic/template/fragments/ContactDetailsQuickViewGroupReplica.fragment.xml +6 -3
- package/src/sap/suite/ui/generic/template/fragments/FileUploader.fragment.xml +1 -0
- package/src/sap/suite/ui/generic/template/fragments/QuickViewSmartForm.fragment.xml +6 -3
- package/src/sap/suite/ui/generic/template/fragments/TableColumns.fragment.xml +12 -0
- package/src/sap/suite/ui/generic/template/genericUtilities/controlHelper.js +5 -9
- package/src/sap/suite/ui/generic/template/js/RuntimeFormatters.js +2 -3
- package/src/sap/suite/ui/generic/template/lib/AdaptiveCardHelper.js +2 -4
- package/src/sap/suite/ui/generic/template/lib/AppComponent.js +24 -16
- package/src/sap/suite/ui/generic/template/lib/CRUDActionHandler.js +5 -5
- package/src/sap/suite/ui/generic/template/lib/CRUDManager.js +3 -2
- package/src/sap/suite/ui/generic/template/lib/CommonEventHandlers.js +68 -57
- package/src/sap/suite/ui/generic/template/lib/CommonUtils.js +30 -7
- package/src/sap/suite/ui/generic/template/lib/ContactCardDetailHelper.js +4 -18
- package/src/sap/suite/ui/generic/template/lib/ContextMenuHandler.js +20 -18
- package/src/sap/suite/ui/generic/template/lib/ShareUtils.js +141 -126
- package/src/sap/suite/ui/generic/template/lib/cards/DTCardHelper.js +48 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n.properties +5 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en.properties +1 -1
- package/src/sap/suite/ui/generic/template/lib/insights/InsightsCardHelper.js +14 -7
- package/src/sap/suite/ui/generic/template/lib/insights/InsightsFECardProvider.js +1 -1
- package/src/sap/suite/ui/generic/template/lib/insights/InsightsHandler.js +54 -17
- package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +1 -1
- package/src/sap/suite/ui/generic/template/library.js +7 -5
- package/src/sap/suite/ui/generic/template/listTemplates/controller/IappStateHandler.js +5 -0
- package/src/sap/suite/ui/generic/template/listTemplates/fragments/DetailSmartTable.fragment.xml +6 -0
- package/src/sap/suite/ui/generic/template/listTemplates/listUtils.js +2 -5
- package/src/sap/suite/ui/generic/template/support/lib/CommonChecks.js +4 -6
- package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal/library.source.less +10 -1
- package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/ALPConstants.less +47 -0
- package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/AnalyticalListPage.less +475 -0
- package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/ListReport.less +33 -0
- package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/ObjectPage.less +391 -0
- package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/QuickCreate.less +96 -0
- package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/QuickView.less +108 -0
- package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/alr_zen.css +136 -0
- package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/base.less +7 -0
- package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/crosstab_library.css +20 -0
- package/src/sap/suite/ui/generic/template/themes/sap_bluecrystal_base/library.source.less +9 -0
- package/ui5.yaml +1 -0
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
(c) Copyright 2009-2015 SAP SE. All rights reserved
|
|
9
9
|
</copyright>
|
|
10
|
-
<version>1.
|
|
10
|
+
<version>1.124.1</version>
|
|
11
11
|
|
|
12
12
|
<documentation>Library with generic Suite UI templates.</documentation>
|
|
13
13
|
|
|
@@ -65,6 +65,9 @@
|
|
|
65
65
|
<dependency>
|
|
66
66
|
<libraryName>sap.fe.placeholder</libraryName>
|
|
67
67
|
</dependency>
|
|
68
|
+
<dependency>
|
|
69
|
+
<libraryName>sap.cards.ap.common</libraryName>
|
|
70
|
+
</dependency>
|
|
68
71
|
</dependencies>
|
|
69
72
|
|
|
70
73
|
<appData>
|
package/src/sap/suite/ui/generic/template/AnalyticalListPage/controller/ControllerImplementation.js
CHANGED
|
@@ -29,12 +29,13 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
|
|
|
29
29
|
"sap/suite/ui/generic/template/lib/insights/InsightsHandler",
|
|
30
30
|
"sap/suite/ui/generic/template/genericUtilities/metadataAnalyser",
|
|
31
31
|
"sap/suite/ui/generic/template/genericUtilities/filterHelper",
|
|
32
|
-
"sap/suite/ui/generic/template/js/AnnotationHelperHiddenTermSupport"
|
|
32
|
+
"sap/suite/ui/generic/template/js/AnnotationHelperHiddenTermSupport",
|
|
33
|
+
"sap/suite/ui/generic/template/AnalyticalListPage/controller/CtxMenuHandler"
|
|
33
34
|
], function(SelectionVariant, ExtensionAPI,
|
|
34
35
|
FilterBarController, ToolbarController, VisualFilterBarController, VisualFilterDialogController, AnalyticGridController, AnalyticalTable,
|
|
35
36
|
ODataAnnotationHelper, Analytics, ContentAreaController, IappStateHandler, Device, SegmentedButtonItem, ALPHelper, controlHelper, FeLogger,
|
|
36
37
|
ObjectPath, ShareUtils, merge, deepExtend, ListUtils, MultipleViewsHandler, StableIdHelper, MessageStripHelper, JSONModel, PersonalizationControllerUtil,
|
|
37
|
-
InsightsHandler, metadataAnalyser, filterHelper, AnnotationHelperHiddenTermSupport) {
|
|
38
|
+
InsightsHandler, metadataAnalyser, filterHelper, AnnotationHelperHiddenTermSupport, CtxMenuHandler) {
|
|
38
39
|
|
|
39
40
|
"use strict";
|
|
40
41
|
|
|
@@ -54,6 +55,7 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
|
|
|
54
55
|
oState.bVisualFilterInitialised = false;
|
|
55
56
|
oState._bIsStartingUp = true;
|
|
56
57
|
var bTableRebindRequired = false; // This boolean value decides whether or not the table has to be rebind.
|
|
58
|
+
var oContextMenuHandler = new CtxMenuHandler(oController, oTemplateUtils, oState);
|
|
57
59
|
|
|
58
60
|
function attachRefreshInterval(nRefreshInterval) {
|
|
59
61
|
oState.oRefreshTimer = setTimeout(function () {
|
|
@@ -260,12 +262,12 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
|
|
|
260
262
|
var sEntityTypeName = oMetaModel.getODataEntitySet(oPresentationControlHandler.getEntitySet()).entityType;
|
|
261
263
|
var oTable = oState.oSmartTable.getTable();
|
|
262
264
|
var oBinding = oTable.getBinding("rows") || oTable.getBinding("items");
|
|
263
|
-
var sServiceUrl = oBinding
|
|
265
|
+
var sServiceUrl = oBinding ? oBinding.getDownloadUrl() : "";
|
|
264
266
|
// - For Analytical Binding.
|
|
265
267
|
// we recv. aApplicationFilter and aApplicationFilters binding both but aApplicationFilter have actual filters operator value.
|
|
266
268
|
// - For List Binding.
|
|
267
269
|
// we recv. only aApplicationFilters contains filter operator.
|
|
268
|
-
var aFilters = oBinding.aApplicationFilter || oBinding.aApplicationFilters;
|
|
270
|
+
var aFilters = oBinding ? (oBinding.aApplicationFilter || oBinding.aApplicationFilters) : [];
|
|
269
271
|
// non-draft case when no filter is applied
|
|
270
272
|
if (!aFilters.length) {
|
|
271
273
|
return Promise.resolve({
|
|
@@ -445,8 +447,9 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
|
|
|
445
447
|
oTemplatePrivateModel.bindProperty("/alp/filterChanged").attachChange(function(oChangeEvent) {
|
|
446
448
|
if (!oChangeEvent.getSource().getValue()) {//filterChange is false if GO button is pressed , hence add shareCards
|
|
447
449
|
var oPresentationControlHandler = oTemplateUtils.oServices.oPresentationControlHandlerFactory.getPresentationControlHandler(oState.oSmartChart);
|
|
448
|
-
|
|
449
|
-
|
|
450
|
+
oState.oInsightsHandler.getCardsToShare("Analytical", oPresentationControlHandler).then(function (aShareCards) {
|
|
451
|
+
oCardProviderInstance.onViewUpdate(true, aShareCards);
|
|
452
|
+
});
|
|
450
453
|
} else {
|
|
451
454
|
oCardProviderInstance.onViewUpdate(true, []);
|
|
452
455
|
}
|
|
@@ -912,6 +915,7 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
|
|
|
912
915
|
sSearchFieldValue = oBasicSearchField.getValue();
|
|
913
916
|
}
|
|
914
917
|
oFilterData._CUSTOM = oCurrentAppState.customData;
|
|
918
|
+
oFilterData._CUSTOM["sap.suite.ui.generic.template.genericData"].variantDirty = false;
|
|
915
919
|
oState.oSmartFilterbar.setFilterData(oFilterData, true);
|
|
916
920
|
if (sSearchFieldValue) { // the previous statement has blanked the content of the search field -> reset it to the stored value
|
|
917
921
|
oState.oSmartFilterbar.getBasicSearchControl().setValue(sSearchFieldValue);
|
|
@@ -1252,9 +1256,12 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
|
|
|
1252
1256
|
onBeforeExport: function (oExportEvent) {
|
|
1253
1257
|
oTemplateUtils.oCommonEventHandlers.onBeforeExport(oExportEvent);
|
|
1254
1258
|
},
|
|
1255
|
-
beforeOpenContextMenu: function(oEvent, sSmartControlId){
|
|
1256
|
-
|
|
1257
|
-
}
|
|
1259
|
+
beforeOpenContextMenu: function (oEvent, sSmartControlId) {
|
|
1260
|
+
oContextMenuHandler.beforeOpenContextMenu(oEvent, sSmartControlId);
|
|
1261
|
+
},
|
|
1262
|
+
onContextMenu: function (oEvent, sSmartControlId) {
|
|
1263
|
+
oContextMenuHandler.onContextMenu(oEvent, sSmartControlId);
|
|
1264
|
+
}
|
|
1258
1265
|
},
|
|
1259
1266
|
|
|
1260
1267
|
formatters: {
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
sap.ui.define([
|
|
2
|
+
"sap/ui/base/Object",
|
|
3
|
+
"sap/base/util/extend",
|
|
4
|
+
"sap/suite/ui/generic/template/lib/ContextMenuHandler"
|
|
5
|
+
], function(BaseObject, extend, ContextMenuHandler) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
function getMethods(oController, oTemplateUtils, oState) {
|
|
9
|
+
var mGenericCtxMenuHandlers = Object.create(null);
|
|
10
|
+
|
|
11
|
+
function fnExecuteAction(sSmartControlId, oFocusInfo, oToolbarControlData, oButton){
|
|
12
|
+
if (oToolbarControlData.RecordType === "CRUDActionDelete"){
|
|
13
|
+
oTemplateUtils.oCommonEventHandlers.deleteContextsFromTable(oController.byId(sSmartControlId), oFocusInfo.applicableContexts);
|
|
14
|
+
} else if (oToolbarControlData.RecordType === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation"){
|
|
15
|
+
var oButtonCustomData = oButton.data();
|
|
16
|
+
oTemplateUtils.oCommonEventHandlers.onDataFieldForIntentBasedNavigationSelectedContext(oButtonCustomData, oFocusInfo.applicableContexts, oState.oSmartFilterbar);
|
|
17
|
+
} else if (oToolbarControlData.RecordType === "com.sap.vocabularies.UI.v1.DataFieldForAction"){
|
|
18
|
+
var oSmartControl = oController.byId(sSmartControlId);
|
|
19
|
+
var oButtonCustomData = oButton.data();
|
|
20
|
+
oTemplateUtils.oCommonEventHandlers.onCallActionFromToolBarForContexts(oSmartControl, oSmartControl.getTable(), oButtonCustomData, oFocusInfo.applicableContexts, oState, oSmartControl.getEntitySet(), true);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Finds the breakout action data from "aBreakoutActionsData" (manifest action data) by toolbar button's local id.
|
|
26
|
+
* - In single view single table and multi view single table, buttons's local id = manifest action id.
|
|
27
|
+
* - In multi view multi table, local id = template:::ALPAction:::ExtensionAction:::sQuickVariantKey::<MULTI_VIEW_TAB_ID>:::sAction::<MANIFEST_ACTION_ID>
|
|
28
|
+
*/
|
|
29
|
+
function fnFindBreakoutActionByLocalId(aBreakoutActionsData, sToolbarButtonLocalId) {
|
|
30
|
+
var oMultipleViewsHandler = oState.oMultipleViewsHandler;
|
|
31
|
+
var bIsMultiViewMultiTable = oMultipleViewsHandler.getMode && oMultipleViewsHandler.getMode() === "multi";
|
|
32
|
+
|
|
33
|
+
return aBreakoutActionsData.find(function (oBreakoutAction) {
|
|
34
|
+
if (bIsMultiViewMultiTable) {
|
|
35
|
+
return sToolbarButtonLocalId.endsWith("::" + oBreakoutAction.id);
|
|
36
|
+
}
|
|
37
|
+
return sToolbarButtonLocalId === oBreakoutAction.id;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function getGenericHandler(sSmartControlId){
|
|
42
|
+
var oRet = mGenericCtxMenuHandlers[sSmartControlId];
|
|
43
|
+
if (!oRet){
|
|
44
|
+
var oSmartControl = oController.byId(sSmartControlId);
|
|
45
|
+
var oConfiguration = {
|
|
46
|
+
executeAction: fnExecuteAction.bind(null, sSmartControlId),
|
|
47
|
+
findBreakoutActionByLocalId: fnFindBreakoutActionByLocalId
|
|
48
|
+
};
|
|
49
|
+
oRet = new ContextMenuHandler(oController, oTemplateUtils, oState, oSmartControl, oConfiguration);
|
|
50
|
+
mGenericCtxMenuHandlers[sSmartControlId] = oRet;
|
|
51
|
+
}
|
|
52
|
+
return oRet;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function fnBeforeOpenContextMenu(oEvent, sSmartControlId){
|
|
56
|
+
var oGenericHandler = getGenericHandler(sSmartControlId);
|
|
57
|
+
oGenericHandler.beforeOpenContextMenu(oEvent);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function onContextMenu(oEvent, sSmartControlId){
|
|
61
|
+
var oGenericHandler = getGenericHandler(sSmartControlId);
|
|
62
|
+
oGenericHandler.onContextMenu(oEvent);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// public instance methods
|
|
66
|
+
return {
|
|
67
|
+
beforeOpenContextMenu: fnBeforeOpenContextMenu,
|
|
68
|
+
onContextMenu: onContextMenu
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return BaseObject.extend("sap.suite.ui.generic.template.AnalyticalListPage.controller.CtxMenuHandler", {
|
|
73
|
+
constructor: function(oController, oTemplateUtils, oState) {
|
|
74
|
+
extend(this, getMethods(oController, oTemplateUtils, oState));
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
});
|
|
@@ -130,6 +130,9 @@ VISUAL_FILTER_SORT_ORDER=Sort Order
|
|
|
130
130
|
# XTIT,40: Title of a form with contact person information
|
|
131
131
|
CONTACT_INFO=Contact Information
|
|
132
132
|
|
|
133
|
+
# XTIT,30: Title of a Toolbar with share button
|
|
134
|
+
CONTACT_OPTION=Microsoft Teams
|
|
135
|
+
|
|
133
136
|
#------------Quick View Contact Card Labels-----------------------
|
|
134
137
|
|
|
135
138
|
# XTIT,30: Job title of a person
|
|
@@ -8,8 +8,9 @@ sap.ui.define([
|
|
|
8
8
|
"sap/ui/model/odata/AnnotationHelper",
|
|
9
9
|
"sap/ui/events/KeyCodes",
|
|
10
10
|
'sap/ui/comp/odata/FiscalFormat',
|
|
11
|
-
"sap/suite/ui/generic/template/genericUtilities/metadataAnalyser"
|
|
12
|
-
|
|
11
|
+
"sap/suite/ui/generic/template/genericUtilities/metadataAnalyser",
|
|
12
|
+
"sap/ui/core/date/UI5Date"
|
|
13
|
+
], function(MetadataAnalyser, BaseObject, Context, OperationCode, V4Terms, DateFormat, ODataAnnotationHelper, KeyCodes, FiscalFormat, metadataAnalyser,UI5Date) {
|
|
13
14
|
"use strict";
|
|
14
15
|
var FilterUtil = BaseObject.extend("sap.suite.ui.generic.template.AnalyticalListPage.util.FilterUtil");
|
|
15
16
|
/**
|
|
@@ -686,71 +687,71 @@ sap.ui.define([
|
|
|
686
687
|
};
|
|
687
688
|
|
|
688
689
|
FilterUtil.formatStringDateYearMonth = function (oDimFieldDisplay, bIsChartType, bIsSecondaryLabel) {
|
|
689
|
-
if (oDimFieldDisplay
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
}
|
|
690
|
+
if (!oDimFieldDisplay) {
|
|
691
|
+
return oDimFieldDisplay;
|
|
692
|
+
}
|
|
693
|
+
var a = oDimFieldDisplay;
|
|
694
|
+
var b = "-";
|
|
695
|
+
var position = 4;
|
|
696
|
+
var output = [a.slice(0, position), b, a.slice(position)].join('');
|
|
697
|
+
var oDate = UI5Date.getInstance(output);
|
|
698
|
+
if ( bIsChartType === "Line" ) {
|
|
699
|
+
var oFormatterYear = DateFormat.getDateTimeInstance({format: "Y", UTC: true});
|
|
700
|
+
var oFormatterYearMonth = DateFormat.getDateTimeInstance({format: "MMM", UTC: true});
|
|
701
|
+
if (bIsSecondaryLabel) {
|
|
702
|
+
return oFormatterYear.format(oDate);
|
|
703
703
|
} else {
|
|
704
|
-
|
|
705
|
-
return oFormatter.format(oDate);
|
|
704
|
+
return oFormatterYearMonth.format(oDate);
|
|
706
705
|
}
|
|
706
|
+
} else {
|
|
707
|
+
var oFormatter = DateFormat.getDateTimeInstance({format: "YYYYMMM", UTC: true});
|
|
708
|
+
return oFormatter.format(oDate);
|
|
707
709
|
}
|
|
708
|
-
return oDimFieldDisplay;
|
|
709
710
|
};
|
|
710
711
|
|
|
711
712
|
FilterUtil.formatStringDateYearQuarter = function (oDimFieldDisplay, bIsChartType, bIsSecondaryLabel) {
|
|
712
|
-
if (oDimFieldDisplay
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
}
|
|
713
|
+
if (!oDimFieldDisplay) {
|
|
714
|
+
return oDimFieldDisplay;
|
|
715
|
+
}
|
|
716
|
+
var year = parseInt(oDimFieldDisplay.substr(0,4), 10),
|
|
717
|
+
quarter = oDimFieldDisplay.substr(4),
|
|
718
|
+
monthFromQuarter = (parseInt(quarter, 10) * 3) - 2,
|
|
719
|
+
//month attribute in Date constructor is 0-based
|
|
720
|
+
monthIndex = monthFromQuarter - 1,
|
|
721
|
+
oDate = UI5Date.getInstance(Date.UTC(year, monthIndex));
|
|
722
|
+
if ( bIsChartType === "Line" ) {
|
|
723
|
+
var oFormatter = DateFormat.getDateTimeInstance({format: "QQQ", UTC: true});
|
|
724
|
+
if (bIsSecondaryLabel) {
|
|
725
|
+
return year;
|
|
726
726
|
} else {
|
|
727
|
-
var oFormatter = DateFormat.getDateTimeInstance({format: "YYYYQ"});
|
|
728
727
|
return oFormatter.format(oDate);
|
|
729
728
|
}
|
|
729
|
+
} else {
|
|
730
|
+
var oFormatter = DateFormat.getDateTimeInstance({format: "YYYYQ", UTC: true});
|
|
731
|
+
return oFormatter.format(oDate);
|
|
730
732
|
}
|
|
731
|
-
return oDimFieldDisplay;
|
|
732
733
|
};
|
|
733
734
|
|
|
734
735
|
FilterUtil.formatStringDateYearWeek = function (oDimFieldDisplay, bIsChartType, bIsSecondaryLabel) {
|
|
735
|
-
if (oDimFieldDisplay
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
}
|
|
736
|
+
if (!oDimFieldDisplay) {
|
|
737
|
+
return oDimFieldDisplay;
|
|
738
|
+
}
|
|
739
|
+
var year = parseInt(oDimFieldDisplay.substr(0,4), 10),
|
|
740
|
+
week = oDimFieldDisplay.substr(4),
|
|
741
|
+
startOfWeekDay = (1 + (parseInt(week, 10) - 1) * 7), // 1st of January + 7 days for each week
|
|
742
|
+
oDate = UI5Date.getInstance(Date.UTC(year, 0, startOfWeekDay));
|
|
743
|
+
var oFormatterForYear = DateFormat.getDateTimeInstance({format: "Y", UTC: true}),
|
|
744
|
+
oFormatterForCalendarWeek = DateFormat.getDateTimeInstance({format: "www", UTC: true});
|
|
745
|
+
if ( bIsChartType === "Line" ) {
|
|
746
|
+
if (bIsSecondaryLabel) {
|
|
747
|
+
return oFormatterForYear.format(oDate);
|
|
748
748
|
} else {
|
|
749
|
-
|
|
750
|
-
return oCalendarYearWeekLabel;
|
|
749
|
+
return oFormatterForCalendarWeek.format(oDate);
|
|
751
750
|
}
|
|
751
|
+
} else {
|
|
752
|
+
var oCalendarYearWeekLabel = oFormatterForCalendarWeek.format(oDate).concat(" ", oFormatterForYear.format(oDate));
|
|
753
|
+
return oCalendarYearWeekLabel;
|
|
752
754
|
}
|
|
753
|
-
return oDimFieldDisplay;
|
|
754
755
|
};
|
|
755
756
|
|
|
756
757
|
FilterUtil.formatStringFiscalYearPeriod = function (oDimFieldDisplay, bIsChartType, bIsSecondaryLabel) {
|
|
@@ -305,12 +305,12 @@ sap.ui.define([
|
|
|
305
305
|
var oMetaModel = oPresentationControlHandler.getModel().getMetaModel();
|
|
306
306
|
var sEntityTypeName = oMetaModel.getODataEntitySet(oPresentationControlHandler.getEntitySet()).entityType;
|
|
307
307
|
var oBinding = oPresentationControlHandler.getBinding(oState);
|
|
308
|
-
var sServiceUrl = oBinding.getDownloadUrl();
|
|
308
|
+
var sServiceUrl = oBinding ? oBinding.getDownloadUrl() : "";
|
|
309
309
|
// - For Analytical Binding.
|
|
310
310
|
// we recv. aApplicationFilter and aApplicationFilters binding both but aApplicationFilter have actual filters operator value.
|
|
311
311
|
// - For List Binding.
|
|
312
312
|
// we recv. only aApplicationFilters contains filter operator.
|
|
313
|
-
var aFilters = oBinding.aApplicationFilter || oBinding.aApplicationFilters;
|
|
313
|
+
var aFilters = oBinding ? (oBinding.aApplicationFilter || oBinding.aApplicationFilters) : [];
|
|
314
314
|
// non-draft case when no filter is applied
|
|
315
315
|
if (!aFilters.length) {
|
|
316
316
|
return Promise.resolve({
|
|
@@ -558,8 +558,9 @@ sap.ui.define([
|
|
|
558
558
|
oTemplateUtils.oServices.oInsightsFECardProvider.fnRegisterComponentForProvider(oState.oInsightsHandler, oController.getView().getId());
|
|
559
559
|
oTemplatePrivateModel.bindProperty("/generic/bDataAreShownInTable").attachChange(function(oChangeEvent) {
|
|
560
560
|
if (oChangeEvent.getSource().getValue()) {
|
|
561
|
-
|
|
562
|
-
|
|
561
|
+
oState.oInsightsHandler.getCardsToShare("Table").then(function (aShareCards) {
|
|
562
|
+
oCardProviderInstance.onViewUpdate(true, aShareCards);
|
|
563
|
+
});
|
|
563
564
|
} else {
|
|
564
565
|
oCardProviderInstance.onViewUpdate(true, []);
|
|
565
566
|
}
|
|
@@ -24,12 +24,31 @@ sap.ui.define([
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
/**
|
|
28
|
+
* Finds the breakout action data from "aBreakoutActionsData" (manifest action data) by toolbar button's local id.
|
|
29
|
+
* - In single view single table and multi view single table, buttons's local id = manifest action id.
|
|
30
|
+
* - In multi view multi table, local id = (manifest action id + "-" + multi view tab id)
|
|
31
|
+
*/
|
|
32
|
+
function fnFindBreakoutActionByLocalId(aBreakoutActionsData, sToolbarButtonLocalId) {
|
|
33
|
+
// In the multi table multi view scenario, the toolbar button id is suffixed with icon tab bar's current key.
|
|
34
|
+
var oMultipleViewsHandler = oState.oMultipleViewsHandler;
|
|
35
|
+
var sButtonIdSuffix = oMultipleViewsHandler.getMode && oMultipleViewsHandler.getMode() === "multi" ? oMultipleViewsHandler.getSelectedKey() : "";
|
|
36
|
+
return aBreakoutActionsData.find(function (oBreakoutAction) {
|
|
37
|
+
// In multi table multi view, toolbar button local id = (manifest action id + "-" + multi view tab id).
|
|
38
|
+
if (sButtonIdSuffix) {
|
|
39
|
+
return sToolbarButtonLocalId === (oBreakoutAction.id + "-" + sButtonIdSuffix);
|
|
40
|
+
}
|
|
41
|
+
return sToolbarButtonLocalId === oBreakoutAction.id;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
27
45
|
function getGenericHandler(sSmartControlId){
|
|
28
46
|
var oRet = mGenericCtxMenuHandlers[sSmartControlId];
|
|
29
47
|
if (!oRet){
|
|
30
48
|
var oSmartControl = oController.byId(sSmartControlId);
|
|
31
49
|
var oConfiguration = {
|
|
32
|
-
executeAction: fnExecuteAction.bind(null, sSmartControlId)
|
|
50
|
+
executeAction: fnExecuteAction.bind(null, sSmartControlId),
|
|
51
|
+
findBreakoutActionByLocalId: fnFindBreakoutActionByLocalId
|
|
33
52
|
};
|
|
34
53
|
oRet = new ContextMenuHandler(oController, oTemplateUtils, oState, oSmartControl, oConfiguration);
|
|
35
54
|
mGenericCtxMenuHandlers[sSmartControlId] = oRet;
|
|
@@ -34,6 +34,9 @@ NAVIGATE_TO_DETAIL=Show Details
|
|
|
34
34
|
# YMSG, 100: exposed as subject of Email, example: Link to Object List
|
|
35
35
|
EMAIL_HEADER=Link to {0}
|
|
36
36
|
|
|
37
|
+
# XTIT,30: Title of a Toolbar with share button
|
|
38
|
+
CONTACT_OPTION=Microsoft Teams
|
|
39
|
+
|
|
37
40
|
# XTIT,30: Title of a form with contact person information
|
|
38
41
|
CONTACT_INFO=Contact Information
|
|
39
42
|
|