@openui5/sap.ui.support 1.110.0 → 1.111.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.support",
3
- "version": "1.110.0",
3
+ "version": "1.111.0",
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/SAP/openui5.git"
15
15
  },
16
16
  "dependencies": {
17
- "@openui5/sap.m": "1.110.0",
18
- "@openui5/sap.ui.codeeditor": "1.110.0",
19
- "@openui5/sap.ui.core": "1.110.0",
20
- "@openui5/sap.ui.fl": "1.110.0",
21
- "@openui5/sap.ui.layout": "1.110.0"
17
+ "@openui5/sap.m": "1.111.0",
18
+ "@openui5/sap.ui.codeeditor": "1.111.0",
19
+ "@openui5/sap.ui.core": "1.111.0",
20
+ "@openui5/sap.ui.fl": "1.111.0",
21
+ "@openui5/sap.ui.layout": "1.111.0"
22
22
  }
23
23
  }
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
7
  * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
8
8
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
9
- <version>1.110.0</version>
9
+ <version>1.111.0</version>
10
10
 
11
11
  <documentation>UI5 library: sap.ui.support</documentation>
12
12
 
@@ -13,7 +13,7 @@ sap.ui.define(["sap/base/Log"],
13
13
 
14
14
  var Bootstrap = {
15
15
  initSupportRules: function (aSettings, oDelegates) {
16
- sap.ui.require(["sap/ui/support/supportRules/Main", "sap/ui/support/jQuery.sap.support"], function (Main) {
16
+ sap.ui.require(["sap/ui/support/supportRules/Main"], function (Main) {
17
17
  if (aSettings[0].toLowerCase() === "true" || aSettings[0].toLowerCase() === "silent") {
18
18
 
19
19
  var bHasReadyFunction = oDelegates && oDelegates.onReady && typeof oDelegates.onReady === "function";
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @namespace
33
33
  * @alias sap.ui.support.RuleAnalyzer
34
34
  * @author SAP SE
35
- * @version 1.110.0
35
+ * @version 1.111.0
36
36
  * @public
37
37
  */
38
38
  var RuleAnalyzer = {
@@ -34,7 +34,7 @@ sap.ui.define(["sap/ui/thirdparty/jquery",
34
34
  * @namespace
35
35
  * @deprecated Since version 1.60.0. Please use sap/ui/support/RuleAnalyzer instead.
36
36
  * @author SAP SE
37
- * @version 1.110.0
37
+ * @version 1.111.0
38
38
  * @public
39
39
  */
40
40
  jQuery.sap.support = {
@@ -23,7 +23,7 @@ sap.ui.define(["sap/ui/core/library"],
23
23
  * @namespace
24
24
  * @alias sap.ui.support
25
25
  * @author SAP SE
26
- * @version 1.110.0
26
+ * @version 1.111.0
27
27
  * @since 1.50
28
28
  * @public
29
29
  */
@@ -37,7 +37,7 @@ sap.ui.define(["sap/ui/core/library"],
37
37
  controls: [],
38
38
  elements: [],
39
39
  noLibraryCSS: true,
40
- version: "1.110.0",
40
+ version: "1.111.0",
41
41
  extensions: {
42
42
  //Configuration used for rule loading of Support Assistant
43
43
  "sap.ui.support": {
@@ -147,28 +147,30 @@ function (library, IssueManager, RuleSetLoader, StringHistoryFormatter, AbapHist
147
147
  * @param {Object} oContext the context of the analysis
148
148
  */
149
149
  saveAnalysis: function (oContext) {
150
- var mIssues = IssueManager.groupIssues(IssueManager.getIssuesModel()),
151
- aIssues = IssueManager.getIssues(),
152
- mRules = RuleSetLoader.getRuleSets(),
153
- mSelectedRules = oContext._oSelectedRulesIds,
154
- oSelectedRulePreset = oContext._oSelectedRulePreset;
155
-
156
- _aRuns.push({
157
- date: new Date().toUTCString(),
158
- issues: mIssues,
159
- onlyIssues: aIssues,
160
- application: oContext._oDataCollector.getAppInfo(),
161
- technical: oContext._oDataCollector.getTechInfoJSON(),
162
- rules: IssueManager.getRulesViewModel(mRules, mSelectedRules, mIssues),
163
- rulePreset: oSelectedRulePreset,
164
- scope: {
165
- executionScope: {
166
- type: oContext._oExecutionScope.getType(),
167
- selectors: oContext._oExecutionScope._getContext().parentId || oContext._oExecutionScope._getContext().components
168
- }
169
- },
170
- analysisDuration: oContext._oAnalyzer.getElapsedTimeString(),
171
- analysisMetadata: oContext._oAnalysisMetadata || null
150
+ return oContext._oDataCollector.getTechInfoJSON().then(function (oTechData) {
151
+ var mIssues = IssueManager.groupIssues(IssueManager.getIssuesModel()),
152
+ aIssues = IssueManager.getIssues(),
153
+ mRules = RuleSetLoader.getRuleSets(),
154
+ mSelectedRules = oContext._oSelectedRulesIds,
155
+ oSelectedRulePreset = oContext._oSelectedRulePreset;
156
+
157
+ _aRuns.push({
158
+ date: new Date().toUTCString(),
159
+ issues: mIssues,
160
+ onlyIssues: aIssues,
161
+ application: oContext._oDataCollector.getAppInfo(),
162
+ technical: oTechData,
163
+ rules: IssueManager.getRulesViewModel(mRules, mSelectedRules, mIssues),
164
+ rulePreset: oSelectedRulePreset,
165
+ scope: {
166
+ executionScope: {
167
+ type: oContext._oExecutionScope.getType(),
168
+ selectors: oContext._oExecutionScope._getContext().parentId || oContext._oExecutionScope._getContext().components
169
+ }
170
+ },
171
+ analysisDuration: oContext._oAnalyzer.getElapsedTimeString(),
172
+ analysisMetadata: oContext._oAnalysisMetadata || null
173
+ });
172
174
  });
173
175
  },
174
176
 
@@ -6,7 +6,9 @@
6
6
 
7
7
  sap.ui.define([
8
8
  "sap/base/Log",
9
+ "sap/ui/VersionInfo",
9
10
  "sap/ui/base/ManagedObject",
11
+ "sap/ui/core/Core",
10
12
  "sap/ui/core/Element",
11
13
  "sap/ui/core/Component",
12
14
  "sap/ui/support/supportRules/Analyzer",
@@ -23,7 +25,7 @@ sap.ui.define([
23
25
  "sap/ui/support/supportRules/RuleSerializer",
24
26
  "sap/ui/support/library"
25
27
  ],
26
- function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
28
+ function (Log, VersionInfo, ManagedObject, Core, Element, Component, Analyzer, CoreFacade,
27
29
  ExecutionScope, Highlighter, CommunicationBus,
28
30
  IssueManager, History, DataCollector, channelNames,
29
31
  constants, RuleSetLoader, RuleSerializer, library) {
@@ -64,6 +66,15 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
64
66
  }
65
67
  });
66
68
 
69
+ Main.prototype.exit = function () {
70
+ IFrameController._stop();
71
+ this._pluginStarted = false;
72
+ this._oCore = null;
73
+ this._oCoreFacade = null;
74
+ this._oDataCollector = null;
75
+ this._oExecutionScope = null;
76
+ };
77
+
67
78
  /**
68
79
  * Checks if the current page is inside an iFrame.
69
80
  *
@@ -80,7 +91,7 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
80
91
  };
81
92
 
82
93
  /**
83
- * This controller is started by the core as a plugin.
94
+ * Starting this controller.
84
95
  *
85
96
  * @private
86
97
  * @param {Object[]} aSupportModeConfig Configuration for the SupportAssistant when it's launched.
@@ -90,56 +101,53 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
90
101
  return;
91
102
  }
92
103
 
93
- this._pluginStarted = true;
104
+ this._aSupportModeConfig = aSupportModeConfig;
94
105
 
95
- var that = this;
106
+ if (Core.isInitialized()) {
107
+ this._initPlugin();
108
+ } else {
109
+ Core.attachInit(this._initPlugin.bind(this));
110
+ }
111
+ };
96
112
 
97
- sap.ui.getCore().registerPlugin({
98
- startPlugin: function (oCore) {
99
- that._supportModeConfig = aSupportModeConfig = aSupportModeConfig || oCore.getConfiguration().getSupportMode();
100
- CommunicationBus.bSilentMode = aSupportModeConfig.indexOf("silent") > -1;
101
- that._setCommunicationSubscriptions();
102
-
103
- // If the current page is inside of an iframe don't start the Support tool.
104
- // Otherwise if there are any iframes inside a page, all of them
105
- // will have the Support tool started along with the parent page.
106
- var bForceUIInFrame = that._isInIframe() && aSupportModeConfig.indexOf("frame-force-ui") !== -1;
107
-
108
- that._oCore = oCore;
109
- that._oDataCollector = new DataCollector(oCore);
110
- that._oCoreFacade = CoreFacade(oCore);
111
- that._oExecutionScope = null;
112
- that._createElementSpies();
113
- oCore.attachLibraryChanged(RuleSetLoader._onLibraryChanged);
114
-
115
- // Make sure that we load UI frame, when no parameter supplied
116
- // but tools is required to load, or when parameter is there
117
- // but is not equal to 'silent'
118
- if (!aSupportModeConfig ||
119
- aSupportModeConfig.indexOf("silent") === -1 ||
120
- bForceUIInFrame) {
121
- // Lazily, asynchronously load the frame controller
122
- sap.ui.require(["sap/ui/support/supportRules/ui/IFrameController"], function (IFrameCtrl) {
123
- IFrameController = IFrameCtrl;
124
-
125
- IFrameController.injectFrame(aSupportModeConfig);
126
- CommunicationBus.allowFrame(IFrameController.getCommunicationInfo());
127
- });
128
- } else {
129
- RuleSetLoader.updateRuleSets(function () {
130
- that.fireEvent("ready");
131
- });
132
- }
133
- },
134
- stopPlugin: function () {
135
- IFrameController._stop();
136
- that._pluginStarted = false;
137
- that._oCore = null;
138
- that._oCoreFacade = null;
139
- that._oDataCollector = null;
140
- that._oExecutionScope = null;
141
- }
142
- });
113
+ Main.prototype._initPlugin = function () {
114
+ var aSupportModeConfig = this._aSupportModeConfig;
115
+ this._pluginStarted = true;
116
+
117
+ this._supportModeConfig = aSupportModeConfig = aSupportModeConfig || Core.getConfiguration().getSupportMode();
118
+ CommunicationBus.bSilentMode = aSupportModeConfig.indexOf("silent") > -1;
119
+ this._setCommunicationSubscriptions();
120
+
121
+ // If the current page is inside an iframe don't start the Support tool.
122
+ // Otherwise if there are any iframes inside a page, all of them
123
+ // will have the Support tool started along with the parent page.
124
+ var bForceUIInFrame = this._isInIframe() && aSupportModeConfig.indexOf("frame-force-ui") !== -1;
125
+
126
+ this._oCore = Core;
127
+ this._oDataCollector = new DataCollector(Core);
128
+ this._oCoreFacade = CoreFacade(Core);
129
+ this._oExecutionScope = null;
130
+ this._createElementSpies();
131
+ Core.attachLibraryChanged(RuleSetLoader._onLibraryChanged);
132
+
133
+ // Make sure that we load UI frame, when no parameter supplied
134
+ // but tools is required to load, or when parameter is there
135
+ // but is not equal to 'silent'
136
+ if (!aSupportModeConfig ||
137
+ aSupportModeConfig.indexOf("silent") === -1 ||
138
+ bForceUIInFrame) {
139
+ // Lazily, asynchronously load the frame controller
140
+ sap.ui.require(["sap/ui/support/supportRules/ui/IFrameController"], function (IFrameCtrl) {
141
+ IFrameController = IFrameCtrl;
142
+
143
+ IFrameController.injectFrame(aSupportModeConfig);
144
+ CommunicationBus.allowFrame(IFrameController.getCommunicationInfo());
145
+ });
146
+ } else {
147
+ RuleSetLoader.updateRuleSets(function () {
148
+ this.fireEvent("ready");
149
+ }.bind(this));
150
+ }
143
151
  };
144
152
 
145
153
  /**
@@ -206,7 +214,7 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
206
214
  });
207
215
  }, this);
208
216
 
209
- CommunicationBus.subscribe(channelNames.DELETE_RULE,function (data) {
217
+ CommunicationBus.subscribe(channelNames.DELETE_RULE, function (data) {
210
218
  var oTempRule = RuleSerializer.deserialize(data),
211
219
  oTempRuleSet = RuleSetLoader.getRuleSet(constants.TEMP_RULESETS_NAME).ruleset;
212
220
 
@@ -220,14 +228,15 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
220
228
  }, this);
221
229
 
222
230
  CommunicationBus.subscribe(channelNames.ON_DOWNLOAD_REPORT_REQUEST, function (reportConstants) {
223
- var data = this._getReportData(reportConstants);
224
- sap.ui.require(["sap/ui/support/supportRules/report/ReportProvider"], function (ReportProvider) {
225
- ReportProvider.downloadReportZip(data);
231
+ this._getReportData(reportConstants).then(function (oData) {
232
+ sap.ui.require(["sap/ui/support/supportRules/report/ReportProvider"], function (ReportProvider) {
233
+ ReportProvider.downloadReportZip(oData);
234
+ });
226
235
  });
227
236
  }, this);
228
237
 
229
238
  CommunicationBus.subscribe(channelNames.HIGHLIGHT_ELEMENT, function (id) {
230
- var $domElem = sap.ui.getCore().byId(id).$();
239
+ var $domElem = Core.byId(id).$();
231
240
  $domElem.css("background-color", "red");
232
241
  }, this);
233
242
 
@@ -258,19 +267,21 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
258
267
 
259
268
  CommunicationBus.subscribe(channelNames.ON_INIT_ANALYSIS_CTRL, function () {
260
269
  RuleSetLoader.updateRuleSets(function () {
261
- CommunicationBus.publish(channelNames.POST_APPLICATION_INFORMATION, {
262
- // Sends info about the application under test
263
- // Using deprecated function to ensure this would work for older versions.
264
- versionInfo: sap.ui.getVersionInfo()
265
- });
266
- this.fireEvent("ready");
270
+ VersionInfo.load().then(function (oVersionInfo) {
271
+ CommunicationBus.publish(channelNames.POST_APPLICATION_INFORMATION, {
272
+ // Sends info about the application under test
273
+ versionInfo: oVersionInfo
274
+ });
275
+ this.fireEvent("ready");
276
+ }.bind(this));
267
277
  }.bind(this));
268
278
  }, this);
269
279
 
270
280
  CommunicationBus.subscribe(channelNames.ON_SHOW_REPORT_REQUEST, function (reportConstants) {
271
- var data = this._getReportData(reportConstants);
272
- sap.ui.require(["sap/ui/support/supportRules/report/ReportProvider"], function (ReportProvider) {
273
- ReportProvider.openReport(data);
281
+ this._getReportData(reportConstants).then(function (oData) {
282
+ sap.ui.require(["sap/ui/support/supportRules/report/ReportProvider"], function (ReportProvider) {
283
+ ReportProvider.openReport(oData);
284
+ });
274
285
  });
275
286
  }, this);
276
287
 
@@ -380,7 +391,7 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
380
391
  this._setSelectedRules(vRuleDescriptors);
381
392
 
382
393
  return this._oAnalyzer.start(this._aSelectedRules, this._oCoreFacade, this._oExecutionScope).then(function() {
383
- that._done();
394
+ return that._done();
384
395
  });
385
396
  };
386
397
 
@@ -392,8 +403,7 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
392
403
  * @return {boolean} true if the scope is valid
393
404
  */
394
405
  Main.prototype._isExecutionScopeValid = function (oExecutionScope) {
395
- var oCore = sap.ui.getCore(),
396
- aSelectors = [],
406
+ var aSelectors = [],
397
407
  bHasValidSelector = false,
398
408
  i;
399
409
 
@@ -414,7 +424,7 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
414
424
  }
415
425
 
416
426
  for (i = 0; i < aSelectors.length; i++) {
417
- if (oCore.byId(aSelectors[i])) {
427
+ if (Core.byId(aSelectors[i])) {
418
428
  bHasValidSelector = true;
419
429
  break;
420
430
  }
@@ -520,7 +530,7 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
520
530
  elapsedTime: this._oAnalyzer.getElapsedTimeString()
521
531
  });
522
532
 
523
- History.saveAnalysis(this);
533
+ return History.saveAnalysis(this);
524
534
  };
525
535
 
526
536
  /**
@@ -652,29 +662,31 @@ function (Log, ManagedObject, Element, Component, Analyzer, CoreFacade,
652
662
  * @returns {object} Contains all the information required to create a report
653
663
  */
654
664
  Main.prototype._getReportData = function (oReportConstants) {
655
- var mIssues = IssueManager.groupIssues(IssueManager.getIssuesModel()),
656
- mRules = RuleSetLoader.getRuleSets(),
657
- mSelectedRules = this._oSelectedRulesIds,
658
- oSelectedRulePreset = this._oSelectedRulePreset || null;
659
-
660
- return {
661
- issues: mIssues,
662
- technical: this._oDataCollector.getTechInfoJSON(),
663
- application: this._oDataCollector.getAppInfo(),
664
- rules: IssueManager.getRulesViewModel(mRules, mSelectedRules, mIssues),
665
- rulePreset: oSelectedRulePreset,
666
- scope: {
667
- executionScope: this._oExecutionScope,
668
- scopeDisplaySettings: {
669
- executionScopes: oReportConstants.executionScopes,
670
- executionScopeTitle: oReportConstants.executionScopeTitle
671
- }
672
- },
673
- analysisDuration: this._oAnalyzer.getElapsedTimeString(),
674
- analysisDurationTitle: oReportConstants.analysisDurationTitle,
675
- abap: History.getFormattedHistory(library.HistoryFormats.Abap),
676
- name: constants.SUPPORT_ASSISTANT_NAME
677
- };
665
+ return this._oDataCollector.getTechInfoJSON().then(function (oTechData) {
666
+ var mIssues = IssueManager.groupIssues(IssueManager.getIssuesModel()),
667
+ mRules = RuleSetLoader.getRuleSets(),
668
+ mSelectedRules = this._oSelectedRulesIds,
669
+ oSelectedRulePreset = this._oSelectedRulePreset || null;
670
+
671
+ return {
672
+ issues: mIssues,
673
+ technical: oTechData,
674
+ application: this._oDataCollector.getAppInfo(),
675
+ rules: IssueManager.getRulesViewModel(mRules, mSelectedRules, mIssues),
676
+ rulePreset: oSelectedRulePreset,
677
+ scope: {
678
+ executionScope: this._oExecutionScope,
679
+ scopeDisplaySettings: {
680
+ executionScopes: oReportConstants.executionScopes,
681
+ executionScopeTitle: oReportConstants.executionScopeTitle
682
+ }
683
+ },
684
+ analysisDuration: this._oAnalyzer.getElapsedTimeString(),
685
+ analysisDurationTitle: oReportConstants.analysisDurationTitle,
686
+ abap: History.getFormattedHistory(library.HistoryFormats.Abap),
687
+ name: constants.SUPPORT_ASSISTANT_NAME
688
+ };
689
+ }.bind(this));
678
690
  };
679
691
 
680
692
  /**
@@ -35,7 +35,7 @@ function (Log, Version, library, storage, constants) {
35
35
  * @private
36
36
  * @alias sap.ui.support.RuleSet
37
37
  * @author SAP SE
38
- * @version 1.110.0
38
+ * @version 1.111.0
39
39
  * @param {object} oSettings Name of the initiated
40
40
  */
41
41
  var RuleSet = function (oSettings) {
@@ -53,7 +53,7 @@ sap.ui.define([
53
53
  *
54
54
  * @name sap.ui.support.Storage
55
55
  * @author SAP SE.
56
- * @version 1.110.0
56
+ * @version 1.111.0
57
57
  * @private
58
58
  */
59
59
  return /** @lends sap.ui.support.Storage */ {
@@ -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.110.0
27
+ * @version 1.111.0
28
28
  * @private
29
29
  */
30
30
  var WindowCommunicationBus = BaseObject.extend("sap.ui.support.supportRules.WindowCommunicationBus", {
@@ -7,8 +7,8 @@
7
7
  /**
8
8
  * Provides methods for information retrieval from the core.
9
9
  */
10
- sap.ui.define(["sap/ui/core/Core", "sap/base/util/LoaderExtensions", 'sap/base/security/encodeXML', "sap/ui/core/Component", "sap/ui/core/Configuration", "sap/ui/core/theming/ThemeManager", "sap/ui/core/support/ToolsAPI", "sap/ui/thirdparty/URI"],
11
- function (Core, LoaderExtensions, encodeXML, Component, Configuration, ThemeManager, ToolsAPI, URI) {
10
+ sap.ui.define(["sap/ui/core/Core", "sap/ui/VersionInfo", "sap/base/util/LoaderExtensions", 'sap/base/security/encodeXML', "sap/ui/core/Component", "sap/ui/core/Configuration", "sap/ui/core/theming/ThemeManager", "sap/ui/core/support/ToolsAPI", "sap/ui/thirdparty/URI"],
11
+ function (Core, VersionInfo, LoaderExtensions, encodeXML, Component, Configuration, ThemeManager, ToolsAPI, URI) {
12
12
  "use strict";
13
13
 
14
14
  /**
@@ -143,17 +143,15 @@ sap.ui.define(["sap/ui/core/Core", "sap/base/util/LoaderExtensions", 'sap/base/s
143
143
  }
144
144
  oTechData.themePaths = aResults;
145
145
 
146
- //add SAPUI5 version object
147
- try {
146
+ return VersionInfo.load().then(function (oVersionInfo) {
147
+ // add SAPUI5 version object
148
148
  oTechData.sapUi5Version = {
149
- version: sap.ui.getVersionInfo(),
149
+ version: oVersionInfo,
150
150
  path: sap.ui.require.toUrl("sap-ui-version.json")
151
151
  };
152
- } catch (ex) {
153
- oTechData.sapUi5Version = null;
154
- }
155
152
 
156
- return oTechData;
153
+ return oTechData;
154
+ });
157
155
  };
158
156
 
159
157
  return DataCollector;
@@ -102,11 +102,13 @@ sap.ui.define([
102
102
  },
103
103
 
104
104
  initSettingsPopoverModel: function () {
105
- var supportAssistantOrigin = new URL(sap.ui.require.toUrl("sap/ui/support"), window.location.origin + window.location.pathname).toString(),
106
- supportAssistantVersion = sap.ui.version;
105
+ VersionInfo.load().then(function (oVersionInfo) {
106
+ var supportAssistantOrigin = new URL(sap.ui.require.toUrl("sap/ui/support"), window.location.origin + window.location.pathname).toString(),
107
+ supportAssistantVersion = oVersionInfo.version;
107
108
 
108
- this.model.setProperty("/supportAssistantOrigin", supportAssistantOrigin);
109
- this.model.setProperty("/supportAssistantVersion", supportAssistantVersion);
109
+ this.model.setProperty("/supportAssistantOrigin", supportAssistantOrigin);
110
+ this.model.setProperty("/supportAssistantVersion", supportAssistantVersion);
111
+ }.bind(this));
110
112
  },
111
113
 
112
114
  copySupportAssistantOriginToClipboard: function (oEvent) {
@@ -89,7 +89,7 @@ sap.ui.define([
89
89
  *
90
90
  * @extends sap.ui.support.supportRules.ui.controllers.BaseController
91
91
  * @author SAP SE
92
- * @version 1.110.0
92
+ * @version 1.111.0
93
93
  * @private
94
94
  * @alias sap.ui.support.supportRules.ui.controllers.PresetsController
95
95
  */
@@ -190,40 +190,54 @@
190
190
  </t:Column>
191
191
  </t:columns>
192
192
  </t:Table>
193
- <f:SimpleForm
193
+ <f:Form
194
194
  editable="true"
195
- visible="{= ${/visibleIssuesCount} > 0}"
196
- layout="ResponsiveGridLayout"
197
- breakpointM="400">
198
- <f:content>
199
- <Label text="Details" />
200
- <Text
201
- text="{/selectedIssue/details}"
202
- width="100%"
203
- visible="{= ${/selectedIssue/details} !== ''}"/>
204
- <Label text="Resolution" />
205
- <Text text="{/selectedIssue/resolution}" />
206
- <Label
207
- text="URLs"
208
- visible="{
209
- parts: [
210
- '/selectedIssue/resolutionUrls'
211
- ],
212
- formatter: '.formatter.hasResolutionUrls'
213
- }" />
214
- <HBox
215
- wrap="Wrap"
216
- items="{/selectedIssue/resolutionUrls}">
217
- <Link text="{
218
- parts: [
219
- '/selectedIssue/resolutionUrls',
220
- ''
221
- ],
222
- formatter: '.formatter.resolutionUrl'
223
- }" press="openDocumentation" />
224
- </HBox>
225
- </f:content>
226
- </f:SimpleForm>
195
+ visible="{= ${/visibleIssuesCount} > 0}">
196
+ <f:layout>
197
+ <f:ColumnLayout />
198
+ </f:layout>
199
+ <f:formContainers>
200
+ <f:FormContainer>
201
+ <f:formElements>
202
+ <f:FormElement label="Details">
203
+ <f:fields>
204
+ <Text
205
+ text="{/selectedIssue/details}"
206
+ width="100%"
207
+ visible="{= ${/selectedIssue/details} !== ''}"/>
208
+ </f:fields>
209
+ </f:FormElement>
210
+ <f:FormElement label="Resolution">
211
+ <f:fields>
212
+ <Text text="{/selectedIssue/resolution}" />
213
+ </f:fields>
214
+ </f:FormElement>
215
+ <f:FormElement label="URLs"
216
+ visible="{
217
+ parts: [
218
+ '/selectedIssue/resolutionUrls'
219
+ ],
220
+ formatter: '.formatter.hasResolutionUrls'
221
+ }"
222
+ fields="{/selectedIssue/resolutionUrls}">
223
+ <f:fields>
224
+ <Link text="{
225
+ parts: [
226
+ '/selectedIssue/resolutionUrls',
227
+ ''
228
+ ],
229
+ formatter: '.formatter.resolutionUrl'
230
+ }" press="openDocumentation">
231
+ <layoutData>
232
+ <f:ColumnElementData cellsLarge="8" cellsSmall="12" />
233
+ </layoutData>
234
+ </Link>
235
+ </f:fields>
236
+ </f:FormElement>
237
+ </f:formElements>
238
+ </f:FormContainer>
239
+ </f:formContainers>
240
+ </f:Form>
227
241
  </Panel>
228
242
  </content>
229
243
  </Page>
@@ -27,35 +27,69 @@
27
27
  </m:HBox>
28
28
  </m:contentLeft>
29
29
  </m:Bar>
30
- <f:SimpleForm
30
+ <f:Form
31
31
  visible="{= ${/selectedRule/type} !== 'library' &amp;&amp; ${/selectedRulePreviewKey} === 'ruleProperties' &amp;&amp; ${/selectedRule} !== undefined &amp;&amp; ${/selectedSetPreviewKey} !== 'additionalRulesets'}">
32
- <f:content>
33
- <m:Label text="ID" />
34
- <m:Text id="ruleID" text="{/selectedRule/id}" />
35
- <m:Label text="Title" />
36
- <m:Text id="ruleTitle" text="{/selectedRule/title}" />
37
- <m:Label text="Async" />
38
- <m:Text id="ruleAsync" text="{= ${/selectedRule/async} === true }" />
39
- <m:Label text="Audiences" />
40
- <m:Text id="ruleAudience" text="{/selectedRule/audiences}" />
41
- <m:Label text="Categories" />
42
- <m:Text id="ruleCategory" text="{/selectedRule/categories}" />
43
- <m:Label text="Min version" />
44
- <m:Text id="ruleMinVersion" text="{/selectedRule/minversion}" />
45
- <m:Label text="Description" />
46
- <m:Text id="ruleDescription" text="{/selectedRule/description}" />
47
- <m:Label text="Resolution" />
48
- <m:Text id="ruleResolution" text="{/selectedRule/resolution}" />
49
- <m:Label text="Resolution URLs" />
50
- <l:VerticalLayout
51
- content="{/selectedRule/resolutionurls}">
52
- <m:Link target="_blank"
53
- text="{text}"
54
- href="{href}"/>
55
- </l:VerticalLayout>
56
- </f:content>
57
- <f:layoutData><l:SplitterLayoutData size="40%" /></f:layoutData>
58
- </f:SimpleForm>
32
+ <f:layout>
33
+ <f:ColumnLayout />
34
+ </f:layout>
35
+ <f:formContainers>
36
+ <f:FormContainer>
37
+ <f:formElements>
38
+ <f:FormElement label="ID">
39
+ <f:fields>
40
+ <m:Text text="{/selectedRule/id}" id="ruleID" />
41
+ </f:fields>
42
+ </f:FormElement>
43
+ <f:FormElement label="Title">
44
+ <f:fields>
45
+ <m:Text text="{/selectedRule/title}" id="ruleTitle" />
46
+ </f:fields>
47
+ </f:FormElement>
48
+ <f:FormElement label="Async">
49
+ <f:fields>
50
+ <m:Text text="{= ${/selectedRule/async} === true }" id="ruleAsync" />
51
+ </f:fields>
52
+ </f:FormElement>
53
+ <f:FormElement label="Audiences">
54
+ <f:fields>
55
+ <m:Text text="{/selectedRule/audiences}" id="ruleAudience" />
56
+ </f:fields>
57
+ </f:FormElement>
58
+ <f:FormElement label="Categories">
59
+ <f:fields>
60
+ <m:Text id="ruleCategory" text="{/selectedRule/categories}" />
61
+ </f:fields>
62
+ </f:FormElement>
63
+ <f:FormElement label="Min version">
64
+ <f:fields>
65
+ <m:Text id="ruleMinVersion" text="{/selectedRule/minversion}" />
66
+ </f:fields>
67
+ </f:FormElement>
68
+ <f:FormElement label="Description">
69
+ <f:fields>
70
+ <m:Text id="ruleDescription" text="{/selectedRule/description}" />
71
+ </f:fields>
72
+ </f:FormElement>
73
+ <f:FormElement label="Resolution">
74
+ <f:fields>
75
+ <m:Text id="ruleResolution" text="{/selectedRule/resolution}" />
76
+ </f:fields>
77
+ </f:FormElement>
78
+ <f:FormElement label="Resolution URLs" fields="{/selectedRule/resolutionurls}">
79
+ <f:fields>
80
+ <m:Link target="_blank"
81
+ text="{text}"
82
+ href="{href}">
83
+ <m:layoutData>
84
+ <f:ColumnElementData cellsLarge="8" cellsSmall="12" />
85
+ </m:layoutData>
86
+ </m:Link>
87
+ </f:fields>
88
+ </f:FormElement>
89
+ </f:formElements>
90
+ </f:FormContainer>
91
+ </f:formContainers>
92
+ </f:Form>
59
93
  <m:Panel
60
94
  width="100%"
61
95
  height="calc(100% - 2rem)"
@@ -30,71 +30,102 @@
30
30
  </m:IconTabHeader>
31
31
  </m:contentMiddle>
32
32
  </m:Bar>
33
- <f:SimpleForm
34
- visible="{= ${/selectedRuleEditKey} === 'ruleProperties' }"
35
- editable="true">
36
- <f:content>
37
- <m:Label text="ID" />
38
- <m:Input value="{/editRule/id}" required = "true" />
39
- <m:Label text="Async" />
40
- <m:HBox>
41
- <m:items>
42
- <m:RadioButton groupName="asyncEditContext" text="true" selected="{= ${/editRule/async} === true }" select="onAsyncSwitch">
43
- <m:customData>
44
- <c:CustomData key="asyncEditContext" value="true" />
45
- </m:customData>
46
- </m:RadioButton>
47
- <m:RadioButton groupName="asyncEditContext" text="false" selected="{= ${/editRule/async} !== true }" select="onAsyncSwitch">
48
- <m:customData>
49
- <c:CustomData key="asyncEditContext" value="false" />
50
- </m:customData>
51
- </m:RadioButton>
52
- <c:Icon
53
- src="sap-icon://message-warning"
54
- class="sapUiSmallMarginBegin sapUiTinyMarginEnd"
55
- color="#E09D00"
56
- visible="{= ${/editRule/async} === true }">
57
- <c:layoutData>
58
- <m:FlexItemData alignSelf="Center" />
59
- </c:layoutData>
60
- </c:Icon>
61
- <m:Text text="{/resolveDescription}" visible="{= ${/editRule/async} === true }">
62
- <m:layoutData>
63
- <m:FlexItemData alignSelf="Center" />
64
- </m:layoutData>
65
- </m:Text>
66
- </m:items>
67
- </m:HBox>
68
- <m:Label text="Categories" />
69
- <m:MultiComboBox selectedKeys="{/editRule/categories}" items="{/categories}" required = "true">
70
- <c:Item key="{}" text="{}" />
71
- </m:MultiComboBox>
72
- <m:Label text="Audiences" />
73
- <m:MultiComboBox selectedKeys="{/editRule/audiences}" items="{/audiences}" required = "true">
74
- <c:Item key="{}" text="{}" />
75
- </m:MultiComboBox>
76
- <m:Label text="Title" />
77
- <m:Input value="{/editRule/title}" required = "true" />
78
- <m:Label text="Description" />
79
- <m:TextArea value="{/editRule/description}" required = "true"/>
80
- <m:Label text="Resolution" />
81
- <m:TextArea value="{/editRule/resolution}" required = "true"/>
82
- <m:Label text="Min version" />
83
- <m:TextArea value="{/editRule/minversion}" required = "true"/>
84
- <m:Label text="Resolution URLS" />
85
- <l:VerticalLayout>
86
- <l:HorizontalLayout>
87
- <m:Input placeholder="Text" value="{/tempLink/text}" />
88
- <m:Input placeholder="Href" value="{/tempLink/href}" />
89
- <m:Button text="Add Link" press="addLinkToRule" icon="sap-icon://add" />
90
- </l:HorizontalLayout>
91
- <l:VerticalLayout
92
- content="{/editRule/resolutionurls}">
93
- <m:Link text="{text}" href="{href}" target="_blank"/>
94
- </l:VerticalLayout>
95
- </l:VerticalLayout>
96
- </f:content>
97
- </f:SimpleForm>
33
+ <f:Form
34
+ editable="true"
35
+ visible="{= ${/selectedRuleEditKey} === 'ruleProperties' }">
36
+ <f:layout>
37
+ <f:ColumnLayout />
38
+ </f:layout>
39
+ <f:formContainers>
40
+ <f:FormContainer>
41
+ <f:formElements>
42
+ <f:FormElement label="ID">
43
+ <f:fields>
44
+ <m:Input value="{/editRule/id}" required = "true" />
45
+ </f:fields>
46
+ </f:FormElement>
47
+ <f:FormElement label="Async">
48
+ <f:fields>
49
+ <m:RadioButton groupName="asyncEditContext" text="true" selected="{= ${/editRule/async} === true }" select="onAsyncSwitch">
50
+ <m:customData>
51
+ <c:CustomData key="asyncEditContext" value="true" />
52
+ </m:customData>
53
+ </m:RadioButton>
54
+ <m:RadioButton groupName="asyncEditContext" text="false" selected="{= ${/editRule/async} !== true }" select="onAsyncSwitch">
55
+ <m:customData>
56
+ <c:CustomData key="asyncEditContext" value="false" />
57
+ </m:customData>
58
+ </m:RadioButton>
59
+ <c:Icon
60
+ src="sap-icon://message-warning"
61
+ class="sapUiSmallMarginBegin sapUiTinyMarginEnd"
62
+ color="#E09D00"
63
+ visible="{= ${/editRule/async} === true }">
64
+ <c:layoutData>
65
+ <m:FlexItemData alignSelf="Center" />
66
+ </c:layoutData>
67
+ </c:Icon>
68
+ <m:Text text="{/resolveDescription}" visible="{= ${/editRule/async} === true }">
69
+ <m:layoutData>
70
+ <m:FlexItemData alignSelf="Center" />
71
+ </m:layoutData>
72
+ </m:Text>
73
+ </f:fields>
74
+ </f:FormElement>
75
+ <f:FormElement label="Categories">
76
+ <f:fields>
77
+ <m:MultiComboBox selectedKeys="{/editRule/categories}" items="{/categories}" required = "true">
78
+ <c:Item key="{}" text="{}" />
79
+ </m:MultiComboBox>
80
+ </f:fields>
81
+ </f:FormElement>
82
+ <f:FormElement label="Audiences">
83
+ <f:fields>
84
+ <m:MultiComboBox selectedKeys="{/editRule/audiences}" items="{/audiences}" required = "true">
85
+ <c:Item key="{}" text="{}" />
86
+ </m:MultiComboBox>
87
+ </f:fields>
88
+ </f:FormElement>
89
+ <f:FormElement label="Title">
90
+ <f:fields>
91
+ <m:Input value="{/editRule/title}" required = "true" />
92
+ </f:fields>
93
+ </f:FormElement>
94
+ <f:FormElement label="Description">
95
+ <f:fields>
96
+ <m:TextArea value="{/editRule/description}" required = "true"/>
97
+ </f:fields>
98
+ </f:FormElement>
99
+ <f:FormElement label="Resolution">
100
+ <f:fields>
101
+ <m:TextArea value="{/editRule/resolution}" required = "true"/>
102
+ </f:fields>
103
+ </f:FormElement>
104
+ <f:FormElement label="Min version">
105
+ <f:fields>
106
+ <m:TextArea value="{/editRule/minversion}" required = "true"/>
107
+ </f:fields>
108
+ </f:FormElement>
109
+ <f:FormElement label="Resolution URLS">
110
+ <f:fields>
111
+ <m:Input placeholder="Text" value="{/tempLink/text}" />
112
+ <m:Input placeholder="Href" value="{/tempLink/href}" />
113
+ <m:Button text="Add Link" press="addLinkToRule" icon="sap-icon://add" />
114
+ </f:fields>
115
+ </f:FormElement>
116
+ <f:FormElement label="" fields="{/editRule/resolutionurls}">
117
+ <f:fields>
118
+ <m:Link text="{text}" href="{href}" target="_blank">
119
+ <m:layoutData>
120
+ <f:ColumnElementData cellsLarge="8" cellsSmall="12" />
121
+ </m:layoutData>
122
+ </m:Link>
123
+ </f:fields>
124
+ </f:FormElement>
125
+ </f:formElements>
126
+ </f:FormContainer>
127
+ </f:formContainers>
128
+ </f:Form>
98
129
  <m:Panel width="100%"
99
130
  height="calc(100% - 2rem)"
100
131
  visible="{= ${/selectedRuleEditKey} === 'checkFunction' }">
@@ -154,77 +185,102 @@
154
185
  </m:IconTabHeader>
155
186
  </m:contentMiddle>
156
187
  </m:Bar>
157
- <f:SimpleForm
158
- visible="{= ${/selectedRuleCreateKey} === 'ruleProperties' }"
159
- editable="true">
160
- <f:content>
161
- <m:Label text="ID" />
162
- <m:Input value="{/newRule/id}" required = "true"/>
163
- <m:Label text="Async" />
164
- <m:HBox>
165
- <m:items>
166
- <m:RadioButton groupName="asyncContext" text="true" selected="{= ${/newRule/async} === true }" select="onAsyncSwitch">
167
- <m:customData>
168
- <c:CustomData key="asyncContext" value="true" />
169
- </m:customData>
170
- <m:layoutData>
171
- <m:FlexItemData alignSelf="Center" />
172
- </m:layoutData>
173
- </m:RadioButton>
174
- <m:RadioButton groupName="asyncContext" text="false" selected="{= ${/newRule/async} !== true }" select="onAsyncSwitch">
175
- <m:customData>
176
- <c:CustomData key="asyncContext" value="false" />
177
- </m:customData>
178
- <m:layoutData>
179
- <m:FlexItemData alignSelf="Center" />
180
- </m:layoutData>
181
- </m:RadioButton>
182
- <c:Icon
183
- src="sap-icon://message-warning"
184
- class="sapUiSmallMarginBegin sapUiTinyMarginEnd"
185
- color="#E09D00"
186
- visible="{= ${/newRule/async} === true }">
187
- <c:layoutData>
188
- <m:FlexItemData alignSelf="Center" />
189
- </c:layoutData>
190
- </c:Icon>
191
- <m:Text text="{/resolveDescription}" visible="{= ${/newRule/async} === true }">
192
- <m:layoutData>
193
- <m:FlexItemData alignSelf="Center" />
194
- </m:layoutData>
195
- </m:Text>
196
- </m:items>
197
- </m:HBox>
198
- <m:Label text="Categories" />
199
- <m:MultiComboBox selectedKeys="{/newRule/categories}" items="{/categories}" required = "true">
200
- <c:Item key="{}" text="{}" />
201
- </m:MultiComboBox>
202
- <m:Label text="Audiences" />
203
- <m:MultiComboBox selectedKeys="{/newRule/audiences}" items="{/audiences}" required = "true">
204
- <c:Item key="{}" text="{}" />
205
- </m:MultiComboBox>
206
- <m:Label text="Title" />
207
- <m:Input value="{/newRule/title}" required = "true"/>
208
- <m:Label text="Description" />
209
- <m:TextArea value="{/newRule/description}" required = "true"/>
210
- <m:Label text="Resolution" />
211
- <m:TextArea value="{/newRule/resolution}" required = "true"/>
212
- <m:Label text="Min version" />
213
- <m:TextArea value="{/newRule/minversion}" required = "true"/>
214
- <m:Label text="Resolution URLS" />
215
- <l:VerticalLayout>
216
- <l:HorizontalLayout>
217
- <m:Input placeholder="Text" value="{/tempLink/text}" />
218
- <m:Input placeholder="Href" value="{/tempLink/href}" />
219
- <m:Button text="Add" press="addLinkToRule" icon="sap-icon://add" />
220
- </l:HorizontalLayout>
221
- <l:VerticalLayout
222
- content="{/newRule/resolutionurls}">
223
- <m:Link text="{text}" />
224
- </l:VerticalLayout>
225
- </l:VerticalLayout>
226
- </f:content>
227
- </f:SimpleForm>
188
+ <f:Form
189
+ editable="true"
190
+ visible="{= ${/selectedRuleCreateKey} === 'ruleProperties' }">
191
+ <f:layout>
192
+ <f:ColumnLayout />
193
+ </f:layout>
194
+ <f:formContainers>
195
+ <f:FormContainer>
196
+ <f:formElements>
197
+ <f:FormElement label="ID">
198
+ <f:fields>
199
+ <m:Input value="{/newRule/id}" required = "true" />
200
+ </f:fields>
201
+ </f:FormElement>
202
+ <f:FormElement label="Async">
203
+ <f:fields>
204
+ <m:RadioButton groupName="asyncContext" text="true" selected="{= ${/newRule/async} === true }" select="onAsyncSwitch">
205
+ <m:customData>
206
+ <c:CustomData key="asyncContext" value="true" />
207
+ </m:customData>
208
+ </m:RadioButton>
209
+ <m:RadioButton groupName="asyncContext" text="false" selected="{= ${/newRule/async} !== true }" select="onAsyncSwitch">
210
+ <m:customData>
211
+ <c:CustomData key="asyncContext" value="false" />
212
+ </m:customData>
213
+ </m:RadioButton>
214
+ <c:Icon
215
+ src="sap-icon://message-warning"
216
+ class="sapUiSmallMarginBegin sapUiTinyMarginEnd"
217
+ color="#E09D00"
218
+ visible="{= ${/newRule/async} === true }">
219
+ <c:layoutData>
220
+ <m:FlexItemData alignSelf="Center" />
221
+ </c:layoutData>
222
+ </c:Icon>
223
+ <m:Text text="{/resolveDescription}" visible="{= ${/newRule/async} === true }">
224
+ <m:layoutData>
225
+ <m:FlexItemData alignSelf="Center" />
226
+ </m:layoutData>
227
+ </m:Text>
228
+ </f:fields>
229
+ </f:FormElement>
230
+ <f:FormElement label="Categories">
231
+ <f:fields>
232
+ <m:MultiComboBox selectedKeys="{/newRule/categories}" items="{/categories}" required = "true">
233
+ <c:Item key="{}" text="{}" />
234
+ </m:MultiComboBox>
235
+ </f:fields>
236
+ </f:FormElement>
237
+ <f:FormElement label="Audiences">
238
+ <f:fields>
239
+ <m:MultiComboBox selectedKeys="{/newRule/audiences}" items="{/audiences}" required = "true">
240
+ <c:Item key="{}" text="{}" />
241
+ </m:MultiComboBox>
242
+ </f:fields>
243
+ </f:FormElement>
244
+ <f:FormElement label="Title">
245
+ <f:fields>
246
+ <m:Input value="{/newRule/title}" required = "true" />
247
+ </f:fields>
248
+ </f:FormElement>
249
+ <f:FormElement label="Description">
250
+ <f:fields>
251
+ <m:TextArea value="{/newRule/description}" required = "true"/>
252
+ </f:fields>
253
+ </f:FormElement>
254
+ <f:FormElement label="Resolution">
255
+ <f:fields>
256
+ <m:TextArea value="{/newRule/resolution}" required = "true"/>
257
+ </f:fields>
258
+ </f:FormElement>
259
+ <f:FormElement label="Min version">
260
+ <f:fields>
261
+ <m:TextArea value="{/newRule/minversion}" required = "true"/>
262
+ </f:fields>
263
+ </f:FormElement>
264
+ <f:FormElement label="Resolution URLS">
265
+ <f:fields>
266
+ <m:Input placeholder="Text" value="{/tempLink/text}" />
267
+ <m:Input placeholder="Href" value="{/tempLink/href}" />
268
+ <m:Button text="Add" press="addLinkToRule" icon="sap-icon://add" />
269
+ </f:fields>
270
+ </f:FormElement>
271
+ <f:FormElement label="" fields="{/newRule/resolutionurls}">
272
+ <f:fields>
273
+ <m:Link text="{text}" >
274
+ <m:layoutData>
275
+ <f:ColumnElementData cellsLarge="8" cellsSmall="12" />
276
+ </m:layoutData>
277
+ </m:Link>
278
+ </f:fields>
279
+ </f:FormElement>
280
+ </f:formElements>
281
+ </f:FormContainer>
282
+ </f:formContainers>
283
+ </f:Form>
228
284
  <m:Panel width="100%"
229
285
  height="calc(100% - 2rem)"
230
286
  visible="{= ${/selectedRuleCreateKey} === 'checkFunction' }">