@openui5/sap.ui.support 1.146.0 → 1.147.1
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/REUSE.toml +0 -51
- package/THIRDPARTY.txt +0 -44
- package/package.json +6 -6
- package/src/sap/ui/support/.library +1 -1
- package/src/sap/ui/support/RuleAnalyzer.js +1 -1
- package/src/sap/ui/support/jQuery.sap.support.js +1 -1
- package/src/sap/ui/support/library.js +3 -3
- package/src/sap/ui/support/supportRules/RuleSet.js +1 -1
- package/src/sap/ui/support/supportRules/Storage.js +1 -1
- package/src/sap/ui/support/supportRules/WindowCommunicationBus.js +60 -19
- package/src/sap/ui/support/supportRules/report/ReportProvider.js +1 -1
- package/src/sap/ui/support/supportRules/ui/controllers/PresetsController.js +1 -1
- package/src/sap/ui/support/supportRules/ui/overlay.html +1 -1
- package/src/sap/ui/support/supportRules/ui/views/Analysis.view.xml +10 -10
- package/src/sap/ui/support/supportRules/ui/views/AnalyzeSettings.fragment.xml +6 -6
- package/src/sap/ui/support/supportRules/ui/views/Issues.view.xml +8 -8
- package/src/sap/ui/support/supportRules/ui/views/Main.view.xml +8 -8
- package/src/sap/ui/support/supportRules/ui/views/PresetExport.fragment.xml +2 -2
- package/src/sap/ui/support/supportRules/ui/views/PresetImport.fragment.xml +5 -5
- package/src/sap/ui/support/supportRules/ui/views/Presets.fragment.xml +7 -7
- package/src/sap/ui/support/supportRules/ui/views/RuleUpdate.fragment.xml +12 -12
- package/src/sap/ui/support/supportRules/ui/views/StorageSettings.fragment.xml +2 -2
- package/src/sap/ui/support/supportRules/util/EvalUtils.js +7 -10
package/REUSE.toml
CHANGED
|
@@ -613,57 +613,6 @@ SPDX-License-Identifier = "MIT"
|
|
|
613
613
|
SPDX-FileComment = "these files belong to: hammer.js"
|
|
614
614
|
|
|
615
615
|
|
|
616
|
-
# Library: sap.ui.webc.common:
|
|
617
|
-
|
|
618
|
-
[[annotations]]
|
|
619
|
-
path = [
|
|
620
|
-
"src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/base/**",
|
|
621
|
-
"src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/theming/**",
|
|
622
|
-
"src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/localization/**",
|
|
623
|
-
"src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons/**",
|
|
624
|
-
"src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons-tnt/**",
|
|
625
|
-
"src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons-business-suite/**"
|
|
626
|
-
]
|
|
627
|
-
precedence = "aggregate"
|
|
628
|
-
SPDX-FileCopyrightText = "SAP"
|
|
629
|
-
SPDX-License-Identifier = "Apache-2.0"
|
|
630
|
-
SPDX-FileComment = "these files belong to: UI5 Web Components"
|
|
631
|
-
|
|
632
|
-
[[annotations]]
|
|
633
|
-
path = "src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/lit-html/**"
|
|
634
|
-
precedence = "aggregate"
|
|
635
|
-
SPDX-FileCopyrightText = "Google LLC"
|
|
636
|
-
SPDX-License-Identifier = "BSD-3-Clause"
|
|
637
|
-
SPDX-FileComment = "these files belong to: lit-html"
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
# Library: sap.ui.webc.fiori:
|
|
641
|
-
|
|
642
|
-
[[annotations]]
|
|
643
|
-
path = "src/sap.ui.webc.fiori/src/sap/ui/webc/fiori/thirdparty/**"
|
|
644
|
-
precedence = "aggregate"
|
|
645
|
-
SPDX-FileCopyrightText = "SAP"
|
|
646
|
-
SPDX-License-Identifier = "Apache-2.0"
|
|
647
|
-
SPDX-FileComment = "these files belong to: UI5 Web Components"
|
|
648
|
-
|
|
649
|
-
[[annotations]]
|
|
650
|
-
path = "src/sap.ui.webc.fiori/src/sap/ui/webc/fiori/lib/zxing.js"
|
|
651
|
-
precedence = "aggregate"
|
|
652
|
-
SPDX-FileCopyrightText = "2005 Sun Microsystems, Inc.; 2010-2014 University of Manchester; 2010-2015 Stian Soiland-Reyes; 2015 Peter Hull"
|
|
653
|
-
SPDX-License-Identifier = "Apache-2.0"
|
|
654
|
-
SPDX-FileComment = "these files belong to: ZXing"
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
# Library: sap.ui.webc.main:
|
|
658
|
-
|
|
659
|
-
[[annotations]]
|
|
660
|
-
path = "src/sap.ui.webc.main/src/sap/ui/webc/main/thirdparty/**"
|
|
661
|
-
precedence = "aggregate"
|
|
662
|
-
SPDX-FileCopyrightText = "SAP"
|
|
663
|
-
SPDX-License-Identifier = "Apache-2.0"
|
|
664
|
-
SPDX-FileComment = "these files belong to: UI5 Web Components"
|
|
665
|
-
|
|
666
|
-
|
|
667
616
|
# Outside of Libraries:
|
|
668
617
|
|
|
669
618
|
[[annotations]]
|
package/THIRDPARTY.txt
CHANGED
|
@@ -446,50 +446,6 @@ License Text: https://github.com/UI5/openui5/blob/master/LICENSES/MIT.txt
|
|
|
446
446
|
Contained in: src/sap.ui.mdc/test/sap/ui/mdc/demokit/sample/Chart/ChartJS/control/hammerjs.js
|
|
447
447
|
|
|
448
448
|
|
|
449
|
-
Library: sap.ui.webc.common:
|
|
450
|
-
|
|
451
|
-
Component: UI5 Web Components, version: 1.18.0
|
|
452
|
-
Copyright: SAP
|
|
453
|
-
License: Apache-2.0
|
|
454
|
-
License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
|
|
455
|
-
Contained in: src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/base/**
|
|
456
|
-
src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/theming/**
|
|
457
|
-
src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/localization/**
|
|
458
|
-
src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons/**
|
|
459
|
-
src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons-tnt/**
|
|
460
|
-
src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons-business-suite/**
|
|
461
|
-
|
|
462
|
-
Component: lit-html, version: 2.2.2
|
|
463
|
-
Copyright: Google LLC
|
|
464
|
-
License: BSD-3-Clause
|
|
465
|
-
License Text: https://github.com/UI5/openui5/blob/master/LICENSES/BSD-3-Clause.txt
|
|
466
|
-
Contained in: src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/lit-html/**
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
Library: sap.ui.webc.fiori:
|
|
470
|
-
|
|
471
|
-
Component: UI5 Web Components, version: 1.18.0
|
|
472
|
-
Copyright: SAP
|
|
473
|
-
License: Apache-2.0
|
|
474
|
-
License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
|
|
475
|
-
Contained in: src/sap.ui.webc.fiori/src/sap/ui/webc/fiori/thirdparty/**
|
|
476
|
-
|
|
477
|
-
Component: ZXing, version: 0.17.1
|
|
478
|
-
Copyright: 2005 Sun Microsystems, Inc.; 2010-2014 University of Manchester; 2010-2015 Stian Soiland-Reyes; 2015 Peter Hull
|
|
479
|
-
License: Apache-2.0
|
|
480
|
-
License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
|
|
481
|
-
Contained in: src/sap.ui.webc.fiori/src/sap/ui/webc/fiori/lib/zxing.js
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
Library: sap.ui.webc.main:
|
|
485
|
-
|
|
486
|
-
Component: UI5 Web Components, version: 1.18.0
|
|
487
|
-
Copyright: SAP
|
|
488
|
-
License: Apache-2.0
|
|
489
|
-
License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
|
|
490
|
-
Contained in: src/sap.ui.webc.main/src/sap/ui/webc/main/thirdparty/**
|
|
491
|
-
|
|
492
|
-
|
|
493
449
|
Outside of Libraries:
|
|
494
450
|
|
|
495
451
|
Component: JSDoc 3, version: 3.6.7
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openui5/sap.ui.support",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.147.1",
|
|
4
4
|
"description": "OpenUI5 UI Library sap.ui.support",
|
|
5
5
|
"author": "SAP SE (https://www.sap.com)",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
"url": "https://github.com/UI5/openui5.git"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@openui5/sap.m": "1.
|
|
18
|
-
"@openui5/sap.ui.codeeditor": "1.
|
|
19
|
-
"@openui5/sap.ui.core": "1.
|
|
20
|
-
"@openui5/sap.ui.fl": "1.
|
|
21
|
-
"@openui5/sap.ui.layout": "1.
|
|
17
|
+
"@openui5/sap.m": "1.147.1",
|
|
18
|
+
"@openui5/sap.ui.codeeditor": "1.147.1",
|
|
19
|
+
"@openui5/sap.ui.core": "1.147.1",
|
|
20
|
+
"@openui5/sap.ui.fl": "1.147.1",
|
|
21
|
+
"@openui5/sap.ui.layout": "1.147.1"
|
|
22
22
|
}
|
|
23
23
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<copyright>OpenUI5
|
|
7
7
|
* (c) Copyright 2026 SAP SE or an SAP affiliate company.
|
|
8
8
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
|
|
9
|
-
<version>1.
|
|
9
|
+
<version>1.147.1</version>
|
|
10
10
|
|
|
11
11
|
<documentation>UI5 library: sap.ui.support</documentation>
|
|
12
12
|
|
|
@@ -23,7 +23,7 @@ sap.ui.define(["sap/ui/core/Lib", "sap/ui/base/DataType", "sap/ui/core/library"]
|
|
|
23
23
|
* @namespace
|
|
24
24
|
* @alias sap.ui.support
|
|
25
25
|
* @author SAP SE
|
|
26
|
-
* @version 1.
|
|
26
|
+
* @version 1.147.1
|
|
27
27
|
* @since 1.50
|
|
28
28
|
* @public
|
|
29
29
|
*/
|
|
@@ -38,7 +38,7 @@ sap.ui.define(["sap/ui/core/Lib", "sap/ui/base/DataType", "sap/ui/core/library"]
|
|
|
38
38
|
controls: [],
|
|
39
39
|
elements: [],
|
|
40
40
|
noLibraryCSS: true,
|
|
41
|
-
version: "1.
|
|
41
|
+
version: "1.147.1",
|
|
42
42
|
extensions: {
|
|
43
43
|
//Configuration used for rule loading of Support Assistant
|
|
44
44
|
"sap.ui.support": {
|
|
@@ -230,7 +230,7 @@ sap.ui.define(["sap/ui/core/Lib", "sap/ui/base/DataType", "sap/ui/core/library"]
|
|
|
230
230
|
* Preset to find usages of deprecated controls, properties, aggregations and others.
|
|
231
231
|
*
|
|
232
232
|
* @public
|
|
233
|
-
* @
|
|
233
|
+
* @since 1.120
|
|
234
234
|
*/
|
|
235
235
|
Deprecations : {
|
|
236
236
|
id: "Deprecations",
|
|
@@ -24,7 +24,7 @@ sap.ui.define([
|
|
|
24
24
|
* @class
|
|
25
25
|
* @alias sap.ui.support.WindowCommunicationBus
|
|
26
26
|
* @author SAP SE
|
|
27
|
-
* @version 1.
|
|
27
|
+
* @version 1.147.1
|
|
28
28
|
* @private
|
|
29
29
|
*/
|
|
30
30
|
var WindowCommunicationBus = BaseObject.extend("sap.ui.support.supportRules.WindowCommunicationBus", {
|
|
@@ -127,37 +127,78 @@ sap.ui.define([
|
|
|
127
127
|
};
|
|
128
128
|
|
|
129
129
|
/**
|
|
130
|
-
*
|
|
131
|
-
*
|
|
130
|
+
* Compare the origins of two URLs. Returns false if either value is not a valid URL.
|
|
131
|
+
* @private
|
|
132
|
+
* @param {string} sOriginA First URL string
|
|
133
|
+
* @param {string} sOriginB Second URL string
|
|
134
|
+
* @returns {boolean} true if both URLs have the same origin
|
|
135
|
+
*/
|
|
136
|
+
WindowCommunicationBus._compareOrigins = function (sOriginA, sOriginB) {
|
|
137
|
+
try {
|
|
138
|
+
return new URL(sOriginA).origin === new URL(sOriginB).origin;
|
|
139
|
+
} catch (e) {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Validate messages received from external windows.
|
|
146
|
+
* Both directions are validated:
|
|
147
|
+
* - Tool frame: validates origin of messages from opener window
|
|
148
|
+
* - Application window: validates origin, frame identifier, and URL path of messages from tool frame
|
|
132
149
|
* @private
|
|
133
150
|
* @param {EventListener} eMessage Event fired by the channels attached to the WindowCommunicationBus
|
|
134
151
|
* @returns {boolean} true if the message is valid
|
|
135
152
|
*/
|
|
136
153
|
WindowCommunicationBus.prototype._validate = function (eMessage) {
|
|
154
|
+
// 1. Validate origin
|
|
155
|
+
// tool frame: validate against the configured opener origin
|
|
137
156
|
if (isEmptyObject(this._frame)) {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
157
|
+
const sExpectedOrigin = this._oConfig.getOrigin();
|
|
158
|
+
|
|
159
|
+
if (sExpectedOrigin) {
|
|
160
|
+
return WindowCommunicationBus._compareOrigins(eMessage.origin, sExpectedOrigin);
|
|
161
|
+
}
|
|
162
|
+
|
|
141
163
|
return true;
|
|
142
164
|
}
|
|
143
165
|
|
|
144
|
-
//
|
|
145
|
-
|
|
166
|
+
// application window: validate against the known tool frame origin
|
|
167
|
+
if (!WindowCommunicationBus._compareOrigins(eMessage.origin, this._frame.origin)) {
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
146
170
|
|
|
147
|
-
//
|
|
148
|
-
|
|
171
|
+
// 2. Validate frame identifier
|
|
172
|
+
if (eMessage.data._frameIdentifier !== this._frame.identifier) {
|
|
173
|
+
return false;
|
|
174
|
+
}
|
|
149
175
|
|
|
150
|
-
//
|
|
151
|
-
|
|
152
|
-
|
|
176
|
+
// 3. Validate URL path
|
|
177
|
+
// Compare parsed pathnames to avoid substring-matching attacks.
|
|
178
|
+
// The frame URL may be absolute or relative — strip query string and relative segments
|
|
179
|
+
// to extract the path portion, then verify the message origin's pathname ends with it.
|
|
180
|
+
try {
|
|
181
|
+
const oOriginUrl = new URL(eMessage.data._origin);
|
|
182
|
+
const iFrameUrlQuery = this._frame.url.indexOf("?");
|
|
183
|
+
const sFrameUrlWithoutQuery = this._frame.url.substring(0, iFrameUrlQuery).replace(/\.\.\//g, "").replace(/\.\//g, "");
|
|
184
|
+
|
|
185
|
+
// extract just the pathname: parse as URL if absolute, otherwise use the cleaned string as-is
|
|
186
|
+
let sFramePath;
|
|
187
|
+
try {
|
|
188
|
+
sFramePath = new URL(sFrameUrlWithoutQuery).pathname;
|
|
189
|
+
} catch (e) {
|
|
190
|
+
// relative URL — use cleaned string directly as a path suffix
|
|
191
|
+
sFramePath = sFrameUrlWithoutQuery;
|
|
192
|
+
}
|
|
153
193
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
194
|
+
if (!oOriginUrl.pathname.endsWith(sFramePath)) {
|
|
195
|
+
return false;
|
|
196
|
+
}
|
|
197
|
+
} catch (e) {
|
|
198
|
+
return false;
|
|
199
|
+
}
|
|
159
200
|
|
|
160
|
-
return
|
|
201
|
+
return true;
|
|
161
202
|
};
|
|
162
203
|
|
|
163
204
|
WindowCommunicationBus.prototype._getFrameIdentifier = function () {
|
|
@@ -409,7 +409,7 @@ sap.ui.define(['sap/ui/thirdparty/jquery', 'sap/base/Log', 'sap/base/security/en
|
|
|
409
409
|
|
|
410
410
|
jQuery(reportWindow.document).ready(function () {
|
|
411
411
|
// make sure everything is cleared before writing the new report
|
|
412
|
-
reportWindow.document.documentElement.
|
|
412
|
+
reportWindow.document.documentElement.replaceChildren();
|
|
413
413
|
|
|
414
414
|
reportWindow.document.write(content);
|
|
415
415
|
});
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
data-sap-ui-compat-version="edge"
|
|
13
13
|
data-sap-ui-libs="sap.m, sap.ui.table, sap.ui.unified, sap.ui.layout, sap.tnt, sap.ui.support"
|
|
14
14
|
data-sap-ui-on-init="module:sap/ui/support/supportRules/ui/Overlay"
|
|
15
|
-
data-sap-ui-theme="
|
|
15
|
+
data-sap-ui-theme="sap_horizon"
|
|
16
16
|
></script>
|
|
17
17
|
</head>
|
|
18
18
|
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
<m:items>
|
|
23
23
|
<m:IconTabHeader
|
|
24
24
|
id="ruleSetsView"
|
|
25
|
-
select="onSelectedRuleSets"
|
|
25
|
+
select=".onSelectedRuleSets"
|
|
26
26
|
selectedKey="{/selectedSetPreviewKey}"
|
|
27
27
|
class="customIconTabHeader">
|
|
28
28
|
<m:layoutData>
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
<m:IconTabFilter key="additionalRulesets" text="Additional Rulesets" />
|
|
35
35
|
</m:items>
|
|
36
36
|
</m:IconTabHeader>
|
|
37
|
-
<m:Button class="supportAnalyzeButton" text="Analyze" press="onAnalyze" type="Emphasized"/>
|
|
38
|
-
<m:Button class="supportSettingsButton" icon="sap-icon://settings" press="onAnalyzeSettings" type="Emphasized"/>
|
|
37
|
+
<m:Button class="supportAnalyzeButton" text="Analyze" press=".onAnalyze" type="Emphasized"/>
|
|
38
|
+
<m:Button class="supportSettingsButton" icon="sap-icon://settings" press=".onAnalyzeSettings" type="Emphasized"/>
|
|
39
39
|
</m:items>
|
|
40
40
|
</m:HBox>
|
|
41
41
|
</m:contentMiddle>
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
text="Create Rule"
|
|
81
81
|
icon="sap-icon://add"
|
|
82
82
|
visible="{= !${/tempRulesDisabled}}"
|
|
83
|
-
press="createNewRulePress"/>
|
|
83
|
+
press=".createNewRulePress"/>
|
|
84
84
|
</m:contentRight>
|
|
85
85
|
</m:Bar>
|
|
86
86
|
</m:subHeader>
|
|
@@ -97,8 +97,8 @@
|
|
|
97
97
|
selectionBehavior="RowSelector"
|
|
98
98
|
rowActionCount="1"
|
|
99
99
|
visible="{= ${/selectedSetPreviewKey} === 'availableRules' }"
|
|
100
|
-
cellClick="onCellClick"
|
|
101
|
-
rowSelectionChange="onRowSelectionChange"
|
|
100
|
+
cellClick=".onCellClick"
|
|
101
|
+
rowSelectionChange=".onRowSelectionChange"
|
|
102
102
|
>
|
|
103
103
|
<t:columns>
|
|
104
104
|
<t:Column id="rulesColumn"
|
|
@@ -143,9 +143,9 @@
|
|
|
143
143
|
<t:rowActionTemplate>
|
|
144
144
|
<t:RowAction id="rowActionTemplate">
|
|
145
145
|
<t:items>
|
|
146
|
-
<t:RowActionItem icon="sap-icon://edit" text="Edit" press="editRule" visible="{= ${ruleSets>libName} === 'temporary'}" />
|
|
147
|
-
<t:RowActionItem icon="sap-icon://delete" text="Delete" press="deleteTemporaryRule" visible="{= ${ruleSets>libName} === 'temporary'}" />
|
|
148
|
-
<t:RowActionItem icon="sap-icon://copy" text="Copy" press="duplicateRule" visible="{= !${/tempRulesDisabled} && ${ruleSets>libName} !== 'temporary' && ${ruleSets>type} !== 'lib'}" />
|
|
146
|
+
<t:RowActionItem icon="sap-icon://edit" text="Edit" press=".editRule" visible="{= ${ruleSets>libName} === 'temporary'}" />
|
|
147
|
+
<t:RowActionItem icon="sap-icon://delete" text="Delete" press=".deleteTemporaryRule" visible="{= ${ruleSets>libName} === 'temporary'}" />
|
|
148
|
+
<t:RowActionItem icon="sap-icon://copy" text="Copy" press=".duplicateRule" visible="{= !${/tempRulesDisabled} && ${ruleSets>libName} !== 'temporary' && ${ruleSets>type} !== 'lib'}" />
|
|
149
149
|
</t:items>
|
|
150
150
|
</t:RowAction>
|
|
151
151
|
</t:rowActionTemplate>
|
|
@@ -164,7 +164,7 @@
|
|
|
164
164
|
<m:StandardListItem
|
|
165
165
|
title="{}"/>
|
|
166
166
|
</m:List>
|
|
167
|
-
<m:Button class="customMargin" text="Load" type="Emphasized" press="loadMarkedSupportLibraries" />
|
|
167
|
+
<m:Button class="customMargin" text="Load" type="Emphasized" press=".loadMarkedSupportLibraries" />
|
|
168
168
|
</l:VerticalLayout>
|
|
169
169
|
</m:Page>
|
|
170
170
|
</l:contentAreas>
|
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
title="{/executionScopeTitle}"
|
|
7
7
|
contentMinWidth="250px"
|
|
8
8
|
class="sapUiContentPadding"
|
|
9
|
-
beforeOpen="onBeforePopoverOpen"
|
|
9
|
+
beforeOpen=".onBeforePopoverOpen"
|
|
10
10
|
placement="Bottom">
|
|
11
11
|
<content>
|
|
12
12
|
<VBox>
|
|
13
13
|
<RadioButton groupName="analyzeContext"
|
|
14
14
|
text="{/executionScopes/global/displayName}"
|
|
15
|
-
select="onContextSelect"
|
|
15
|
+
select=".onContextSelect"
|
|
16
16
|
selected="{= ${/analyzeContext/key} === 'global'}"
|
|
17
17
|
tooltip="{/executionScopes/global/description}">
|
|
18
18
|
<customData>
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
</RadioButton>
|
|
22
22
|
<RadioButton groupName="analyzeContext"
|
|
23
23
|
text="{/executionScopes/subtree/displayName}"
|
|
24
|
-
select="onContextSelect"
|
|
24
|
+
select=".onContextSelect"
|
|
25
25
|
selected="{= ${/analyzeContext/key} === 'subtree'}"
|
|
26
26
|
tooltip="{/executionScopes/subtree/description}">
|
|
27
27
|
<customData>
|
|
@@ -35,11 +35,11 @@
|
|
|
35
35
|
enabled="{= ${/analyzeContext/key} === 'subtree'}"
|
|
36
36
|
value="{/subtreeExecutionContextId}"
|
|
37
37
|
width="300px"
|
|
38
|
-
liveChange="onExecutionContextChange"/>
|
|
38
|
+
liveChange=".onExecutionContextChange"/>
|
|
39
39
|
</l:VerticalLayout>
|
|
40
40
|
<RadioButton groupName="analyzeContext"
|
|
41
41
|
text="{/executionScopes/components/displayName}"
|
|
42
|
-
select="onContextSelect"
|
|
42
|
+
select=".onContextSelect"
|
|
43
43
|
selected="{= ${/analyzeContext/key} === 'components'}"
|
|
44
44
|
tooltip="{/executionScopes/components/description}">
|
|
45
45
|
<customData>
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
class="sapUiSupportToolSettingsPopoverPadding">
|
|
53
53
|
<CheckBox text="{text}"
|
|
54
54
|
enabled="{= ${/analyzeContext/key} === 'components'}"
|
|
55
|
-
select="onScopeComponentSelect"
|
|
55
|
+
select=".onScopeComponentSelect"
|
|
56
56
|
selected="{selected}"
|
|
57
57
|
/>
|
|
58
58
|
</l:VerticalLayout>
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
</l:layoutData>
|
|
22
22
|
<Label text="Severity:" class="customMargin" />
|
|
23
23
|
<Select id='severityFilter'
|
|
24
|
-
change="updateIssuesVisibility"
|
|
24
|
+
change=".updateIssuesVisibility"
|
|
25
25
|
selectedKey="{/severityFilter}"
|
|
26
26
|
items="{/severitiesFilter}"
|
|
27
27
|
class="customMargin" >
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
</l:layoutData>
|
|
35
35
|
<Label text="Category:" class="customMargin" />
|
|
36
36
|
<Select id='categoryFilter'
|
|
37
|
-
change="updateIssuesVisibility"
|
|
37
|
+
change=".updateIssuesVisibility"
|
|
38
38
|
selectedKey="{/categoryFilter}"
|
|
39
39
|
items="{/categoriesFilter}"
|
|
40
40
|
class="customMargin">
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
</l:layoutData>
|
|
48
48
|
<Label text="Audiences:" class="customMargin" />
|
|
49
49
|
<Select id='audiencesFilter'
|
|
50
|
-
change="updateIssuesVisibility"
|
|
50
|
+
change=".updateIssuesVisibility"
|
|
51
51
|
selectedKey="{/audienceFilter}"
|
|
52
52
|
items="{/audiencesFilter}"
|
|
53
53
|
class="customMargin" >
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
<Label text="" class="customMargin" />
|
|
67
67
|
<MenuButton id='ReportMenuButton' text="Report" icon="sap-icon://order-status" visible="{= ${/analyzePressed}}">
|
|
68
68
|
<menu>
|
|
69
|
-
<Menu itemSelected="onReportPress">
|
|
69
|
+
<Menu itemSelected=".onReportPress">
|
|
70
70
|
<items>
|
|
71
71
|
<MenuItem text="View" />
|
|
72
72
|
<MenuItem text="Download" />
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
<FlexItemData growFactor="2" />
|
|
110
110
|
</layoutData>
|
|
111
111
|
</Text>
|
|
112
|
-
<Button icon="sap-icon://clear-filter" press="clearFiltersAndElementSelection" enabled="{/bEnabledFilterButton}">
|
|
112
|
+
<Button icon="sap-icon://clear-filter" press=".clearFiltersAndElementSelection" enabled="{/bEnabledFilterButton}">
|
|
113
113
|
<layoutData>
|
|
114
114
|
<FlexItemData growFactor="0" />
|
|
115
115
|
</layoutData>
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
selectionBehavior="RowOnly"
|
|
124
124
|
enableColumnReordering="false"
|
|
125
125
|
rows="{path: '/issues'}"
|
|
126
|
-
rowSelectionChange="onRowSelectionChanged">
|
|
126
|
+
rowSelectionChange=".onRowSelectionChanged">
|
|
127
127
|
<t:rowMode>
|
|
128
128
|
<trm:Auto rowContentHeight="24"/>
|
|
129
129
|
</t:rowMode>
|
|
@@ -154,7 +154,7 @@
|
|
|
154
154
|
selectionMode="Single"
|
|
155
155
|
selectionBehavior="RowOnly"
|
|
156
156
|
enableColumnReordering="false"
|
|
157
|
-
rowSelectionChange="onRowSelection"
|
|
157
|
+
rowSelectionChange=".onRowSelection"
|
|
158
158
|
id="issueTable">
|
|
159
159
|
<t:rowMode>
|
|
160
160
|
<trm:Fixed rowContentHeight="24" rowCount="{/visibleRowCount}"/>
|
|
@@ -230,7 +230,7 @@
|
|
|
230
230
|
''
|
|
231
231
|
],
|
|
232
232
|
formatter: '.formatter.resolutionUrl'
|
|
233
|
-
}" press="openDocumentation">
|
|
233
|
+
}" press=".openDocumentation">
|
|
234
234
|
<layoutData>
|
|
235
235
|
<f:ColumnElementData cellsLarge="8" cellsSmall="12" />
|
|
236
236
|
</layoutData>
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<Bar class="sapContrast" design="SubHeader" id="sapSTShowButtonBar">
|
|
14
14
|
<contentMiddle>
|
|
15
15
|
<Text text="{/constants/SUPPORT_ASSISTANT_NAME}" class="STCustomHeaderInfo" />
|
|
16
|
-
<c:Icon src="sap-icon://full-screen" press="toggleHide" class="STCustomHeaderInfo" />
|
|
16
|
+
<c:Icon src="sap-icon://full-screen" press=".toggleHide" class="STCustomHeaderInfo" />
|
|
17
17
|
</contentMiddle>
|
|
18
18
|
</Bar>
|
|
19
19
|
|
|
@@ -59,19 +59,19 @@
|
|
|
59
59
|
<contentRight>
|
|
60
60
|
<Toolbar
|
|
61
61
|
id="navToolbar">
|
|
62
|
-
<Button id="issuesBtn" text="Issues ({/issuesCount})" enabled="{= ${/analyzedFinish} === true}" press="goToIssues"/>
|
|
62
|
+
<Button id="issuesBtn" text="Issues ({/issuesCount})" enabled="{= ${/analyzedFinish} === true}" press=".goToIssues"/>
|
|
63
63
|
|
|
64
|
-
<Button id="analysisBtn" text="Rules ({/selectedRulesCount})" press="goToAnalysis" type="Emphasized"/>
|
|
64
|
+
<Button id="analysisBtn" text="Rules ({/selectedRulesCount})" press=".goToAnalysis" type="Emphasized"/>
|
|
65
65
|
|
|
66
|
-
<c:Icon id="settingsIcon" src="sap-icon://settings" press="onSettings" class="STCustomHeaderInfo STHelpIcon sapUiTinyMargin"/>
|
|
66
|
+
<c:Icon id="settingsIcon" src="sap-icon://settings" press=".onSettings" class="STCustomHeaderInfo STHelpIcon sapUiTinyMargin"/>
|
|
67
67
|
|
|
68
|
-
<c:Icon src="sap-icon://sys-help" press="goToWiki" class="STCustomHeaderInfo STHelpIcon sapUiTinyMargin" tooltip="Open Documentation" />
|
|
68
|
+
<c:Icon src="sap-icon://sys-help" press=".goToWiki" class="STCustomHeaderInfo STHelpIcon sapUiTinyMargin" tooltip="Open Documentation" />
|
|
69
69
|
|
|
70
|
-
<c:Icon src="sap-icon://minimize" press="toggleHide" class="STCustomHeaderInfo sapUiTinyMargin" visible="{/hasNoOpener}"/>
|
|
70
|
+
<c:Icon src="sap-icon://minimize" press=".toggleHide" class="STCustomHeaderInfo sapUiTinyMargin" visible="{/hasNoOpener}"/>
|
|
71
71
|
|
|
72
|
-
<Button icon="sap-icon://down" press="resizeDown" visible="{/hasNoOpener}"/>
|
|
72
|
+
<Button icon="sap-icon://down" press=".resizeDown" visible="{/hasNoOpener}"/>
|
|
73
73
|
|
|
74
|
-
<Button icon="sap-icon://up" press="resizeUp" visible="{/hasNoOpener}"/>
|
|
74
|
+
<Button icon="sap-icon://up" press=".resizeUp" visible="{/hasNoOpener}"/>
|
|
75
75
|
</Toolbar>
|
|
76
76
|
</contentRight>
|
|
77
77
|
</Bar>
|
|
@@ -52,10 +52,10 @@
|
|
|
52
52
|
</f:content>
|
|
53
53
|
</f:SimpleForm>
|
|
54
54
|
<beginButton>
|
|
55
|
-
<Button id="cancel" text="Cancel" press="onExportCancelPress" />
|
|
55
|
+
<Button id="cancel" text="Cancel" press=".onExportCancelPress" />
|
|
56
56
|
</beginButton>
|
|
57
57
|
<endButton>
|
|
58
|
-
<Button id="exportBtn" text="Export" type="Emphasized" press="onExportFinalizePress" class="sapUiTinyMarginEnd" />
|
|
58
|
+
<Button id="exportBtn" text="Export" type="Emphasized" press=".onExportFinalizePress" class="sapUiTinyMarginEnd" />
|
|
59
59
|
</endButton>
|
|
60
60
|
</Dialog>
|
|
61
61
|
</core:FragmentDefinition>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<Dialog
|
|
8
8
|
id="importDialog"
|
|
9
9
|
title="Import a Rule Preset"
|
|
10
|
-
beforeClose="onImportDialogClose"
|
|
10
|
+
beforeClose=".onImportDialogClose"
|
|
11
11
|
resizable="true"
|
|
12
12
|
contentWidth="650px"
|
|
13
13
|
contentHeight="400px">
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
id="fileUpload"
|
|
26
26
|
buttonOnly="true"
|
|
27
27
|
buttonText="Browse ..."
|
|
28
|
-
change="onImportFileChange"
|
|
29
|
-
typeMissmatch="onImportFileMismatch"
|
|
28
|
+
change=".onImportFileChange"
|
|
29
|
+
typeMissmatch=".onImportFileMismatch"
|
|
30
30
|
fileType="json"
|
|
31
31
|
mimeType="application/json"
|
|
32
32
|
class="sapUiTinyMarginBottom">
|
|
@@ -78,10 +78,10 @@
|
|
|
78
78
|
</f:content>
|
|
79
79
|
</f:SimpleForm>
|
|
80
80
|
<beginButton>
|
|
81
|
-
<Button id="cancel" text="Cancel" press="onImportCancelPress" />
|
|
81
|
+
<Button id="cancel" text="Cancel" press=".onImportCancelPress" />
|
|
82
82
|
</beginButton>
|
|
83
83
|
<endButton>
|
|
84
|
-
<Button id="importBtn" type="Emphasized" text="Import" enabled="false" press="onImportFinalizePress" class="sapUiTinyMarginEnd" />
|
|
84
|
+
<Button id="importBtn" type="Emphasized" text="Import" enabled="false" press=".onImportFinalizePress" class="sapUiTinyMarginEnd" />
|
|
85
85
|
</endButton>
|
|
86
86
|
</Dialog>
|
|
87
87
|
</core:FragmentDefinition>
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<Title id="rulePresetsTitle" text="Rule Presets" />
|
|
14
14
|
</contentMiddle>
|
|
15
15
|
<contentRight>
|
|
16
|
-
<core:Icon id="help" width="18px" src="sap-icon://sys-help" decorative="false" press="openHelp" />
|
|
16
|
+
<core:Icon id="help" width="18px" src="sap-icon://sys-help" decorative="false" press=".openHelp" />
|
|
17
17
|
</contentRight>
|
|
18
18
|
</Bar>
|
|
19
19
|
</customHeader>
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
},
|
|
29
29
|
groupHeaderFactory: '.getGroupHeader'
|
|
30
30
|
}"
|
|
31
|
-
itemPress="onPresetItemPress"
|
|
32
|
-
selectionChange="onPresetChange"
|
|
31
|
+
itemPress=".onPresetItemPress"
|
|
32
|
+
selectionChange=".onPresetChange"
|
|
33
33
|
mode="SingleSelectMaster">
|
|
34
34
|
<CustomListItem selected="{selected}" type="Active" tooltip="{description}">
|
|
35
35
|
<HBox
|
|
@@ -47,13 +47,13 @@
|
|
|
47
47
|
tooltip="Return to default selection"
|
|
48
48
|
icon="sap-icon://refresh"
|
|
49
49
|
type="Transparent"
|
|
50
|
-
press="onPresetItemReset"
|
|
50
|
+
press=".onPresetItemReset"
|
|
51
51
|
visible="{= ${isModified} ? true : false}"/>
|
|
52
52
|
<Button
|
|
53
53
|
tooltip="Delete Preset"
|
|
54
54
|
icon="sap-icon://sys-cancel"
|
|
55
55
|
type="Transparent"
|
|
56
|
-
press="onPresetItemDelete"
|
|
56
|
+
press=".onPresetItemDelete"
|
|
57
57
|
visible="{= ${disableDelete} ? false : true}" />
|
|
58
58
|
</HBox>
|
|
59
59
|
</HBox>
|
|
@@ -62,8 +62,8 @@
|
|
|
62
62
|
<footer>
|
|
63
63
|
<Toolbar>
|
|
64
64
|
<ToolbarSpacer />
|
|
65
|
-
<Button id="presetImport" text="Import" press="onImportPress" />
|
|
66
|
-
<Button id="presetExport" text="Export" press="onExportPress" />
|
|
65
|
+
<Button id="presetImport" text="Import" press=".onImportPress" />
|
|
66
|
+
<Button id="presetExport" text="Export" press=".onExportPress" />
|
|
67
67
|
</Toolbar>
|
|
68
68
|
</footer>
|
|
69
69
|
</Page>
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
<m:contentLeft>
|
|
15
15
|
<m:Button
|
|
16
16
|
icon="sap-icon://arrow-left"
|
|
17
|
-
press="goToRuleProperties"
|
|
17
|
+
press=".goToRuleProperties"
|
|
18
18
|
text="Back"/>
|
|
19
19
|
</m:contentLeft>
|
|
20
20
|
<m:contentMiddle>
|
|
21
21
|
<m:IconTabHeader
|
|
22
|
-
select="rulesToolbarEditITHSelect"
|
|
22
|
+
select=".rulesToolbarEditITHSelect"
|
|
23
23
|
selectedKey="{/selectedRuleEditKey}"
|
|
24
24
|
class="customIconTabHeader">
|
|
25
25
|
<m:items>
|
|
@@ -46,12 +46,12 @@
|
|
|
46
46
|
</f:FormElement>
|
|
47
47
|
<f:FormElement label="Async">
|
|
48
48
|
<f:fields>
|
|
49
|
-
<m:RadioButton groupName="asyncEditContext" text="true" selected="{= ${/editRule/async} === true }" select="onAsyncSwitch">
|
|
49
|
+
<m:RadioButton groupName="asyncEditContext" text="true" selected="{= ${/editRule/async} === true }" select=".onAsyncSwitch">
|
|
50
50
|
<m:customData>
|
|
51
51
|
<c:CustomData key="asyncEditContext" value="true" />
|
|
52
52
|
</m:customData>
|
|
53
53
|
</m:RadioButton>
|
|
54
|
-
<m:RadioButton groupName="asyncEditContext" text="false" selected="{= ${/editRule/async} !== true }" select="onAsyncSwitch">
|
|
54
|
+
<m:RadioButton groupName="asyncEditContext" text="false" selected="{= ${/editRule/async} !== true }" select=".onAsyncSwitch">
|
|
55
55
|
<m:customData>
|
|
56
56
|
<c:CustomData key="asyncEditContext" value="false" />
|
|
57
57
|
</m:customData>
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
<f:fields>
|
|
111
111
|
<m:Input placeholder="Text" value="{/tempLink/text}" />
|
|
112
112
|
<m:Input placeholder="Href" value="{/tempLink/href}" />
|
|
113
|
-
<m:Button text="Add Link" press="addLinkToRule" icon="sap-icon://add" />
|
|
113
|
+
<m:Button text="Add Link" press=".addLinkToRule" icon="sap-icon://add" />
|
|
114
114
|
</f:fields>
|
|
115
115
|
</f:FormElement>
|
|
116
116
|
<f:FormElement label="" fields="{/editRule/resolutionurls}">
|
|
@@ -154,7 +154,7 @@
|
|
|
154
154
|
<m:Bar>
|
|
155
155
|
<m:contentRight>
|
|
156
156
|
<m:Button
|
|
157
|
-
press="updateRule"
|
|
157
|
+
press=".updateRule"
|
|
158
158
|
text="Update"
|
|
159
159
|
type="Emphasized" />
|
|
160
160
|
</m:contentRight>
|
|
@@ -169,12 +169,12 @@
|
|
|
169
169
|
<m:contentLeft>
|
|
170
170
|
<m:Button
|
|
171
171
|
icon="sap-icon://arrow-left"
|
|
172
|
-
press="goToRuleProperties"
|
|
172
|
+
press=".goToRuleProperties"
|
|
173
173
|
text="Back"/>
|
|
174
174
|
</m:contentLeft>
|
|
175
175
|
<m:contentMiddle>
|
|
176
176
|
<m:IconTabHeader
|
|
177
|
-
select="rulesToolbarITHSelect"
|
|
177
|
+
select=".rulesToolbarITHSelect"
|
|
178
178
|
selectedKey="{/selectedRuleCreateKey}"
|
|
179
179
|
class="customIconTabHeader">
|
|
180
180
|
<m:items>
|
|
@@ -201,12 +201,12 @@
|
|
|
201
201
|
</f:FormElement>
|
|
202
202
|
<f:FormElement label="Async">
|
|
203
203
|
<f:fields>
|
|
204
|
-
<m:RadioButton groupName="asyncContext" text="true" selected="{= ${/newRule/async} === true }" select="onAsyncSwitch">
|
|
204
|
+
<m:RadioButton groupName="asyncContext" text="true" selected="{= ${/newRule/async} === true }" select=".onAsyncSwitch">
|
|
205
205
|
<m:customData>
|
|
206
206
|
<c:CustomData key="asyncContext" value="true" />
|
|
207
207
|
</m:customData>
|
|
208
208
|
</m:RadioButton>
|
|
209
|
-
<m:RadioButton groupName="asyncContext" text="false" selected="{= ${/newRule/async} !== true }" select="onAsyncSwitch">
|
|
209
|
+
<m:RadioButton groupName="asyncContext" text="false" selected="{= ${/newRule/async} !== true }" select=".onAsyncSwitch">
|
|
210
210
|
<m:customData>
|
|
211
211
|
<c:CustomData key="asyncContext" value="false" />
|
|
212
212
|
</m:customData>
|
|
@@ -265,7 +265,7 @@
|
|
|
265
265
|
<f:fields>
|
|
266
266
|
<m:Input placeholder="Text" value="{/tempLink/text}" />
|
|
267
267
|
<m:Input placeholder="Href" value="{/tempLink/href}" />
|
|
268
|
-
<m:Button text="Add" press="addLinkToRule" icon="sap-icon://add" />
|
|
268
|
+
<m:Button text="Add" press=".addLinkToRule" icon="sap-icon://add" />
|
|
269
269
|
</f:fields>
|
|
270
270
|
</f:FormElement>
|
|
271
271
|
<f:FormElement label="" fields="{/newRule/resolutionurls}">
|
|
@@ -310,7 +310,7 @@
|
|
|
310
310
|
<m:Bar>
|
|
311
311
|
<m:contentRight>
|
|
312
312
|
<m:Button
|
|
313
|
-
press="addNewRule"
|
|
313
|
+
press=".addNewRule"
|
|
314
314
|
text="Add Rule"
|
|
315
315
|
type="Emphasized" />
|
|
316
316
|
</m:contentRight>
|
|
@@ -45,9 +45,9 @@
|
|
|
45
45
|
class="sapUiTinyMarginLeft"
|
|
46
46
|
src="sap-icon://copy"
|
|
47
47
|
tooltip="Copy Location"
|
|
48
|
-
press="copySupportAssistantOriginToClipboard" />
|
|
48
|
+
press=".copySupportAssistantOriginToClipboard" />
|
|
49
49
|
</l:HorizontalLayout>
|
|
50
|
-
|
|
50
|
+
|
|
51
51
|
<l:HorizontalLayout class="sapUiTinyMarginTop">
|
|
52
52
|
<Text text="Support Assistant Version : {/supportAssistantVersion}" renderWhitespace="true"></Text>
|
|
53
53
|
</l:HorizontalLayout>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* eslint-disable no-
|
|
1
|
+
/* eslint-disable no-new-func */
|
|
2
2
|
|
|
3
3
|
/*!
|
|
4
4
|
* OpenUI5
|
|
@@ -9,11 +9,12 @@
|
|
|
9
9
|
sap.ui.define([], function () {
|
|
10
10
|
"use strict";
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
let bIsEvalAllowed;
|
|
13
13
|
|
|
14
|
-
// Checks if
|
|
14
|
+
// Checks if the Function constructor can be used in the current platform (based on CSP restrictions)
|
|
15
15
|
try {
|
|
16
|
-
|
|
16
|
+
// eslint-disable-next-line no-new
|
|
17
|
+
new Function("");
|
|
17
18
|
bIsEvalAllowed = true;
|
|
18
19
|
} catch (e) {
|
|
19
20
|
bIsEvalAllowed = false;
|
|
@@ -34,11 +35,7 @@ sap.ui.define([], function () {
|
|
|
34
35
|
* @throws Error why eval failed, for example invalid syntax
|
|
35
36
|
*/
|
|
36
37
|
evalFunction: function (sFunction) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
eval("fn = " + sFunction);
|
|
40
|
-
|
|
41
|
-
return fn;
|
|
38
|
+
return new Function("return (" + sFunction + ")")();
|
|
42
39
|
}
|
|
43
40
|
};
|
|
44
|
-
});
|
|
41
|
+
});
|