@sapui5/sap.suite.ui.commons 1.104.1 → 1.105.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 (99) 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 +15 -5
  5. package/src/sap/suite/ui/commons/CalculationBuilderExpression.js +4 -4
  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 +7 -5
  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/CloudFilePicker.js +231 -31
  12. package/src/sap/suite/ui/commons/MicroProcessFlow.js +1 -1
  13. package/src/sap/suite/ui/commons/MicroProcessFlowItem.js +1 -1
  14. package/src/sap/suite/ui/commons/TimelineRenderManager.js +7 -1
  15. package/src/sap/suite/ui/commons/TimelineRenderManagerTimestamp.js +46 -4
  16. package/src/sap/suite/ui/commons/flexibility/changeHandler/PropertyChangeMapper.js +1 -1
  17. package/src/sap/suite/ui/commons/imageeditor/CropCustomShapeHistoryItem.js +1 -1
  18. package/src/sap/suite/ui/commons/imageeditor/CropEllipseHistoryItem.js +1 -1
  19. package/src/sap/suite/ui/commons/imageeditor/CropRectangleHistoryItem.js +1 -1
  20. package/src/sap/suite/ui/commons/imageeditor/CustomSizeItem.js +1 -1
  21. package/src/sap/suite/ui/commons/imageeditor/FilterHistoryItem.js +1 -1
  22. package/src/sap/suite/ui/commons/imageeditor/FlipHistoryItem.js +1 -1
  23. package/src/sap/suite/ui/commons/imageeditor/HistoryItem.js +1 -1
  24. package/src/sap/suite/ui/commons/imageeditor/ImageEditor.js +1 -1
  25. package/src/sap/suite/ui/commons/imageeditor/ImageEditorContainer.js +1 -1
  26. package/src/sap/suite/ui/commons/imageeditor/ImageEditorResponsiveContainer.js +1 -1
  27. package/src/sap/suite/ui/commons/imageeditor/ResizeHistoryItem.js +1 -1
  28. package/src/sap/suite/ui/commons/imageeditor/RotateHistoryItem.js +1 -1
  29. package/src/sap/suite/ui/commons/library.js +1 -1
  30. package/src/sap/suite/ui/commons/messagebundle.properties +13 -1
  31. package/src/sap/suite/ui/commons/messagebundle_ar.properties +5 -5
  32. package/src/sap/suite/ui/commons/messagebundle_bg.properties +5 -5
  33. package/src/sap/suite/ui/commons/messagebundle_ca.properties +5 -5
  34. package/src/sap/suite/ui/commons/messagebundle_cs.properties +5 -5
  35. package/src/sap/suite/ui/commons/messagebundle_cy.properties +5 -5
  36. package/src/sap/suite/ui/commons/messagebundle_da.properties +5 -5
  37. package/src/sap/suite/ui/commons/messagebundle_de.properties +4 -4
  38. package/src/sap/suite/ui/commons/messagebundle_el.properties +5 -5
  39. package/src/sap/suite/ui/commons/messagebundle_en_GB.properties +1 -1
  40. package/src/sap/suite/ui/commons/messagebundle_es.properties +5 -5
  41. package/src/sap/suite/ui/commons/messagebundle_es_MX.properties +5 -5
  42. package/src/sap/suite/ui/commons/messagebundle_et.properties +5 -5
  43. package/src/sap/suite/ui/commons/messagebundle_fi.properties +5 -5
  44. package/src/sap/suite/ui/commons/messagebundle_fr.properties +5 -5
  45. package/src/sap/suite/ui/commons/messagebundle_fr_CA.properties +5 -5
  46. package/src/sap/suite/ui/commons/messagebundle_hi.properties +5 -5
  47. package/src/sap/suite/ui/commons/messagebundle_hr.properties +5 -5
  48. package/src/sap/suite/ui/commons/messagebundle_hu.properties +5 -5
  49. package/src/sap/suite/ui/commons/messagebundle_id.properties +5 -5
  50. package/src/sap/suite/ui/commons/messagebundle_it.properties +5 -5
  51. package/src/sap/suite/ui/commons/messagebundle_iw.properties +5 -5
  52. package/src/sap/suite/ui/commons/messagebundle_ja.properties +5 -5
  53. package/src/sap/suite/ui/commons/messagebundle_kk.properties +5 -5
  54. package/src/sap/suite/ui/commons/messagebundle_ko.properties +5 -5
  55. package/src/sap/suite/ui/commons/messagebundle_lt.properties +5 -5
  56. package/src/sap/suite/ui/commons/messagebundle_lv.properties +5 -5
  57. package/src/sap/suite/ui/commons/messagebundle_ms.properties +5 -5
  58. package/src/sap/suite/ui/commons/messagebundle_nl.properties +4 -4
  59. package/src/sap/suite/ui/commons/messagebundle_no.properties +5 -5
  60. package/src/sap/suite/ui/commons/messagebundle_pl.properties +5 -5
  61. package/src/sap/suite/ui/commons/messagebundle_pt.properties +5 -5
  62. package/src/sap/suite/ui/commons/messagebundle_pt_PT.properties +5 -5
  63. package/src/sap/suite/ui/commons/messagebundle_ro.properties +5 -5
  64. package/src/sap/suite/ui/commons/messagebundle_ru.properties +5 -5
  65. package/src/sap/suite/ui/commons/messagebundle_sh.properties +7 -7
  66. package/src/sap/suite/ui/commons/messagebundle_sk.properties +5 -5
  67. package/src/sap/suite/ui/commons/messagebundle_sl.properties +5 -5
  68. package/src/sap/suite/ui/commons/messagebundle_sv.properties +5 -5
  69. package/src/sap/suite/ui/commons/messagebundle_th.properties +11 -11
  70. package/src/sap/suite/ui/commons/messagebundle_tr.properties +5 -5
  71. package/src/sap/suite/ui/commons/messagebundle_uk.properties +5 -5
  72. package/src/sap/suite/ui/commons/messagebundle_vi.properties +5 -5
  73. package/src/sap/suite/ui/commons/messagebundle_zh_CN.properties +5 -5
  74. package/src/sap/suite/ui/commons/messagebundle_zh_TW.properties +5 -5
  75. package/src/sap/suite/ui/commons/networkgraph/Graph.js +1 -0
  76. package/src/sap/suite/ui/commons/networkgraph/KeyboardNavigator.js +1 -1
  77. package/src/sap/suite/ui/commons/networkgraph/Node.js +9 -9
  78. package/src/sap/suite/ui/commons/statusindicator/Circle.js +1 -1
  79. package/src/sap/suite/ui/commons/statusindicator/CustomShape.js +1 -1
  80. package/src/sap/suite/ui/commons/statusindicator/DiscreteThreshold.js +1 -1
  81. package/src/sap/suite/ui/commons/statusindicator/FillingOption.js +1 -1
  82. package/src/sap/suite/ui/commons/statusindicator/LibraryShape.js +1 -1
  83. package/src/sap/suite/ui/commons/statusindicator/Path.js +1 -1
  84. package/src/sap/suite/ui/commons/statusindicator/PropertyThreshold.js +1 -1
  85. package/src/sap/suite/ui/commons/statusindicator/Rectangle.js +1 -1
  86. package/src/sap/suite/ui/commons/statusindicator/Shape.js +1 -1
  87. package/src/sap/suite/ui/commons/statusindicator/ShapeGroup.js +1 -1
  88. package/src/sap/suite/ui/commons/statusindicator/SimpleShape.js +1 -1
  89. package/src/sap/suite/ui/commons/statusindicator/StatusIndicator.js +1 -1
  90. package/src/sap/suite/ui/commons/taccount/TAccount.js +1 -1
  91. package/src/sap/suite/ui/commons/taccount/TAccountGroup.js +1 -1
  92. package/src/sap/suite/ui/commons/taccount/TAccountItem.js +1 -1
  93. package/src/sap/suite/ui/commons/taccount/TAccountItemProperty.js +1 -1
  94. package/src/sap/suite/ui/commons/taccount/TAccountPanel.js +1 -1
  95. package/src/sap/suite/ui/commons/themes/base/CalculationBuilderExpression.less +1 -1
  96. package/src/sap/suite/ui/commons/themes/sap_horizon/MicroProcessFlow.less +2 -2
  97. package/src/sap/suite/ui/commons/themes/sap_horizon_dark/MicroProcessFlow.less +2 -2
  98. package/src/sap/suite/ui/commons/themes/sap_horizon_hcb/MicroProcessFlow.less +5 -0
  99. package/src/sap/suite/ui/commons/themes/sap_horizon_hcw/MicroProcessFlow.less +5 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.suite.ui.commons",
