@sapui5/sap.suite.ui.commons 1.117.0 → 1.119.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.
Files changed (61) hide show
  1. package/package.json +1 -1
  2. package/src/sap/suite/ui/commons/.library +1 -1
  3. package/src/sap/suite/ui/commons/AriaProperties.js +1 -1
  4. package/src/sap/suite/ui/commons/CalculationBuilder.js +1 -1
  5. package/src/sap/suite/ui/commons/CalculationBuilderExpression.js +1 -1
  6. package/src/sap/suite/ui/commons/CalculationBuilderFunction.js +1 -1
  7. package/src/sap/suite/ui/commons/CalculationBuilderGroup.js +1 -1
  8. package/src/sap/suite/ui/commons/CalculationBuilderItem.js +1 -1
  9. package/src/sap/suite/ui/commons/CalculationBuilderValidationResult.js +1 -1
  10. package/src/sap/suite/ui/commons/CalculationBuilderVariable.js +1 -1
  11. package/src/sap/suite/ui/commons/ChartContainer.js +0 -8
  12. package/src/sap/suite/ui/commons/CloudFilePicker.js +149 -29
  13. package/src/sap/suite/ui/commons/MicroProcessFlow.js +4 -4
  14. package/src/sap/suite/ui/commons/MicroProcessFlowItem.js +1 -1
  15. package/src/sap/suite/ui/commons/ProcessFlowLaneHeader.js +1 -0
  16. package/src/sap/suite/ui/commons/ProcessFlowNode.js +4 -12
  17. package/src/sap/suite/ui/commons/ProcessFlowNodeRenderer.js +0 -3
  18. package/src/sap/suite/ui/commons/Timeline.js +26 -9
  19. package/src/sap/suite/ui/commons/TimelineRenderer.js +0 -10
  20. package/src/sap/suite/ui/commons/flexibility/changeHandler/PropertyChangeMapper.js +1 -1
  21. package/src/sap/suite/ui/commons/imageeditor/CropCustomShapeHistoryItem.js +1 -1
  22. package/src/sap/suite/ui/commons/imageeditor/CropEllipseHistoryItem.js +1 -1
  23. package/src/sap/suite/ui/commons/imageeditor/CropRectangleHistoryItem.js +1 -1
  24. package/src/sap/suite/ui/commons/imageeditor/CustomSizeItem.js +1 -1
  25. package/src/sap/suite/ui/commons/imageeditor/FilterHistoryItem.js +1 -1
  26. package/src/sap/suite/ui/commons/imageeditor/FlipHistoryItem.js +1 -1
  27. package/src/sap/suite/ui/commons/imageeditor/HistoryItem.js +1 -1
  28. package/src/sap/suite/ui/commons/imageeditor/ImageEditor.js +50 -27
  29. package/src/sap/suite/ui/commons/imageeditor/ImageEditorContainer.js +2 -2
  30. package/src/sap/suite/ui/commons/imageeditor/ImageEditorResponsiveContainer.js +1 -1
  31. package/src/sap/suite/ui/commons/imageeditor/ResizeHistoryItem.js +1 -1
  32. package/src/sap/suite/ui/commons/imageeditor/RotateHistoryItem.js +1 -1
  33. package/src/sap/suite/ui/commons/library.js +20 -1
  34. package/src/sap/suite/ui/commons/messagebundle_en.properties +4 -0
  35. package/src/sap/suite/ui/commons/networkgraph/Graph.js +5 -18
  36. package/src/sap/suite/ui/commons/networkgraph/Group.js +1 -1
  37. package/src/sap/suite/ui/commons/networkgraph/Line.js +9 -4
  38. package/src/sap/suite/ui/commons/networkgraph/Node.js +22 -6
  39. package/src/sap/suite/ui/commons/networkgraph/Tooltip.js +15 -2
  40. package/src/sap/suite/ui/commons/networkgraph/layout/LayoutTask.js +3 -2
  41. package/src/sap/suite/ui/commons/statusindicator/Circle.js +1 -1
  42. package/src/sap/suite/ui/commons/statusindicator/CustomShape.js +1 -1
  43. package/src/sap/suite/ui/commons/statusindicator/DiscreteThreshold.js +1 -1
  44. package/src/sap/suite/ui/commons/statusindicator/FillingOption.js +1 -1
  45. package/src/sap/suite/ui/commons/statusindicator/LibraryShape.js +1 -1
  46. package/src/sap/suite/ui/commons/statusindicator/Path.js +1 -1
  47. package/src/sap/suite/ui/commons/statusindicator/PropertyThreshold.js +1 -1
  48. package/src/sap/suite/ui/commons/statusindicator/Rectangle.js +1 -1
  49. package/src/sap/suite/ui/commons/statusindicator/Shape.js +1 -1
  50. package/src/sap/suite/ui/commons/statusindicator/ShapeGroup.js +2 -2
  51. package/src/sap/suite/ui/commons/statusindicator/SimpleShape.js +1 -1
  52. package/src/sap/suite/ui/commons/statusindicator/StatusIndicator.js +3 -3
  53. package/src/sap/suite/ui/commons/taccount/TAccount.js +1 -2
  54. package/src/sap/suite/ui/commons/taccount/TAccountGroup.js +1 -1
  55. package/src/sap/suite/ui/commons/taccount/TAccountItem.js +1 -1
  56. package/src/sap/suite/ui/commons/taccount/TAccountItemProperty.js +1 -1
  57. package/src/sap/suite/ui/commons/taccount/TAccountPanel.js +5 -1
  58. package/src/sap/suite/ui/commons/themes/base/NetworkNode.less +12 -12
  59. package/src/sap/suite/ui/commons/themes/base/TimelineItem.less +0 -1
  60. package/src/sap/suite/ui/commons/util/ManagedObjectRegister.js +4 -3
  61. package/src/sap/suite/ui/commons/util/RenderUtils.js +5 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.suite.ui.commons",
