@sapui5/sap.suite.ui.generic.template 1.143.1 → 1.144.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/controller/ControllerImplementation.js +16 -11
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_zh_CN.properties +1 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/Canvas/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/controller/ControllerImplementation.js +14 -6
- package/src/sap/suite/ui/generic/template/ListReport/controller/IappStateHandler.js +2 -2
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_fr.properties +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_ko.properties +2 -2
- package/src/sap/suite/ui/generic/template/ListReport/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/annotationHelpers/AnnotationHelperActionButtons.js +8 -2
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/ControllerImplementation.js +7 -13
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/PasteHandler.js +9 -3
- package/src/sap/suite/ui/generic/template/ObjectPage/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/Actions.fragment.xml +2 -1
- package/src/sap/suite/ui/generic/template/QuickCreate/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/QuickView/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/designtime/utils/designtimeHelper.js +0 -3
- package/src/sap/suite/ui/generic/template/detailTemplates/detailUtils.js +1 -11
- package/src/sap/suite/ui/generic/template/fragments/HeaderRatingIndicator.fragment.xml +2 -1
- package/src/sap/suite/ui/generic/template/fragments/TableColumns.fragment.xml +0 -1
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartFilterBarWrapper.js +14 -7
- package/src/sap/suite/ui/generic/template/genericUtilities/metadataAnalyser.js +33 -2
- package/src/sap/suite/ui/generic/template/lib/AppComponent.js +1 -1
- package/src/sap/suite/ui/generic/template/lib/CRUDHelper.js +2 -2
- package/src/sap/suite/ui/generic/template/lib/CRUDManager.js +23 -6
- package/src/sap/suite/ui/generic/template/lib/CommonEventHandlers.js +67 -14
- package/src/sap/suite/ui/generic/template/lib/ContextMenuHandler.js +9 -0
- package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/EasyFillHandler.js +48 -29
- package/src/sap/suite/ui/generic/template/lib/ai/EasyFill/fragments/EasyFillDialog.fragment.xml +6 -4
- package/src/sap/suite/ui/generic/template/lib/ai/EasyFilterBarHandler.js +104 -59
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ar.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_bg.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ca.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cnr.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cs.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_cy.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_da.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_de.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_el.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_GB.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saprigi.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_en_US_saptrc.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es.properties +2 -4
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_es_MX.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_et.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fi.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr_CA.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hi.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hr.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_hu.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_id.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_it.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_iw.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ja.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_kk.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ko.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lt.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_lv.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_mk.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ms.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_nl.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_no.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pl.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_pt_PT.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ro.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ru.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sh.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sk.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sl.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sr.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_sv.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_th.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_tr.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_uk.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_vi.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_CN.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_TW.properties +0 -2
- package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +1 -1
- package/src/sap/suite/ui/generic/template/library.js +1 -1
package/package.json
CHANGED
package/src/sap/suite/ui/generic/template/AnalyticalListPage/controller/ControllerImplementation.js
CHANGED
|
@@ -31,8 +31,8 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
|
|
|
31
31
|
"sap/suite/ui/generic/template/AnalyticalListPage/controller/CtxMenuHandler"
|
|
32
32
|
], function(SelectionVariant, ExtensionAPI,
|
|
33
33
|
FilterBarController, ToolbarController, VisualFilterBarController, VisualFilterDialogController, AnalyticalTable,
|
|
34
|
-
ODataAnnotationHelper, Analytics, ContentAreaController, IappStateHandler, Device, SegmentedButtonItem, ALPHelper, controlHelper, FeLogger,
|
|
35
|
-
ObjectPath, ShareUtils, merge, deepExtend, ListUtils, MultipleViewsHandler, StableIdHelper, MessageStripHelper, JSONModel, PersonalizationControllerUtil,
|
|
34
|
+
ODataAnnotationHelper, Analytics, ContentAreaController, IappStateHandler, Device, SegmentedButtonItem, ALPHelper, controlHelper, FeLogger,
|
|
35
|
+
ObjectPath, ShareUtils, merge, deepExtend, ListUtils, MultipleViewsHandler, StableIdHelper, MessageStripHelper, JSONModel, PersonalizationControllerUtil,
|
|
36
36
|
InsightsHandler, metadataAnalyser, filterHelper, AnnotationHelperHiddenTermSupport, CtxMenuHandler) {
|
|
37
37
|
|
|
38
38
|
"use strict";
|
|
@@ -332,7 +332,7 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
|
|
|
332
332
|
var oAppComponent = oController.getOwnerComponent().getAppComponent();
|
|
333
333
|
var oUIManifest = oAppComponent.getManifestEntry("sap.ui");
|
|
334
334
|
var oAppManifest = oAppComponent.getManifestEntry("sap.app");
|
|
335
|
-
|
|
335
|
+
|
|
336
336
|
return oFragmentController.getServiceUrl().then(function(sServiceUrl) {
|
|
337
337
|
return ShareUtils.getCurrentUrl().then(function (sCurrentUrl) {
|
|
338
338
|
return {
|
|
@@ -356,6 +356,10 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
|
|
|
356
356
|
// });
|
|
357
357
|
}
|
|
358
358
|
|
|
359
|
+
function onSmartFieldPress(oEvent) {
|
|
360
|
+
oTemplateUtils.oCommonEventHandlers.onSmartFieldPress(oEvent);
|
|
361
|
+
}
|
|
362
|
+
|
|
359
363
|
// Generation of Event Handlers
|
|
360
364
|
return {
|
|
361
365
|
onInit: function() {
|
|
@@ -383,7 +387,7 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
|
|
|
383
387
|
var oMultipleViewsHandler = new MultipleViewsHandler(oState, oController, oTemplateUtils);
|
|
384
388
|
oState.oMultipleViewsHandler = oMultipleViewsHandler;
|
|
385
389
|
oState.oMessageStripHelper = new MessageStripHelper(oTemplateUtils.oServices.oPresentationControlHandlerFactory.getPresentationControlHandler(oState.oSmartTable), oMultipleViewsHandler, oController, oTemplateUtils, "alp");
|
|
386
|
-
|
|
390
|
+
|
|
387
391
|
oState.alr_compactFilterContainer = oController.byId("template::CompactFilterContainer");
|
|
388
392
|
oState.alr_visualFilterContainer = oController.byId("template::VisualFilterContainer");
|
|
389
393
|
oState.alr_filterContainer = oController.byId("template::FilterContainer");
|
|
@@ -682,7 +686,7 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
|
|
|
682
686
|
toolbar = oSmartTable.getToolbar(),
|
|
683
687
|
oToolBarcontent = toolbar.getContent(),
|
|
684
688
|
nSettingsLength ;
|
|
685
|
-
|
|
689
|
+
|
|
686
690
|
var oHiddenColumnInfo = AnnotationHelperHiddenTermSupport.getHiddenColumnInfo(oSmartTable);
|
|
687
691
|
if (oHiddenColumnInfo && oHiddenColumnInfo.staticHiddenColumns && oHiddenColumnInfo.staticHiddenColumns.length > 0) {
|
|
688
692
|
// Hide all columns which are statically hidden at initialization of the table
|
|
@@ -715,13 +719,13 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
|
|
|
715
719
|
});
|
|
716
720
|
var tableHighlightModel = new JSONModel({"highlightMode":"rebindTable"});
|
|
717
721
|
oSmartTable.setModel(tableHighlightModel,"_tableHighlight");
|
|
718
|
-
|
|
722
|
+
|
|
719
723
|
oTemplateUtils.oServices.oPresentationControlHandlerFactory.getPresentationControlHandler(oSmartTable).addCellSelector();
|
|
720
724
|
},
|
|
721
725
|
onBeforeRebindTable: function(oEvent) {
|
|
722
726
|
var oSmartTable = oEvent.getSource();
|
|
723
727
|
var oBindingParams = oEvent.getParameter("bindingParams");
|
|
724
|
-
|
|
728
|
+
|
|
725
729
|
// add handler for change event
|
|
726
730
|
oState.oMessageStripHelper.onBeforeRebindControl(oEvent);
|
|
727
731
|
if (oState.chartController && oState.chartController.oChart) {
|
|
@@ -790,7 +794,7 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
|
|
|
790
794
|
oTemplateUtils.oComponentUtils.hidePlaceholder();
|
|
791
795
|
fnDataReceived.call(this, oReceivedEvent);
|
|
792
796
|
};
|
|
793
|
-
|
|
797
|
+
|
|
794
798
|
oTemplateUtils.oCommonEventHandlers.onBeforeRebindTable(oEvent, {
|
|
795
799
|
setBindingPath: oSmartTable.setTableBindingPath.bind(oSmartTable),
|
|
796
800
|
ensureExtensionFields: oController.templateBaseExtension.ensureFieldsForSelect,
|
|
@@ -942,7 +946,7 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
|
|
|
942
946
|
var aFiltersFromSmartChart = oBindingParams.filters.slice(0);
|
|
943
947
|
var oCallbacks = {
|
|
944
948
|
setBindingPath: oSmartChart.setChartBindingPath.bind(oSmartChart),
|
|
945
|
-
ensureExtensionFields: Function.prototype,
|
|
949
|
+
ensureExtensionFields: Function.prototype,
|
|
946
950
|
addExtensionFilters: oController.templateBaseExtension.addFilters,
|
|
947
951
|
resolveParamaterizedEntitySet: oState.oMultipleViewsHandler.resolveParameterizedEntitySet,
|
|
948
952
|
isFieldControlRequired: false,
|
|
@@ -1066,7 +1070,7 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
|
|
|
1066
1070
|
},
|
|
1067
1071
|
onContentViewSegmentButtonPressed: function(oEvent){
|
|
1068
1072
|
var sSelectedKey = oEvent.getSource().getSelectedKey();
|
|
1069
|
-
|
|
1073
|
+
|
|
1070
1074
|
if ((sSelectedKey === "table" || sSelectedKey === "charttable") && bTableRebindRequired) {
|
|
1071
1075
|
oState.oSmartTable.rebindTable();
|
|
1072
1076
|
bTableRebindRequired = false;
|
|
@@ -1251,7 +1255,8 @@ sap.ui.define(["sap/fe/navigation/SelectionVariant",
|
|
|
1251
1255
|
},
|
|
1252
1256
|
onContextMenu: function (oEvent, sSmartControlId) {
|
|
1253
1257
|
oContextMenuHandler.onContextMenu(oEvent, sSmartControlId);
|
|
1254
|
-
}
|
|
1258
|
+
},
|
|
1259
|
+
onSmartFieldPress: onSmartFieldPress
|
|
1255
1260
|
},
|
|
1256
1261
|
|
|
1257
1262
|
formatters: {
|
|
@@ -122,7 +122,7 @@ VIS_FILTER_TOOLTIP_STATUS_ERROR=\u72B6\u6001\uFF1A\u9519\u8BEF
|
|
|
122
122
|
|
|
123
123
|
VIS_FILTER_TOOLTIP_STATUS_CRITICAL=\u72B6\u6001\uFF1A\u7D27\u6025
|
|
124
124
|
|
|
125
|
-
VIS_FILTER_TITLE_MD_WITH_UNIT_CURR={
|
|
125
|
+
VIS_FILTER_TITLE_MD_WITH_UNIT_CURR={0}\uFF08\u4EE5{1}\u8BA1\uFF09
|
|
126
126
|
|
|
127
127
|
VIS_FILTER_DONUT_OTHER=\u5176\u4ED6
|
|
128
128
|
|
|
@@ -27,7 +27,8 @@ sap.ui.define([
|
|
|
27
27
|
"sap/ui/core/message/MessageType",
|
|
28
28
|
"sap/ui/core/Element",
|
|
29
29
|
"sap/suite/ui/generic/template/genericUtilities/testableHelper",
|
|
30
|
-
"sap/suite/ui/generic/template/lib/TableNoDataHandler"
|
|
30
|
+
"sap/suite/ui/generic/template/lib/TableNoDataHandler",
|
|
31
|
+
"sap/fe/controls/easyFilter/PXFeedback"
|
|
31
32
|
], function (
|
|
32
33
|
Filter,
|
|
33
34
|
ExtensionAPI,
|
|
@@ -57,7 +58,8 @@ sap.ui.define([
|
|
|
57
58
|
MessageType,
|
|
58
59
|
Element,
|
|
59
60
|
testableHelper,
|
|
60
|
-
TableNoDataHandler
|
|
61
|
+
TableNoDataHandler,
|
|
62
|
+
PXFeedback
|
|
61
63
|
) {
|
|
62
64
|
"use strict";
|
|
63
65
|
|
|
@@ -462,7 +464,7 @@ sap.ui.define([
|
|
|
462
464
|
/**
|
|
463
465
|
* When no data message is displayed as illustration, SmartTable overrides the "illustrationType" to "NoEntries".
|
|
464
466
|
* Here, we reset back to "BeforeSearch".
|
|
465
|
-
*
|
|
467
|
+
*
|
|
466
468
|
* TODO: Sync with table colleagues
|
|
467
469
|
*/
|
|
468
470
|
function fnSetInitialNoDataMessageForTable (oSmartTable) {
|
|
@@ -584,6 +586,10 @@ sap.ui.define([
|
|
|
584
586
|
oContextMenuHandler.onContextMenu(oEvent, sSmartControlId);
|
|
585
587
|
}
|
|
586
588
|
|
|
589
|
+
function onSmartFieldPress(oEvent) {
|
|
590
|
+
oTemplateUtils.oCommonEventHandlers.onSmartFieldPress(oEvent);
|
|
591
|
+
}
|
|
592
|
+
|
|
587
593
|
function getRestoreFocusHelper() {
|
|
588
594
|
return restoreFocusHelper;
|
|
589
595
|
}
|
|
@@ -591,7 +597,7 @@ sap.ui.define([
|
|
|
591
597
|
// // Expose selected private functions to unit tests
|
|
592
598
|
// var getDownloadUrl = testableHelper.testable(getDownloadUrl, "getDownloadUrl");
|
|
593
599
|
/* eslint-enable */
|
|
594
|
-
testableHelper.
|
|
600
|
+
testableHelper.testable(onShareListReportActionButtonPressImpl, "ControllerImplementation_onShareListReportActionButtonPressImpl");
|
|
595
601
|
|
|
596
602
|
// Generation of Event Handlers
|
|
597
603
|
return {
|
|
@@ -749,7 +755,7 @@ sap.ui.define([
|
|
|
749
755
|
onShareListReportActionButtonPressImpl(oMenuButton);
|
|
750
756
|
});
|
|
751
757
|
},
|
|
752
|
-
|
|
758
|
+
|
|
753
759
|
handlers: {
|
|
754
760
|
addEntry: addEntry,
|
|
755
761
|
addEntryWithFilters: addEntryWithFilters,
|
|
@@ -833,6 +839,7 @@ sap.ui.define([
|
|
|
833
839
|
oTemplatePrivateModel.setProperty("/listReport/firstSelection", true);
|
|
834
840
|
oTemplatePrivateModel.setProperty("/generic/bDataAreShownInTable", false);
|
|
835
841
|
} else {
|
|
842
|
+
PXFeedback.triggerPXIntegration("toggleSwitchV2");
|
|
836
843
|
oSmartFilterbar.setVisible(true);
|
|
837
844
|
oSmartVariant.setVisible(true);
|
|
838
845
|
}
|
|
@@ -1105,7 +1112,8 @@ sap.ui.define([
|
|
|
1105
1112
|
oTemplateUtils.oCommonEventHandlers.onBeforeExport(oExportEvent);
|
|
1106
1113
|
},
|
|
1107
1114
|
beforeOpenContextMenu: fnBeforeOpenContextMenu,
|
|
1108
|
-
onContextMenu: onContextMenu
|
|
1115
|
+
onContextMenu: onContextMenu,
|
|
1116
|
+
onSmartFieldPress: onSmartFieldPress
|
|
1109
1117
|
},
|
|
1110
1118
|
formatters: {
|
|
1111
1119
|
formatDraftType: function (oDraftAdministrativeData, bIsActiveEntity, bHasDraftEntity) {
|
|
@@ -458,8 +458,8 @@ sap.ui.define([
|
|
|
458
458
|
function fnAdaptToAppStateIappState(oAppData){
|
|
459
459
|
|
|
460
460
|
fnAdaptOtherControlsToAppState(oAppData.controlStates);
|
|
461
|
-
if (areDataShownInTable()){
|
|
462
|
-
// fnAdaptOtherControlsToAppState only (synchronously) sets the state including the information whether data should be loaded
|
|
461
|
+
if (areDataShownInTable() && Object.keys(oState.oSmartFilterbar.verifySearchAllowed()).length === 0){
|
|
462
|
+
// fnAdaptOtherControlsToAppState only (synchronously) sets the state including the information whether data should be loaded and search is allowed,- if this is the case, the actual loading
|
|
463
463
|
// (which happens asynchronous of course) still needs to be triggered
|
|
464
464
|
loadData();
|
|
465
465
|
} else {
|
|
@@ -64,7 +64,7 @@ OBJECT_NOT_EDITABLE=\uC774 \uC624\uBE0C\uC81D\uD2B8\uB97C \uD3B8\uC9D1\uD560 \uC
|
|
|
64
64
|
NODATA_SMARTTABLE_LR=\uC2DC\uC791\uD558\uB824\uBA74 \uAD00\uB828 \uD544\uD130\uB97C \uC124\uC815\uD558\uACE0 "\uC2E4\uD589"\uC744 \uC120\uD0DD\uD558\uC2ED\uC2DC\uC624.
|
|
65
65
|
|
|
66
66
|
NODATA_SMARTTABLE_LR_ILLUSTRATION_TITLE=\uACB0\uACFC \uAC00\uC838\uC624\uAE30
|
|
67
|
-
NODATA_SMARTTABLE_LR_ILLUSTRATION_DESCRIPTION=\uAC80\uC0C9\
|
|
67
|
+
NODATA_SMARTTABLE_LR_ILLUSTRATION_DESCRIPTION=\uAC80\uC0C9 \uB610\uB294 \uD544\uD130 \uAE30\uC900\uC744 \uC785\uB825\uD558\uC5EC \uC2DC\uC791\uD558\uC2ED\uC2DC\uC624.
|
|
68
68
|
|
|
69
69
|
SEARCH_FILTERS_KEYBOARD_SHORTCUT_DESC=\uC2E4\uD589
|
|
70
70
|
|
|
@@ -99,7 +99,7 @@ LOCKED_OBJECT_FILTER=\uB2E4\uB978 \uC0AC\uC6A9\uC790\uC5D0 \uC758\uD574 \uC7A0\u
|
|
|
99
99
|
|
|
100
100
|
UNSAVED_CHANGES=\uBCC0\uACBD\uC0AC\uD56D\uC774 \uC800\uC7A5\uB418\uC9C0 \uC54A\uC74C
|
|
101
101
|
|
|
102
|
-
UNSAVED_CHANGES_FILTER=\uB2E4\uB978 \uC0AC\uC6A9\uC790\
|
|
102
|
+
UNSAVED_CHANGES_FILTER=\uB2E4\uB978 \uC0AC\uC6A9\uC790\uC758 \uC800\uC7A5\uB418\uC9C0 \uC54A\uC740 \uBCC0\uACBD\uC0AC\uD56D
|
|
103
103
|
|
|
104
104
|
SHARE=\uACF5\uC720
|
|
105
105
|
|
|
@@ -135,9 +135,15 @@ sap.ui.define([
|
|
|
135
135
|
getEditActionButtonVisibility.requiresIContext = true;
|
|
136
136
|
|
|
137
137
|
// Returns the visibility for the EasyFill button
|
|
138
|
-
function getEasyFillButtonVisibility(oInterface,
|
|
138
|
+
function getEasyFillButtonVisibility(oInterface,mRestrictions, oEntitySet, oAppComponent, oTreeNode, aAncestortreeNodes,bIsStandardAction,bParameterEdit) {
|
|
139
139
|
var sGeneralExpression = "{_templPrivGlobal>/generic/fioriAI/isEasyFillEnabled}"; // Ensure whether AI resource has been loaded for the EasyFill functionality
|
|
140
|
-
|
|
140
|
+
|
|
141
|
+
// The Edit button triggers intent-based navigation or CrossNavigation if it is a standard action button and the external edit parameter is specified in the manifest.
|
|
142
|
+
// In this case, we should not display the EasyFill button because the Object Page cannot enter edit mode. Otherwise, clicking the EasyFill button would incorrectly switch the Object Page to an editable state.
|
|
143
|
+
if (bIsStandardAction && bParameterEdit) {
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
|
|
141
147
|
//oTreeNode.isDraft is use to show "Hide Draft Values" or "Show Draft Values" button in List Report table toolbar and "Display Saved version/Return to Draft" button in Object page header for a draft application.
|
|
142
148
|
var sFCLExpression = getFCLPathExpression(oAppComponent, oTreeNode, "Edit");
|
|
143
149
|
var sPathExpression = getPathExpression(oInterface, oEntitySet, mRestrictions, "Updatable"); // if there is an updatable path, add it to the condition
|
|
@@ -1769,7 +1769,7 @@ sap.ui.define([
|
|
|
1769
1769
|
|
|
1770
1770
|
/**
|
|
1771
1771
|
* Finds the illustrated message size.
|
|
1772
|
-
*
|
|
1772
|
+
*
|
|
1773
1773
|
* - If there's only one section is visible and it has a single sub-section
|
|
1774
1774
|
* - Return "Auto" (Illustrated message size is automatically calculated based on the table width)
|
|
1775
1775
|
* - Otherwise
|
|
@@ -1785,7 +1785,7 @@ sap.ui.define([
|
|
|
1785
1785
|
oParent = oParent.getParent();
|
|
1786
1786
|
}
|
|
1787
1787
|
}
|
|
1788
|
-
|
|
1788
|
+
|
|
1789
1789
|
return fnIsSingleSectionOrSubsectionVisible(oParent) ? IllustratedMessageSize.Auto : IllustratedMessageSize.ExtraSmall;
|
|
1790
1790
|
}
|
|
1791
1791
|
|
|
@@ -1793,9 +1793,9 @@ sap.ui.define([
|
|
|
1793
1793
|
// For multi-view tables there is a special no data text. Otherwise it depends whether the data are restricted by any filter or search condition.
|
|
1794
1794
|
// Note that custom filter conditions added by the application are not considered.
|
|
1795
1795
|
function fnSetNoDataMessageForTable (oSmartTable) {
|
|
1796
|
-
var sScenario,
|
|
1796
|
+
var sScenario,
|
|
1797
1797
|
sSmartTableId = oSmartTable.getId();
|
|
1798
|
-
|
|
1798
|
+
|
|
1799
1799
|
var bIsSegmentedButton = oMultipleViewsHandler.isSmartControlMulti(oSmartTable);
|
|
1800
1800
|
if (bIsSegmentedButton) {
|
|
1801
1801
|
sScenario = "TABLE_WITH_SEGMENTED_BUTTON";
|
|
@@ -1810,7 +1810,7 @@ sap.ui.define([
|
|
|
1810
1810
|
}
|
|
1811
1811
|
sScenario = bHasFiltersOrSearches ? "TABLE_WITH_FILTER" : "TABLE_WITHOUT_FILTER";
|
|
1812
1812
|
}
|
|
1813
|
-
|
|
1813
|
+
|
|
1814
1814
|
// Setting no data message
|
|
1815
1815
|
oState.oTableNoDataHandler.setNoDataMessage(oSmartTable, sScenario);
|
|
1816
1816
|
}
|
|
@@ -2041,13 +2041,7 @@ sap.ui.define([
|
|
|
2041
2041
|
}
|
|
2042
2042
|
|
|
2043
2043
|
function onSmartFieldPress(oEvent) {
|
|
2044
|
-
|
|
2045
|
-
oEvent.getSource()._getComputedMetadata().then(function (oComputedMetaData) {
|
|
2046
|
-
if (oComputedMetaData.property.property && oComputedMetaData.property.property['com.sap.vocabularies.Communication.v1.IsEmailAddress'] && oComputedMetaData.property.property['com.sap.vocabularies.Communication.v1.IsEmailAddress'].Bool) {
|
|
2047
|
-
oEvent.preventDefault();
|
|
2048
|
-
oTemplateUtils.oCommonEventHandlers.onRenderTeamsContactCollabOptions.call(this, oSmartField, oSmartField.getValue());
|
|
2049
|
-
}
|
|
2050
|
-
});
|
|
2044
|
+
oTemplateUtils.oCommonEventHandlers.onSmartFieldPress(oEvent);
|
|
2051
2045
|
}
|
|
2052
2046
|
|
|
2053
2047
|
oViewProxy.applyState = function (oState, bIsSameAsLast) {
|
|
@@ -2732,7 +2726,7 @@ sap.ui.define([
|
|
|
2732
2726
|
if (typeof oSmartTable.getNoData() === "string") {
|
|
2733
2727
|
oSmartTable.setNoData(oTemplateUtils.oCommonUtils.getText("WAITING_SMARTTABLE"));
|
|
2734
2728
|
}
|
|
2735
|
-
|
|
2729
|
+
|
|
2736
2730
|
var oBindingParams = adjustAndProvideBindingParamsForSmartTableOrChart(oEvent);
|
|
2737
2731
|
// add the content of the search field to the search if necessary
|
|
2738
2732
|
var oSmartTableInfoObject = oTemplateUtils.oInfoObjectHandler.getControlInformation(oSmartTable.getId());
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
sap.ui.define([
|
|
2
2
|
"sap/ui/base/Object",
|
|
3
3
|
"sap/base/util/extend",
|
|
4
|
-
"sap/m/MessageBox"
|
|
5
|
-
|
|
4
|
+
"sap/m/MessageBox",
|
|
5
|
+
"sap/suite/ui/generic/template/genericUtilities/testableHelper" // Add this import
|
|
6
|
+
], function (BaseObject, extend, MessageBox,testableHelper) {
|
|
6
7
|
"use strict";
|
|
7
8
|
|
|
8
9
|
function getMethods(oController, oTemplateUtils) {
|
|
@@ -381,6 +382,7 @@ sap.ui.define([
|
|
|
381
382
|
var sMessage = sNonPastedColumns ? oTemplateUtils.oCommonUtils.getText(bMultipleColumns ? "PARTIAL_PASTE_PLURAL" : "PARTIAL_PASTE", [sNonPastedColumns]) : oTemplateUtils.oCommonUtils.getText("PASTE_COMPLETE");
|
|
382
383
|
oTemplateUtils.oServices.oApplication.showMessageToast(sMessage, {duration: 5000});
|
|
383
384
|
}
|
|
385
|
+
|
|
384
386
|
|
|
385
387
|
/**
|
|
386
388
|
* fnHandlePaste method will get called after fnHandleBeforePaste do all kind of column triming
|
|
@@ -403,7 +405,11 @@ sap.ui.define([
|
|
|
403
405
|
fnShowToastAfterPaste();
|
|
404
406
|
}
|
|
405
407
|
}
|
|
406
|
-
|
|
408
|
+
testableHelper.testableStatic(fnExecutePaste, "pasteHandler_fnExecutePaste");
|
|
409
|
+
testableHelper.testableStatic(fnShowToastAfterPaste, "pasteHandler_fnShowToastAfterPaste");
|
|
410
|
+
testableHelper.testableStatic(fnSetSelectionType, "pasteHandler_fnSetSelectionType");
|
|
411
|
+
testableHelper.testableStatic(fnRemoveIgnored, "pasteHandler_fnRemoveIgnored");
|
|
412
|
+
testableHelper.testableStatic(filterColumnsForPaste, "pasteHandler_filterColumnsForPaste");
|
|
407
413
|
return {
|
|
408
414
|
handlePaste: fnHandlePaste,
|
|
409
415
|
handleBeforePaste: fnHandleBeforePaste
|
|
@@ -142,10 +142,11 @@
|
|
|
142
142
|
importance="High"
|
|
143
143
|
enabled="{ui>/enabled}"
|
|
144
144
|
dt:designtime="not-adaptable"
|
|
145
|
+
fesr:press="fe2:ef:easyfill"
|
|
145
146
|
press="._templateEventHandlers.onEasyFillEdit"
|
|
146
147
|
ariaHasPopup="Dialog"
|
|
147
148
|
type="Ghost"
|
|
148
|
-
visible="{parts: [{path: 'entitySet>Org.OData.Capabilities.V1.UpdateRestrictions'}, {path: 'entitySet>'}, {path: 'appSettings>/'}, {path: 'parameter>/treeNode'}, {path: 'parameter>/treeNodeAncestors'}], formatter: 'AHActionButtons.getEasyFillButtonVisibility'}"
|
|
149
|
+
visible="{parts: [{path: 'entitySet>Org.OData.Capabilities.V1.UpdateRestrictions'}, {path: 'entitySet>'}, {path: 'appSettings>/'}, {path: 'parameter>/treeNode'}, {path: 'parameter>/treeNodeAncestors'},{path: 'parameter>/templateSpecific/pageLevelActions/commandExecution/Edit/isStandardAction'},{path:'parameter>/treeNode/page/navigation/edit/target'}], formatter: 'AHActionButtons.getEasyFillButtonVisibility'}"
|
|
149
150
|
/>
|
|
150
151
|
</template:if>
|
|
151
152
|
</template:if>
|
|
@@ -355,9 +355,6 @@ sap.ui.define([
|
|
|
355
355
|
);
|
|
356
356
|
break;
|
|
357
357
|
case "sap.ui.comp.smarttable.SmartTable":
|
|
358
|
-
case "sap.ui.table.Table":
|
|
359
|
-
case "sap.m.Table":
|
|
360
|
-
case "sap.ui.table.AnalyticalTable":
|
|
361
358
|
oCustomDesigntime = SmartTableDesigntimeHelper.getDesigntime(
|
|
362
359
|
oElement
|
|
363
360
|
);
|
|
@@ -312,14 +312,7 @@ sap.ui.define([ "sap/suite/ui/generic/template/genericUtilities/FeLogger", "sap/
|
|
|
312
312
|
let oTemplatePrivateModel = oCurrentRegistryEntry.utils.getTemplatePrivateModel();
|
|
313
313
|
sObjectTitle = oTemplatePrivateModel.getProperty("/objectPage/headerInfo/objectTitle");
|
|
314
314
|
sObjectSubtitle = oTemplatePrivateModel.getProperty("/objectPage/headerInfo/objectSubtitle");
|
|
315
|
-
let oParentNode = oTemplateContract.mRoutingTree[oCurrentIdentity.treeNode.parentRoute]; //start from the currentNode's parent node
|
|
316
|
-
let aAncestors = [];
|
|
317
315
|
let sSeperator = " - ";
|
|
318
|
-
while (oParentNode.level > 0) { //construct the title only till the main object page
|
|
319
|
-
aAncestors.push(oParentNode.text || oParentNode.headerTitle);
|
|
320
|
-
oParentNode = oTemplateContract.mRoutingTree[oParentNode.parentRoute];
|
|
321
|
-
}
|
|
322
|
-
let sAncestorsTitle = aAncestors.join(" - "); //final string constructed for the breadcrumb
|
|
323
316
|
sObjectSubtitle = sObjectSubtitle ? "(" + sObjectSubtitle + ")" : "";
|
|
324
317
|
if (sObjectTitle && !sObjectSubtitle) {
|
|
325
318
|
sObjectTitle += sSeperator;
|
|
@@ -327,10 +320,7 @@ sap.ui.define([ "sap/suite/ui/generic/template/genericUtilities/FeLogger", "sap/
|
|
|
327
320
|
if (sObjectSubtitle) {
|
|
328
321
|
sObjectSubtitle += sSeperator;
|
|
329
322
|
}
|
|
330
|
-
|
|
331
|
-
sAncestorsTitle += sSeperator;
|
|
332
|
-
}
|
|
333
|
-
sHeaderText = `${sObjectTitle} ${sObjectSubtitle} ${sAncestorsTitle} ${sTitle}`;
|
|
323
|
+
sHeaderText = `${sObjectTitle} ${sObjectSubtitle} ${sTitle}`;
|
|
334
324
|
return {headerText : sHeaderText};
|
|
335
325
|
}
|
|
336
326
|
|
|
@@ -31,7 +31,8 @@
|
|
|
31
31
|
maxValue="{path: 'dataPoint>TargetValue', formatter: 'AHModel.format'}"
|
|
32
32
|
value="{path: 'dataPoint>Value', formatter: 'AHModel.format'}"
|
|
33
33
|
iconSize="1.375rem"
|
|
34
|
-
class="sapUiTinyMarginTopBottom"
|
|
34
|
+
class="sapUiTinyMarginTopBottom"
|
|
35
|
+
ariaLabelledBy="header::{path: 'headerFacet>', formatter: 'AH.getStableIdPartFromFacet'}::RatingIndicatorTitle"/>
|
|
35
36
|
<Label id="header::{path: 'headerFacet>', formatter: 'AH.getStableIdPartFromFacet'}::RatingIndicatorFooter"
|
|
36
37
|
text="{parts:[{path: 'dataPoint>Value'}, {path: 'dataPoint>TargetValue'}], formatter: 'AH.buildRatingIndicatorFooterExpression'}"
|
|
37
38
|
visible="{= !!${dataPoint>SampleSize} }">
|
|
@@ -46,7 +46,6 @@
|
|
|
46
46
|
<core:CustomData key="p13nData" value="{parts: [{path: 'listEntitySet>'}, {path: 'dataFieldValue>'}, {path: 'dataField>'}, {path: 'tableSettings>calculateWidthIncludingColumnHeader'}], formatter: 'AH.createP13N'}" />
|
|
47
47
|
<core:CustomData key="addCardtoInsightsConfig" value="{'isMultiValueColumn':true}"/>
|
|
48
48
|
<core:CustomData key="isFERenderedColumn" value="true"/>
|
|
49
|
-
<core:CustomData key="isExportable" value="false"/>
|
|
50
49
|
</customData>
|
|
51
50
|
<template:if test="{dataField>Label}">
|
|
52
51
|
<template:then>
|
|
@@ -78,7 +78,7 @@ sap.ui.define([
|
|
|
78
78
|
appExtension: oCustomData[dataPropertyNameCustom],
|
|
79
79
|
adaptationExtensions: oCustomData[dataPropertyNameExtension]
|
|
80
80
|
};
|
|
81
|
-
|
|
81
|
+
aBasicFilters = oSmartFilterBar.getAllFilterItems(true);
|
|
82
82
|
mParams.oCustomFiltersWrapper.setState(oCustomFiltersState);
|
|
83
83
|
oSVMWrapperCallbacks.setManagedControlStates(oCustomData[dataPropertyNameGeneric]);
|
|
84
84
|
/* SFB header state of a variant (standard or custom) gets determined by the Apply Automatically checkbox's value of the corresponding
|
|
@@ -190,21 +190,28 @@ sap.ui.define([
|
|
|
190
190
|
oSelectOptions = oSelectOptions && oSelectOptions.filter(function(oSelectOption){
|
|
191
191
|
return oSelectOption.PropertyName !== dataPropertyNameGeneric;
|
|
192
192
|
});
|
|
193
|
+
const oVariantManagement = oSmartFilterBar.getVariantManagement?.();
|
|
194
|
+
// Cache getAllFilterItems call to avoid multiple expensive operations
|
|
195
|
+
const aAllFilterItems = oSmartFilterBar.getAllFilterItems(true);
|
|
196
|
+
const aCurrentVisibleFilters = aAllFilterItems.filter(oFilterItem => oFilterItem.getVisibleInFilterBar()).map(oFilterItem => oFilterItem.getName());
|
|
197
|
+
const aStandardItems = oVariantManagement?.getStandardVariant(oSmartFilterBar)?.filterbar ?? [];
|
|
198
|
+
const aRemovedFromStandard = aStandardItems.filter(oItem => !aCurrentVisibleFilters.includes(oItem.name)).map(oItem => oItem.name);
|
|
193
199
|
return {
|
|
194
200
|
selectOptions: oSelectOptions,
|
|
195
201
|
parameters: oUiState.getSelectionVariant().Parameters,
|
|
196
202
|
semanticDates: oUiState.getSemanticDates(),
|
|
197
|
-
addedFilterItems:
|
|
203
|
+
addedFilterItems: aAllFilterItems.filter(function(oFilterItem){
|
|
198
204
|
// Remark: getAllFilterItems(true) returns also items not visible, but with value set (in adapt filters dialog) => need to check visibility ourselves
|
|
199
205
|
return oFilterItem.getGroupName() !== sap.ui.comp.filterbar.FilterBar.INTERNAL_GROUP && oFilterItem.getVisibleInFilterBar();
|
|
200
206
|
}).map(function(oFilterItem){
|
|
201
207
|
return oFilterItem.getName();
|
|
202
208
|
}),
|
|
203
|
-
removedFilterItems:
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
209
|
+
removedFilterItems: [...new Set([
|
|
210
|
+
...aBasicFilters
|
|
211
|
+
.filter(oFilterItem => !oFilterItem.getVisibleInFilterBar())
|
|
212
|
+
.map(oFilterItem => oFilterItem.getName()),
|
|
213
|
+
...aRemovedFromStandard
|
|
214
|
+
])],
|
|
208
215
|
customFilters: mParams.oCustomFiltersWrapper.getState()
|
|
209
216
|
};
|
|
210
217
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
sap.ui.define([
|
|
2
|
-
"sap/suite/ui/generic/template/genericUtilities/FeError"
|
|
3
|
-
|
|
2
|
+
"sap/suite/ui/generic/template/genericUtilities/FeError",
|
|
3
|
+
"sap/suite/ui/generic/template/genericUtilities/FeLogger"
|
|
4
|
+
], function (FeError, FeLogger) {
|
|
4
5
|
"use strict";
|
|
5
6
|
|
|
6
7
|
// -----------------------------------------------------------------|| Class Information ||----------------------------------------------------------------------------------//
|
|
@@ -16,6 +17,9 @@ sap.ui.define([
|
|
|
16
17
|
//
|
|
17
18
|
// ------------------------------------------------------------------------------------------------------------------------------------------------------------------------//
|
|
18
19
|
var sClassName = "genericUtilities.metadataAnalyser";
|
|
20
|
+
|
|
21
|
+
var oFeLogger = new FeLogger(sClassName);
|
|
22
|
+
var oLogger = oFeLogger.getLogger();
|
|
19
23
|
|
|
20
24
|
function hasPropertyInSideEffect(oSideEffect, sInputPropertyPath) {
|
|
21
25
|
return oSideEffect.SourceProperties.find(function (oSourceProperty) {
|
|
@@ -270,6 +274,33 @@ sap.ui.define([
|
|
|
270
274
|
var oODataProperty = oMetaModel.getODataProperty(oEntityType, sProperty);
|
|
271
275
|
return oODataProperty;
|
|
272
276
|
},
|
|
277
|
+
|
|
278
|
+
/**
|
|
279
|
+
* check does column having 1/n property or not.
|
|
280
|
+
*
|
|
281
|
+
* @param {*} oTable - Table instance
|
|
282
|
+
* @param {*} sEntitySet - table entity set
|
|
283
|
+
* @param {*} sProperty - column property
|
|
284
|
+
* @returns
|
|
285
|
+
*/
|
|
286
|
+
checkFor1ToNProperty(oTable, sEntitySet, sProperty) {
|
|
287
|
+
var aProperty = sProperty.split("/");
|
|
288
|
+
if (aProperty.length > 3) {
|
|
289
|
+
oLogger.warning("Maximum 3 level nested checking is possible for 1/N association.");
|
|
290
|
+
return false;
|
|
291
|
+
}
|
|
292
|
+
var oTableMetaModel = oTable.getModel().getMetaModel();
|
|
293
|
+
var oTableEntitySet = oTableMetaModel.getODataEntitySet(sEntitySet);
|
|
294
|
+
var oTableEntityType = oTableMetaModel.getODataEntityType(oTableEntitySet.entityType);
|
|
295
|
+
for (var i = 0; i < aProperty.length - 1; i++) {
|
|
296
|
+
var oDataAssociationEnd = oTableMetaModel.getODataAssociationEnd(oTableEntityType, aProperty[i]);
|
|
297
|
+
if (oDataAssociationEnd.multiplicity === "*") {
|
|
298
|
+
return true;
|
|
299
|
+
}
|
|
300
|
+
oTableEntityType = oTableMetaModel.getODataEntityType(oDataAssociationEnd.type);
|
|
301
|
+
}
|
|
302
|
+
return false;
|
|
303
|
+
},
|
|
273
304
|
|
|
274
305
|
hasPropertyInSideEffect: hasPropertyInSideEffect
|
|
275
306
|
};
|
|
@@ -959,7 +959,7 @@ sap.ui.define([
|
|
|
959
959
|
* @public
|
|
960
960
|
* @extends sap.ui.core.UIComponent
|
|
961
961
|
* @author SAP SE
|
|
962
|
-
* @version 1.
|
|
962
|
+
* @version 1.144.1
|
|
963
963
|
* @name sap.suite.ui.generic.template.lib.AppComponent
|
|
964
964
|
*/
|
|
965
965
|
var oAppComponent = UIComponent.extend("sap.suite.ui.generic.template.lib.AppComponent", {
|
|
@@ -398,9 +398,9 @@ sap.ui.define(["sap/ui/model/Context", "sap/suite/ui/generic/template/lib/Messag
|
|
|
398
398
|
|
|
399
399
|
function deleteEntity(oDraftController, fnExecuteDelete, oApplicationProxy, oContext, bIsActiveEntity, sActionType){
|
|
400
400
|
var bHasActiveEntity = oDraftController.hasActiveEntity(oContext);
|
|
401
|
-
var oSiblingPromise = bHasActiveEntity && !bIsActiveEntity ? oApplicationProxy.getDraftSiblingPromise(oContext) : Promise.resolve();
|
|
401
|
+
var oSiblingPromise = (bHasActiveEntity && !bIsActiveEntity) || (oContext.getObject().HasDraftEntity === true && bIsActiveEntity) ? oApplicationProxy.getDraftSiblingPromise(oContext) : Promise.resolve();
|
|
402
402
|
return oSiblingPromise.then(function(oActive){
|
|
403
|
-
var oDeletePromise = fnExecuteDelete(bIsActiveEntity, bHasActiveEntity, oContext);
|
|
403
|
+
var oDeletePromise = fnExecuteDelete(bIsActiveEntity, bHasActiveEntity, oContext, oActive);
|
|
404
404
|
if (!bIsActiveEntity) { // cancellation of a draft
|
|
405
405
|
var fnTransformActiveContext = function(){
|
|
406
406
|
return { context: oActive };
|