3
- "version": "1.104.1",
3
+ "version": "1.105.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.104.1</version>
10
+ <version>1.105.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.104.1
22
+ * @version 1.105.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.104.1
127
+ * @version 1.105.0
128
128
  * @since 1.56.0
129
129
  *
130
130
  * @constructor
@@ -897,10 +897,20 @@ sap.ui.define([
897
897
  press: function (oEvent) {
898
898
  var oToggleButton = oEvent.getSource();
899
899
 
900
- this._toggleFullScreen(oToggleButton);
901
- oToggleButton.setTooltip(this._bIsFullScreen ? oResourceBundle.getText("CALCULATION_BUILDER_EXIT_FULL_SCREEN_BUTTON") : oResourceBundle.getText("CALCULATION_BUILDER_ENTER_FULL_SCREEN_BUTTON"));
902
- oToggleButton.setIcon(this._bIsFullScreen ? Icons.EXIT_FULL_SCREEN : Icons.FULL_SCREEN);
903
- }.bind(this)
900
+ this._toggleFullScreen();
901
+ oToggleButton.setAggregation("tooltip",
902
+ this._bIsFullScreen
903
+ ? oResourceBundle.getText(
904
+ "CALCULATION_BUILDER_EXIT_FULL_SCREEN_BUTTON"
905
+ )
906
+ : oResourceBundle.getText(
907
+ "CALCULATION_BUILDER_ENTER_FULL_SCREEN_BUTTON"
908
+ ),
909
+ true
910
+ );
911
+ oToggleButton.setProperty("icon", this._bIsFullScreen ? Icons.EXIT_FULL_SCREEN : Icons.FULL_SCREEN, true);
912
+ oToggleButton.focus();
913
+ }.bind(this)
904
914
  }));
