@sapui5/sap.suite.ui.generic.template 1.133.0 → 1.133.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 +2 -2
- 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/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/manifest.json +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartFilterBar.fragment.xml +1 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/MessageSortingHandler.js +22 -5
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n.properties +18 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/manifest.json +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/fragments/DraftAdminDataPopover.fragment.xml +1 -0
- package/src/sap/suite/ui/generic/template/genericUtilities/filterHelper.js +3 -1
- package/src/sap/suite/ui/generic/template/lib/AppComponent.js +1 -1
- package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +1 -1
- package/src/sap/suite/ui/generic/template/lib/presentationControl/SmartTableHandler.js +1 -2
- package/src/sap/suite/ui/generic/template/library.js +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sapui5/sap.suite.ui.generic.template",
|
|
3
|
-
"version": "1.133.
|
|
3
|
+
"version": "1.133.1",
|
|
4
4
|
"description": "SAPUI5 Library sap.suite.ui.generic.template",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sapui5",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"testsuite-qunit" : "ui5 serve --config ./ui5-local.yaml --open \"/test-resources/sap/suite/ui/generic/template/qunit/testsuite.qunit.html\""
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"sonarqube-scanner": "
|
|
19
|
+
"sonarqube-scanner": "3.5.0",
|
|
20
20
|
"@sap/ux-ui5-tooling": "latest"
|
|
21
21
|
}
|
|
22
22
|
}
|
package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartFilterBar.fragment.xml
CHANGED
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
label="{i18n>EDITING_STATUS}"
|
|
36
36
|
groupId="_BASIC">
|
|
37
37
|
<smartfilterbar:customControl>
|
|
38
|
-
<Select selectedKey="{_templPriv>/listReport/vDraftState}" id="editStateFilter">
|
|
38
|
+
<Select selectedKey="{_templPriv>/listReport/vDraftState}" id="editStateFilter" wrapItemsText="true">
|
|
39
39
|
<items>
|
|
40
40
|
<core:Item key="0" text="{i18n>ALL_OBJECTS}"/>
|
|
41
41
|
<core:Item key="5" text="{i18n>ALL_OBJECTS_HIDING_DRAFT}"/>
|
|
@@ -4,8 +4,9 @@ sap.ui.define([
|
|
|
4
4
|
"sap/ui/model/Sorter",
|
|
5
5
|
"sap/ui/core/message/MessageType",
|
|
6
6
|
"sap/suite/ui/generic/template/lib/MessageUtils",
|
|
7
|
-
"sap/suite/ui/generic/template/genericUtilities/controlHelper"
|
|
8
|
-
|
|
7
|
+
"sap/suite/ui/generic/template/genericUtilities/controlHelper",
|
|
8
|
+
"sap/suite/ui/generic/template/genericUtilities/testableHelper"
|
|
9
|
+
], function(BaseObject, extend, Sorter, MessageType, MessageUtils, controlHelper, testableHelper) {
|
|
9
10
|
"use strict";
|
|
10
11
|
|
|
11
12
|
// This class is a helper class to implement function fnPrepareForMessageHandling within the ControllerImplementation of the object page.
|
|
@@ -704,16 +705,30 @@ sap.ui.define([
|
|
|
704
705
|
}
|
|
705
706
|
|
|
706
707
|
function getSubtitleForRow(oMessageInTableInfo, oTableInfo, oMessage, aColumnsForMessage){
|
|
707
|
-
|
|
708
|
+
const bIsFallback = !Array.isArray(aColumnsForMessage);
|
|
709
|
+
let sI18NKey = bIsFallback ? "MSG_SUBTITLE_DEFAULT_ROW" : "MSG_SUBTITLE_ROW";
|
|
708
710
|
let oColumn = null;
|
|
709
711
|
let aParams = [];
|
|
710
712
|
let sErrorColumnLabel = oMessageInTableInfo?.columnInfo?.label;
|
|
711
713
|
if (!oMessageInTableInfo.rowCurrentlyShown){
|
|
712
714
|
sI18NKey += "_HIDDEN";
|
|
713
715
|
}
|
|
716
|
+
// If the new logic fails, run the fallback mechanism to ensure some information is still displayed on the screen
|
|
717
|
+
if (bIsFallback){
|
|
718
|
+
aParams = [oMessageInTableInfo.rowIdentifier];
|
|
719
|
+
if (oMessageInTableInfo.columnInfo){
|
|
720
|
+
aParams.push(oMessageInTableInfo.columnInfo.label);
|
|
721
|
+
sI18NKey += "_COLUMN";
|
|
722
|
+
if (oMessageInTableInfo.columnInfo.hidden){
|
|
723
|
+
sI18NKey += "_HIDDEN";
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
return oTemplateUtils.oCommonUtils.getText(sI18NKey, aParams);
|
|
727
|
+
}
|
|
714
728
|
if (!sErrorColumnLabel){
|
|
715
729
|
sErrorColumnLabel = oTableInfo.presentationControlHandler.getColumnLabelForMessage(oMessage);
|
|
716
730
|
}
|
|
731
|
+
//HeaderInfo or Single Key is available for subtitle
|
|
717
732
|
if (aColumnsForMessage.length === 1){
|
|
718
733
|
oColumn = aColumnsForMessage.pop();
|
|
719
734
|
aParams = [oColumn.sLabel, oColumn.sValue];
|
|
@@ -722,9 +737,11 @@ sap.ui.define([
|
|
|
722
737
|
sI18NKey += "_HIDDEN";
|
|
723
738
|
}
|
|
724
739
|
} else if (aColumnsForMessage.length === 0){
|
|
740
|
+
//No columns are available for subtitle
|
|
725
741
|
sI18NKey += "_EMPTY";
|
|
726
742
|
aParams = [sErrorColumnLabel];
|
|
727
743
|
} else {
|
|
744
|
+
//Multiple Keys are available and decription is needed
|
|
728
745
|
sI18NKey += "_MORE_DETAILS";
|
|
729
746
|
}
|
|
730
747
|
return oTemplateUtils.oCommonUtils.getText(sI18NKey, aParams);
|
|
@@ -762,7 +779,7 @@ sap.ui.define([
|
|
|
762
779
|
if (oMessageInTableInfo && oMessageInTableInfo.index >= 0){
|
|
763
780
|
const oItemContext = oTableInfo.presentationControlHandler.getItemContextForMessage(oPlacementInfo.message);
|
|
764
781
|
const aColumnsForMessage = oTableInfo.presentationControlHandler.getRelevantColumnsForMessage(oItemContext);
|
|
765
|
-
if (aColumnsForMessage.length > 1){
|
|
782
|
+
if (Array.isArray(aColumnsForMessage) && aColumnsForMessage.length > 1){
|
|
766
783
|
return getDescriptionForRow(oMessageInTableInfo, oTableInfo, oPlacementInfo.message, aColumnsForMessage);
|
|
767
784
|
}
|
|
768
785
|
}
|
|
@@ -789,7 +806,7 @@ sap.ui.define([
|
|
|
789
806
|
}
|
|
790
807
|
return sTableText + sRowHeaderText + sRowText + sErrorColumnText;
|
|
791
808
|
}
|
|
792
|
-
|
|
809
|
+
testableHelper.testableStatic(getSubtitleForRow, "filterHelper_getSubtitleForRow");
|
|
793
810
|
// public instance methods
|
|
794
811
|
return {
|
|
795
812
|
getPrepareMessageDisplayPromise: getPrepareMessageDisplayPromise
|
|
@@ -115,6 +115,24 @@ MSG_DESCRIPTION_COLUMN_VALUE={0}\: {1}
|
|
|
115
115
|
# XMSG, 40
|
|
116
116
|
MSG_DESCRIPTION_COLUMN_VALUE_HIDDEN={0} (Hidden)\: {1}
|
|
117
117
|
|
|
118
|
+
# XMSG, 40
|
|
119
|
+
MSG_SUBTITLE_DEFAULT_ROW=Row: {0}
|
|
120
|
+
|
|
121
|
+
# XMSG, 40
|
|
122
|
+
MSG_SUBTITLE_DEFAULT_ROW_HIDDEN=Row (Hidden): {0}
|
|
123
|
+
|
|
124
|
+
# XMSG, 40
|
|
125
|
+
MSG_SUBTITLE_DEFAULT_ROW_COLUMN=Row: {0}, Column: {1}
|
|
126
|
+
|
|
127
|
+
# XMSG, 40
|
|
128
|
+
MSG_SUBTITLE_DEFAULT_ROW_COLUMN_HIDDEN=Row: {0}, Column (Hidden): {1}
|
|
129
|
+
|
|
130
|
+
# XMSG, 40
|
|
131
|
+
MSG_SUBTITLE_DEFAULT_ROW_HIDDEN_COLUMN=Row (Hidden): {0}, Column: {1}
|
|
132
|
+
|
|
133
|
+
# XMSG, 40
|
|
134
|
+
MSG_SUBTITLE_DEFAULT_ROW_HIDDEN_COLUMN_HIDDEN=Row (Hidden): {0}, Column (Hidden): {1}
|
|
135
|
+
|
|
118
136
|
# XTIT,30: Title of a form with contact person information
|
|
119
137
|
CONTACT_INFO=Contact Information
|
|
120
138
|
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
ariaLabelledBy="objectNoDataText unsavedPopoverText lockedPopoverText objectChangedText"
|
|
5
5
|
contentWidth="15.625rem"
|
|
6
6
|
verticalScrolling="false"
|
|
7
|
+
placement="Auto"
|
|
7
8
|
class="sapSmartTemplatesListReportPopover sapUiContentPadding">
|
|
8
9
|
<endButton>
|
|
9
10
|
<Button icon="sap-icon://decline" tooltip="{i18n>CLOSE}" press="closeDraftAdminPopover" />
|
|
@@ -204,10 +204,12 @@ sap.ui.define([
|
|
|
204
204
|
}
|
|
205
205
|
var sRet = aFiltersForProperty.map(function (oFilter) {
|
|
206
206
|
var bCaseSensitive = true;
|
|
207
|
+
// Define the date range operations that need date formatting
|
|
208
|
+
var dateRangeOperations = ["DATE", "DATERANGE", "DATETIMERANGE", "FROM", "TO"];
|
|
207
209
|
if (oFilter.bCaseSensitive === undefined) {
|
|
208
210
|
bCaseSensitive = true;
|
|
209
211
|
}
|
|
210
|
-
if ((oProperty.type === "Edm.DateTime" || oProperty.type === "Edm.DateTimeOffset") && oParams.oFilterData[sPropertyForFilterData].conditionTypeInfo && oParams.oFilterData[sPropertyForFilterData].conditionTypeInfo.data.operation
|
|
212
|
+
if ((oProperty.type === "Edm.DateTime" || oProperty.type === "Edm.DateTimeOffset") && oParams.oFilterData[sPropertyForFilterData].conditionTypeInfo && !dateRangeOperations.includes(oParams.oFilterData[sPropertyForFilterData].conditionTypeInfo.data.operation)) {
|
|
211
213
|
if (!DynamicDateUtil.getAllOptionKeys().includes(oParams.oFilterData[sPropertyForFilterData].conditionTypeInfo.data.operation)) {
|
|
212
214
|
oParams.bIsStatic = true;
|
|
213
215
|
return;
|
|
@@ -951,7 +951,7 @@ sap.ui.define([
|
|
|
951
951
|
* @public
|
|
952
952
|
* @extends sap.ui.core.UIComponent
|
|
953
953
|
* @author SAP SE
|
|
954
|
-
* @version 1.133.
|
|
954
|
+
* @version 1.133.1
|
|
955
955
|
* @name sap.suite.ui.generic.template.lib.AppComponent
|
|
956
956
|
*/
|
|
957
957
|
var oAppComponent = UIComponent.extend("sap.suite.ui.generic.template.lib.AppComponent", {
|
|
@@ -3188,7 +3188,7 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
3188
3188
|
* @param {sap.suite.ui.generic.template.lib.AppComponent} oAppComponent The AppComponent instance
|
|
3189
3189
|
* @public
|
|
3190
3190
|
* @extends sap.ui.base.Object
|
|
3191
|
-
* @version 1.133.
|
|
3191
|
+
* @version 1.133.1
|
|
3192
3192
|
* @since 1.30.0
|
|
3193
3193
|
* @alias sap.suite.ui.generic.template.lib.NavigationController
|
|
3194
3194
|
*/
|
|
@@ -599,8 +599,7 @@ sap.ui.define([
|
|
|
599
599
|
//Check for UI.Hidden fields, even if one of the field is UI.hidden we discard all the keys
|
|
600
600
|
aSemanticKeys = aSemanticKeys.some(key => hasUIHidden(key.PropertyPath)) ? [] : aSemanticKeys;
|
|
601
601
|
aTechnicalKeys = aTechnicalKeys.some(key => hasUIHidden(key.name)) ? [] : aTechnicalKeys;
|
|
602
|
-
if (oHeaderInfoField && oHeaderInfoField?.Title?.Value?.Path) { //HeaderInfoField is available
|
|
603
|
-
oHeaderInfoField = hasUIHidden(oHeaderInfoField.Title.Value.Path) ? null : oHeaderInfoField;
|
|
602
|
+
if (oHeaderInfoField && oHeaderInfoField?.Title?.Value?.Path && !hasUIHidden(oHeaderInfoField.Title.Value.Path)) { //HeaderInfoField is available
|
|
604
603
|
aRelevantColumns.push(getFieldProps(oHeaderInfoField.Title.Value.Path));
|
|
605
604
|
} else if (aSemanticKeys.length > 0){ //HeaderInfoField is not available, but SemanticKey is available
|
|
606
605
|
aRelevantColumns = aSemanticKeys.map(key => getFieldProps(key.PropertyPath));
|