@sap/ux-specification 1.96.26 → 1.96.28
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/documentation/v2/v2-AnalyticalListPage.html +1 -1
- package/dist/documentation/v2/v2-ApplicationV2.html +1 -1
- package/dist/documentation/v2/v2-ListReport.html +1 -1
- package/dist/documentation/v2/v2-ObjectPage.html +1 -1
- package/dist/documentation/v2/v2-OverviewPage.html +1 -1
- package/dist/documentation/v4/v4-ApplicationV4.html +1 -1
- package/dist/documentation/v4/v4-BuildingBlocks.html +60 -0
- package/dist/documentation/v4/v4-FreestylePage.html +1 -1
- package/dist/documentation/v4/v4-ListReport.html +1 -1
- package/dist/documentation/v4/v4-ObjectPage.html +1 -1
- package/dist/index-min.js +262 -48
- package/dist/index-min.js.map +3 -3
- package/dist/package.json +111 -0
- package/dist/schemas/v2/ObjectPageConfig.json +4 -4
- package/dist/schemas/v4/BuildingBlocksConfig.json +750 -0
- package/dist/schemas/v4/ListReportConfig.json +38 -15
- package/dist/schemas/v4/ObjectPageConfig.json +309 -59
- package/dist/scripts/macros/api.d.ts +9 -0
- package/dist/scripts/macros/api.d.ts.map +1 -0
- package/dist/scripts/macros/api.js +161 -0
- package/dist/scripts/macros/api.js.map +1 -0
- package/dist/scripts/macros/cmd.d.ts +7 -0
- package/dist/scripts/macros/cmd.d.ts.map +1 -0
- package/dist/scripts/macros/cmd.js +49 -0
- package/dist/scripts/macros/cmd.js.map +1 -0
- package/dist/scripts/macros/corrections.d.ts +18 -0
- package/dist/scripts/macros/corrections.d.ts.map +1 -0
- package/dist/scripts/macros/corrections.js +188 -0
- package/dist/scripts/macros/corrections.js.map +1 -0
- package/dist/scripts/macros/index.d.ts +2 -0
- package/dist/scripts/macros/index.d.ts.map +1 -0
- package/dist/scripts/macros/index.js +8 -0
- package/dist/scripts/macros/index.js.map +1 -0
- package/dist/scripts/macros/schema.d.ts +9 -0
- package/dist/scripts/macros/schema.d.ts.map +1 -0
- package/dist/scripts/macros/schema.js +201 -0
- package/dist/scripts/macros/schema.js.map +1 -0
- package/dist/scripts/macros/types.d.ts +77 -0
- package/dist/scripts/macros/types.d.ts.map +1 -0
- package/dist/scripts/macros/types.js +14 -0
- package/dist/scripts/macros/types.js.map +1 -0
- package/dist/src/api.d.ts.map +1 -1
- package/dist/src/api.js +9 -2
- package/dist/src/api.js.map +1 -1
- package/dist/src/project.d.ts +1 -0
- package/dist/src/project.d.ts.map +1 -1
- package/dist/src/project.js +6 -4
- package/dist/src/project.js.map +1 -1
- package/dist/src/specification/schemaAccess.d.ts.map +1 -1
- package/dist/src/specification/schemaAccess.js +16 -3
- package/dist/src/specification/schemaAccess.js.map +1 -1
- package/dist/src/sync/common/appProvider.d.ts +12 -0
- package/dist/src/sync/common/appProvider.d.ts.map +1 -1
- package/dist/src/sync/common/appProvider.js +51 -18
- package/dist/src/sync/common/appProvider.js.map +1 -1
- package/dist/src/sync/common/generate/objectPage.d.ts +10 -6
- package/dist/src/sync/common/generate/objectPage.d.ts.map +1 -1
- package/dist/src/sync/common/generate/objectPage.js +224 -115
- package/dist/src/sync/common/generate/objectPage.js.map +1 -1
- package/dist/src/sync/common/generate/utils.d.ts +8 -8
- package/dist/src/sync/common/generate/utils.d.ts.map +1 -1
- package/dist/src/sync/common/generate/utils.js +40 -38
- package/dist/src/sync/common/generate/utils.js.map +1 -1
- package/dist/src/sync/common/i18n.json +2 -1
- package/dist/src/sync/common/importProject.d.ts.map +1 -1
- package/dist/src/sync/common/importProject.js +67 -31
- package/dist/src/sync/common/importProject.js.map +1 -1
- package/dist/src/sync/common/types.d.ts +6 -0
- package/dist/src/sync/common/types.d.ts.map +1 -0
- package/dist/src/sync/common/types.js +3 -0
- package/dist/src/sync/common/types.js.map +1 -0
- package/dist/src/sync/common/utils.d.ts +26 -5
- package/dist/src/sync/common/utils.d.ts.map +1 -1
- package/dist/src/sync/common/utils.js +72 -18
- package/dist/src/sync/common/utils.js.map +1 -1
- package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts +2 -2
- package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts.map +1 -1
- package/dist/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -1
- package/dist/src/sync/v2/generate/analyticalListReport.js +1 -0
- package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -1
- package/dist/src/sync/v2/generate/listReport.d.ts.map +1 -1
- package/dist/src/sync/v2/generate/listReport.js +1 -0
- package/dist/src/sync/v2/generate/listReport.js.map +1 -1
- package/dist/src/sync/v2/generate/objectPage.d.ts.map +1 -1
- package/dist/src/sync/v2/generate/objectPage.js +75 -40
- package/dist/src/sync/v2/generate/objectPage.js.map +1 -1
- package/dist/src/sync/v2/generate/utils.d.ts +1 -1
- package/dist/src/sync/v2/generate/utils.d.ts.map +1 -1
- package/dist/src/sync/v2/generate/utils.js +22 -19
- package/dist/src/sync/v2/generate/utils.js.map +1 -1
- package/dist/src/sync/v4/application.d.ts +3 -0
- package/dist/src/sync/v4/application.d.ts.map +1 -1
- package/dist/src/sync/v4/application.js +13 -1
- package/dist/src/sync/v4/application.js.map +1 -1
- package/dist/src/sync/v4/export/controls/ObjectPageFooter.d.ts +9 -0
- package/dist/src/sync/v4/export/controls/ObjectPageFooter.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageFooter.js +10 -0
- package/dist/src/sync/v4/export/controls/ObjectPageFooter.js.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageFooterAction.d.ts +23 -0
- package/dist/src/sync/v4/export/controls/ObjectPageFooterAction.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageFooterAction.js +124 -0
- package/dist/src/sync/v4/export/controls/ObjectPageFooterAction.js.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageForm.d.ts +10 -3
- package/dist/src/sync/v4/export/controls/ObjectPageForm.d.ts.map +1 -1
- package/dist/src/sync/v4/export/controls/ObjectPageForm.js +39 -1
- package/dist/src/sync/v4/export/controls/ObjectPageForm.js.map +1 -1
- package/dist/src/sync/v4/export/controls/ObjectPageFormAction.d.ts +1 -1
- package/dist/src/sync/v4/export/controls/ObjectPageFormAction.js +8 -8
- package/dist/src/sync/v4/export/controls/ObjectPageHeader.d.ts +5 -0
- package/dist/src/sync/v4/export/controls/ObjectPageHeader.d.ts.map +1 -1
- package/dist/src/sync/v4/export/controls/ObjectPageHeader.js +4 -1
- package/dist/src/sync/v4/export/controls/ObjectPageHeader.js.map +1 -1
- package/dist/src/sync/v4/export/controls/ObjectPageHeaderAction.d.ts +23 -0
- package/dist/src/sync/v4/export/controls/ObjectPageHeaderAction.d.ts.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageHeaderAction.js +124 -0
- package/dist/src/sync/v4/export/controls/ObjectPageHeaderAction.js.map +1 -0
- package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts +1 -2
- package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts.map +1 -1
- package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js +0 -10
- package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js.map +1 -1
- package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts +1 -1
- package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts.map +1 -1
- package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.js +9 -9
- package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.js.map +1 -1
- package/dist/src/sync/v4/export/controls/Table.js +1 -1
- package/dist/src/sync/v4/export/controls/Table.js.map +1 -1
- package/dist/src/sync/v4/export/controls/ToolBar.d.ts +2 -2
- package/dist/src/sync/v4/export/controls/ToolBar.d.ts.map +1 -1
- package/dist/src/sync/v4/export/controls/ToolBarAction.d.ts +6 -1
- package/dist/src/sync/v4/export/controls/ToolBarAction.d.ts.map +1 -1
- package/dist/src/sync/v4/export/controls/ToolBarAction.js +33 -9
- package/dist/src/sync/v4/export/controls/ToolBarAction.js.map +1 -1
- package/dist/src/sync/v4/export/controls/index.d.ts +4 -0
- package/dist/src/sync/v4/export/controls/index.d.ts.map +1 -1
- package/dist/src/sync/v4/export/controls/index.js +4 -0
- package/dist/src/sync/v4/export/controls/index.js.map +1 -1
- package/dist/src/sync/v4/export/export.d.ts +1 -0
- package/dist/src/sync/v4/export/export.d.ts.map +1 -1
- package/dist/src/sync/v4/export/export.js +11 -6
- package/dist/src/sync/v4/export/export.js.map +1 -1
- package/dist/src/sync/v4/export/fpmCustomPage.d.ts +11 -0
- package/dist/src/sync/v4/export/fpmCustomPage.d.ts.map +1 -0
- package/dist/src/sync/v4/export/fpmCustomPage.js +131 -0
- package/dist/src/sync/v4/export/fpmCustomPage.js.map +1 -0
- package/dist/src/sync/v4/export/manifest.js +1 -1
- package/dist/src/sync/v4/export/manifest.js.map +1 -1
- package/dist/src/sync/v4/export/pages/ObjectPage.d.ts +1 -0
- package/dist/src/sync/v4/export/pages/ObjectPage.d.ts.map +1 -1
- package/dist/src/sync/v4/export/pages/ObjectPage.js.map +1 -1
- package/dist/src/sync/v4/generate/fpmCustomPage.d.ts +10 -0
- package/dist/src/sync/v4/generate/fpmCustomPage.d.ts.map +1 -0
- package/dist/src/sync/v4/generate/fpmCustomPage.js +266 -0
- package/dist/src/sync/v4/generate/fpmCustomPage.js.map +1 -0
- package/dist/src/sync/v4/generate/generate.d.ts +13 -1
- package/dist/src/sync/v4/generate/generate.d.ts.map +1 -1
- package/dist/src/sync/v4/generate/generate.js +22 -1
- package/dist/src/sync/v4/generate/generate.js.map +1 -1
- package/dist/src/sync/v4/generate/index.d.ts +2 -1
- package/dist/src/sync/v4/generate/index.d.ts.map +1 -1
- package/dist/src/sync/v4/generate/index.js +4 -1
- package/dist/src/sync/v4/generate/index.js.map +1 -1
- package/dist/src/sync/v4/generate/listReport.d.ts.map +1 -1
- package/dist/src/sync/v4/generate/listReport.js +26 -10
- package/dist/src/sync/v4/generate/listReport.js.map +1 -1
- package/dist/src/sync/v4/generate/objectPage.d.ts.map +1 -1
- package/dist/src/sync/v4/generate/objectPage.js +112 -34
- package/dist/src/sync/v4/generate/objectPage.js.map +1 -1
- package/dist/src/sync/v4/import/app/appProvider.d.ts +2 -1
- package/dist/src/sync/v4/import/app/appProvider.d.ts.map +1 -1
- package/dist/src/sync/v4/import/app/appProvider.js +2 -2
- package/dist/src/sync/v4/import/app/appProvider.js.map +1 -1
- package/dist/src/sync/v4/import/app/baseAppProvider.d.ts +7 -2
- package/dist/src/sync/v4/import/app/baseAppProvider.d.ts.map +1 -1
- package/dist/src/sync/v4/import/app/baseAppProvider.js +27 -7
- package/dist/src/sync/v4/import/app/baseAppProvider.js.map +1 -1
- package/dist/src/sync/v4/import/app/freestyleProvider.d.ts +2 -1
- package/dist/src/sync/v4/import/app/freestyleProvider.d.ts.map +1 -1
- package/dist/src/sync/v4/import/app/freestyleProvider.js +2 -2
- package/dist/src/sync/v4/import/app/freestyleProvider.js.map +1 -1
- package/dist/src/sync/v4/import/index.d.ts +1 -0
- package/dist/src/sync/v4/import/index.d.ts.map +1 -1
- package/dist/src/sync/v4/import/index.js +1 -0
- package/dist/src/sync/v4/import/index.js.map +1 -1
- package/dist/src/sync/v4/import/pages/fpmCustomPage.d.ts +9 -0
- package/dist/src/sync/v4/import/pages/fpmCustomPage.d.ts.map +1 -0
- package/dist/src/sync/v4/import/pages/fpmCustomPage.js +102 -0
- package/dist/src/sync/v4/import/pages/fpmCustomPage.js.map +1 -0
- package/dist/src/sync/v4/import/pages/objectPage.d.ts +2 -1
- package/dist/src/sync/v4/import/pages/objectPage.d.ts.map +1 -1
- package/dist/src/sync/v4/import/pages/objectPage.js +84 -43
- package/dist/src/sync/v4/import/pages/objectPage.js.map +1 -1
- package/dist/src/sync/v4/utils/macros.d.ts +29 -0
- package/dist/src/sync/v4/utils/macros.d.ts.map +1 -0
- package/dist/src/sync/v4/utils/macros.js +113 -0
- package/dist/src/sync/v4/utils/macros.js.map +1 -0
- package/dist/src/sync/v4/utils/utils.d.ts +11 -1
- package/dist/src/sync/v4/utils/utils.d.ts.map +1 -1
- package/dist/src/sync/v4/utils/utils.js +95 -8
- package/dist/src/sync/v4/utils/utils.js.map +1 -1
- package/package.json +16 -9
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getMacrosAPI = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const semver_1 = require("semver");
|
|
9
|
+
const axios_1 = __importDefault(require("axios"));
|
|
10
|
+
const path_1 = require("path");
|
|
11
|
+
const LATEST_RELEASED_SPEC_VERSION = 102;
|
|
12
|
+
const MINIMAL_SUPPORTED_VERSION = 85;
|
|
13
|
+
const CACHE_FOLDER = 'cache';
|
|
14
|
+
const API_JSON = 'api.json';
|
|
15
|
+
var UI5Info;
|
|
16
|
+
(function (UI5Info) {
|
|
17
|
+
UI5Info["OfficialUrl"] = "https://ui5.sap.com";
|
|
18
|
+
UI5Info["NightlyBuild"] = "https://sapui5nightly.int.sap.eu2.hana.ondemand.com";
|
|
19
|
+
UI5Info["Versions"] = "version.json";
|
|
20
|
+
UI5Info["Api"] = "test-resources/sap/fe/macros/designtime/apiref/api.json";
|
|
21
|
+
})(UI5Info || (UI5Info = {}));
|
|
22
|
+
/**
|
|
23
|
+
* Method checks if passed specification version should be considered as latest.
|
|
24
|
+
* @param {string} specVersion Specification version.
|
|
25
|
+
* @returns {boolean} Is latest specification version.
|
|
26
|
+
*/
|
|
27
|
+
function isLatestVersion(specVersion) {
|
|
28
|
+
const ui5Version = semver_1.coerce(specVersion);
|
|
29
|
+
return specVersion === '9.9.9' || (ui5Version.major === 1 && ui5Version.minor >= LATEST_RELEASED_SPEC_VERSION);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Method finds SAPUI5 version for passed specification version by searching in list of passed SAPUI5 versions.
|
|
33
|
+
* @param {UI5Versions} versions SAPUI5 versions.
|
|
34
|
+
* @param {string} specVersion Specification version.
|
|
35
|
+
* @returns {string} Found associated SAPUI5 versions.
|
|
36
|
+
*/
|
|
37
|
+
function findValidVersion(versions, specVersion) {
|
|
38
|
+
const ui5Version = semver_1.coerce(specVersion);
|
|
39
|
+
if (ui5Version.major === 1 && ui5Version.minor < MINIMAL_SUPPORTED_VERSION) {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
let foundVersion = undefined;
|
|
43
|
+
for (const version in versions) {
|
|
44
|
+
const versionInfo = semver_1.coerce(version);
|
|
45
|
+
if (!versionInfo) {
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
if (ui5Version.major === versionInfo.major && versionInfo.minor <= ui5Version.minor) {
|
|
49
|
+
if (!foundVersion || versionInfo.minor > foundVersion.minor) {
|
|
50
|
+
foundVersion = {
|
|
51
|
+
version: versions[version].version,
|
|
52
|
+
minor: versionInfo.minor
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return foundVersion ? foundVersion.version : undefined;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Method returns valid SAPUI5 version for passed specification version by looking for SAPUI5 version in "https://ui5.sap.com/version.json".
|
|
61
|
+
* @param {string} specVersion Specification version.
|
|
62
|
+
* @returns {string} SAPUI5 versions.
|
|
63
|
+
*/
|
|
64
|
+
async function getValidUI5Version(specVersion) {
|
|
65
|
+
let version = undefined;
|
|
66
|
+
const requestUrl = `${"https://ui5.sap.com" /* OfficialUrl */}/${"version.json" /* Versions */}`;
|
|
67
|
+
try {
|
|
68
|
+
const response = await axios_1.default.get(requestUrl);
|
|
69
|
+
if (response.status === 200) {
|
|
70
|
+
const ui5Version = findValidVersion(response.data, specVersion);
|
|
71
|
+
if (!ui5Version) {
|
|
72
|
+
console.log('No valid ui5 version found');
|
|
73
|
+
}
|
|
74
|
+
return ui5Version;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
console.log(`UI5 versions request "${requestUrl}" failed with error "${error}"`);
|
|
79
|
+
version = undefined;
|
|
80
|
+
}
|
|
81
|
+
return version;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Method retrieves "api.json" for "sap.fe.macros" by sending request to "https://ui5.sap.com/${ui5Version}/test-resources/sap/fe/macros/designtime/apiref/api.json".
|
|
85
|
+
* @param {string} ui5Version SAPUI5 version to read "sap.fe.macros" api.
|
|
86
|
+
* @param {boolean} [useNightlyBuild] If true, then dev/nightly build version will be retrieved.
|
|
87
|
+
* @returns {Promise<MacrosAPI | undefined>} Promise to "sap.fe.macros" api.
|
|
88
|
+
*/
|
|
89
|
+
async function retrieveMacrosAPI(ui5Version, useNightlyBuild = false) {
|
|
90
|
+
let api = undefined;
|
|
91
|
+
const subPath = ui5Version ? `${ui5Version}/` : '';
|
|
92
|
+
const requestUrl = `${useNightlyBuild ? "https://sapui5nightly.int.sap.eu2.hana.ondemand.com" /* NightlyBuild */ : "https://ui5.sap.com" /* OfficialUrl */}/${subPath}${"test-resources/sap/fe/macros/designtime/apiref/api.json" /* Api */}`;
|
|
93
|
+
try {
|
|
94
|
+
const response = await axios_1.default.get(requestUrl);
|
|
95
|
+
if (response.status === 200) {
|
|
96
|
+
api = response.data;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
console.log(`API request "${requestUrl}" failed with error "${error}"`);
|
|
101
|
+
api = undefined;
|
|
102
|
+
}
|
|
103
|
+
return api;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Method saves passed api as cached version.
|
|
107
|
+
* @param {MacrosAPI} api "sap.fe.macros" api to save.
|
|
108
|
+
* @param {string} cachePath Cache folder path.
|
|
109
|
+
* @param {string} apiFilePath API file path.
|
|
110
|
+
*/
|
|
111
|
+
function saveAPI(api, cachePath, apiFilePath) {
|
|
112
|
+
if (!fs_1.default.existsSync(cachePath)) {
|
|
113
|
+
fs_1.default.mkdirSync(cachePath);
|
|
114
|
+
}
|
|
115
|
+
// Save result
|
|
116
|
+
fs_1.default.writeFile(apiFilePath, JSON.stringify(api, null, 2), function (error) {
|
|
117
|
+
const message = error ? `Save failed with error "${error}"` : `${API_JSON} file successfully saved`;
|
|
118
|
+
console.log(message);
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Method returns "sap.fe.macros" api for passed specification version.
|
|
123
|
+
* @param {string} specVersion Specification version.
|
|
124
|
+
* @param {boolean} [useNightlyBuild] If true, then dev/nightly build version will be retrieved.
|
|
125
|
+
* @returns {Promise<MacrosAPI | undefined>} Promise to "sap.fe.macros" api.
|
|
126
|
+
*/
|
|
127
|
+
async function getMacrosAPI(specVersion, useNightlyBuild = false, overwriteCache = false) {
|
|
128
|
+
const cachePath = path_1.join(__dirname, CACHE_FOLDER);
|
|
129
|
+
const apiFilePath = path_1.join(cachePath, API_JSON);
|
|
130
|
+
let api;
|
|
131
|
+
// Check cached file
|
|
132
|
+
if (fs_1.default.existsSync(apiFilePath) && !overwriteCache) {
|
|
133
|
+
const apiContent = fs_1.default.readFileSync(apiFilePath, 'utf8');
|
|
134
|
+
try {
|
|
135
|
+
api = JSON.parse(apiContent);
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
console.log('Parse of cached api.json failed');
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
if (!api) {
|
|
142
|
+
// Find ui5 version to include into request URL for API
|
|
143
|
+
const useLatestVersion = isLatestVersion(specVersion);
|
|
144
|
+
let ui5Version = '';
|
|
145
|
+
// Get ui5 version
|
|
146
|
+
if (!useLatestVersion) {
|
|
147
|
+
// Find valid maintainable version
|
|
148
|
+
ui5Version = await getValidUI5Version(specVersion);
|
|
149
|
+
}
|
|
150
|
+
if (ui5Version || useLatestVersion) {
|
|
151
|
+
// Request macros API
|
|
152
|
+
api = await retrieveMacrosAPI(ui5Version, useNightlyBuild);
|
|
153
|
+
if (api) {
|
|
154
|
+
saveAPI(api, cachePath, apiFilePath);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return api;
|
|
159
|
+
}
|
|
160
|
+
exports.getMacrosAPI = getMacrosAPI;
|
|
161
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../scripts/macros/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const FPM_CUSTOM_PAGE_GENERIC_SCHEMA_NAME = "BuildingBlocksConfig.json";
|
|
2
|
+
/**
|
|
3
|
+
* Run command to generate macros generic schema by resolving "sap.fe.macros" api.json.
|
|
4
|
+
* @param {string[]} argv Additional arguments for API retrieval and schema generation. Currently we support '--nightly' and '--update'.
|
|
5
|
+
*/
|
|
6
|
+
export declare function run(argv: string[]): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=cmd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cmd.d.ts","sourceRoot":"","sources":["../../../scripts/macros/cmd.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,mCAAmC,8BAA8B,CAAC;AAS/E;;;GAGG;AACH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BvD"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.run = exports.FPM_CUSTOM_PAGE_GENERIC_SCHEMA_NAME = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = require("path");
|
|
9
|
+
const package_json_1 = __importDefault(require("../../package.json"));
|
|
10
|
+
const api_1 = require("./api");
|
|
11
|
+
const schema_1 = require("./schema");
|
|
12
|
+
exports.FPM_CUSTOM_PAGE_GENERIC_SCHEMA_NAME = 'BuildingBlocksConfig.json';
|
|
13
|
+
const CmdParams = {
|
|
14
|
+
// Use nighly build api version
|
|
15
|
+
nightlyBuild: '--nightly',
|
|
16
|
+
// Overwrite cache
|
|
17
|
+
overwriteCache: '--update'
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Run command to generate macros generic schema by resolving "sap.fe.macros" api.json.
|
|
21
|
+
* @param {string[]} argv Additional arguments for API retrieval and schema generation. Currently we support '--nightly' and '--update'.
|
|
22
|
+
*/
|
|
23
|
+
async function run(argv) {
|
|
24
|
+
const api = await api_1.getMacrosAPI(package_json_1.default.version, argv.includes(CmdParams.nightlyBuild), argv.includes(CmdParams.overwriteCache));
|
|
25
|
+
if (api) {
|
|
26
|
+
// Generate generic schema for macros
|
|
27
|
+
const schema = schema_1.generateSchema(api);
|
|
28
|
+
// Make sure schemas/v4 folders exists
|
|
29
|
+
const rootName = path_1.join(__dirname, '..', '..');
|
|
30
|
+
const schemasDir = path_1.join(rootName, 'schemas');
|
|
31
|
+
const schemaV4Dir = path_1.join(schemasDir, 'v4');
|
|
32
|
+
const macrosSchemaPath = path_1.join(schemaV4Dir, exports.FPM_CUSTOM_PAGE_GENERIC_SCHEMA_NAME);
|
|
33
|
+
if (!fs_1.default.existsSync(schemasDir)) {
|
|
34
|
+
fs_1.default.mkdirSync(schemasDir);
|
|
35
|
+
}
|
|
36
|
+
if (!fs_1.default.existsSync(schemaV4Dir)) {
|
|
37
|
+
fs_1.default.mkdirSync(schemaV4Dir);
|
|
38
|
+
}
|
|
39
|
+
// Write generic macros schema file
|
|
40
|
+
fs_1.default.writeFile(macrosSchemaPath, JSON.stringify(schema, null, 2), function (error) {
|
|
41
|
+
const message = error
|
|
42
|
+
? `Save for ${exports.FPM_CUSTOM_PAGE_GENERIC_SCHEMA_NAME} failed with error "${error}"`
|
|
43
|
+
: `${exports.FPM_CUSTOM_PAGE_GENERIC_SCHEMA_NAME} file successfully saved`;
|
|
44
|
+
console.log(message);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.run = run;
|
|
49
|
+
//# sourceMappingURL=cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cmd.js","sourceRoot":"","sources":["../../../scripts/macros/cmd.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,+BAA4B;AAE5B,sEAA6C;AAC7C,+BAAqC;AACrC,qCAA0C;AAE7B,QAAA,mCAAmC,GAAG,2BAA2B,CAAC;AAE/E,MAAM,SAAS,GAAG;IACd,+BAA+B;IAC/B,YAAY,EAAE,WAAW;IACzB,kBAAkB;IAClB,cAAc,EAAE,UAAU;CAC7B,CAAC;AAEF;;;GAGG;AACI,KAAK,UAAU,GAAG,CAAC,IAAc;IACpC,MAAM,GAAG,GAAG,MAAM,kBAAY,CAC1B,sBAAW,CAAC,OAAO,EACnB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,EACrC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,CAC1C,CAAC;IACF,IAAI,GAAG,EAAE;QACL,qCAAqC;QACrC,MAAM,MAAM,GAAG,uBAAc,CAAC,GAAG,CAAC,CAAC;QACnC,sCAAsC;QACtC,MAAM,QAAQ,GAAG,WAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,WAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,WAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,gBAAgB,GAAG,WAAI,CAAC,WAAW,EAAE,2CAAmC,CAAC,CAAC;QAChF,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAC5B,YAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;SAC5B;QACD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;YAC7B,YAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;SAC7B;QACD,mCAAmC;QACnC,YAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK;YAC3E,MAAM,OAAO,GAAG,KAAK;gBACjB,CAAC,CAAC,YAAY,2CAAmC,uBAAuB,KAAK,GAAG;gBAChF,CAAC,CAAC,GAAG,2CAAmC,0BAA0B,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;KACN;AACL,CAAC;AA5BD,kBA4BC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { MacrosAPI, UI5Aggregation, UI5Symbol, UI5Property } from './types';
|
|
2
|
+
interface APICorrection {
|
|
3
|
+
aggregations?: UI5Aggregation[];
|
|
4
|
+
properties?: UI5Property[];
|
|
5
|
+
metadata?: UI5Symbol;
|
|
6
|
+
}
|
|
7
|
+
export declare const macrosCorrection: {
|
|
8
|
+
[key: string]: APICorrection;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Method applies missing aggregations and properties for "sap.fe.macros" api object.
|
|
12
|
+
* We notice that api object of "sap.fe.macros" is missing some aggregation and properties information
|
|
13
|
+
* - in result we apply missing data on top of received api object.
|
|
14
|
+
* @param {MacrosAPI} api "sap.fe.macros" api object.
|
|
15
|
+
*/
|
|
16
|
+
export declare function applyCorrections(api: MacrosAPI): void;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=corrections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"corrections.d.ts","sourceRoot":"","sources":["../../../scripts/macros/corrections.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAA8B,WAAW,EAAE,MAAM,SAAS,CAAC;AAE7G,UAAU,aAAa;IACnB,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACxB;AAED,eAAO,MAAM,gBAAgB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAA;CA8G5D,CAAC;AAiDF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAmBrD"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyCorrections = exports.macrosCorrection = void 0;
|
|
4
|
+
const types_1 = require("./types");
|
|
5
|
+
exports.macrosCorrection = {
|
|
6
|
+
'sap.fe.macros.Table': {
|
|
7
|
+
aggregations: [
|
|
8
|
+
{
|
|
9
|
+
name: 'actions',
|
|
10
|
+
singularName: 'action',
|
|
11
|
+
type: 'sap.fe.macros.table.Action',
|
|
12
|
+
cardinality: '0..n',
|
|
13
|
+
visibility: types_1.UI5Visibility.public,
|
|
14
|
+
description: 'Table actions',
|
|
15
|
+
methods: [],
|
|
16
|
+
linkEnabled: true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
name: 'columns',
|
|
20
|
+
singularName: 'column',
|
|
21
|
+
type: 'sap.fe.macros.table.Column',
|
|
22
|
+
cardinality: '0..n',
|
|
23
|
+
visibility: types_1.UI5Visibility.public,
|
|
24
|
+
description: 'Table columns',
|
|
25
|
+
methods: [],
|
|
26
|
+
linkEnabled: true
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
properties: [
|
|
30
|
+
{
|
|
31
|
+
name: 'title',
|
|
32
|
+
description: 'The text that will be displayed for table title',
|
|
33
|
+
group: 'Misc',
|
|
34
|
+
methods: [],
|
|
35
|
+
visibility: types_1.UI5Visibility.public,
|
|
36
|
+
types: [
|
|
37
|
+
{
|
|
38
|
+
value: 'string'
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
bindable: true,
|
|
42
|
+
defaultValue: ''
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
'sap.fe.macros.ActionGroup': {
|
|
47
|
+
aggregations: [
|
|
48
|
+
{
|
|
49
|
+
name: 'actions',
|
|
50
|
+
singularName: 'action',
|
|
51
|
+
type: 'sap.fe.macros.table.Action',
|
|
52
|
+
cardinality: '0..n',
|
|
53
|
+
visibility: types_1.UI5Visibility.public,
|
|
54
|
+
description: 'Table actions',
|
|
55
|
+
methods: [],
|
|
56
|
+
linkEnabled: true
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
properties: [
|
|
60
|
+
{
|
|
61
|
+
defaultValue: '',
|
|
62
|
+
description: 'The text that will be displayed for this action group',
|
|
63
|
+
group: 'Misc',
|
|
64
|
+
methods: [],
|
|
65
|
+
name: 'text',
|
|
66
|
+
types: [
|
|
67
|
+
{
|
|
68
|
+
value: 'string'
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
visibility: types_1.UI5Visibility.public
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
defaultValue: '',
|
|
75
|
+
description: 'Defines where this action group should be placed relative to the defined anchor',
|
|
76
|
+
group: 'Misc',
|
|
77
|
+
methods: [],
|
|
78
|
+
name: 'placement',
|
|
79
|
+
types: [
|
|
80
|
+
{
|
|
81
|
+
value: 'string'
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
visibility: types_1.UI5Visibility.public
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
defaultValue: '',
|
|
88
|
+
description: 'Reference to the key of another action or action group already displayed in the toolbar to properly place this one',
|
|
89
|
+
group: 'Misc',
|
|
90
|
+
methods: [],
|
|
91
|
+
name: 'anchor',
|
|
92
|
+
types: [
|
|
93
|
+
{
|
|
94
|
+
value: 'string'
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
visibility: types_1.UI5Visibility.public
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
metadata: {
|
|
101
|
+
kind: types_1.SYMBOL_KIND_CLASS,
|
|
102
|
+
name: 'sap.fe.macros.ActionGroup',
|
|
103
|
+
basename: 'ActionGroup',
|
|
104
|
+
resource: '',
|
|
105
|
+
module: '',
|
|
106
|
+
static: true,
|
|
107
|
+
visibility: types_1.UI5Visibility.public,
|
|
108
|
+
description: 'Definition of a actions group to be used inside the table toolbar',
|
|
109
|
+
displayName: 'sap.fe.macros.ActionGroup',
|
|
110
|
+
title: 'class sap.fe.macros.ActionGroup',
|
|
111
|
+
subTitle: ''
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* Method returns node with "properties" and "aggregation" for passed symbol.
|
|
117
|
+
* If node does not contains "properties" or "aggregation", then it prepares empty objects.
|
|
118
|
+
* @param {ClassSymbol | TypedefSymbol} symbol Symbol from SAPUI5 api.
|
|
119
|
+
* @returns {APICorrection} Correction object which contains "properties" and "aggregation" properties.
|
|
120
|
+
*/
|
|
121
|
+
function getNode(symbol) {
|
|
122
|
+
let node;
|
|
123
|
+
if (symbol.kind === types_1.SYMBOL_KIND_CLASS) {
|
|
124
|
+
if (!symbol[types_1.CLASS_SYMBOL_METADATA_PROPERTY]) {
|
|
125
|
+
symbol[types_1.CLASS_SYMBOL_METADATA_PROPERTY] = {
|
|
126
|
+
aggregations: [],
|
|
127
|
+
properties: [],
|
|
128
|
+
stereotype: ''
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
node = symbol[types_1.CLASS_SYMBOL_METADATA_PROPERTY];
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
node = symbol;
|
|
135
|
+
}
|
|
136
|
+
if (!node.aggregations) {
|
|
137
|
+
node.aggregations = [];
|
|
138
|
+
}
|
|
139
|
+
if (!node.properties) {
|
|
140
|
+
node.properties = [];
|
|
141
|
+
}
|
|
142
|
+
return node;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Method applies correction for passed node.
|
|
146
|
+
* @param {APICorrection} node Original node to update with corrections.
|
|
147
|
+
* @param {APICorrection} correction Correction to apply - "properties" and "aggregation" are applied.
|
|
148
|
+
*/
|
|
149
|
+
function applyCorrectionForNode(node, correction) {
|
|
150
|
+
for (const aggregation of correction.aggregations || []) {
|
|
151
|
+
if (!node.aggregations.some((existingAggregation) => existingAggregation.name === aggregation.name)) {
|
|
152
|
+
node.aggregations.push(aggregation);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
for (const property of correction.properties || []) {
|
|
156
|
+
if (!node.properties.some((existingProperty) => existingProperty.name === property.name)) {
|
|
157
|
+
node.properties.push(property);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Method applies missing aggregations and properties for "sap.fe.macros" api object.
|
|
163
|
+
* We notice that api object of "sap.fe.macros" is missing some aggregation and properties information
|
|
164
|
+
* - in result we apply missing data on top of received api object.
|
|
165
|
+
* @param {MacrosAPI} api "sap.fe.macros" api object.
|
|
166
|
+
*/
|
|
167
|
+
function applyCorrections(api) {
|
|
168
|
+
// Apply missing classes
|
|
169
|
+
for (const name in exports.macrosCorrection) {
|
|
170
|
+
const symbol = api.symbols.find((apiSymbol) => apiSymbol.name === name);
|
|
171
|
+
if (!symbol && exports.macrosCorrection[name].metadata) {
|
|
172
|
+
api.symbols.push({
|
|
173
|
+
...exports.macrosCorrection[name].metadata
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
// Apply missing aggregation and properties
|
|
178
|
+
for (const symbol of api.symbols) {
|
|
179
|
+
const correction = exports.macrosCorrection[symbol.name];
|
|
180
|
+
if (!correction || symbol.kind === types_1.SYMBOL_KIND_NAMESPACE) {
|
|
181
|
+
continue;
|
|
182
|
+
}
|
|
183
|
+
const node = getNode(symbol);
|
|
184
|
+
applyCorrectionForNode(node, correction);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
exports.applyCorrections = applyCorrections;
|
|
188
|
+
//# sourceMappingURL=corrections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"corrections.js","sourceRoot":"","sources":["../../../scripts/macros/corrections.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../scripts/macros/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../scripts/macros/index.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAE5B;;GAEG;AACH,SAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SchemaDefinition } from '@sap/ux-specification-types';
|
|
2
|
+
import type { MacrosAPI } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Method generates generic schema for passed "sap.fe.macros" api.
|
|
5
|
+
* @param {MacrosAPI} api SAPUI5 "sap.fe.macros" api.
|
|
6
|
+
* @returns {SchemaDefinition} JSON schema for "sap.fe.macros" api.
|
|
7
|
+
*/
|
|
8
|
+
export declare function generateSchema(api: MacrosAPI): SchemaDefinition;
|
|
9
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../scripts/macros/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,KAAK,EACR,SAAS,EAQZ,MAAM,SAAS,CAAC;AAyKjB;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,gBAAgB,CAsC/D"}
|