@sap-ux/preview-middleware 0.17.27 → 0.17.29
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/quick-actions/fe-v2/op-enable-variant-management.js +15 -12
- package/dist/client/adp/quick-actions/fe-v2/op-enable-variant-management.ts +21 -15
- package/dist/client/adp/quick-actions/fe-v2/utils.js +6 -3
- package/dist/client/adp/quick-actions/fe-v2/utils.ts +3 -3
- package/dist/client/adp/quick-actions/supported-ui5versions.md +30 -27
- package/dist/client/messagebundle.properties +1 -0
- package/package.json +4 -4
|
@@ -24,6 +24,7 @@ sap.ui.define(["../table-quick-action-base", "../control-types", "./utils", "./c
|
|
|
24
24
|
await super.initialize();
|
|
25
25
|
const processChild = (child, mapKey) => {
|
|
26
26
|
const alreadyEnabledTooltip = this.context.resourceBundle.getText('VARIANT_MANAGEMENT_FOR_TABLE_CONTROLS_IS_ALREADY_ENABLED', [child.label]);
|
|
27
|
+
const vmSetupNotSupported = this.context.resourceBundle.getText('VARIANT_MANAGEMENT_FOR_CUSTOM_TABLES_NOT_SUPPORTED', [child.label]);
|
|
27
28
|
const table = this.tableMap[mapKey]?.table;
|
|
28
29
|
if (table) {
|
|
29
30
|
const id = table.getId();
|
|
@@ -34,10 +35,16 @@ sap.ui.define(["../table-quick-action-base", "../control-types", "./utils", "./c
|
|
|
34
35
|
if (value === undefined) {
|
|
35
36
|
value = !!table.getVariantManagement();
|
|
36
37
|
}
|
|
37
|
-
const
|
|
38
|
-
|
|
38
|
+
const sectionId = table.data('sectionId');
|
|
39
|
+
let tooltip;
|
|
40
|
+
if (!sectionId) {
|
|
41
|
+
tooltip = vmSetupNotSupported;
|
|
42
|
+
} else if (value) {
|
|
43
|
+
tooltip = alreadyEnabledTooltip;
|
|
44
|
+
}
|
|
45
|
+
if (value || !sectionId) {
|
|
39
46
|
child.enabled = false;
|
|
40
|
-
child.tooltip =
|
|
47
|
+
child.tooltip = tooltip;
|
|
41
48
|
}
|
|
42
49
|
}
|
|
43
50
|
child.children.forEach((nestedChild, idx) => processChild(nestedChild, `${mapKey}/${idx.toFixed(0)}`));
|
|
@@ -57,21 +64,17 @@ sap.ui.define(["../table-quick-action-base", "../control-types", "./utils", "./c
|
|
|
57
64
|
if (!entitySet) {
|
|
58
65
|
throw Error('Internal error. Object Page entity set not found');
|
|
59
66
|
}
|
|
67
|
+
const sectionId = table.data('sectionId');
|
|
68
|
+
if (!sectionId) {
|
|
69
|
+
throw Error('Internal error. Table sectionId property not found');
|
|
70
|
+
}
|
|
60
71
|
preprocessActionExecution(table, sectionInfo, this.iconTabBar, iconTabBarFilterKey);
|
|
61
72
|
this.selectOverlay(table);
|
|
62
|
-
const commands = await prepareManifestChange(this.context, `component/settings/sections/${
|
|
73
|
+
const commands = await prepareManifestChange(this.context, `component/settings/sections/${sectionId}/tableSettings`, table, OBJECT_PAGE_COMPONENT_NAME, entitySet, {
|
|
63
74
|
'variantManagement': true
|
|
64
75
|
});
|
|
65
76
|
return commands ?? [];
|
|
66
77
|
}
|
|
67
|
-
getSectionID(table) {
|
|
68
|
-
let lineItem = 'com.sap.vocabularies.UI.v1.LineItem';
|
|
69
|
-
if (table.data().lineItemQualifier) {
|
|
70
|
-
lineItem = `${lineItem}#${table.data().lineItemQualifier}`;
|
|
71
|
-
}
|
|
72
|
-
const navSegment = table.getTable().getBindingInfo('items').path ?? '';
|
|
73
|
-
return `${navSegment ? navSegment + '::' : ''}${lineItem}`;
|
|
74
|
-
}
|
|
75
78
|
}
|
|
76
79
|
var __exports = {
|
|
77
80
|
__esModule: true
|
|
@@ -7,8 +7,6 @@ import { SMART_TABLE_TYPE } from '../control-types';
|
|
|
7
7
|
import { NestedQuickActionChild } from '@sap-ux-private/control-property-editor-common';
|
|
8
8
|
import { areManifestChangesSupported, prepareManifestChange } from './utils';
|
|
9
9
|
import { preprocessActionExecution } from './create-table-custom-column';
|
|
10
|
-
import SmartTable from 'sap/ui/comp/smarttable/SmartTable';
|
|
11
|
-
import UI5Element from 'sap/ui/core/Element';
|
|
12
10
|
import SmartTableExtended from 'sap/ui/comp/smarttable';
|
|
13
11
|
|
|
14
12
|
export const ENABLE_VARIANT_MANAGEMENT_IN_TABLES_CHARTS = 'enable-variant-management-in-tables-charts';
|
|
@@ -45,6 +43,10 @@ export class EnableObjectPageVariantManagementQuickAction
|
|
|
45
43
|
'VARIANT_MANAGEMENT_FOR_TABLE_CONTROLS_IS_ALREADY_ENABLED',
|
|
46
44
|
[child.label]
|
|
47
45
|
);
|
|
46
|
+
const vmSetupNotSupported = this.context.resourceBundle.getText(
|
|
47
|
+
'VARIANT_MANAGEMENT_FOR_CUSTOM_TABLES_NOT_SUPPORTED',
|
|
48
|
+
[child.label]
|
|
49
|
+
);
|
|
48
50
|
const table = this.tableMap[mapKey]?.table;
|
|
49
51
|
|
|
50
52
|
if (table) {
|
|
@@ -56,11 +58,19 @@ export class EnableObjectPageVariantManagementQuickAction
|
|
|
56
58
|
if (value === undefined) {
|
|
57
59
|
value = !!(table as SmartTableExtended).getVariantManagement();
|
|
58
60
|
}
|
|
59
|
-
const hasItems = !!(table as SmartTable).getTable().getBindingInfo('items');
|
|
60
61
|
|
|
61
|
-
|
|
62
|
+
const sectionId = table.data('sectionId') as string | undefined | null;
|
|
63
|
+
|
|
64
|
+
let tooltip: string | undefined;
|
|
65
|
+
if (!sectionId) {
|
|
66
|
+
tooltip = vmSetupNotSupported;
|
|
67
|
+
} else if (value) {
|
|
68
|
+
tooltip = alreadyEnabledTooltip;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (value || !sectionId) {
|
|
62
72
|
child.enabled = false;
|
|
63
|
-
child.tooltip =
|
|
73
|
+
child.tooltip = tooltip;
|
|
64
74
|
}
|
|
65
75
|
}
|
|
66
76
|
child.children.forEach((nestedChild, idx) => processChild(nestedChild, `${mapKey}/${idx.toFixed(0)}`));
|
|
@@ -79,12 +89,17 @@ export class EnableObjectPageVariantManagementQuickAction
|
|
|
79
89
|
throw Error('Internal error. Object Page entity set not found');
|
|
80
90
|
}
|
|
81
91
|
|
|
92
|
+
const sectionId = table.data('sectionId') as string | undefined | null;
|
|
93
|
+
if (!sectionId) {
|
|
94
|
+
throw Error('Internal error. Table sectionId property not found');
|
|
95
|
+
}
|
|
96
|
+
|
|
82
97
|
preprocessActionExecution(table, sectionInfo, this.iconTabBar, iconTabBarFilterKey);
|
|
83
98
|
this.selectOverlay(table);
|
|
84
99
|
|
|
85
100
|
const commands = await prepareManifestChange(
|
|
86
101
|
this.context,
|
|
87
|
-
`component/settings/sections/${
|
|
102
|
+
`component/settings/sections/${sectionId}/tableSettings`,
|
|
88
103
|
table,
|
|
89
104
|
OBJECT_PAGE_COMPONENT_NAME,
|
|
90
105
|
entitySet,
|
|
@@ -95,13 +110,4 @@ export class EnableObjectPageVariantManagementQuickAction
|
|
|
95
110
|
|
|
96
111
|
return commands ?? [];
|
|
97
112
|
}
|
|
98
|
-
|
|
99
|
-
getSectionID(table: UI5Element): string {
|
|
100
|
-
let lineItem = 'com.sap.vocabularies.UI.v1.LineItem';
|
|
101
|
-
if (table.data().lineItemQualifier) {
|
|
102
|
-
lineItem = `${lineItem}#${table.data().lineItemQualifier}`;
|
|
103
|
-
}
|
|
104
|
-
const navSegment = (table as SmartTable).getTable().getBindingInfo('items').path ?? '';
|
|
105
|
-
return `${navSegment ? navSegment + '::' : ''}${lineItem}`;
|
|
106
|
-
}
|
|
107
113
|
}
|
|
@@ -57,16 +57,19 @@ sap.ui.define(["sap/ui/rta/command/CommandFactory", "../../../utils/version"], f
|
|
|
57
57
|
*
|
|
58
58
|
* Returns `false`
|
|
59
59
|
*
|
|
60
|
-
* - If the manifest is structured is an array
|
|
60
|
+
* - If the manifest is structured is an array and is below version 1.134
|
|
61
61
|
* - If the UI5 version is not supported
|
|
62
62
|
* Otherwise, returns `true`.
|
|
63
63
|
*
|
|
64
64
|
*/
|
|
65
65
|
async function areManifestChangesSupported(manifest) {
|
|
66
|
-
|
|
66
|
+
const version = await getUi5Version();
|
|
67
|
+
if (isLowerThanMinimalUi5Version(version, {
|
|
68
|
+
major: 1,
|
|
69
|
+
minor: 134
|
|
70
|
+
}) && isManifestArrayStructured(manifest)) {
|
|
67
71
|
return false;
|
|
68
72
|
}
|
|
69
|
-
const version = await getUi5Version();
|
|
70
73
|
const isAboveOrEqualMinimalVersion = !isLowerThanMinimalUi5Version(version, {
|
|
71
74
|
major: 1,
|
|
72
75
|
minor: 128
|
|
@@ -70,17 +70,17 @@ export function isManifestArrayStructured(manifest: Manifest): boolean {
|
|
|
70
70
|
*
|
|
71
71
|
* Returns `false`
|
|
72
72
|
*
|
|
73
|
-
* - If the manifest is structured is an array
|
|
73
|
+
* - If the manifest is structured is an array and is below version 1.134
|
|
74
74
|
* - If the UI5 version is not supported
|
|
75
75
|
* Otherwise, returns `true`.
|
|
76
76
|
*
|
|
77
77
|
*/
|
|
78
78
|
export async function areManifestChangesSupported(manifest: Manifest): Promise<boolean> {
|
|
79
|
-
|
|
79
|
+
const version = await getUi5Version();
|
|
80
|
+
if (isLowerThanMinimalUi5Version(version, { major: 1, minor: 134 }) && isManifestArrayStructured(manifest)) {
|
|
80
81
|
return false;
|
|
81
82
|
}
|
|
82
83
|
|
|
83
|
-
const version = await getUi5Version();
|
|
84
84
|
const isAboveOrEqualMinimalVersion = !isLowerThanMinimalUi5Version(version, { major: 1, minor: 128 });
|
|
85
85
|
const isSupportedPatchVersion =
|
|
86
86
|
isVersionEqualOrHasNewerPatch(version, { major: 1, minor: 96, patch: 35 }) ||
|
|
@@ -4,33 +4,36 @@
|
|
|
4
4
|
|
|
5
5
|
Here’s the updated table with the additional column titled ">= SAPUI5 1.132.0":
|
|
6
6
|
|
|
7
|
-
| Quick Action | OData Version | Page Type
|
|
8
|
-
| ---------------------------------------- | ------------- |
|
|
9
|
-
| Add Controller to Page | OData V2 | List Report, Object Page | X | X | X | X | X | X | X | X | X | X |
|
|
10
|
-
| | OData V4 | List Report, Object Page | X | X | X | X | X | X | X | X | X | X |
|
|
11
|
-
| Add Header Field | OData V2 | Object Page
|
|
12
|
-
| | OData V4 | Object Page
|
|
13
|
-
| Add Custom Section | OData V2 | Object Page
|
|
14
|
-
| | OData V4 | Object Page
|
|
15
|
-
| Add Custom Page Action | OData V2 | List Report, Object Page | | | | | | | | X | X | X |
|
|
16
|
-
| | OData V4 | List Report, Object Page | | | | | | | | X | X | X |
|
|
17
|
-
| Add Custom Table Action | OData V2 | List Report, Object Page | | | X | X | X | X | X | X | X | X |
|
|
18
|
-
| | OData V4 | List Report, Object Page | | | X | X | X | X | X | X | X | X |
|
|
19
|
-
| Add Custom Table Column | OData V2 | List Report, Object Page | | | X | X | X | X | X | X | X | X |
|
|
20
|
-
| | OData V4 | List Report, Object Page | | | X | X | X | X | X | X | X | X |
|
|
21
|
-
| Change Table Columns | OData V2 | List Report, Object Page | | | X | X | X | X | X | X | X | X |
|
|
22
|
-
| | OData V4 | List Report, Object Page | | | X | X | X | X | X | X | X | X |
|
|
23
|
-
| Enable/Disable "Clear" Button | OData V2 | List Report
|
|
24
|
-
| | OData V4 | List Report
|
|
25
|
-
| Enable Semantic Date Range* | OData V2 | List Report
|
|
26
|
-
| | OData V4 | List Report
|
|
27
|
-
| Enable Table Filtering for Page Variants
|
|
28
|
-
| | OData V4 | List Report | | | | | | | | | X | X |
|
|
29
|
-
| Add
|
|
30
|
-
| | OData V4 | List Report, Object Page | | | | | | | | | | X |
|
|
31
|
-
| Enable Empty Row Mode for Tables*
|
|
32
|
-
| | OData V4 |
|
|
33
|
-
|
|
7
|
+
| Quick Action | OData Version | Page Type | SAPUI5 1.71 | SAPUI5 1.84 | SAPUI5 1.96 | SAPUI5 1.108 | SAPUI5 1.120 | SAPUI5 1.24 | SAPUI5 1.27 | SAPUI5 1.130 | SAPUI5 1.131 | >= SAPUI5 1.132.0 |
|
|
8
|
+
| ---------------------------------------- | ------------- | --------------------------------------- | ----------- | ----------- | ----------- | ------------ | ------------ | ----------- | ----------- | ------------ | ------------ | ---------------- |
|
|
9
|
+
| Add Controller to Page | OData V2 | List Report/Analytical List Page, Object Page | X | X | X | X | X | X | X | X | X | X |
|
|
10
|
+
| | OData V4 | List Report/Analytical List Page, Object Page | X | X | X | X | X | X | X | X | X | X |
|
|
11
|
+
| Add Header Field | OData V2 | Object Page | X | X | X | X | X | X | X | X | X | X |
|
|
12
|
+
| | OData V4 | Object Page | X | X | X | X | X | X | X | X | X | X |
|
|
13
|
+
| Add Custom Section | OData V2 | Object Page | X | X | X | X | X | X | X | X | X | X |
|
|
14
|
+
| | OData V4 | Object Page | X | X | X | X | X | X | X | X | X | X |
|
|
15
|
+
| Add Custom Page Action | OData V2 | List Report/Analytical List Page, Object Page | | | | | | | | X | X | X |
|
|
16
|
+
| | OData V4 | List Report/Analytical List Page, Object Page | | | | | | | | X | X | X |
|
|
17
|
+
| Add Custom Table Action | OData V2 | List Report/Analytical List Page, Object Page | | | X | X | X | X | X | X | X | X |
|
|
18
|
+
| | OData V4 | List Report/Analytical List Page, Object Page | | | X | X | X | X | X | X | X | X |
|
|
19
|
+
| Add Custom Table Column | OData V2 | List Report/Analytical List Page, Object Page | | | X | X | X | X | X | X | X | X |
|
|
20
|
+
| | OData V4 | List Report/Analytical List Page, Object Page | | | X | X | X | X | X | X | X | X |
|
|
21
|
+
| Change Table Columns | OData V2 | List Report/Analytical List Page, Object Page | | | X | X | X | X | X | X | X | X |
|
|
22
|
+
| | OData V4 | List Report/Analytical List Page, Object Page | | | X | X | X | X | X | X | X | X |
|
|
23
|
+
| Enable/Disable "Clear" Button | OData V2 | List Report/Analytical List Page | X | X | X | X | X | X | X | X | X | X |
|
|
24
|
+
| | OData V4 | List Report/Analytical List Page | X | X | X | X | X | X | X | X | X | X |
|
|
25
|
+
| Enable Semantic Date Range* | OData V2 | List Report/Analytical List Page | | | X | X | X | | | X | X | X |
|
|
26
|
+
| | OData V4 | List Report/Analytical List Page | | | | | | | | X | X | X |
|
|
27
|
+
| Enable Table Filtering for Page Variants*| OData V2 | List Report/Analytical List Page | | | X | X | X | | | X | X | X |
|
|
28
|
+
| | OData V4 | List Report/Analytical List Page | | | | | | | | | X | X |
|
|
29
|
+
| Add Local Annotation File* | OData V2 | List Report/Analytical List Page, Object Page | | | | | | | | | | X |
|
|
30
|
+
| | OData V4 | List Report/Analytical List Page, Object Page | | | | | | | | | | X |
|
|
31
|
+
| Enable Empty Row Mode for Tables* | OData V2 | Object Page | | | | | | | | X | X | X |
|
|
32
|
+
| | OData V4 | Object Page | | | | | | | | | X | X |
|
|
33
|
+
| Enable Variant Management in Tables and Charts* | OData V2 | List Report/Analytical List Page | | | X | X | X | | | X | X | X |
|
|
34
|
+
| | OData V4 | List Report/Analytical List Page, Object Page | | | | | | | | | X | X |
|
|
35
|
+
| Enable Variant Management in Tables* | OData V2 | Object Page | | | X | X | X | | | X | X | X |
|
|
36
|
+
| |
|
|
34
37
|
|
|
35
38
|
*Actions resulting in manifest changes are not available for adaptation projects built for OData v2 appliactions using outdated array page structure in manifest.json.
|
|
36
39
|
|
|
@@ -49,6 +49,7 @@ EMPTY_ROW_MODE_IS_ALREADY_ENABLED=This option has been disabled because empty ro
|
|
|
49
49
|
EMPTY_ROW_MODE_IS_NOT_SUPPORTED=This action is disabled because empty row mode is not supported for analytical and tree tables
|
|
50
50
|
VARIANT_MANAGEMENT_FOR_PAGE_CONTROLS_IS_ALREADY_ENABLED=This option has been disabled because variant management is already enabled for tables and charts
|
|
51
51
|
VARIANT_MANAGEMENT_FOR_TABLE_CONTROLS_IS_ALREADY_ENABLED=This option has been disabled because variant management is already enabled for the ''{0}''
|
|
52
|
+
VARIANT_MANAGEMENT_FOR_CUSTOM_TABLES_NOT_SUPPORTED=Variant management cannot be set for custom table ''{0}''
|
|
52
53
|
|
|
53
54
|
ADD_ANNOTATION_FILE=Add Annotation File for ''{0}''
|
|
54
55
|
SHOW_ANNOTATION_FILE=Show Annotation File for ''{0}''
|
package/package.json
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"bugs": {
|
|
10
10
|
"url": "https://github.com/SAP/open-ux-tools/issues?q=is%3Aopen+is%3Aissue+label%3Abug+label%3Apreview-middleware"
|
|
11
11
|
},
|
|
12
|
-
"version": "0.17.
|
|
12
|
+
"version": "0.17.29",
|
|
13
13
|
"license": "Apache-2.0",
|
|
14
14
|
"author": "@SAP/ux-tools-team",
|
|
15
15
|
"main": "dist/index.js",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"@sap-ux/feature-toggle": "0.2.3",
|
|
30
30
|
"@sap-ux/btp-utils": "1.0.1",
|
|
31
31
|
"@sap-ux/adp-tooling": "0.12.127",
|
|
32
|
-
"@sap-ux/
|
|
33
|
-
"@sap-ux/
|
|
32
|
+
"@sap-ux/control-property-editor-sources": "npm:@sap-ux/control-property-editor@0.5.37",
|
|
33
|
+
"@sap-ux/project-access": "1.29.6"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"connect": "^3.7.0",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"supertest": "6.3.3",
|
|
49
49
|
"@sap-ux-private/playwright": "0.1.0",
|
|
50
50
|
"dotenv": "16.3.1",
|
|
51
|
-
"@private/preview-middleware-client": "npm:@sap-ux-private/preview-middleware-client@0.11.
|
|
51
|
+
"@private/preview-middleware-client": "npm:@sap-ux-private/preview-middleware-client@0.11.61",
|
|
52
52
|
"@sap-ux/axios-extension": "1.18.5",
|
|
53
53
|
"@sap-ux/store": "1.0.0",
|
|
54
54
|
"@sap-ux/ui5-info": "0.8.3",
|