@sap-ux/preview-middleware 0.19.17 → 0.19.19

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 (83) 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/ControllerExtension.controller.js +210 -210
  5. package/dist/client/adp/controllers/ExtensionPoint.controller.js +139 -139
  6. package/dist/client/adp/controllers/FileExistsDialog.controller.js +66 -66
  7. package/dist/client/adp/dialog-factory.js +135 -135
  8. package/dist/client/adp/init-dialogs.js +138 -138
  9. package/dist/client/adp/quick-actions/add-new-subpage-quick-action-base.js +96 -96
  10. package/dist/client/adp/quick-actions/common/add-controller-to-page.js +60 -60
  11. package/dist/client/adp/quick-actions/common/create-page-action.js +54 -54
  12. package/dist/client/adp/quick-actions/common/op-add-custom-section.js +39 -39
  13. package/dist/client/adp/quick-actions/common/op-add-header-field.js +67 -67
  14. package/dist/client/adp/quick-actions/common/utils.js +18 -18
  15. package/dist/client/adp/quick-actions/control-types.js +23 -21
  16. package/dist/client/adp/quick-actions/control-types.ts +1 -0
  17. package/dist/client/adp/quick-actions/dialog-enablement-validator.js +24 -24
  18. package/dist/client/adp/quick-actions/enablement-validator.js +4 -4
  19. package/dist/client/adp/quick-actions/fe-v2/add-new-subpage.js +81 -81
  20. package/dist/client/adp/quick-actions/fe-v2/change-table-actions.js +69 -0
  21. package/dist/client/adp/quick-actions/fe-v2/change-table-actions.ts +71 -0
  22. package/dist/client/adp/quick-actions/fe-v2/change-table-columns.js +101 -101
  23. package/dist/client/adp/quick-actions/fe-v2/create-table-action.js +107 -107
  24. package/dist/client/adp/quick-actions/fe-v2/create-table-custom-column.js +99 -99
  25. package/dist/client/adp/quick-actions/fe-v2/lr-enable-semantic-date-range-filter-bar.js +78 -78
  26. package/dist/client/adp/quick-actions/fe-v2/lr-enable-table-filtering.js +77 -77
  27. package/dist/client/adp/quick-actions/fe-v2/lr-enable-variant-management.js +69 -69
  28. package/dist/client/adp/quick-actions/fe-v2/lr-toggle-clear-filter-bar.js +59 -59
  29. package/dist/client/adp/quick-actions/fe-v2/op-enable-empty-row-mode.js +93 -93
  30. package/dist/client/adp/quick-actions/fe-v2/op-enable-variant-management.js +84 -84
  31. package/dist/client/adp/quick-actions/fe-v2/registry.js +77 -76
  32. package/dist/client/adp/quick-actions/fe-v2/registry.ts +4 -0
  33. package/dist/client/adp/quick-actions/fe-v2/utils.js +116 -116
  34. package/dist/client/adp/quick-actions/fe-v4/add-new-subpage.js +138 -138
  35. package/dist/client/adp/quick-actions/fe-v4/change-table-actions.js +81 -0
  36. package/dist/client/adp/quick-actions/fe-v4/change-table-actions.ts +81 -0
  37. package/dist/client/adp/quick-actions/fe-v4/change-table-columns.js +73 -73
  38. package/dist/client/adp/quick-actions/fe-v4/create-table-action.js +53 -53
  39. package/dist/client/adp/quick-actions/fe-v4/create-table-custom-column.js +49 -49
  40. package/dist/client/adp/quick-actions/fe-v4/enable-variant-management.js +81 -81
  41. package/dist/client/adp/quick-actions/fe-v4/lr-enable-semantic-date-range-filter-bar.js +56 -56
  42. package/dist/client/adp/quick-actions/fe-v4/lr-enable-table-filtering.js +82 -82
  43. package/dist/client/adp/quick-actions/fe-v4/lr-toggle-clear-filter-bar.js +53 -53
  44. package/dist/client/adp/quick-actions/fe-v4/op-enable-empty-row-mode.js +89 -89
  45. package/dist/client/adp/quick-actions/fe-v4/registry.js +60 -59
  46. package/dist/client/adp/quick-actions/fe-v4/registry.ts +4 -1
  47. package/dist/client/adp/quick-actions/fe-v4/utils.js +72 -72
  48. package/dist/client/adp/quick-actions/load.js +44 -44
  49. package/dist/client/adp/quick-actions/quick-action-base.js +64 -64
  50. package/dist/client/adp/quick-actions/table-quick-action-base.js +16 -2
  51. package/dist/client/adp/quick-actions/table-quick-action-base.ts +21 -3
  52. package/dist/client/adp/utils.js +218 -218
  53. package/dist/client/cpe/changes/index.js +10 -10
  54. package/dist/client/cpe/changes/validator.js +39 -39
  55. package/dist/client/cpe/documentation.js +164 -164
  56. package/dist/client/cpe/feature-service.js +36 -36
  57. package/dist/client/cpe/logger.js +30 -30
  58. package/dist/client/cpe/outline/editable.js +37 -37
  59. package/dist/client/cpe/outline/nodes.js +203 -203
  60. package/dist/client/cpe/quick-actions/quick-action-definition.js +4 -4
  61. package/dist/client/cpe/quick-actions/registry.js +143 -143
  62. package/dist/client/cpe/quick-actions/utils.js +92 -92
  63. package/dist/client/cpe/types.js +4 -4
  64. package/dist/client/cpe/ui5-utils.js +33 -33
  65. package/dist/client/cpe/utils.js +111 -111
  66. package/dist/client/flp/WorkspaceConnector.js +86 -86
  67. package/dist/client/flp/common.js +28 -28
  68. package/dist/client/flp/enableFakeConnector.js +83 -83
  69. package/dist/client/flp/homepage/Component.js +14 -14
  70. package/dist/client/flp/initCdm.js +117 -117
  71. package/dist/client/flp/initConnectors.js +28 -28
  72. package/dist/client/flp/initRta.js +178 -178
  73. package/dist/client/i18n.js +56 -56
  74. package/dist/client/messagebundle.properties +4 -0
  75. package/dist/client/utils/application.js +32 -32
  76. package/dist/client/utils/core.js +84 -68
  77. package/dist/client/utils/core.ts +19 -0
  78. package/dist/client/utils/error.js +19 -19
  79. package/dist/client/utils/fe-v2.js +56 -56
  80. package/dist/client/utils/fe-v4.js +140 -140
  81. package/dist/client/utils/fe-v4.ts +1 -0
  82. package/dist/client/utils/version.js +104 -104
  83. package/package.json +6 -6
