@sap/ux-specification 1.84.101 → 1.84.102
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/CHANGELOG.md +28 -0
- package/dist/documentation/v2/v2-AnalyticalListPage.html +2 -2
- package/dist/documentation/v2/v2-ApplicationV2.html +2 -2
- package/dist/documentation/v2/v2-ListReport.html +2 -2
- package/dist/documentation/v2/v2-ObjectPage.html +2 -2
- package/dist/documentation/v2/v2-OverviewPage.html +2 -2
- package/dist/documentation/v4/v4-ApplicationV4.html +2 -2
- package/dist/documentation/v4/v4-ListReport.html +2 -2
- package/dist/documentation/v4/v4-ObjectPage.html +2 -2
- package/dist/index-min.js +36 -36
- package/dist/index-min.js.map +4 -4
- package/dist/specification/package.json +6 -6
- package/dist/specification/src/api.js +1 -1
- package/dist/specification/src/sync/common/decoration/control.d.ts +9 -3
- package/dist/specification/src/sync/common/decoration/control.d.ts.map +1 -1
- package/dist/specification/src/sync/common/decoration/control.js +25 -12
- package/dist/specification/src/sync/common/decoration/control.js.map +1 -1
- package/dist/specification/src/sync/v2/import/common/index.d.ts +5 -6
- package/dist/specification/src/sync/v2/import/common/index.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/import/common/index.js +33 -55
- package/dist/specification/src/sync/v2/import/common/index.js.map +1 -1
- package/dist/specification/src/sync/v2/import/controls/table.d.ts +28 -2
- package/dist/specification/src/sync/v2/import/controls/table.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/import/controls/table.js +98 -22
- package/dist/specification/src/sync/v2/import/controls/table.js.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/analyticalListPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/analyticalListPage.js +11 -2
- package/dist/specification/src/sync/v2/import/pages/analyticalListPage.js.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/listReport.d.ts +9 -1
- package/dist/specification/src/sync/v2/import/pages/listReport.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/listReport.js +47 -6
- package/dist/specification/src/sync/v2/import/pages/listReport.js.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/objectPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/objectPage.js +57 -19
- package/dist/specification/src/sync/v2/import/pages/objectPage.js.map +1 -1
- package/dist/specification/src/sync/v4/generate/objectPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/generate/objectPage.js +2 -1
- package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
- package/package.json +6 -6
|
@@ -1,32 +1,108 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.addFlexChangeToConfigTableColumn = addFlexChangeToConfigTableColumn;
|
|
4
|
+
exports.addFlexChangeToConfigTable = addFlexChangeToConfigTable;
|
|
5
|
+
exports.importFlexChangesOfColumn = importFlexChangesOfColumn;
|
|
4
6
|
const ux_specification_types_1 = require("@sap/ux-specification-types");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
const common_1 = require("../../../common");
|
|
8
|
+
/**
|
|
9
|
+
* Checks whether a given flex change applies to a given table column. If this is the case the change is filled into the config.
|
|
10
|
+
* @param {ConfigTableType} config - the table configuration
|
|
11
|
+
* @param {FlexForTransfer} change - the flex change
|
|
12
|
+
* @param {string} columnKey - the column key. If the column key is not equal to the column id of the change, the change will not be added to the column.
|
|
13
|
+
* @param {object} customColumn - the custom column. If set, the property of the change will be added to the given column.
|
|
14
|
+
*/
|
|
15
|
+
function addFlexChangeToConfigTableColumn(config, change, columnKey, customColumn) {
|
|
16
|
+
if (change.controlType === ux_specification_types_1.ControlType.TableColumn || change.controlType === ux_specification_types_1.ControlType.Button) {
|
|
14
17
|
const idParts = change.controlId.split('-');
|
|
15
18
|
const lastIdPart = idParts[idParts.length - 1];
|
|
16
19
|
// As the last stable Id part is still too long in some cases, strip off the fixed parts.
|
|
17
20
|
// It must the be added again by the export!
|
|
18
|
-
const annotationPart =
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
21
|
+
const annotationPart = change.controlType === ux_specification_types_1.ControlType.TableColumn
|
|
22
|
+
? lastIdPart.split('template:::TableColumn:::')
|
|
23
|
+
: [lastIdPart];
|
|
24
|
+
const colId = customColumn
|
|
25
|
+
? annotationPart[annotationPart.length - 1]
|
|
26
|
+
: annotationPart[annotationPart.length - 1]
|
|
27
|
+
.replace(/sSmartTableId.+?:::/, '')
|
|
28
|
+
.replace('::com.sap.vocabularies', ux_specification_types_1.VOCWITHCOLONS);
|
|
29
|
+
let columnKeyEncoded = columnKey?.replace(/@/g, ':40').replace(/#/g, ':23');
|
|
30
|
+
if (columnKeyEncoded?.startsWith('DataField')) {
|
|
31
|
+
//Regular encoding of stable ID's
|
|
32
|
+
columnKeyEncoded = columnKeyEncoded?.replace('/', ':2f');
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
//legacy encoding, for smart table columns only
|
|
36
|
+
columnKeyEncoded = columnKeyEncoded?.replace('/', '_');
|
|
37
|
+
}
|
|
38
|
+
//Compare column part of the selectorId with the given columnKey
|
|
39
|
+
if (columnKeyEncoded !== colId && columnKey !== colId) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
//Add property of flex change to the column in config
|
|
43
|
+
if (customColumn) {
|
|
44
|
+
customColumn[change.propertyId] = change.newValue;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
if (!config.columns) {
|
|
48
|
+
config.columns = {};
|
|
49
|
+
}
|
|
50
|
+
if (!config.columns[columnKey]) {
|
|
51
|
+
config.columns[columnKey] = {};
|
|
52
|
+
}
|
|
53
|
+
config.columns[columnKey][change.propertyId] = change.newValue;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Fills a table column flex change into the config, if it is relevant for the table
|
|
59
|
+
* @param {ConfigTableType} config - the table configuration
|
|
60
|
+
* @param {FlexForTransfer} change - the flex change
|
|
61
|
+
*/
|
|
62
|
+
function addFlexChangeToConfigTable(config, change, lineItemsDefinition) {
|
|
63
|
+
if (change.controlType?.endsWith(ux_specification_types_1.DefinitionName.Table) &&
|
|
64
|
+
Object.keys(lineItemsDefinition.properties).indexOf(change.propertyId) > -1) {
|
|
65
|
+
config[change.propertyId] = change.newValue;
|
|
30
66
|
}
|
|
31
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Imports the flex changes for a table column
|
|
70
|
+
* @param {CommonImportParameters} importParameters - common import parameters
|
|
71
|
+
* @param {v2.ListReportConfigV} listReportConfig - the list report configuration
|
|
72
|
+
* @param {string} columnKey - the column key
|
|
73
|
+
* @param {object} customColumn - optional: the custom column
|
|
74
|
+
* @param {string} lineItemsId - the line items id
|
|
75
|
+
*/
|
|
76
|
+
function importFlexChangesOfColumn(importParameters, listReportConfig, columnKey, customColumn, lineItemsId = 'LineItems') {
|
|
77
|
+
//Check all flex changes against the given column key
|
|
78
|
+
importParameters.flex.forEach((changeString) => {
|
|
79
|
+
const change = (0, common_1.parseChangeString)(changeString);
|
|
80
|
+
const flexForTransfer = {
|
|
81
|
+
controlId: change.controlId,
|
|
82
|
+
propertyId: change.content?.property,
|
|
83
|
+
newValue: change.content?.newBinding ? change.content.newBinding : change.content?.newValue,
|
|
84
|
+
controlType: change.controlType,
|
|
85
|
+
creation: change.creation
|
|
86
|
+
};
|
|
87
|
+
let schemaProperty;
|
|
88
|
+
//The relevant schema property can either reside on column or table level
|
|
89
|
+
if (change.controlType === ux_specification_types_1.ControlType.TableColumn) {
|
|
90
|
+
schemaProperty =
|
|
91
|
+
importParameters.jsonSchema['definitions'][`TableColumn`].properties[flexForTransfer.propertyId];
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
//Determine the right table type ID for the schema entry
|
|
95
|
+
const tableTypeId = (!listReportConfig.table.type || listReportConfig.table.type === ux_specification_types_1.v2.TableTypeV2.ResponsiveTable) &&
|
|
96
|
+
!flexForTransfer.controlId?.includes(ux_specification_types_1.PAGETYPE_VIEW_EXTENSION_TEMPLATE_MAP.get(ux_specification_types_1.PageTypeV2.AnalyticalListPage))
|
|
97
|
+
? 'ResponsiveTableWithMultiSelect'
|
|
98
|
+
: listReportConfig.table.constructor.name;
|
|
99
|
+
schemaProperty =
|
|
100
|
+
importParameters.jsonSchema['definitions'][`${tableTypeId}<${lineItemsId}>`]?.properties[flexForTransfer.propertyId];
|
|
101
|
+
}
|
|
102
|
+
if (schemaProperty) {
|
|
103
|
+
//Add the flex change to the config
|
|
104
|
+
addFlexChangeToConfigTableColumn(listReportConfig.table, flexForTransfer, columnKey, customColumn);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
32
108
|
//# sourceMappingURL=table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../../../../../src/sync/v2/import/controls/table.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../../../../../src/sync/v2/import/controls/table.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyticalListPage.d.ts","sourceRoot":"","sources":["../../../../../../../src/sync/v2/import/pages/analyticalListPage.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,EAAE,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"analyticalListPage.d.ts","sourceRoot":"","sources":["../../../../../../../src/sync/v2/import/pages/analyticalListPage.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,EAAE,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAgL7E;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC1C,gBAAgB,EAAE,qBAAqB,GACxC,EAAE,CAAC,0BAA0B,GAAG,SAAS,CAqC3C"}
|
|
@@ -7,6 +7,7 @@ const i18n_1 = require("../../../../i18n/i18n");
|
|
|
7
7
|
const common_1 = require("../../../common");
|
|
8
8
|
const utils_1 = require("../../import/utils");
|
|
9
9
|
const factory_1 = require("../../export/factory");
|
|
10
|
+
const listReport_1 = require("./listReport");
|
|
10
11
|
/**
|
|
11
12
|
* Adds manifest settings to the config.json
|
|
12
13
|
* @param {AnalyticalListPageConfig} analyticalListPageConfig - the configuration to be filled
|
|
@@ -22,7 +23,11 @@ function addSettings(importParameters, analyticalListPageConfig, factory, pageKe
|
|
|
22
23
|
// Import standard header actions:
|
|
23
24
|
(0, index_1.importHeaderActions)(analyticalListPageConfig, factory, schemaDefinitions);
|
|
24
25
|
analyticalListPageConfig.table = factory.createInstance(ux_specification_types_1.PageTypeV2.AnalyticalListPage, `ALP${tableType}`, analyticalListPageConfig.table);
|
|
25
|
-
|
|
26
|
+
// Import table settings
|
|
27
|
+
const lineItemsDefinition = schemaDefinitions[`ALP${tableType}<LineItems>`];
|
|
28
|
+
(0, index_1.transferSettingsOfObject)(analyticalListPageConfig.table, importParameters.manifest, lineItemsDefinition, pageKey, importParameters.logger);
|
|
29
|
+
// Import flex changes for columns
|
|
30
|
+
(0, listReport_1.importFlexChangesOfTableAndColumns)(importParameters, lineItemsDefinition, analyticalListPageConfig);
|
|
26
31
|
// ToolBar:
|
|
27
32
|
analyticalListPageConfig.table.toolBar = factory.createInstance(ux_specification_types_1.PageTypeV2.AnalyticalListPage, ux_specification_types_1.DefinitionName.ToolBar, {
|
|
28
33
|
actions: {}
|
|
@@ -94,13 +99,17 @@ function createAnalyticalListPageConfig(importParameters) {
|
|
|
94
99
|
if (!v2Page) {
|
|
95
100
|
return;
|
|
96
101
|
}
|
|
102
|
+
//Add the manifest settings to the config (and dependent flex changes)
|
|
97
103
|
addSettings(importParameters, config, factory, pageKeys[0]);
|
|
104
|
+
//Add the settings from other flex changes to the config
|
|
98
105
|
importParameters.flex.forEach((change) => {
|
|
99
106
|
if ((0, common_1.parseChangeString)(change)) {
|
|
100
|
-
(0, index_1.addFlex)(config, change, importParameters.jsonSchema);
|
|
107
|
+
(0, index_1.addFlex)(config, change, importParameters.jsonSchema, importParameters.logger);
|
|
101
108
|
}
|
|
102
109
|
});
|
|
110
|
+
//Add the settings from fragments to the config
|
|
103
111
|
(0, index_1.addFragments)(config, importParameters, v2Page, ux_specification_types_1.PageTypeV2.AnalyticalListPage);
|
|
112
|
+
//Remove empty properties from the config if they are not required
|
|
104
113
|
(0, utils_1.removeEmptySettings)(config);
|
|
105
114
|
return config;
|
|
106
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyticalListPage.js","sourceRoot":"","sources":["../../../../../../../src/sync/v2/import/pages/analyticalListPage.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"analyticalListPage.js","sourceRoot":"","sources":["../../../../../../../src/sync/v2/import/pages/analyticalListPage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ImportListReportV2Parameters, CommonImportParameters, v2 } from '@sap/ux-specification-types';
|
|
2
|
+
import type { Definition } from 'typescript-json-schema';
|
|
3
|
+
/**
|
|
4
|
+
* Imports flex changes for columns and table
|
|
5
|
+
* @param {ImportListReportV2Parameters} importParameters - object comprising all input data
|
|
6
|
+
* @param {Definition} lineItemsDefinition - the relevant line items' definition in the schema
|
|
7
|
+
* @param {ListReportConfig} listReportConfig - LR config, to be filled
|
|
8
|
+
*/
|
|
9
|
+
export declare function importFlexChangesOfTableAndColumns(importParameters: CommonImportParameters, lineItemsDefinition: Definition, listReportConfig: v2.ListReportConfigV2): void;
|
|
2
10
|
/**
|
|
3
11
|
* Creates the configuration file content for a list report V2
|
|
4
12
|
* @param {ImportListReportV2Parameters} importParameters - object comprising all input data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listReport.d.ts","sourceRoot":"","sources":["../../../../../../../src/sync/v2/import/pages/listReport.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"listReport.d.ts","sourceRoot":"","sources":["../../../../../../../src/sync/v2/import/pages/listReport.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACR,4BAA4B,EAE5B,sBAAsB,EACtB,EAAE,EACL,MAAM,6BAA6B,CAAC;AAUrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAwDzD;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAC9C,gBAAgB,EAAE,sBAAsB,EACxC,mBAAmB,EAAE,UAAU,EAC/B,gBAAgB,EAAE,EAAE,CAAC,kBAAkB,QAkC1C;AAiID;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAClC,gBAAgB,EAAE,4BAA4B,GAC/C,EAAE,CAAC,kBAAkB,GAAG,SAAS,CAkCnC"}
|
|
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.importFlexChangesOfTableAndColumns = importFlexChangesOfTableAndColumns;
|
|
6
7
|
exports.createListReportConfig = createListReportConfig;
|
|
7
8
|
const index_1 = require("../common/index");
|
|
8
9
|
const ux_specification_types_1 = require("@sap/ux-specification-types");
|
|
@@ -13,6 +14,7 @@ const i18n_1 = require("../../../../i18n/i18n");
|
|
|
13
14
|
const utils_1 = require("../../import/utils");
|
|
14
15
|
const factory_1 = require("../../export/factory");
|
|
15
16
|
const types_1 = require("../../types");
|
|
17
|
+
const table_1 = require("../controls/table");
|
|
16
18
|
/**
|
|
17
19
|
* Imports filterbar information into the LR config
|
|
18
20
|
* @param {ListReportConfig} listReportConfig - LR config, to be filled
|
|
@@ -34,6 +36,42 @@ function importFilterBar(listReportConfig, factory, importParameters, schemaDefi
|
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Imports flex changes for columns and table
|
|
41
|
+
* @param {ImportListReportV2Parameters} importParameters - object comprising all input data
|
|
42
|
+
* @param {Definition} lineItemsDefinition - the relevant line items' definition in the schema
|
|
43
|
+
* @param {ListReportConfig} listReportConfig - LR config, to be filled
|
|
44
|
+
*/
|
|
45
|
+
function importFlexChangesOfTableAndColumns(importParameters, lineItemsDefinition, listReportConfig) {
|
|
46
|
+
if (!importParameters.flex) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
//Flex changes for table
|
|
50
|
+
importParameters.flex.forEach((changeString) => {
|
|
51
|
+
const change = (0, common_1.parseChangeString)(changeString);
|
|
52
|
+
//Prepare the flex change for transfer to the flexibility utility function
|
|
53
|
+
const flexForTransfer = {
|
|
54
|
+
controlId: change.controlId,
|
|
55
|
+
propertyId: change.content?.property,
|
|
56
|
+
newValue: change.content?.newBinding ? change.content.newBinding : change.content?.newValue,
|
|
57
|
+
controlType: change.controlType,
|
|
58
|
+
creation: change.creation
|
|
59
|
+
};
|
|
60
|
+
//Import the currently processed flex change if it applies to a property of the SmartTable or its inner table
|
|
61
|
+
(0, table_1.addFlexChangeToConfigTable)(listReportConfig.table, flexForTransfer, lineItemsDefinition);
|
|
62
|
+
});
|
|
63
|
+
//Flex changes for columns
|
|
64
|
+
const columnsDefinition = lineItemsDefinition.properties.columns.$ref.split('/').pop();
|
|
65
|
+
const columns = importParameters.jsonSchema.definitions[columnsDefinition]?.properties || {};
|
|
66
|
+
for (const column in columns) {
|
|
67
|
+
//custom is just a placeholder for the custom columns, we do not need to consider flex changes for it
|
|
68
|
+
if (column === 'custom') {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
//Import the flex changes for the given column
|
|
72
|
+
(0, table_1.importFlexChangesOfColumn)(importParameters, listReportConfig, column);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
37
75
|
/**
|
|
38
76
|
* Imports table information into the LR config
|
|
39
77
|
* @param {TableTypeV2} tableType - table type
|
|
@@ -43,20 +81,23 @@ function importFilterBar(listReportConfig, factory, importParameters, schemaDefi
|
|
|
43
81
|
* @param {string} pageKey - key of the page in manifest
|
|
44
82
|
*/
|
|
45
83
|
function importTable(tableType, schemaDefinitions, listReportConfig, importParameters, pageKey) {
|
|
46
|
-
let
|
|
84
|
+
let lineItemsDefinition;
|
|
47
85
|
if (tableType === 'TreeTable' || tableType === 'AnalyticalTable' || tableType === 'GridTable') {
|
|
48
|
-
|
|
86
|
+
lineItemsDefinition = schemaDefinitions[tableType + '<LineItems>'];
|
|
49
87
|
}
|
|
50
88
|
else {
|
|
51
89
|
if (schemaDefinitions[types_1.MULTISELECTTABLE] && schemaDefinitions[types_1.INLINEDELETETABLE]) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
...
|
|
90
|
+
lineItemsDefinition = JSON.parse(JSON.stringify(schemaDefinitions[types_1.MULTISELECTTABLE]));
|
|
91
|
+
lineItemsDefinition.properties = {
|
|
92
|
+
...lineItemsDefinition.properties,
|
|
55
93
|
...schemaDefinitions[types_1.INLINEDELETETABLE].properties
|
|
56
94
|
};
|
|
57
95
|
}
|
|
58
96
|
}
|
|
59
|
-
|
|
97
|
+
// Import table settings
|
|
98
|
+
(0, index_1.transferSettingsOfObject)(listReportConfig.table, importParameters.manifest, lineItemsDefinition, pageKey, importParameters.logger);
|
|
99
|
+
// Import flex changes for columns
|
|
100
|
+
importFlexChangesOfTableAndColumns(importParameters, lineItemsDefinition, listReportConfig);
|
|
60
101
|
if ((!schemaDefinitions['LineItems']?.properties ||
|
|
61
102
|
Object.keys(schemaDefinitions['LineItems'].properties).filter((item) => item !== 'custom').length < 1) &&
|
|
62
103
|
!listReportConfig.table.quickVariantSelection &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listReport.js","sourceRoot":"","sources":["../../../../../../../src/sync/v2/import/pages/listReport.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"listReport.js","sourceRoot":"","sources":["../../../../../../../src/sync/v2/import/pages/listReport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objectPage.d.ts","sourceRoot":"","sources":["../../../../../../../src/sync/v2/import/pages/objectPage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKR,4BAA4B,EAI/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGH,EAAE,EAQL,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"objectPage.d.ts","sourceRoot":"","sources":["../../../../../../../src/sync/v2/import/pages/objectPage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKR,4BAA4B,EAI/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGH,EAAE,EAQL,MAAM,6BAA6B,CAAC;AAwsCrC;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACpC,gBAAgB,EAAE,4BAA4B,GAC/C,EAAE,CAAC,kBAAkB,GAAG,SAAS,CAqBnC"}
|
|
@@ -141,28 +141,51 @@ const getSectionType = (schemaSection) => {
|
|
|
141
141
|
}
|
|
142
142
|
};
|
|
143
143
|
/**
|
|
144
|
-
*
|
|
145
|
-
* @param
|
|
146
|
-
* @param
|
|
144
|
+
* Checks for each column if the given flexChange should be applied
|
|
145
|
+
* @param {Definition} columnDefinition - generic column definition in the app schema
|
|
146
|
+
* @param {FlexForTransfer} flexChange - flex change definition
|
|
147
|
+
* @param columns - list of all coliumns (properties of the table definition in schema)
|
|
147
148
|
* @param configPart - part of the configuration to be filled
|
|
148
|
-
* @param {ImportObjectPageV2Parameters} importParameters - object comprising all input data
|
|
149
|
-
* @param sectionTitle - title of the section (optional)
|
|
150
|
-
* @param sectionId - ID of the given section (optional)
|
|
151
149
|
*/
|
|
152
|
-
function
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
150
|
+
function addFlexChangeToColumns(columnDefinition, flexChange, columns, configPart) {
|
|
151
|
+
if (Object.keys(columnDefinition.properties).some((propertyName) => propertyName === flexChange.propertyId)) {
|
|
152
|
+
for (const column in columns) {
|
|
153
|
+
if (column === 'custom') {
|
|
154
|
+
//custom is a placeholder for custom columns that cannot have flex changes
|
|
155
|
+
continue;
|
|
156
|
+
}
|
|
157
|
+
(0, table_1.addFlexChangeToConfigTableColumn)(configPart, flexChange, column);
|
|
158
|
+
}
|
|
159
159
|
}
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Import of flex changes of a table to the config JSON of OP
|
|
163
|
+
* @param {FlexChangesForTransfer} flexChanges - list of flex changes (pre-processed by prepareFlexChanges)
|
|
164
|
+
* @param {string} propertyKey - key of the current property in the app schema
|
|
165
|
+
* @param configPart - part of the configuration to be filled
|
|
166
|
+
* @param {SectionPartProperties} sectionPart - structure comprising the section information
|
|
167
|
+
* @param columns - list of columns. If specified, the flex changes are checked against the columns, otherwise against the table.
|
|
168
|
+
* @param columnDefinition - generic column definition in the app schema
|
|
169
|
+
*/
|
|
170
|
+
function importFlexChangesOfTable(flexChanges, propertyKey, configPart, sectionPart, lineItemsDefinition, columnDefinition) {
|
|
171
|
+
const facetIds = sectionPart.title
|
|
172
|
+
? [sectionPart.title.replace(/@/g, '')]
|
|
173
|
+
: [sectionPart.id.replace(/@/g, ''), sectionPart.id?.replace(/::@com.sap.vocabularies/g, ux_specification_types_1.VOCWITHSLASH)];
|
|
174
|
+
//Check all flex changes
|
|
160
175
|
for (const selector in flexChanges) {
|
|
161
176
|
const flexChange = flexChanges[selector];
|
|
162
177
|
const propertyIdMatch = flexChange.propertyId === propertyKey;
|
|
163
178
|
const isTableColumn = propertyKey === 'columns' && flexChange.controlType === ux_specification_types_1.ControlType.TableColumn;
|
|
179
|
+
//Only consider flex changes for table or table columns of the given facet
|
|
164
180
|
if ((propertyIdMatch || isTableColumn) && facetIds.indexOf(flexChange?.facetId) > -1) {
|
|
165
|
-
(
|
|
181
|
+
if (columnDefinition) {
|
|
182
|
+
//Check if flex change is for any column
|
|
183
|
+
addFlexChangeToColumns(columnDefinition, flexChange, lineItemsDefinition.properties, configPart);
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
//Check if the flex change is for the table
|
|
187
|
+
(0, table_1.addFlexChangeToConfigTable)(configPart, flexChange, lineItemsDefinition);
|
|
188
|
+
}
|
|
166
189
|
}
|
|
167
190
|
}
|
|
168
191
|
}
|
|
@@ -292,6 +315,7 @@ function importManifestSetting(syncRule, pageKeys, importParameters, configPart,
|
|
|
292
315
|
: undefined;
|
|
293
316
|
let manifestPath;
|
|
294
317
|
let manifestSection;
|
|
318
|
+
//In cas of OP sections, the title is used as a key in the manifest, if defined
|
|
295
319
|
if (sectionPart?.title) {
|
|
296
320
|
manifestPath = syncRule.manifest.path(pageKeys, {}, sectionPart.title);
|
|
297
321
|
manifestSection = (0, manifest_1.ensureManifestSectionByPathV2)(importParameters.manifest, manifestPath);
|
|
@@ -335,19 +359,32 @@ function transferSettingsAndFlexChanges(importParameters, configPart, schemaDefi
|
|
|
335
359
|
return;
|
|
336
360
|
}
|
|
337
361
|
const deprecatedProperties = configPart?.getDeprecated ? configPart.getDeprecated() : {};
|
|
362
|
+
const columnDef = importParameters.jsonSchema.definitions.TableColumn;
|
|
363
|
+
//Loop on all properties of the schema definition
|
|
338
364
|
for (const propertyKey in schemaDefinition.properties || schemaDefinition) {
|
|
339
365
|
const syncRule = (0, common_1.getReflectMetadata)(configPart, propertyKey);
|
|
340
366
|
if (propertyKey === 'columns' || syncRule?.flex) {
|
|
341
367
|
if (sectionPart?.type?.startsWith('ObjectPageSectionTableV2') ||
|
|
342
368
|
sectionPart?.type?.startsWith('ObjectPageSubSectionTableV2')) {
|
|
343
|
-
|
|
369
|
+
if (propertyKey === 'columns') {
|
|
370
|
+
//Flex changes of section or subsection table columns
|
|
371
|
+
const lineItemRef = schemaDefinition.properties[propertyKey]['$ref'].split(common_1.DEFINITION_LINK_PREFIX)[1];
|
|
372
|
+
const lineItemDefinition = importParameters.jsonSchema.definitions[lineItemRef];
|
|
373
|
+
importFlexChangesOfTable(configParameters.flexChanges, propertyKey, configPart, sectionPart, lineItemDefinition, columnDef);
|
|
374
|
+
}
|
|
375
|
+
else {
|
|
376
|
+
//Flex changes of section table or subsection table
|
|
377
|
+
importFlexChangesOfTable(configParameters.flexChanges, propertyKey, configPart, sectionPart, schemaDefinition);
|
|
378
|
+
}
|
|
344
379
|
}
|
|
345
380
|
else {
|
|
381
|
+
//Flex changes of section
|
|
346
382
|
const facetId = sectionPart?.title || sectionPart?.id;
|
|
347
383
|
importFlexChanges(schemaDefinition, configPart, configParameters.flexChanges, propertyKey, facetId, elementId);
|
|
348
384
|
}
|
|
349
385
|
}
|
|
350
386
|
else if (syncRule?.manifest) {
|
|
387
|
+
//Manifest settings
|
|
351
388
|
importManifestSetting(syncRule, configParameters.pageKeys, importParameters, configPart, propertyKey, deprecatedProperties, sectionPart);
|
|
352
389
|
}
|
|
353
390
|
}
|
|
@@ -530,10 +567,11 @@ function fillTableInConfig(importParameters, sectionPart, manifestSettings, conf
|
|
|
530
567
|
* @param {ImportObjectPageV2Parameters} importParameters - object comprising all input data
|
|
531
568
|
* @param {string} escapedSectionId - escaped version of the section ID
|
|
532
569
|
* @param {string} sectionTitle - title of current section, if available
|
|
533
|
-
* @param {object} configPart - the given part of the object page config
|
|
570
|
+
* @param {object} configPart - the given part of the object page config, to be filled
|
|
534
571
|
* @param {SapUiAppPageV2} v2Page - v2 page from manifest.
|
|
572
|
+
* @param {string} sectionId - ID of the given section
|
|
535
573
|
*/
|
|
536
|
-
function fillCustomColumnsInConfig(importParameters, escapedSectionId, configPart, v2Page) {
|
|
574
|
+
function fillCustomColumnsInConfig(importParameters, escapedSectionId, configPart, v2Page, sectionId) {
|
|
537
575
|
const customColumnSchemaProp = importParameters.jsonSchema.definitions[escapedSectionId].properties.custom;
|
|
538
576
|
const customColumnTarget = customColumnSchemaProp
|
|
539
577
|
? (0, common_1.getTargetFromCustomColumnRef)(customColumnSchemaProp.$ref)
|
|
@@ -543,7 +581,7 @@ function fillCustomColumnsInConfig(importParameters, escapedSectionId, configPar
|
|
|
543
581
|
key: escapedSectionId.replace('@', ''),
|
|
544
582
|
target: customColumnTarget
|
|
545
583
|
};
|
|
546
|
-
(0, common_2.addFragments)(configPart[escapedSectionId], importParameters, v2Page, ux_specification_types_1.PageTypeV2.ObjectPage, objectPageSectionData);
|
|
584
|
+
(0, common_2.addFragments)(configPart[escapedSectionId], importParameters, v2Page, ux_specification_types_1.PageTypeV2.ObjectPage, objectPageSectionData, sectionId);
|
|
547
585
|
}
|
|
548
586
|
}
|
|
549
587
|
/**
|
|
@@ -668,7 +706,7 @@ function fillSectionsInConfig(importParameters, sectionProperties, manifestSetti
|
|
|
668
706
|
sectionPart.schema = appSchemaDefinitions[`${sectionPart.type}<${sectionId}>`];
|
|
669
707
|
fillTableInConfig(importParameters, sectionPart, manifestSettings, configPart, configParameters);
|
|
670
708
|
// Custom column ref
|
|
671
|
-
fillCustomColumnsInConfig(importParameters, escapedSectionId, configPart, configParameters.v2Page);
|
|
709
|
+
fillCustomColumnsInConfig(importParameters, escapedSectionId, configPart, configParameters.v2Page, sectionId);
|
|
672
710
|
break;
|
|
673
711
|
}
|
|
674
712
|
case types_1.SectionTypeV2.SectionChart:
|