@sapui5/sap.suite.ui.commons 1.124.1 → 1.124.3
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 +1 -1
- 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/CloudFilePicker.js +1 -1
- package/src/sap/suite/ui/commons/MicroProcessFlow.js +2 -2
- package/src/sap/suite/ui/commons/MicroProcessFlowItem.js +1 -1
- package/src/sap/suite/ui/commons/Timeline.js +0 -3
- package/src/sap/suite/ui/commons/collaboration/BaseHelperService.js +6 -6
- package/src/sap/suite/ui/commons/collaboration/CollaborationCardHelper.js +11 -3
- package/src/sap/suite/ui/commons/collaboration/CollaborationHelper.js +8 -3
- package/src/sap/suite/ui/commons/collaboration/ContactHelper.js +46 -51
- package/src/sap/suite/ui/commons/collaboration/ContactPopover.fragment.xml +25 -16
- package/src/sap/suite/ui/commons/collaboration/TeamsHelperService.js +28 -20
- 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 +2 -2
- package/src/sap/suite/ui/commons/imageeditor/ImageEditorResponsiveContainer.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/ResizeHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/RotateHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/library.js +1 -1
- package/src/sap/suite/ui/commons/networkgraph/Graph.js +2 -3
- package/src/sap/suite/ui/commons/networkgraph/Node.js +1 -1
- 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 +2 -2
- package/src/sap/suite/ui/commons/taccount/TAccount.js +1 -1
- package/src/sap/suite/ui/commons/taccount/TAccountGroup.js +2 -2
- 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/package.json
CHANGED
|
@@ -47,7 +47,7 @@ sap.ui.define([
|
|
|
47
47
|
* @extends sap.ui.core.Control
|
|
48
48
|
*
|
|
49
49
|
* @author SAP SE
|
|
50
|
-
* @version 1.124.
|
|
50
|
+
* @version 1.124.3
|
|
51
51
|
*
|
|
52
52
|
* @constructor
|
|
53
53
|
* @public
|
|
@@ -187,7 +187,7 @@ sap.ui.define([
|
|
|
187
187
|
};
|
|
188
188
|
|
|
189
189
|
MicroProcessFlow.prototype.init = function () {
|
|
190
|
-
Theming.
|
|
190
|
+
Theming.attachApplied(function () {
|
|
191
191
|
this._bThemeApplied = true;
|
|
192
192
|
this.invalidate();
|
|
193
193
|
}.bind(this));
|
|
@@ -1304,9 +1304,6 @@ sap.ui.define([
|
|
|
1304
1304
|
this._iItemCount = oBinding.sOperationMode === "Default" || oBinding.sOperationMode === "Server" ? 0 : this._iItemCount;
|
|
1305
1305
|
oBinding.getContexts(0, iGrowingThreshold);
|
|
1306
1306
|
oBindingInfo.length = iGrowingThreshold;
|
|
1307
|
-
oBinding.attachEventOnce("dataReceived", jQuery.proxy(function () {
|
|
1308
|
-
this.updateAggregation("content");
|
|
1309
|
-
}, this));
|
|
1310
1307
|
} else {
|
|
1311
1308
|
this.updateAggregation("content");
|
|
1312
1309
|
}
|
|
@@ -77,20 +77,20 @@ sap.ui.define([
|
|
|
77
77
|
* Enables the Microsoft Teams collaboration functionality by providing a contact quick view with the options to start a message, audio call or video call
|
|
78
78
|
* @param {string} sEmail Provides the email of the contact to be used for the communication using Microsoft Teams
|
|
79
79
|
* @param {string} oParams Parameter object which contains the information to be shared
|
|
80
|
-
* @returns {
|
|
80
|
+
* @returns {Promise} Returns a promise that resolves to an instance of the contact quick view providing the data for the collaboration functionality
|
|
81
81
|
* @public
|
|
82
82
|
*/
|
|
83
|
-
BaseHelperService.prototype.enableContactsCollaboration = function (sEmail, oParams) {
|
|
84
|
-
return {};
|
|
83
|
+
BaseHelperService.prototype.enableContactsCollaboration = async function (sEmail, oParams) {
|
|
84
|
+
return Promise.resolve({});
|
|
85
85
|
};
|
|
86
86
|
|
|
87
87
|
/**
|
|
88
88
|
* Provides the Microsoft Teams collaboration options for the contact quick view
|
|
89
|
-
* @returns {
|
|
89
|
+
* @returns {Promise} Returns a promise that provides the options for the Microsoft Teams collaboration functionality
|
|
90
90
|
* @public
|
|
91
91
|
*/
|
|
92
|
-
BaseHelperService.prototype.getTeamsContactCollabOptions = function () {
|
|
93
|
-
return {};
|
|
92
|
+
BaseHelperService.prototype.getTeamsContactCollabOptions = async function () {
|
|
93
|
+
return Promise.resolve({});
|
|
94
94
|
};
|
|
95
95
|
|
|
96
96
|
/**
|
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
|
-
"sap/ui/base/Object"
|
|
9
|
-
|
|
8
|
+
"sap/ui/base/Object",
|
|
9
|
+
"sap/base/Log",
|
|
10
|
+
], function (BaseObject, Log) {
|
|
10
11
|
"use strict";
|
|
11
12
|
|
|
12
13
|
var BASE_URL = "/sap/opu/odata4/sap/aps_ui_card_srv/srvd_a2x/sap/";
|
|
@@ -15,6 +16,7 @@ sap.ui.define([
|
|
|
15
16
|
var CARD_READ_URL = BASE_URL + "aps_ui_card/0001/" + CARD_ENTITY_NAME;
|
|
16
17
|
var POST = "POST";
|
|
17
18
|
var HEAD = "HEAD";
|
|
19
|
+
var oLogger = Log.getLogger("sap.suite.ui.commons.collaboration.CollaborationCardHelper");
|
|
18
20
|
|
|
19
21
|
/**
|
|
20
22
|
* CollaborationCardHelper for service integration functionalities
|
|
@@ -49,7 +51,13 @@ sap.ui.define([
|
|
|
49
51
|
*/
|
|
50
52
|
CollaborationCardHelper.postCard = function(sCardId, oContent) {
|
|
51
53
|
return this.fetchCSRFToken().then(function (sCSRFToken) {
|
|
52
|
-
|
|
54
|
+
let sContent = JSON.stringify(oContent);
|
|
55
|
+
try {
|
|
56
|
+
sContent = btoa(JSON.stringify(oContent));
|
|
57
|
+
} catch (e) {
|
|
58
|
+
// Log the error and pass the original content to the API
|
|
59
|
+
oLogger.error("Error while encoding the card content to base64 so original content passed to API: " + e);
|
|
60
|
+
}
|
|
53
61
|
var sPayload = JSON.stringify({ content: sContent, card_id: sCardId });
|
|
54
62
|
return fetch(CARD_READ_URL, {
|
|
55
63
|
method: POST,
|
|
@@ -11,7 +11,8 @@ sap.ui.define(
|
|
|
11
11
|
var URL_KEY = "sap-url-hash";
|
|
12
12
|
var PARAM_SAP_CARD_TITLE = "&sap-ui-cardTitle";
|
|
13
13
|
var PARAM_SAP_STAGEVIEW_HASH = "&sap-stageview-hash";
|
|
14
|
-
var PARAM_SAP_CARD_ID = "&sap-ui-
|
|
14
|
+
var PARAM_SAP_CARD_ID = "&sap-ui-cardId";
|
|
15
|
+
var PARAM_SAP_XX_CARD_ID = "&sap-ui-xx-cardId";
|
|
15
16
|
var TRANSIENT_KEY = "transient";
|
|
16
17
|
var oLogger = Log.getLogger("sap.suite.ui.commons.collaboration.CollaborationHelper");
|
|
17
18
|
|
|
@@ -114,8 +115,12 @@ sap.ui.define(
|
|
|
114
115
|
var sHash = sCurrentUrl.split(URL_KEY)[1].split('=')[1];
|
|
115
116
|
if (sCurrentUrl.indexOf(PARAM_SAP_STAGEVIEW_HASH) > 0) {
|
|
116
117
|
sHash = sHash.split(PARAM_SAP_STAGEVIEW_HASH)[0];
|
|
117
|
-
} else if (sCurrentUrl.indexOf(PARAM_SAP_CARD_ID) > 0){
|
|
118
|
-
|
|
118
|
+
} else if (sCurrentUrl.indexOf(PARAM_SAP_CARD_ID) > 0 || sCurrentUrl.indexOf(PARAM_SAP_XX_CARD_ID) > 0) {
|
|
119
|
+
if (sCurrentUrl.indexOf(PARAM_SAP_CARD_ID) > 0){
|
|
120
|
+
sHash = sHash.split(PARAM_SAP_CARD_ID)[0];
|
|
121
|
+
} else {
|
|
122
|
+
sHash = sHash.split(PARAM_SAP_XX_CARD_ID)[0];
|
|
123
|
+
}
|
|
119
124
|
} else if (sCurrentUrl.indexOf(PARAM_SAP_CARD_TITLE) > 0){
|
|
120
125
|
sHash = sHash.split(PARAM_SAP_CARD_TITLE)[0];
|
|
121
126
|
}
|
|
@@ -35,29 +35,17 @@ sap.ui.define([
|
|
|
35
35
|
*/
|
|
36
36
|
|
|
37
37
|
getFullProfileByEmail: async function (sEmail) {;
|
|
38
|
-
var
|
|
39
|
-
if (
|
|
40
|
-
return
|
|
38
|
+
var oFullProfileData = await CollaborationContactInfoHelper.fetchContact(sEmail);
|
|
39
|
+
if (oFullProfileData && oFullProfileData.mail === "") {
|
|
40
|
+
return oFullProfileData;
|
|
41
41
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (oProfilePhoto && oProfilePhoto.type != "") {
|
|
45
|
-
var oBase64Photo = await this.blobTOJSON(oProfilePhoto);
|
|
46
|
-
oFullProfileData.photo = "data:image/png;base64," + oBase64Photo.data;
|
|
42
|
+
if (oFullProfileData && oFullProfileData.data != "") {
|
|
43
|
+
oFullProfileData.photo = "data:image/png;base64," + oFullProfileData.data;
|
|
47
44
|
}
|
|
48
|
-
|
|
49
|
-
oFullProfileData.activity = oUserProfileStatus && oUserProfileStatus.value && oUserProfileStatus.value[0].activity;
|
|
45
|
+
oFullProfileData = this.determineContactStatus(oFullProfileData);
|
|
50
46
|
return oFullProfileData;
|
|
51
47
|
},
|
|
52
48
|
|
|
53
|
-
blobTOJSON: async function (oProfilePhoto) {
|
|
54
|
-
return new Promise((resolve, _) => {
|
|
55
|
-
var oFileReader = new FileReader();
|
|
56
|
-
oFileReader.onload = () => resolve(JSON.parse(oFileReader.result));
|
|
57
|
-
oFileReader.readAsText(oProfilePhoto);
|
|
58
|
-
});
|
|
59
|
-
},
|
|
60
|
-
|
|
61
49
|
getTeamsContactOptions: function () {
|
|
62
50
|
var that = this;
|
|
63
51
|
return Promise.resolve([
|
|
@@ -98,15 +86,13 @@ sap.ui.define([
|
|
|
98
86
|
*/
|
|
99
87
|
|
|
100
88
|
getTeamsContactStatus: async function (sEmail) {
|
|
101
|
-
var
|
|
102
|
-
|
|
103
|
-
oProfileData.activity = oUserProfileStatus && oUserProfileStatus.value && oUserProfileStatus.value[0].activity;
|
|
104
|
-
oProfileData = this.determineContactStatus(oProfileData);
|
|
89
|
+
var oFullProfileData = await CollaborationContactInfoHelper.fetchContact(sEmail);
|
|
90
|
+
oFullProfileData = this.determineContactStatus(oFullProfileData);
|
|
105
91
|
return [{
|
|
106
92
|
"key": "profileStatus",
|
|
107
|
-
"badgeIcon":
|
|
108
|
-
"badgeValueState":
|
|
109
|
-
"badgeTooltip":
|
|
93
|
+
"badgeIcon": oFullProfileData.badgeIcon,
|
|
94
|
+
"badgeValueState": oFullProfileData.badgeValueState,
|
|
95
|
+
"badgeTooltip": oFullProfileData.badgeTooltip,
|
|
110
96
|
"fesrStepName": "MST:ContactAction",
|
|
111
97
|
"callBackHandler": function (oEvent) {
|
|
112
98
|
that.handleMSTeamsPress(oEvent);
|
|
@@ -143,27 +129,20 @@ sap.ui.define([
|
|
|
143
129
|
}
|
|
144
130
|
},
|
|
145
131
|
|
|
146
|
-
loadContactPopover: function (sEmail, isDirectCommunicationEnabled) {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
}).then(function (oPopover) {
|
|
161
|
-
this._oContactPopover = oPopover;
|
|
162
|
-
FESRHelper.setSemanticStepname(oPopover, "afterClose", "MST:ContactDetails");
|
|
163
|
-
oPopover.setModel(oJsonModel, "userData");
|
|
164
|
-
oPopover.setModel(new sap.ui.model.resource.ResourceModel({ bundle: I18_BUNDLE }), "i18n");
|
|
165
|
-
return oPopover;
|
|
166
|
-
}.bind(this));
|
|
132
|
+
loadContactPopover: function (sEmail, oParams, isDirectCommunicationEnabled) {
|
|
133
|
+
return Fragment.load({
|
|
134
|
+
name: "sap.suite.ui.commons.collaboration.ContactPopover",
|
|
135
|
+
controller: this,
|
|
136
|
+
type: "XML"
|
|
137
|
+
}).then(function (oPopover) {
|
|
138
|
+
FESRHelper.setSemanticStepname(oPopover, "afterClose", "MST:ContactDetails");
|
|
139
|
+
this._oContactPopover = oPopover;
|
|
140
|
+
this.sEmail = sEmail;
|
|
141
|
+
this.oParams = oParams;
|
|
142
|
+
oPopover.setBusy(true);
|
|
143
|
+
this.isDirectCommunicationEnabled = isDirectCommunicationEnabled;
|
|
144
|
+
this._oContactPopover.setModel(new sap.ui.model.resource.ResourceModel({ bundle: I18_BUNDLE }), "i18n");
|
|
145
|
+
return oPopover;
|
|
167
146
|
}.bind(this));
|
|
168
147
|
},
|
|
169
148
|
|
|
@@ -195,6 +174,22 @@ sap.ui.define([
|
|
|
195
174
|
}
|
|
196
175
|
},
|
|
197
176
|
|
|
177
|
+
afterOpen: function() {
|
|
178
|
+
var that = this;
|
|
179
|
+
this.getFullProfileByEmail(this.sEmail).then(function (data) {
|
|
180
|
+
that._oContactPopover.setBusy(false);
|
|
181
|
+
if (data && data.mail === "") {
|
|
182
|
+
that._oContactPopover.close();
|
|
183
|
+
mLibrary.URLHelper.triggerEmail(that.sEmail, that.oParams);
|
|
184
|
+
}
|
|
185
|
+
data.isDirectCommunicationEnabled = !!that.isDirectCommunicationEnabled;
|
|
186
|
+
var oJsonModel = new JSONModel(data);
|
|
187
|
+
oJsonModel.setData(data);
|
|
188
|
+
that._oContactPopover.setModel(oJsonModel, "userData");
|
|
189
|
+
FESRHelper.setSemanticStepname(that._oContactPopover, "afterClose", "MST:ContactDetails");
|
|
190
|
+
});
|
|
191
|
+
},
|
|
192
|
+
|
|
198
193
|
/**
|
|
199
194
|
* Provide avatar and badge proprty based on Contact status
|
|
200
195
|
* @param {string} oFullProfileData full information on the contact
|
|
@@ -202,7 +197,11 @@ sap.ui.define([
|
|
|
202
197
|
*/
|
|
203
198
|
|
|
204
199
|
determineContactStatus: function(oFullProfileData) {
|
|
205
|
-
if (oFullProfileData.
|
|
200
|
+
if (oFullProfileData.isoutofoffice) {
|
|
201
|
+
oFullProfileData.badgeValueState = "Information";
|
|
202
|
+
oFullProfileData.badgeIcon = "sap-icon://offsite-work";
|
|
203
|
+
oFullProfileData.badgeTooltip = I18_BUNDLE.getText("OOO");
|
|
204
|
+
} else if (oFullProfileData.activity === "Available") {
|
|
206
205
|
oFullProfileData.badgeValueState = "Success";
|
|
207
206
|
oFullProfileData.badgeIcon = "sap-icon://message-success";
|
|
208
207
|
oFullProfileData.badgeTooltip = I18_BUNDLE.getText("AVAILABLE");
|
|
@@ -218,10 +217,6 @@ sap.ui.define([
|
|
|
218
217
|
oFullProfileData.badgeValueState = "Error";
|
|
219
218
|
oFullProfileData.badgeIcon = "sap-icon://sys-minus";
|
|
220
219
|
oFullProfileData.badgeTooltip = I18_BUNDLE.getText("PRESENTING");
|
|
221
|
-
} else if (oFullProfileData.activity === "OutOfOffice") {
|
|
222
|
-
oFullProfileData.badgeValueState = "Information";
|
|
223
|
-
oFullProfileData.badgeIcon = "sap-icon://offsite-work";
|
|
224
|
-
oFullProfileData.badgeTooltip = I18_BUNDLE.getText("OOO");
|
|
225
220
|
} else {
|
|
226
221
|
oFullProfileData.badgeValueState = "Information";
|
|
227
222
|
oFullProfileData.badgeIcon = "sap-icon://message-error";
|
|
@@ -9,12 +9,13 @@
|
|
|
9
9
|
initialFocus="action"
|
|
10
10
|
showHeader="false"
|
|
11
11
|
contentWidth="25rem"
|
|
12
|
-
afterClose="afterClose"
|
|
12
|
+
afterClose="afterClose"
|
|
13
|
+
afterOpen="afterOpen">
|
|
13
14
|
<VBox>
|
|
14
15
|
<HBox class="sapUiSmallMarginBeginEnd sapUiSmallMarginTopBottom" >
|
|
15
16
|
<Avatar src="{= ${userData>/photo} ? ${userData>/photo} : 'sap-icon://person-placeholder' }"
|
|
16
|
-
displaySize="M" class="sapUiSmallMarginEnd" displayShape="Circle" press="handleMSTeamsPress" macrodata:email="{userData>/mail}"
|
|
17
|
-
macrodata:type="chat" badgeValueState="{userData>/badgeValueState}" badgeTooltip="{userData>/badgeTooltip}" badgeIcon="{userData>/badgeIcon}"/>
|
|
17
|
+
displaySize="M" class="sapUiSmallMarginEnd" displayShape="Circle" press="handleMSTeamsPress" macrodata:email="{userData>/mail}" fesr:press="MST:ContactAction"
|
|
18
|
+
macrodata:type="chat" tooltip="{userData>/badgeTooltip}" badgeValueState="{userData>/badgeValueState}" badgeTooltip="{userData>/badgeTooltip}" badgeIcon="{userData>/badgeIcon}"/>
|
|
18
19
|
<VBox>
|
|
19
20
|
<Title text="{userData>/displayname}" level="H3" />
|
|
20
21
|
<Text text="{userData>/jobtitle}"/>
|
|
@@ -30,7 +31,7 @@
|
|
|
30
31
|
macrodata:type="chat"
|
|
31
32
|
tooltip="{i18n>CHAT_BUTTON_TOOLTIP}"
|
|
32
33
|
icon="sap-icon://discussion"
|
|
33
|
-
type="
|
|
34
|
+
type="Ghost"
|
|
34
35
|
class="sapUiSmallMarginEnd"
|
|
35
36
|
fesr:press="MST:ContactAction"
|
|
36
37
|
/>
|
|
@@ -40,7 +41,7 @@
|
|
|
40
41
|
macrodata:type="videoCall"
|
|
41
42
|
tooltip="{i18n>VIDEOCALL_BUTTON_TOOLTIP}"
|
|
42
43
|
icon="sap-icon://video"
|
|
43
|
-
type="
|
|
44
|
+
type="Ghost"
|
|
44
45
|
class="sapUiSmallMarginEnd"
|
|
45
46
|
fesr:press="MST:ContactAction"
|
|
46
47
|
/>
|
|
@@ -50,7 +51,7 @@
|
|
|
50
51
|
macrodata:type="call"
|
|
51
52
|
tooltip="{i18n>CALL_BUTTON_TOOLTIP}"
|
|
52
53
|
icon="sap-icon://call"
|
|
53
|
-
type="
|
|
54
|
+
type="Ghost"
|
|
54
55
|
fesr:press="MST:ContactAction"
|
|
55
56
|
/>
|
|
56
57
|
</Toolbar >
|
|
@@ -59,18 +60,26 @@
|
|
|
59
60
|
|
|
60
61
|
<Title text="{i18n>POPOVER_CONTACT_DETAILS}" level="H5" class="sapUiTinyMarginBottom sapUiTinyMarginTop" />
|
|
61
62
|
|
|
62
|
-
<
|
|
63
|
-
|
|
63
|
+
<VBox visible="{= !!${userData>/mobilephone}}" class="sapUiTinyMarginBottom" >
|
|
64
|
+
<Label id="UserMobile" text="{i18n>POPOVER_CONTACT_SECTION_MOBILE}:" />
|
|
65
|
+
<Link text="{userData>/mobilephone}" href="{path: 'userData>/mobilephone', formatter: '.formatUri'}" ariaLabelledBy="UserMobile"/>
|
|
66
|
+
</VBox>
|
|
64
67
|
|
|
65
|
-
<
|
|
66
|
-
|
|
68
|
+
<VBox visible="{= !!${userData>/businessphone}}" class="sapUiTinyMarginBottom" >
|
|
69
|
+
<Label id="UserPhone" text="{i18n>POPOVER_CONTACT_SECTION_PHONE}:" />
|
|
70
|
+
<Link text="{userData>/businessphone}" href="{path: 'userData>/businessphone', formatter: '.formatUri'}" ariaLabelledBy="UserPhone"/>
|
|
71
|
+
</VBox>
|
|
67
72
|
|
|
68
|
-
<
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
+
<VBox visible="{= !!${userData>/mail}}" class="sapUiTinyMarginBottom" >
|
|
74
|
+
<Label id="UserEmail" text="{i18n>POPOVER_CONTACT_SECTION_EMAIL}:" />
|
|
75
|
+
<Link text="{userData>/mail}" href="{path: 'userData>/mail', formatter: '.formatUri'}" ariaLabelledBy="UserEmail"/>
|
|
76
|
+
</VBox>
|
|
77
|
+
|
|
78
|
+
<VBox visible="{= !!${userData>/officelocation}}" class="sapUiTinyMarginBottom" >
|
|
79
|
+
<Label text="{i18n>POPOVER_CONTACT_SECTION_OFFICE_LOCATION}:" />
|
|
80
|
+
<Text text="{userData>/officelocation}" />
|
|
81
|
+
</VBox>
|
|
73
82
|
</VBox>
|
|
74
83
|
</VBox>
|
|
75
84
|
</Popover>
|
|
76
|
-
</core:FragmentDefinition>
|
|
85
|
+
</core:FragmentDefinition>
|
|
@@ -24,8 +24,9 @@ sap.ui.define([
|
|
|
24
24
|
"sap/m/Button",
|
|
25
25
|
"./CollaborationContactInfoHelper",
|
|
26
26
|
"sap/m/library",
|
|
27
|
-
"sap/m/FlexBox"
|
|
28
|
-
|
|
27
|
+
"sap/m/FlexBox",
|
|
28
|
+
"sap/base/i18n/Localization"
|
|
29
|
+
], function (Log, Core, URLListValidator, CollaborationHelper, BaseHelperService, Element, ContactHelper, Device, CollaborationCardHelper, Fragment, MessageBox, Library, Popover, HBox, VBox, MessageStrip, Button, CollaborationContactInfoHelper, sapMLibrary, FlexBox, Localization) {
|
|
29
30
|
"use strict";
|
|
30
31
|
|
|
31
32
|
/**
|
|
@@ -52,11 +53,12 @@ sap.ui.define([
|
|
|
52
53
|
*/
|
|
53
54
|
var COLLABORATION_MSTEAMS_APPID = 'db5b69c6-0430-4ae1-8d6e-a65c2220b50c';
|
|
54
55
|
var oLogger = Log.getLogger("sap.suite.ui.commons.collaboration.TeamsHelperService");
|
|
56
|
+
var CARD_URL_PREFIX = "https://saps4hana.azure-api.net/bot/redirect?target-url=";
|
|
55
57
|
|
|
56
58
|
var oResourceBundle = Library.getResourceBundleFor("sap.suite.ui.commons");
|
|
57
59
|
var PARAM_SAP_CARD_TITLE = "sap-ui-cardTitle";
|
|
58
|
-
var PARAM_SAP_CARD_ID = "sap-ui-
|
|
59
|
-
var PARAM_SAP_CARD_VERSION = "sap-ui-
|
|
60
|
+
var PARAM_SAP_CARD_ID = "sap-ui-cardId";
|
|
61
|
+
var PARAM_SAP_CARD_VERSION = "sap-ui-cardVersion";
|
|
60
62
|
|
|
61
63
|
var oBusyDailog;
|
|
62
64
|
let iTimeoutId;
|
|
@@ -259,10 +261,10 @@ sap.ui.define([
|
|
|
259
261
|
if (oParams.minifyUrlForChat) {
|
|
260
262
|
CollaborationHelper.compactHash(oParams.url, []).then(async function (sShortURL) {
|
|
261
263
|
var sModifiedUrl = await this._modifyUrlForNavigationContext(oParams.url, sShortURL.url);
|
|
262
|
-
newWindow.location = this._providerConfig.shareAsLinkUrl + "?msgText=" + encodeURIComponent(sMessage) + "&href=" + encodeURIComponent(sModifiedUrl);
|
|
264
|
+
newWindow.location = this._providerConfig.shareAsLinkUrl + "?msgText=" + encodeURIComponent(sMessage) + "&preview=false" + "&href=" + encodeURIComponent(sModifiedUrl);
|
|
263
265
|
}.bind(this));
|
|
264
266
|
} else {
|
|
265
|
-
newWindow.location = this._providerConfig.shareAsLinkUrl + "?msgText=" + encodeURIComponent(sMessage) + "&href=" + encodeURIComponent(oParams.url);
|
|
267
|
+
newWindow.location = this._providerConfig.shareAsLinkUrl + "?msgText=" + encodeURIComponent(sMessage) + "&preview=false" + "&href=" + encodeURIComponent(oParams.url);
|
|
266
268
|
}
|
|
267
269
|
};
|
|
268
270
|
|
|
@@ -370,6 +372,7 @@ sap.ui.define([
|
|
|
370
372
|
TeamsHelperService.prototype._shareAsCard = function (oParams) {
|
|
371
373
|
if (oParams.cardId && oParams.cardId.length > 0 && oParams.cardManifest && this.isFeatureFlagEnabled()) {
|
|
372
374
|
// Card Id and Card Manifest Passed. It will show busy helper and store card into DB.
|
|
375
|
+
oParams.cardManifest["rtl"]= Localization.getRTL();
|
|
373
376
|
Fragment.load({
|
|
374
377
|
name: "sap.suite.ui.commons.collaboration.CollaborationBusyDialog",
|
|
375
378
|
controller: this,
|
|
@@ -475,7 +478,8 @@ sap.ui.define([
|
|
|
475
478
|
sUrl = sUrl + "&" + PARAM_SAP_CARD_VERSION + "=" + response.version;
|
|
476
479
|
}
|
|
477
480
|
sUrl = sUrl + "&" + PARAM_SAP_CARD_TITLE + "=" + encodeURIComponent(sAppTitle);
|
|
478
|
-
|
|
481
|
+
// add the domain prefix to solve link unfurling issue for systems with different domain patterns
|
|
482
|
+
sUrl = this._providerConfig.shareAsLinkUrl + "?href=" + encodeURIComponent(CARD_URL_PREFIX + sUrl);
|
|
479
483
|
return sUrl;
|
|
480
484
|
};
|
|
481
485
|
|
|
@@ -542,9 +546,9 @@ sap.ui.define([
|
|
|
542
546
|
this.oContactHelper = new ContactHelper();
|
|
543
547
|
}
|
|
544
548
|
if (this._providerConfig.isDirectCommunicationEnabled === "ENABLED") {
|
|
545
|
-
return this.oContactHelper.loadContactPopover(sEmail, true);
|
|
549
|
+
return this.oContactHelper.loadContactPopover(sEmail, oParams, true);
|
|
546
550
|
} else {
|
|
547
|
-
return this.oContactHelper.loadContactPopover(sEmail);
|
|
551
|
+
return this.oContactHelper.loadContactPopover(sEmail, oParams);
|
|
548
552
|
}
|
|
549
553
|
|
|
550
554
|
} else if (isTeamMode || !sEmail || this._providerConfig.isDirectCommunicationEnabled !== "ENABLED") {
|
|
@@ -602,6 +606,10 @@ sap.ui.define([
|
|
|
602
606
|
*
|
|
603
607
|
*/
|
|
604
608
|
TeamsHelperService.prototype.getCollaborationPopover = function(oParams, oData, oSource, isLink) {
|
|
609
|
+
if (oData.data === undefined || oData.data === "") {
|
|
610
|
+
oLogger.info("Popover cannnot be opened without data");
|
|
611
|
+
return;
|
|
612
|
+
}
|
|
605
613
|
var oTeamsParams = {
|
|
606
614
|
isShareAsLinkEnabled: (oParams && typeof oParams.isShareAsLinkEnabled !== 'undefined') ? oParams.isShareAsLinkEnabled : true
|
|
607
615
|
};
|
|
@@ -647,8 +655,8 @@ sap.ui.define([
|
|
|
647
655
|
TeamsHelperService.prototype._getPopover = function(oData,aOptions,isLink) {
|
|
648
656
|
var oCollaborationPopover = new Popover({
|
|
649
657
|
showHeader: false,
|
|
650
|
-
|
|
651
|
-
|
|
658
|
+
placement: oData.placement? oData.placement : "Auto" ,
|
|
659
|
+
enableScrolling: false,
|
|
652
660
|
content: this._getPopoverContent(oData,aOptions,isLink)
|
|
653
661
|
});
|
|
654
662
|
return oCollaborationPopover;
|
|
@@ -680,9 +688,9 @@ sap.ui.define([
|
|
|
680
688
|
}).addStyleClass("sapUiTinyMarginTop").addStyleClass("sapUiTinyMarginBegin");
|
|
681
689
|
|
|
682
690
|
if(oOption.key === "COLLABORATION_POPOVER_TEAMS") {
|
|
683
|
-
button.addStyleClass("sapSuiteUiCollaborationBarMSTeamsButton" + oData.sFormat);
|
|
691
|
+
button.addStyleClass("sapSuiteUiCollaborationBarMSTeamsButton" + (oData.sFormat ? oData.sFormat : "Horizontal"));
|
|
684
692
|
} else {
|
|
685
|
-
button.addStyleClass("sapSuiteUiCollaborationBarEmailButton" + oData.sFormat);
|
|
693
|
+
button.addStyleClass("sapSuiteUiCollaborationBarEmailButton" + (oData.sFormat ? oData.sFormat : "Horizontal"));
|
|
686
694
|
}
|
|
687
695
|
oOptionFBox.addItem(button);
|
|
688
696
|
oMainFBox.addItem(oOptionFBox);
|
|
@@ -702,7 +710,7 @@ sap.ui.define([
|
|
|
702
710
|
}).addStyleClass("sapUiTinyMarginBeginEnd")
|
|
703
711
|
]
|
|
704
712
|
});
|
|
705
|
-
if(oData.sFormat === "Horizontal") {
|
|
713
|
+
if(oData.sFormat === "Horizontal" || oData.sFormat === undefined) {
|
|
706
714
|
oCopyLinkFlexbox.insertItem(
|
|
707
715
|
new MessageStrip({
|
|
708
716
|
text: oResourceBundle.getText("COLLABORATION_POPOVER_MSGSTRIP"),
|
|
@@ -714,11 +722,11 @@ sap.ui.define([
|
|
|
714
722
|
}
|
|
715
723
|
|
|
716
724
|
if (oData.sFormat === "Vertical") {
|
|
717
|
-
oOptionFBox.setHeight(aOptions.length > 1 ? (aOptions.length * 50 +
|
|
718
|
-
oOptionFBox.
|
|
719
|
-
oOptionFBox.addStyleClass("sapUiSmallMarginBottom");
|
|
725
|
+
oOptionFBox.setHeight(aOptions.length > 1 ? (aOptions.length * 50 + 50) + "px" : "120px");
|
|
726
|
+
oOptionFBox.addStyleClass("sapUiSmallMarginBottom").addStyleClass("sapUiTinyMarginEnd");
|
|
720
727
|
} else {
|
|
721
|
-
oOptionFBox.setHeight("
|
|
728
|
+
oOptionFBox.setHeight("110px");
|
|
729
|
+
oOptionFBox.addStyleClass("sapUiTinyMarginEnd");
|
|
722
730
|
|
|
723
731
|
}
|
|
724
732
|
return oMainFBox;
|
|
@@ -748,14 +756,14 @@ sap.ui.define([
|
|
|
748
756
|
if(isLink) {
|
|
749
757
|
var oShareData = {
|
|
750
758
|
url: oData.data,
|
|
751
|
-
appTitle: oData.title,
|
|
759
|
+
appTitle: oData.title ? oData.title : "",
|
|
752
760
|
subTitle: "",
|
|
753
761
|
minifyUrlForChat: true
|
|
754
762
|
}
|
|
755
763
|
this._shareAsChat(oShareData);
|
|
756
764
|
} else {
|
|
757
765
|
var oShareData = {
|
|
758
|
-
appTitle: oData.title,
|
|
766
|
+
appTitle: oData.title ? oData.title : "",
|
|
759
767
|
message: oData.data
|
|
760
768
|
}
|
|
761
769
|
this._shareSummary(oShareData);
|
|
@@ -162,7 +162,7 @@ sap.ui.define([
|
|
|
162
162
|
* @extends sap.ui.core.Control
|
|
163
163
|
*
|
|
164
164
|
* @author SAP SE
|
|
165
|
-
* @version 1.124.
|
|
165
|
+
* @version 1.124.3
|
|
166
166
|
* @since 1.66.0
|
|
167
167
|
*
|
|
168
168
|
* @constructor
|
|
@@ -499,7 +499,7 @@ sap.ui.define([
|
|
|
499
499
|
|
|
500
500
|
if (this._bFirstTimeRendered && this.getImageEditor()) {
|
|
501
501
|
this._bFirstTimeRendered = false;
|
|
502
|
-
Theming.
|
|
502
|
+
Theming.attachApplied(onThemeChanged);
|
|
503
503
|
}
|
|
504
504
|
|
|
505
505
|
this._sResizeHandlerId = ResizeHandler.register(this, this._onResize.bind(this));
|
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
"sap.suite.ui.commons.TargetFilterMeasureColumn",
|
|
187
187
|
"sap.suite.ui.commons.AriaProperties"
|
|
188
188
|
],
|
|
189
|
-
version: "1.124.
|
|
189
|
+
version: "1.124.3",
|
|
190
190
|
extensions: {
|
|
191
191
|
flChangeHandlers: {
|
|
192
192
|
"sap.suite.ui.commons.Timeline": "sap/suite/ui/commons/flexibility/Timeline"
|
|
@@ -520,9 +520,8 @@ sap.ui.define([
|
|
|
520
520
|
}.bind(this);
|
|
521
521
|
|
|
522
522
|
// In case theme is applied fnProcess will be called immediately,
|
|
523
|
-
// else it will be called once theme is applied.
|
|
524
|
-
|
|
525
|
-
Theming.attachAppliedOnce(fnProcess);
|
|
523
|
+
// else it will be called once theme is applied.
|
|
524
|
+
Theming.attachApplied(fnProcess);
|
|
526
525
|
}
|
|
527
526
|
this.oInvisibleMessage = InvisibleMessage.getInstance();
|
|
528
527
|
oRm.destroy();
|
|
@@ -372,7 +372,7 @@ sap.ui.define([
|
|
|
372
372
|
Node.prototype._handleCoreInitialized = function() {
|
|
373
373
|
// The NetworkGraph is not being rendered until the theme was applied.
|
|
374
374
|
// If the theme is applied, rendering starts by the control itself.
|
|
375
|
-
Theming.
|
|
375
|
+
Theming.attachApplied(function(){
|
|
376
376
|
this._bThemeApplied = true;
|
|
377
377
|
this.invalidate();
|
|
378
378
|
}.bind(this));
|
|
@@ -49,7 +49,7 @@ sap.ui.define([
|
|
|
49
49
|
* @extends sap.ui.core.Control
|
|
50
50
|
*
|
|
51
51
|
* @author SAP SE
|
|
52
|
-
* @version 1.124.
|
|
52
|
+
* @version 1.124.3
|
|
53
53
|
* @since 1.50
|
|
54
54
|
*
|
|
55
55
|
* @constructor
|
|
@@ -197,7 +197,7 @@ sap.ui.define([
|
|
|
197
197
|
*/
|
|
198
198
|
StatusIndicator.prototype._handleCoreInitialized = function() {
|
|
199
199
|
// The control will only be rendered if the theme is applied. If this is the case,the control invalidates itself.
|
|
200
|
-
Theming.
|
|
200
|
+
Theming.attachApplied(function(){
|
|
201
201
|
this.invalidate();
|
|
202
202
|
}.bind(this));
|
|
203
203
|
};
|
|
@@ -41,7 +41,7 @@ sap.ui.define([
|
|
|
41
41
|
* @extends sap.ui.core.Control
|
|
42
42
|
*
|
|
43
43
|
* @author SAP SE
|
|
44
|
-
* @version 1.124.
|
|
44
|
+
* @version 1.124.3
|
|
45
45
|
* @since 1.58.0
|
|
46
46
|
*
|
|
47
47
|
* @constructor
|
|
@@ -151,7 +151,7 @@ sap.ui.define([
|
|
|
151
151
|
/* Events */
|
|
152
152
|
/* =========================================================== */
|
|
153
153
|
TAccountGroup.prototype.init = function () {
|
|
154
|
-
Theming.
|
|
154
|
+
Theming.attachApplied(function () {
|
|
155
155
|
this._bThemeApplied = true;
|
|
156
156
|
this.invalidate();
|
|
157
157
|
}.bind(this));
|