@@ -1,58 +1,58 @@
1
- "use strict";
2
-
3
- sap.ui.define(["sap/base/i18n/ResourceBundle", "sap/ui/model/resource/ResourceModel"], function (ResourceBundle, ResourceModel) {
4
- "use strict";
5
-
6
- const BUNDLE_CACHE = {};
7
- const MODEL_CACHE = {};
8
- async function getResourceBundle(key) {
9
- const cachedBundle = BUNDLE_CACHE[key];
10
- if (cachedBundle) {
11
- return cachedBundle;
12
- }
13
- const bundle = await ResourceBundle.create({
14
- bundleUrl: '/preview/client/messagebundle.properties',
15
- url: '/preview/client/messagebundle.properties',
16
- supportedLocales: [''],
17
- locale: '',
18
- async: true
19
- });
20
- BUNDLE_CACHE[key] = bundle;
21
- return bundle;
22
- }
23
- async function getResourceModel() {
24
- let key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'open.ux.preview.client';
25
- const cachedModel = MODEL_CACHE[key];
26
- if (cachedModel) {
27
- return cachedModel;
28
- }
29
- const bundle = await getResourceBundle(key);
30
- const model = new ResourceModel({
31
- bundle
32
- });
33
- MODEL_CACHE[key] = model;
34
- return model;
35
- }
36
- class TextBundle {
37
- constructor(bundle) {
38
- this.bundle = bundle;
39
- }
40
- getText(key, args) {
41
- return this.bundle.getText(key, args) ?? key;
42
- }
43
- }
44
- async function getTextBundle() {
45
- let key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'open.ux.preview.client';
46
- const bundle = await getResourceBundle(key);
47
- return new TextBundle(bundle);
48
- }
49
- var __exports = {
50
- __esModule: true
51
- };
52
- __exports.getResourceBundle = getResourceBundle;
53
- __exports.getResourceModel = getResourceModel;
54
- __exports.TextBundle = TextBundle;
55
- __exports.getTextBundle = getTextBundle;
56
- return __exports;
1
+ "use strict";
2
+
3
+ sap.ui.define(["sap/base/i18n/ResourceBundle", "sap/ui/model/resource/ResourceModel"], function (ResourceBundle, ResourceModel) {
4
+ "use strict";
5
+
6
+ const BUNDLE_CACHE = {};
7
+ const MODEL_CACHE = {};
8
+ async function getResourceBundle(key) {
9
+ const cachedBundle = BUNDLE_CACHE[key];
10
+ if (cachedBundle) {
11
+ return cachedBundle;
12
+ }
13
+ const bundle = await ResourceBundle.create({
14
+ bundleUrl: '/preview/client/messagebundle.properties',
15
+ url: '/preview/client/messagebundle.properties',
16
+ supportedLocales: [''],
17
+ locale: '',
18
+ async: true
19
+ });
20
+ BUNDLE_CACHE[key] = bundle;
21
+ return bundle;
22
+ }
23
+ async function getResourceModel() {
24
+ let key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'open.ux.preview.client';
25
+ const cachedModel = MODEL_CACHE[key];
26
+ if (cachedModel) {
27
+ return cachedModel;
28
+ }
29
+ const bundle = await getResourceBundle(key);
30
+ const model = new ResourceModel({
31
+ bundle
32
+ });
33
+ MODEL_CACHE[key] = model;
34
+ return model;
35
+ }
36
+ class TextBundle {
37
+ constructor(bundle) {
38
+ this.bundle = bundle;
39
+ }
40
+ getText(key, args) {
41
+ return this.bundle.getText(key, args) ?? key;
42
+ }
43
+ }
44
+ async function getTextBundle() {
45
+ let key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'open.ux.preview.client';
46
+ const bundle = await getResourceBundle(key);
47
+ return new TextBundle(bundle);
48
+ }
49
+ var __exports = {
50
+ __esModule: true
51
+ };
52
+ __exports.getResourceBundle = getResourceBundle;
53
+ __exports.getResourceModel = getResourceModel;
54
+ __exports.TextBundle = TextBundle;
55
+ __exports.getTextBundle = getTextBundle;
56
+ return __exports;
57
57
  });
58
58
  //# sourceMappingURL=i18n.js.map
@@ -17,12 +17,14 @@ QUICK_ACTION_ENABLE_TABLES_AND_VARIANT_MANAGEMENT=Enable Variant Management in T
17
17
  QUICK_ACTION_ADD_NEW_SUB_PAGE=Add Subpage
18
18
 
19
19
  V2_QUICK_ACTION_CHANGE_TABLE_COLUMNS=Change Table Columns
20
+ V2_QUICK_ACTION_CHANGE_TABLE_ACTIONS=Change Table Actions
20
21
  V2_QUICK_ACTION_LR_ENABLE_CLEAR_FILTER_BAR=Enable "Clear" Button in Filter Bar
21
22
  V2_QUICK_ACTION_LR_DISABLE_CLEAR_FILTER_BAR=Disable "Clear" Button in Filter Bar
22
23
 
23
24
  QUICK_ACTION_LR_ENABLE_SEMANTIC_DATE_RANGE_FILTER_BAR=Enable Semantic Date Range in Filter Bar
24
25
  QUICK_ACTION_LR_DISABLE_SEMANTIC_DATE_RANGE_FILTER_BAR=Disable Semantic Date Range in Filter Bar
25
26
 
27
+ V4_QUICK_ACTION_CHANGE_TABLE_ACTIONS=Change Table Actions
26
28
  V4_QUICK_ACTION_CHANGE_TABLE_COLUMNS=Change Table Columns
27
29
  V4_QUICK_ACTION_LR_ENABLE_CLEAR_FILTER_BAR=Enable "Clear" Button in Filter Bar
28
30
  V4_QUICK_ACTION_LR_DISABLE_CLEAR_FILTER_BAR=Disable "Clear" Button in Filter Bar
@@ -59,6 +61,8 @@ VARIANT_MANAGEMENT_FOR_PAGE_CONTROLS_IS_ALREADY_ENABLED=This option has been dis
59
61
  VARIANT_MANAGEMENT_FOR_TABLE_CONTROLS_IS_ALREADY_ENABLED=This option has been disabled because variant management is already enabled for the ''{0}''
60
62
  VARIANT_MANAGEMENT_FOR_CUSTOM_TABLES_NOT_SUPPORTED=Variant management cannot be set for custom table ''{0}''
61
63
  NO_TABLE_HEADER_TOOLBAR=This option has been disabled because the table does not have a header toolbar.
64
+ TABLE_HEADER_TOOLBAR_NOT_CHANGEABLE=This option is disabled because the contents of the table toolbar cannot be changed.
65
+ TABLE_HEADER_TOOLBAR_NOT_AVAILABLE=This option is disabled because the table toolbar is not available.
62
66
  DISABLE_SHOW_HEADER_CONTENT=This option has been disabled because the "Show Header Content" page property is set to false.
63
67
  ADD_ANNOTATION_FILE=Add Annotation File for ''{0}''
64
68
  SHOW_ANNOTATION_FILE=Show Annotation File for ''{0}''
@@ -1,34 +1,34 @@
1
- "use strict";
2
-
3
- sap.ui.define([], function () {
4
- "use strict";
5
-
6
- /**
7
- * Determines application type based on the manifest.json.
8
- *
9
- * @param manifest - Application Manifest.
10
- * @returns Application type.
11
- */
12
- function getApplicationType(manifest) {
13
- if (manifest['sap.ui.generic.app'] || manifest['sap.ovp']) {
14
- return 'fe-v2';
15
- } else if (manifest['sap.ui5']?.routing?.targets) {
16
- let hasV4pPages = false;
17
- Object.keys(manifest?.['sap.ui5']?.routing?.targets ?? []).forEach(target => {
18
- if (manifest?.['sap.ui5']?.routing?.targets?.[target]?.name?.startsWith('sap.fe.templates.')) {
19
- hasV4pPages = true;
20
- }
21
- });
22
- if (hasV4pPages) {
23
- return 'fe-v4';
24
- }
25
- }
26
- return 'freestyle';
27
- }
28
- var __exports = {
29
- __esModule: true
30
- };
31
- __exports.getApplicationType = getApplicationType;
32
- return __exports;
1
+ "use strict";
2
+
3
+ sap.ui.define([], function () {
4
+ "use strict";
5
+
6
+ /**
7
+ * Determines application type based on the manifest.json.
8
+ *
9
+ * @param manifest - Application Manifest.
10
+ * @returns Application type.
11
+ */
12
+ function getApplicationType(manifest) {
13
+ if (manifest['sap.ui.generic.app'] || manifest['sap.ovp']) {
14
+ return 'fe-v2';
15
+ } else if (manifest['sap.ui5']?.routing?.targets) {
16
+ let hasV4pPages = false;
17
+ Object.keys(manifest?.['sap.ui5']?.routing?.targets ?? []).forEach(target => {
18
+ if (manifest?.['sap.ui5']?.routing?.targets?.[target]?.name?.startsWith('sap.fe.templates.')) {
19
+ hasV4pPages = true;
20
+ }
21
+ });
22
+ if (hasV4pPages) {
23
+ return 'fe-v4';
24
+ }
25
+ }
26
+ return 'freestyle';
27
+ }
28
+ var __exports = {
29
+ __esModule: true
30
+ };
31
+ __exports.getApplicationType = getApplicationType;
32
+ return __exports;
33
33
  });
34
34
  //# sourceMappingURL=application.js.map
@@ -1,70 +1,86 @@
1
- "use strict";
2
-
3
- sap.ui.define(["sap/ui/core/Component", "sap/ui/core/Element"], function (Component, Element) {
4
- "use strict";
5
-
6
- /**
7
- * Gets Component by id.
8
- *
9
- * @param id - unique identifier for control
10
- * @returns Component | undefined
11
- */
12
- function getComponent(id) {
13
- if (Component?.getComponentById) {
14
- return Component.getComponentById(id);
15
- } else if (Component?.get) {
16
- // Older version must be still supported until maintenance period.
17
- return Component.get(id); // NOSONAR
18
- } else {
19
- // Older version must be still supported until maintenance period.
20
- return sap.ui.getCore().getComponent(id); // NOSONAR
21
- }
22
- }
23
-
24
- /**
25
- * Returns control by its global ID.
26
- *
27
- * @param id Id of the control.
28
- * @returns Control instance if it exists.
29
- */
30
- function getControlById(id) {
31
- if (typeof Element.getElementById === 'function') {
32
- return Element.getElementById(id);
33
- } else {
34
- return sap.ui.getCore().byId(id);
35
- }
36
- }
37
-
38
- /**
39
- * Checks wether this object is an instance of a ManagedObject.
40
- *
41
- * @param element An object.
42
- * @returns True if element is an instance of a ManagedObject.
43
- */
44
- function isManagedObject(element) {
45
- if (typeof element?.isA === 'function') {
46
- return element.isA('sap.ui.base.ManagedObject');
47
- }
48
- return false;
49
- }
50
-
51
- /**
52
- * Checks whether this object is an instance of the named type.
53
- *
54
- * @param type - Type to check for.
55
- * @param element - Object to check
56
- * @returns Whether this object is an instance of the given type.
57
- */
58
- function isA(type, element) {
59
- return !!element?.isA(type);
60
- }
61
- var __exports = {
62
- __esModule: true
63
- };
64
- __exports.getComponent = getComponent;
65
- __exports.getControlById = getControlById;
66
- __exports.isManagedObject = isManagedObject;
67
- __exports.isA = isA;
68
- return __exports;
1
+ "use strict";
2
+
3
+ sap.ui.define(["sap/ui/core/Component", "sap/ui/core/Element"], function (Component, Element) {
4
+ "use strict";
5
+
6
+ /**
7
+ * Gets Component by id.
8
+ *
9
+ * @param id - unique identifier for control
10
+ * @returns Component | undefined
11
+ */
12
+ function getComponent(id) {
13
+ if (Component?.getComponentById) {
14
+ return Component.getComponentById(id);
15
+ } else if (Component?.get) {
16
+ // Older version must be still supported until maintenance period.
17
+ return Component.get(id); // NOSONAR
18
+ } else {
19
+ // Older version must be still supported until maintenance period.
20
+ return sap.ui.getCore().getComponent(id); // NOSONAR
21
+ }
22
+ }
23
+
24
+ /**
25
+ * Returns control by its global ID.
26
+ *
27
+ * @param id Id of the control.
28
+ * @returns Control instance if it exists.
29
+ */
30
+ function getControlById(id) {
31
+ if (typeof Element.getElementById === 'function') {
32
+ return Element.getElementById(id);
33
+ } else {
34
+ return sap.ui.getCore().byId(id);
35
+ }
36
+ }
37
+
38
+ /**
39
+ * Checks wether this object is an instance of a ManagedObject.
40
+ *
41
+ * @param element An object.
42
+ * @returns True if element is an instance of a ManagedObject.
43
+ */
44
+ function isManagedObject(element) {
45
+ if (typeof element?.isA === 'function') {
46
+ return element.isA('sap.ui.base.ManagedObject');
47
+ }
48
+ return false;
49
+ }
50
+
51
+ /**
52
+ * Checks whether this object is an instance of the named type.
53
+ *
54
+ * @param type - Type to check for.
55
+ * @param element - Object to check
56
+ * @returns Whether this object is an instance of the given type.
57
+ */
58
+ function isA(type, element) {
59
+ return !!element?.isA(type);
60
+ }
61
+ function hasParent(component, parentIdToFind) {
62
+ const parent = component.getParent();
63
+ if (!parent) {
64
+ return false;
65
+ }
66
+ if (parent.getId() === parentIdToFind) {
67
+ return true;
68
+ }
69
+ return hasParent(parent, parentIdToFind);
70
+ }
71
+ function findNestedElements(ownerElement, candidates) {
72
+ const ownerId = ownerElement.getId();
73
+ return candidates.filter(item => hasParent(item, ownerId));
74
+ }
75
+ var __exports = {
76
+ __esModule: true
77
+ };
78
+ __exports.getComponent = getComponent;
79
+ __exports.getControlById = getControlById;
80
+ __exports.isManagedObject = isManagedObject;
81
+ __exports.isA = isA;
82
+ __exports.hasParent = hasParent;
83
+ __exports.findNestedElements = findNestedElements;
84
+ return __exports;
69
85
  });
70
86
  //# sourceMappingURL=core.js.map
@@ -59,3 +59,22 @@ export function isManagedObject(element: object | undefined): element is Managed
59
59
  export function isA<T extends ManagedObject>(type: string, element: ManagedObject | undefined): element is T {
60
60
  return !!element?.isA(type);
61
61
  }
62
+
63
+ export function hasParent(component: ManagedObject, parentIdToFind: string): boolean {
64
+ const parent = component.getParent();
65
+ if (!parent) {
66
+ return false;
67
+ }
68
+ if (parent.getId() === parentIdToFind) {
69
+ return true;
70
+ }
71
+ return hasParent(parent, parentIdToFind);
72
+ }
73
+
74
+ export function findNestedElements(
75
+ ownerElement: Element,
76
+ candidates: Element[]
77
+ ): Element[] {
78
+ const ownerId = ownerElement.getId();
79
+ return candidates.filter((item) => hasParent(item, ownerId));
80
+ }
@@ -1,21 +1,21 @@
1
- "use strict";
2
-
3
- sap.ui.define([], function () {
4
- "use strict";
5
-
6
- /**
7
- * Returns the Error if the error is an instance of `Error` otherwise a new Error instance with string representation of the error.
8
- *
9
- * @param error {unknown} - the error instance
10
- * @returns {Error} the error
11
- */
12
- function getError(error) {
13
- return error instanceof Error ? error : new Error(JSON.stringify(error));
14
- }
15
- var __exports = {
16
- __esModule: true
17
- };
18
- __exports.getError = getError;
19
- return __exports;
1
+ "use strict";
2
+
3
+ sap.ui.define([], function () {
4
+ "use strict";
5
+
6
+ /**
7
+ * Returns the Error if the error is an instance of `Error` otherwise a new Error instance with string representation of the error.
8
+ *
9
+ * @param error {unknown} - the error instance
10
+ * @returns {Error} the error
11
+ */
12
+ function getError(error) {
13
+ return error instanceof Error ? error : new Error(JSON.stringify(error));
14
+ }
15
+ var __exports = {
16
+ __esModule: true
17
+ };
18
+ __exports.getError = getError;
19
+ return __exports;
20
20
  });
21
21
  //# sourceMappingURL=error.js.map
@@ -1,58 +1,58 @@
1
- "use strict";
2
-
3
- sap.ui.define([], function () {
4
- "use strict";
5
-
6
- const OBJECT_PAGE_COMPONENT_NAME = 'sap.suite.ui.generic.template.ObjectPage';
7
-
8
- /**
9
- * Returns application object page definitions found in manifest
10
- *
11
- * @param manifest - manifest object
12
- * @returns array with page descriptors
13
- */
14
- function getV2ApplicationPages(manifest) {
15
- // do we need to distinguish both navigation source and target entitySets to differentiate alternative routes?
16
- const rootEntry = manifest['sap.ui.generic.app'] || manifest['sap.ovp'];
17
- if (rootEntry) {
18
- const result = [];
19
- const collectPageData = (pagesDefinitions, idPrefix) => {
20
- if (!pagesDefinitions) {
21
- return;
22
- }
23
- if (Array.isArray(pagesDefinitions)) {
24
- pagesDefinitions.forEach((entry, idx) => {
25
- const id = `${idPrefix}-${idx}`;
26
- if (entry.component.name === OBJECT_PAGE_COMPONENT_NAME) {
27
- result.push({
28
- id,
29
- entitySet: entry.entitySet
30
- });
31
- }
32
- collectPageData(entry.pages, id);
33
- });
34
- } else {
35
- const pageIds = Object.keys(pagesDefinitions);
36
- for (const pageId of pageIds) {
37
- if (pagesDefinitions[pageId].component.name === OBJECT_PAGE_COMPONENT_NAME) {
38
- result.push({
39
- id: pageId,
40
- entitySet: pagesDefinitions[pageId].entitySet
41
- });
42
- }
43
- collectPageData(pagesDefinitions[pageId].pages, idPrefix);
44
- }
45
- }
46
- };
47
- collectPageData(rootEntry.pages, 'page');
48
- return result;
49
- }
50
- return [];
51
- }
52
- var __exports = {
53
- __esModule: true
54
- };
55
- __exports.getV2ApplicationPages = getV2ApplicationPages;
56
- return __exports;
1
+ "use strict";
2
+
3
+ sap.ui.define([], function () {
4
+ "use strict";
5
+
6
+ const OBJECT_PAGE_COMPONENT_NAME = 'sap.suite.ui.generic.template.ObjectPage';
7
+
8
+ /**
9
+ * Returns application object page definitions found in manifest
10
+ *
11
+ * @param manifest - manifest object
12
+ * @returns array with page descriptors
13
+ */
14
+ function getV2ApplicationPages(manifest) {
15
+ // do we need to distinguish both navigation source and target entitySets to differentiate alternative routes?
16
+ const rootEntry = manifest['sap.ui.generic.app'] || manifest['sap.ovp'];
17
+ if (rootEntry) {
18
+ const result = [];
19
+ const collectPageData = (pagesDefinitions, idPrefix) => {
20
+ if (!pagesDefinitions) {
21
+ return;
22
+ }
23
+ if (Array.isArray(pagesDefinitions)) {
24
+ pagesDefinitions.forEach((entry, idx) => {
25
+ const id = `${idPrefix}-${idx}`;
26
+ if (entry.component.name === OBJECT_PAGE_COMPONENT_NAME) {
27
+ result.push({
28
+ id,
29
+ entitySet: entry.entitySet
30
+ });
31
+ }
32
+ collectPageData(entry.pages, id);
33
+ });
34
+ } else {
35
+ const pageIds = Object.keys(pagesDefinitions);
36
+ for (const pageId of pageIds) {
37
+ if (pagesDefinitions[pageId].component.name === OBJECT_PAGE_COMPONENT_NAME) {
38
+ result.push({
39
+ id: pageId,
40
+ entitySet: pagesDefinitions[pageId].entitySet
41
+ });
42
+ }
43
+ collectPageData(pagesDefinitions[pageId].pages, idPrefix);
44
+ }
45
+ }
46
+ };
47
+ collectPageData(rootEntry.pages, 'page');
48
+ return result;
49
+ }
50
+ return [];
51
+ }
52
+ var __exports = {
53
+ __esModule: true
54
+ };
55
+ __exports.getV2ApplicationPages = getV2ApplicationPages;
56
+ return __exports;
57
57
  });
58
58
  //# sourceMappingURL=fe-v2.js.map