@sapui5/sap.suite.ui.commons 1.133.0 → 1.134.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 (59) 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 +2 -2
  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 +13 -8
  12. package/src/sap/suite/ui/commons/ChartContainerRenderer.js +16 -1
  13. package/src/sap/suite/ui/commons/CloudFilePicker.js +1 -1
  14. package/src/sap/suite/ui/commons/MicroProcessFlow.js +1 -1
  15. package/src/sap/suite/ui/commons/MicroProcessFlowItem.js +1 -1
  16. package/src/sap/suite/ui/commons/ProcessFlowRenderer.js +19 -14
  17. package/src/sap/suite/ui/commons/TimelineItemRenderer.js +3 -2
  18. package/src/sap/suite/ui/commons/TimelineRenderer.js +4 -3
  19. package/src/sap/suite/ui/commons/collaboration/CollaborationContactInfoHelper.js +22 -0
  20. package/src/sap/suite/ui/commons/collaboration/CollaborationHelper.js +2 -0
  21. package/src/sap/suite/ui/commons/collaboration/ContactHelper.js +3 -1
  22. package/src/sap/suite/ui/commons/collaboration/TeamsHelperService.js +13 -15
  23. package/src/sap/suite/ui/commons/flexibility/changeHandler/PropertyChangeMapper.js +1 -1
  24. package/src/sap/suite/ui/commons/imageeditor/CropCustomShapeHistoryItem.js +1 -1
  25. package/src/sap/suite/ui/commons/imageeditor/CropEllipseHistoryItem.js +1 -1
  26. package/src/sap/suite/ui/commons/imageeditor/CropRectangleHistoryItem.js +1 -1
  27. package/src/sap/suite/ui/commons/imageeditor/CustomSizeItem.js +1 -1
  28. package/src/sap/suite/ui/commons/imageeditor/FilterHistoryItem.js +1 -1
  29. package/src/sap/suite/ui/commons/imageeditor/FlipHistoryItem.js +1 -1
  30. package/src/sap/suite/ui/commons/imageeditor/HistoryItem.js +1 -1
  31. package/src/sap/suite/ui/commons/imageeditor/ImageEditor.js +1 -1
  32. package/src/sap/suite/ui/commons/imageeditor/ImageEditorContainer.js +48 -7
  33. package/src/sap/suite/ui/commons/imageeditor/ImageEditorResponsiveContainer.js +1 -1
  34. package/src/sap/suite/ui/commons/imageeditor/ResizeHistoryItem.js +1 -1
  35. package/src/sap/suite/ui/commons/imageeditor/RotateHistoryItem.js +1 -1
  36. package/src/sap/suite/ui/commons/library.js +239 -32
  37. package/src/sap/suite/ui/commons/networkgraph/Group.js +1 -1
  38. package/src/sap/suite/ui/commons/networkgraph/Node.js +13 -3
  39. package/src/sap/suite/ui/commons/statusindicator/Circle.js +1 -1
  40. package/src/sap/suite/ui/commons/statusindicator/CustomShape.js +1 -1
  41. package/src/sap/suite/ui/commons/statusindicator/DiscreteThreshold.js +1 -1
  42. package/src/sap/suite/ui/commons/statusindicator/FillingOption.js +1 -1
  43. package/src/sap/suite/ui/commons/statusindicator/LibraryShape.js +1 -1
  44. package/src/sap/suite/ui/commons/statusindicator/Path.js +1 -1
  45. package/src/sap/suite/ui/commons/statusindicator/PropertyThreshold.js +1 -1
  46. package/src/sap/suite/ui/commons/statusindicator/Rectangle.js +1 -1
  47. package/src/sap/suite/ui/commons/statusindicator/Shape.js +1 -1
  48. package/src/sap/suite/ui/commons/statusindicator/ShapeGroup.js +1 -1
  49. package/src/sap/suite/ui/commons/statusindicator/SimpleShape.js +1 -1
  50. package/src/sap/suite/ui/commons/statusindicator/StatusIndicator.js +1 -1
  51. package/src/sap/suite/ui/commons/taccount/TAccount.js +1 -1
  52. package/src/sap/suite/ui/commons/taccount/TAccountGroup.js +1 -1
  53. package/src/sap/suite/ui/commons/taccount/TAccountItem.js +1 -1
  54. package/src/sap/suite/ui/commons/taccount/TAccountItemProperty.js +1 -1
  55. package/src/sap/suite/ui/commons/taccount/TAccountPanel.js +1 -1
  56. package/src/sap/suite/ui/commons/themes/base/StatusIndicator.less +2 -2
  57. package/src/sap/suite/ui/commons/themes/base/TAccount.less +0 -8
  58. package/src/sap/suite/ui/commons/themes/base/Timeline.less +3 -3
  59. package/src/sap/suite/ui/commons/themes/sap_hcb/base_Timeline.less +3 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.suite.ui.commons",
