@sapui5/sap.suite.ui.commons 1.136.3 → 1.136.4
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 +1 -1
- package/src/sap/suite/ui/commons/MicroProcessFlowItem.js +1 -1
- package/src/sap/suite/ui/commons/collaboration/CollaborationHelper.js +104 -7
- 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 +1 -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 -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/messagebundle.properties +11 -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 +1 -1
- package/src/sap/suite/ui/commons/taccount/TAccount.js +57 -6
- package/src/sap/suite/ui/commons/taccount/TAccountGroup.js +1 -1
- package/src/sap/suite/ui/commons/taccount/TAccountItem.js +4 -3
- 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/TAccount.less +28 -5
- package/src/sap/suite/ui/commons/windowmessages/CollaborationMessageBroker.js +5 -2
package/package.json
CHANGED
|
@@ -13,6 +13,10 @@ sap.ui.define(
|
|
|
13
13
|
var PARAM_SAP_STAGEVIEW_HASH = "&sap-stageview-hash";
|
|
14
14
|
var PARAM_SAP_CARD_ID = "&sap-ui-cardId";
|
|
15
15
|
var PARAM_SAP_XX_CARD_ID = "&sap-ui-xx-cardId";
|
|
16
|
+
var PARAM_SAP_CARD_INFO = "&info=";
|
|
17
|
+
var PARAM_SAP_USHELL_CONFIG = "sap-ushell-config";
|
|
18
|
+
var PARAM_SAP_COLLABORATION_TEAMS = "sap-collaboration-teams";
|
|
19
|
+
var PARAM_SAP_UI_FESR_ENV = "sap-ui-fesr-env";
|
|
16
20
|
var TRANSIENT_KEY = "transient";
|
|
17
21
|
var oLogger = Log.getLogger("sap.suite.ui.commons.collaboration.CollaborationHelper");
|
|
18
22
|
|
|
@@ -140,19 +144,112 @@ sap.ui.define(
|
|
|
140
144
|
const sUrl = sCurrentUrl.split(PARAM_SAP_CARD_ID)[0];
|
|
141
145
|
window.location.replace(sUrl);
|
|
142
146
|
} else if (sCurrentUrl.indexOf(PARAM_SAP_CARD_TITLE) > -1) {
|
|
143
|
-
const UshellContainer = sap.ui.require("sap/ushell/Container");
|
|
144
147
|
const sUrl = sCurrentUrl.split(PARAM_SAP_CARD_TITLE)[0];
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
window.location.replace(sUrl);
|
|
150
|
-
}
|
|
148
|
+
await this._redirectBasedOnRuntime(sUrl);
|
|
149
|
+
} else if (sCurrentUrl.includes(PARAM_SAP_CARD_INFO) && this._isFromTeams(sCurrentUrl)) {
|
|
150
|
+
const sUrl = sCurrentUrl.split(PARAM_SAP_CARD_INFO)[0];
|
|
151
|
+
await this._redirectBasedOnRuntime(sUrl);
|
|
151
152
|
}
|
|
152
153
|
return Promise.resolve();
|
|
153
154
|
}.bind(this));
|
|
154
155
|
};
|
|
155
156
|
|
|
157
|
+
/**
|
|
158
|
+
* Checks whether the given URL indicates that it originated from a Microsoft Teams environment.
|
|
159
|
+
*
|
|
160
|
+
* This is determined by the presence of the query parameter `sap-collaboration-teams=true`.
|
|
161
|
+
*
|
|
162
|
+
* @param {string} sCurrentUrl - The full URL to inspect.
|
|
163
|
+
* @returns {boolean} True if the URL contains `sap-collaboration-teams=true`; otherwise, false.
|
|
164
|
+
*/
|
|
165
|
+
CollaborationHelper._isFromTeams = function (sCurrentUrl) {
|
|
166
|
+
const urlObj = new URL(sCurrentUrl);
|
|
167
|
+
const bIsFromTeams = urlObj.searchParams.get("sap-collaboration-teams");
|
|
168
|
+
return bIsFromTeams === "true";
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Handles URL redirection according to the runtime environment.
|
|
173
|
+
*
|
|
174
|
+
* - In AppRuntime (e.g., BTP Fiori App in S/Cube), updates the top-level URL.
|
|
175
|
+
* - Otherwise, performs a standard window location redirect.
|
|
176
|
+
*
|
|
177
|
+
* @param {string} sUrl - The target URL for redirection.
|
|
178
|
+
* @private
|
|
179
|
+
*/
|
|
180
|
+
CollaborationHelper._redirectBasedOnRuntime = async function (sUrl) {
|
|
181
|
+
const UshellContainer = sap.ui.require("sap/ushell/Container");
|
|
182
|
+
|
|
183
|
+
// Get indication is if we are in AppRuntime (for special use cases handling, e.g. BTP Fiori App in S/Cube)
|
|
184
|
+
if (UshellContainer && UshellContainer.inAppRuntime()) {
|
|
185
|
+
await CollaborationMessageConsumer.updateTopLevelURLforAppRuntime(sUrl);
|
|
186
|
+
} else {
|
|
187
|
+
const targetUrl = this._stripTeamsParams(sUrl);
|
|
188
|
+
window.location.replace(targetUrl);
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* Removes 'sap-ushell-config' and 'sap-collaboration-teams' query parameters
|
|
194
|
+
* from the given URL while preserving the hash fragment.
|
|
195
|
+
*
|
|
196
|
+
* @param {string} sUrl - The original full URL
|
|
197
|
+
* @returns {string} - The cleaned URL
|
|
198
|
+
* @private
|
|
199
|
+
*/
|
|
200
|
+
CollaborationHelper._removeTeamsParams = function (sUrl) {
|
|
201
|
+
try {
|
|
202
|
+
const urlParts = sUrl.split("#");
|
|
203
|
+
const baseUrl = urlParts[0];
|
|
204
|
+
const hashPart = urlParts[1] ? "#" + urlParts[1] : "";
|
|
205
|
+
|
|
206
|
+
const [path, queryString] = baseUrl.split("?");
|
|
207
|
+
if (!queryString) {
|
|
208
|
+
return sUrl;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
const params = new URLSearchParams(queryString);
|
|
212
|
+
params.delete(PARAM_SAP_USHELL_CONFIG);
|
|
213
|
+
params.delete(PARAM_SAP_COLLABORATION_TEAMS);
|
|
214
|
+
params.delete(PARAM_SAP_UI_FESR_ENV);
|
|
215
|
+
|
|
216
|
+
const newBaseUrl = params.toString()
|
|
217
|
+
? `${path}?${params.toString()}`
|
|
218
|
+
: path;
|
|
219
|
+
|
|
220
|
+
return newBaseUrl + hashPart;
|
|
221
|
+
} catch (e) {
|
|
222
|
+
return sUrl;
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* If the current window is the top window, we assume it's not running inside an iframe, e.g. Microsoft Teams.
|
|
228
|
+
* In this case, we remove the Teams parameters from the URL.
|
|
229
|
+
*
|
|
230
|
+
* @param {string} sUrl The URL to be cleaned of Teams parameters.
|
|
231
|
+
* @returns {string} - The cleaned URL
|
|
232
|
+
* @private
|
|
233
|
+
*/
|
|
234
|
+
CollaborationHelper._stripTeamsParams = function (sUrl) {
|
|
235
|
+
if (this._isTopWindow()) {
|
|
236
|
+
return this._removeTeamsParams(sUrl);
|
|
237
|
+
}
|
|
238
|
+
return sUrl;
|
|
239
|
+
};
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* Determines whether the current window is the top-level window.
|
|
243
|
+
* This is typically used to detect if the application is running inside an iframe (e.g., in Microsoft Teams).
|
|
244
|
+
*
|
|
245
|
+
* @returns {boolean} - Returns true if the current window is not inside an iframe, false otherwise.
|
|
246
|
+
* @private
|
|
247
|
+
*/
|
|
248
|
+
CollaborationHelper._isTopWindow = function () {
|
|
249
|
+
return window.self === window.top;
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
|
|
156
253
|
/**
|
|
157
254
|
* Hides the avatar of the user if the app is running in the Microsoft Teams application.
|
|
158
255
|
* @private
|
|
@@ -12,7 +12,7 @@ sap.ui.require.preload({
|
|
|
12
12
|
sap.ui.define(["sap/ui/base/Object"],function(t){var n="/sap/opu/odata4/sap/aps_ui_contact_srv/srvd_a2x/sap/";var e=n+"aps_ui_contact/0001/";var a="APS_UI_C_CONTACT";var o=n+"aps_ui_contact/0001/"+a;var r=n+"aps_ui_contact/0001/"+a;var c="APS_UI_C_PRESENCE";var i=n+"aps_ui_contact/0001/"+c;var u="APS_UI_C_CALENDAR";var h=n+"aps_ui_contact/0001/"+u;var f=n+"aps_ui_contact/0001/"+"APS_UI_C_CHECK_SERVICE";var s="GET";var C="HEAD";var d=t.extend("sap.suite.ui.commons.collaboration.CollaborationContactInfoHelper");d.fetchCSRFToken=function(){return fetch(e,{method:C,headers:{"X-CSRF-Token":"Fetch"}}).then(function(t){var n=t.headers.get("X-CSRF-Token");if(t.ok&&n){return n}return undefined})};d.fetchContact=function(t){return this.fetchCSRFToken().then(function(n){return fetch(o+"/"+t,{method:s,headers:{"X-CSRF-Token":n,"content-type":"application/json;odata.metadata=minimal;charset=utf-8"}}).then(function(t){return t.json()})})};d.fetchContactCalendar=function(t){var n=new Date;var e=h+"?$filter=mail eq '"+t+"'";if(n){e=h+"?$filter=(mail eq '"+t+"'&start_datetime eq '"+n.toISOString()+"')"}return this.fetchCSRFToken().then(function(t){return fetch(e,{method:s,headers:{"X-CSRF-Token":t,"content-type":"application/json;odata.metadata=minimal;charset=utf-8"}}).then(function(t){return t.json()})})};d.fetchContactPicture=function(t){return this.fetchCSRFToken().then(function(n){return fetch(r+"/"+t+"/photo",{method:s,headers:{"X-CSRF-Token":n}}).then(function(t){return t.blob()})})};d.fetchContactStatus=function(t){return this.fetchCSRFToken().then(function(n){return fetch(i+"?$filter=id eq '"+t+"'",{method:s,headers:{"X-CSRF-Token":n,"content-type":"application/json;odata.metadata=minimal;charset=utf-8"}}).then(function(t){return t.json()})})};d.fetchServiceStatus=function(){return this.fetchCSRFToken().then(function(t){return fetch(f,{method:s,headers:{"X-CSRF-Token":t,"content-type":"application/json;odata.metadata=minimal;charset=utf-8"}}).then(function(t){return t.json()})})};return d});
|
|
13
13
|
},
|
|
14
14
|
"sap/suite/ui/commons/collaboration/CollaborationHelper.js":function(){
|
|
15
|
-
sap.ui.define(["sap/base/Log","sap/ui/base/Object","sap/ui/core/Element","../windowmessages/CollaborationMessageConsumer"],function(e,t,n,i){var r="sap-url-hash";var s="&sap-ui-cardTitle";var a="&sap-stageview-hash";var o="&sap-ui-cardId";var
|
|
15
|
+
sap.ui.define(["sap/base/Log","sap/ui/base/Object","sap/ui/core/Element","../windowmessages/CollaborationMessageConsumer"],function(e,t,n,i){var r="sap-url-hash";var s="&sap-ui-cardTitle";var a="&sap-stageview-hash";var o="&sap-ui-cardId";var c="&sap-ui-xx-cardId";var u="&info=";var l="sap-ushell-config";var f="sap-collaboration-teams";var p="sap-ui-fesr-env";var h="transient";var d=e.getLogger("sap.suite.ui.commons.collaboration.CollaborationHelper");var m=t.extend("sap.suite.ui.commons.collaboration.CollaborationHelper");m.compactHash=function(e){const t=sap.ui.require("sap/ushell/Container");if(!t){return{url:e}}return t&&t.getServiceAsync("AppState").then(async function(t){var n=t.createEmptyAppState(undefined,false);var i=this._getNextKey(n);if(!this._isEligibleForBackendPersistency(t)){d.warning("Transient flag is true. URL will not be shortened");return{url:e}}var s=this._extractURLBeforeHash(e);var a=await this._extractSemanticObjectAndAction(e);var o=false;try{o=await this._isMinificationFeasible(e)}catch(e){}if(!a||!o){return{url:e}}return this._storeUrl(e,n).then(function(){return{url:s+"#"+a+"&/"+r+"="+i}}).catch(function(t){d.warning("URL is not shortened due to an error."+t.toString());return{url:e}})}.bind(this))};m._getCurrentUrl=function(){const e=sap.ui.require("sap/ushell/Container");return e&&e?new Promise(function(t){e.getFLPUrlAsync(true).then(function(e){t(e)})}):Promise.resolve(document.URL)};m.processAndExpandHash=function(){this._hideAvatarFromShellbar();return this._getCurrentUrl().then(async function(e){if(e.indexOf(r)>-1){var t=e.split(r)[1].split("=")[1];if(e.indexOf(a)>0){t=t.split(a)[0]}else if(e.includes("info=")){t=t.includes(",")?t.split(",")[0]:t.split("&")[0]}else if(e.indexOf(o)>0||e.indexOf(c)>0){if(e.indexOf(o)>0){t=t.split(o)[0]}else{t=t.split(c)[0]}}else if(e.indexOf(s)>0){t=t.split(s)[0]}return this._retrieveURL(t).then(function(t){if(t.getData()){window.location.replace(t.getData())}else{const t=e.split(r)[0];window.location.replace(t)}return Promise.resolve()})}else if(e.indexOf(o)>-1){const t=e.split(o)[0];window.location.replace(t)}else if(e.indexOf(s)>-1){const t=e.split(s)[0];await this._redirectBasedOnRuntime(t)}else if(e.includes(u)&&this._isFromTeams(e)){const t=e.split(u)[0];await this._redirectBasedOnRuntime(t)}return Promise.resolve()}.bind(this))};m._isFromTeams=function(e){const t=new URL(e);const n=t.searchParams.get("sap-collaboration-teams");return n==="true"};m._redirectBasedOnRuntime=async function(e){const t=sap.ui.require("sap/ushell/Container");if(t&&t.inAppRuntime()){await i.updateTopLevelURLforAppRuntime(e)}else{const t=this._stripTeamsParams(e);window.location.replace(t)}};m._removeTeamsParams=function(e){try{const t=e.split("#");const n=t[0];const i=t[1]?"#"+t[1]:"";const[r,s]=n.split("?");if(!s){return e}const a=new URLSearchParams(s);a.delete(l);a.delete(f);a.delete(p);const o=a.toString()?`${r}?${a.toString()}`:r;return o+i}catch(t){return e}};m._stripTeamsParams=function(e){if(this._isTopWindow()){return this._removeTeamsParams(e)}return e};m._isTopWindow=function(){return window.self===window.top};m._hideAvatarFromShellbar=function(){this.isTeamsModeActive().then(function(e){if(e){var t=n.getElementById("userActionsMenuHeaderButton");if(t){t.setVisible(false)}}})};m.isTeamsModeActive=function(){var e=false;const t=sap.ui.require("sap/ushell/Container");if(t){return t.getServiceAsync("URLParsing").then(function(t){return this._getCurrentUrl().then(function(n){var i=n.split("#")[0];if(i.indexOf("?")!==-1){var r=t&&t.parseParameters(i.substring(i.indexOf("?")));if(r&&r["sap-collaboration-teams"]&&r["sap-collaboration-teams"][0]&&r["sap-collaboration-teams"][0]==="true"){e=true}var s=false;if(r&&r["sap-ushell-config"]&&r["sap-ushell-config"][0]&&r["sap-ushell-config"][0]==="lean"){s=true}return Promise.resolve(e&&s)}else{return Promise.resolve(false)}})}.bind(this))}else{return Promise.resolve(false)}};m._retrieveURL=function(e){const t=sap.ui.require("sap/ushell/Container");return t&&t.getServiceAsync("AppState").then(function(t){return t.getAppState(e)})};m._isEligibleForBackendPersistency=function(e){return e&&e._oConfig&&h in e._oConfig&&!e._oConfig[h]};m._getNextKey=function(e){return e.getKey()};m._extractSemanticObjectAndAction=function(e){const t=sap.ui.require("sap/ushell/Container");return t&&t.getServiceAsync("URLParsing").then(function(t){var n=t.parseShellHash(this._extractURLHash(e));if(n){return Promise.resolve(n.contextRaw?n.semanticObject+"-"+n.action+"~"+n.contextRaw:n.semanticObject+"-"+n.action)}}.bind(this))};m._isMinificationFeasible=async function(e){const t=sap.ui.require("sap/ushell/Container");if(t){const r=await t.getServiceAsync("NavTargetResolution");const s=await t.getServiceAsync("URLParsing");var n=s.parseShellHash(this._extractURLHash(e));var i=Object.keys(n.params).length;if(i>0){return r.resolveHashFragment(`#${n.semanticObject}-${n.action}`).then(function(e){return true}).catch(function(e){return false})}else{return Promise.resolve(true)}}return Promise.resolve(false)};m._extractURLBeforeHash=function(e){var t=e.split("#")[0];return t};m._extractURLHash=function(e){var t=e.substring(e.indexOf("#"));return t};m._storeUrl=function(e,t){t.setData(e);return t.save()};return m});
|
|
16
16
|
},
|
|
17
17
|
"sap/suite/ui/commons/collaboration/CollaborationManagerService.js":function(){
|
|
18
18
|
sap.ui.define(["sap/base/Log","sap/ui/core/Core","./BaseHelperService","sap/ui/Device","sap/ui/core/Lib","sap/suite/ui/commons/collaboration/channels/MessageChannel"],function(e,o,a,s,t,i){var n=a.extend("sap.suite.ui.commons.collaboration.CollaborationManagerService");var r=t.getResourceBundleFor("sap.suite.ui.commons");var l=e.getLogger("sap.suite.ui.commons.collaboration.CollaborationManagerService");n.prototype.triggerH2HChat=function(e,o,a){this.publishData({sAppTitle:e,sCurrentURL:o,sEmailId:a})};n.prototype.getOptions=function(){var e=window["sap-ushell-config"]&&window["sap-ushell-config"].bootstrapPlugins&&window["sap-ushell-config"].bootstrapPlugins.H2H_CHAT_PLUGIN;if(s.system.desktop){if(e){return{text:r.getText("COLLABORATION_MANGER"),icon:"sap-icon://BusinessSuiteInAppSymbols/icon-collaboration-manager",press:this.triggerH2HChat.bind(this),fesrStepName:"CM:ShareLink"}}else{l.info("Consumer disable Collaboration Manager option")}}else{l.info("Collaboration Manager is not supported in Phone and Tablet")}return null};n.prototype.publishData=async function(e){try{const o=await i.getInstance();o.postMessage(e)}catch(e){l.error("Failed to publish data:",e)}};return n});
|
|
@@ -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.136.
|
|
198
|
+
version: "1.136.4",
|
|
199
199
|
extensions: {
|
|
200
200
|
flChangeHandlers: {
|
|
201
201
|
"sap.suite.ui.commons.Timeline": "sap/suite/ui/commons/flexibility/Timeline"
|
|
@@ -350,7 +350,7 @@ PF_VALUE_UNDEFINED=Undefined
|
|
|
350
350
|
#XACT: Text for node description in processflow
|
|
351
351
|
PF_ARIA_PROCESS_FLOW_NODE_DESC=Use arrow keys to navigate between the Process Flow Nodes
|
|
352
352
|
#XACT: Text for empty cells description in processflow
|
|
353
|
-
PF_ARIA_PROCESS_FLOW_EMPTY_NODE_DESC = Empty
|
|
353
|
+
PF_ARIA_PROCESS_FLOW_EMPTY_NODE_DESC = Empty space
|
|
354
354
|
#XACT: Text for status for header lane
|
|
355
355
|
PF_ARIA_STATUS=the status is
|
|
356
356
|
#XACT: Text for positive status value for header lane
|
|
@@ -749,6 +749,16 @@ COLORED_ITEM_FROM=Colored Item from Journal Entry
|
|
|
749
749
|
TACCOUNT_DROP_HERE=Drop Here
|
|
750
750
|
#XCAP: T Account no data text
|
|
751
751
|
TACCOUNT_NO_DATA=No data.
|
|
752
|
+
#XCAP: T Account debit
|
|
753
|
+
TACCOUNT_DEBIT_NUMBER=Debit {0}
|
|
754
|
+
#XCAP: T Account credit
|
|
755
|
+
TACCOUNT_CREDIT_NUMBER=Credit {0}
|
|
756
|
+
#XCAP: T Account debit
|
|
757
|
+
TACCOUNT_TOTAL_DEBIT_NUMBER=Total Debit {0}
|
|
758
|
+
#XCAP: T Account credit
|
|
759
|
+
TACCOUNT_TOTAL_CREDIT_NUMBER=Total Credit {0}
|
|
760
|
+
#XCAP: T AccountItems wrapper
|
|
761
|
+
TACCOUNT_ITEM_WRAPPER=List with interactive items. To move to the content press F2
|
|
752
762
|
|
|
753
763
|
#XMSG: Message Toast shown when the image is automatically scaled down because of the restrictions of the platform that the ImageEditor is currently running on
|
|
754
764
|
IMGEDITOR_SCALE_WARNING=The image was scaled down to {0} x {1} px from {2} x {3} px to ensure better compatibility with your device.
|
|
@@ -56,7 +56,7 @@ sap.ui.define([
|
|
|
56
56
|
* @extends sap.ui.core.Control
|
|
57
57
|
*
|
|
58
58
|
* @author SAP SE
|
|
59
|
-
* @version 1.136.
|
|
59
|
+
* @version 1.136.4
|
|
60
60
|
* @since 1.58.0
|
|
61
61
|
*
|
|
62
62
|
* @constructor
|
|
@@ -278,6 +278,8 @@ sap.ui.define([
|
|
|
278
278
|
|
|
279
279
|
oRm.openEnd();
|
|
280
280
|
|
|
281
|
+
oRm.renderControl(oAccount._getAriaRowForTAccount());
|
|
282
|
+
|
|
281
283
|
if (bHasData || oAccount.getOpening()) {
|
|
282
284
|
oRm.openStart("div");
|
|
283
285
|
oRm.class("sapSuiteUiCommonsAccountTHeader");
|
|
@@ -305,6 +307,8 @@ sap.ui.define([
|
|
|
305
307
|
if (oAccount.getOpening()) {
|
|
306
308
|
oRm.openStart("div")
|
|
307
309
|
.class("sapSuiteUiCommonsAccountOpeningHeader")
|
|
310
|
+
.attr("tabindex","0")
|
|
311
|
+
.attr("aria-labelledby",oAccount._getAriaRowForTAccount().getId())
|
|
308
312
|
.openEnd();
|
|
309
313
|
oRm.openStart("span")
|
|
310
314
|
.attr("id", oAccount.getId() + "-opening-debit-text")
|
|
@@ -318,12 +322,16 @@ sap.ui.define([
|
|
|
318
322
|
.openEnd()
|
|
319
323
|
.text(sOpeningCredit + " " + sUnit)
|
|
320
324
|
.close("span");
|
|
325
|
+
oRm.openStart("div")
|
|
326
|
+
.class("sapSuiteUiCommonsAccountFocus")
|
|
327
|
+
.openEnd();
|
|
328
|
+
oRm.close("div");
|
|
321
329
|
oRm.close("div");
|
|
322
330
|
}
|
|
323
331
|
|
|
324
|
-
oRm.openStart("div")
|
|
332
|
+
oRm.openStart("div",oAccount.getId() + "-itemWrapper")
|
|
325
333
|
.class("sapSuiteUiCommonsAccountTBody")
|
|
326
|
-
.attr("
|
|
334
|
+
.attr("tabindex","0")
|
|
327
335
|
.openEnd();
|
|
328
336
|
|
|
329
337
|
if (oAccount._isOrdered()) {
|
|
@@ -343,7 +351,7 @@ sap.ui.define([
|
|
|
343
351
|
.attr("role", "listbox")
|
|
344
352
|
.attr("aria-labelledby", oAccount.getId() + "-debit-text")
|
|
345
353
|
.openEnd();
|
|
346
|
-
fnWriteColumn(oAccount.getDebit(),
|
|
354
|
+
fnWriteColumn(oAccount.getDebit(),true);
|
|
347
355
|
}
|
|
348
356
|
oRm.close("div");
|
|
349
357
|
|
|
@@ -353,7 +361,7 @@ sap.ui.define([
|
|
|
353
361
|
.attr("role", "listbox")
|
|
354
362
|
.attr("aria-labelledby", oAccount.getId() + "-credit-text")
|
|
355
363
|
.openEnd();
|
|
356
|
-
fnWriteColumn(oAccount.getCredit(),
|
|
364
|
+
fnWriteColumn(oAccount.getCredit(),false);
|
|
357
365
|
oRm.close("div");
|
|
358
366
|
}
|
|
359
367
|
|
|
@@ -374,6 +382,8 @@ sap.ui.define([
|
|
|
374
382
|
.close("div");
|
|
375
383
|
oRm.openStart("div")
|
|
376
384
|
.class("sapSuiteUiCommonsAccountClosingHeader")
|
|
385
|
+
.attr("aria-labelledby",oAccount._getAriaRowForTAccount().getId())
|
|
386
|
+
.attr("tabindex","0")
|
|
377
387
|
.openEnd();
|
|
378
388
|
oRm.openStart("span")
|
|
379
389
|
.attr("id", oAccount.getId() + "-closing-debit-text")
|
|
@@ -387,6 +397,10 @@ sap.ui.define([
|
|
|
387
397
|
.openEnd()
|
|
388
398
|
.text(fnCountBalance(false) + " " + sUnit)
|
|
389
399
|
.close("span");
|
|
400
|
+
oRm.openStart("div")
|
|
401
|
+
.class("sapSuiteUiCommonsAccountFocus")
|
|
402
|
+
.openEnd();
|
|
403
|
+
oRm.close("div");
|
|
390
404
|
oRm.close("div");
|
|
391
405
|
}
|
|
392
406
|
|
|
@@ -455,6 +469,32 @@ sap.ui.define([
|
|
|
455
469
|
}
|
|
456
470
|
};
|
|
457
471
|
|
|
472
|
+
TAccount.prototype.onfocusin = function (oEvent) {
|
|
473
|
+
const oCurrentTarget = oEvent.target;
|
|
474
|
+
|
|
475
|
+
const bIsOpeningHeader = oCurrentTarget.classList.contains("sapSuiteUiCommonsAccountOpeningHeader");
|
|
476
|
+
const bIsClosingHeader = oCurrentTarget.classList.contains("sapSuiteUiCommonsAccountClosingHeader");
|
|
477
|
+
if (!(bIsOpeningHeader || bIsClosingHeader)) {
|
|
478
|
+
return;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
const sDebitText = oCurrentTarget.childNodes[0]?.innerText;
|
|
482
|
+
const sCreditText = oCurrentTarget.childNodes[1]?.innerText;
|
|
483
|
+
|
|
484
|
+
let sAriaText = "";
|
|
485
|
+
|
|
486
|
+
if (sDebitText) {
|
|
487
|
+
sAriaText += (bIsOpeningHeader) ? oResourceBundle.getText("TACCOUNT_DEBIT_NUMBER",[sDebitText]) : oResourceBundle.getText("TACCOUNT_TOTAL_DEBIT_NUMBER",[sDebitText]);
|
|
488
|
+
sAriaText += " ";
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
if (sCreditText) {
|
|
492
|
+
sAriaText += (bIsOpeningHeader) ? oResourceBundle.getText("TACCOUNT_CREDIT_NUMBER",[sCreditText]) : oResourceBundle.getText("TACCOUNT_TOTAL_CREDIT_NUMBER",[sCreditText]);
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
this._getAriaRowForTAccount().setText(sAriaText);
|
|
496
|
+
};
|
|
497
|
+
|
|
458
498
|
/* =========================================================== */
|
|
459
499
|
/* Public methods */
|
|
460
500
|
/* =========================================================== */
|
|
@@ -482,7 +522,7 @@ sap.ui.define([
|
|
|
482
522
|
|
|
483
523
|
this._oItemNavigation.setRootDomRef(this.$().find(".sapSuiteUiCommonsAccountTBody")[0]);
|
|
484
524
|
this._oItemNavigation.setItemDomRefs(this.$().find(".sapSuiteUiCommonsAccountItem"));
|
|
485
|
-
this._oItemNavigation.setCycling(
|
|
525
|
+
this._oItemNavigation.setCycling(false);
|
|
486
526
|
};
|
|
487
527
|
|
|
488
528
|
TAccount.prototype._isInGroup = function () {
|
|
@@ -573,6 +613,17 @@ sap.ui.define([
|
|
|
573
613
|
return this._oMarkText;
|
|
574
614
|
};
|
|
575
615
|
|
|
616
|
+
TAccount.prototype._getAriaRowForTAccount = function () {
|
|
617
|
+
if (!this._oTableRowText) {
|
|
618
|
+
this._oTableRowText = new InvisibleText({
|
|
619
|
+
id: this.getId() + "-row-text"
|
|
620
|
+
}
|
|
621
|
+
);
|
|
622
|
+
this.addDependent(this._oTableRowText);
|
|
623
|
+
}
|
|
624
|
+
return this._oTableRowText;
|
|
625
|
+
};
|
|
626
|
+
|
|
576
627
|
TAccount.prototype._getSum = function () {
|
|
577
628
|
if (this._iSum == null) {
|
|
578
629
|
var iSum = new BigNumber("0");
|
|
@@ -41,7 +41,7 @@ sap.ui.define([
|
|
|
41
41
|
* @extends sap.ui.core.Control
|
|
42
42
|
*
|
|
43
43
|
* @author SAP SE
|
|
44
|
-
* @version 1.136.
|
|
44
|
+
* @version 1.136.4
|
|
45
45
|
* @since 1.58.0
|
|
46
46
|
*
|
|
47
47
|
* @constructor
|
|
@@ -101,8 +101,9 @@ sap.ui.define([
|
|
|
101
101
|
sValue = TAccountUtils.formatCurrency(new BigNumber(oItem.getValue()), sUnit, oPanelParent ? oPanelParent.getMaxFractionDigits() : 0),
|
|
102
102
|
sTextValue = sValue + " " + sUnit;
|
|
103
103
|
|
|
104
|
-
oRm.openStart("div", oItem)
|
|
104
|
+
oRm.openStart("div", oItem);
|
|
105
105
|
oRm.class("sapSuiteUiCommonsAccountItem");
|
|
106
|
+
oRm.attr("tabindex","-1");
|
|
106
107
|
|
|
107
108
|
if (oItem.getGroup()) {
|
|
108
109
|
oRm.attr("group", oItem.getGroup());
|
|
@@ -122,7 +123,7 @@ sap.ui.define([
|
|
|
122
123
|
if (sColor) {
|
|
123
124
|
if (oSemanticColorType.hasOwnProperty(sColor)) {
|
|
124
125
|
oRm.class("backgroundSemanticColor" + sColor);
|
|
125
|
-
}
|
|
126
|
+
}
|
|
126
127
|
/**
|
|
127
128
|
* @deprecated As of version 1.120
|
|
128
129
|
*/
|
|
@@ -83,10 +83,6 @@ html[dir=rtl] .sapSuiteUiCommonsAccountCredit .sapSuiteUiCommonsAccountContent{
|
|
|
83
83
|
display: flex;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
.sapSuiteUiCommonsAccountGroupCollapseIcon {
|
|
87
|
-
height: 0.9375rem;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
86
|
.sapSuiteUiCommonsAccount:focus {
|
|
91
87
|
outline: @sapUiContentFocusWidth @sapUiContentFocusStyle @sapUiContentFocusColor;
|
|
92
88
|
}
|
|
@@ -121,6 +117,27 @@ html[dir=rtl] .sapSuiteUiCommonsAccountCredit .sapSuiteUiCommonsAccountContent{
|
|
|
121
117
|
height: auto;
|
|
122
118
|
font-size: @sapMFontSmallSize;
|
|
123
119
|
margin: 0 1rem;
|
|
120
|
+
outline: none;
|
|
121
|
+
position: relative;
|
|
122
|
+
&:focus {
|
|
123
|
+
.sapSuiteUiCommonsAccountFocus {
|
|
124
|
+
position: absolute;
|
|
125
|
+
outline: @sapContent_FocusWidth @sapContent_FocusStyle @sapContent_FocusColor;
|
|
126
|
+
right: -15px;
|
|
127
|
+
left: -15px;
|
|
128
|
+
top: 1px;
|
|
129
|
+
bottom: 2px;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.sapSuiteUiCommonsAccountClosingHeader {
|
|
135
|
+
&:focus {
|
|
136
|
+
.sapSuiteUiCommonsAccountFocus {
|
|
137
|
+
top: 2px;
|
|
138
|
+
bottom: 1px;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
124
141
|
}
|
|
125
142
|
|
|
126
143
|
.sapSuiteUiCommonsAccountClosingHeader {
|
|
@@ -171,7 +188,7 @@ html[dir=rtl] .sapSuiteUiCommonsAccountCredit .sapSuiteUiCommonsAccountContent{
|
|
|
171
188
|
.sapSuiteUiCommonsAccountHeaderTitle {
|
|
172
189
|
overflow: hidden;
|
|
173
190
|
text-overflow: ellipsis;
|
|
174
|
-
margin: 0.5rem 0.2608rem;
|
|
191
|
+
margin: 0.875rem 0.2608rem 0.5rem 0.2608rem;
|
|
175
192
|
max-height: 4.2rem;
|
|
176
193
|
min-height: 1rem;
|
|
177
194
|
display: -webkit-box;
|
|
@@ -179,6 +196,12 @@ html[dir=rtl] .sapSuiteUiCommonsAccountCredit .sapSuiteUiCommonsAccountContent{
|
|
|
179
196
|
-webkit-line-clamp: 4;
|
|
180
197
|
}
|
|
181
198
|
|
|
199
|
+
.sapUiSizeCompact {
|
|
200
|
+
.sapSuiteUiCommonsAccountHeaderTitle {
|
|
201
|
+
margin: 0.5rem 0.2608rem;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
182
205
|
.sapSuiteUiCommonsAccountTHeaderOpeningDebitTitle,
|
|
183
206
|
.sapSuiteUiCommonsAccountTHeaderOpeningCreditTitle {
|
|
184
207
|
font-size: @sapMFontMediumSize;
|
|
@@ -21,6 +21,7 @@ sap.ui.define([
|
|
|
21
21
|
const MSG_NAME = "get-provider-config";
|
|
22
22
|
const UPDATE_TOP_LEVEL_URL_MSG_NAME = "update-top-level-url";
|
|
23
23
|
const UshellContainer = sap.ui.require("sap/ushell/Container");
|
|
24
|
+
const CollaborationHelper = sap.ui.require("sap/suite/ui/commons/collaboration/CollaborationHelper");
|
|
24
25
|
if (!UshellContainer) {
|
|
25
26
|
oLogger.info("UShell Container instance doesn't exist");
|
|
26
27
|
return;
|
|
@@ -53,9 +54,11 @@ sap.ui.define([
|
|
|
53
54
|
try {
|
|
54
55
|
const parsedData = JSON.parse(oData);
|
|
55
56
|
if (parsedData?.url) {
|
|
57
|
+
const parsedUrl = parsedData.url;
|
|
58
|
+
// Remove Teams parameters from the URL when it is not in iframe
|
|
59
|
+
const sanitizedUrl = CollaborationHelper._stripTeamsParams(parsedUrl);
|
|
56
60
|
notifySubscribers(sClientId, sMessageName, { success: true });
|
|
57
|
-
window.location.replace(
|
|
58
|
-
window.location.reload();
|
|
61
|
+
window.location.replace(sanitizedUrl);
|
|
59
62
|
} else {
|
|
60
63
|
oLogger.info("Invalid URL in the message data.");
|
|
61
64
|
}
|