@sapui5/sap.fe.templates 1.141.1 → 1.142.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/fe/templates/.library +1 -1
- package/src/sap/fe/templates/AnalyticalListPage/manifest.json +1 -1
- package/src/sap/fe/templates/ListReport/ExtensionAPI.js +1 -1
- package/src/sap/fe/templates/ListReport/ExtensionAPI.ts +1 -1
- package/src/sap/fe/templates/ListReport/ListReport.view.xml +10 -12
- package/src/sap/fe/templates/ListReport/ListReportController.controller.js +95 -60
- package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +92 -53
- package/src/sap/fe/templates/ListReport/manifest.json +1 -1
- package/src/sap/fe/templates/ListReport/overrides/MessageHandler.js +25 -0
- package/src/sap/fe/templates/ListReport/overrides/MessageHandler.ts +20 -0
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +180 -13
- package/src/sap/fe/templates/ObjectPage/ExtensionAPI.ts +209 -13
- package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +4 -0
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +136 -24
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +178 -26
- package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js +3 -2
- package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.ts +2 -1
- package/src/sap/fe/templates/ObjectPage/manifest.json +1 -1
- package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +7 -4
- package/src/sap/fe/templates/ObjectPage/view/fragments/Heading.fragment.xml +2 -2
- package/src/sap/fe/templates/library.js +1 -1
- package/src/sap/fe/templates/messagebundle.properties +8 -7
- package/src/sap/fe/templates/messagebundle_ar.properties +5 -5
- package/src/sap/fe/templates/messagebundle_bg.properties +6 -6
- package/src/sap/fe/templates/messagebundle_ca.properties +4 -4
- package/src/sap/fe/templates/messagebundle_cnr.properties +5 -5
- package/src/sap/fe/templates/messagebundle_cs.properties +6 -6
- package/src/sap/fe/templates/messagebundle_cy.properties +5 -5
- package/src/sap/fe/templates/messagebundle_da.properties +6 -6
- package/src/sap/fe/templates/messagebundle_de.properties +7 -7
- package/src/sap/fe/templates/messagebundle_el.properties +5 -5
- package/src/sap/fe/templates/messagebundle_en.properties +6 -6
- package/src/sap/fe/templates/messagebundle_en_GB.properties +6 -6
- package/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +3 -3
- package/src/sap/fe/templates/messagebundle_es.properties +4 -4
- package/src/sap/fe/templates/messagebundle_es_MX.properties +4 -4
- package/src/sap/fe/templates/messagebundle_et.properties +4 -4
- package/src/sap/fe/templates/messagebundle_fi.properties +4 -4
- package/src/sap/fe/templates/messagebundle_fr.properties +4 -4
- package/src/sap/fe/templates/messagebundle_fr_CA.properties +5 -5
- package/src/sap/fe/templates/messagebundle_hi.properties +6 -6
- package/src/sap/fe/templates/messagebundle_hr.properties +4 -4
- package/src/sap/fe/templates/messagebundle_hu.properties +6 -6
- package/src/sap/fe/templates/messagebundle_id.properties +7 -7
- package/src/sap/fe/templates/messagebundle_it.properties +4 -4
- package/src/sap/fe/templates/messagebundle_iw.properties +6 -6
- package/src/sap/fe/templates/messagebundle_ja.properties +4 -4
- package/src/sap/fe/templates/messagebundle_kk.properties +4 -4
- package/src/sap/fe/templates/messagebundle_ko.properties +4 -4
- package/src/sap/fe/templates/messagebundle_lt.properties +4 -4
- package/src/sap/fe/templates/messagebundle_lv.properties +6 -6
- package/src/sap/fe/templates/messagebundle_mk.properties +4 -4
- package/src/sap/fe/templates/messagebundle_ms.properties +5 -5
- package/src/sap/fe/templates/messagebundle_nl.properties +4 -4
- package/src/sap/fe/templates/messagebundle_no.properties +4 -4
- package/src/sap/fe/templates/messagebundle_pl.properties +4 -4
- package/src/sap/fe/templates/messagebundle_pt.properties +5 -5
- package/src/sap/fe/templates/messagebundle_pt_PT.properties +6 -6
- package/src/sap/fe/templates/messagebundle_ro.properties +4 -4
- package/src/sap/fe/templates/messagebundle_ru.properties +4 -4
- package/src/sap/fe/templates/messagebundle_sh.properties +5 -5
- package/src/sap/fe/templates/messagebundle_sk.properties +4 -4
- package/src/sap/fe/templates/messagebundle_sl.properties +6 -6
- package/src/sap/fe/templates/messagebundle_sr.properties +5 -5
- package/src/sap/fe/templates/messagebundle_sv.properties +4 -4
- package/src/sap/fe/templates/messagebundle_th.properties +4 -4
- package/src/sap/fe/templates/messagebundle_tr.properties +4 -4
- package/src/sap/fe/templates/messagebundle_uk.properties +4 -4
- package/src/sap/fe/templates/messagebundle_vi.properties +6 -6
- package/src/sap/fe/templates/messagebundle_zh_CN.properties +4 -4
- package/src/sap/fe/templates/messagebundle_zh_TW.properties +4 -4
- package/src/sap/fe/templates/types/sap.fe.templates-auto-ext.d.js +10 -0
- package/src/sap/fe/templates/types/sap.fe.templates-auto-ext.d.ts +49 -0
|
@@ -9,6 +9,7 @@ import IntentBasedNavigation from "sap/fe/core/controllerextensions/IntentBasedN
|
|
|
9
9
|
import InternalIntentBasedNavigation from "sap/fe/core/controllerextensions/InternalIntentBasedNavigation";
|
|
10
10
|
import InternalRouting from "sap/fe/core/controllerextensions/InternalRouting";
|
|
11
11
|
import KPIManagement from "sap/fe/core/controllerextensions/KPIManagement";
|
|
12
|
+
import MessageHandler from "sap/fe/core/controllerextensions/MessageHandler";
|
|
12
13
|
import Placeholder from "sap/fe/core/controllerextensions/Placeholder";
|
|
13
14
|
import Share from "sap/fe/core/controllerextensions/Share";
|
|
14
15
|
import SideEffects from "sap/fe/core/controllerextensions/SideEffects";
|
|
@@ -21,11 +22,13 @@ import { getResourceModel } from "sap/fe/core/helpers/ResourceModelHelper";
|
|
|
21
22
|
import * as StableIdHelper from "sap/fe/core/helpers/StableIdHelper";
|
|
22
23
|
import { generate } from "sap/fe/core/helpers/StableIdHelper";
|
|
23
24
|
import CoreLibrary from "sap/fe/core/library";
|
|
25
|
+
import type { TitleInformation } from "sap/fe/core/rootView/RootViewBaseController";
|
|
24
26
|
import type Breadcrumbs from "sap/fe/macros/Breadcrumbs";
|
|
25
27
|
import type ChartType from "sap/fe/macros/Chart";
|
|
26
28
|
import type MacroAPI from "sap/fe/macros/MacroAPI";
|
|
27
29
|
import type ChartDelegate from "sap/fe/macros/chart/ChartDelegate";
|
|
28
30
|
import ChartUtils from "sap/fe/macros/chart/ChartUtils";
|
|
31
|
+
import type ContentSwitcher from "sap/fe/macros/contentSwitcher/ContentSwitcher";
|
|
29
32
|
import type FilterBar from "sap/fe/macros/controls/FilterBar";
|
|
30
33
|
import FilterUtils from "sap/fe/macros/filter/FilterUtils";
|
|
31
34
|
import type FilterBarAPI from "sap/fe/macros/filterBar/FilterBarAPI";
|
|
@@ -54,8 +57,10 @@ import StateUtil from "sap/ui/mdc/p13n/StateUtil";
|
|
|
54
57
|
import type JSONModel from "sap/ui/model/json/JSONModel";
|
|
55
58
|
import type Context from "sap/ui/model/odata/v4/Context";
|
|
56
59
|
import hasher from "sap/ui/thirdparty/hasher";
|
|
60
|
+
import type { TitleAdditionalInfo } from "sap/ushell/ui5service/ShellUIService";
|
|
57
61
|
import * as ListReportTemplating from "./ListReportTemplating";
|
|
58
62
|
import IntentBasedNavigationOverride from "./overrides/IntentBasedNavigation";
|
|
63
|
+
import MessageHandlerOverride from "./overrides/MessageHandler";
|
|
59
64
|
import ShareOverrides from "./overrides/Share";
|
|
60
65
|
import ViewStateOverrides from "./overrides/ViewState";
|
|
61
66
|
|
|
@@ -105,6 +110,9 @@ class ListReportController extends PageController {
|
|
|
105
110
|
@usingExtension(Placeholder)
|
|
106
111
|
placeholder!: Placeholder;
|
|
107
112
|
|
|
113
|
+
@usingExtension(MessageHandler.override(MessageHandlerOverride))
|
|
114
|
+
messageHandler!: MessageHandler;
|
|
115
|
+
|
|
108
116
|
protected extensionAPI?: ExtensionAPI;
|
|
109
117
|
|
|
110
118
|
private filterBarConditions?: unknown;
|
|
@@ -129,7 +137,8 @@ class ListReportController extends PageController {
|
|
|
129
137
|
|
|
130
138
|
onInit(): void {
|
|
131
139
|
PageController.prototype.onInit.apply(this);
|
|
132
|
-
const oInternalModelContext = this.
|
|
140
|
+
const oInternalModelContext = this.getOwnerComponent().getBindingContext("internal") as InternalModelContext;
|
|
141
|
+
const uiModelContext = this.getOwnerComponent().getBindingContext("ui") as InternalModelContext;
|
|
133
142
|
const filterBar = this._getFilterBarControl();
|
|
134
143
|
if (filterBar) {
|
|
135
144
|
this._storeFilterBarSelectionVariant(filterBar, oInternalModelContext);
|
|
@@ -160,11 +169,7 @@ class ListReportController extends PageController {
|
|
|
160
169
|
|
|
161
170
|
// Configure the initial load settings
|
|
162
171
|
this._setInitLoad();
|
|
163
|
-
|
|
164
|
-
const uiModel = view.getModel("ui");
|
|
165
|
-
const path = `/${view.getId()}`;
|
|
166
|
-
uiModel.setProperty(path, { isEditable: false });
|
|
167
|
-
view.bindElement({ path, model: "ui" });
|
|
172
|
+
uiModelContext.setProperty("", { isEditable: false });
|
|
168
173
|
}
|
|
169
174
|
|
|
170
175
|
onBeforeRendering(): void {
|
|
@@ -185,7 +190,13 @@ class ListReportController extends PageController {
|
|
|
185
190
|
delete this.extensionAPI;
|
|
186
191
|
}
|
|
187
192
|
|
|
188
|
-
_onAfterBinding(): void {
|
|
193
|
+
async _onAfterBinding(): Promise<void> {
|
|
194
|
+
const internalModelContext = this.getView().getBindingContext("internal") as InternalModelContext;
|
|
195
|
+
if (!internalModelContext.getProperty("initialVariantApplied")) {
|
|
196
|
+
this.pageReady.waitFor(this._applyAppState());
|
|
197
|
+
internalModelContext.setProperty("initialVariantApplied", true);
|
|
198
|
+
}
|
|
199
|
+
await CommonUtils.getAppComponent(this.getView()).isAppComponentBusy();
|
|
189
200
|
const aTables = this._getControls("table") as Table[];
|
|
190
201
|
let updateActions = true;
|
|
191
202
|
if (EditState.isEditStateDirty()) {
|
|
@@ -195,13 +206,11 @@ class ListReportController extends PageController {
|
|
|
195
206
|
if (oTableBinding) {
|
|
196
207
|
updateActions = false;
|
|
197
208
|
const tableAPI = table?.getParent() as TableAPI;
|
|
198
|
-
|
|
199
209
|
// Update the table content using side effects (listBinding.refresh doesn't keep expansion states in a TreeTable)
|
|
200
210
|
CommonUtils.getAppComponent(this.getView())
|
|
201
211
|
.getRoutingService()
|
|
202
212
|
.waitForBindingCleanup()
|
|
203
|
-
.then(
|
|
204
|
-
await CommonUtils.getAppComponent(this.getView()).isAppComponentBusy();
|
|
213
|
+
.then(() => {
|
|
205
214
|
oTableBinding.attachEventOnce("dataReceived", () => {
|
|
206
215
|
this._updateTableActions(aTables);
|
|
207
216
|
});
|
|
@@ -223,13 +232,6 @@ class ListReportController extends PageController {
|
|
|
223
232
|
if (updateActions) {
|
|
224
233
|
this._updateTableActions(aTables);
|
|
225
234
|
}
|
|
226
|
-
|
|
227
|
-
const internalModelContext = this.getView().getBindingContext("internal") as InternalModelContext;
|
|
228
|
-
if (!internalModelContext.getProperty("initialVariantApplied")) {
|
|
229
|
-
const viewId = this.getView().getId();
|
|
230
|
-
this.pageReady.waitFor(this._applyAppState(viewId));
|
|
231
|
-
internalModelContext.setProperty("initialVariantApplied", true);
|
|
232
|
-
}
|
|
233
235
|
const environmentCapabilities = CommonUtils.getAppComponent(this.getView()).getEnvironmentCapabilities();
|
|
234
236
|
environmentCapabilities
|
|
235
237
|
.isInsightsEnabled()
|
|
@@ -283,10 +285,10 @@ class ListReportController extends PageController {
|
|
|
283
285
|
* This happens either when there is a change on the FilterBar and the search is triggered,
|
|
284
286
|
* or when a tab with custom content is selected,
|
|
285
287
|
* or when the view is forced to be refreshed through the Extension API for the list report's public method setTabContentToBeRefreshedOnNextOpening.
|
|
286
|
-
* This method can be overwritten by the controller extension
|
|
287
|
-
* @param mParameters Map containing the filter conditions of the FilterBar, the currentTabID
|
|
288
|
-
* and the view refresh cause
|
|
289
|
-
*
|
|
288
|
+
* This method can be overwritten by the controller extension for customization.
|
|
289
|
+
* @param mParameters Map containing the filter conditions of the FilterBar, the currentTabID,
|
|
290
|
+
* and the view refresh cause such as tabChanged, search, or forcedRefresh.
|
|
291
|
+
* See the following example of a map:
|
|
290
292
|
* <code><pre>
|
|
291
293
|
* {
|
|
292
294
|
* filterConditions: {
|
|
@@ -315,9 +317,9 @@ class ListReportController extends PageController {
|
|
|
315
317
|
|
|
316
318
|
/**
|
|
317
319
|
* Method called when a filter or search value has been changed in the FilterBar,
|
|
318
|
-
* but has not been validated yet by the end user
|
|
320
|
+
* but has not been validated yet by the end user with the 'Go' or 'Search' button.
|
|
319
321
|
* Typically, the content of the current tab is greyed out until the filters are validated.
|
|
320
|
-
* This method can be overwritten by the controller extension
|
|
322
|
+
* This method can be overwritten by the controller extension for customization.
|
|
321
323
|
* @public
|
|
322
324
|
*/
|
|
323
325
|
@publicExtension()
|
|
@@ -373,11 +375,43 @@ class ListReportController extends PageController {
|
|
|
373
375
|
filterField.focus(focusInfo);
|
|
374
376
|
}
|
|
375
377
|
|
|
378
|
+
/**
|
|
379
|
+
* Sets the focus when the header is expanded.
|
|
380
|
+
* The priorities are: (1) first empty mandatory filter field, (2) search field if focusable or first filter field, and (3) Go button.
|
|
381
|
+
* @param filterBar The filter bar control.
|
|
382
|
+
*/
|
|
383
|
+
private _focusWhenHeaderExpanded(filterBar: FilterBar): void {
|
|
384
|
+
const firstEmptyMandatoryField = filterBar.getFilterItems().find(function (oFilterItem: FilterField) {
|
|
385
|
+
return oFilterItem.getRequired() && oFilterItem.getConditions().length === 0;
|
|
386
|
+
});
|
|
387
|
+
//Focusing on the first empty mandatory filter field, or on the first filter field if the table data is loaded
|
|
388
|
+
// Do a "silent" focus for FilterField, by adding the silent attribute. The silent attribute suppresses typeahead opening.
|
|
389
|
+
if (firstEmptyMandatoryField) {
|
|
390
|
+
if (firstEmptyMandatoryField.isA<FilterField>("sap.ui.mdc.FilterField")) {
|
|
391
|
+
this._focusSilent(firstEmptyMandatoryField);
|
|
392
|
+
} else {
|
|
393
|
+
(firstEmptyMandatoryField as Control).focus();
|
|
394
|
+
}
|
|
395
|
+
} else if (this._isInitLoadEnabled() && filterBar.getFilterItems().length > 0) {
|
|
396
|
+
// If there is no empty mandatory filter field, set silent focus on search field (if focusable), otherwise on first filter field
|
|
397
|
+
const basicSearchField = filterBar.getBasicSearchField();
|
|
398
|
+
const fieldToFocus = basicSearchField?.isFocusable() ? basicSearchField : filterBar.getFilterItems()[0];
|
|
399
|
+
if (fieldToFocus.isA<FilterField>("sap.ui.mdc.FilterField")) {
|
|
400
|
+
this._focusSilent(fieldToFocus);
|
|
401
|
+
} else {
|
|
402
|
+
(fieldToFocus as Control).focus();
|
|
403
|
+
}
|
|
404
|
+
} else {
|
|
405
|
+
//Focusing on the Go button
|
|
406
|
+
this.getView().byId(`${this._getFilterBarControlId()}-btnSearch`)?.focus();
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
|
|
376
410
|
/**
|
|
377
411
|
* This method sets the initial focus in a list report based on the User Experience guidelines.
|
|
378
412
|
*
|
|
379
413
|
*/
|
|
380
|
-
_setInitialFocus(): void {
|
|
414
|
+
async _setInitialFocus(): Promise<void> {
|
|
381
415
|
const dynamicPage = this._getDynamicListReportControl(),
|
|
382
416
|
isHeaderExpanded = dynamicPage.getHeaderExpanded(),
|
|
383
417
|
filterBar = this._getFilterBarControl() as FilterBar;
|
|
@@ -387,45 +421,39 @@ class ListReportController extends PageController {
|
|
|
387
421
|
filterBar.setShowMessages(true);
|
|
388
422
|
}
|
|
389
423
|
if (isHeaderExpanded) {
|
|
390
|
-
|
|
391
|
-
return oFilterItem.getRequired() && oFilterItem.getConditions().length === 0;
|
|
392
|
-
});
|
|
393
|
-
//Focusing on the first empty mandatory filter field, or on the first filter field if the table data is loaded
|
|
394
|
-
// Do a "silent" focus for FilterField, by adding the silent attribute. The silent attribute suppresses typeahead opening.
|
|
395
|
-
if (firstEmptyMandatoryField) {
|
|
396
|
-
if (firstEmptyMandatoryField.isA<FilterField>("sap.ui.mdc.FilterField")) {
|
|
397
|
-
this._focusSilent(firstEmptyMandatoryField);
|
|
398
|
-
} else {
|
|
399
|
-
(firstEmptyMandatoryField as Control).focus();
|
|
400
|
-
}
|
|
401
|
-
} else if (this._isInitLoadEnabled() && filterBar.getFilterItems().length > 0) {
|
|
402
|
-
// Add check for available filterItems
|
|
403
|
-
const fieldToFocus = filterBar.getFilterItems()[0];
|
|
404
|
-
if (fieldToFocus.isA<FilterField>("sap.ui.mdc.FilterField")) {
|
|
405
|
-
this._focusSilent(fieldToFocus);
|
|
406
|
-
} else {
|
|
407
|
-
(fieldToFocus as Control).focus();
|
|
408
|
-
}
|
|
409
|
-
} else {
|
|
410
|
-
//Focusing on the Go button
|
|
411
|
-
this.getView().byId(`${this._getFilterBarControlId()}-btnSearch`)?.focus();
|
|
412
|
-
}
|
|
424
|
+
this._focusWhenHeaderExpanded(filterBar);
|
|
413
425
|
} else if (this._isInitLoadEnabled()) {
|
|
414
|
-
this._getTable()
|
|
426
|
+
await this._getTable()
|
|
415
427
|
?.focusRow(0)
|
|
416
428
|
.catch(function (error: unknown) {
|
|
417
|
-
|
|
429
|
+
if (error) {
|
|
430
|
+
// if there is no error it can just be that there are no lines to focus
|
|
431
|
+
Log.info("Error while setting initial focus on the table ", error as string);
|
|
432
|
+
}
|
|
418
433
|
});
|
|
419
434
|
}
|
|
420
435
|
} else {
|
|
421
|
-
this._getTable()
|
|
436
|
+
await this._getTable()
|
|
422
437
|
?.focusRow(0)
|
|
423
438
|
.catch(function (error: unknown) {
|
|
424
|
-
|
|
439
|
+
if (error) {
|
|
440
|
+
// if there is no error it can just be that there are no lines to focus
|
|
441
|
+
Log.info("Error while setting initial focus on the table ", error as string);
|
|
442
|
+
}
|
|
425
443
|
});
|
|
426
444
|
}
|
|
427
445
|
}
|
|
428
446
|
|
|
447
|
+
/**
|
|
448
|
+
* Override to get the browser title of the LR page.
|
|
449
|
+
* @param _pageTitleInformation Present page title information
|
|
450
|
+
* @returns Title information to be used by shell services for browser title
|
|
451
|
+
*/
|
|
452
|
+
async _getBrowserTitle(_pageTitleInformation: TitleInformation): Promise<TitleAdditionalInfo | undefined> {
|
|
453
|
+
// We shall fallback to defaul app title in case of list report.
|
|
454
|
+
return Promise.resolve(undefined);
|
|
455
|
+
}
|
|
456
|
+
|
|
429
457
|
async _getPageTitleInformation(): Promise<{ title?: string; subtitle: string; intent: string; icon: string }> {
|
|
430
458
|
const oManifestEntry = this.getAppComponent().getManifestEntry("sap.app");
|
|
431
459
|
return Promise.resolve({
|
|
@@ -451,8 +479,8 @@ class ListReportController extends PageController {
|
|
|
451
479
|
return adaptationFilterBar?.getParent() ? adaptationFilterBar : undefined;
|
|
452
480
|
}
|
|
453
481
|
|
|
454
|
-
async _applyAppState(
|
|
455
|
-
await this.getAppComponent().getAppStateHandler().applyAppState(
|
|
482
|
+
async _applyAppState(): Promise<void> {
|
|
483
|
+
await this.getAppComponent().getAppStateHandler().applyAppState(this.getView());
|
|
456
484
|
const oFilterBar = this._getFilterBarControl();
|
|
457
485
|
if (oFilterBar) {
|
|
458
486
|
oFilterBar.enableRequests(true);
|
|
@@ -755,6 +783,17 @@ class ListReportController extends PageController {
|
|
|
755
783
|
}
|
|
756
784
|
|
|
757
785
|
handlers = {
|
|
786
|
+
onFilterLayoutSwitch(this: ListReportController, oEvent: UI5Event<{}, ContentSwitcher>): void {
|
|
787
|
+
const currentKey = oEvent.getSource().selectedKey;
|
|
788
|
+
const variantManagement = this._getControlFromPageModelProperty("/variantManagement/pageId");
|
|
789
|
+
if (variantManagement) {
|
|
790
|
+
if (currentKey === "ai") {
|
|
791
|
+
variantManagement.setVisible(false);
|
|
792
|
+
} else {
|
|
793
|
+
variantManagement.setVisible(true);
|
|
794
|
+
}
|
|
795
|
+
}
|
|
796
|
+
},
|
|
758
797
|
onInlineEditSave(this: ListReportController): void {
|
|
759
798
|
this.inlineEditFlow.inlineEditSave();
|
|
760
799
|
},
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2025 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define(["sap/fe/core/CommonUtils"], function (CommonUtils) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
// import type NavContainer from "sap/m/NavContainer";
|
|
9
|
+
|
|
10
|
+
const MessageHandlerLRExtension = {
|
|
11
|
+
getShowBoundMessagesInMessageDialog: function () {
|
|
12
|
+
// For List Report, determines whether bound messages should be shown in a dialog or not
|
|
13
|
+
const appComponent = this.base.getAppComponent();
|
|
14
|
+
const getCurrentPageView = CommonUtils.getCurrentPageView(appComponent);
|
|
15
|
+
const currentPageViewID = getCurrentPageView?.getId();
|
|
16
|
+
const baseViewID = this.base.getView()?.getId();
|
|
17
|
+
if (currentPageViewID !== baseViewID) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
return MessageHandlerLRExtension;
|
|
24
|
+
}, false);
|
|
25
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNZXNzYWdlSGFuZGxlckxSRXh0ZW5zaW9uIiwiZ2V0U2hvd0JvdW5kTWVzc2FnZXNJbk1lc3NhZ2VEaWFsb2ciLCJhcHBDb21wb25lbnQiLCJiYXNlIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0Q3VycmVudFBhZ2VWaWV3IiwiQ29tbW9uVXRpbHMiLCJjdXJyZW50UGFnZVZpZXdJRCIsImdldElkIiwiYmFzZVZpZXdJRCIsImdldFZpZXciXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIk1lc3NhZ2VIYW5kbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIE1lc3NhZ2VIYW5kbGVyIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9NZXNzYWdlSGFuZGxlclwiO1xuLy8gaW1wb3J0IHR5cGUgTmF2Q29udGFpbmVyIGZyb20gXCJzYXAvbS9OYXZDb250YWluZXJcIjtcblxuY29uc3QgTWVzc2FnZUhhbmRsZXJMUkV4dGVuc2lvbiA9IHtcblx0Z2V0U2hvd0JvdW5kTWVzc2FnZXNJbk1lc3NhZ2VEaWFsb2c6IGZ1bmN0aW9uICh0aGlzOiBNZXNzYWdlSGFuZGxlcik6IGJvb2xlYW4ge1xuXHRcdC8vIEZvciBMaXN0IFJlcG9ydCwgZGV0ZXJtaW5lcyB3aGV0aGVyIGJvdW5kIG1lc3NhZ2VzIHNob3VsZCBiZSBzaG93biBpbiBhIGRpYWxvZyBvciBub3Rcblx0XHRjb25zdCBhcHBDb21wb25lbnQgPSB0aGlzLmJhc2UuZ2V0QXBwQ29tcG9uZW50KCk7XG5cdFx0Y29uc3QgZ2V0Q3VycmVudFBhZ2VWaWV3ID0gQ29tbW9uVXRpbHMuZ2V0Q3VycmVudFBhZ2VWaWV3KGFwcENvbXBvbmVudCk7XG5cdFx0Y29uc3QgY3VycmVudFBhZ2VWaWV3SUQgPSBnZXRDdXJyZW50UGFnZVZpZXc/LmdldElkKCk7XG5cdFx0Y29uc3QgYmFzZVZpZXdJRCA9IHRoaXMuYmFzZS5nZXRWaWV3KCk/LmdldElkKCk7XG5cblx0XHRpZiAoY3VycmVudFBhZ2VWaWV3SUQgIT09IGJhc2VWaWV3SUQpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IE1lc3NhZ2VIYW5kbGVyTFJFeHRlbnNpb247XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7RUFFQTs7RUFFQSxNQUFNQSx5QkFBeUIsR0FBRztJQUNqQ0MsbUNBQW1DLEVBQUUsU0FBQUEsQ0FBQSxFQUF5QztNQUM3RTtNQUNBLE1BQU1DLFlBQVksR0FBRyxJQUFJLENBQUNDLElBQUksQ0FBQ0MsZUFBZSxDQUFDLENBQUM7TUFDaEQsTUFBTUMsa0JBQWtCLEdBQUdDLFdBQVcsQ0FBQ0Qsa0JBQWtCLENBQUNILFlBQVksQ0FBQztNQUN2RSxNQUFNSyxpQkFBaUIsR0FBR0Ysa0JBQWtCLEVBQUVHLEtBQUssQ0FBQyxDQUFDO01BQ3JELE1BQU1DLFVBQVUsR0FBRyxJQUFJLENBQUNOLElBQUksQ0FBQ08sT0FBTyxDQUFDLENBQUMsRUFBRUYsS0FBSyxDQUFDLENBQUM7TUFFL0MsSUFBSUQsaUJBQWlCLEtBQUtFLFVBQVUsRUFBRTtRQUNyQyxPQUFPLEtBQUs7TUFDYjtNQUNBLE9BQU8sSUFBSTtJQUNaO0VBQ0QsQ0FBQztFQUFDLE9BRWFULHlCQUF5QjtBQUFBIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import CommonUtils from "sap/fe/core/CommonUtils";
|
|
2
|
+
import type MessageHandler from "sap/fe/core/controllerextensions/MessageHandler";
|
|
3
|
+
// import type NavContainer from "sap/m/NavContainer";
|
|
4
|
+
|
|
5
|
+
const MessageHandlerLRExtension = {
|
|
6
|
+
getShowBoundMessagesInMessageDialog: function (this: MessageHandler): boolean {
|
|
7
|
+
// For List Report, determines whether bound messages should be shown in a dialog or not
|
|
8
|
+
const appComponent = this.base.getAppComponent();
|
|
9
|
+
const getCurrentPageView = CommonUtils.getCurrentPageView(appComponent);
|
|
10
|
+
const currentPageViewID = getCurrentPageView?.getId();
|
|
11
|
+
const baseViewID = this.base.getView()?.getId();
|
|
12
|
+
|
|
13
|
+
if (currentPageViewID !== baseViewID) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default MessageHandlerLRExtension;
|