@sapui5/sap.suite.ui.commons 1.142.0 → 1.143.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 +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 +16 -3
- 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 +4 -1
- package/src/sap/suite/ui/commons/MicroProcessFlowItem.js +5 -5
- package/src/sap/suite/ui/commons/ProcessFlowRenderer.js +0 -1
- package/src/sap/suite/ui/commons/TimelineNavigator.js +1 -0
- package/src/sap/suite/ui/commons/collaboration/ServiceContainer.js +18 -2
- package/src/sap/suite/ui/commons/collaboration/UniversalCollaborationBar.js +2 -2
- package/src/sap/suite/ui/commons/collaboration/flpplugins/msplugin/Component-preload.js +1 -1
- 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 +2 -1
- package/src/sap/suite/ui/commons/imageeditor/ImageEditor.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/ImageEditorContainer.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/ImageEditorResponsiveContainer.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/ResizeHistoryItem.js +1 -2
- 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/ElementAttribute.js +3 -0
- package/src/sap/suite/ui/commons/networkgraph/ElementBase.js +3 -0
- package/src/sap/suite/ui/commons/networkgraph/Graph.js +3 -0
- package/src/sap/suite/ui/commons/networkgraph/GraphMap.js +3 -0
- package/src/sap/suite/ui/commons/networkgraph/Group.js +12 -2
- package/src/sap/suite/ui/commons/networkgraph/Line.js +3 -0
- package/src/sap/suite/ui/commons/networkgraph/Node.js +19 -7
- package/src/sap/suite/ui/commons/networkgraph/SvgBase.js +3 -0
- package/src/sap/suite/ui/commons/networkgraph/Tooltip.js +3 -0
- package/src/sap/suite/ui/commons/networkgraph/layout/LayoutAlgorithm.js +19 -7
- package/src/sap/suite/ui/commons/networkgraph/layout/SwimLaneChainLayout.js +1 -1
- package/src/sap/suite/ui/commons/networkgraph/util/Dijkstra.js +1 -0
- 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/CalculationBuilderItem.less +11 -3
- package/src/sap/suite/ui/commons/themes/base/MicroProcessFlow.less +10 -7
- package/src/sap/suite/ui/commons/themes/base/NetworkGroup.less +15 -1
- package/src/sap/suite/ui/commons/themes/base/NetworkNode.less +42 -46
- package/src/sap/suite/ui/commons/themes/sap_fiori_3/MicroProcessFlow.less +7 -0
- package/src/sap/suite/ui/commons/themes/sap_fiori_3/library.source.less +1 -0
- package/src/sap/suite/ui/commons/themes/sap_fiori_3_dark/MicroProcessFlow.less +7 -0
- package/src/sap/suite/ui/commons/themes/sap_fiori_3_dark/library.source.less +1 -0
- package/src/sap/suite/ui/commons/windowmessages/CollaborationMessageBroker.js +3 -3
- package/src/sap/suite/ui/commons/windowmessages/CollaborationMessageConsumer.js +5 -4
package/package.json
CHANGED
|
@@ -40,7 +40,7 @@ sap.ui.define([
|
|
|
40
40
|
* @extends sap.ui.core.Control
|
|
41
41
|
*
|
|
42
42
|
* @author SAP SE
|
|
43
|
-
* @version 1.
|
|
43
|
+
* @version 1.143.0
|
|
44
44
|
* @since 1.56.0
|
|
45
45
|
*
|
|
46
46
|
* @constructor
|
|
@@ -106,12 +106,19 @@ sap.ui.define([
|
|
|
106
106
|
var fnRenderExpandButton = function (oRm) {
|
|
107
107
|
oRm.openStart("div");
|
|
108
108
|
oRm.class("sapCalculationBuilderItemExpandButtonWrapper");
|
|
109
|
-
oRm.attr("title",oResourceBundle.getText("CALCULATION_BUILDER_EXPAND_BUTTON_TITLE"));
|
|
110
109
|
oRm.openEnd();
|
|
111
110
|
oRm.openStart("div");
|
|
112
111
|
oRm.attr("id",this.getId() + "-expandbutton");
|
|
113
112
|
oRm.class("sapCalculationBuilderItemExpandButton").class(sDisable);
|
|
114
113
|
oRm.attr("tabindex", "-1");
|
|
114
|
+
if (!this._oExpandButtonText) {
|
|
115
|
+
this._oExpandButtonText = new InvisibleText();
|
|
116
|
+
this._oExpandButtonText.toStatic();
|
|
117
|
+
this._oExpandButtonText.setText(oResourceBundle.getText("CALCULATION_BUILDER_EXPAND_BUTTON_TITLE"));
|
|
118
|
+
}
|
|
119
|
+
oRm.attr("aria-labelledby", this._oExpandButtonText.getId());
|
|
120
|
+
oRm.attr("aria-describedby", this._oArrowNavigtionInvisibleText.getId());
|
|
121
|
+
oRm.attr("role", "button");
|
|
115
122
|
oRm.openEnd();
|
|
116
123
|
|
|
117
124
|
if (!this._bReadOnly) {
|
|
@@ -254,7 +261,13 @@ sap.ui.define([
|
|
|
254
261
|
oRm.attr("tabindex", sTabIndexAttr);
|
|
255
262
|
oRm.attr("title", sTooltipAttr);
|
|
256
263
|
oRm.attr("role", "button");
|
|
257
|
-
|
|
264
|
+
if (!this._oCalculationBuilderItemText) {
|
|
265
|
+
this._oCalculationBuilderItemText = new InvisibleText();
|
|
266
|
+
this._oCalculationBuilderItemText.toStatic();
|
|
267
|
+
this._oCalculationBuilderItemText.setText(this._getLabel());
|
|
268
|
+
}
|
|
269
|
+
oRm.attr("aria-labelledby", this._oCalculationBuilderItemText.getId());
|
|
270
|
+
oRm.attr("aria-describedby", this._oArrowNavigtionInvisibleText.getId());
|
|
258
271
|
oRm.openEnd();
|
|
259
272
|
this._innerRender(oRm);
|
|
260
273
|
oRm.close("div");
|
|
@@ -38,6 +38,9 @@ sap.ui.define([
|
|
|
38
38
|
/**
|
|
39
39
|
* Constructor for a new MicroProcessFlow.
|
|
40
40
|
*
|
|
41
|
+
* @param {string} [sId] ID for the new control, generated automatically if no ID is given
|
|
42
|
+
* @param {object} [mSettings] Initial settings for the new control
|
|
43
|
+
*
|
|
41
44
|
* @class
|
|
42
45
|
* The MicroProcessFlow control can be used to track the progress of a process.<br>
|
|
43
46
|
* It is best used for linear processes, such as document, order, and approval flows,
|
|
@@ -47,7 +50,7 @@ sap.ui.define([
|
|
|
47
50
|
* @extends sap.ui.core.Control
|
|
48
51
|
*
|
|
49
52
|
* @author SAP SE
|
|
50
|
-
* @version 1.
|
|
53
|
+
* @version 1.143.0
|
|
51
54
|
*
|
|
52
55
|
* @constructor
|
|
53
56
|
* @public
|
|
@@ -18,11 +18,11 @@ sap.ui.define([
|
|
|
18
18
|
|
|
19
19
|
var oResourceBundle = CoreLib.getResourceBundleFor("sap.suite.ui.commons"),
|
|
20
20
|
DefaultIcons = {
|
|
21
|
-
"Error": "sap-icon://
|
|
21
|
+
"Error": "sap-icon://status-error",
|
|
22
22
|
"None": null,
|
|
23
|
-
"Success": "sap-icon://
|
|
24
|
-
"Warning": "sap-icon://
|
|
25
|
-
"Information": "sap-icon://
|
|
23
|
+
"Success": "sap-icon://sys-enter-2",
|
|
24
|
+
"Warning": "sap-icon://alert",
|
|
25
|
+
"Information": "sap-icon://information"
|
|
26
26
|
},
|
|
27
27
|
ValueState = CoreLibrary.ValueState;
|
|
28
28
|
|
|
@@ -38,7 +38,7 @@ sap.ui.define([
|
|
|
38
38
|
* @extends sap.ui.core.Control
|
|
39
39
|
*
|
|
40
40
|
* @author SAP SE
|
|
41
|
-
* @version 1.
|
|
41
|
+
* @version 1.143.0
|
|
42
42
|
*
|
|
43
43
|
* @constructor
|
|
44
44
|
* @public
|
|
@@ -61,8 +61,24 @@ sap.ui.define([
|
|
|
61
61
|
return oServicePromise;
|
|
62
62
|
}
|
|
63
63
|
if (UshellContainer && UshellContainer.inAppRuntime()) {
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
try {
|
|
65
|
+
let isProviderConfigurationSet = false;
|
|
66
|
+
try {
|
|
67
|
+
if (window.location.host === top.window.location.host) {
|
|
68
|
+
oProviderConfiguration = {};
|
|
69
|
+
isProviderConfigurationSet = true;
|
|
70
|
+
}
|
|
71
|
+
} catch (error) {
|
|
72
|
+
oLogger.info("Cannot access parent window");
|
|
73
|
+
}
|
|
74
|
+
if (!isProviderConfigurationSet) {
|
|
75
|
+
oProviderConfiguration = await CollaborationMessageConsumer.getProviderConfiguration();
|
|
76
|
+
}
|
|
77
|
+
} catch (error) {
|
|
78
|
+
oLogger.error("Error while getting the provider configuration from the parent window", error);
|
|
79
|
+
oProviderConfiguration = {};
|
|
80
|
+
}
|
|
81
|
+
}
|
|
66
82
|
return fnGetCollaborationType();
|
|
67
83
|
};
|
|
68
84
|
|
|
@@ -229,7 +229,7 @@ sap.ui.define([
|
|
|
229
229
|
styleClass: "sapSuiteUiCommonsCollaborationMail",
|
|
230
230
|
consumerEnabled: oAppCollaborationParams.isShareToEmailEnabled,
|
|
231
231
|
providerEnabled: true,
|
|
232
|
-
fesrStep: "",
|
|
232
|
+
fesrStep: "UCB:SendEmail",
|
|
233
233
|
featureName: "Email",
|
|
234
234
|
group: "menu"
|
|
235
235
|
},
|
|
@@ -239,7 +239,7 @@ sap.ui.define([
|
|
|
239
239
|
styleClass: "sapSuiteUiCommonsCollaborationChat",
|
|
240
240
|
consumerEnabled: oAppCollaborationParams.isShareAsChatEnabled,
|
|
241
241
|
providerEnabled: oProviderConfig.isShareAsLinkEnabled === "X",
|
|
242
|
-
fesrStep: "
|
|
242
|
+
fesrStep: "UCB:CopyLink",
|
|
243
243
|
featureName: "Share as Chat",
|
|
244
244
|
desktopOnly: true,
|
|
245
245
|
group: "subMenu"
|
|
@@ -21,7 +21,7 @@ sap.ui.require.preload({
|
|
|
21
21
|
sap.ui.define(["sap/ui/core/mvc/Controller","sap/ui/core/Fragment","sap/ui/model/json/JSONModel","sap/m/library","sap/ui/core/Lib","sap/ui/core/Core","sap/ui/model/resource/ResourceModel","./CollaborationContactInfoHelper","sap/ui/performance/trace/FESRHelper","sap/ui/core/Element"],function(e,t,a,o,s,i,n,r,c,l){var u=s.getResourceBundleFor("sap.suite.ui.commons");return e.extend("sap.suite.ui.commons.collaboration.ContactHelper",{constructor:function(){},getFullProfileByEmail:async function(e){var t=await r.fetchContact(e);if(t&&t.mail===""){return t}if(t&&t.data!=""){t.photo="data:image/png;base64,"+t.data}t=this.determineContactStatus(t);return t},getTeamsContactOptions:function(){var e=this;return Promise.resolve([{key:"chat",icon:"sap-icon://discussion",tooltip:u.getText("CHAT_BUTTON_TOOLTIP"),fesrStepName:"MST:ContactAction",callBackHandler:function(t){e.handleMSTeamsPress(t)}},{key:"call",icon:"sap-icon://call",tooltip:u.getText("CALL_BUTTON_TOOLTIP"),fesrStepName:"MST:ContactAction",callBackHandler:function(t){e.handleMSTeamsPress(t)}},{key:"videoCall",icon:"sap-icon://video",tooltip:u.getText("VIDEOCALL_BUTTON_TOOLTIP"),fesrStepName:"MST:ContactAction",callBackHandler:function(t){e.handleMSTeamsPress(t)}}])},getTeamsContactStatus:async function(e){let t={calendar:[]};if(e){const a=await Promise.all([r.fetchContact(e),r.fetchContactCalendar(e)]);t=a[0];t.calendar=a[1]}const a=this.determineContactStatus(t);return[{key:"profileStatus",badgeIcon:a.badgeIcon,badgeValueState:a.badgeValueState,badgeTooltip:a.badgeTooltip,fesrStepName:"MST:ContactAction",calendar:a.calendar}]},handleMSTeamsPress:function(e){var t=e.getSource().data("email");var a=e.getSource().data("type");var s="";switch(a){case"chat":s="https://teams.microsoft.com/l/chat/0/0?users="+t;break;case"call":s="https://teams.microsoft.com/l/call/0/0?users="+t;break;case"videoCall":s="https://teams.microsoft.com/l/call/0/0?users="+t+"&withVideo=true";break;default:break}o.URLHelper.redirect(s,true)},formatUri:function(e,t){var a=/^\w+[\w-+\.]*\@\w+([-\.]\w+)*\.[a-zA-Z]{2,}$/;if(a.test(e)){return"mailto:"+e+(t&&t.subject?"?subject="+t.subject:"")+(t&&t.body?"&body="+t.body:"")}else{return"tel:"+e}},loadContactPopover:function(e,o,s){this.afterClose();return t.load({name:"sap.suite.ui.commons.collaboration.ContactPopover",controller:this,type:"XML"}).then(function(t){c.setSemanticStepname(t,"afterClose","MST:ContactDetails");this._oContactPopover=t;this.sEmail=e;this.oParams=o;t.setBusy(true);var i={setFamily:"tnt",setURI:sap.ui.require.toUrl("sap/tnt/themes/base/illustrations")};sap.m.IllustrationPool.registerIllustrationSet(i,false);var n=new a({isUserExistsInTeams:true});this._oContactPopover.setModel(n,"userData");this.isDirectCommunicationEnabled=s;this._oContactPopover.setModel(new sap.ui.model.resource.ResourceModel({bundle:u}),"i18n");return t}.bind(this))},loadMinimalContactPopover:function(e,o){this.afterClose();var s=new a({mail:e,params:o});return t.load({name:"sap.suite.ui.commons.collaboration.MinimalContactPopover",controller:this,type:"XML"}).then(function(e){this._oMinContactPopover=e;c.setSemanticStepname(e,"afterClose","MST:ContactDetails");e.setModel(s,"userData");e.setModel(new sap.ui.model.resource.ResourceModel({bundle:u}),"i18n");return e}.bind(this))},afterClose:function(){if(this._oContactPopover){this._oContactPopover.destroy()}if(this._oMinContactPopover){this._oMinContactPopover.destroy()}},afterOpen:function(){var e=this;this.getFullProfileByEmail(this.sEmail).then(function(t){e._oContactPopover.setBusy(false);if(t&&t.mail===""){t.isUserExistsInTeams=false;t.mail=e.sEmail;t.params=e.oParams;e._oContactPopover.setInitialFocus(l.getElementById("mail"))}else{t.isUserExistsInTeams=true;t.isDirectCommunicationEnabled=!!e.isDirectCommunicationEnabled;e._oContactPopover.setInitialFocus(l.getElementById("avatar"))}var o=new a(t);o.setData(t);e._oContactPopover.setModel(o,"userData");c.setSemanticStepname(e._oContactPopover,"afterClose","MST:ContactDetails")})},afterContinue:function(){var e=this.formatUri(this.sEmail,this.oParams);o.URLHelper.redirect(e,true)},determineContactStatus:function(e){const t=new Map([["OOO",{badgeValueState:"Information",badgeIcon:"sap-icon://offsite-work"}],["BUSYOOO",{badgeValueState:"Error",badgeIcon:"sap-icon://circle-task"}],["ONLINEOOO",{badgeValueState:"Success",badgeIcon:"sap-icon://sys-enter"}],["AVAILABLE",{badgeValueState:"Success",badgeIcon:"sap-icon://sys-enter-2"}],["AWAY",{badgeValueState:"Warning",badgeIcon:"sap-icon://pending"}],["BUSY",{badgeValueState:"Error",badgeIcon:"sap-icon://circle-task-2"}],["PRESENTING",{badgeValueState:"Error",badgeIcon:"sap-icon://sys-minus"}],["OFFLINE",{badgeValueState:"Error",badgeIcon:"sap-icon://message-error"}]]);const a=new Map([["Available","AVAILABLE"],["Away","AWAY"],["Inactive","AWAY"],["Busy","BUSY"],["DoNotDisturb","PRESENTING"],["InACall","BUSY"],["InAMeeting","BUSY"],["Presenting","PRESENTING"],["BeRightBack","AWAY"],["OffWork","OFFLINE"],["Offline","OFFLINE"]]);let o={};if(!!e.isoutofoffice){if(e.activity==="Available"){o=t.get("ONLINEOOO");o.badgeTooltip=`${u.getText("AVAILABLE")}, ${u.getText("OOO")}`}else if(e.activity==="Busy"){o=t.get("BUSYOOO");o.badgeTooltip=`${u.getText("BUSY")}, ${u.getText("OOO")}`}else if(e.activity==="DoNotDisturb"){o=t.get("PRESENTING");o.badgeTooltip=`${u.getText("DONOTDISTURB")}, ${u.getText("OOO")}`}else{o=t.get("OOO");o.badgeTooltip=u.getText("OOO")}}else{const s=e.activity?a.get(e.activity):"OFFLINE";o=t.get(s);o.badgeTooltip=u.getText(e.activity.toUpperCase())}Object.assign(e,o);return e}})});
|
|
22
22
|
},
|
|
23
23
|
"sap/suite/ui/commons/collaboration/ServiceContainer.js":function(){
|
|
24
|
-
sap.ui.define(["sap/base/Log","./BaseHelperService","./TeamsHelperService","./CollaborationManagerService","../windowmessages/CollaborationMessageBroker","../windowmessages/CollaborationMessageConsumer","./CollaborationHelper","sap/ui/core/Element"],function(e,r,n,i,
|
|
24
|
+
sap.ui.define(["sap/base/Log","./BaseHelperService","./TeamsHelperService","./CollaborationManagerService","../windowmessages/CollaborationMessageBroker","../windowmessages/CollaborationMessageConsumer","./CollaborationHelper","sap/ui/core/Element"],function(e,r,o,n,t,i,a,s){var c=e.getLogger("sap.suite.ui.commons.collaboration.ServiceContainer");var l;var u;function v(){var e;if(l&&Object.keys(l).length){var n=l.sProvider;var t=l.oProviderConfig;if(n==="COLLABORATION_MSTEAMS"){e=new o(t)}u=Promise.resolve(e);return u}e=new r({});c.info("Collaboration provider is not activated on the tenant");return Promise.resolve(e)}function f(){}var g=new f;g.getServiceAsync=async function(){const e=sap.ui.require("sap/ushell/Container");if(u){return u}if(e&&e.inAppRuntime()){try{let e=false;try{if(window.location.host===top.window.location.host){l={};e=true}}catch(e){c.info("Cannot access parent window")}if(!e){l=await i.getProviderConfiguration()}}catch(e){c.error("Error while getting the provider configuration from the parent window",e);l={}}}return v()};g.getCollaborationServices=async function(){var e=await g.getServiceAsync();var r={oTeamsHelperService:e,oCMHelperService:new n};return Promise.resolve(r)};g.hidePluginsInMSTeams=async function(){try{const e=await a.isTeamsModeActive();if(e){let e=0;const r=1*1e3;const o={chatButton:true,"sap.das.webclientplugin.s4.shellitem":true};const n=setInterval(()=>{e++;if(e>10){clearInterval(n);return}Object.keys(o).forEach(e=>{const r=s.getElementById(e);if(r?.getVisible()===true){r.setVisible(false);o[e]=false}});const r=Object.values(o).every(e=>!e);if(r){clearInterval(n)}},r)}}catch(e){c.error("Error hiding the plugins in MS Teams",e)}};g.setCollaborationType=function(e,r){c.info("Collaboration properties are now configured");g.hidePluginsInMSTeams();l={sProvider:e,oProviderConfig:r};v();t.startInstance(l)};return g},true);
|
|
25
25
|
},
|
|
26
26
|
"sap/suite/ui/commons/collaboration/TeamsHelperService.js":function(){
|
|
27
27
|
sap.ui.define(["sap/base/Log","sap/ui/core/Core","sap/base/security/URLListValidator","./CollaborationHelper","./BaseHelperService","sap/ui/core/Element","./ContactHelper","sap/ui/Device","./CollaborationCardHelper","sap/ui/core/Fragment","sap/m/MessageBox","sap/ui/core/Lib","sap/m/Popover","sap/m/HBox","sap/m/VBox","sap/m/MessageStrip","sap/m/Button","./CollaborationContactInfoHelper","sap/m/library","sap/m/FlexBox","sap/base/i18n/Localization","./CollaborationManagerService","sap/m/FlexItemData"],function(e,t,a,r,o,i,n,s,l,p,c,d,h,u,f,C,m,g,T,y,A,S,_){var b=o.extend("sap.suite.ui.commons.collaboration.TeamsHelperService",{constructor:function(e){this._providerConfig=e;this._providerConfig.shareAsLinkUrl="https://teams.microsoft.com/share";this._getShareAsTabUrl().then(function(e){this._providerConfig.shareAsTabUrl=e}.bind(this))}});const O="db5b69c6-0430-4ae1-8d6e-a65c2220b50c";const v=e.getLogger("sap.suite.ui.commons.collaboration.TeamsHelperService");const L="https://saps4hana.azure-api.net/bot/redirect?target-url=";const U=d.getResourceBundleFor("sap.suite.ui.commons");const E="info";let w;let I;const M=60*1e3;let R={};const x="width=720,height=720";const B=["*.s4hana.ondemand.com","*.*.s4hana.ondemand.com","*.*.*.s4hana.ondemand.com","*.cloud.sap","*.*.cloud.sap","*.*.*.cloud.sap","*.sapcloud.cn","*.*.sapcloud.cn","*.*.*.sapcloud.cn","*.saps4hanacloud.cn","*.*.saps4hanacloud.cn","*.*.*.saps4hanacloud.cn","*.sap.com"];b.prototype.getOptions=function(e){R={isShareAsLinkEnabled:e&&typeof e.isShareAsLinkEnabled!=="undefined"?e.isShareAsLinkEnabled:true,isShareAsTabEnabled:e&&typeof e.isShareAsTabEnabled!=="undefined"?e.isShareAsTabEnabled:true,isShareAsCardEnabled:e&&typeof e.isShareAsCardEnabled!=="undefined"?e.isShareAsCardEnabled:false};var t=[];var a=[];if(s.system.desktop){if(R.isShareAsLinkEnabled){if(this._providerConfig.isShareAsLinkEnabled==="X"){t.push({text:U.getText("COLLABORATION_MSTEAMS_CHAT"),key:"COLLABORATION_MSTEAMS_CHAT",icon:"sap-icon://post",fesrStepName:"MST:ShareAsLink"})}else{v.info("Share as Chat option is not enabled in the tenant")}}else{v.info("Consumer disable Share as Chat option")}}else{v.info("Share as Chat option is not supported in Phone and Tablet")}if(s.system.desktop){if(R.isShareAsTabEnabled){if(this._providerConfig.isShareAsTabEnabled==="X"){t.push({text:U.getText("COLLABORATION_MSTEAMS_TAB"),key:"COLLABORATION_MSTEAMS_TAB",icon:"sap-icon://image-viewer",fesrStepName:"MST:ShareAsTab"})}else{v.info("Share as Tab option is not enabled in the tenant")}}else{v.info("Consumer disable Share as Tab option")}}else{v.info("Share as Tab option is not supported in Phone and Tablet")}if(s.system.desktop){if(R.isShareAsCardEnabled){const e=this._providerConfig.isShareAsCardEnabled;const a={text:U.getText("COLLABORATION_MSTEAMS_CARD"),key:"COLLABORATION_MSTEAMS_CARD",icon:"sap-icon://ui-notifications",fesrStepName:"MST:ShareAsCard"};switch(e){case"DISABLED":v.info("Share as Card option is not enabled in the tenant");break;case"ENABLED":case"AUTHENABLE":t.push(a);break;default:v.info("Share as Card option is not enabled in the tenant");break}}else{v.info("Consumer disable Share as Card option")}}else{v.info("Share as Card option is not supported in Phone and Tablet")}if(t.length===1){a=t;if(a[0].key==="COLLABORATION_MSTEAMS_CHAT"){a[0].text=U.getText("COLLABORATION_MSTEAMS_CHAT_SINGLE")}else if(a[0].key==="COLLABORATION_MSTEAMS_TAB"){a[0].text=U.getText("COLLABORATION_MSTEAMS_TAB_SINGLE")}else if(a[0].key==="COLLABORATION_MSTEAMS_CARD"){a[0].text=U.getText("COLLABORATION_MSTEAMS_CARD_SINGLE")}return a}if(t.length>1){a.push({type:"microsoft",text:U.getText("COLLABORATION_MSTEAMS_SHARE"),icon:"sap-icon://collaborate",subOptions:t})}return a};b.prototype.share=function(e,t){if(!t.url){v.error("url is not supplied in object so terminating Click");return}if(!a.validate(t.url)){v.error("Invalid URL supplied");return}if(e.key==="COLLABORATION_MSTEAMS_CHAT"){this._shareAsChat(t);return}if(e.key==="COLLABORATION_MSTEAMS_TAB"){this._shareAsTab(t);return}if(e.key==="COLLABORATION_MSTEAMS_CARD"){this._shareAsCard(t);return}};b.prototype._shareAsChat=function(e){var t=window.open("","_blank",x);var a=e.appTitle;if(e.subTitle.length>0){a+=": "+e.subTitle}t.opener=null;if(e.minifyUrlForChat){r.compactHash(e.url,[]).then(async function(r){var o=await this._modifyUrlForNavigationContext(e.url,r.url);t.location=this._providerConfig.shareAsLinkUrl+"?msgText="+encodeURIComponent(a)+"&preview=false"+"&href="+encodeURIComponent(o)}.bind(this))}else{t.location=this._providerConfig.shareAsLinkUrl+"?msgText="+encodeURIComponent(a)+"&preview=false"+"&href="+encodeURIComponent(e.url)}};b.prototype._modifyUrlForShareAsTab=async function(e,t){var a=e;var r=a.indexOf("#");if(r!==-1){var o=a.substring(0,r);var i=o.indexOf("?",0);var n="sap-ushell-config=lean&sap-collaboration-teams=true&sap-ui-fesr-env="+t;if(i!==-1){o=o.substring(0,i+1)+n+"&"+o.substring(i+1)}else{o+="?"+n}a=o+a.substring(r);a=await this._addNavmodeInUrl(a,"explace")}return a};b.prototype._shareAsTab=async function(e){var t=await this._modifyUrlForShareAsTab(e.url,"MST:T");var a={subEntityId:{url:t,appTitle:e.appTitle,subTitle:e.subTitle,mode:"tab"}};if(e.minifyUrlForChat){r.compactHash(t,[]).then(async function(e){var r=await this._modifyUrlForNavigationContext(t,e.url);a.subEntityId.url=await this._addNavmodeInUrl(r,"explace");var o=this._providerConfig.shareAsTabUrl+"?&context="+encodeURIComponent(JSON.stringify(a));sap.m.URLHelper.redirect(o,true)}.bind(this))}else{var o=this._providerConfig.shareAsTabUrl+"?&context="+encodeURIComponent(JSON.stringify(a));sap.m.URLHelper.redirect(o,true)}};b.prototype._addNavmodeInUrl=function(e,t){const a=sap.ui.require("sap/ushell/Container");return a&&a.getServiceAsync("URLParsing").then(function(a){var r=e;var o=r.indexOf("#");var i=a.parseShellHash(r.substring(o));i.params["sap-ushell-navmode"]=t;i.params["sap-ushell-next-navmode"]=t;var n=a.constructShellHash(i);r=r.substring(0,o)+"#"+n;return Promise.resolve(r)})};b.prototype._modifyUrlForNavigationContext=function(e,t){if(e===t){return Promise.resolve(t)}const a=sap.ui.require("sap/ushell/Container");return a&&a.getServiceAsync("URLParsing").then(function(a){var r=e;var o=r.indexOf("#");var i=a.parseShellHash(r.substring(o));var n=Object.keys(i.params).length;var s=new URL(t);if(n>0){if(!s.searchParams.has("sap-collaboration-teams")){s.searchParams.set("sap-collaboration-teams","true")}else{s.searchParams.delete("sap-collaboration-teams")}}return Promise.resolve(s.toString())})};b.prototype._shareAsCard=async function(e){if(!e?.cardId||!e.cardId.length||!e.cardManifest||!this.isFeatureFlagEnabled()){this._updateUrl(e,{});return}let t={};try{try{const e=await p.load({name:"sap.suite.ui.commons.collaboration.CollaborationBusyDialog",controller:this,type:"XML"});w=e;w.open();I=setTimeout(()=>{w.close();w.destroy()},M)}catch(e){v.error("Fragment load failed: "+e.message)}t=await this._buildCardInfo(e)}catch(e){v.error("buildCardInfo failed: "+e.message)}finally{if(t&&Object.keys(t).length===0){v.warn("Card info could not be saved.")}this._updateUrl(e,t)}};b.prototype._buildCardInfo=async function(e){e.cardManifest.rtl=A.getRTL();const t=await l.postCard(e.cardId,e.cardManifest);let a={cardId:t.card_id,version:t.version};if(t.error){if(t.error.code==="APS_UI_MSG/001"){a.cardId=e.cardId;if(t.error.message.length>0){try{const e=JSON.parse(atob(t.error.message)).version;a.version=e}catch(e){a={}}}}else{a={}}}return a};b.prototype._updateUrl=async function(e,t){let a=e?.url||window.location.href;try{if(e.minifyUrlForChat){a=await this._getModifiedUrlForSharing(e)}else if(R.isShareAsTabEnabled&&this._providerConfig.isShareAsTabEnabled){const e=await this._modifyUrlForShareAsTab(a,"MST:C");a=await this._addNavmodeInUrl(e,"inplace")}}catch(e){v.error("Error while modifying URL for sharing: "+e.message)}finally{this._closeBusyDialogAndOpenTeamsDialog(a,e,t)}};b.prototype._getModifiedUrlForSharing=async function(e){const t=await r.compactHash(e.url,[]);let a=await this._modifyUrlForNavigationContext(e.url,t.url);let o=await this._modifyUrlForShareAsTab(e.url,"MST:C");const i=await r.compactHash(o,[]);const n=i.url.split("sap-url-hash=")[1];if(n){a+=`,${n}`}else{o=await this._modifyUrlForShareAsTab(a,"MST:C");a=await this._addNavmodeInUrl(o,"inplace")}return a};b.prototype._closeBusyDialog=function(){if(w){w.close();w.destroy();clearTimeout(I)}};b.prototype._closeBusyDialogAndOpenTeamsDialog=function(e,t,a){this._closeBusyDialog();const r=window.open("","_blank",x);r.opener=null;r.location=this._generateShareAsCardUrl(e,t.appTitle,a)};b.prototype._wildcardToRegExp=function(e){return new RegExp("^"+e.split("*").map(function(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}).join("[^.]+")+"$","i")};b.prototype._isValidDomain=function(e){try{const t=new URL(e).hostname;return B.some(e=>this._wildcardToRegExp(e).test(t))}catch(e){return false}};b.prototype._getCardInfoUrl=function(e,t,a){const r=this._isValidDomain(e);const o=t?.appTitle;if(r){return this._generateCardUnfurlingUrl(e,a,{appTitle:o})}else{return this._generateShareAsCardUrl(e,o,a)}};b.prototype._generateShareAsCardUrl=function(e,t,a){const r=this._generateCardUnfurlingUrl(e,a,{appTitle:t});return`${this._providerConfig.shareAsLinkUrl}?href=${encodeURIComponent(L+encodeURIComponent(r))}`};b.prototype._generateCardUnfurlingUrl=function(e,t,a){const r=[t.cardId||"",t.version||"",encodeURIComponent(a.appTitle||"")].filter(Boolean);return`${e}&${E}=${r.join(",")}`};b.prototype._getShareAsTabUrl=function(){return this._getApplicationID().then(function(e){return"https://teams.microsoft.com/l/entity/"+e+"/tab"})};b.prototype._getApplicationID=function(){const e=sap.ui.require("sap/ushell/Container");return e&&e.getServiceAsync("URLParsing").then(function(e){return r._getCurrentUrl().then(function(t){var a=t.split("#")[0];if(a.indexOf("?")!==-1){var r=e&&e.parseParameters(a.substring(a.indexOf("?")));if(r&&r["sap-collaboration-xx-TeamsAppId"]&&r["sap-collaboration-xx-TeamsAppId"][0]&&r["sap-collaboration-xx-TeamsAppId"][0].length>0){return Promise.resolve(r["sap-collaboration-xx-TeamsAppId"][0])}return Promise.resolve(O)}else{return Promise.resolve(O)}})})};b.prototype.isFeatureFlagEnabled=function(){const e=this._providerConfig.isShareAsCardEnabled;return e==="AUTHENABLE"};b.prototype.isContactsCollaborationSupported=function(){return true};b.prototype.enableContactsCollaboration=async function(e,t){const a=await r.isTeamsModeActive();const o=await g.fetchServiceStatus();if(e&&o.value&&o.value&&o.value[0].FetchContacts==="Active"){if(!this.oContactHelper){this.oContactHelper=new n}if(this._providerConfig.isDirectCommunicationEnabled==="ENABLED"){return this.oContactHelper.loadContactPopover(e,t,true)}else{return this.oContactHelper.loadContactPopover(e,t)}}else if(a||!e||this._providerConfig.isDirectCommunicationEnabled!=="ENABLED"){return Promise.reject()}else{if(!this.oContactHelper){this.oContactHelper=new n}return this.oContactHelper.loadMinimalContactPopover(e,t)}};b.prototype.getTeamsContactCollabOptions=async function(){const e=await r.isTeamsModeActive();if(e||this._providerConfig.isDirectCommunicationEnabled!=="ENABLED"){return Promise.reject()}if(!this.oContactHelper){this.oContactHelper=new n}return this.oContactHelper.getTeamsContactOptions()};b.prototype.getTeamsContactStatus=async function(e){const t=await r.isTeamsModeActive();if(t){return Promise.reject()}if(!this.oContactHelper){this.oContactHelper=new n}return this.oContactHelper.getTeamsContactStatus(e)};b.prototype.getCollaborationPopover=function(e,t,a,r,o){if(t.data===undefined||t.data.trim()===""){v.error("Popover cannnot be opened without data");return}var i={isShareAsLinkEnabled:e&&typeof e.isShareAsLinkEnabled!=="undefined"?e.isShareAsLinkEnabled:true};var n={shareToTeams:o&&typeof o.shareToTeams!=="undefined"?o.shareToTeams:true,shareToEmail:o&&typeof o.shareToEmail!=="undefined"?o.shareToEmail:true,shareToCM:o&&typeof o.shareToCM!=="undefined"?o.shareToCM:false};var l=[];if(s.system.desktop){if(i.isShareAsLinkEnabled){if(this._providerConfig.isShareAsLinkEnabled==="X"&&n.shareToTeams){l.push({text:U.getText("COLLABORATION_POPOVER_TEAMS"),icon:"sap-icon://discussion",key:"COLLABORATION_POPOVER_TEAMS"})}else{v.info("Share as Chat option is not enabled in the tenant")}}else{v.info("Consumer disable Share as Chat option")}}else{v.info("Share as Chat option is not supported in Phone and Tablet")}if(n.shareToEmail){l.push({text:U.getText("COLLABORATION_POPOVER_MAIL"),icon:"sap-icon://email",key:"COLLABORATION_POPOVER_MAIL"})}this.oCollaborationManager=new S;var p=this.oCollaborationManager.getOptions();if(p&&n.shareToCM){l.push({text:p.text,icon:p.icon,key:"COLLABORATION_POPOVER_CM"})}if(l.length===1&&!r&&l[0].key==="COLLABORATION_POPOVER_MAIL"){this._shareData(t,l[0],r);return}var c=this._getPopover(t,l,r);c.openBy(a)};b.prototype._getPopover=function(e,t,a){var r=new h({showHeader:false,placement:e.placement?e.placement:"Auto",verticalScrolling:false,horizontalScrolling:false,content:this._getPopoverContent(e,t,a)});return r};b.prototype._getPopoverContent=function(e,t,a){var r=new y({items:[],direction:T.FlexDirection.Column});var o=new y({direction:e.sFormat==="Vertical"?T.FlexDirection.Column:T.FlexDirection.Row,justifyContent:T.FlexJustifyContent.SpaceAround,items:[]});t.forEach(i=>{var n=new m({text:i.text,icon:i.icon,width:e.sFormat==="Horizontal"&&t.length===3?"120px":"180px",press:t=>{t.getSource().getParent().getParent().getParent().close();this._shareData(e,i,a)}}).addStyleClass("sapUiTinyMarginTop").addStyleClass("sapUiTinyMarginBegin");if(i.key==="COLLABORATION_POPOVER_TEAMS"){n.addStyleClass("sapSuiteUiCollaborationBarMSTeamsButton"+(e.sFormat?e.sFormat:"Horizontal"))}else if(i.key==="COLLABORATION_POPOVER_CM"){n.addStyleClass("sapSuiteUiCollaborationBarCMButton"+(e.sFormat?e.sFormat:"Horizontal"))}else{n.addStyleClass("sapSuiteUiCollaborationBarEmailButton"+(e.sFormat?e.sFormat:"Horizontal"))}o.addItem(n);r.addItem(o)});if(a){var i=new y({justifyContent:e.sFormat==="Vertical"?T.FlexJustifyContent.Center:T.FlexJustifyContent.SpaceBetween,alignItems:T.FlexAlignItems.Center,items:[new m({text:U.getText("COLLABORATION_POPOVER_COPYURL_BUTTON"),width:e.sFormat==="Vertical"?"150px":"",press:async()=>{await this._writeToClipBoard(e.data)}}).addStyleClass("sapUiTinyMarginBeginEnd")]});if(e.sFormat==="Horizontal"||e.sFormat===undefined){i.insertItem(new C({text:U.getText("COLLABORATION_POPOVER_MSGSTRIP"),showIcon:true}).addStyleClass("sapUiTinyMarginBeginEnd").addStyleClass("sapSuiteCollaborationBarMsgStrip"),0);i.addStyleClass("sapSuiteUiCollaborationBarMsgStripHBox")}i.addStyleClass("sapUiTinyMarginBeginEnd").addStyleClass("sapUiTinyMarginTopBottom");r.addItem(i)}if(e.sFormat==="Vertical"){o.setHeight(t.length>1?t.length*50+50+"px":"80px");o.addStyleClass("sapUiSmallMarginBottom").addStyleClass("sapUiTinyMarginEnd")}else{o.setHeight("110px");o.addStyleClass("sapUiTinyMarginEnd")}return r};b.prototype._writeToClipBoard=async function(e){try{await window.navigator.clipboard.writeText(e)}catch(e){v.info(e)}};b.prototype._shareData=function(e,t,a){if(t.key==="COLLABORATION_POPOVER_TEAMS"){if(a){var r={url:e.data,appTitle:e.title?e.title:"",subTitle:"",minifyUrlForChat:true};this._shareAsChat(r)}else{var o={appTitle:e.title?e.title:"",message:e.data,showPreview:typeof e.showPreview!=="undefined"?e.showPreview:true};this._shareSummary(o)}}else if(t.key==="COLLABORATION_POPOVER_MAIL"){sap.m.URLHelper.triggerEmail(null,e.title&&e.title.trim()!==""?e.title:null,e.data)}else if(t.key==="COLLABORATION_POPOVER_CM"){this.oCollaborationManager.triggerH2HChat(e.title,e.data)}};b.prototype._shareSummary=function(e){var t={subEntityId:{appTitle:e.appTitle,mode:"summary",message:e.message,showPreview:e.showPreview}};var a=this._providerConfig.shareAsTabUrl+"?&context="+encodeURIComponent(JSON.stringify(t));sap.m.URLHelper.redirect(a,true)};b.prototype._shareToEmail=async function(e){let t=e?.url||window.location.href;try{t=await this._getUnfurlingUrl(e)}catch(e){v.error("getUnfurlingUrl failed: "+e.message)}const a=e?.appTitle?.trim()?e.appTitle:null;sap.m.URLHelper.triggerEmail(null,a,t)};b.prototype._shareAsChatFromCollabBar=async function(e){try{await this._shareAsCard(e)}catch(e){v.error("Failed to share card from collaboration bar: "+e.message)}};b.prototype._copyLink=async function(e){let t=e?.url||window.location.href;try{t=await this._getUnfurlingUrl(e)}catch(e){v.error("getUnfurlingUrl failed: "+e.message)}this._copyCardUrlToClipboard(t)};b.prototype._copyCardUrlToClipboard=async function(e){try{if(typeof window.navigator!=="undefined"&&window.navigator.clipboard&&typeof window.navigator.clipboard.writeText==="function"){try{await window.navigator.clipboard.writeText(e);v.info("Card URL copied to clipboard successfully.");sap.m.MessageToast.show(U.getText("COLLABORATION_POPOVER_MSGSTRIP_SUCCESS"))}catch(e){v.error("Clipboard write failed: "+e.message)}}else{v.error("Clipboard API is not available.")}}catch(e){v.error("Failed to generate or copy Card URL",e)}};b.prototype._getUnfurlingUrl=async function(e){if(!e?.cardId||!e.cardId.length||!e.cardManifest||!this.isFeatureFlagEnabled()){return this._generateUnfurlingUrl(e,{})}let t="";let a={};try{try{const e=await p.load({name:"sap.suite.ui.commons.collaboration.CollaborationBusyDialog",controller:this,type:"XML"});w=e;w.open();I=setTimeout(()=>{w.close();w.destroy()},M)}catch(e){v.error("Fragment load failed: "+e.message)}a=await this._buildCardInfo(e)}catch(e){v.error("buildCardInfo failed: "+e.message)}finally{if(a&&Object.keys(a).length===0){v.warn("Card info could not be saved.")}t=this._generateUnfurlingUrl(e,a);this._closeBusyDialog()}return t};b.prototype._generateUnfurlingUrl=async function(e,t){let a=e?.url||window.location.href;try{if(e?.minifyUrlForChat){a=await this._getModifiedUrlForSharing(e)}else if(R.isShareAsTabEnabled&&this._providerConfig.isShareAsTabEnabled){const e=await this._modifyUrlForShareAsTab(a,"MST:C");a=await this._addNavmodeInUrl(e,"inplace")}}catch(e){v.error("Error while modifying URL for sharing: "+e.message)}return this._getCardInfoUrl(a,e,t)};return b});
|
|
@@ -11,13 +11,14 @@ sap.ui.define([
|
|
|
11
11
|
"use strict";
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
+
* Constructor for a new HistoryItem.
|
|
14
15
|
*
|
|
15
16
|
* @class Abstract base class for all {@link sap.suite.ui.commons.imageeditor.ImageEditor} action history items.
|
|
16
17
|
*
|
|
17
18
|
* @extends sap.ui.base.Object
|
|
18
19
|
*
|
|
19
20
|
* @author SAP SE
|
|
20
|
-
* @version 1.
|
|
21
|
+
* @version 1.143.0
|
|
21
22
|
* @since 1.66.0
|
|
22
23
|
*
|
|
23
24
|
* @abstract
|
|
@@ -14,7 +14,6 @@ sap.ui.define([
|
|
|
14
14
|
/**
|
|
15
15
|
* Constructor for a new ResizeHistoryItem.
|
|
16
16
|
*
|
|
17
|
-
*
|
|
18
17
|
* @param {object} mProperties Property bag
|
|
19
18
|
* @param {int} mProperties.width Width of the image
|
|
20
19
|
* @param {int} mProperties.height Height of the image
|
|
@@ -29,7 +28,7 @@ sap.ui.define([
|
|
|
29
28
|
* @extends sap.suite.ui.commons.imageeditor.HistoryItem
|
|
30
29
|
*
|
|
31
30
|
* @author SAP SE
|
|
32
|
-
* @version 1.
|
|
31
|
+
* @version 1.143.0
|
|
33
32
|
* @since 1.66.0
|
|
34
33
|
*
|
|
35
34
|
* @constructor
|
|
@@ -195,7 +195,7 @@ sap.ui.define([
|
|
|
195
195
|
"sap.suite.ui.commons.TargetFilterMeasureColumn",
|
|
196
196
|
"sap.suite.ui.commons.AriaProperties"
|
|
197
197
|
],
|
|
198
|
-
version: "1.
|
|
198
|
+
version: "1.143.0",
|
|
199
199
|
extensions: {
|
|
200
200
|
flChangeHandlers: {
|
|
201
201
|
"sap.suite.ui.commons.Timeline": "sap/suite/ui/commons/flexibility/Timeline"
|
|
@@ -17,6 +17,9 @@ sap.ui.define([
|
|
|
17
17
|
/**
|
|
18
18
|
* Constructor for a new ElementAttribute.
|
|
19
19
|
*
|
|
20
|
+
* @param {string} [sId] ID for the new control, generated automatically if no ID is given
|
|
21
|
+
* @param {object} [mSettings] Initial settings for the new control
|
|
22
|
+
*
|
|
20
23
|
* @class
|
|
21
24
|
* Holds details of an attribute used in the graph.
|
|
22
25
|
*
|
|
@@ -36,6 +36,9 @@ sap.ui.define([
|
|
|
36
36
|
/**
|
|
37
37
|
* Constructor for a new ElementBase.
|
|
38
38
|
*
|
|
39
|
+
* @param {string} [sId] ID for the new control, generated automatically if no ID is given
|
|
40
|
+
* @param {object} [mSettings] Initial settings for the new control
|
|
41
|
+
*
|
|
39
42
|
* @class
|
|
40
43
|
* ElementBase class
|
|
41
44
|
*
|
|
@@ -122,6 +122,9 @@ sap.ui.define([
|
|
|
122
122
|
/**
|
|
123
123
|
* Constructor for a new Graph.
|
|
124
124
|
*
|
|
125
|
+
* @param {string} [sId] ID for the new control, generated automatically if no ID is given
|
|
126
|
+
* @param {object} [mSettings] Initial settings for the new control
|
|
127
|
+
*
|
|
125
128
|
* @class
|
|
126
129
|
* The network graph control allows you to display data as a network of nodes connected by lines.
|
|
127
130
|
* The nodes can be circular or rectangular and can be joined into groups. You can define custom attributes for
|
|
@@ -33,6 +33,9 @@ sap.ui.define([
|
|
|
33
33
|
/**
|
|
34
34
|
* Constructor for a new GraphMap.
|
|
35
35
|
*
|
|
36
|
+
* @param {string} [sId] ID for the new control, generated automatically if no ID is given
|
|
37
|
+
* @param {object} [mSettings] Initial settings for the new control
|
|
38
|
+
*
|
|
36
39
|
* @class
|
|
37
40
|
* A component which displays an overview of the entire graph and allows users to quickly navigate in the linked graph. Graph overview is most effective with nodes rendered in square aspect ratio but becomes less useful as the number of nodes increases in one dimension. Hence, it is not recommended for larger graphs.
|
|
38
41
|
*
|
|
@@ -20,7 +20,8 @@ sap.ui.define([
|
|
|
20
20
|
|
|
21
21
|
const ElementStatus = library.networkgraph.ElementStatus,
|
|
22
22
|
HeaderCheckboxState = library.networkgraph.HeaderCheckboxState,
|
|
23
|
-
SemanticColorType = library.SemanticColorType
|
|
23
|
+
SemanticColorType = library.SemanticColorType,
|
|
24
|
+
Orientation = library.networkgraph.Orientation;
|
|
24
25
|
|
|
25
26
|
var Size = {
|
|
26
27
|
COLLAPSED_HEIGHT: 32,
|
|
@@ -40,6 +41,9 @@ sap.ui.define([
|
|
|
40
41
|
/**
|
|
41
42
|
* Constructor for a new Group. Grouping is not supported for custom layouting.
|
|
42
43
|
*
|
|
44
|
+
* @param {string} [sId] ID for the new control, generated automatically if no ID is given
|
|
45
|
+
* @param {object} [mSettings] Initial settings for the new control
|
|
46
|
+
*
|
|
43
47
|
* @class
|
|
44
48
|
* Holds details about a group.
|
|
45
49
|
*
|
|
@@ -379,11 +383,17 @@ sap.ui.define([
|
|
|
379
383
|
};
|
|
380
384
|
|
|
381
385
|
Group.prototype._getGroupClass = function () {
|
|
382
|
-
|
|
386
|
+
var sClass = "sapSuiteUiCommonsNetworkGroup " + this._getStatusClass() +
|
|
383
387
|
(this.getCollapsed() ? "sapSuiteUiCommonsNetworkGroupCollapsed" : "sapSuiteUiCommonsNetworkGroupExpanded") +
|
|
384
388
|
(this._bIsSwimLane ? " sapSuiteUiCommonsNetworkGroupSwimLane" : " sapSuiteUiCommonsNetworkGroupClassic") +
|
|
385
389
|
(this._isVerticalSwimLane() ? " sapSuiteUiCommonsNetworkGroupVerticalSwimLane" : "") +
|
|
386
390
|
(this._isTopBottom() ? " sapSuiteUiCommonsNetworkGroupTopBottom " : "");
|
|
391
|
+
|
|
392
|
+
// Add RightLeft orientation class if swimlane and parent is RightLeft
|
|
393
|
+
if (this._bIsSwimLane && this.getParent() && this.getParent().isA("sap.suite.ui.commons.networkgraph.Graph") && this.getParent().getOrientation() === Orientation.RightLeft) {
|
|
394
|
+
sClass += " sapSuiteUiCommonsNetworkGraphRightLeft";
|
|
395
|
+
}
|
|
396
|
+
return sClass;
|
|
387
397
|
};
|
|
388
398
|
|
|
389
399
|
/* =========================================================== */
|
|
@@ -50,6 +50,9 @@ sap.ui.define([
|
|
|
50
50
|
/**
|
|
51
51
|
* Constructor for a new Line.
|
|
52
52
|
*
|
|
53
|
+
* @param {string} [sId] ID for the new control, generated automatically if no ID is given
|
|
54
|
+
* @param {object} [mSettings] Initial settings for the new control
|
|
55
|
+
*
|
|
53
56
|
* @class
|
|
54
57
|
* Holds information about one connector line.
|
|
55
58
|
*
|