@sapui5/sap.suite.ui.generic.template 1.144.1 → 1.145.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/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/Canvas/behaviour.js +11 -0
- package/src/sap/suite/ui/generic/template/Canvas/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/controller/ControllerImplementation.js +92 -9
- package/src/sap/suite/ui/generic/template/ListReport/controller/IappStateHandler.js +19 -8
- package/src/sap/suite/ui/generic/template/ListReport/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartChart.fragment.xml +3 -2
- package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartTable.fragment.xml +5 -4
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/ControllerImplementation.js +5 -2
- package/src/sap/suite/ui/generic/template/ObjectPage/extensionAPI/ExtensionAPI.js +2 -2
- package/src/sap/suite/ui/generic/template/ObjectPage/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartChart.fragment.xml +3 -2
- package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartTable.fragment.xml +3 -2
- package/src/sap/suite/ui/generic/template/QuickCreate/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/QuickView/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/designtime/floorplans/ObjectPage.designtime.js +6 -1
- package/src/sap/suite/ui/generic/template/designtime/utils/designtimeUtils.js +10 -3
- package/src/sap/suite/ui/generic/template/fragments/QuickViewSmartForm.fragment.xml +4 -3
- package/src/sap/suite/ui/generic/template/genericUtilities/ControlStateWrapperFactory.js +108 -67
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/DynamicPageWrapper.js +19 -51
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/ObjectPageLayoutWrapper.js +10 -32
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/PreliminaryWrapper.js +151 -0
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SearchFieldWrapper.js +8 -30
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartFilterBarWrapper.js +49 -162
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartTableChartCommon.js +100 -94
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartTableWrapper.js +22 -3
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartVariantManagementWrapper.js +90 -81
- package/src/sap/suite/ui/generic/template/lib/AppComponent.js +1 -1
- package/src/sap/suite/ui/generic/template/lib/PageLeaveHandler.js +36 -8
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n.properties +3 -0
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saprigi.properties +2 -0
- package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +10 -25
- package/src/sap/suite/ui/generic/template/lib/presentationControl/SmartTableHandler.js +1 -1
- package/src/sap/suite/ui/generic/template/library.js +1 -1
package/package.json
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// This class contains behaviour information about the Canvas floorplan which can be used by the framework even before an instance of the Canvas has been created
|
|
2
|
+
// Canvas does not have a specific placeholder pattern like LR/OP, so we display the standard placeholder.
|
|
3
|
+
// The routing helper calls the Fiori-defined placeholder for all floor plans; therefore, we introduce the code below with an empty object
|
|
4
|
+
// to prevent a 404 error.
|
|
5
|
+
// In the future, if we introduce an extension to display a placeholder, this code can be reused for that purpose.
|
|
6
|
+
|
|
7
|
+
sap.ui.define(["sap/ui/core/mvc/XMLView"], function(XMLView){
|
|
8
|
+
"use strict";
|
|
9
|
+
|
|
10
|
+
return {};
|
|
11
|
+
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
sap.ui.define([
|
|
2
2
|
"sap/ui/model/Filter",
|
|
3
|
+
"sap/ui/model/FilterOperator",
|
|
3
4
|
"sap/suite/ui/generic/template/ListReport/extensionAPI/ExtensionAPI",
|
|
4
5
|
"sap/suite/ui/generic/template/listTemplates/listUtils",
|
|
5
6
|
"sap/suite/ui/generic/template/listTemplates/controller/MessageStripHelper",
|
|
@@ -31,6 +32,7 @@ sap.ui.define([
|
|
|
31
32
|
"sap/fe/controls/easyFilter/PXFeedback"
|
|
32
33
|
], function (
|
|
33
34
|
Filter,
|
|
35
|
+
FilterOperator,
|
|
34
36
|
ExtensionAPI,
|
|
35
37
|
listUtils,
|
|
36
38
|
MessageStripHelper,
|
|
@@ -594,10 +596,89 @@ sap.ui.define([
|
|
|
594
596
|
return restoreFocusHelper;
|
|
595
597
|
}
|
|
596
598
|
|
|
597
|
-
|
|
598
|
-
|
|
599
|
+
/**
|
|
600
|
+
* Helper function to get missing navigation properties from the current variant.
|
|
601
|
+
* This logic was moved from SmartFilterBarWrapper to avoid control-specific
|
|
602
|
+
* business logic in the wrapper layer.
|
|
603
|
+
* @param {object} oSmartFilterBar - The SmartFilterBar control
|
|
604
|
+
* @returns {Array} Array of missing navigation property filters
|
|
605
|
+
*/
|
|
606
|
+
function fnGetMissingNavProperties(oSmartFilterBar) {
|
|
607
|
+
//Fetch the navigation properties
|
|
608
|
+
const oMetaModel = oSmartFilterBar.getModel().getMetaModel(),
|
|
609
|
+
sEntitySet = oSmartFilterBar.getEntitySet(),
|
|
610
|
+
oDataEntitySet = oMetaModel.getODataEntitySet(sEntitySet),
|
|
611
|
+
oDataEntityType = oMetaModel.getODataEntityType(oDataEntitySet.entityType),
|
|
612
|
+
aNavigationProperties = oDataEntityType['navigationProperty'];
|
|
613
|
+
//Fetch the added filters in the current variant
|
|
614
|
+
const sCurrentVariantID = oSmartFilterBar.getVariantManagement().getCurrentVariantId(),
|
|
615
|
+
oCurrentVariant = oSmartFilterBar.getVariantManagement().getAllVariants().find(function(variant) {
|
|
616
|
+
return variant.getId() === sCurrentVariantID;
|
|
617
|
+
});
|
|
618
|
+
if (!oCurrentVariant
|
|
619
|
+
|| !oCurrentVariant.getContent()
|
|
620
|
+
|| !oCurrentVariant.getContent().searchListReportVariant
|
|
621
|
+
|| !oCurrentVariant.getContent().searchListReportVariant.filterBarVariant
|
|
622
|
+
|| !aNavigationProperties
|
|
623
|
+
|| !aNavigationProperties.length
|
|
624
|
+
) {
|
|
625
|
+
return [];
|
|
626
|
+
}
|
|
627
|
+
const oManifestNavigationProperties = oSmartFilterBar.getNavigationProperties() ?
|
|
628
|
+
oSmartFilterBar.getNavigationProperties().split(",").reduce(function(accumulator, currentValue){
|
|
629
|
+
accumulator[currentValue] = true;
|
|
630
|
+
return accumulator;
|
|
631
|
+
}, {}) : {},
|
|
632
|
+
oNavigationProperties = aNavigationProperties.reduce(function(accumulator, currentValue){
|
|
633
|
+
accumulator[currentValue.name] = true;
|
|
634
|
+
return accumulator;
|
|
635
|
+
}, {}),
|
|
636
|
+
oSmartFilterBarVariant = JSON.parse(oCurrentVariant.getContent().searchListReportVariant.filterBarVariant),
|
|
637
|
+
aMissing = [];
|
|
638
|
+
delete oSmartFilterBarVariant["_CUSTOM"];
|
|
639
|
+
|
|
640
|
+
// Compare the filter source and navigation properties
|
|
641
|
+
// Take into account if parameter is already specified in page setting in manifest.json - settings->filterSettings->navigationProperties
|
|
642
|
+
// If parameter exist in navigationProperties -> SFB will handle specific parameter and code ignore it
|
|
643
|
+
for (const sFilterKey in oSmartFilterBarVariant) {
|
|
644
|
+
const sParamName = sFilterKey.split(".")[0]; // take first part from navigation parameter. Example: to_Currency.Currency_Code -> to_Currency
|
|
645
|
+
if (!oNavigationProperties[sParamName] || oManifestNavigationProperties[sParamName]
|
|
646
|
+
) {
|
|
647
|
+
// Parameter is
|
|
648
|
+
// 1) not navigation property -> we don't process it
|
|
649
|
+
// 2) is defined in manifest.json - settings->filterSettings->navigationProperties -> value will be handled by SFB
|
|
650
|
+
continue;
|
|
651
|
+
}
|
|
652
|
+
if (oSmartFilterBarVariant[sFilterKey].items && oSmartFilterBarVariant[sFilterKey].items.length) {
|
|
653
|
+
aMissing.push(oSmartFilterBarVariant[sFilterKey].items.map(function(entry) {
|
|
654
|
+
return {
|
|
655
|
+
exclude: false,
|
|
656
|
+
field: sFilterKey,
|
|
657
|
+
operation: FilterOperator.EQ,
|
|
658
|
+
value1: entry.key
|
|
659
|
+
};
|
|
660
|
+
}));
|
|
661
|
+
continue;
|
|
662
|
+
}
|
|
663
|
+
if (oSmartFilterBarVariant[sFilterKey].ranges && oSmartFilterBarVariant[sFilterKey].ranges.length) {
|
|
664
|
+
aMissing.push(oSmartFilterBarVariant[sFilterKey].ranges.map(function(entry) {
|
|
665
|
+
return {
|
|
666
|
+
exclude: entry.exclude,
|
|
667
|
+
field: entry.keyField,
|
|
668
|
+
operation: entry.operation,
|
|
669
|
+
value1: entry.value1,
|
|
670
|
+
value2: entry.value2
|
|
671
|
+
};
|
|
672
|
+
}));
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
return aMissing;
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
// Expose selected private functions to unit tests
|
|
599
679
|
/* eslint-enable */
|
|
600
680
|
testableHelper.testable(onShareListReportActionButtonPressImpl, "ControllerImplementation_onShareListReportActionButtonPressImpl");
|
|
681
|
+
testableHelper.testable(fnGetMissingNavProperties, "fnGetMissingNavProperties");
|
|
601
682
|
|
|
602
683
|
// Generation of Event Handlers
|
|
603
684
|
return {
|
|
@@ -757,6 +838,9 @@ sap.ui.define([
|
|
|
757
838
|
},
|
|
758
839
|
|
|
759
840
|
handlers: {
|
|
841
|
+
onAfterVariantInitialise: function(oEvent) {
|
|
842
|
+
oTemplateUtils.oCommonUtils.getControlStateWrapper(oEvent.getSource()).onAfterVariantInitialise();
|
|
843
|
+
},
|
|
760
844
|
addEntry: addEntry,
|
|
761
845
|
addEntryWithFilters: addEntryWithFilters,
|
|
762
846
|
deleteEntries: fnDeleteEntries,
|
|
@@ -802,6 +886,8 @@ sap.ui.define([
|
|
|
802
886
|
onAfterSFBVariantLoad: function (oEvent) {
|
|
803
887
|
oState.oIappStateHandler.onAfterSFBVariantLoad(oEvent);
|
|
804
888
|
oState.oEasyFilterBarHandler && oState.oEasyFilterBarHandler.handleVariantLoad(oEvent);
|
|
889
|
+
// Cache missing navigation property filters for performance
|
|
890
|
+
oState.aMissingNavFilters = fnGetMissingNavProperties(oState.oSmartFilterbar);
|
|
805
891
|
},
|
|
806
892
|
onSmartListDataReceived: function (oEvent) {
|
|
807
893
|
var oSmartList = oEvent.getSource();
|
|
@@ -854,11 +940,8 @@ sap.ui.define([
|
|
|
854
940
|
// However, this connection is not there in the multi view multi table scenario which is the only case in which this snapshot
|
|
855
941
|
// will be used later.
|
|
856
942
|
var aFiltersFromRebindEvent = oBindingParams.filters.slice(0);
|
|
857
|
-
// To get the missing navigation properties from the user variant
|
|
858
|
-
|
|
859
|
-
oSmartFilterBarWrapper = oTemplateUtils.oCommonUtils.getControlStateWrapperById(oSmartFilterBarId, "SmartFilterBar"),
|
|
860
|
-
aMissingFilters = oSmartFilterBarWrapper.getMissingNavProperties();
|
|
861
|
-
if (aMissingFilters.length) {
|
|
943
|
+
// To get the missing navigation properties from the user variant (cached from last variant load)
|
|
944
|
+
if (oState.aMissingNavFilters && oState.aMissingNavFilters.length) {
|
|
862
945
|
// Display message to the user, which filters currently are not visible
|
|
863
946
|
var sCurrentVariant = oState.oSmartFilterbar.getVariantManagement().getId(),
|
|
864
947
|
sCurrentVariantId = oState.oSmartFilterbar.getCurrentVariantId(),
|
|
@@ -874,7 +957,7 @@ sap.ui.define([
|
|
|
874
957
|
}
|
|
875
958
|
return accumulator;
|
|
876
959
|
}, {}),
|
|
877
|
-
aMissingPropertyNames =
|
|
960
|
+
aMissingPropertyNames = oState.aMissingNavFilters.reduce(function(accumulator, currentValue) {
|
|
878
961
|
var sName = currentValue[0].field.split(".")[0];
|
|
879
962
|
if (oMappedProperty[sName]) {
|
|
880
963
|
accumulator.push(oMappedProperty[sName]);
|
|
@@ -892,7 +975,7 @@ sap.ui.define([
|
|
|
892
975
|
// Generate filters and set them into binding parameters
|
|
893
976
|
// use same logic as in sap.ui.comp.smartfilterbar.FilterProviderUtils, method generateFilters()
|
|
894
977
|
var aFilters = [];
|
|
895
|
-
|
|
978
|
+
oState.aMissingNavFilters.forEach(function(oEntry) {
|
|
896
979
|
var aIncludeFilters = [],
|
|
897
980
|
aExcludeFilters = [];
|
|
898
981
|
oEntry.forEach(function(oFilterEntry) {
|
|
@@ -214,12 +214,6 @@ sap.ui.define([
|
|
|
214
214
|
// However, for iAppState case, SVM wrapper also needs to contain SFB wrapper (and not oCustomFiltersWrapper directly)
|
|
215
215
|
|
|
216
216
|
|
|
217
|
-
// DynamicPage state: header pinned
|
|
218
|
-
var oDynamicPage = oController.byId(StableIdHelper.getStableId({type: "ListReportPage", subType: "DynamicPage"}));
|
|
219
|
-
// TODO: Discuss: should this state (header pinned) be part of variant (only page variant or SFB variant)? Assumption: no
|
|
220
|
-
var oDynamicPageWrapper = oTemplateUtils.oCommonUtils.getControlStateWrapper(oDynamicPage);
|
|
221
|
-
aControlStateWrappers.push(oDynamicPageWrapper);
|
|
222
|
-
|
|
223
217
|
// SmartVariantManagement state: Selected Variant and whether it's dirty, including wrappers for managed controls (all controls, for which the corresponding state
|
|
224
218
|
// information should be part of the variant)
|
|
225
219
|
// Due to direct connection between SVM and SFB, also their wrappers need to each other directly. Remarks:
|
|
@@ -230,13 +224,19 @@ sap.ui.define([
|
|
|
230
224
|
if (oSmartVariantManagement){
|
|
231
225
|
var oSmartVariantManagementWrapper = oTemplateUtils.oCommonUtils.getControlStateWrapper(oSmartVariantManagement, {
|
|
232
226
|
managedControlWrappers: aPageVariantControlStateWrappers.concat([oSmartFilterBarWrapper]),
|
|
233
|
-
|
|
227
|
+
smartFilterBarWrapper: oSmartFilterBarWrapper
|
|
234
228
|
});
|
|
235
229
|
aControlStateWrappers.push(oSmartVariantManagementWrapper);
|
|
236
230
|
} else {
|
|
237
231
|
aControlStateWrappers.push(oSmartFilterBarWrapper);
|
|
238
232
|
}
|
|
239
233
|
|
|
234
|
+
// DynamicPage state: header pinned
|
|
235
|
+
var oDynamicPage = oController.byId(StableIdHelper.getStableId({type: "ListReportPage", subType: "DynamicPage"}));
|
|
236
|
+
// The DynamicPage state (header pinned) is intentionally stored only in iAppState and not included in any variant (neither page variant nor SFB variant).
|
|
237
|
+
var oDynamicPageWrapper = oTemplateUtils.oCommonUtils.getControlStateWrapper(oDynamicPage);
|
|
238
|
+
aControlStateWrappers.push(oDynamicPageWrapper);
|
|
239
|
+
|
|
240
240
|
|
|
241
241
|
// Wrapper to control whether data is loaded
|
|
242
242
|
|
|
@@ -774,7 +774,8 @@ sap.ui.define([
|
|
|
774
774
|
// For desktop devices, expand the header for Standard and Custom variants and for tablet and mobile devices,
|
|
775
775
|
// collapse the header only if search is triggered.
|
|
776
776
|
if (Device.system.desktop) {
|
|
777
|
-
|
|
777
|
+
var oTemplatePrivateModel = oTemplateUtils.oComponentUtils.getTemplatePrivateModel();
|
|
778
|
+
oTemplatePrivateModel.setProperty("/listReport/isHeaderExpanded", true);
|
|
778
779
|
} else {
|
|
779
780
|
collapseHeader();
|
|
780
781
|
}
|
|
@@ -909,6 +910,16 @@ sap.ui.define([
|
|
|
909
910
|
}
|
|
910
911
|
sap.ui.getCore().getMessageManager().removeMessages(removedMessages);
|
|
911
912
|
}
|
|
913
|
+
|
|
914
|
+
// Restore header collapse logic (originally removed in change 5641712)
|
|
915
|
+
// Collapse header when user manually selects a variant (context === undefined) that has executeOnSelect set to true
|
|
916
|
+
var oContext = oEvent.getParameter("context");
|
|
917
|
+
var bExecuteOnSelect = oEvent.getParameter("executeOnSelect");
|
|
918
|
+
|
|
919
|
+
if (oContext === undefined && bExecuteOnSelect) {
|
|
920
|
+
collapseHeader();
|
|
921
|
+
}
|
|
922
|
+
|
|
912
923
|
fnRestoreExtendedFilterDataOnAfterSFBVariantLoad(oEvent);
|
|
913
924
|
}
|
|
914
925
|
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
AHMultipleViews:'sap/suite/ui/generic/template/js/AnnotationHelperMultipleViews'}">
|
|
8
8
|
|
|
9
9
|
<template:with path="entityType>com.sap.vocabularies.UI.v1.HeaderInfo" var="header">
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
<smartChart:SmartChart
|
|
11
|
+
id="listReport{= ${parameter>/settings/quickVariantSelectionX} ? ${path: 'tabItem>', formatter: 'AH.getSuffixFromIconTabFilterKey'} : ''}"
|
|
12
|
+
afterVariantInitialise="._templateEventHandlers.onAfterVariantInitialise"
|
|
12
13
|
visible="{path: 'tabItem>', formatter: 'AHMultipleViews.getVisibleForTableTabs'}"
|
|
13
14
|
smartFilterId=""
|
|
14
15
|
persistencyKey="listReportChart{= ${parameter>/settings/quickVariantSelectionX} ? ${path: 'tabItem>', formatter: 'AH.getSuffixFromIconTabFilterKey'} : ''}"
|
|
@@ -17,8 +17,9 @@
|
|
|
17
17
|
<template:with path="tableAnnotationPath>" helper="AH.searchForFirstSemKey_Title_Description" var="targetColumn">
|
|
18
18
|
<template:with path="parameter>/" helper="StableIdHelper.preparePathForStableId" var="smartControlId">
|
|
19
19
|
<template:if test="{= ${smartControlId>}.buildStableId({type: 'ListReportTable', subType: 'SmartTable', sQuickVariantKey: ${tabItem>key}})}" />
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
<smarttable:SmartTable id="{smartControlId>id}" useDateRangeType="{= ${parameter>/settings/filterSettings/dateSettings/useDateRange} }"
|
|
21
|
+
afterVariantInitialise="._templateEventHandlers.onAfterVariantInitialise"
|
|
22
|
+
smartFilterId="{= ${parameter>/settings/quickVariantSelectionX} ? '' : 'listReportFilter'}"
|
|
22
23
|
visible="{path: 'tabItem>', formatter: 'AHMultipleViews.getVisibleForTableTabs'}"
|
|
23
24
|
initialise="._templateEventHandlers.onTableInit"
|
|
24
25
|
persistencyKey="{= ${path: 'parameter>/settings/routeConfig/', formatter: 'AH.getPersistencyKeyForSmartTable'} }{= ${parameter>/settings/quickVariantSelectionX} ? ${path: 'tabItem>', formatter: 'AH.getSuffixFromIconTabFilterKey'} : ''}"
|
|
@@ -39,7 +40,7 @@
|
|
|
39
40
|
showTablePersonalisation="true"
|
|
40
41
|
placeToolbarInTable="{parameter>/templateSpecific/isResponsiveTable}"
|
|
41
42
|
customizeConfig="{parts: [{path: 'entitySet>'}, {path: 'entitySet>dummy'}, {path: 'tableSettings>calculateWidthIncludingColumnHeader'}], formatter: 'AH.buildSmartTableCustomizeConfig'}"
|
|
42
|
-
initialNoDataText="{= ${appSettings>/noDataRepresentation} === 'textOnly' ?
|
|
43
|
+
initialNoDataText="{= ${appSettings>/noDataRepresentation} === 'textOnly' ?
|
|
43
44
|
( !${parameter>/settings/isWorklist} ? '{i18n>NODATA_SMARTTABLE_LR}' : '$NO_FILTERBAR' ) :
|
|
44
45
|
null
|
|
45
46
|
}"
|
|
@@ -48,7 +49,7 @@
|
|
|
48
49
|
useInfoToolbar="On">
|
|
49
50
|
|
|
50
51
|
<!--
|
|
51
|
-
SmartTable "noData" can be set either as a property (attribute) or as an aggregation,
|
|
52
|
+
SmartTable "noData" can be set either as a property (attribute) or as an aggregation,
|
|
52
53
|
but not both at the same time.
|
|
53
54
|
|
|
54
55
|
1. When noDataRepresentation = "textOnly"
|
|
@@ -2473,8 +2473,11 @@ sap.ui.define([
|
|
|
2473
2473
|
});
|
|
2474
2474
|
}
|
|
2475
2475
|
},
|
|
2476
|
-
|
|
2477
|
-
|
|
2476
|
+
handlers: {
|
|
2477
|
+
onAfterVariantInitialise: function(oEvent) {
|
|
2478
|
+
oTemplateUtils.oCommonUtils.getControlStateWrapper(oEvent.getSource()).onAfterVariantInitialise();
|
|
2479
|
+
},
|
|
2480
|
+
onEditAndActiveToggle: function () { // Implementation of draft toggle for static header
|
|
2478
2481
|
var oUIModel = oObjectPage.getModel("ui");
|
|
2479
2482
|
var bIsEditable = oUIModel.getProperty("/editable");
|
|
2480
2483
|
|
|
@@ -305,7 +305,7 @@ sap.ui.define(
|
|
|
305
305
|
* @param {String} sEntitySet - The entity set to which the custom field belongs.
|
|
306
306
|
* @returns {function} returns a call back function, And qualifier of the side effect should be passed.
|
|
307
307
|
* Call back function need to be called from controls event-handler.
|
|
308
|
-
* @
|
|
308
|
+
* @public
|
|
309
309
|
*/
|
|
310
310
|
registerCustomFieldForSideEffect: function (oControl, sProperty, sEntitySet) {
|
|
311
311
|
SideEffectUtil.registerCustomFieldForSideEffect(oControl, sProperty, sEntitySet, oController);
|
|
@@ -323,7 +323,7 @@ sap.ui.define(
|
|
|
323
323
|
* @param {String} sEntitySet - The entity set to which the custom column belongs.
|
|
324
324
|
* @returns {function} returns a call back function, And qualifier of the side effect should be passed.
|
|
325
325
|
* Call back function need to be called from controls(Custom control which inside the custom column) event-handler.
|
|
326
|
-
* @
|
|
326
|
+
* @public
|
|
327
327
|
*/
|
|
328
328
|
registerCustomColumnForSideEffect: function (oTable, sProperty, sEntitySet) {
|
|
329
329
|
SideEffectUtil.registerCustomColumnForSideEffect(oTable, sProperty, sEntitySet, oController);
|
|
@@ -11,8 +11,9 @@
|
|
|
11
11
|
<template:if test="{:= ${smartChartId>}.set(AH.getStableIdPartFromFacet(${facet>}) + '::Chart') }"/>
|
|
12
12
|
<!-- Header Level for Smart Chart is hardcoded here with "H5" for fallback scenarios, After Section Title hiding logic, if required the level is calculated on the class /ObjectPage/controller/SectionTitleHandler.js-->
|
|
13
13
|
<!-- Header Style for Smart Chart is hardcoded here with "H5" for all Scenarios.-->
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
<smartChart:SmartChart
|
|
15
|
+
id="{smartChartId>value}"
|
|
16
|
+
afterVariantInitialise="._templateEventHandlers.onAfterVariantInitialise"
|
|
16
17
|
header="{chartAnnotation>Title/String}"
|
|
17
18
|
initialized="._templateEventHandlers.onChartInit"
|
|
18
19
|
requestAtLeastFields="{parts: [{path: 'chartAnnotation>'}, {path: 'entitySet>entityType'}], formatter: 'AH.getApplicablePathForChartToolbarActions'}"
|
|
@@ -16,8 +16,9 @@
|
|
|
16
16
|
<template:if test="{= ${smartControlId>}.buildStableId({type: 'ObjectPageTable', subType: 'SmartTable', sFacet: ${facetId>id}})}" />
|
|
17
17
|
<!-- Header Level for Smart Table is hardcoded here with "H5" for fallback scenarios, After Section Title hiding logic, if required the level is calculated on the class /ObjectPage/controller/SectionTitleHandler.js-->
|
|
18
18
|
<!-- Header Style for Smart Table is hardcoded here with "H5" for all Scenarios.-->
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
<st:SmartTable id="{smartControlId>id}"
|
|
20
|
+
afterVariantInitialise="._templateEventHandlers.onAfterVariantInitialise"
|
|
21
|
+
initialise="._templateEventHandlers.onTableInit($event, '{facetId>id}')"
|
|
21
22
|
persistencyKey="{parts: [{path: 'smartControlId>id'}, {path: 'objectPageTableSettings>value/persistencyKeyState'}], formatter: 'AH.getPersistencyKey'}"
|
|
22
23
|
tableBindingPath="{= ${path: 'target>AnnotationPath'}.slice(0, ${path: 'target>AnnotationPath'}.lastIndexOf('/')) }"
|
|
23
24
|
fitContainer="false"
|
|
@@ -214,7 +214,12 @@ sap.ui.define([
|
|
|
214
214
|
}
|
|
215
215
|
},
|
|
216
216
|
"sap.uxap.ObjectPageSubSection": {
|
|
217
|
-
actions: ["rename", "remove", "reveal"]
|
|
217
|
+
actions: ["rename", "remove", "reveal"],
|
|
218
|
+
aggregations: {
|
|
219
|
+
actions: {
|
|
220
|
+
actions: ["remove"]
|
|
221
|
+
}
|
|
222
|
+
}
|
|
218
223
|
},
|
|
219
224
|
"sap.ui.comp.smartform.SmartForm": { // not documented in allow list, but checked by RTA OPA test
|
|
220
225
|
actions: ["localReset", "annotation"],
|
|
@@ -299,13 +299,20 @@ sap.ui.define([
|
|
|
299
299
|
return new Promise(function (resolve, reject) {
|
|
300
300
|
sap.ui.require([
|
|
301
301
|
"sap/m/Dialog",
|
|
302
|
-
"sap/m/Button"
|
|
303
|
-
|
|
302
|
+
"sap/m/Button",
|
|
303
|
+
"sap/m/MessageStrip"
|
|
304
|
+
], function (Dialog, Button, MessageStrip) {
|
|
305
|
+
const warningText = new MessageStrip({
|
|
306
|
+
type: MessageType.Information,
|
|
307
|
+
showIcon: true,
|
|
308
|
+
text: "{i18n>RTA_CONFIGURATION_INFO_MESSAGE}"
|
|
309
|
+
});
|
|
310
|
+
warningText.addStyleClass("sapUiSmallMarginBottom");
|
|
304
311
|
const dialog = new Dialog({
|
|
305
312
|
title: title,
|
|
306
313
|
contentWidth: size ? size.width : "550px",
|
|
307
314
|
contentHeight: size ? size.height : "300px",
|
|
308
|
-
content: [list],
|
|
315
|
+
content: [warningText, list],
|
|
309
316
|
resizable: true,
|
|
310
317
|
buttons: [
|
|
311
318
|
new Button({
|
|
@@ -36,7 +36,8 @@
|
|
|
36
36
|
text="{parts: [{path: 'quickView>/sourceEntityType'}, {path: 'quickView>/sourceClickedField'}, {path: 'quickView>/navigationPath'} ], formatter: 'AH.getTitle'}"
|
|
37
37
|
target="{path: 'quickView>mainNavigation/Target'}"
|
|
38
38
|
press="._templateEventHandlers.onSemanticObjectLinkNavigationPressed"
|
|
39
|
-
wrapping="false"
|
|
39
|
+
wrapping="false"
|
|
40
|
+
accessibleRole="Button">
|
|
40
41
|
<fe:customData>
|
|
41
42
|
<core:CustomData key="SemanticObject" value="{path: 'quickView>/mainNavigation/SemanticObject'}"/>
|
|
42
43
|
<core:CustomData key="Action" value="{path: 'quickView>/mainNavigation/Action'}"/>
|
|
@@ -86,7 +87,7 @@
|
|
|
86
87
|
<template:if test="{= ${path: 'isFirstEmail>', formatter: 'AH.fnCheckFirstEmail'} && ${dataFieldValue>com.sap.vocabularies.Communication.v1.IsEmailAddress}.Bool === 'true' && ${parameter>/templateSpecific/teamsCollabOptions} !== undefined && ${parameter>/templateSpecific/teamsCollabOptions}.length > 0}">
|
|
87
88
|
<VBox visible="{path: 'dataField>Value', formatter: 'AHModel.format'}" class="sapUiTinyMarginTop">
|
|
88
89
|
<Toolbar>
|
|
89
|
-
<Title text="{i18n>CONTACT_OPTION}" level="H5" class="sapUiTinyMarginBegin"/>
|
|
90
|
+
<Title text="{i18n>CONTACT_OPTION}" level="H5" class="sapUiTinyMarginBegin"/>
|
|
90
91
|
<ToolbarSpacer/>
|
|
91
92
|
<template:repeat list="{parameter>/templateSpecific/teamsCollabOptions}" var="teamsCollabOption">
|
|
92
93
|
<Button
|
|
@@ -145,7 +146,7 @@
|
|
|
145
146
|
</template:else>
|
|
146
147
|
</template:if>
|
|
147
148
|
</template:with>
|
|
148
|
-
</template:with>
|
|
149
|
+
</template:with>
|
|
149
150
|
</template:repeat>
|
|
150
151
|
</template:if>
|
|
151
152
|
</template:if>
|