@sap-ux/preview-middleware 0.18.19 → 0.18.20
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/dist/client/adp/api-handler.js +153 -153
- package/dist/client/adp/command-executor.js +75 -75
- package/dist/client/adp/control-utils.js +44 -44
- package/dist/client/adp/controllers/BaseDialog.controller.js +187 -187
- package/dist/client/adp/controllers/ControllerExtension.controller.js +209 -209
- package/dist/client/adp/controllers/ExtensionPoint.controller.js +138 -138
- package/dist/client/adp/controllers/FileExistsDialog.controller.js +66 -66
- package/dist/client/adp/dialog-factory.js +133 -133
- package/dist/client/adp/init-dialogs.js +107 -107
- package/dist/client/adp/quick-actions/common/add-controller-to-page.js +55 -55
- package/dist/client/adp/quick-actions/common/add-new-subpage.js +138 -138
- package/dist/client/adp/quick-actions/common/create-page-action.js +51 -51
- package/dist/client/adp/quick-actions/common/op-add-custom-section.js +36 -36
- package/dist/client/adp/quick-actions/common/op-add-header-field.js +61 -61
- package/dist/client/adp/quick-actions/common/utils.js +18 -18
- package/dist/client/adp/quick-actions/control-types.js +21 -21
- package/dist/client/adp/quick-actions/dialog-enablement-validator.js +24 -24
- package/dist/client/adp/quick-actions/enablement-validator.js +4 -4
- package/dist/client/adp/quick-actions/fe-v2/change-table-columns.js +101 -101
- package/dist/client/adp/quick-actions/fe-v2/create-table-action.js +104 -104
- package/dist/client/adp/quick-actions/fe-v2/create-table-custom-column.js +96 -96
- package/dist/client/adp/quick-actions/fe-v2/lr-enable-semantic-date-range-filter-bar.js +78 -78
- package/dist/client/adp/quick-actions/fe-v2/lr-enable-table-filtering.js +77 -77
- package/dist/client/adp/quick-actions/fe-v2/lr-enable-variant-management.js +69 -69
- package/dist/client/adp/quick-actions/fe-v2/lr-toggle-clear-filter-bar.js +59 -59
- package/dist/client/adp/quick-actions/fe-v2/op-enable-empty-row-mode.js +93 -93
- package/dist/client/adp/quick-actions/fe-v2/op-enable-variant-management.js +84 -84
- package/dist/client/adp/quick-actions/fe-v2/registry.js +76 -76
- package/dist/client/adp/quick-actions/fe-v2/utils.js +116 -116
- package/dist/client/adp/quick-actions/fe-v4/change-table-columns.js +73 -73
- package/dist/client/adp/quick-actions/fe-v4/create-table-action.js +50 -50
- package/dist/client/adp/quick-actions/fe-v4/create-table-custom-column.js +46 -46
- package/dist/client/adp/quick-actions/fe-v4/enable-variant-management.js +81 -81
- package/dist/client/adp/quick-actions/fe-v4/lr-enable-semantic-date-range-filter-bar.js +56 -56
- package/dist/client/adp/quick-actions/fe-v4/lr-enable-table-filtering.js +82 -82
- package/dist/client/adp/quick-actions/fe-v4/lr-toggle-clear-filter-bar.js +53 -53
- package/dist/client/adp/quick-actions/fe-v4/op-enable-empty-row-mode.js +89 -89
- package/dist/client/adp/quick-actions/fe-v4/registry.js +58 -58
- package/dist/client/adp/quick-actions/fe-v4/utils.js +47 -47
- package/dist/client/adp/quick-actions/load.js +44 -44
- package/dist/client/adp/quick-actions/quick-action-base.js +53 -53
- package/dist/client/adp/utils.js +160 -160
- package/dist/client/cpe/changes/index.js +10 -10
- package/dist/client/cpe/changes/validator.js +39 -39
- package/dist/client/cpe/documentation.js +164 -164
- package/dist/client/cpe/feature-service.js +36 -36
- package/dist/client/cpe/logger.js +30 -30
- package/dist/client/cpe/outline/editable.js +37 -37
- package/dist/client/cpe/outline/nodes.js +222 -222
- package/dist/client/cpe/quick-actions/quick-action-definition.js +4 -4
- package/dist/client/cpe/quick-actions/registry.js +143 -143
- package/dist/client/cpe/quick-actions/utils.js +92 -92
- package/dist/client/cpe/types.js +4 -4
- package/dist/client/cpe/ui5-utils.js +33 -33
- package/dist/client/cpe/utils.js +138 -138
- package/dist/client/flp/WorkspaceConnector.js +86 -86
- package/dist/client/flp/common.js +28 -28
- package/dist/client/flp/enableFakeConnector.js +83 -83
- package/dist/client/flp/initConnectors.js +28 -28
- package/dist/client/flp/initRta.js +178 -178
- package/dist/client/i18n.js +56 -56
- package/dist/client/utils/application.js +32 -32
- package/dist/client/utils/core.js +68 -68
- package/dist/client/utils/error.js +19 -19
- package/dist/client/utils/fe-v2.js +56 -56
- package/dist/client/utils/fe-v4.js +141 -141
- package/dist/client/utils/version.js +104 -104
- package/package.json +6 -6
|
@@ -1,98 +1,98 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
sap.ui.define(["sap/ui/dt/OverlayRegistry", "../../../utils/core", "../../dialog-factory", "../control-types", "../table-quick-action-base", "../../utils", "../../../i18n", "../dialog-enablement-validator"], function (OverlayRegistry, _____utils_core, ____dialog_factory, ___control_types, ___table_quick_action_base, ____utils, _____i18n, ___dialog_enablement_validator) {
|
|
4
|
-
"use strict";
|
|
5
|
-
|
|
6
|
-
const getControlById = _____utils_core["getControlById"];
|
|
7
|
-
const isA = _____utils_core["isA"];
|
|
8
|
-
const DialogNames = ____dialog_factory["DialogNames"];
|
|
9
|
-
const DialogFactory = ____dialog_factory["DialogFactory"];
|
|
10
|
-
const ANALYTICAL_TABLE_TYPE = ___control_types["ANALYTICAL_TABLE_TYPE"];
|
|
11
|
-
const GRID_TABLE_TYPE = ___control_types["GRID_TABLE_TYPE"];
|
|
12
|
-
const M_TABLE_TYPE = ___control_types["M_TABLE_TYPE"];
|
|
13
|
-
const SMART_TABLE_TYPE = ___control_types["SMART_TABLE_TYPE"];
|
|
14
|
-
const TREE_TABLE_TYPE = ___control_types["TREE_TABLE_TYPE"];
|
|
15
|
-
const TableQuickActionDefinitionBase = ___table_quick_action_base["TableQuickActionDefinitionBase"];
|
|
16
|
-
const notifyUser = ____utils["notifyUser"];
|
|
17
|
-
const getTextBundle = _____i18n["getTextBundle"];
|
|
18
|
-
const DIALOG_ENABLEMENT_VALIDATOR = ___dialog_enablement_validator["DIALOG_ENABLEMENT_VALIDATOR"];
|
|
19
|
-
const CREATE_TABLE_CUSTOM_COLUMN = 'create-table-custom-column';
|
|
20
|
-
const CONTROL_TYPES = [SMART_TABLE_TYPE, M_TABLE_TYPE, TREE_TABLE_TYPE, GRID_TABLE_TYPE];
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Reusable function which performs some preparation steps before table action execution
|
|
24
|
-
*
|
|
25
|
-
* @param table - table element
|
|
26
|
-
* @param sectionInfo - section data
|
|
27
|
-
* @param iconTabBar - icon tab bar element
|
|
28
|
-
* @param iconTabBarFilterKey - tab bar key to select a tab
|
|
29
|
-
*/
|
|
30
|
-
function preprocessActionExecution(table, sectionInfo, iconTabBar, iconTabBarFilterKey) {
|
|
31
|
-
if (sectionInfo) {
|
|
32
|
-
const {
|
|
33
|
-
layout,
|
|
34
|
-
section,
|
|
35
|
-
subSection
|
|
36
|
-
} = sectionInfo;
|
|
37
|
-
layout?.setSelectedSection(section);
|
|
38
|
-
section.setSelectedSubSection(subSection);
|
|
39
|
-
} else {
|
|
40
|
-
getControlById(table.getId())?.getDomRef()?.scrollIntoView();
|
|
41
|
-
}
|
|
42
|
-
if (iconTabBar && iconTabBarFilterKey) {
|
|
43
|
-
iconTabBar.setSelectedKey(iconTabBarFilterKey);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
class AddTableCustomColumnQuickAction extends TableQuickActionDefinitionBase {
|
|
47
|
-
constructor(context) {
|
|
48
|
-
super(CREATE_TABLE_CUSTOM_COLUMN, CONTROL_TYPES, 'QUICK_ACTION_ADD_CUSTOM_TABLE_COLUMN', context, {
|
|
49
|
-
areTableRowsRequired: true
|
|
50
|
-
}, [DIALOG_ENABLEMENT_VALIDATOR]);
|
|
51
|
-
}
|
|
52
|
-
async execute(path) {
|
|
53
|
-
const {
|
|
54
|
-
table,
|
|
55
|
-
iconTabBarFilterKey,
|
|
56
|
-
sectionInfo
|
|
57
|
-
} = this.tableMap[path];
|
|
58
|
-
if (!table) {
|
|
59
|
-
return [];
|
|
60
|
-
}
|
|
61
|
-
preprocessActionExecution(table, sectionInfo, this.iconTabBar, iconTabBarFilterKey);
|
|
62
|
-
this.selectOverlay(table);
|
|
63
|
-
let tableInternal = table;
|
|
64
|
-
if (isA(SMART_TABLE_TYPE, table)) {
|
|
65
|
-
const itemsAggregation = table.getAggregation('items');
|
|
66
|
-
tableInternal = itemsAggregation.find(item => {
|
|
67
|
-
return [M_TABLE_TYPE, TREE_TABLE_TYPE, ANALYTICAL_TABLE_TYPE, GRID_TABLE_TYPE].some(tType => isA(tType, item));
|
|
68
|
-
});
|
|
69
|
-
if (!tableInternal) {
|
|
70
|
-
return [];
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
const overlay = OverlayRegistry.getOverlay(tableInternal) || [];
|
|
74
|
-
if (!overlay) {
|
|
75
|
-
return [];
|
|
76
|
-
}
|
|
77
|
-
if (isA(M_TABLE_TYPE, tableInternal) && tableInternal.getAggregation('items').length === 0) {
|
|
78
|
-
const bundle = await getTextBundle();
|
|
79
|
-
notifyUser(bundle.getText('TABLE_ROWS_NEEDED_TO_CREATE_CUSTOM_COLUMN'), 8000);
|
|
80
|
-
return [];
|
|
81
|
-
}
|
|
82
|
-
const dialog = [TREE_TABLE_TYPE, ANALYTICAL_TABLE_TYPE, GRID_TABLE_TYPE].some(type => isA(type, tableInternal)) ? DialogNames.ADD_FRAGMENT : DialogNames.ADD_TABLE_COLUMN_FRAGMENTS;
|
|
83
|
-
await DialogFactory.createDialog(overlay, this.context.rta, dialog, undefined, {
|
|
84
|
-
aggregation: 'columns',
|
|
85
|
-
title: 'QUICK_ACTION_ADD_CUSTOM_TABLE_COLUMN'
|
|
86
|
-
});
|
|
87
|
-
return [];
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
var __exports = {
|
|
91
|
-
__esModule: true
|
|
92
|
-
};
|
|
93
|
-
__exports.CREATE_TABLE_CUSTOM_COLUMN = CREATE_TABLE_CUSTOM_COLUMN;
|
|
94
|
-
__exports.preprocessActionExecution = preprocessActionExecution;
|
|
95
|
-
__exports.AddTableCustomColumnQuickAction = AddTableCustomColumnQuickAction;
|
|
96
|
-
return __exports;
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
sap.ui.define(["sap/ui/dt/OverlayRegistry", "../../../utils/core", "../../dialog-factory", "../control-types", "../table-quick-action-base", "../../utils", "../../../i18n", "../dialog-enablement-validator"], function (OverlayRegistry, _____utils_core, ____dialog_factory, ___control_types, ___table_quick_action_base, ____utils, _____i18n, ___dialog_enablement_validator) {
|
|
4
|
+
"use strict";
|
|
5
|
+
|
|
6
|
+
const getControlById = _____utils_core["getControlById"];
|
|
7
|
+
const isA = _____utils_core["isA"];
|
|
8
|
+
const DialogNames = ____dialog_factory["DialogNames"];
|
|
9
|
+
const DialogFactory = ____dialog_factory["DialogFactory"];
|
|
10
|
+
const ANALYTICAL_TABLE_TYPE = ___control_types["ANALYTICAL_TABLE_TYPE"];
|
|
11
|
+
const GRID_TABLE_TYPE = ___control_types["GRID_TABLE_TYPE"];
|
|
12
|
+
const M_TABLE_TYPE = ___control_types["M_TABLE_TYPE"];
|
|
13
|
+
const SMART_TABLE_TYPE = ___control_types["SMART_TABLE_TYPE"];
|
|
14
|
+
const TREE_TABLE_TYPE = ___control_types["TREE_TABLE_TYPE"];
|
|
15
|
+
const TableQuickActionDefinitionBase = ___table_quick_action_base["TableQuickActionDefinitionBase"];
|
|
16
|
+
const notifyUser = ____utils["notifyUser"];
|
|
17
|
+
const getTextBundle = _____i18n["getTextBundle"];
|
|
18
|
+
const DIALOG_ENABLEMENT_VALIDATOR = ___dialog_enablement_validator["DIALOG_ENABLEMENT_VALIDATOR"];
|
|
19
|
+
const CREATE_TABLE_CUSTOM_COLUMN = 'create-table-custom-column';
|
|
20
|
+
const CONTROL_TYPES = [SMART_TABLE_TYPE, M_TABLE_TYPE, TREE_TABLE_TYPE, GRID_TABLE_TYPE];
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Reusable function which performs some preparation steps before table action execution
|
|
24
|
+
*
|
|
25
|
+
* @param table - table element
|
|
26
|
+
* @param sectionInfo - section data
|
|
27
|
+
* @param iconTabBar - icon tab bar element
|
|
28
|
+
* @param iconTabBarFilterKey - tab bar key to select a tab
|
|
29
|
+
*/
|
|
30
|
+
function preprocessActionExecution(table, sectionInfo, iconTabBar, iconTabBarFilterKey) {
|
|
31
|
+
if (sectionInfo) {
|
|
32
|
+
const {
|
|
33
|
+
layout,
|
|
34
|
+
section,
|
|
35
|
+
subSection
|
|
36
|
+
} = sectionInfo;
|
|
37
|
+
layout?.setSelectedSection(section);
|
|
38
|
+
section.setSelectedSubSection(subSection);
|
|
39
|
+
} else {
|
|
40
|
+
getControlById(table.getId())?.getDomRef()?.scrollIntoView();
|
|
41
|
+
}
|
|
42
|
+
if (iconTabBar && iconTabBarFilterKey) {
|
|
43
|
+
iconTabBar.setSelectedKey(iconTabBarFilterKey);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
class AddTableCustomColumnQuickAction extends TableQuickActionDefinitionBase {
|
|
47
|
+
constructor(context) {
|
|
48
|
+
super(CREATE_TABLE_CUSTOM_COLUMN, CONTROL_TYPES, 'QUICK_ACTION_ADD_CUSTOM_TABLE_COLUMN', context, {
|
|
49
|
+
areTableRowsRequired: true
|
|
50
|
+
}, [DIALOG_ENABLEMENT_VALIDATOR]);
|
|
51
|
+
}
|
|
52
|
+
async execute(path) {
|
|
53
|
+
const {
|
|
54
|
+
table,
|
|
55
|
+
iconTabBarFilterKey,
|
|
56
|
+
sectionInfo
|
|
57
|
+
} = this.tableMap[path];
|
|
58
|
+
if (!table) {
|
|
59
|
+
return [];
|
|
60
|
+
}
|
|
61
|
+
preprocessActionExecution(table, sectionInfo, this.iconTabBar, iconTabBarFilterKey);
|
|
62
|
+
this.selectOverlay(table);
|
|
63
|
+
let tableInternal = table;
|
|
64
|
+
if (isA(SMART_TABLE_TYPE, table)) {
|
|
65
|
+
const itemsAggregation = table.getAggregation('items');
|
|
66
|
+
tableInternal = itemsAggregation.find(item => {
|
|
67
|
+
return [M_TABLE_TYPE, TREE_TABLE_TYPE, ANALYTICAL_TABLE_TYPE, GRID_TABLE_TYPE].some(tType => isA(tType, item));
|
|
68
|
+
});
|
|
69
|
+
if (!tableInternal) {
|
|
70
|
+
return [];
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
const overlay = OverlayRegistry.getOverlay(tableInternal) || [];
|
|
74
|
+
if (!overlay) {
|
|
75
|
+
return [];
|
|
76
|
+
}
|
|
77
|
+
if (isA(M_TABLE_TYPE, tableInternal) && tableInternal.getAggregation('items').length === 0) {
|
|
78
|
+
const bundle = await getTextBundle();
|
|
79
|
+
notifyUser(bundle.getText('TABLE_ROWS_NEEDED_TO_CREATE_CUSTOM_COLUMN'), 8000);
|
|
80
|
+
return [];
|
|
81
|
+
}
|
|
82
|
+
const dialog = [TREE_TABLE_TYPE, ANALYTICAL_TABLE_TYPE, GRID_TABLE_TYPE].some(type => isA(type, tableInternal)) ? DialogNames.ADD_FRAGMENT : DialogNames.ADD_TABLE_COLUMN_FRAGMENTS;
|
|
83
|
+
await DialogFactory.createDialog(overlay, this.context.rta, dialog, undefined, {
|
|
84
|
+
aggregation: 'columns',
|
|
85
|
+
title: 'QUICK_ACTION_ADD_CUSTOM_TABLE_COLUMN'
|
|
86
|
+
});
|
|
87
|
+
return [];
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
var __exports = {
|
|
91
|
+
__esModule: true
|
|
92
|
+
};
|
|
93
|
+
__exports.CREATE_TABLE_CUSTOM_COLUMN = CREATE_TABLE_CUSTOM_COLUMN;
|
|
94
|
+
__exports.preprocessActionExecution = preprocessActionExecution;
|
|
95
|
+
__exports.AddTableCustomColumnQuickAction = AddTableCustomColumnQuickAction;
|
|
96
|
+
return __exports;
|
|
97
97
|
});
|
|
98
98
|
//# sourceMappingURL=create-table-custom-column.js.map
|
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
sap.ui.define(["../../../cpe/quick-actions/utils", "../../../utils/core", "../simple-quick-action-base", "./utils", "../../../utils/version"], function (_____cpe_quick_actions_utils, _____utils_core, ___simple_quick_action_base, ___utils, _____utils_version) {
|
|
4
|
-
"use strict";
|
|
5
|
-
|
|
6
|
-
const pageHasControlId = _____cpe_quick_actions_utils["pageHasControlId"];
|
|
7
|
-
const getControlById = _____utils_core["getControlById"];
|
|
8
|
-
const isA = _____utils_core["isA"];
|
|
9
|
-
const SimpleQuickActionDefinitionBase = ___simple_quick_action_base["SimpleQuickActionDefinitionBase"];
|
|
10
|
-
const areManifestChangesSupported = ___utils["areManifestChangesSupported"];
|
|
11
|
-
const prepareManifestChange = ___utils["prepareManifestChange"];
|
|
12
|
-
const getUi5Version = _____utils_version["getUi5Version"];
|
|
13
|
-
const isLowerThanMinimalUi5Version = _____utils_version["isLowerThanMinimalUi5Version"];
|
|
14
|
-
const ENABLE_SEMANTIC_DATE_RANGE_FILTER_BAR = 'enable-semantic-daterange-filterbar';
|
|
15
|
-
const CONTROL_TYPE_LR = 'sap.ui.comp.smartfilterbar.SmartFilterBar';
|
|
16
|
-
const CONTROL_TYPE_ALP = 'sap.suite.ui.generic.template.AnalyticalListPage.control.SmartFilterBarExt';
|
|
17
|
-
const COMPONENT_LR = 'sap.suite.ui.generic.template.ListReport';
|
|
18
|
-
const COMPONENT_ALP = 'sap.suite.ui.generic.template.AnalyticalListPage';
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Quick Action for toggling the visibility of "semantic date range" for filterbar fields.
|
|
22
|
-
*/
|
|
23
|
-
class ToggleSemanticDateRangeFilterBar extends SimpleQuickActionDefinitionBase {
|
|
24
|
-
constructor(context) {
|
|
25
|
-
super(ENABLE_SEMANTIC_DATE_RANGE_FILTER_BAR, [], '', context);
|
|
26
|
-
}
|
|
27
|
-
forceRefreshAfterExecution = true;
|
|
28
|
-
isUseDateRangeTypeEnabled = false;
|
|
29
|
-
async initialize() {
|
|
30
|
-
const manifestChangesSupported = await areManifestChangesSupported(this.context.manifest);
|
|
31
|
-
if (!manifestChangesSupported) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
const controls = [...(this.context.controlIndex[CONTROL_TYPE_LR] ?? []), ...(this.context.controlIndex[CONTROL_TYPE_ALP] ?? [])];
|
|
35
|
-
for (const control of controls) {
|
|
36
|
-
const isActionApplicable = pageHasControlId(this.context.view, control.controlId);
|
|
37
|
-
const modifiedControl = getControlById(control.controlId);
|
|
38
|
-
if (isActionApplicable && modifiedControl) {
|
|
39
|
-
this.control = modifiedControl;
|
|
40
|
-
const id = this.control.getProperty('persistencyKey') ?? this.control.getId();
|
|
41
|
-
if (typeof id !== 'string') {
|
|
42
|
-
throw new Error('Could not retrieve configuration property because control id is not valid!');
|
|
43
|
-
}
|
|
44
|
-
const value = this.context.changeService.getConfigurationPropertyValue(id, 'useDateRange');
|
|
45
|
-
this.isUseDateRangeTypeEnabled = value === undefined ? this.control.getUseDateRangeType() : value;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
get textKey() {
|
|
50
|
-
return this.isUseDateRangeTypeEnabled ? 'QUICK_ACTION_LR_DISABLE_SEMANTIC_DATE_RANGE_FILTER_BAR' : 'QUICK_ACTION_LR_ENABLE_SEMANTIC_DATE_RANGE_FILTER_BAR';
|
|
51
|
-
}
|
|
52
|
-
async execute() {
|
|
53
|
-
const version = await getUi5Version();
|
|
54
|
-
const isLowerMinimalVersion = isLowerThanMinimalUi5Version(version, {
|
|
55
|
-
major: 1,
|
|
56
|
-
minor: 126
|
|
57
|
-
});
|
|
58
|
-
let entitySet;
|
|
59
|
-
if (isLowerMinimalVersion && isA(CONTROL_TYPE_LR, this.control)) {
|
|
60
|
-
// In older versions of UI5, the getEntitySet method is unavailable, so this workaround has been introduced.
|
|
61
|
-
const regex = /::([^:]+)--/;
|
|
62
|
-
entitySet = regex.exec(this.control?.getId() ?? '')?.[1];
|
|
63
|
-
} else {
|
|
64
|
-
entitySet = isA(CONTROL_TYPE_LR, this.control) || isA(CONTROL_TYPE_ALP, this.control) ? this.control.getEntitySet() : undefined;
|
|
65
|
-
}
|
|
66
|
-
const viewName = this.context.view.getViewName();
|
|
67
|
-
const command = await prepareManifestChange(this.context, 'component/settings/filterSettings/dateSettings', this.control, viewName.includes('AnalyticalListPage') ? COMPONENT_ALP : COMPONENT_LR, entitySet, {
|
|
68
|
-
useDateRange: !this.isUseDateRangeTypeEnabled
|
|
69
|
-
});
|
|
70
|
-
return command;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
var __exports = {
|
|
74
|
-
__esModule: true
|
|
75
|
-
};
|
|
76
|
-
__exports.ENABLE_SEMANTIC_DATE_RANGE_FILTER_BAR = ENABLE_SEMANTIC_DATE_RANGE_FILTER_BAR;
|
|
77
|
-
__exports.ToggleSemanticDateRangeFilterBar = ToggleSemanticDateRangeFilterBar;
|
|
78
|
-
return __exports;
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
sap.ui.define(["../../../cpe/quick-actions/utils", "../../../utils/core", "../simple-quick-action-base", "./utils", "../../../utils/version"], function (_____cpe_quick_actions_utils, _____utils_core, ___simple_quick_action_base, ___utils, _____utils_version) {
|
|
4
|
+
"use strict";
|
|
5
|
+
|
|
6
|
+
const pageHasControlId = _____cpe_quick_actions_utils["pageHasControlId"];
|
|
7
|
+
const getControlById = _____utils_core["getControlById"];
|
|
8
|
+
const isA = _____utils_core["isA"];
|
|
9
|
+
const SimpleQuickActionDefinitionBase = ___simple_quick_action_base["SimpleQuickActionDefinitionBase"];
|
|
10
|
+
const areManifestChangesSupported = ___utils["areManifestChangesSupported"];
|
|
11
|
+
const prepareManifestChange = ___utils["prepareManifestChange"];
|
|
12
|
+
const getUi5Version = _____utils_version["getUi5Version"];
|
|
13
|
+
const isLowerThanMinimalUi5Version = _____utils_version["isLowerThanMinimalUi5Version"];
|
|
14
|
+
const ENABLE_SEMANTIC_DATE_RANGE_FILTER_BAR = 'enable-semantic-daterange-filterbar';
|
|
15
|
+
const CONTROL_TYPE_LR = 'sap.ui.comp.smartfilterbar.SmartFilterBar';
|
|
16
|
+
const CONTROL_TYPE_ALP = 'sap.suite.ui.generic.template.AnalyticalListPage.control.SmartFilterBarExt';
|
|
17
|
+
const COMPONENT_LR = 'sap.suite.ui.generic.template.ListReport';
|
|
18
|
+
const COMPONENT_ALP = 'sap.suite.ui.generic.template.AnalyticalListPage';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Quick Action for toggling the visibility of "semantic date range" for filterbar fields.
|
|
22
|
+
*/
|
|
23
|
+
class ToggleSemanticDateRangeFilterBar extends SimpleQuickActionDefinitionBase {
|
|
24
|
+
constructor(context) {
|
|
25
|
+
super(ENABLE_SEMANTIC_DATE_RANGE_FILTER_BAR, [], '', context);
|
|
26
|
+
}
|
|
27
|
+
forceRefreshAfterExecution = true;
|
|
28
|
+
isUseDateRangeTypeEnabled = false;
|
|
29
|
+
async initialize() {
|
|
30
|
+
const manifestChangesSupported = await areManifestChangesSupported(this.context.manifest);
|
|
31
|
+
if (!manifestChangesSupported) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const controls = [...(this.context.controlIndex[CONTROL_TYPE_LR] ?? []), ...(this.context.controlIndex[CONTROL_TYPE_ALP] ?? [])];
|
|
35
|
+
for (const control of controls) {
|
|
36
|
+
const isActionApplicable = pageHasControlId(this.context.view, control.controlId);
|
|
37
|
+
const modifiedControl = getControlById(control.controlId);
|
|
38
|
+
if (isActionApplicable && modifiedControl) {
|
|
39
|
+
this.control = modifiedControl;
|
|
40
|
+
const id = this.control.getProperty('persistencyKey') ?? this.control.getId();
|
|
41
|
+
if (typeof id !== 'string') {
|
|
42
|
+
throw new Error('Could not retrieve configuration property because control id is not valid!');
|
|
43
|
+
}
|
|
44
|
+
const value = this.context.changeService.getConfigurationPropertyValue(id, 'useDateRange');
|
|
45
|
+
this.isUseDateRangeTypeEnabled = value === undefined ? this.control.getUseDateRangeType() : value;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
get textKey() {
|
|
50
|
+
return this.isUseDateRangeTypeEnabled ? 'QUICK_ACTION_LR_DISABLE_SEMANTIC_DATE_RANGE_FILTER_BAR' : 'QUICK_ACTION_LR_ENABLE_SEMANTIC_DATE_RANGE_FILTER_BAR';
|
|
51
|
+
}
|
|
52
|
+
async execute() {
|
|
53
|
+
const version = await getUi5Version();
|
|
54
|
+
const isLowerMinimalVersion = isLowerThanMinimalUi5Version(version, {
|
|
55
|
+
major: 1,
|
|
56
|
+
minor: 126
|
|
57
|
+
});
|
|
58
|
+
let entitySet;
|
|
59
|
+
if (isLowerMinimalVersion && isA(CONTROL_TYPE_LR, this.control)) {
|
|
60
|
+
// In older versions of UI5, the getEntitySet method is unavailable, so this workaround has been introduced.
|
|
61
|
+
const regex = /::([^:]+)--/;
|
|
62
|
+
entitySet = regex.exec(this.control?.getId() ?? '')?.[1];
|
|
63
|
+
} else {
|
|
64
|
+
entitySet = isA(CONTROL_TYPE_LR, this.control) || isA(CONTROL_TYPE_ALP, this.control) ? this.control.getEntitySet() : undefined;
|
|
65
|
+
}
|
|
66
|
+
const viewName = this.context.view.getViewName();
|
|
67
|
+
const command = await prepareManifestChange(this.context, 'component/settings/filterSettings/dateSettings', this.control, viewName.includes('AnalyticalListPage') ? COMPONENT_ALP : COMPONENT_LR, entitySet, {
|
|
68
|
+
useDateRange: !this.isUseDateRangeTypeEnabled
|
|
69
|
+
});
|
|
70
|
+
return command;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
var __exports = {
|
|
74
|
+
__esModule: true
|
|
75
|
+
};
|
|
76
|
+
__exports.ENABLE_SEMANTIC_DATE_RANGE_FILTER_BAR = ENABLE_SEMANTIC_DATE_RANGE_FILTER_BAR;
|
|
77
|
+
__exports.ToggleSemanticDateRangeFilterBar = ToggleSemanticDateRangeFilterBar;
|
|
78
|
+
return __exports;
|
|
79
79
|
});
|
|
80
80
|
//# sourceMappingURL=lr-enable-semantic-date-range-filter-bar.js.map
|
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
sap.ui.define(["../../../cpe/quick-actions/utils", "../control-types", "./utils", "../simple-quick-action-base", "../../../utils/core"], function (_____cpe_quick_actions_utils, ___control_types, ___utils, ___simple_quick_action_base, _____utils_core) {
|
|
4
|
-
"use strict";
|
|
5
|
-
|
|
6
|
-
const getRelevantControlFromActivePage = _____cpe_quick_actions_utils["getRelevantControlFromActivePage"];
|
|
7
|
-
const pageHasControlId = _____cpe_quick_actions_utils["pageHasControlId"];
|
|
8
|
-
const GRID_TABLE_TYPE = ___control_types["GRID_TABLE_TYPE"];
|
|
9
|
-
const M_TABLE_TYPE = ___control_types["M_TABLE_TYPE"];
|
|
10
|
-
const SMART_TABLE_TYPE = ___control_types["SMART_TABLE_TYPE"];
|
|
11
|
-
const TREE_TABLE_TYPE = ___control_types["TREE_TABLE_TYPE"];
|
|
12
|
-
const areManifestChangesSupported = ___utils["areManifestChangesSupported"];
|
|
13
|
-
const prepareManifestChange = ___utils["prepareManifestChange"];
|
|
14
|
-
const SimpleQuickActionDefinitionBase = ___simple_quick_action_base["SimpleQuickActionDefinitionBase"];
|
|
15
|
-
const isA = _____utils_core["isA"];
|
|
16
|
-
const COMPONENT = 'sap.suite.ui.generic.template.ListReport';
|
|
17
|
-
const ENABLE_TABLE_FILTERING = 'enable-table-filtering';
|
|
18
|
-
const CONTROL_TYPES = [SMART_TABLE_TYPE, M_TABLE_TYPE, TREE_TABLE_TYPE, GRID_TABLE_TYPE];
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Quick Action for enabling table filtering using table personalization settings.
|
|
22
|
-
*/
|
|
23
|
-
class EnableTableFilteringQuickAction extends SimpleQuickActionDefinitionBase {
|
|
24
|
-
constructor(context) {
|
|
25
|
-
super(ENABLE_TABLE_FILTERING, CONTROL_TYPES, 'QUICK_ACTION_ENABLE_TABLE_FILTERING', context, [{
|
|
26
|
-
run: () => {
|
|
27
|
-
if (this.control) {
|
|
28
|
-
const id = this.control.getProperty('persistencyKey') ?? this.control.getId();
|
|
29
|
-
if (typeof id !== 'string') {
|
|
30
|
-
throw new Error('Could not retrieve configuration property because control id is not valid!');
|
|
31
|
-
}
|
|
32
|
-
const value = this.context.changeService.getConfigurationPropertyValue(id, 'enableTableFilterInPageVariant');
|
|
33
|
-
const isFilterEnabled = value === undefined ? this.control.data('p13nDialogSettings')?.filter?.visible : value;
|
|
34
|
-
if (isFilterEnabled) {
|
|
35
|
-
return {
|
|
36
|
-
type: 'error',
|
|
37
|
-
message: this.context.resourceBundle.getText('TABLE_FILTERING_CHANGE_HAS_ALREADY_BEEN_MADE')
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return undefined;
|
|
42
|
-
}
|
|
43
|
-
}]);
|
|
44
|
-
}
|
|
45
|
-
forceRefreshAfterExecution = true;
|
|
46
|
-
async initialize() {
|
|
47
|
-
const manifestChangesSupported = await areManifestChangesSupported(this.context.manifest);
|
|
48
|
-
if (!manifestChangesSupported) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
for (const table of getRelevantControlFromActivePage(this.context.controlIndex, this.context.view, CONTROL_TYPES)) {
|
|
52
|
-
if (table) {
|
|
53
|
-
const isActionApplicable = pageHasControlId(this.context.view, table.getId());
|
|
54
|
-
if (isActionApplicable) {
|
|
55
|
-
this.control = table;
|
|
56
|
-
break;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
async execute() {
|
|
62
|
-
if (!this.control) {
|
|
63
|
-
return [];
|
|
64
|
-
}
|
|
65
|
-
const entitySet = isA(SMART_TABLE_TYPE, this.control) ? this.control.getEntitySet() : undefined;
|
|
66
|
-
const command = await prepareManifestChange(this.context, 'component/settings', this.control, COMPONENT, entitySet, {
|
|
67
|
-
enableTableFilterInPageVariant: !this.isDisabled
|
|
68
|
-
});
|
|
69
|
-
return command;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
var __exports = {
|
|
73
|
-
__esModule: true
|
|
74
|
-
};
|
|
75
|
-
__exports.ENABLE_TABLE_FILTERING = ENABLE_TABLE_FILTERING;
|
|
76
|
-
__exports.EnableTableFilteringQuickAction = EnableTableFilteringQuickAction;
|
|
77
|
-
return __exports;
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
sap.ui.define(["../../../cpe/quick-actions/utils", "../control-types", "./utils", "../simple-quick-action-base", "../../../utils/core"], function (_____cpe_quick_actions_utils, ___control_types, ___utils, ___simple_quick_action_base, _____utils_core) {
|
|
4
|
+
"use strict";
|
|
5
|
+
|
|
6
|
+
const getRelevantControlFromActivePage = _____cpe_quick_actions_utils["getRelevantControlFromActivePage"];
|
|
7
|
+
const pageHasControlId = _____cpe_quick_actions_utils["pageHasControlId"];
|
|
8
|
+
const GRID_TABLE_TYPE = ___control_types["GRID_TABLE_TYPE"];
|
|
9
|
+
const M_TABLE_TYPE = ___control_types["M_TABLE_TYPE"];
|
|
10
|
+
const SMART_TABLE_TYPE = ___control_types["SMART_TABLE_TYPE"];
|
|
11
|
+
const TREE_TABLE_TYPE = ___control_types["TREE_TABLE_TYPE"];
|
|
12
|
+
const areManifestChangesSupported = ___utils["areManifestChangesSupported"];
|
|
13
|
+
const prepareManifestChange = ___utils["prepareManifestChange"];
|
|
14
|
+
const SimpleQuickActionDefinitionBase = ___simple_quick_action_base["SimpleQuickActionDefinitionBase"];
|
|
15
|
+
const isA = _____utils_core["isA"];
|
|
16
|
+
const COMPONENT = 'sap.suite.ui.generic.template.ListReport';
|
|
17
|
+
const ENABLE_TABLE_FILTERING = 'enable-table-filtering';
|
|
18
|
+
const CONTROL_TYPES = [SMART_TABLE_TYPE, M_TABLE_TYPE, TREE_TABLE_TYPE, GRID_TABLE_TYPE];
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Quick Action for enabling table filtering using table personalization settings.
|
|
22
|
+
*/
|
|
23
|
+
class EnableTableFilteringQuickAction extends SimpleQuickActionDefinitionBase {
|
|
24
|
+
constructor(context) {
|
|
25
|
+
super(ENABLE_TABLE_FILTERING, CONTROL_TYPES, 'QUICK_ACTION_ENABLE_TABLE_FILTERING', context, [{
|
|
26
|
+
run: () => {
|
|
27
|
+
if (this.control) {
|
|
28
|
+
const id = this.control.getProperty('persistencyKey') ?? this.control.getId();
|
|
29
|
+
if (typeof id !== 'string') {
|
|
30
|
+
throw new Error('Could not retrieve configuration property because control id is not valid!');
|
|
31
|
+
}
|
|
32
|
+
const value = this.context.changeService.getConfigurationPropertyValue(id, 'enableTableFilterInPageVariant');
|
|
33
|
+
const isFilterEnabled = value === undefined ? this.control.data('p13nDialogSettings')?.filter?.visible : value;
|
|
34
|
+
if (isFilterEnabled) {
|
|
35
|
+
return {
|
|
36
|
+
type: 'error',
|
|
37
|
+
message: this.context.resourceBundle.getText('TABLE_FILTERING_CHANGE_HAS_ALREADY_BEEN_MADE')
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
}]);
|
|
44
|
+
}
|
|
45
|
+
forceRefreshAfterExecution = true;
|
|
46
|
+
async initialize() {
|
|
47
|
+
const manifestChangesSupported = await areManifestChangesSupported(this.context.manifest);
|
|
48
|
+
if (!manifestChangesSupported) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
for (const table of getRelevantControlFromActivePage(this.context.controlIndex, this.context.view, CONTROL_TYPES)) {
|
|
52
|
+
if (table) {
|
|
53
|
+
const isActionApplicable = pageHasControlId(this.context.view, table.getId());
|
|
54
|
+
if (isActionApplicable) {
|
|
55
|
+
this.control = table;
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
async execute() {
|
|
62
|
+
if (!this.control) {
|
|
63
|
+
return [];
|
|
64
|
+
}
|
|
65
|
+
const entitySet = isA(SMART_TABLE_TYPE, this.control) ? this.control.getEntitySet() : undefined;
|
|
66
|
+
const command = await prepareManifestChange(this.context, 'component/settings', this.control, COMPONENT, entitySet, {
|
|
67
|
+
enableTableFilterInPageVariant: !this.isDisabled
|
|
68
|
+
});
|
|
69
|
+
return command;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
var __exports = {
|
|
73
|
+
__esModule: true
|
|
74
|
+
};
|
|
75
|
+
__exports.ENABLE_TABLE_FILTERING = ENABLE_TABLE_FILTERING;
|
|
76
|
+
__exports.EnableTableFilteringQuickAction = EnableTableFilteringQuickAction;
|
|
77
|
+
return __exports;
|
|
78
78
|
});
|
|
79
79
|
//# sourceMappingURL=lr-enable-table-filtering.js.map
|