3
- "version": "1.117.0",
3
+ "version": "1.119.0",
4
4
  "description": "SAPUI5 Library sap.suite.ui.commons",
5
5
  "homepage": "https://sap.github.io/ui5-tooling/pages/SAPUI5/",
6
6
  "author": "SAP SE (https://www.sap.com)",
@@ -7,7 +7,7 @@
7
7
  SAP UI development toolkit for HTML5 (SAPUI5)
8
8
  (c) Copyright 2009-2015 SAP SE. All rights reserved
9
9
  </copyright>
10
- <version>1.117.0</version>
10
+ <version>1.119.0</version>
11
11
 
12
12
  <documentation>SAP UI library: sap.suite.ui.commons</documentation>
13
13
 
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * @extends sap.ui.core.Element
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.117.0
22
+ * @version 1.119.0
23
23
  * @since 1.65.0
24
24
  *
25
25
  * @constructor
@@ -124,7 +124,7 @@ sap.ui.define([
124
124
  * @extends sap.ui.core.Control
125
125
  *
126
126
  * @author SAP SE
127
- * @version 1.117.0
127
+ * @version 1.119.0
128
128
  * @since 1.56.0
129
129
  *
130
130
  * @constructor
@@ -111,7 +111,7 @@ sap.ui.define([
111
111
  * @extends sap.ui.core.Control
112
112
  *
113
113
  * @author SAP SE
114
- * @version 1.117.0
114
+ * @version 1.119.0
115
115
  * @since 1.56.0
116
116
  *
117
117
  * @constructor
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  * @extends sap.ui.core.Control
19
19
  *
20
20
  * @author SAP SE
21
- * @version 1.117.0
21
+ * @version 1.119.0
22
22
  * @since 1.56.0
23
23
  *
24
24
  * @constructor
@@ -15,7 +15,7 @@ sap.ui.define([
15
15
  * @extends sap.ui.core.Control
16
16
  *
17
17
  * @author SAP SE
18
- * @version 1.117.0
18
+ * @version 1.119.0
19
19
  * @since 1.60.0
20
20
  *
21
21
  * @constructor
@@ -31,7 +31,7 @@ sap.ui.define([
31
31
  * @extends sap.ui.core.Control
32
32
  *
33
33
  * @author SAP SE
34
- * @version 1.117.0
34
+ * @version 1.119.0
35
35
  * @since 1.56.0
36
36
  *
37
37
  * @constructor
@@ -14,7 +14,7 @@ sap.ui.define([
14
14
  * @extends sap.ui.base.ManagedObject
15
15
  *
16
16
  * @author SAP SE
17
- * @version 1.117.0
17
+ * @version 1.119.0
18
18
  * @since 1.56.0
19
19
  *
20
20
  * @constructor
@@ -15,7 +15,7 @@ sap.ui.define([
15
15
  * @extends sap.ui.core.Control
16
16
  *
17
17
  * @author SAP SE
18
- * @version 1.117.0
18
+ * @version 1.119.0
19
19
  * @since 1.56.0
20
20
  *
21
21
  * @constructor
@@ -1289,14 +1289,6 @@ sap.ui.define([
1289
1289
  return this;
1290
1290
  };
1291
1291
 
1292
- /**
1293
- * @deprecated Not supported anymore
1294
- */
1295
- ChartContainer.prototype.updateContent = function () {
1296
- this.updateAggregation("content");
1297
- this._bChartContentHasChanged = true;
1298
- };
1299
-
1300
1292
  ChartContainer.prototype.addAggregation = function (aggregationName, object, suppressInvalidate) {
1301
1293
  if (aggregationName === "dimensionSelectors") {
1302
1294
  return this.addDimensionSelector(object);
@@ -46,7 +46,9 @@ sap.ui.define([
46
46
  "sap/m/IllustratedMessage",
47
47
  "sap/m/IllustratedMessageType",
48
48
  "sap/m/IllustratedMessageSize",
49
- "sap/ui/core/format/FileSizeFormat"
49
+ "sap/ui/core/format/FileSizeFormat",
50
+ "sap/m/MessageToast",
51
+ "sap/m/CheckBox"
50
52
  ], function (
51
53
  Button,
52
54
  Dialog,
@@ -87,7 +89,9 @@ sap.ui.define([
87
89
  IllustratedMessage,
88
90
  IllustratedMessageType,
89
91
  IllustratedMessageSize,
90
- FileSizeFormat
92
+ FileSizeFormat,
93
+ MessageToast,
94
+ CheckBox
91
95
  ) {
92
96
  "use strict";
93
97
 
@@ -97,6 +101,7 @@ sap.ui.define([
97
101
  var ValueState = coreLibrary.ValueState;
98
102
  var FilePickerModes = library.FilePickerModes;
99
103
  var FilePickerType = library.FilePickerType;
104
+ var SelectionMode = library.SelectionModes;
100
105
 
101
106
  var oResourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.suite.ui.commons");
102
107
 
@@ -111,7 +116,7 @@ sap.ui.define([
111
116
  * @class
112
117
  * @public
113
118
  * @internal
114
- * @version 1.117.0
119
+ * @version 1.119.0
115
120
  */
116
121
  var CloudFilePicker = Dialog.extend("sap.suite.ui.commons.CloudFilePicker", {
117
122
  metadata: {
@@ -156,8 +161,7 @@ sap.ui.define([
156
161
  */
157
162
  title: {
158
163
  type: "string",
159
- group: "Data",
160
- defaultValue: oResourceBundle.getText("CFP_TITLE")
164
+ group: "Data"
161
165
  },
162
166
  /**
163
167
  * Specifies whether duplicate file check logic is needed.
@@ -206,6 +210,14 @@ sap.ui.define([
206
210
  MIMEType: {
207
211
  type: "string",
208
212
  group: "Data"
213
+ },
214
+ /**
215
+ * Specifies the Selection mode of the table
216
+ */
217
+ selectionMode: {
218
+ type: "sap.suite.ui.commons.SelectionModes",
219
+ group: "Data",
220
+ defaultValue: "SingleSelectMaster"
209
221
  }
210
222
  },
211
223
  events: {
@@ -253,11 +265,16 @@ sap.ui.define([
253
265
  this.oNewFolderButton = null;
254
266
  this.oNewFolderColumnListItem = null;
255
267
  this.oCurrentParentData = null;
268
+ this.oSelectedFiles = [];
256
269
  this.setResizable(true);
257
270
  this.setDraggable(true);
258
271
  this._createDialogContent();
259
272
  this._createButton();
260
273
 
274
+ if (!this.getTitle()){
275
+ this.setTitle(this.getFilePickerType() === "Export" ? oResourceBundle.getText("CFP_EXPORT") : oResourceBundle.getText("CFP_UPLOAD"));
276
+ }
277
+
261
278
  if (Device.system.phone) {
262
279
  this.setStretch(true);
263
280
  } else {
@@ -434,6 +451,7 @@ sap.ui.define([
434
451
 
435
452
  CloudFilePicker.prototype._createTableContent = function () {
436
453
  var sFilePickerType = this.getFilePickerType();
454
+ var sFileSelectionMode = this.getSelectionMode();
437
455
  this.oNewFolderButton = new Button({
438
456
  text: oResourceBundle.getText("CFP_TITLE_NEWFOLDER"),
439
457
  type: ButtonType.Transparent,
@@ -518,7 +536,7 @@ sap.ui.define([
518
536
  sticky:["HeaderToolbar","ColumnHeaders"],
519
537
  headerDesign:"Plain",
520
538
  noDataText: " ", // UX reccomends to show no text and table shows "No Data" by default
521
- mode: "SingleSelectMaster",
539
+ mode: sFilePickerType === FilePickerType.Upload && sFileSelectionMode === SelectionMode.MultiSelect ? "None" : "SingleSelectMaster",
522
540
  growing:true,
523
541
  growingScrollToLoad:true,
524
542
  itemPress: function(oControlEvent){
@@ -528,6 +546,7 @@ sap.ui.define([
528
546
  var oContext = oSelectedItem.getBindingContext();
529
547
  var bIsFolder = oContext.getObject("FileShareItemKind") === "folder";
530
548
  if (bIsFolder) {
549
+ this._clearCheckboxFileSelections();
531
550
  var oSelectedFolderInfo = this._createSelectionParameter(oSelectedItem);
532
551
  var sFileShareItemId = oSelectedFolderInfo.getFileShareItemId();
533
552
  oSelectedFolderInfo.path = oContext.getCanonicalPath();
@@ -538,10 +557,12 @@ sap.ui.define([
538
557
  .createBindingContext(oSelectedFolderInfo.path);
539
558
  this.aVisibleLinks.push({
540
559
  fileShareItemId: sFileShareItemId,
541
- title: oSelectedItem.getCells()[0].getItems()[1].getText()
560
+ title: this.getFilePickerType() === FilePickerType.Upload && this.getSelectionMode() === SelectionMode.MultiSelect ? oSelectedItem.getCells()[1].getItems()[1].getText() : oSelectedItem.getCells()[0].getItems()[1].getText()
542
561
  });
543
562
  this._updateBreadcrumbLinks();
544
563
  this.oTableControl.setBindingContext(oNewContext);
564
+ } else if (!bIsFolder && sFilePickerType === FilePickerType.Upload && sFileSelectionMode === SelectionMode.MultiSelect) {
565
+ return;
545
566
  } else {
546
567
  var sFieldValue = oContext.getProperty("FileShareItemName");
547
568
  this.oFileNameControl.setValue(sFieldValue);
@@ -569,6 +590,7 @@ sap.ui.define([
569
590
  dataReceived: function () {
570
591
  this.oTableControl.setNoData(null);
571
592
  this.oTableControl.setNoDataText(oResourceBundle.getText("CFP_NO_DATA_FILESHARE"));
593
+ this.oTableControl.setBusy(false);
572
594
  this.setBusy(false);
573
595
  }.bind(this)
574
596
  },
@@ -665,12 +687,11 @@ sap.ui.define([
665
687
  })
666
688
  },
667
689
  updateFinished: function (oEvent) {
690
+ this._checkListForFiles();
668
691
  if (!this.oTableControl.getBusy()) {
669
692
  if (this.oCurrentParentData && Object.keys(this.oCurrentParentData).length !== 0) {
670
693
  if (sFilePickerType === FilePickerType.Export){
671
694
  this._setConfirmationButtonEnabled(this.oCurrentParentData.getProperty("isDocumentCreationAllowed"));
672
- } else {
673
- this._setConfirmationButtonEnabled(false);
674
695
  }
675
696
  this._enableDisableNewFolderBtn();
676
697
  }
@@ -704,6 +725,39 @@ sap.ui.define([
704
725
  oHeaderPopOver.openBy(oColumn);
705
726
  }.bind(this));
706
727
 
728
+ if (this.getFilePickerType() === FilePickerType.Upload && this.getSelectionMode() === SelectionMode.MultiSelect) {
729
+ var oColumn = new Column({
730
+ width: "10%",
731
+ importance: "High"
732
+ })
733
+ this.oTableControl.insertColumn(oColumn, 0);
734
+ var oTemplate = this.oTableControl.getBindingInfo("items").template;
735
+ oTemplate.insertCell(
736
+ new CheckBox({
737
+ visible: {
738
+ path: "FileShareItemKind" ,
739
+ targetType: "any",
740
+ formatter: function (
741
+ sFileShareItemKind
742
+ ) {
743
+ return sFileShareItemKind !== "folder";
744
+ }
745
+ },
746
+ select: function(oEvent) {
747
+ var oCurrentRow = oEvent.getSource().getParent();
748
+ if (oEvent.getSource().getSelected()) {
749
+ this.oSelectedFiles.push(oCurrentRow);
750
+ this._setConfirmationButtonEnabled(true);
751
+ } else {
752
+ this.oSelectedFiles.splice(this.oSelectedFiles.indexOf(oCurrentRow),1);
753
+ if (!this.oSelectedFiles.length) {
754
+ this._setConfirmationButtonEnabled(false);
755
+ }
756
+ }
757
+ }.bind(this)
758
+ }), 0);
759
+ }
760
+
707
761
  var oPage = new Page({
708
762
  showHeader:false,
709
763
  content: [this.oTableControl],
@@ -720,30 +774,43 @@ sap.ui.define([
720
774
  value: oResourceBundle.getText("CFP_TITLE_NEWFOLDER")
721
775
  });
722
776
  oNewFolderInput.attachBrowserEvent("click", function() {
723
- oNewFolderInput.setValue("");
777
+ oNewFolderInput.selectText(0,oResourceBundle.getText("CFP_TITLE_NEWFOLDER").length);
724
778
  });
725
- oNewFolderInput.attachBrowserEvent("focusout", function(oEvent) {
779
+ var _createFolder = function(oEvent) {
726
780
  if (oNewFolderInput && oNewFolderInput.getValue() !== "") {
727
781
  // Check for duplicate folder by making a backend call - Create if returns true else show error
728
- this.setBusy(true);
729
- var sFileShareKey = this.oSelectControl.getSelectedKey();
730
782
  var sSearchText = oEvent.target.value;
731
- var sDocumentType = "folder";
732
- this._checkForDuplicateFileAndFolder(sSearchText, sFileShareKey, sDocumentType, "")
733
- .then(function (oSuccess) {
734
- this.setBusy(false);
735
- if (oSuccess.value.length) {
736
- oNewFolderInput.setValueState(ValueState.Error);
737
- oNewFolderInput.setValueStateText(oResourceBundle.getText("CFP_FOLDER_EXIST"));
738
- } else {
739
- oNewFolderInput.setValueState(ValueState.None);
740
- oNewFolderInput.setValueStateText("");
741
- this._makeNewFolderEntry(oEvent.target.value);
742
- }
743
- }.bind(this));
783
+ var sSpecialCharacters = /[!@#$%^&*()+\-=\[\]{};':"\\|,.<>\/?]/;
784
+ if (sSpecialCharacters.test(sSearchText)) {
785
+ oNewFolderInput.setValueState(ValueState.Error);
786
+ oNewFolderInput.setValueStateText(oResourceBundle.getText("CFP_FOLDERNAME_VALUESTATEMSG"));
787
+ } else {
788
+ this.setBusy(true);
789
+ var sFileShareKey = this.oSelectControl.getSelectedKey();
790
+ var sDocumentType = "folder";
791
+ this._checkForDuplicateFileAndFolder(sSearchText, sFileShareKey, sDocumentType,"")
792
+ .then(function (oSuccess) {
793
+ this.setBusy(false);
794
+ if (oSuccess.value.length) {
795
+ oNewFolderInput.setValueState(ValueState.Error);
796
+ oNewFolderInput.setValueStateText(oResourceBundle.getText("CFP_FOLDER_EXIST"));
797
+ } else {
798
+ oNewFolderInput.setValueState(ValueState.None);
799
+ oNewFolderInput.setValueStateText("");
800
+ this._makeNewFolderEntry(oEvent.target.value);
801
+ }
802
+ }.bind(this));
803
+ }
744
804
  }
745
- }.bind(this));
746
-
805
+ }.bind(this);
806
+ oNewFolderInput.attachBrowserEvent("focusout", function(oEvent) {
807
+ _createFolder(oEvent);
808
+ });
809
+ oNewFolderInput.attachBrowserEvent("keypress", function(oEvent) {
810
+ if (oEvent.keyCode === 13){
811
+ _createFolder(oEvent);
812
+ }
813
+ });
747
814
  this.oNewFolderColumnListItem = new ColumnListItem({
748
815
  cells: [
749
816
  new HBox({
@@ -838,6 +905,7 @@ sap.ui.define([
838
905
  oNewFolderContext.created();
839
906
  this.oTableControl.setSelectedItem(this.oTableControl.getItems().length > 0 ? this.oTableControl.getItems()[0] : null);
840
907
  this.setBusy(false);
908
+ new MessageToast.show(oResourceBundle.getText("CFP_FOLDERCREATION_MSG"));
841
909
  }
842
910
  }.bind(this));
843
911
  };
@@ -860,6 +928,7 @@ sap.ui.define([
860
928
  };
861
929
 
862
930
  CloudFilePicker.prototype._fHandleSorting = function(oColumn, bIsAsc) {
931
+ this._clearCheckboxFileSelections();
863
932
  var sNewSort = bIsAsc ? SortOrder.Ascending : SortOrder.Descending;
864
933
  if (sNewSort === oColumn.getSortIndicator()) {
865
934
  sNewSort = SortOrder.None;
@@ -900,6 +969,7 @@ sap.ui.define([
900
969
  var oCrumb = new Link({
901
970
  text: oVisibleLink.title,
902
971
  press: function (oEvent) {
972
+ this._clearCheckboxFileSelections();
903
973
  if (this.oNewFolderColumnListItem && this.oTableControl.indexOfItem(this.oNewFolderColumnListItem) > -1) {
904
974
  this.oTableControl.removeItem(this.oNewFolderColumnListItem);
905
975
  this.oNewFolderColumnListItem.destroy();
@@ -984,7 +1054,11 @@ sap.ui.define([
984
1054
  this._checkForDuplicateFileAndFolder(sCurrentItemInputName, this.oSelectControl.getSelectedKey(), sDocumentType, sCurrentFileMIMEType ? sCurrentFileMIMEType : '')
985
1055
  .then(function (oSuccess) {
986
1056
  this.setBusy(false);
987
- if (oSuccess.value.length) {
1057
+ var sExportingMIMEType = this.getMIMEType() ? oFileMIMETypes[this.getMIMEType()] : oFileMIMETypes[".gsheet"];
1058
+ this.oReturnedDupFileInfo = oSuccess.value.find(function(oValue) {
1059
+ return oValue.FileShareItemContentType === sExportingMIMEType;
1060
+ });
1061
+ if (this.oReturnedDupFileInfo) {
988
1062
  this._showOverwriteMessage(sCurrentItemInputName);
989
1063
  } else {
990
1064
  this.oFileNameControl.setValue(sCurrentItemInputName);
@@ -1088,6 +1162,12 @@ sap.ui.define([
1088
1162
  var oSelectedItem = this.oTableControl.getSelectedItem();
1089
1163
  if (oSelectedItem) {
1090
1164
  mParameters.selectedFiles.push(this._createSelectionParameter(oSelectedItem));
1165
+ } else if (bReplaceExistingFile) {
1166
+ mParameters.selectedFiles.push(this._createFileParameters(this.oReturnedDupFileInfo));
1167
+ } else {
1168
+ this.oSelectedFiles.forEach(function(oItem) {
1169
+ mParameters.selectedFiles.push(this._createSelectionParameter(oItem));
1170
+ }.bind(this));
1091
1171
  }
1092
1172
 
1093
1173
  this.fireEvent("select", mParameters);
@@ -1098,6 +1178,46 @@ sap.ui.define([
1098
1178
  }.bind(this));
1099
1179
  };
1100
1180
 
1181
+ CloudFilePicker.prototype._checkListForFiles = function () {
1182
+ var bIsFileAvailable = this.oTableControl.getItems().some(function (oTableItem) {
1183
+ return oTableItem.getBindingContext().getProperty("FileShareItemKind") !== "folder";
1184
+ });
1185
+ var oColumns = this.oTableControl.getColumns();
1186
+ if (this.getFilePickerType() === FilePickerType.Upload && this.getSelectionMode() === SelectionMode.MultiSelect) {
1187
+ oColumns[0].setVisible(bIsFileAvailable);
1188
+ }
1189
+ for (var i = oColumns.length - 4; i < oColumns.length; i++) {
1190
+ oColumns[i].setVisible(bIsFileAvailable);
1191
+ }
1192
+ };
1193
+
1194
+ CloudFilePicker.prototype._clearCheckboxFileSelections = function() {
1195
+ if (this.getFilePickerType() === FilePickerType.Upload && this.getSelectionMode() === SelectionMode.MultiSelect) {
1196
+ this.oSelectedFiles.length = 0;
1197
+ this.oTableControl.getItems().forEach(function(oItem) {
1198
+ oItem.getCells()[0].setSelected(false);
1199
+ });
1200
+ this._setConfirmationButtonEnabled(false);
1201
+ }
1202
+ };
1203
+
1204
+ CloudFilePicker.prototype._createFileParameters = function(oValue) {
1205
+ var oCloudFileInfo = new CloudFileInfo();
1206
+ oCloudFileInfo.setFileShareId(oValue.FileShare);
1207
+ oCloudFileInfo.setFileShareItemId(oValue.FileShareItem);
1208
+ oCloudFileInfo.setParentFileShareItemId(oValue.ParentFileShareItem);
1209
+ oCloudFileInfo.setIsFolder(oValue.FileShareItemKind === "folder");
1210
+ oCloudFileInfo.setFileShareItemName(oValue.FileShareItemName);
1211
+ oCloudFileInfo.setCreatedByUser(oValue.CreatedByUser);
1212
+ oCloudFileInfo.setCreationDateTime(oValue.CreationDateTime);
1213
+ oCloudFileInfo.setLastChangedByUser(oValue.LastChangedByUser);
1214
+ oCloudFileInfo.setLastChangeDateTime(oValue.LastChangeDateTime);
1215
+ oCloudFileInfo.setFileShareItemContentType(oValue.FileShareItemContentType);
1216
+ oCloudFileInfo.setFileShareItemContentSize(oValue.FileShareItemContentSize);
1217
+ oCloudFileInfo.setFileShareItemContentLink(oValue.FileShareItemContentLink);
1218
+ return oCloudFileInfo;
1219
+ };
1220
+
1101
1221
  CloudFilePicker.prototype._createSelectionParameter = function (oSelectedItem, oContextBinding) {
1102
1222
  var oCloudFileInfo = new CloudFileInfo();
1103
1223
  var oContext;
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @extends sap.ui.core.Control
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.117.0
31
+ * @version 1.119.0
32
32
  *
33
33
  * @constructor
34
34
  * @public
@@ -101,7 +101,7 @@ sap.ui.define([
101
101
 
102
102
  if (oMicroProcessFlow._hasScrolling()) {
103
103
  oRM.openStart("div");
104
- oRM.attr("tabindex", "0");
104
+ oRM.attr("tabindex", "-1");
105
105
  oRM.attr("id", oMicroProcessFlow.getId() + "-leftscroller");
106
106
  oRM.class("sapSuiteUiCommonsMicroProcessFlowScroller").class("sapSuiteUiCommonsMicroProcessFlowLeftScroller");
107
107
  oRM.openEnd();
@@ -140,7 +140,7 @@ sap.ui.define([
140
140
  if (oMicroProcessFlow._hasScrolling()) {
141
141
  oRM.openStart("div");
142
142
  oRM.attr("id", oMicroProcessFlow.getId() + "-rightscroller");
143
- oRM.attr("tabindex", "0");
143
+ oRM.attr("tabindex", "-1");
144
144
  oRM.class("sapSuiteUiCommonsMicroProcessFlowScroller").class("sapSuiteUiCommonsMicroProcessFlowRightScroller");
145
145
  oRM.openEnd();
146
146
  oRM.openStart("span");
@@ -446,7 +446,7 @@ sap.ui.define([
446
446
  MicroProcessFlow.prototype._getLeftScroller = function () {
447
447
  if (!this._oLeftScroller) {
448
448
  this._oLeftScroller = new Icon(this.getId() + "leftscroller", {
449
- src: "sap-icon://nav-back"
449
+ src: "sap-icon://navigation-left-arrow"
450
450
  });
451
451
  this._oLeftScroller.addStyleClass("sapSuiteUiCommonsMicroProcessFlowArrow");
452
452
  }
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.ui.core.Control
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.117.0
33
+ * @version 1.119.0
34
34
  *
35
35
  * @constructor
36
36
  * @public
@@ -503,6 +503,7 @@ sap.ui.define([
503
503
  *
504
504
  * @private
505
505
  * @param {sap.ui.core.RenderManager} oRm the render manager into which the control will be rendered
506
+ * @returns {Array<{state: sap.suites.ui.commons.ProcessFlowNodeState,value: number}>}The array of attribubtes each containing the state and value of the state as an integer
506
507
  * @since 1.22
507
508
  */
508
509
  ProcessFlowLaneHeader.prototype._renderDonutPercentages = function(oRm) { // EXC_SAP_006_1
@@ -320,12 +320,7 @@ sap.ui.define([
320
320
  } else if (this._parent) {
321
321
  // Changes the focus from previous node to the current one.
322
322
  this.getParent()._changeNavigationFocus(this.getParent()._getLastNavigationFocusElement(), this);
323
- // If the ID includes 'title', it is a title click event.
324
- if (oEvent.target.id.indexOf("title") >= 0 && this.getIsTitleClickable()) {
325
- this._parent.fireNodeTitlePress(this);
326
- } else {
327
- this._parent.fireNodePress(this);
328
- }
323
+ this._parent.fireNodePress(this);
329
324
 
330
325
  }
331
326
  if (oEvent && !oEvent.isPropagationStopped()) {
@@ -590,9 +585,6 @@ sap.ui.define([
590
585
  width: sWidth,
591
586
  maxLines: iLinesCount
592
587
  });
593
- if (this.getIsTitleClickable()) {
594
- this._headerControl.addStyleClass("sapSuiteUiCommonsProcessFlowNode3TitleClickable");
595
- }
596
588
  switch (this._getZoomLevel()) {
597
589
  case library.ProcessFlowZoomLevel.One:
598
590
  this._headerControl.addStyleClass("sapSuiteUiCommonsProcessFlowNode3TitleZoomLevel1");
@@ -849,17 +841,17 @@ sap.ui.define([
849
841
  * Sets tag.
850
842
  *
851
843
  * @private
852
- * @param {object} newTag The new tag
844
+ * @param {object<ProcessFlowNodeTag>} newTag The new tag is set for the ProcessFlowMode
853
845
  */
854
846
  ProcessFlowNode.prototype._setTag = function (newTag) {
855
847
  this._tag = newTag;
856
848
  };
857
849
 
858
850
  /**
859
- * Gets tag.
851
+ * Gets tag of the ProcccesFlowNode.
860
852
  *
861
853
  * @private
862
- * @returns {object} The current tag
854
+ * @returns {ProcessFlowNodeTag} The current tag of the ProcessFlowNode
863
855
  */
864
856
  ProcessFlowNode.prototype._getTag = function () {
865
857
  return this._tag;
@@ -201,9 +201,6 @@ sap.ui.define([
201
201
  */
202
202
  ProcessFlowNodeRenderer._assignNodeClasses = function (oRm, oControl, nodeLevel) { // EXC_SAP_006_1, EXC_JSHINT_047
203
203
  switch (nodeLevel) {
204
- case ProcessFlowNodeRenderer._nodeLevels.iLevel0:
205
- //oRm.writeAttribute("id", oControl.getId() + "-base-container");
206
- break;
207
204
  case ProcessFlowNodeRenderer._nodeLevels.iLevel1:
208
205
  oRm.attr("id", oControl.getId() + "-corner-container");
209
206
  break;
@@ -539,7 +539,19 @@ sap.ui.define([
539
539
  }),
540
540
  MonthDay: DateFormat.getDateInstance({
541
541
  style: "medium"
542
- })
542
+ }),
543
+ YearQuarter: DateFormat.getDateInstance({
544
+ pattern: "yyyy/QQ"
545
+ }),
546
+ YearMonth: DateFormat.getDateInstance({
547
+ pattern: "yyyy/MM"
548
+ }),
549
+ YearMonthWeek: DateFormat.getDateInstance({
550
+ pattern: "yyyy/MM/w"
551
+ }),
552
+ YearMonthDay: DateFormat.getDateInstance({
553
+ pattern: "yyyy/MM/dd"
554
+ })
543
555
  };
544
556
 
545
557
  /**
@@ -645,6 +657,10 @@ sap.ui.define([
645
657
  *
646
658
  * @param {function} fnGroupBy Grouping function.
647
659
  * @public
660
+ * @returns {key: date|title :date|date :date} An object with three properties:
661
+ * key: The key of the related group
662
+ * title: The title of the related group
663
+ * date: the date from the input
648
664
  */
649
665
  Timeline.prototype.setCustomGrouping = function (fnGroupBy) {
650
666
  var oBindingInfo = this.getBindingInfo("content");
@@ -864,17 +880,17 @@ sap.ui.define([
864
880
  if (oDate instanceof Date) {
865
881
  switch (sType) {
866
882
  case TimelineGroupType.Year:
867
- sKey = oDate.getFullYear();
883
+ sKey = DateFormats.Year.format(oDate);
868
884
  sTitle = DateFormats.Year.format(oDate);
869
885
  break;
870
886
 
871
887
  case TimelineGroupType.Quarter:
872
- sKey = oDate.getFullYear() + "/" + Math.floor(oDate.getMonth() / 4);
888
+ sKey = DateFormats.YearQuarter.format(oDate);
873
889
  sTitle = DateFormats.Quarter.format(oDate);
874
890
  break;
875
891
 
876
892
  case TimelineGroupType.Month:
877
- sKey = oDate.getFullYear() + "/" + oDate.getMonth();
893
+ sKey = DateFormats.YearMonth.format(oDate);
878
894
  sTitle = DateFormats.Month.format(oDate);
879
895
  break;
880
896
 
@@ -882,6 +898,7 @@ sap.ui.define([
882
898
  var dateFrom = UI5Date.getInstance(oDate),
883
899
  dateTo = UI5Date.getInstance(oDate),
884
900
  year = oDate.getFullYear(),
901
+ month = oDate.getMonth(),
885
902
  week = DateFormats.Week.format(oDate),
886
903
  // find first and last day of the week
887
904
  first = oDate.getDate() - oDate.getDay(),
@@ -889,13 +906,13 @@ sap.ui.define([
889
906
  firstDay = UI5Date.getInstance(dateFrom.setDate(first)),
890
907
  lastDay = UI5Date.getInstance(dateTo.setDate(last));
891
908
 
892
- sKey = year + "/" + week;
909
+ sKey = DateFormats.YearMonthWeek.format(oDate);
893
910
 
894
911
  sTitle = DateFormats.MonthDay.format(firstDay) + " \u2013 " + DateFormats.MonthDay.format(lastDay);
895
912
  break;
896
913
 
897
914
  case TimelineGroupType.Day:
898
- sKey = oDate.getFullYear() + "/" + oDate.getMonth() + "/" + oDate.getDate();
915
+ sKey = DateFormats.YearMonthDay.format(oDate);
899
916
  sTitle = DateFormats.Day.format(oDate);
900
917
  break;
901
918
 
@@ -1199,8 +1216,8 @@ sap.ui.define([
1199
1216
  } else {
1200
1217
  this.aPrevFilters = aFilters.map(function (val) { return val; });
1201
1218
  oBinding.filter(aFilters, FilterType.Control);
1202
- }
1203
- }
1219
+ }
1220
+ }
1204
1221
  } else {
1205
1222
  // for usecase without binding we just invalidate, because all filtering is done right before render is called
1206
1223
  this.invalidate();
@@ -3056,7 +3073,7 @@ sap.ui.define([
3056
3073
  };
3057
3074
 
3058
3075
  Timeline.prototype._scrollingFadeout = function (useBinding) {
3059
- return this.getScrollingFadeout() !== ScrollingFadeout.None && this.getEnableScroll();
3076
+ return false;
3060
3077
  };
3061
3078
 
3062
3079
  Timeline.prototype._setBusy = function (bBusy) {