@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.
- 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 +1 -1
- package/src/sap/suite/ui/commons/CalculationBuilderExpression.js +2 -2
- 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 +1 -1
- 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/ChartContainer.js +13 -8
- package/src/sap/suite/ui/commons/ChartContainerRenderer.js +16 -1
- package/src/sap/suite/ui/commons/CloudFilePicker.js +1 -1
- package/src/sap/suite/ui/commons/MicroProcessFlow.js +1 -1
- package/src/sap/suite/ui/commons/MicroProcessFlowItem.js +1 -1
- package/src/sap/suite/ui/commons/ProcessFlowRenderer.js +19 -14
- package/src/sap/suite/ui/commons/TimelineItemRenderer.js +3 -2
- package/src/sap/suite/ui/commons/TimelineRenderer.js +4 -3
- package/src/sap/suite/ui/commons/collaboration/CollaborationContactInfoHelper.js +22 -0
- package/src/sap/suite/ui/commons/collaboration/CollaborationHelper.js +2 -0
- package/src/sap/suite/ui/commons/collaboration/ContactHelper.js +3 -1
- package/src/sap/suite/ui/commons/collaboration/TeamsHelperService.js +13 -15
- 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 +48 -7
- 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 +239 -32
- package/src/sap/suite/ui/commons/networkgraph/Group.js +1 -1
- package/src/sap/suite/ui/commons/networkgraph/Node.js +13 -3
- 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/StatusIndicator.less +2 -2
- package/src/sap/suite/ui/commons/themes/base/TAccount.less +0 -8
- package/src/sap/suite/ui/commons/themes/base/Timeline.less +3 -3
- package/src/sap/suite/ui/commons/themes/sap_hcb/base_Timeline.less +3 -3
package/package.json
CHANGED
|
@@ -169,7 +169,7 @@ sap.ui.define([
|
|
|
169
169
|
* @extends sap.ui.core.Control
|
|
170
170
|
*
|
|
171
171
|
* @author SAP SE
|
|
172
|
-
* @version 1.
|
|
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);
|
|
@@ -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("
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
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) {
|
|
@@ -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
|
-
|
|
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",
|
|
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
|
-
|
|
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
|
-
|
|
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 +=
|
|
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
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
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
|
|