3
- "version": "1.133.0",
3
+ "version": "1.134.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.133.0</version>
10
+ <version>1.134.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.133.0
22
+ * @version 1.134.0
23
23
  * @since 1.65.0
24
24
  *
25
25
  * @constructor
@@ -134,7 +134,7 @@ sap.ui.define([
134
134
  * @extends sap.ui.core.Control
135
135
  *
136
136
  * @author SAP SE
137
- * @version 1.133.0
137
+ * @version 1.134.0
138
138
  * @since 1.56.0
139
139
  *
140
140
  * @constructor
@@ -169,7 +169,7 @@ sap.ui.define([
169
169
  * @extends sap.ui.core.Control
170
170
  *
171
171
  * @author SAP SE
172
- * @version 1.133.0
172
+ * @version 1.134.0
173
173
  * @since 1.56.0
174
174
  *
175
175
  * @constructor
@@ -512,7 +512,7 @@ sap.ui.define([
512
512
  bIsCorrect = sValue.indexOf("\"") === -1;
513
513
 
514
514
  oSource.setValueState(bIsCorrect ? ValueState.None : ValueState.Error);
515
- oPopoverItems.footerButtons.okButton.setEnabled(bIsCorrect);
515
+ oPopoverItems.footerButtons.okButton.setEnabled(sValue.length > 0 && bIsCorrect);
516
516
  },
517
517
  submit: function (oEvent) {
518
518
  this._submitLiteralInput(oLiteralInput);
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @extends sap.ui.core.Control
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.133.0
29
+ * @version 1.134.0
30
30
  * @since 1.56.0
31
31
  *
32
32
  * @constructor
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @extends sap.ui.core.Control
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.133.0
25
+ * @version 1.134.0
26
26
  * @since 1.60.0
27
27
  *
28
28
  * @constructor
@@ -39,7 +39,7 @@ sap.ui.define([
39
39
  * @extends sap.ui.core.Control
40
40
  *
41
41
  * @author SAP SE
42
- * @version 1.133.0
42
+ * @version 1.134.0
43
43
  * @since 1.56.0
44
44
  *
45
45
  * @constructor
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @extends sap.ui.base.ManagedObject
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.133.0
24
+ * @version 1.134.0
25
25
  * @since 1.56.0
26
26
  *
27
27
  * @constructor
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.ui.core.Control
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.133.0
26
+ * @version 1.134.0
27
27
  * @since 1.56.0
28
28
  *
29
29
  * @constructor
@@ -15,6 +15,7 @@ sap.ui.define([
15
15
  'sap/m/OverflowToolbar',
16
16
  'sap/m/OverflowToolbarButton',
17
17
  'sap/m/SegmentedButton',
18
+ 'sap/m/SegmentedButtonItem',
18
19
  'sap/m/Title',
19
20
  'sap/m/ToolbarSpacer',
20
21
  'sap/ui/Device',
@@ -35,7 +36,7 @@ sap.ui.define([
35
36
  "sap/m/ResponsivePopover",
36
37
  'sap/m/SelectionDetails'
37
38
  ], function (jQuery, library, MobileLibrary, VizLibrary, ManagedObject, Button, OverflowToolbar, OverflowToolbarButton,
38
- SegmentedButton, Title, ToolbarSpacer, Device, Control, CustomData, ResizeHandler, ScrollEnablement, ToggleButton,
39
+ SegmentedButton, SegmentedButtonItem, Title, ToolbarSpacer, Device, Control, CustomData, ResizeHandler, ScrollEnablement, ToggleButton,
39
40
  OverflowToolbarToggleButton, uid, Log, ChartContainerRenderer, FullScreenUtil, CoreLib, Element, Popover, Dialog,
40
41
  ResponsivePopover, SelectionDetails) {
41
42
  "use strict";
@@ -397,6 +398,10 @@ sap.ui.define([
397
398
  this._oFullScreenUtil.attachFullScreenChangeEvent(this);
398
399
  }
399
400
  }
401
+ if (this?._oSelectedContent?.getContent()) {
402
+ var oChart = this._oSelectedContent.getContent();
403
+ this._toggleShowLegendButtons(oChart);
404
+ }
400
405
  };
401
406
 
402
407
  ChartContainer.prototype.onBeforeRendering = function () {
@@ -564,7 +569,7 @@ sap.ui.define([
564
569
  * @private
565
570
  */
566
571
  ChartContainer.prototype._onChartSegmentButtonSelect = function (oEvent) {
567
- var sChartId = oEvent.getParameter("button").getCustomData()[0].getValue();
572
+ var sChartId = oEvent.getParameter("item").getCustomData()[0].getValue();
568
573
  this._bSegmentedButtonSaveSelectState = true;
569
574
  this._switchChart(sChartId);
570
575
  };
@@ -689,7 +694,7 @@ sap.ui.define([
689
694
  for (var i = 0; !oRelatedButton && i < this._aUsedContentIcons.length; i++) {
690
695
  if (this._aUsedContentIcons[i].getCustomData()[0].getValue() === sChartId && chart.getVisible() === true) {
691
696
  oRelatedButton = this._aUsedContentIcons[i];
692
- this._oChartSegmentedButton.setSelectedButton(oRelatedButton);
697
+ this._oChartSegmentedButton.setSelectedItem(oRelatedButton);
693
698
  break;
694
699
  }
695
700
  }
@@ -705,7 +710,7 @@ sap.ui.define([
705
710
  */
706
711
  ChartContainer.prototype._setDefaultOnSegmentedButton = function () {
707
712
  if (!this._bSegmentedButtonSaveSelectState) {
708
- this._oChartSegmentedButton.setSelectedButton(null);
713
+ this._oChartSegmentedButton.setSelectedItem(null);
709
714
  }
710
715
  this._bSegmentedButtonSaveSelectState = false;
711
716
  };
@@ -864,7 +869,7 @@ sap.ui.define([
864
869
  this._destroyButtons(this._aUsedContentIcons);
865
870
  this._aUsedContentIcons = [];
866
871
  if (this.getContent().length === 0) {
867
- this._oChartSegmentedButton.removeAllButtons();
872
+ this._oChartSegmentedButton.removeAllItems();
868
873
  this._setDefaultOnSegmentedButton();
869
874
  this.switchChart(null);
870
875
  }
@@ -894,7 +899,7 @@ sap.ui.define([
894
899
  if (jQuery.isFunction(oInnerChart.setHeight) && this._mOriginalVizFrameHeights[oInnerChart.getId()]) {
895
900
  oInnerChart.setHeight(this._mOriginalVizFrameHeights[oInnerChart.getId()]);
896
901
  }
897
- oButtonIcon = new Button({
902
+ oButtonIcon = new SegmentedButtonItem({
898
903
  icon: aCharts[i].getIcon(),
899
904
  type: ButtonType.Transparent,
900
905
  tooltip: aCharts[i].getTitle(),
@@ -1022,14 +1027,14 @@ sap.ui.define([
1022
1027
  this._addContentToolbar(this._aCustomIcons[i]);
1023
1028
  }
1024
1029
  if (!this._bControlNotRendered) {
1025
- this._oChartSegmentedButton.removeAllButtons();
1030
+ this._oChartSegmentedButton.removeAllItems();
1026
1031
  }
1027
1032
 
1028
1033
  // ChartContainer with one chart does not have a segment container
1029
1034
  var iIconsCount = this._aUsedContentIcons.length;
1030
1035
  if (iIconsCount > 1) {
1031
1036
  for (i = 0; i < iIconsCount; i++) {
1032
- this._oChartSegmentedButton.addButton(this._aUsedContentIcons[i]);
1037
+ this._oChartSegmentedButton.addItem(this._aUsedContentIcons[i]);
1033
1038
  }
1034
1039
  this._addContentToolbar(this._oChartSegmentedButton);
1035
1040
  }
@@ -25,7 +25,15 @@ sap.ui.define(function() {
25
25
  */
26
26
  ChartContainerRenderer.render = function(oRm, oControl) {
27
27
  var selectedChart = oControl.getSelectedContent();
28
-
28
+ var bchildTable = false;
29
+ if(oControl.getContent().length > 0) {
30
+ for(var i = 0; i < oControl.getContent().length; i++) {
31
+ if (oControl.getContent()[i].getContent().isA('sap.ui.table.Table')) {
32
+ bchildTable = true;
33
+ break;
34
+ }
35
+ }
36
+ }
29
37
  oRm.openStart("div",oControl);
30
38
  oRm.class("sapSuiteUiCommonsChartContainer");
31
39
  oRm.style("width", oControl.getWidth());
@@ -34,6 +42,9 @@ sap.ui.define(function() {
34
42
  // wrapper
35
43
  oRm.openStart("div",oControl.getId() + "-wrapper");
36
44
  oRm.class("sapSuiteUiCommonsChartContainerWrapper");
45
+ if (bchildTable === true) {
46
+ oRm.style("height", '100%');
47
+ }
37
48
  oRm.openEnd();
38
49
 
39
50
  oRm.openStart("div");
@@ -46,6 +57,10 @@ sap.ui.define(function() {
46
57
  // chart part
47
58
  oRm.openStart("div",oControl.getId() + "-chartArea");
48
59
  oRm.class("sapSuiteUiCommonsChartContainerChartArea");
60
+ if (bchildTable === true) {
61
+ oRm.style("height", '100%');
62
+ oRm.style("Width", '100%');
63
+ }
49
64
  oRm.openEnd();
50
65
 
51
66
  if (selectedChart !== null) {
@@ -118,7 +118,7 @@ sap.ui.define([
118
118
  * @class
119
119
  * @public
120
120
  * @internal
121
- * @version 1.133.0
121
+ * @version 1.134.0
122
122
  */
123
123
  var CloudFilePicker = Dialog.extend("sap.suite.ui.commons.CloudFilePicker", {
124
124
  metadata: {
@@ -47,7 +47,7 @@ sap.ui.define([
47
47
  * @extends sap.ui.core.Control
48
48
  *
49
49
  * @author SAP SE
50
- * @version 1.133.0
50
+ * @version 1.134.0
51
51
  *
52
52
  * @constructor
53
53
  * @public
@@ -38,7 +38,7 @@ sap.ui.define([
38
38
  * @extends sap.ui.core.Control
39
39
  *
40
40
  * @author SAP SE
41
- * @version 1.133.0
41
+ * @version 1.134.0
42
42
  *
43
43
  * @constructor
44
44
  * @public
@@ -223,25 +223,25 @@ sap.ui.define([
223
223
  oRm.openEnd();
224
224
 
225
225
  //Reserves space width for start symbol.
226
- oRm.openStart("th").openEnd().close("th");
226
+ oRm.openStart("th").attr("aria-hidden", "true").openEnd().close("th");
227
227
  iLanePosition = 0;
228
228
  while (iLanePosition < laneNumber - 1) {
229
229
  //Reserves space width for other parts to be displayed.
230
- oRm.openStart("th").openEnd().close("th");
231
- oRm.openStart("th").openEnd().close("th");
232
- oRm.openStart("th").openEnd().close("th");
233
- oRm.openStart("th").openEnd().close("th");
234
- oRm.openStart("th").openEnd().close("th");
230
+ oRm.openStart("th").attr("aria-hidden", "true").openEnd().close("th");
231
+ oRm.openStart("th").attr("aria-hidden", "true").openEnd().close("th");
232
+ oRm.openStart("th").attr("aria-hidden", "true").openEnd().close("th");
233
+ oRm.openStart("th").attr("aria-hidden", "true").openEnd().close("th");
234
+ oRm.openStart("th").attr("aria-hidden", "true").openEnd().close("th");
235
235
  iLanePosition++;
236
236
  }
237
237
 
238
238
  //Space for the last node.
239
- oRm.openStart("th").openEnd().close("th");
240
- oRm.openStart("th").openEnd().close("th");
241
- oRm.openStart("th").openEnd().close("th");
239
+ oRm.openStart("th").attr("aria-hidden", "true").openEnd().close("th");
240
+ oRm.openStart("th").attr("aria-hidden", "true").openEnd().close("th");
241
+ oRm.openStart("th").attr("aria-hidden", "true").openEnd().close("th");
242
242
 
243
243
  //Reserves space width for end symbol.
244
- oRm.openStart("th").openEnd().close("th");
244
+ oRm.openStart("th").attr("aria-hidden", "true").openEnd().close("th");
245
245
  oRm.close("tr");
246
246
 
247
247
  oRm.openStart("tr");
@@ -321,7 +321,7 @@ sap.ui.define([
321
321
  if (iMatrixDim1 > 0) {
322
322
  oRm.openStart("tr").openEnd();
323
323
  oRm.openStart("td");
324
- oRm.attr("colspan", (laneNumber * 5).toString());
324
+ oRm.attr("colspan", (laneNumber * 5).toString()).attr("aria-hidden", "true");
325
325
  oRm.openEnd();
326
326
  oRm.close("td");
327
327
  oRm.close("tr");
@@ -329,7 +329,7 @@ sap.ui.define([
329
329
  i = 0;
330
330
  while (i < iMatrixDim1) {
331
331
  oRm.openStart("tr").openEnd();
332
- oRm.openStart("td").openEnd().close("td");
332
+ oRm.openStart("td").attr("aria-hidden", "true").openEnd().close("td");
333
333
 
334
334
  iMatrixDim2 = calculatedMatrix[i].length;
335
335
  j = 0;
@@ -337,8 +337,10 @@ sap.ui.define([
337
337
  while (j < iMatrixDim2 - 1) {
338
338
  oNode = calculatedMatrix[i][j];
339
339
  var isTDTagOpen = true; //Indicates if td element tag is open.
340
+ var noColSpan;
340
341
  if ((j == 0) || (j % 2)) {
341
342
  oRm.openStart("td");
343
+ noColSpan = true;
342
344
  } else {
343
345
  oRm.openStart("td").attr("colspan", "4");
344
346
  //Needed by Chrome (cr) in order to render the connections correctly on the
@@ -359,6 +361,9 @@ sap.ui.define([
359
361
  isTDTagOpen = ProcessFlowRenderer._renderConnection(oRm, oControl, oNode, isTDTagOpen);
360
362
  }
361
363
  }
364
+ else if (noColSpan) {
365
+ oRm.attr("aria-hidden", "true");
366
+ }
362
367
  if (isTDTagOpen) {
363
368
  oRm.openEnd();
364
369
  }
@@ -367,8 +372,8 @@ sap.ui.define([
367
372
  }
368
373
 
369
374
  //The last space after a node + space under the end symbol.
370
- oRm.openStart("td").openEnd().close("td");
371
- oRm.openStart("td").openEnd().close("td");
375
+ oRm.openStart("td").attr("aria-hidden", "true").openEnd().close("td");
376
+ oRm.openStart("td").attr("aria-hidden", "true").openEnd().close("td");
372
377
  oRm.close("tr");
373
378
  i++;
374
379
  }
@@ -25,8 +25,9 @@ sap.ui.define([
25
25
  * Renderer for Timeline Item.
26
26
  * @namespace
27
27
  */
28
- var TimelineItemRenderer = {};
29
- TimelineItemRenderer.apiVersion = 2;
28
+ var TimelineItemRenderer = {
29
+ apiVersion: 2
30
+ };
30
31
 
31
32
  var oResBundle = CoreLib.getResourceBundleFor("sap.suite.ui.commons"),
32
33
  MS_PER_DAY = 24 * 60 * 60 * 1000,
@@ -22,9 +22,10 @@ sap.ui.define([
22
22
  * Timeline renderer.
23
23
  * @namespace
24
24
  */
25
- var TimelineRenderer = {},
25
+ var TimelineRenderer = {
26
+ apiVersion: 2
27
+ },
26
28
  resourceBundle = CoreLib.getResourceBundleFor("sap.suite.ui.commons");
27
- TimelineRenderer.apiVersion = 2;
28
29
 
29
30
  /**
30
31
  * Render timeline into given RenderManager.
@@ -621,7 +622,7 @@ sap.ui.define([
621
622
  });
622
623
  oMoreButton.addEventDelegate({
623
624
  onAfterRendering: function () {
624
- this.$().attr("tabindex", -1);
625
+ this.$().attr("tabindex", 0);
625
626
  }
626
627
  }, oMoreButton);
627
628
 
@@ -22,6 +22,9 @@ sap.ui.define([
22
22
  var CONTACTSTATUS_ENTITY_NAME = "APS_UI_C_PRESENCE";
23
23
  var CONTACTSTATUS_URL = BASE_URL + "aps_ui_contact/0001/" + CONTACTSTATUS_ENTITY_NAME;
24
24
 
25
+ var CONTACTCALENDAR_ENTITY_NAME = "APS_UI_C_CALENDAR";
26
+ var CONTACTCALENDAR_URL = BASE_URL + "aps_ui_contact/0001/" + CONTACTCALENDAR_ENTITY_NAME;
27
+
25
28
  var CHECKCONTACTSERVICE = BASE_URL + "aps_ui_contact/0001/" + "APS_UI_C_CHECK_SERVICE";
26
29
 
27
30
  var GET = "GET";
@@ -60,6 +63,25 @@ sap.ui.define([
60
63
  });
61
64
  };
62
65
 
66
+ CollaborationContactInfoHelper.fetchContactCalendar = function(sEmail) {
67
+ var sStartDateTime = new Date();
68
+ var url = CONTACTCALENDAR_URL + "?$filter=mail eq '" + sEmail + "'";
69
+ if (sStartDateTime) {
70
+ url = CONTACTCALENDAR_URL + "?$filter=(mail eq '" + sEmail + "'&start_datetime eq '" + sStartDateTime.toISOString() + "')";
71
+ }
72
+ return this.fetchCSRFToken().then(function (sCSRFToken) {
73
+ return fetch(url, {
74
+ method: GET,
75
+ headers: {
76
+ "X-CSRF-Token": sCSRFToken,
77
+ "content-type": "application/json;odata.metadata=minimal;charset=utf-8"
78
+ }
79
+ }).then(function (oResponse) {
80
+ return oResponse.json();
81
+ });
82
+ });
83
+ };
84
+
63
85
  CollaborationContactInfoHelper.fetchContactPicture = function(sEmail) {
64
86
  return this.fetchCSRFToken().then(function (sCSRFToken) {
65
87
  return fetch(CONTACTIMAGE_URL + "/" + sEmail + "/photo", {
@@ -115,6 +115,8 @@ sap.ui.define(
115
115
  var sHash = sCurrentUrl.split(URL_KEY)[1].split('=')[1];
116
116
  if (sCurrentUrl.indexOf(PARAM_SAP_STAGEVIEW_HASH) > 0) {
117
117
  sHash = sHash.split(PARAM_SAP_STAGEVIEW_HASH)[0];
118
+ } else if (sCurrentUrl.includes("info=")) {
119
+ sHash = sHash.includes(",") ? sHash.split(",")[0] : sHash.split("&")[0];
118
120
  } else if (sCurrentUrl.indexOf(PARAM_SAP_CARD_ID) > 0 || sCurrentUrl.indexOf(PARAM_SAP_XX_CARD_ID) > 0) {
119
121
  if (sCurrentUrl.indexOf(PARAM_SAP_CARD_ID) > 0){
120
122
  sHash = sHash.split(PARAM_SAP_CARD_ID)[0];
@@ -88,13 +88,15 @@ sap.ui.define([
88
88
 
89
89
  getTeamsContactStatus: async function (sEmail) {
90
90
  var oFullProfileData = await CollaborationContactInfoHelper.fetchContact(sEmail);
91
+ oFullProfileData.calendar = await CollaborationContactInfoHelper.fetchContactCalendar(sEmail);
91
92
  oFullProfileData = this.determineContactStatus(oFullProfileData);
92
93
  return [{
93
94
  "key": "profileStatus",
94
95
  "badgeIcon": oFullProfileData.badgeIcon,
95
96
  "badgeValueState": oFullProfileData.badgeValueState,
96
97
  "badgeTooltip": oFullProfileData.badgeTooltip,
97
- "fesrStepName": "MST:ContactAction"
98
+ "fesrStepName": "MST:ContactAction",
99
+ "calender": oFullProfileData.calender
98
100
  }]
99
101
  },
100
102
 
@@ -55,16 +55,14 @@ sap.ui.define([
55
55
  */
56
56
  var COLLABORATION_MSTEAMS_APPID = 'db5b69c6-0430-4ae1-8d6e-a65c2220b50c';
57
57
  var oLogger = Log.getLogger("sap.suite.ui.commons.collaboration.TeamsHelperService");
58
+ var CARD_URL_PREFIX = "https://saps4hana.azure-api.net/bot/redirect?target-url=";
58
59
 
59
60
  var oResourceBundle = Library.getResourceBundleFor("sap.suite.ui.commons");
60
- var PARAM_SAP_CARD_TITLE = "sap-ui-cardTitle";
61
- var PARAM_SAP_CARD_ID = "sap-ui-cardId";
62
- var PARAM_SAP_CARD_VERSION = "sap-ui-cardVersion";
61
+ var PARAM_SAP_CARD_INFO = "info";
63
62
 
64
63
  var oBusyDailog;
65
64
  let iTimeoutId;
66
65
  const AUTO_CLOSE_BUSY_DIALOG_TIME = 60 * 1000; // 1 sec = 1000, here 60 sec
67
- var PARAM_SAP_STAGEVIEW_HASH = "sap-stageview-hash";
68
66
  var oTeamsParams = {};
69
67
  var windowWidthAndHeight = "width=720,height=720";
70
68
 
@@ -424,7 +422,7 @@ sap.ui.define([
424
422
 
425
423
  TeamsHelperService.prototype._updateUrl = async function(oParams, oResponseData) {
426
424
  if (oParams.minifyUrlForChat) {
427
- CollaborationHelper.compactHash(oParams.url, []).then(async function (sShortURL) {
425
+ CollaborationHelper.compactHash(oParams.url, []).then(async function (sShortURL) {
428
426
  var sModifiedUrl = await this._modifyUrlForNavigationContext(oParams.url, sShortURL.url);
429
427
  if (oTeamsParams.isShareAsTabEnabled && this._providerConfig.isShareAsTabEnabled) {
430
428
  var sUrlForTab = await this._modifyUrlForShareAsTab(oParams.url, "MST:C");
@@ -432,7 +430,7 @@ sap.ui.define([
432
430
  var sStageViewHash = sShortURLTab.url.split("sap-url-hash=")[1];
433
431
  // Scenario in which URL shortening is enabled, but the iAppState is set to Transient.
434
432
  if (sStageViewHash) {
435
- sModifiedUrl += "&" + PARAM_SAP_STAGEVIEW_HASH + "=" + sStageViewHash;
433
+ sModifiedUrl += `,${sStageViewHash}`;
436
434
  } else {
437
435
  sUrlForTab = await this._modifyUrlForShareAsTab(sModifiedUrl, "MST:C");
438
436
  sModifiedUrl = await this._addNavmodeInUrl(sUrlForTab, 'inplace');
@@ -472,15 +470,14 @@ sap.ui.define([
472
470
  };
473
471
 
474
472
  TeamsHelperService.prototype._addCardParamsInUrl = function(sUrl, sAppTitle, response) {
475
- if (response.cardId) {
476
- sUrl = sUrl + "&" + PARAM_SAP_CARD_ID + "=" + response.cardId;
477
- }
478
- if (response.version) {
479
- sUrl = sUrl + "&" + PARAM_SAP_CARD_VERSION + "=" + response.version;
480
- }
481
- sUrl = sUrl + "&" + PARAM_SAP_CARD_TITLE + "=" + encodeURIComponent(sAppTitle);
482
- sUrl = this._providerConfig.shareAsLinkUrl + "?href=" + encodeURIComponent(sUrl);
483
- return sUrl;
473
+ var aInfoField = [
474
+ response.cardId || "",
475
+ response.version || "",
476
+ encodeURIComponent(sAppTitle)
477
+ ].filter(Boolean);
478
+ sUrl += `&${PARAM_SAP_CARD_INFO}=${aInfoField.join(",")}`;
479
+ // add the domain prefix to solve link unfurling issue for systems with different domain patterns
480
+ return `${this._providerConfig.shareAsLinkUrl}?href=${encodeURIComponent(CARD_URL_PREFIX + sUrl)}`;
484
481
  };
485
482
 
486
483
  TeamsHelperService.prototype._getShareAsTabUrl = function () {
@@ -583,6 +580,7 @@ sap.ui.define([
583
580
  /**
584
581
  * Provide Teams status for the contact
585
582
  * @returns {Promise} Returns promise which has the status of the contact
583
+ * @param {sEmail} sEmail email of the contact
586
584
  * @private
587
585
  */
588
586
 
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  *
23
23
  * @constructor
24
24
  * @alias sap.suite.ui.commons.flexibility.changeHandler.PropertyChangeMapper
25
- * @version 1.133.0
25
+ * @version 1.134.0
26
26
  * @since 1.50
27
27
  * @private
28
28
  */
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @extends sap.suite.ui.commons.imageeditor.HistoryItem
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.133.0
31
+ * @version 1.134.0
32
32
  * @since 1.67.0
33
33
  *
34
34
  * @constructor
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.suite.ui.commons.imageeditor.HistoryItem
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.133.0
33
+ * @version 1.134.0
34
34
  * @since 1.66.0
35
35
  *
36
36
  * @constructor
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @extends sap.suite.ui.commons.imageeditor.HistoryItem
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.133.0
31
+ * @version 1.134.0
32
32
  * @since 1.66.0
33
33
  *
34
34
  * @constructor
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @extends sap.ui.core.Element
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.133.0
25
+ * @version 1.134.0
26
26
  * @since 1.66.0
27
27
  *
28
28
  * @constructor
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @extends sap.suite.ui.commons.imageeditor.HistoryItem
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.133.0
31
+ * @version 1.134.0
32
32
  * @since 1.66.0
33
33
  *
34
34
  * @constructor
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @extends sap.suite.ui.commons.imageeditor.HistoryItem
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.133.0
28
+ * @version 1.134.0
29
29
  * @since 1.66.0
30
30
  *
31
31
  * @constructor
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  * @extends sap.ui.base.Object
18
18
  *
19
19
  * @author SAP SE
20
- * @version 1.133.0
20
+ * @version 1.134.0
21
21
  * @since 1.66.0
22
22
  *
23
23
  * @abstract
@@ -50,7 +50,7 @@ sap.ui.define([
50
50
  * @extends sap.ui.core.Control
51
51
  *
52
52
  * @author SAP SE
53
- * @version 1.133.0
53
+ * @version 1.134.0
54
54
  * @since 1.66.0
55
55
  *
56
56
  * @constructor