@sapui5/sap.suite.ui.commons 1.140.0 → 1.142.0
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/commons/.library +1 -1
- package/src/sap/suite/ui/commons/AriaProperties.js +1 -1
- package/src/sap/suite/ui/commons/CalculationBuilder.js +13 -2
- package/src/sap/suite/ui/commons/CalculationBuilderExpression.js +11 -7
- package/src/sap/suite/ui/commons/CalculationBuilderFunction.js +1 -1
- package/src/sap/suite/ui/commons/CalculationBuilderGroup.js +1 -1
- package/src/sap/suite/ui/commons/CalculationBuilderItem.js +12 -6
- package/src/sap/suite/ui/commons/CalculationBuilderValidationResult.js +1 -1
- package/src/sap/suite/ui/commons/CalculationBuilderVariable.js +1 -1
- package/src/sap/suite/ui/commons/CloudFilePicker.js +21 -21
- package/src/sap/suite/ui/commons/MicroProcessFlow.js +2 -2
- package/src/sap/suite/ui/commons/MicroProcessFlowItem.js +7 -9
- package/src/sap/suite/ui/commons/Timeline.js +22 -24
- package/src/sap/suite/ui/commons/TimelineItemRenderer.js +12 -2
- package/src/sap/suite/ui/commons/TimelineRenderManager.js +25 -13
- package/src/sap/suite/ui/commons/collaboration/BaseHelperService.js +12 -12
- package/src/sap/suite/ui/commons/collaboration/CollaborationCardHelper.js +6 -5
- package/src/sap/suite/ui/commons/collaboration/CollaborationContactInfoHelper.js +15 -15
- package/src/sap/suite/ui/commons/collaboration/CollaborationHelper.js +94 -76
- package/src/sap/suite/ui/commons/collaboration/CollaborationManagerService.js +41 -41
- package/src/sap/suite/ui/commons/collaboration/ContactHelper.js +288 -286
- package/src/sap/suite/ui/commons/collaboration/ServiceContainer.js +33 -33
- package/src/sap/suite/ui/commons/collaboration/TeamsHelperService.js +446 -150
- package/src/sap/suite/ui/commons/collaboration/UniversalCollaborationBar.js +366 -0
- package/src/sap/suite/ui/commons/collaboration/flpplugins/msplugin/Component-preload.js +6 -3
- package/src/sap/suite/ui/commons/collaboration/flpplugins/msplugin/Component.js +11 -13
- package/src/sap/suite/ui/commons/flexibility/changeHandler/PropertyChangeMapper.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/CropCustomShapeHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/CropEllipseHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/CropRectangleHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/CustomSizeItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/FilterHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/FlipHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/HistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/ImageEditor.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/ImageEditorContainer.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/ImageEditorResponsiveContainer.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/ResizeHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/RotateHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/library.js +1 -1
- package/src/sap/suite/ui/commons/messagebundle.properties +16 -1
- package/src/sap/suite/ui/commons/messagebundle_en.properties +3 -0
- package/src/sap/suite/ui/commons/networkgraph/Graph.js +105 -5
- package/src/sap/suite/ui/commons/networkgraph/Node.js +33 -11
- package/src/sap/suite/ui/commons/networkgraph/util/DragDropManager.js +197 -0
- package/src/sap/suite/ui/commons/statusindicator/Circle.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/CustomShape.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/DiscreteThreshold.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/FillingOption.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/LibraryShape.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/Path.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/PropertyThreshold.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/Rectangle.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/Shape.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/ShapeGroup.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/SimpleShape.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/StatusIndicator.js +1 -1
- package/src/sap/suite/ui/commons/taccount/TAccount.js +1 -1
- package/src/sap/suite/ui/commons/taccount/TAccountGroup.js +1 -1
- package/src/sap/suite/ui/commons/taccount/TAccountItem.js +1 -1
- package/src/sap/suite/ui/commons/taccount/TAccountItemProperty.js +1 -1
- package/src/sap/suite/ui/commons/taccount/TAccountPanel.js +1 -1
- package/src/sap/suite/ui/commons/themes/base/CollaborationPopover.less +29 -1
- package/src/sap/suite/ui/commons/themes/base/NetworkGraph.less +5 -0
package/package.json
CHANGED
|
@@ -134,7 +134,7 @@ sap.ui.define([
|
|
|
134
134
|
* @extends sap.ui.core.Control
|
|
135
135
|
*
|
|
136
136
|
* @author SAP SE
|
|
137
|
-
* @version 1.
|
|
137
|
+
* @version 1.142.0
|
|
138
138
|
* @since 1.56.0
|
|
139
139
|
*
|
|
140
140
|
* @constructor
|
|
@@ -1090,7 +1090,18 @@ sap.ui.define([
|
|
|
1090
1090
|
};
|
|
1091
1091
|
|
|
1092
1092
|
CalculationBuilder.prototype._isTokenAllowed = function (sKey) {
|
|
1093
|
-
|
|
1093
|
+
sKey = (sKey || "").toLowerCase();
|
|
1094
|
+
// Check if the token is a custom function by searching the aggregation
|
|
1095
|
+
var bCustomFunction = this.getFunctions().some(function (oFunction) {
|
|
1096
|
+
return oFunction.getKey().toLowerCase() === sKey;
|
|
1097
|
+
});
|
|
1098
|
+
// If this is a custom function and its key is present in _mDisabledTokens,
|
|
1099
|
+
// allow it (custom functions are not blocked by disabledDefaultTokens)
|
|
1100
|
+
if (bCustomFunction && this._mDisabledTokens[sKey]) {
|
|
1101
|
+
return true;
|
|
1102
|
+
}
|
|
1103
|
+
// For all other cases, block if present in _mDisabledTokens
|
|
1104
|
+
return !this._mDisabledTokens[sKey];
|
|
1094
1105
|
};
|
|
1095
1106
|
|
|
1096
1107
|
CalculationBuilder.prototype.setDisabledDefaultTokens = function (sValue) {
|
|
@@ -148,7 +148,7 @@ sap.ui.define([
|
|
|
148
148
|
* @extends sap.ui.core.Control
|
|
149
149
|
*
|
|
150
150
|
* @author SAP SE
|
|
151
|
-
* @version 1.
|
|
151
|
+
* @version 1.142.0
|
|
152
152
|
* @since 1.56.0
|
|
153
153
|
*
|
|
154
154
|
* @constructor
|
|
@@ -1592,7 +1592,7 @@ sap.ui.define([
|
|
|
1592
1592
|
this.getItems().forEach(function (oItem) {
|
|
1593
1593
|
aDomRefs.push(oItem.getFocusDomRef());
|
|
1594
1594
|
if (oItem.isExpandable()) {
|
|
1595
|
-
aDomRefs.push(oItem.$("expandbutton"));
|
|
1595
|
+
aDomRefs.push(oItem.$("expandbutton")[0]);
|
|
1596
1596
|
}
|
|
1597
1597
|
});
|
|
1598
1598
|
aDomRefs.push(this._getNewItem().getFocusDomRef());
|
|
@@ -1650,10 +1650,14 @@ sap.ui.define([
|
|
|
1650
1650
|
CalculationBuilderExpression.prototype._printErrors = function () {
|
|
1651
1651
|
this.getItems().forEach(function (oItem) {
|
|
1652
1652
|
var oError = oItem._getItemError(),
|
|
1653
|
-
$this = oItem.$()
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1653
|
+
$this = oItem.$();
|
|
1654
|
+
if (oError) {
|
|
1655
|
+
oItem._oArrowNavigtionInvisibleText.setText(oResourceBundle.getText("CALCULATION_BUILDER_NEGATIVE_ACTION") + " " + oResourceBundle.getText("CALCULATION_BUILDER_NAVIGATION"));
|
|
1656
|
+
$this.addClass("sapCalculationBuilderItemErrorSyntax");
|
|
1657
|
+
} else {
|
|
1658
|
+
oItem._oArrowNavigtionInvisibleText.setText(oResourceBundle.getText("CALCULATION_BUILDER_NAVIGATION"));
|
|
1659
|
+
$this.removeClass("sapCalculationBuilderItemErrorSyntax");
|
|
1660
|
+
}
|
|
1657
1661
|
});
|
|
1658
1662
|
|
|
1659
1663
|
if (this.getParent().getLayoutType() === LayoutTypes.VisualOnly) {
|
|
@@ -1662,7 +1666,7 @@ sap.ui.define([
|
|
|
1662
1666
|
};
|
|
1663
1667
|
|
|
1664
1668
|
CalculationBuilderExpression.prototype._validateSyntax = function (mParameters) {
|
|
1665
|
-
//Usually The map creation is done on the onBeforeRendering hook of this class but this method is getting invoked even before the onBeforeRendering is called
|
|
1669
|
+
//Usually The map creation is done on the onBeforeRendering hook of this class but this method is getting invoked even before the onBeforeRendering is called
|
|
1666
1670
|
//Its getting called from the "sap.suite.ui.commons.CalculationBuilder.js"
|
|
1667
1671
|
//To handle this case we are calling the _createMap function to ensure all maps are created appropriately
|
|
1668
1672
|
this._createMap();
|
|
@@ -14,11 +14,12 @@ sap.ui.define([
|
|
|
14
14
|
"sap/base/security/encodeXML",
|
|
15
15
|
"./Utils",
|
|
16
16
|
"sap/ui/core/Lib",
|
|
17
|
+
"sap/ui/core/InvisibleText",
|
|
17
18
|
"sap/ui/thirdparty/jqueryui/jquery-ui-core",
|
|
18
19
|
"sap/ui/thirdparty/jqueryui/jquery-ui-widget",
|
|
19
20
|
"sap/ui/thirdparty/jqueryui/jquery-ui-mouse",
|
|
20
21
|
"sap/ui/thirdparty/jqueryui/jquery-ui-draggable"
|
|
21
|
-
], function (jQuery, library, BaseObject, Control, MessageBox, encodeXML, Utils, CoreLib) {
|
|
22
|
+
], function (jQuery, library, BaseObject, Control, MessageBox, encodeXML, Utils, CoreLib, InvisibleText) {
|
|
22
23
|
"use strict";
|
|
23
24
|
|
|
24
25
|
var ItemType = library.CalculationBuilderItemType,
|
|
@@ -39,7 +40,7 @@ sap.ui.define([
|
|
|
39
40
|
* @extends sap.ui.core.Control
|
|
40
41
|
*
|
|
41
42
|
* @author SAP SE
|
|
42
|
-
* @version 1.
|
|
43
|
+
* @version 1.142.0
|
|
43
44
|
* @since 1.56.0
|
|
44
45
|
*
|
|
45
46
|
* @constructor
|
|
@@ -146,7 +147,8 @@ sap.ui.define([
|
|
|
146
147
|
oRm.class("sapCalculationBuilderItemContent");
|
|
147
148
|
oRm.attr("title", this.getParent()._operatorTooltip[sLabel] ? oResourceBundle.getText(this.getParent()._operatorTooltip[sLabel]) : "");
|
|
148
149
|
if (this._bIsNew || this._isEmpty()) {
|
|
149
|
-
oRm.attr("title",oResourceBundle.getText("CALCULATION_BUILDER_NEW_ITEM_TITLE"));
|
|
150
|
+
oRm.attr("title", oResourceBundle.getText("CALCULATION_BUILDER_NEW_ITEM_TITLE"));
|
|
151
|
+
fnGetItemAriaLabel(oRm, "CALCULATION_BUILDER_NEW_ITEM_TITLE");
|
|
150
152
|
} else if (oItemsWithAriaLabel[sLabel]) {
|
|
151
153
|
fnGetItemAriaLabel(oRm, "CALCULATION_BUILDER_" + oItemsWithAriaLabel[sLabel] + "_ARIA_LABEL");
|
|
152
154
|
}
|
|
@@ -251,10 +253,9 @@ sap.ui.define([
|
|
|
251
253
|
oRm.attr("id",this.getId());
|
|
252
254
|
oRm.attr("tabindex", sTabIndexAttr);
|
|
253
255
|
oRm.attr("title", sTooltipAttr);
|
|
254
|
-
oRm.attr("role",
|
|
256
|
+
oRm.attr("role", "button");
|
|
257
|
+
oRm.attr("aria-describedby", this._oArrowNavigtionInvisibleText.getId())
|
|
255
258
|
oRm.openEnd();
|
|
256
|
-
// for now we can't add data-sap-ui as it collide with dragging selected items (for unknown reason)
|
|
257
|
-
//sHtml += "<div " + " class=\"" + this._getClass(!!oError) + "\" data-sap-ui=\"" + this.getId() + "\" id=\"" + this.getId() + "\" tabindex=\"" + (bIsItemInBuilder ? "-1" : "0") + "\"" + sTooltipAttr + ">";
|
|
258
259
|
this._innerRender(oRm);
|
|
259
260
|
oRm.close("div");
|
|
260
261
|
};
|
|
@@ -265,6 +266,11 @@ sap.ui.define([
|
|
|
265
266
|
CalculationBuilderItem.prototype.init = function () {
|
|
266
267
|
// Indicates whether the item is NewItem
|
|
267
268
|
this._bIsNew = false;
|
|
269
|
+
if (!this._oArrowNavigtionInvisibleText) {
|
|
270
|
+
this._oArrowNavigtionInvisibleText = new InvisibleText();
|
|
271
|
+
this._oArrowNavigtionInvisibleText.toStatic();
|
|
272
|
+
this._oArrowNavigtionInvisibleText.setText(oResourceBundle.getText("CALCULATION_BUILDER_NAVIGATION"));
|
|
273
|
+
}
|
|
268
274
|
};
|
|
269
275
|
|
|
270
276
|
CalculationBuilderItem.prototype.onBeforeRendering = function () {
|
|
@@ -33,7 +33,8 @@ sap.ui.define([
|
|
|
33
33
|
"sap/m/OverflowToolbar",
|
|
34
34
|
"sap/m/ToolbarSpacer",
|
|
35
35
|
"sap/m/Title",
|
|
36
|
-
"sap/m/table/columnmenu/
|
|
36
|
+
"sap/m/table/columnmenu/QuickSort",
|
|
37
|
+
"sap/m/table/columnmenu/QuickSortItem",
|
|
37
38
|
"sap/m/table/columnmenu/Menu",
|
|
38
39
|
"sap/ui/core/CustomData",
|
|
39
40
|
"sap/ui/model/Sorter",
|
|
@@ -77,8 +78,9 @@ sap.ui.define([
|
|
|
77
78
|
OverflowToolbar,
|
|
78
79
|
ToolbarSpacer,
|
|
79
80
|
Title,
|
|
80
|
-
|
|
81
|
-
|
|
81
|
+
QuickSort,
|
|
82
|
+
QuickSortItem,
|
|
83
|
+
ColumnMenu,
|
|
82
84
|
CustomData,
|
|
83
85
|
Sorter,
|
|
84
86
|
SearchField,
|
|
@@ -118,7 +120,7 @@ sap.ui.define([
|
|
|
118
120
|
* @class
|
|
119
121
|
* @public
|
|
120
122
|
* @internal
|
|
121
|
-
* @version 1.
|
|
123
|
+
* @version 1.142.0
|
|
122
124
|
*/
|
|
123
125
|
var CloudFilePicker = Dialog.extend("sap.suite.ui.commons.CloudFilePicker", {
|
|
124
126
|
metadata: {
|
|
@@ -707,23 +709,19 @@ sap.ui.define([
|
|
|
707
709
|
if (sColumnType === "CreatedByUser" || sColumnType === "FileShareItemContentSize" || sColumnType === "FileShareItemContentType") {
|
|
708
710
|
return;
|
|
709
711
|
}
|
|
710
|
-
var oColumnMenu = new
|
|
711
|
-
|
|
712
|
-
new
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
}),
|
|
718
|
-
new ActionItem({
|
|
719
|
-
icon: "sap-icon://sort-descending",
|
|
720
|
-
press: function() {
|
|
721
|
-
this._fHandleSorting(oColumn, false);
|
|
712
|
+
var oColumnMenu = new ColumnMenu({
|
|
713
|
+
quickActions: [
|
|
714
|
+
new QuickSort({
|
|
715
|
+
items: new QuickSortItem({key: sColumnType, label: oColumn.getHeader().getText()}),
|
|
716
|
+
change: function(oEvent) {
|
|
717
|
+
const sSortOrder = oEvent.getParameter("item").getSortOrder();
|
|
718
|
+
this._fHandleSorting(oColumn, sSortOrder);
|
|
722
719
|
}.bind(this)
|
|
723
720
|
})
|
|
724
721
|
]
|
|
725
722
|
});
|
|
726
723
|
|
|
724
|
+
oColumnMenu.getQuickActions()[0].getItems()[0].setSortOrder(oColumn.getSortIndicator());
|
|
727
725
|
oColumnMenu.openBy(oColumn);
|
|
728
726
|
}.bind(this));
|
|
729
727
|
|
|
@@ -962,16 +960,18 @@ sap.ui.define([
|
|
|
962
960
|
oApproveDialog.open();
|
|
963
961
|
};
|
|
964
962
|
|
|
965
|
-
CloudFilePicker.prototype._fHandleSorting = function(oColumn,
|
|
963
|
+
CloudFilePicker.prototype._fHandleSorting = function(oColumn, sSortOrder) {
|
|
966
964
|
this._clearCheckboxFileSelections();
|
|
967
|
-
var
|
|
968
|
-
if (
|
|
969
|
-
|
|
965
|
+
var bIsAsc = false
|
|
966
|
+
if (sSortOrder === SortOrder.Ascending) {
|
|
967
|
+
bIsAsc = true;
|
|
968
|
+
} else if (sSortOrder === SortOrder.Descending) {
|
|
969
|
+
bIsAsc = false;
|
|
970
970
|
}
|
|
971
971
|
this.oTableControl.getColumns().forEach(function(oColumn){
|
|
972
972
|
oColumn.setSortIndicator("None");
|
|
973
973
|
});
|
|
974
|
-
oColumn.setSortIndicator(
|
|
974
|
+
oColumn.setSortIndicator(sSortOrder);
|
|
975
975
|
var sSortProperty = oColumn.data("bindingProperty");
|
|
976
976
|
var oItemBinding = this.oTableControl.getBinding("items");
|
|
977
977
|
oItemBinding.sort([
|
|
@@ -47,7 +47,7 @@ sap.ui.define([
|
|
|
47
47
|
* @extends sap.ui.core.Control
|
|
48
48
|
*
|
|
49
49
|
* @author SAP SE
|
|
50
|
-
* @version 1.
|
|
50
|
+
* @version 1.142.0
|
|
51
51
|
*
|
|
52
52
|
* @constructor
|
|
53
53
|
* @public
|
|
@@ -107,7 +107,7 @@ sap.ui.define([
|
|
|
107
107
|
|
|
108
108
|
oRM.openStart("div", oMicroProcessFlow);
|
|
109
109
|
|
|
110
|
-
oRM.attr("role", "
|
|
110
|
+
oRM.attr("role", "list");
|
|
111
111
|
oRM.attr("aria-roledescription", oResourceBundle.getText("ACC_CTR_TYPE_MICRO_PROCESS_FLOW"));
|
|
112
112
|
oRM.attr("aria-label",sLabel);
|
|
113
113
|
|
|
@@ -38,7 +38,7 @@ sap.ui.define([
|
|
|
38
38
|
* @extends sap.ui.core.Control
|
|
39
39
|
*
|
|
40
40
|
* @author SAP SE
|
|
41
|
-
* @version 1.
|
|
41
|
+
* @version 1.142.0
|
|
42
42
|
*
|
|
43
43
|
* @constructor
|
|
44
44
|
* @public
|
|
@@ -202,9 +202,12 @@ sap.ui.define([
|
|
|
202
202
|
oRM.attr("tabindex", "0");
|
|
203
203
|
oRM.class("sapSuiteUiCommonsMicroProcessFlowItem").class("sapSuiteUiCommonsMicroProcessFlowItem" + oMicroProcessFlowItem.getState());
|
|
204
204
|
oRM.attr("aria-label", oMicroProcessFlowItem._getAriaText());
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
205
|
+
if (oMicroProcessFlowItem.hasListeners("press")) {
|
|
206
|
+
oRM.attr("role", "button");
|
|
207
|
+
oRM.attr("aria-roledescription", oResourceBundle.getText("MICRO_PROCESS_FLOW_ITEM_ACC_BUTTON",[oMicroProcessFlowItem._iIndex,oMicroProcessFlowItem._iItemsCount]));
|
|
208
|
+
} else {
|
|
209
|
+
oRM.attr("role", "listitem");
|
|
210
|
+
}
|
|
208
211
|
oRM.openEnd();
|
|
209
212
|
|
|
210
213
|
if (sIcon) {
|
|
@@ -242,7 +245,6 @@ sap.ui.define([
|
|
|
242
245
|
$item.attr("tabindex", 0);
|
|
243
246
|
}
|
|
244
247
|
$item.attr("aria-label", sAriaLabel);
|
|
245
|
-
$item.attr("role", "option");
|
|
246
248
|
$item.attr("aria-posinset", this._iIndex);
|
|
247
249
|
$item.attr("aria-setsize", this._iItemsCount);
|
|
248
250
|
this._setItemContentAccessibility();
|
|
@@ -262,8 +264,6 @@ sap.ui.define([
|
|
|
262
264
|
|
|
263
265
|
if (bHasPressEvent) {
|
|
264
266
|
$item.css("cursor", "pointer");
|
|
265
|
-
$item.attr("role", "button");
|
|
266
|
-
$item.attr("aria-hidden", "true");
|
|
267
267
|
}
|
|
268
268
|
};
|
|
269
269
|
|
|
@@ -355,11 +355,9 @@ sap.ui.define([
|
|
|
355
355
|
var selectedItem = document.getElementsByClassName('sapSuiteMicroProcessFlowItemSelected')[0];
|
|
356
356
|
var item = this._getAccessibleItem()[0];
|
|
357
357
|
if (selectedItem) {
|
|
358
|
-
selectedItem.setAttribute("aria-selected", false);
|
|
359
358
|
selectedItem.classList.remove("sapSuiteMicroProcessFlowItemSelected");
|
|
360
359
|
}
|
|
361
360
|
if (item.tabIndex == "0") {
|
|
362
|
-
item.setAttribute("aria-selected", true);
|
|
363
361
|
item.classList.add("sapSuiteMicroProcessFlowItemSelected");
|
|
364
362
|
}
|
|
365
363
|
};
|
|
@@ -33,9 +33,10 @@ sap.ui.define([
|
|
|
33
33
|
"sap/ui/core/Configuration",
|
|
34
34
|
"./TimelineRenderer",
|
|
35
35
|
"sap/ui/core/Lib",
|
|
36
|
-
"sap/base/i18n/Localization"
|
|
36
|
+
"sap/base/i18n/Localization",
|
|
37
|
+
"sap/base/util/deepEqual"
|
|
37
38
|
], function (jQuery, library, Control, ResizeHandler, DateFormat, ClientListBinding, FilterType, TimelineNavigator, DateUtils, ManagedObjectRegister,
|
|
38
|
-
JSONModel, Sorter, Filter, FilterOperator, ManagedObject, TimelineItem, TimelineRenderManager, ScrollEnablement, BaseObject, assert, Log, UI5Date, Configuration, TimelineRenderer, CoreLib, Localization) {
|
|
39
|
+
JSONModel, Sorter, Filter, FilterOperator, ManagedObject, TimelineItem, TimelineRenderManager, ScrollEnablement, BaseObject, assert, Log, UI5Date, Configuration, TimelineRenderer, CoreLib, Localization, deepEqual) {
|
|
39
40
|
"use strict";
|
|
40
41
|
|
|
41
42
|
var ScrollingFadeout = library.TimelineScrollingFadeout,
|
|
@@ -1183,7 +1184,7 @@ sap.ui.define([
|
|
|
1183
1184
|
aCurrentFilters = [];
|
|
1184
1185
|
if (oBinding) {
|
|
1185
1186
|
if (!bResetAll) {
|
|
1186
|
-
aFilters = oBinding.aFilters.length != 0 ? [...oBinding.aFilters] : this.aPrevFilters || [];
|
|
1187
|
+
aFilters = oBinding.aFilters.length != 0 ? [...oBinding.aFilters] : this.aPrevFilters.map(val => val) || [];
|
|
1187
1188
|
}
|
|
1188
1189
|
|
|
1189
1190
|
if (this._dataFilter) {
|
|
@@ -1214,6 +1215,10 @@ sap.ui.define([
|
|
|
1214
1215
|
aFilters.push(this._filter);
|
|
1215
1216
|
}
|
|
1216
1217
|
if (aFilters.length) {
|
|
1218
|
+
if(deepEqual(aFilters, this.aPrevFilters)){
|
|
1219
|
+
this._setBusy(false);
|
|
1220
|
+
return;
|
|
1221
|
+
}
|
|
1217
1222
|
this.aPrevFilters = aFilters.map(function (val) { return val; });
|
|
1218
1223
|
oBinding.filter(aFilters, FilterType.Control);
|
|
1219
1224
|
} else {
|
|
@@ -1603,16 +1608,16 @@ sap.ui.define([
|
|
|
1603
1608
|
*/
|
|
1604
1609
|
Timeline.prototype._clearFilter = function () {
|
|
1605
1610
|
var fnClearTimeRangeFilter = function () {
|
|
1606
|
-
var
|
|
1607
|
-
oSlider = this._objects.getTimeRangeSlider();
|
|
1611
|
+
var oSlider = this._objects.getTimeRangeSlider();
|
|
1608
1612
|
this._startDate = null;
|
|
1609
1613
|
this._endDate = null;
|
|
1610
1614
|
this._rangeMessage = null;
|
|
1611
1615
|
|
|
1612
1616
|
oSlider.setRange([oSlider.getMin(), oSlider.getMax()]);
|
|
1613
1617
|
|
|
1618
|
+
// Fire event but don't let it prevent filter clearing
|
|
1614
1619
|
if (this._useModelFilter()) {
|
|
1615
|
-
|
|
1620
|
+
this._fireSelectionChange({
|
|
1616
1621
|
clear: true,
|
|
1617
1622
|
timeKeys: {
|
|
1618
1623
|
from: null,
|
|
@@ -1621,40 +1626,33 @@ sap.ui.define([
|
|
|
1621
1626
|
type: TimelineFilterType.Range
|
|
1622
1627
|
});
|
|
1623
1628
|
}
|
|
1624
|
-
return
|
|
1629
|
+
return true; // Always return true to ensure filter clearing
|
|
1625
1630
|
}.bind(this),
|
|
1626
1631
|
fnClearDataFilter = function () {
|
|
1627
|
-
var bExecuteDefault;
|
|
1628
1632
|
|
|
1629
1633
|
this._currentFilterKeys = [];
|
|
1630
1634
|
if (this._useModelFilter()) {
|
|
1631
|
-
|
|
1635
|
+
this._fireSelectionChange({
|
|
1632
1636
|
clear: true,
|
|
1633
1637
|
selectedItems: [],
|
|
1634
1638
|
selectedItem: "",
|
|
1635
1639
|
type: TimelineFilterType.Data
|
|
1636
1640
|
});
|
|
1637
1641
|
}
|
|
1638
|
-
return
|
|
1642
|
+
return true; // Always return true to ensure filter clearing
|
|
1639
1643
|
}.bind(this);
|
|
1640
1644
|
|
|
1641
|
-
|
|
1642
|
-
|
|
1645
|
+
// Execute both clear functions
|
|
1646
|
+
fnClearDataFilter(),
|
|
1647
|
+
fnClearTimeRangeFilter();
|
|
1643
1648
|
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
if (bDataDefault || bRangeDefault) {
|
|
1647
|
-
if (bDataDefault) {
|
|
1649
|
+
// Always clear filters regardless of event handling
|
|
1650
|
+
this._customFilterMessage = "";
|
|
1648
1651
|
this._dataFilter = null;
|
|
1649
|
-
}
|
|
1650
|
-
|
|
1651
|
-
if (bRangeDefault) {
|
|
1652
1652
|
this._rangeDataFilter = null;
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
this.invalidate();
|
|
1657
|
-
}
|
|
1653
|
+
|
|
1654
|
+
/*force clear custom filters*/
|
|
1655
|
+
this.recreateFilter(true);
|
|
1658
1656
|
|
|
1659
1657
|
//reset filter
|
|
1660
1658
|
// this is a bit overkill but we are so far unable to reset filter to it's init state without some filter's internal errors
|
|
@@ -366,7 +366,6 @@ sap.ui.define([
|
|
|
366
366
|
eTimelineItem.setAttribute("aria-level", 2);
|
|
367
367
|
}
|
|
368
368
|
eTimelineItem.addClass("sapSuiteUiCommonsTimelineItem");
|
|
369
|
-
eTimelineItem.setAttribute("aria-labelledby", oTimelineItem.getAriaLabelledBy().join(" "), true);
|
|
370
369
|
|
|
371
370
|
if (oTimelineItem._isLast) {
|
|
372
371
|
eTimelineItem.addClass("sapSuiteUiCommonsTimelineLastItem");
|
|
@@ -476,6 +475,7 @@ sap.ui.define([
|
|
|
476
475
|
eShellItem.addChild(oTimelineItem._objects.getInfoBar());
|
|
477
476
|
eShellItem.addChild(eHeaderWrapper);
|
|
478
477
|
|
|
478
|
+
eHeaderWrapper.setId(oTimelineItem.getId() + "-headerWrapper");
|
|
479
479
|
eHeaderWrapper.addClass("sapSuiteUiCommonsTimelineItemHeaderWrapper");
|
|
480
480
|
|
|
481
481
|
oUserPicture = oTimelineItem._getUserPictureControl();
|
|
@@ -511,7 +511,7 @@ sap.ui.define([
|
|
|
511
511
|
eDateTime.addChildEscaped(this._getFormatedDateTime(oTimelineItem));
|
|
512
512
|
eDateTime.setAttribute("aria-label", sAriaLabelForDateTime, false);
|
|
513
513
|
eHeader.addChild(eDateTime);
|
|
514
|
-
|
|
514
|
+
eBody.setId(oTimelineItem.getId() + "-shellbody");
|
|
515
515
|
eBody.addClass("sapSuiteUiCommonsTimelineItemShellBody");
|
|
516
516
|
eShellItem.addChild(eBody);
|
|
517
517
|
|
|
@@ -598,6 +598,16 @@ sap.ui.define([
|
|
|
598
598
|
}
|
|
599
599
|
}
|
|
600
600
|
eTimelineItem.setAttribute("aria-label", sGroupHeader, false);
|
|
601
|
+
} else {
|
|
602
|
+
const aAriaLabelledByIds = [oTimelineItem.getId() + "-headerWrapper"];
|
|
603
|
+
if (!oTimelineItem.getEmbeddedControl()) {
|
|
604
|
+
aAriaLabelledByIds.push(oTimelineItem.getId() + "-shellbody");
|
|
605
|
+
}
|
|
606
|
+
var aLabelledBy = [...aAriaLabelledByIds, ...oTimelineItem.getAriaLabelledBy()];
|
|
607
|
+
if (oTimelineItem._objects && oTimelineItem._objects.getLineIcon) {
|
|
608
|
+
aLabelledBy.push(oTimelineItem._objects.getLineIcon().getId());
|
|
609
|
+
}
|
|
610
|
+
eTimelineItem.setAttribute("aria-labelledby", aLabelledBy.join(" "));
|
|
601
611
|
}
|
|
602
612
|
};
|
|
603
613
|
|
|
@@ -801,23 +801,35 @@ sap.ui.define([
|
|
|
801
801
|
});
|
|
802
802
|
|
|
803
803
|
this._objects.register("filterMessageText", function () {
|
|
804
|
-
|
|
805
|
-
|
|
804
|
+
var oText = new Text(that.getId() + "-filterMessageText", {});
|
|
805
|
+
// Configure text to grow and shrink
|
|
806
|
+
oText.setLayoutData(new OverflowToolbarLayoutData({
|
|
807
|
+
shrinkable: true,
|
|
808
|
+
moveToOverflow: false
|
|
809
|
+
}));
|
|
810
|
+
return oText;
|
|
811
|
+
});
|
|
806
812
|
|
|
807
813
|
this._objects.register("filterMessage", function () {
|
|
808
814
|
var oText = that._objects.getFilterMessageText(),
|
|
809
815
|
oToolbar, oIcon;
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
816
|
+
|
|
817
|
+
// Configure icon with proper layout data
|
|
818
|
+
oIcon = new Icon(that.getId() + "filterMessageIcon", {
|
|
819
|
+
src: "sap-icon://decline",
|
|
820
|
+
decorative: false,
|
|
821
|
+
press: [that._clearFilter, that]
|
|
822
|
+
});
|
|
823
|
+
oIcon.setTooltip(resourceBundle.getText('TIMELINE_CLEAR_ICN_TOOLTIP'));
|
|
824
|
+
oIcon.setLayoutData(new OverflowToolbarLayoutData({
|
|
825
|
+
shrinkable: false,
|
|
826
|
+
priority: "NeverOverflow"
|
|
827
|
+
}));
|
|
828
|
+
|
|
829
|
+
oToolbar = new OverflowToolbar(that.getId() + "-filterMessage", {
|
|
830
|
+
design: "Info",
|
|
831
|
+
content: [oText, new ToolbarSpacer(), oIcon]
|
|
832
|
+
});
|
|
821
833
|
|
|
822
834
|
oToolbar.addStyleClass("sapSuiteUiCommonsTimelineFilterInfoBar");
|
|
823
835
|
oToolbar.setHeight("auto");
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/ui/base/Object"
|
|
9
|
-
], function
|
|
9
|
+
], function(BaseObject) {
|
|
10
10
|
"use strict";
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -17,7 +17,7 @@ sap.ui.define([
|
|
|
17
17
|
* @public
|
|
18
18
|
*/
|
|
19
19
|
var BaseHelperService = BaseObject.extend("sap.suite.ui.commons.collaboration.BaseHelperService", {
|
|
20
|
-
constructor: function
|
|
20
|
+
constructor: function(oProviderConfig) {
|
|
21
21
|
this._providerConfig = oProviderConfig;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
@@ -69,27 +69,27 @@ sap.ui.define([
|
|
|
69
69
|
* @returns {boolean} A Boolean that determines whether or not the collaboration with contacts is supported in Microsoft Teams
|
|
70
70
|
* @public
|
|
71
71
|
*/
|
|
72
|
-
BaseHelperService.prototype.isContactsCollaborationSupported = function
|
|
72
|
+
BaseHelperService.prototype.isContactsCollaborationSupported = function() {
|
|
73
73
|
return false;
|
|
74
74
|
};
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
/**
|
|
77
77
|
* Enables the Microsoft Teams collaboration functionality by providing a contact quick view with the options to start a message, audio call or video call
|
|
78
78
|
* @param {string} sEmail Provides the email of the contact to be used for the communication using Microsoft Teams
|
|
79
79
|
* @param {object} oParams Parameter object which contains the information to be shared
|
|
80
80
|
* @returns {Promise} Returns promise resolving to an instance of the contact quick view providing the data for the collaboration functionality
|
|
81
81
|
* @public
|
|
82
82
|
*/
|
|
83
|
-
BaseHelperService.prototype.enableContactsCollaboration =
|
|
83
|
+
BaseHelperService.prototype.enableContactsCollaboration = function(sEmail, oParams) {
|
|
84
84
|
return Promise.resolve({});
|
|
85
85
|
};
|
|
86
86
|
|
|
87
|
-
|
|
87
|
+
/**
|
|
88
88
|
* Provides the Microsoft Teams collaboration options for the contact quick view
|
|
89
89
|
* @returns {Promise} Returns promise which has the options for teams collaboration
|
|
90
90
|
* @public
|
|
91
91
|
*/
|
|
92
|
-
BaseHelperService.prototype.getTeamsContactCollabOptions =
|
|
92
|
+
BaseHelperService.prototype.getTeamsContactCollabOptions = function() {
|
|
93
93
|
return Promise.resolve({});
|
|
94
94
|
};
|
|
95
95
|
|
|
@@ -98,7 +98,7 @@ sap.ui.define([
|
|
|
98
98
|
* @returns {boolean} If set to true, Adaptive Card Generation is enabled
|
|
99
99
|
* @public
|
|
100
100
|
*/
|
|
101
|
-
BaseHelperService.prototype.isFeatureFlagEnabled = function
|
|
101
|
+
BaseHelperService.prototype.isFeatureFlagEnabled = function() {
|
|
102
102
|
return false;
|
|
103
103
|
};
|
|
104
104
|
|
|
@@ -109,11 +109,11 @@ sap.ui.define([
|
|
|
109
109
|
* @public
|
|
110
110
|
*/
|
|
111
111
|
|
|
112
|
-
BaseHelperService.prototype.getTeamsContactStatus =
|
|
112
|
+
BaseHelperService.prototype.getTeamsContactStatus = function(sEmail) {
|
|
113
113
|
return Promise.resolve({});
|
|
114
|
-
}
|
|
114
|
+
};
|
|
115
115
|
|
|
116
|
-
|
|
116
|
+
/**
|
|
117
117
|
* Opens a Popup that helps to share content to teams, mail.
|
|
118
118
|
* @param { object } oParams Optional argument in case consumer wants to influence the options, otherwise pass as undefined
|
|
119
119
|
* @param { object } oData Title and data to share
|
|
@@ -124,7 +124,7 @@ sap.ui.define([
|
|
|
124
124
|
*/
|
|
125
125
|
BaseHelperService.prototype.getCollaborationPopover = function(oParams, oData, oSource, isLink, oCollaborationOptionsConfig) {
|
|
126
126
|
|
|
127
|
-
|
|
127
|
+
};
|
|
128
128
|
|
|
129
129
|
return BaseHelperService;
|
|
130
130
|
});
|