@sap-ux/preview-middleware 0.18.18 → 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.
Files changed (77) hide show
  1. package/dist/client/adp/api-handler.js +153 -153
  2. package/dist/client/adp/command-executor.js +75 -75
  3. package/dist/client/adp/control-utils.js +44 -44
  4. package/dist/client/adp/controllers/AddSubpage.controller.js +128 -0
  5. package/dist/client/adp/controllers/AddSubpage.controller.ts +195 -0
  6. package/dist/client/adp/controllers/BaseDialog.controller.js +187 -187
  7. package/dist/client/adp/controllers/ControllerExtension.controller.js +209 -209
  8. package/dist/client/adp/controllers/ExtensionPoint.controller.js +138 -138
  9. package/dist/client/adp/controllers/FileExistsDialog.controller.js +66 -66
  10. package/dist/client/adp/dialog-factory.js +133 -125
  11. package/dist/client/adp/dialog-factory.ts +17 -3
  12. package/dist/client/adp/init-dialogs.js +107 -107
  13. package/dist/client/adp/quick-actions/common/add-controller-to-page.js +55 -55
  14. package/dist/client/adp/quick-actions/common/add-new-subpage.js +140 -0
  15. package/dist/client/adp/quick-actions/common/add-new-subpage.ts +164 -0
  16. package/dist/client/adp/quick-actions/common/create-page-action.js +51 -51
  17. package/dist/client/adp/quick-actions/common/op-add-custom-section.js +36 -36
  18. package/dist/client/adp/quick-actions/common/op-add-header-field.js +61 -61
  19. package/dist/client/adp/quick-actions/common/utils.js +18 -18
  20. package/dist/client/adp/quick-actions/control-types.js +21 -21
  21. package/dist/client/adp/quick-actions/dialog-enablement-validator.js +24 -24
  22. package/dist/client/adp/quick-actions/enablement-validator.js +4 -4
  23. package/dist/client/adp/quick-actions/fe-v2/change-table-columns.js +101 -101
  24. package/dist/client/adp/quick-actions/fe-v2/create-table-action.js +104 -104
  25. package/dist/client/adp/quick-actions/fe-v2/create-table-custom-column.js +96 -96
  26. package/dist/client/adp/quick-actions/fe-v2/lr-enable-semantic-date-range-filter-bar.js +78 -78
  27. package/dist/client/adp/quick-actions/fe-v2/lr-enable-table-filtering.js +77 -77
  28. package/dist/client/adp/quick-actions/fe-v2/lr-enable-variant-management.js +69 -69
  29. package/dist/client/adp/quick-actions/fe-v2/lr-toggle-clear-filter-bar.js +59 -59
  30. package/dist/client/adp/quick-actions/fe-v2/op-enable-empty-row-mode.js +93 -93
  31. package/dist/client/adp/quick-actions/fe-v2/op-enable-variant-management.js +84 -84
  32. package/dist/client/adp/quick-actions/fe-v2/registry.js +76 -75
  33. package/dist/client/adp/quick-actions/fe-v2/registry.ts +7 -3
  34. package/dist/client/adp/quick-actions/fe-v2/utils.js +116 -116
  35. package/dist/client/adp/quick-actions/fe-v4/change-table-columns.js +73 -73
  36. package/dist/client/adp/quick-actions/fe-v4/create-table-action.js +50 -50
  37. package/dist/client/adp/quick-actions/fe-v4/create-table-custom-column.js +46 -46
  38. package/dist/client/adp/quick-actions/fe-v4/enable-variant-management.js +81 -81
  39. package/dist/client/adp/quick-actions/fe-v4/lr-enable-semantic-date-range-filter-bar.js +56 -56
  40. package/dist/client/adp/quick-actions/fe-v4/lr-enable-table-filtering.js +82 -82
  41. package/dist/client/adp/quick-actions/fe-v4/lr-toggle-clear-filter-bar.js +53 -53
  42. package/dist/client/adp/quick-actions/fe-v4/op-enable-empty-row-mode.js +89 -89
  43. package/dist/client/adp/quick-actions/fe-v4/registry.js +58 -58
  44. package/dist/client/adp/quick-actions/fe-v4/utils.js +47 -47
  45. package/dist/client/adp/quick-actions/load.js +44 -44
  46. package/dist/client/adp/quick-actions/quick-action-base.js +53 -53
  47. package/dist/client/adp/ui/AddSubpage.fragment.xml +73 -0
  48. package/dist/client/adp/utils.js +160 -160
  49. package/dist/client/cpe/changes/index.js +10 -10
  50. package/dist/client/cpe/changes/validator.js +39 -39
  51. package/dist/client/cpe/documentation.js +164 -164
  52. package/dist/client/cpe/feature-service.js +36 -36
  53. package/dist/client/cpe/logger.js +30 -30
  54. package/dist/client/cpe/outline/editable.js +37 -37
  55. package/dist/client/cpe/outline/nodes.js +222 -222
  56. package/dist/client/cpe/quick-actions/quick-action-definition.js +4 -4
  57. package/dist/client/cpe/quick-actions/registry.js +143 -143
  58. package/dist/client/cpe/quick-actions/utils.js +92 -92
  59. package/dist/client/cpe/types.js +4 -4
  60. package/dist/client/cpe/ui5-utils.js +33 -33
  61. package/dist/client/cpe/utils.js +138 -138
  62. package/dist/client/flp/WorkspaceConnector.js +86 -86
  63. package/dist/client/flp/common.js +28 -28
  64. package/dist/client/flp/enableFakeConnector.js +83 -83
  65. package/dist/client/flp/initConnectors.js +28 -28
  66. package/dist/client/flp/initRta.js +178 -178
  67. package/dist/client/i18n.js +56 -56
  68. package/dist/client/messagebundle.properties +6 -0
  69. package/dist/client/utils/application.js +32 -32
  70. package/dist/client/utils/core.js +68 -68
  71. package/dist/client/utils/error.js +19 -19
  72. package/dist/client/utils/fe-v2.js +58 -0
  73. package/dist/client/utils/fe-v2.ts +63 -0
  74. package/dist/client/utils/fe-v4.js +141 -118
  75. package/dist/client/utils/fe-v4.ts +19 -0
  76. package/dist/client/utils/version.js +104 -104
  77. package/package.json +8 -8
@@ -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