905
915
 
906
916
  this.addDependent(this._oToolbar);
@@ -111,7 +111,7 @@ sap.ui.define([
111
111
  * @extends sap.ui.core.Control
112
112
  *
113
113
  * @author SAP SE
114
- * @version 1.104.1
114
+ * @version 1.105.0
115
115
  * @since 1.56.0
116
116
  *
117
117
  * @constructor
@@ -1980,7 +1980,7 @@ sap.ui.define([
1980
1980
 
1981
1981
 
1982
1982
  CalculationBuilderExpression.prototype._smartRender = function (aNewItems) {
1983
- var sHtml = "",i,
1983
+ var i,
1984
1984
  $this = this.$(),
1985
1985
  aAddedItems = [],
1986
1986
  aItems = this.getItems(),
@@ -2027,7 +2027,7 @@ sap.ui.define([
2027
2027
  var $item = oItem.$();
2028
2028
 
2029
2029
  oItem._innerRender(oRm, $item[0]);
2030
- $item.attr("class", oItem._getClass(null, oRm));
2030
+ $item.attr("class", oItem._getClass(null, oRm, true));
2031
2031
  $item.attr("title", oItem._getTooltip());
2032
2032
 
2033
2033
  oItem._setEvents();
@@ -2045,7 +2045,7 @@ sap.ui.define([
2045
2045
  }
2046
2046
 
2047
2047
  if ($this[0] && aAddedItems.length > 0) {
2048
- $this.find(".sapCalculationBuilderDelimiter").last().after(sHtml);
2048
+ oRm.flush($this[0], false, $this.children().index( $this.find(".sapCalculationBuilderDelimiter").last()[0] ) + 1);
2049
2049
 
2050
2050
  aAddedItems.forEach(function (oItem) {
2051
2051
  oItem._afterRendering();
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  * @extends sap.ui.core.Control
19
19
  *
20
20
  * @author SAP SE
21
- * @version 1.104.1
21
+ * @version 1.105.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.104.1
18
+ * @version 1.105.0
19
19
  * @since 1.60.0
20
20
  *
21
21
  * @constructor
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.ui.core.Control
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.104.1
33
+ * @version 1.105.0
34
34
  * @since 1.56.0
35
35
  *
36
36
  * @constructor
@@ -182,8 +182,8 @@ sap.ui.define([
182
182
  }
183
183
  };
184
184
 
185
- CalculationBuilderItem.prototype._getClass = function (bHasError, oRm) {
186
- var sClass = "",
185
+ CalculationBuilderItem.prototype._getClass = function (bHasError, oRm, bCreateExpression) {
186
+ var sClass = '',
187
187
  bIsEmpty = this._isEmpty();
188
188
 
189
189
  sClass += this._bIsNew ? "sapCalculationBuilderNewItem sapCalculationBuilderCancelSelectable" : "sapCalculationBuilderItem";
@@ -217,7 +217,9 @@ sap.ui.define([
217
217
  if (bHasError) {
218
218
  sClass += " sapCalculationBuilderItemErrorSyntax ";
219
219
  }
220
-
220
+ if (bCreateExpression) {
221
+ return sClass;
222
+ }
221
223
  var classes = sClass.split(' '),i;
222
224
  for (i = 0; i < classes.length; i++){
223
225
  oRm.class(classes[i]);
@@ -236,7 +238,7 @@ sap.ui.define([
236
238
  sRoleAttr = this._bIsNew ? "button" : "",
237
239
  sTabIndexAttr = bIsItemInBuilder ? "-1" : "0";
238
240
  oRm.openStart("div");
239
- oRm.class(this._getClass(!!oError, oRm));
241
+ this._getClass(!!oError, oRm);
240
242
  oRm.attr("id",this.getId());
241
243
  oRm.attr("tabindex",sTabIndexAttr);
242
244
  oRm.attr("title",sTooltipAttr);
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  * @extends sap.ui.base.ManagedObject
17
17
  *
18
18
  * @author SAP SE
19
- * @version 1.104.1
19
+ * @version 1.105.0
20
20
  * @since 1.56.0
21
21
  *
22
22
  * @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.104.1
18
+ * @version 1.105.0
19
19
  * @since 1.56.0
20
20
  *
21
21
  * @constructor
@@ -38,7 +38,12 @@ sap.ui.define([
38
38
  "sap/ui/core/CustomData",
39
39
  "sap/ui/model/Sorter",
40
40
  "sap/m/SearchField",
41
- "sap/m/OverflowToolbarLayoutData"
41
+ "sap/m/OverflowToolbarLayoutData",
42
+ "sap/ui/Device",
43
+ "sap/base/Log",
44
+ "sap/ui/model/odata/type/DateTimeOffset",
45
+ "sap/ui/core/Item",
46
+ "sap/ui/core/SortOrder"
42
47
  ], function (
43
48
  Button,
44
49
  Dialog,
@@ -71,7 +76,12 @@ sap.ui.define([
71
76
  CustomData,
72
77
  Sorter,
73
78
  SearchField,
74
- OverflowToolbarLayoutData
79
+ OverflowToolbarLayoutData,
80
+ Device,
81
+ Log,
82
+ DateTimeOffset,
83
+ Item,
84
+ SortOrder
75
85
  ) {
76
86
  "use strict";
77
87
 
@@ -80,7 +90,7 @@ sap.ui.define([
80
90
  var ValueState = coreLibrary.ValueState;
81
91
  var FilePickerModes = library.FilePickerModes;
82
92
  var oTableControl, oSelectControl, oBreadcrumbLinkControl, oFileNameControl,
83
- aVisibleLinks, oNavigationMap, oConfirmationButton;
93
+ aVisibleLinks, oNavigationMap, oConfirmationButton, oNewFolderButton;
84
94
 
85
95
  var oResourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.suite.ui.commons");
86
96
 
@@ -95,7 +105,7 @@ sap.ui.define([
95
105
  * @class
96
106
  * @public
97
107
  * @internal
98
- * @version 1.104.1
108
+ * @version 1.105.0
99
109
  */
100
110
  var CloudFilePicker = Dialog.extend("sap.suite.ui.commons.CloudFilePicker", {
101
111
  metadata: {
@@ -167,6 +177,14 @@ sap.ui.define([
167
177
  type: "boolean",
168
178
  group: "Data",
169
179
  defaultValue: false
180
+ },
181
+ /**
182
+ * Specifies whether new folder can be created
183
+ */
184
+ enableNewFolderCreation: {
185
+ type: "boolean",
186
+ group: "Data",
187
+ defaultValue: false
170
188
  }
171
189
  },
172
190
  events: {
@@ -209,12 +227,19 @@ sap.ui.define([
209
227
  this._createDialogContent();
210
228
  this._createButton();
211
229
 
212
- this.setContentWidth("40%");
213
- this.setContentHeight("50%");
230
+ if (Device.system.phone) {
231
+ this.setStretch(true);
232
+ } else {
233
+ this.setStretch(false);
234
+ this.setContentWidth("780px");
235
+ this.setContentHeight("48.75rem");
236
+ }
214
237
 
215
238
  this.setHorizontalScrolling(false);
216
239
  this.setVerticalScrolling(false);
217
240
  this.setTitle(this.getTitle());
241
+ this.setBusyIndicatorDelay(0);
242
+ this.setBusy(true);
218
243
  },
219
244
  renderer: DialogRenderer
220
245
  });
@@ -224,7 +249,8 @@ sap.ui.define([
224
249
  if (sServiceURL) {
225
250
  var oModel = new ODataModel({
226
251
  serviceUrl: sServiceURL,
227
- synchronizationMode: "None"
252
+ synchronizationMode: "None",
253
+ earlyRequests: true
228
254
  });
229
255
  this.setModel(oModel);
230
256
  // Adding Select for cloud spaces
@@ -246,14 +272,14 @@ sap.ui.define([
246
272
  text: oResourceBundle.getText("CFP_LOCATION"),
247
273
  showColon: true,
248
274
  labelFor: this.getId() + "-cloudSpaceSelect"
249
- }).addStyleClass("sapUiTinyMarginTop");
275
+ }).addStyleClass(Device.system.desktop ? "sapUiTinyMarginTop" : '');
250
276
 
251
277
  oSelectControl = new Select({
252
- selectedKey: "{FileShare}",
253
278
  id: this.getId() + "-cloudSpaceSelect",
254
279
  forceSelection: false,
255
280
  change: function (oControlEvent) {
256
- oTableControl.setNoDataText(null);
281
+ oTableControl.setBusyIndicatorDelay(0);
282
+ oTableControl.setNoDataText(" ");
257
283
  oFileNameControl.setValue(this.getSuggestedFileName());
258
284
  // Confirmation button if disabled already should be re enabled if fileNameControl is set with a value during drive location change
259
285
  // and the Confirmation button should be kept disabled when drive location changes
@@ -265,7 +291,24 @@ sap.ui.define([
265
291
  }.bind(this)
266
292
  }).bindItems({
267
293
  path: "/FileShares",
268
- template: new sap.ui.core.Item({
294
+ events:{
295
+ dataReceived: function (oEvent) {
296
+ var mParameters = oEvent.getParameters();
297
+ if (mParameters.error) {
298
+ this.setBusy(false);
299
+ oTableControl.setNoDataText(null);
300
+ } else {
301
+ var sPath = oEvent.getSource().getContexts()[0].sPath;
302
+ var sKey = sPath.split(/[']/)[1];
303
+ oSelectControl.setSelectedKey(sKey);
304
+ setTimeout(function(){
305
+ this._initializeVisibleLinks();
306
+ }.bind(this));
307
+ this._loadFileShareRootFolder(oSelectControl.getSelectedKey());
308
+ }
309
+ }.bind(this)
310
+ },
311
+ template: new Item({
269
312
  key: "{FileShare}",
270
313
  text: {
271
314
  parts: ["FileShare", "FileShareDescription"],
@@ -290,7 +333,7 @@ sap.ui.define([
290
333
  text: oResourceBundle.getText("CFP_FILENAME"),
291
334
  showColon: true,
292
335
  labelFor: this.getId() + "-fileName"
293
- }).addStyleClass("sapUiTinyMarginTop");
336
+ }).addStyleClass(Device.system.desktop ? "sapUiTinyMarginTop" : '');
294
337
 
295
338
  oFileNameControl = new Input({
296
339
  id: this.getId() + "-fileName",
@@ -323,16 +366,27 @@ sap.ui.define([
323
366
  };
324
367
 
325
368
  CloudFilePicker.prototype._initializeVisibleLinks = function () {
369
+ var sCurrentFileShare = oSelectControl.getSelectedItem() ? oSelectControl.getSelectedItem().getText() : '';
326
370
  var oRoot = {
327
371
  fileShareItemId: "Root",
328
- title: oResourceBundle.getText("CFP_FOLDER_ROOT")
372
+ title: sCurrentFileShare
329
373
  };
330
374
  aVisibleLinks = [oRoot];
331
- oBreadcrumbLinkControl.setCurrentLocationText(oRoot.title);
375
+ oBreadcrumbLinkControl.setCurrentLocationText(sCurrentFileShare);
332
376
  oNavigationMap.clear();
333
377
  };
334
378
 
335
379
  CloudFilePicker.prototype._createTableContent = function () {
380
+ if (this.getEnableNewFolderCreation()) {
381
+ oNewFolderButton = new Button({
382
+ text: oResourceBundle.getText("CFP_TITLE_NEWFOLDER"),
383
+ type: ButtonType.Transparent,
384
+ enabled: false,
385
+ press: function () {
386
+ this.openNewFolderDialog();
387
+ }.bind(this)
388
+ });
389
+ }
336
390
  oTableControl = new Table({
337
391
  headerToolbar: new OverflowToolbar({
338
392
  content: [new Title({text: oResourceBundle.getText("CFP_LIST_HEADER")}),
@@ -341,9 +395,12 @@ sap.ui.define([
341
395
  layoutData: new OverflowToolbarLayoutData({
342
396
  minWidth: "200px",
343
397
  maxWidth: "300px",
344
- shrinkable: true
345
- })
346
- })
398
+ shrinkable: true,
399
+ moveToOverflow: false
400
+ }),
401
+ visible:false
402
+ }),
403
+ oNewFolderButton ? oNewFolderButton : null
347
404
  ],
348
405
  design: 'Transparent'
349
406
  }),
@@ -353,14 +410,16 @@ sap.ui.define([
353
410
  customData: [new CustomData({
354
411
  key: "bindingProperty",
355
412
  value: 'FileShareItemName'
356
- })]
413
+ })],
414
+ width: "auto"
357
415
  }),
358
416
  new Column({
359
417
  header: new Text({text: oResourceBundle.getText("CFP_OWNER")}),
360
418
  customData: [new CustomData({
361
419
  key: "bindingProperty",
362
420
  value: 'CreatedByUser'
363
- })]
421
+ })],
422
+ width: "17%"
364
423
  }),
365
424
  new Column({
366
425
  hAlign: "End",
@@ -368,7 +427,8 @@ sap.ui.define([
368
427
  customData: [new CustomData({
369
428
  key: "bindingProperty",
370
429
  value: 'LastChangeDateTime'
371
- })]
430
+ })],
431
+ width: "17%"
372
432
  }),
373
433
  new Column({
374
434
  hAlign: "End",
@@ -376,19 +436,33 @@ sap.ui.define([
376
436
  customData: [new CustomData({
377
437
  key: "bindingProperty",
378
438
  value: 'FileShareItemContentSize'
379
- })]
439
+ })],
440
+ width: "10%"
441
+ }),
442
+ new Column({
443
+ hAlign: "Left",
444
+ header: new Text({text: oResourceBundle.getText("CFP_TYPE")}),
445
+ customData: [new CustomData({
446
+ key: "bindingProperty",
447
+ value: 'FileShareItemContentType'
448
+ })],
449
+ width: "17%"
380
450
  })
381
451
  ],
452
+ autoPopinMode: true,
382
453
  sticky:["HeaderToolbar","ColumnHeaders"],
383
454
  headerDesign:"Plain",
384
- noDataText: oResourceBundle.getText("CFP_NO_FILESHARE_SELECTED"),
455
+ noDataText: " ", // UX reccomends to show no text and table shows "No Data" by default
385
456
  mode: "SingleSelectMaster",
386
457
  itemPress: function(oControlEvent){
458
+ oTableControl.setBusyIndicatorDelay(0);
459
+ oTableControl.setNoDataText(" ");
387
460
  var oSelectedItem = oControlEvent.getParameters().listItem;
388
461
  var oContext = oSelectedItem.getBindingContext();
389
462
  var bIsFolder = oContext.getObject("FileShareItemKind") === "folder";
390
463
  if (bIsFolder) {
391
464
  var oSelectedFolderInfo = this._createSelectionParameter(oSelectedItem);
465
+ this._resetAndApplyDefaultSorting();
392
466
  var sFileShareItemId = oSelectedFolderInfo.getFileShareItemId();
393
467
  oSelectedFolderInfo.path = oContext.getCanonicalPath();
394
468
  oNavigationMap.set(sFileShareItemId, oSelectedFolderInfo);
@@ -399,13 +473,13 @@ sap.ui.define([
399
473
  fileShareItemId: sFileShareItemId,
400
474
  title: oSelectedItem.getCells()[0].getItems()[1].getText()
401
475
  });
402
- this._setConfirmationButtonEnabled(false);
403
476
  this._updateBreadcrumbLinks();
404
477
  oTableControl.setBindingContext(oNewContext);
405
478
  } else {
406
- var sFieldValue = oContext.getProperty("FileShareItemName");
407
- oFileNameControl.setValue(sFieldValue);
408
- this._setConfirmationButtonEnabled(true);
479
+ if (oConfirmationButton.getEnabled()) {
480
+ var sFieldValue = oContext.getProperty("FileShareItemName");
481
+ oFileNameControl.setValue(sFieldValue);
482
+ }
409
483
  }
410
484
  }.bind(this),
411
485
  items: {
@@ -417,6 +491,12 @@ sap.ui.define([
417
491
  path : 'FileShareItemName',
418
492
  descending : false
419
493
  }),
494
+ events:{
495
+ dataReceived: function () {
496
+ oTableControl.setNoDataText("");
497
+ this.setBusy(false);
498
+ }.bind(this)
499
+ },
420
500
  template : new ColumnListItem({
421
501
  cells: [
422
502
  new HBox({
@@ -437,9 +517,21 @@ sap.ui.define([
437
517
  }).addStyleClass("sapUiTinyMarginEnd"),
438
518
  new Text({text: "{FileShareItemName}"})]
439
519
  }),
440
- new Text({text: "{CreatedByUser}"}),
441
- new Text({text: "{LastChangeDateTime}"}),
442
- new Text({text: "{FileShareItemContentSize}"})
520
+ new Text({text: "{= ${FileShareItemKind} === 'folder' ? '' : ${CreatedByUser}}"}),
521
+ new Text({text:{
522
+ parts: ["FileShareItemKind", "LastChangeDateTime"],
523
+ formatter: function (sFileShareItemKind, sLastChangeDateTime) {
524
+ if (sFileShareItemKind === 'folder') {
525
+ return '';
526
+ } else {
527
+ var oDTOffset = new DateTimeOffset({style: "short"});
528
+ return oDTOffset.formatValue(new Date(sLastChangeDateTime), "string");
529
+ }
530
+ }
531
+ }
532
+ }),
533
+ new Text({text: "{= ${FileShareItemKind} === 'folder' ? '' : ${FileShareItemContentSize}}"}),
534
+ new Text({text: "{FileShareItemContentType}"})
443
535
  ],
444
536
  type: "{= ${FileShareItemKind} === 'folder' ? 'Navigation' : 'Active'}"
445
537
  })
@@ -454,6 +546,14 @@ sap.ui.define([
454
546
  if (oCurrentParentData && Object.keys(oCurrentParentData).length !== 0) {
455
547
  this._setConfirmationButtonEnabled(oCurrentParentData.getProperty("isDocumentCreationAllowed"));
456
548
  }
549
+ // New folder creation to be allowed only at child level of a particular drive
550
+ if (oNewFolderButton) {
551
+ if (oNavigationMap.size) {
552
+ oNewFolderButton.setEnabled(true);
553
+ } else {
554
+ oNewFolderButton.setEnabled(false);
555
+ }
556
+ }
457
557
  }
458
558
  }.bind(this)
459
559
  });
@@ -489,10 +589,101 @@ sap.ui.define([
489
589
  return oPage;
490
590
  };
491
591
 
592
+ CloudFilePicker.prototype.openNewFolderDialog = function () {
593
+ var oNewFolderInput = new Input();
594
+ var oApproveDialog = new Dialog({
595
+ type: DialogType.Message,
596
+ title: oResourceBundle.getText("CFP_TITLE_NEWFOLDER"),
597
+ content: [
598
+ new Label({
599
+ text: oResourceBundle.getText("CFP_FOLDERNAME"),
600
+ showColon: true
601
+ }),
602
+ oNewFolderInput
603
+ ],
604
+ beginButton: new Button({
605
+ type: ButtonType.Emphasized,
606
+ text: oResourceBundle.getText("CFP_BUTTON_CREATE"),
607
+ press: function () {
608
+ oApproveDialog.close();
609
+ oTableControl.setBusy(true);
610
+ var oBinding = oTableControl.getBinding("items"), fnResolve, oPromise = new Promise(function (resolve) {
611
+ fnResolve = resolve;
612
+ });
613
+
614
+ // handle success/failure of GET request triggered for a #create on this binding
615
+ var oNewFolderContext = oBinding.create({
616
+ FileShareItemName: oNewFolderInput.getValue(),
617
+ FileShareItemKind: 'folder'
618
+ }, true, false, false);
619
+
620
+ // handle success/failure of POST request triggered for a #create on this binding
621
+ var fnCreateCompleted = function(oEvent) {
622
+ var oContext = oEvent.getParameter("context"), bSuccess = oEvent.getParameter("success");
623
+ if (oContext === oNewFolderContext) {
624
+ oBinding.detachCreateCompleted(fnCreateCompleted, this); // don't accumulate handlers
625
+ fnResolve(bSuccess);
626
+ }
627
+ };
628
+
629
+ // oBinding.attachCreateCompleted(fnCreateCompleted.bind(this));
630
+ oBinding.attachCreateCompleted(fnCreateCompleted, this);
631
+
632
+ var fnSafeContextCreated = function() {
633
+ oNewFolderContext
634
+ .created()
635
+ .then(undefined, function (contextError) {
636
+ Log.trace("transient creation context deleted");
637
+ })
638
+ .catch(function (contextError) {
639
+ Log.trace("transient creation context deletion error", contextError);
640
+ });
641
+ };
642
+
643
+ oPromise.then(function(bSuccess) {
644
+ if (!bSuccess) {
645
+ fnSafeContextCreated();
646
+ oBinding.resetChanges();
647
+ oTableControl.setBusy(false);
648
+ this._warningMessageDialog("Duplicated filename:" + oNewFolderInput.getValue());
649
+ } else {
650
+ oNewFolderContext.created();
651
+ oTableControl.setBusy(false);
652
+ }
653
+ }.bind(this));
654
+ }.bind(this)
655
+ }),
656
+ endButton: new Button({
657
+ text: oResourceBundle.getText("CFP_BUTTON_CANCEL"),
658
+ press: function () {
659
+ oApproveDialog.close();
660
+ }
661
+ })
662
+ });
663
+ oApproveDialog.open();
664
+ };
665
+
666
+ CloudFilePicker.prototype._warningMessageDialog = function (sDisplayMessage) {
667
+ var oApproveDialog = new Dialog({
668
+ type: DialogType.Message,
669
+ title: oResourceBundle.getText("CFP_TITLE_WARNING"),
670
+ state: ValueState.Warning,
671
+ content: new Text({ text: sDisplayMessage }),
672
+ beginButton: new Button({
673
+ type: ButtonType.Emphasized,
674
+ text: oResourceBundle.getText("CFP_BUTTON_OK"),
675
+ press: function () {
676
+ oApproveDialog.close();
677
+ }
678
+ })
679
+ });
680
+ oApproveDialog.open();
681
+ };
682
+
492
683
  CloudFilePicker.prototype._fHandleSorting = function(oColumn, bIsAsc) {
493
- var sNewSort = bIsAsc ? sap.ui.core.SortOrder.Ascending : sap.ui.core.SortOrder.Descending;
684
+ var sNewSort = bIsAsc ? SortOrder.Ascending : SortOrder.Descending;
494
685
  if (sNewSort === oColumn.getSortIndicator()) {
495
- sNewSort = sap.ui.core.SortOrder.None;
686
+ sNewSort = SortOrder.None;
496
687
  }
497
688
  oTableControl.getColumns().forEach(function(oColumn){
498
689
  oColumn.setSortIndicator("None");
@@ -503,6 +694,14 @@ sap.ui.define([
503
694
  oItemBinding.sort(new Sorter(sSortProperty , !bIsAsc));
504
695
  };
505
696
 
697
+ CloudFilePicker.prototype._resetAndApplyDefaultSorting = function() {
698
+ oTableControl.getColumns().forEach(function(oColumn){
699
+ oColumn.setSortIndicator("None");
700
+ });
701
+ var oItemBinding = oTableControl.getBinding("items");
702
+ oItemBinding.sort(new Sorter("FileShareItemName" , true));
703
+ };
704
+
506
705
  CloudFilePicker.prototype._updateBreadcrumbLinks = function () {
507
706
  if (aVisibleLinks && aVisibleLinks.length > 1) {
508
707
  var aVisibleLinksRev = aVisibleLinks.slice().reverse();
@@ -519,6 +718,7 @@ sap.ui.define([
519
718
  var iLinkIndex = oBreadcrumbLinkControl.indexOfLink(
520
719
  oEvent.getSource()
521
720
  );
721
+ this._resetAndApplyDefaultSorting();
522
722
  var aRemovedLinks = aVisibleLinks.splice(iLinkIndex + 1);
523
723
  var oSelectedFolderInfo, oNewContext;
524
724
  this._updateBreadcrumbLinks();
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @extends sap.ui.core.Control
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.104.1
31
+ * @version 1.105.0
32
32
  *
33
33
  * @constructor
34
34
  * @public
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.ui.core.Control
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.104.1
33
+ * @version 1.105.0
34
34
  *
35
35
  * @constructor
36
36
  * @public
@@ -854,7 +854,7 @@ sap.ui.define("sap/suite/ui/commons/TimelineRenderManager", [
854
854
 
855
855
  that._filterDialogRangePage.setFilterCount(+(oFrom !== that._minDate || oTo !== that._maxDate));
856
856
  }
857
- }, undefined, resourceBundle);
857
+ }, undefined, resourceBundle,that._objects);
858
858
  });
859
859
  this._objects.register("timeFilterSelect", function () {
860
860
  var oSelect = new Select(that.getId() + "-timeFilterSelect", {
@@ -863,6 +863,12 @@ sap.ui.define("sap/suite/ui/commons/TimelineRenderManager", [
863
863
  that._rangeFilterType = event.getParameter("selectedItem").getProperty("key");
864
864
  that.toggleGroupTypeSelector(that._rangeFilterType);
865
865
  that._setRangeFilter();
866
+ var oDialog = that._objects.getFilterContent()._getDialog();
867
+ var oBeginButton = oDialog.getBeginButton();
868
+ oBeginButton.setEnabled(true);
869
+ if (that._objects.getTimeFilterSelect().getSelectedItem().getText() === resourceBundle.getText("TIMELINE_CUSTOM_RANGE")) {
870
+ that._objects.getTimestampFilterPicker()._checkDatePickerStatus();
871
+ }
866
872
  },
867
873
  items: [
868
874
  new Item({