@sap/ux-specification 1.90.17 → 1.90.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/CHANGELOG.md +55 -2
  2. package/dist/documentation/runDocu-min.js +1 -1
  3. package/dist/documentation/styleDocu.css +7 -14
  4. package/dist/documentation/v2/v2-AnalyticalListPage.html +1 -1
  5. package/dist/documentation/v2/v2-ApplicationV2.html +1 -1
  6. package/dist/documentation/v2/v2-ListReport.html +1 -1
  7. package/dist/documentation/v2/v2-ObjectPage.html +1 -1
  8. package/dist/documentation/v2/v2-OverviewPage.html +1 -1
  9. package/dist/documentation/v4/v4-AnalyticalListPage.html +1 -1
  10. package/dist/documentation/v4/v4-ApplicationV4.html +1 -1
  11. package/dist/documentation/v4/v4-ListReport.html +1 -1
  12. package/dist/documentation/v4/v4-ObjectPage.html +1 -1
  13. package/dist/index-min.js +1 -1
  14. package/dist/schemas/v2/AnalyticalListPageConfig.json +175 -15
  15. package/dist/schemas/v2/ListReportConfig.json +187 -15
  16. package/dist/schemas/v2/ObjectPageConfig.json +127 -33
  17. package/dist/schemas/v2/OverviewPageConfig.json +57 -16
  18. package/dist/schemas/v4/AnalyticalListPageConfig.json +43 -86
  19. package/dist/schemas/v4/ListReportConfig.json +43 -86
  20. package/dist/schemas/v4/ObjectPageConfig.json +64 -71
  21. package/dist/scripts/runDocu.js +30 -7
  22. package/dist/scripts/runDocu.js.map +1 -1
  23. package/dist/scripts/to-json-schema.js +31 -37
  24. package/dist/scripts/to-json-schema.js.map +1 -1
  25. package/dist/specification/v2/index-min.js +1 -1
  26. package/dist/specification/v4/index-min.js +1 -1
  27. package/dist/src/api.js +9 -9
  28. package/dist/src/api.js.map +1 -1
  29. package/dist/src/apiTypes.d.ts +5 -2
  30. package/dist/src/specification/schemaAccess.js +1 -3
  31. package/dist/src/specification/schemaAccess.js.map +1 -1
  32. package/dist/src/specification/v2/controls/Action.d.ts +19 -2
  33. package/dist/src/specification/v2/controls/FilterBar.d.ts +70 -22
  34. package/dist/src/specification/v2/controls/FilterBar.js +24 -0
  35. package/dist/src/specification/v2/controls/FilterBar.js.map +1 -1
  36. package/dist/src/specification/v2/controls/Footer.d.ts +20 -0
  37. package/dist/src/specification/v2/controls/{ObjectPageFooter.js → Footer.js} +1 -1
  38. package/dist/src/specification/v2/controls/Footer.js.map +1 -0
  39. package/dist/src/specification/v2/controls/ObjectPageTable.d.ts +4 -0
  40. package/dist/src/specification/v2/controls/Table.d.ts +12 -1
  41. package/dist/src/specification/v2/controls/Table.js.map +1 -1
  42. package/dist/src/specification/v2/controls/ToolBar.d.ts +1 -8
  43. package/dist/src/specification/v2/controls/index.d.ts +1 -2
  44. package/dist/src/specification/v2/controls/index.js.map +1 -1
  45. package/dist/src/specification/v2/pages/AnalyticalListPageConfig.d.ts +2 -1
  46. package/dist/src/specification/v2/pages/ListReportConfig.d.ts +2 -1
  47. package/dist/src/specification/v2/pages/OverviewPageConfig.d.ts +36 -2
  48. package/dist/src/specification/v2/pages/OverviewPageConfig.js.map +1 -1
  49. package/dist/src/specification/v4/controls/ObjectPageFooter.d.ts +2 -2
  50. package/dist/src/specification/v4/controls/ObjectPageSection.d.ts +7 -7
  51. package/dist/src/specification/v4/controls/ObjectPageTable.d.ts +5 -6
  52. package/dist/src/specification/v4/controls/Table.d.ts +2 -7
  53. package/dist/src/specification/v4/webapp/manifest/ManifestSettings.d.ts +59 -10
  54. package/dist/src/specification/v4/webapp/manifest/ManifestSettings.js +6 -0
  55. package/dist/src/specification/v4/webapp/manifest/ManifestSettings.js.map +1 -1
  56. package/dist/src/sync/common/appProvider.js.map +1 -1
  57. package/dist/src/sync/common/decoration/control.d.ts +11 -1
  58. package/dist/src/sync/common/decoration/control.js +29 -3
  59. package/dist/src/sync/common/decoration/control.js.map +1 -1
  60. package/dist/src/sync/common/decoration/factory.js +2 -4
  61. package/dist/src/sync/common/decoration/factory.js.map +1 -1
  62. package/dist/src/sync/common/generate/objectPage.d.ts +9 -0
  63. package/dist/src/sync/common/generate/objectPage.js +89 -43
  64. package/dist/src/sync/common/generate/objectPage.js.map +1 -1
  65. package/dist/src/sync/common/generate/utils.d.ts +27 -0
  66. package/dist/src/sync/common/generate/utils.js +118 -3
  67. package/dist/src/sync/common/generate/utils.js.map +1 -1
  68. package/dist/src/sync/common/i18n.json +2 -0
  69. package/dist/src/sync/common/import/utils.d.ts +8 -1
  70. package/dist/src/sync/common/import/utils.js +15 -4
  71. package/dist/src/sync/common/import/utils.js.map +1 -1
  72. package/dist/src/sync/common/importProject.js +13 -22
  73. package/dist/src/sync/common/importProject.js.map +1 -1
  74. package/dist/src/sync/common/types.d.ts +30 -16
  75. package/dist/src/sync/common/types.js +25 -1
  76. package/dist/src/sync/common/types.js.map +1 -1
  77. package/dist/src/sync/common/utils.d.ts +4 -3
  78. package/dist/src/sync/common/utils.js +19 -24
  79. package/dist/src/sync/common/utils.js.map +1 -1
  80. package/dist/src/sync/v2/export/controls/Action.d.ts +15 -0
  81. package/dist/src/sync/v2/export/controls/Action.js +68 -15
  82. package/dist/src/sync/v2/export/controls/Action.js.map +1 -1
  83. package/dist/src/sync/v2/export/controls/FilterBar.d.ts +18 -6
  84. package/dist/src/sync/v2/export/controls/FilterBar.js +102 -65
  85. package/dist/src/sync/v2/export/controls/FilterBar.js.map +1 -1
  86. package/dist/src/sync/v2/export/controls/FormAction.js +3 -2
  87. package/dist/src/sync/v2/export/controls/FormAction.js.map +1 -1
  88. package/dist/src/sync/v2/export/controls/Fragment.d.ts +1 -1
  89. package/dist/src/sync/v2/export/controls/Fragment.js +239 -164
  90. package/dist/src/sync/v2/export/controls/Fragment.js.map +1 -1
  91. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts +2 -2
  92. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js +9 -9
  93. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js.map +1 -1
  94. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +2 -2
  95. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +4 -4
  96. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +1 -1
  97. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +1 -0
  98. package/dist/src/sync/v2/export/controls/ObjectPageTable.js +12 -0
  99. package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -1
  100. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js +6 -4
  101. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js.map +1 -1
  102. package/dist/src/sync/v2/export/controls/Table.d.ts +1 -0
  103. package/dist/src/sync/v2/export/controls/Table.js +12 -0
  104. package/dist/src/sync/v2/export/controls/Table.js.map +1 -1
  105. package/dist/src/sync/v2/export/controls/TableColumn.d.ts +18 -2
  106. package/dist/src/sync/v2/export/controls/TableColumn.js +126 -1
  107. package/dist/src/sync/v2/export/controls/TableColumn.js.map +1 -1
  108. package/dist/src/sync/v2/export/export.js +137 -111
  109. package/dist/src/sync/v2/export/export.js.map +1 -1
  110. package/dist/src/sync/v2/export/manifest.js +2 -5
  111. package/dist/src/sync/v2/export/manifest.js.map +1 -1
  112. package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts +2 -1
  113. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js +3 -0
  114. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js.map +1 -1
  115. package/dist/src/sync/v2/export/pages/ListReport.d.ts +2 -1
  116. package/dist/src/sync/v2/export/pages/ListReport.js +3 -0
  117. package/dist/src/sync/v2/export/pages/ListReport.js.map +1 -1
  118. package/dist/src/sync/v2/export/pages/OverviewPage.d.ts +2 -1
  119. package/dist/src/sync/v2/export/pages/OverviewPage.js +32 -2
  120. package/dist/src/sync/v2/export/pages/OverviewPage.js.map +1 -1
  121. package/dist/src/sync/v2/export/view-controller-generator.d.ts +16 -21
  122. package/dist/src/sync/v2/export/view-controller-generator.js +20 -36
  123. package/dist/src/sync/v2/export/view-controller-generator.js.map +1 -1
  124. package/dist/src/sync/v2/generate/analyticalListReport.js +14 -6
  125. package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -1
  126. package/dist/src/sync/v2/generate/listReport.js +13 -4
  127. package/dist/src/sync/v2/generate/listReport.js.map +1 -1
  128. package/dist/src/sync/v2/generate/objectPage.d.ts +1 -5
  129. package/dist/src/sync/v2/generate/objectPage.js +10 -10
  130. package/dist/src/sync/v2/generate/objectPage.js.map +1 -1
  131. package/dist/src/sync/v2/generate/utils.d.ts +22 -11
  132. package/dist/src/sync/v2/generate/utils.js +282 -110
  133. package/dist/src/sync/v2/generate/utils.js.map +1 -1
  134. package/dist/src/sync/v2/import/common/index.d.ts +22 -4
  135. package/dist/src/sync/v2/import/common/index.js +237 -27
  136. package/dist/src/sync/v2/import/common/index.js.map +1 -1
  137. package/dist/src/sync/v2/import/controls/table.js +3 -2
  138. package/dist/src/sync/v2/import/controls/table.js.map +1 -1
  139. package/dist/src/sync/v2/import/pages/analyticalListPage.js +36 -5
  140. package/dist/src/sync/v2/import/pages/analyticalListPage.js.map +1 -1
  141. package/dist/src/sync/v2/import/pages/listReport.d.ts +0 -5
  142. package/dist/src/sync/v2/import/pages/listReport.js +21 -122
  143. package/dist/src/sync/v2/import/pages/listReport.js.map +1 -1
  144. package/dist/src/sync/v2/import/pages/objectPage.js +182 -107
  145. package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -1
  146. package/dist/src/sync/v2/import/utils.d.ts +4 -6
  147. package/dist/src/sync/v2/import/utils.js +43 -11
  148. package/dist/src/sync/v2/import/utils.js.map +1 -1
  149. package/dist/src/sync/v2/types.d.ts +8 -1
  150. package/dist/src/sync/v2/types.js +8 -1
  151. package/dist/src/sync/v2/types.js.map +1 -1
  152. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts +3 -7
  153. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js +2 -25
  154. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js.map +1 -1
  155. package/dist/src/sync/v4/export/controls/TableColumn.d.ts +1 -6
  156. package/dist/src/sync/v4/export/controls/TableColumn.js +0 -33
  157. package/dist/src/sync/v4/export/controls/TableColumn.js.map +1 -1
  158. package/dist/src/sync/v4/export/controls/ToolBar.d.ts +5 -1
  159. package/dist/src/sync/v4/export/controls/ToolBar.js +3 -0
  160. package/dist/src/sync/v4/export/controls/ToolBar.js.map +1 -1
  161. package/dist/src/sync/v4/export/export.js +20 -16
  162. package/dist/src/sync/v4/export/export.js.map +1 -1
  163. package/dist/src/sync/v4/export/pages/AnalyticalListPage.d.ts +2 -2
  164. package/dist/src/sync/v4/export/pages/ListReport.d.ts +2 -2
  165. package/dist/src/sync/v4/export/pages/ObjectPage.d.ts +2 -2
  166. package/dist/src/sync/v4/export/types.d.ts +3 -0
  167. package/dist/src/sync/v4/generate/generate.d.ts +4 -2
  168. package/dist/src/sync/v4/generate/generate.js +15 -6
  169. package/dist/src/sync/v4/generate/generate.js.map +1 -1
  170. package/dist/src/sync/v4/generate/listReport.d.ts +7 -6
  171. package/dist/src/sync/v4/generate/listReport.js +50 -34
  172. package/dist/src/sync/v4/generate/listReport.js.map +1 -1
  173. package/dist/src/sync/v4/generate/objectPage.js +66 -85
  174. package/dist/src/sync/v4/generate/objectPage.js.map +1 -1
  175. package/dist/src/sync/v4/import/pages/analyticalListPage.d.ts +2 -2
  176. package/dist/src/sync/v4/import/pages/analyticalListPage.js +0 -1
  177. package/dist/src/sync/v4/import/pages/analyticalListPage.js.map +1 -1
  178. package/dist/src/sync/v4/import/pages/listReport.d.ts +3 -3
  179. package/dist/src/sync/v4/import/pages/listReport.js +34 -23
  180. package/dist/src/sync/v4/import/pages/listReport.js.map +1 -1
  181. package/dist/src/sync/v4/import/pages/objectPage.d.ts +2 -2
  182. package/dist/src/sync/v4/import/pages/objectPage.js +21 -16
  183. package/dist/src/sync/v4/import/pages/objectPage.js.map +1 -1
  184. package/dist/src/sync/v4/import/utils.js +6 -5
  185. package/dist/src/sync/v4/import/utils.js.map +1 -1
  186. package/dist/src/sync/v4/utils/utils.d.ts +14 -1
  187. package/dist/src/sync/v4/utils/utils.js +62 -26
  188. package/dist/src/sync/v4/utils/utils.js.map +1 -1
  189. package/dist/test/unit/utils.test.d.ts +1 -1
  190. package/package.json +8 -9
  191. package/dist/src/specification/v2/controls/ObjectPageFooter.d.ts +0 -11
  192. package/dist/src/specification/v2/controls/ObjectPageFooter.js.map +0 -1
  193. package/dist/src/specification/v2/controls/ObjectPageFooterAction.d.ts +0 -28
  194. package/dist/src/specification/v2/controls/ObjectPageFooterAction.js +0 -3
  195. package/dist/src/specification/v2/controls/ObjectPageFooterAction.js.map +0 -1
  196. package/dist/test/test-utils/metadataParser.d.ts +0 -19
@@ -1,20 +1,24 @@
1
1
  import { FileData } from '../../common';
2
- import { AnnotationTerm, EntityType, LineItem, DataFieldForActionAbstractTypes } from '@sap-ux/vocabularies-types';
2
+ import { AnnotationTerm, EntityType, LineItem, SelectionFields } from '@sap-ux/vocabularies-types';
3
3
  import { SapUiAppPageV2 } from '../../../specification/v2';
4
4
  import { MetadataInstanceInterface } from '../../common/decoration/factory';
5
5
  import { PageType, PageTypeV4 } from '../../../specification/common';
6
- export declare const CUSTOM_COLUMNS_DEFINITION = "TableCustomColumns";
7
- export declare const CUSTOM_COLUMN_DEFINITION = "TableCustomColumn";
6
+ import { ActionTypeV2 } from '../types';
8
7
  /**
9
- * Processes a LineItem record of type DataFieldForAction during app schema generation
8
+ * Processes a LineItem record of type DataFieldForAction and DataFieldForIntentBasedNavigation during app schema generation
10
9
  * @param appSchema - the app specific schema that shall get enhanced
11
10
  * @param entityType - the entity type as part of the AVT ConverterOutput
12
11
  * @param actions - actions definition in schema, parent object
13
- * @param lineItemPath - annotation path to the line item
14
- * @param lineItemRecord - actual record of the line item collection
12
+ * @param lineItemProperties - properties of the line item collection: lineItemPath, lineItemRecord, lineItemId
13
+ * @param actionType - type of action
15
14
  * @param recordIndex - record index in the collection
16
15
  */
17
- export declare function handleActionRecord(appSchema: object, entityType: EntityType, actions: object, lineItemPath: string, lineItemRecord: DataFieldForActionAbstractTypes, lineItemId: string, recordIndex: number): void;
16
+ export declare function handleActionRecord(appSchema: object, actions: object, lineItemProps: {
17
+ lineItemPath: any;
18
+ lineItemRecord: any;
19
+ lineItemId: any;
20
+ entityType: EntityType;
21
+ }, actionType: ActionTypeV2, recordIndex: number): void;
18
22
  /**
19
23
  * Adds the line item records to the app schema (for the list report or an object page section comprising a table)
20
24
  * @param appSchema - the app specific schema that shall get enhanced
@@ -26,7 +30,7 @@ export declare function handleActionRecord(appSchema: object, entityType: Entity
26
30
  */
27
31
  export declare function addLineItemsType(appSchema: object, lineItemAnnotation: AnnotationTerm<LineItem>, entityType: EntityType, lineItemId?: string, customColumnRef?: string): void;
28
32
  /**
29
- * Adds enum entries of posible leading properties for 'leadingProperty' property in TableCustomColumn properties.
33
+ * Adds enum entries of possible leading properties for 'leadingProperty' property in TableCustomColumn properties.
30
34
  * @param appSchema - the app specific schema that shall get enhanced
31
35
  * @param entityType - the entity type as part of the AVT ConverterOutput
32
36
  * @param definitionName - definition name of CustomColumn definition
@@ -55,10 +59,10 @@ export declare function addFragmentEnum(appSchema: object, fragments: FileData[]
55
59
  * @param {SapUiAppPageV2} page Sapui5 page object.
56
60
  * @param {object} manifest Application manifest.
57
61
  * @param {FileData[]} [fragments] Array of fragments.
58
- * @param {string} [customColumnsDefinitionName=CUSTOM_COLUMNS_DEFINITION] Definition name of Custom Columns definition.
59
- * @param {string} [customColumnDefinitionName=CUSTOM_COLUMN_DEFINITION] Definition name of Custom Column definition.
62
+ * @param {string} [customColumnsDefinitionName=DefinitionName.CustomColumns] Definition name of Custom Columns definition.
63
+ * @param {string} [customColumnDefinitionName=DefinitionName.CustomColumn] Definition name of Custom Column definition.
60
64
  */
61
- export declare function addListReportColumnExtensions(appSchema: object, entityType: EntityType, page: SapUiAppPageV2, manifest: object, fragments?: FileData[], customColumnsDefinitionName?: string, customColumnDefinitionName?: string): void;
65
+ export declare function addTableColumnExtensions(appSchema: object, entityType: EntityType, page: SapUiAppPageV2, manifest: object, fragments?: FileData[], customColumnsDefinitionName?: string, customColumnDefinitionName?: string): void;
62
66
  /**
63
67
  * Apply post-processing rules as specified in form of "generate" at the syncRule
64
68
  * @param schema - given app schema, to be adapted
@@ -75,3 +79,10 @@ export declare function processMetadata(schema: object, schemaDefinition: object
75
79
  * @param {Array<unknown>} valuesToRemove Array of values to remove.
76
80
  */
77
81
  export declare function removeElementsFromEnum(values: Array<unknown>, valuesToRemove: Array<unknown>): void;
82
+ /**
83
+ * Adds the selection fields to the app schema, as properties of the Filterbar
84
+ * @param entityType - the entity type as part of the AVT ConverterOutput
85
+ * @param appSchema - the app specific schema that shall get enhanced
86
+ * @param selectionFieldsAnnotation - the UI.SelectionField annotation
87
+ */
88
+ export declare function addSelectionFields(appSchema: object, selectionFieldsAnnotation: AnnotationTerm<SelectionFields>, entityType: EntityType): void;
@@ -4,47 +4,151 @@ const common_1 = require("../../common");
4
4
  const decorators_1 = require("../../common/decoration/decorators");
5
5
  const path_1 = require("path");
6
6
  const xml_js_1 = require("xml-js");
7
- exports.CUSTOM_COLUMNS_DEFINITION = 'TableCustomColumns';
8
- exports.CUSTOM_COLUMN_DEFINITION = 'TableCustomColumn';
7
+ const types_1 = require("../types");
9
8
  /**
10
- * Processes a LineItem record of type DataFieldForAction during app schema generation
9
+ * Common function for enhancing the LineItems definiton of app schema by custom columns
10
+ * @param appSchema - app-specific JSON schema
11
+ * @param customColumnsDefinitionName - custom column definition name (plural)
12
+ * @param customColumnDefinitionName - custom column definition name (singular)
13
+ */
14
+ function addCustomColumnDefinition(appSchema, customColumnsDefinitionName, customColumnDefinitionName) {
15
+ if (appSchema['definitions']['LineItems']) {
16
+ appSchema['definitions']['LineItems']['properties']['custom'] = {
17
+ $ref: `${common_1.DEFINITION_LINK_PREFIX}${customColumnsDefinitionName}`
18
+ };
19
+ }
20
+ appSchema['definitions'][customColumnsDefinitionName] = {
21
+ type: 'array',
22
+ items: {
23
+ $ref: `${common_1.DEFINITION_LINK_PREFIX}${customColumnDefinitionName}`
24
+ },
25
+ isViewNode: true,
26
+ description: 'Custom Columns'
27
+ };
28
+ const columnDefinition = appSchema['definitions'][customColumnDefinitionName];
29
+ for (const id in columnDefinition.properties) {
30
+ columnDefinition.properties[id].artifactType = common_1.ArtifactType.Manifest;
31
+ }
32
+ }
33
+ /**
34
+ * Prepares and returns id of action for further use and reference
35
+ * @param actionType - type of action
36
+ * @param lineItemProperties - properties of the line item collection: lineItemPath, lineItemRecord, lineItemId
37
+ * @returns {string} actionId
38
+ */
39
+ function getActionId(actionType, lineItemProperties) {
40
+ if (actionType === types_1.ActionTypeV2.ColumnIntentBased) {
41
+ return common_1.getSchemaKeyOfLineItemRecord(lineItemProperties.lineItemRecord);
42
+ }
43
+ else if (actionType === types_1.ActionTypeV2.ToolBarIntentBased || actionType === types_1.ActionTypeV2.FooterIntentBased) {
44
+ return common_1.prepareRef(`${lineItemProperties.lineItemRecord.SemanticObject}::${lineItemProperties.lineItemRecord.Action}`);
45
+ }
46
+ else if (actionType === types_1.ActionTypeV2.Column &&
47
+ lineItemProperties.lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */) {
48
+ return common_1.prepareRef(`DataFieldForAction:::sAction::${lineItemProperties.lineItemRecord.Action}`);
49
+ }
50
+ else {
51
+ return common_1.prepareRef(lineItemProperties.lineItemRecord.Action);
52
+ }
53
+ }
54
+ /**
55
+ * Processes a LineItem record of type DataFieldForAction and DataFieldForIntentBasedNavigation during app schema generation
11
56
  * @param appSchema - the app specific schema that shall get enhanced
12
57
  * @param entityType - the entity type as part of the AVT ConverterOutput
13
58
  * @param actions - actions definition in schema, parent object
14
- * @param lineItemPath - annotation path to the line item
15
- * @param lineItemRecord - actual record of the line item collection
59
+ * @param lineItemProperties - properties of the line item collection: lineItemPath, lineItemRecord, lineItemId
60
+ * @param actionType - type of action
16
61
  * @param recordIndex - record index in the collection
17
62
  */
18
- function handleActionRecord(appSchema, entityType, actions, lineItemPath, lineItemRecord, lineItemId, recordIndex) {
19
- // Action but not inline action
20
- if (lineItemRecord.Determining !== true) {
21
- //no footer bar -> toolbar action
22
- const actionType = lineItemId === 'LineItems' ? '' : 'ObjectPage';
23
- const actionId = common_1.prepareRef(lineItemRecord.Action);
24
- const actionDefinition = `${actionType}ToolBarAction<${actionId}>`;
25
- const description = common_1.getDatafieldDescription(lineItemRecord, entityType);
26
- actions['properties'][actionId] = {
27
- $ref: common_1.DEFINITION_LINK_PREFIX + actionDefinition,
63
+ function handleActionRecord(appSchema, actions, lineItemProps, actionType, recordIndex) {
64
+ let actionReferenceType;
65
+ const actionTemplate = lineItemProps.lineItemId === 'LineItems' ? '' : 'ObjectPage';
66
+ const actionId = getActionId(actionType, lineItemProps);
67
+ if (actionType === types_1.ActionTypeV2.Footer || actionType === types_1.ActionTypeV2.FooterIntentBased) {
68
+ actionReferenceType = `Action`;
69
+ actionType = types_1.ActionTypeV2.Footer;
70
+ }
71
+ else if (actionType === types_1.ActionTypeV2.Column || actionType === types_1.ActionTypeV2.ColumnIntentBased) {
72
+ actionReferenceType = `TableColumnAction`;
73
+ }
74
+ else {
75
+ actionReferenceType = actionTemplate !== '' ? `${actionTemplate}${actionType}` : `Action`;
76
+ actionType = types_1.ActionTypeV2.ToolBar;
77
+ }
78
+ const actionDefinition = `${actionTemplate}${actionType}<${actionId}>`;
79
+ const description = common_1.getDatafieldDescription(lineItemProps.lineItemRecord, lineItemProps.entityType);
80
+ actions['properties'][actionId] = {
81
+ $ref: common_1.DEFINITION_LINK_PREFIX + actionDefinition,
82
+ description,
83
+ propertyIndex: recordIndex
84
+ };
85
+ if (appSchema['definitions'][actionReferenceType]) {
86
+ appSchema['definitions'][actionDefinition] = Object.assign(Object.assign({}, JSON.parse(JSON.stringify(appSchema['definitions'][actionReferenceType]))), { description, annotationPath: `${lineItemProps.lineItemPath}/${recordIndex}` });
87
+ }
88
+ else {
89
+ appSchema['definitions'][actionDefinition] = {
90
+ type: 'object',
91
+ properties: {},
28
92
  description,
29
- propertyIndex: recordIndex
93
+ annotationPath: `${lineItemProps.lineItemPath}/${recordIndex}`,
94
+ isViewNode: true,
95
+ additionalProperties: false
30
96
  };
31
- const actionReferenceType = actionType === '' ? 'Action' : `${actionType}ToolBarAction`;
32
- if (appSchema['definitions'][actionReferenceType]) {
33
- appSchema['definitions'][actionDefinition] = Object.assign(Object.assign({}, JSON.parse(JSON.stringify(appSchema['definitions'][actionReferenceType]))), { description, annotationPath: `${lineItemPath}/${recordIndex}` });
34
- }
35
- else {
36
- appSchema['definitions'][actionDefinition] = {
37
- type: 'object',
38
- properties: {},
39
- description,
40
- annotationPath: lineItemPath + '/' + recordIndex,
41
- isViewNode: true,
42
- additionalProperties: false
43
- };
44
- }
45
97
  }
46
98
  }
47
99
  exports.handleActionRecord = handleActionRecord;
100
+ /**
101
+ * Returns the type of a column lineItem action
102
+ * @param lineItemId - optional: in case of OP the parameter must be passed to distinguish the OP tables;
103
+ * @param {object} lineItemRecord - actual record of the line item collection
104
+ * @param actionTypes - array of action types to be filled
105
+ */
106
+ function getColumnActionType(lineItemId, lineItemRecord, actionTypes) {
107
+ if (lineItemId !== 'LineItems' &&
108
+ lineItemRecord.Inline === true &&
109
+ (lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */ ||
110
+ lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */)) {
111
+ actionTypes.push(types_1.ActionTypeV2.OPColumn);
112
+ }
113
+ else if (lineItemRecord.Inline === true && lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */) {
114
+ actionTypes.push(types_1.ActionTypeV2.Column);
115
+ }
116
+ else if (lineItemRecord.Inline === true &&
117
+ lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */) {
118
+ actionTypes.push(types_1.ActionTypeV2.ColumnIntentBased);
119
+ }
120
+ }
121
+ /**
122
+ * Returns the type of a lineItem action
123
+ * @param {object} lineItemRecord - actual record of the line item collection
124
+ * @returns {string[] | undefined } ActionTypeV2[] - action type(s) of the lineItem
125
+ */
126
+ function getActionType(lineItemRecord, lineItemId) {
127
+ const actionTypes = [];
128
+ if (lineItemRecord.$Type !== "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */ &&
129
+ lineItemRecord.$Type !== "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */) {
130
+ return undefined;
131
+ }
132
+ if (lineItemRecord.Inline !== true &&
133
+ lineItemRecord.Determining !== true &&
134
+ lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */) {
135
+ actionTypes.push(types_1.ActionTypeV2.ToolBar);
136
+ }
137
+ else if (lineItemRecord.Inline !== true &&
138
+ lineItemRecord.Determining !== true &&
139
+ lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */) {
140
+ actionTypes.push(types_1.ActionTypeV2.ToolBarIntentBased);
141
+ }
142
+ else if (lineItemRecord.Determining === true && lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */) {
143
+ actionTypes.push(types_1.ActionTypeV2.Footer);
144
+ }
145
+ else if (lineItemRecord.Determining === true &&
146
+ lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */) {
147
+ actionTypes.push(types_1.ActionTypeV2.FooterIntentBased);
148
+ }
149
+ getColumnActionType(lineItemId, lineItemRecord, actionTypes);
150
+ return actionTypes;
151
+ }
48
152
  /**
49
153
  * Adds the line item records to the app schema (for the list report or an object page section comprising a table)
50
154
  * @param appSchema - the app specific schema that shall get enhanced
@@ -58,27 +162,54 @@ function addLineItemsType(appSchema, lineItemAnnotation, entityType, lineItemId,
58
162
  let schemaKey;
59
163
  // Add the correct lineItem definition
60
164
  lineItemId = lineItemId || 'LineItems';
61
- const { actions, lineItemPath } = common_1.addCommonLineItemDefinitions(appSchema, lineItemAnnotation, entityType, lineItemId);
165
+ const { actions, footerActions, lineItemPath } = common_1.addCommonLineItemDefinitions(appSchema, lineItemAnnotation, entityType, lineItemId);
62
166
  if (lineItemAnnotation) {
63
167
  let i = 0;
64
168
  lineItemAnnotation.forEach((lineItemRecord) => {
65
- if (lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */ ||
66
- (lineItemRecord.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */ &&
67
- (lineItemRecord.Inline !== true || lineItemRecord.Determining === true))) {
68
- handleActionRecord(appSchema, entityType, actions, lineItemPath, lineItemRecord, lineItemId, i);
69
- }
70
- else {
169
+ const lineItemProperties = { lineItemPath, lineItemRecord, lineItemId, entityType };
170
+ const actionTypes = getActionType(lineItemRecord, lineItemId);
171
+ function generateGenericColumn() {
71
172
  schemaKey = common_1.getSchemaKeyOfLineItemRecord(lineItemRecord);
72
173
  if (schemaKey) {
73
174
  appSchema['definitions'][lineItemId]['properties'][schemaKey] = {
74
- $ref: common_1.DEFINITION_LINK_PREFIX + 'TableColumn',
175
+ $ref: common_1.DEFINITION_LINK_PREFIX + common_1.DefinitionName.TableColumn,
75
176
  description: common_1.getDatafieldDescription(lineItemRecord, entityType),
76
177
  // Custom property in schema - for object properties ordering purpose
77
178
  propertyIndex: i,
78
179
  annotationPath: lineItemPath + '/' + i
79
180
  };
181
+ common_1.addDataTypeToDefinition(appSchema['definitions'][lineItemId]['properties'][schemaKey], lineItemRecord);
80
182
  }
81
183
  }
184
+ if (actionTypes) {
185
+ actionTypes.forEach((actionType) => {
186
+ switch (actionType) {
187
+ case types_1.ActionTypeV2.ToolBar:
188
+ case types_1.ActionTypeV2.ToolBarIntentBased: {
189
+ handleActionRecord(appSchema, actions, lineItemProperties, actionType, i);
190
+ break;
191
+ }
192
+ case types_1.ActionTypeV2.Footer:
193
+ case types_1.ActionTypeV2.FooterIntentBased: {
194
+ if (footerActions) {
195
+ handleActionRecord(appSchema, footerActions, lineItemProperties, actionType, i);
196
+ }
197
+ break;
198
+ }
199
+ case types_1.ActionTypeV2.Column:
200
+ case types_1.ActionTypeV2.ColumnIntentBased: {
201
+ handleActionRecord(appSchema, appSchema['definitions'][lineItemId], lineItemProperties, actionType, i);
202
+ break;
203
+ }
204
+ case types_1.ActionTypeV2.OPColumn: {
205
+ generateGenericColumn();
206
+ }
207
+ }
208
+ });
209
+ }
210
+ else {
211
+ generateGenericColumn();
212
+ }
82
213
  i++;
83
214
  });
84
215
  }
@@ -90,7 +221,7 @@ function addLineItemsType(appSchema, lineItemAnnotation, entityType, lineItemId,
90
221
  }
91
222
  exports.addLineItemsType = addLineItemsType;
92
223
  /**
93
- * Adds enum entries of posible leading properties for 'leadingProperty' property in TableCustomColumn properties.
224
+ * Adds enum entries of possible leading properties for 'leadingProperty' property in TableCustomColumn properties.
94
225
  * @param appSchema - the app specific schema that shall get enhanced
95
226
  * @param entityType - the entity type as part of the AVT ConverterOutput
96
227
  * @param definitionName - definition name of CustomColumn definition
@@ -157,9 +288,8 @@ exports.addTabkeyEnum = addTabkeyEnum;
157
288
  * @param {string} definitionName Definition name of CustomColumn definition.
158
289
  */
159
290
  function addFragmentEnum(appSchema, fragments, appId, property, definitionName) {
160
- const fragmentPropertySchema = appSchema['definitions'][definitionName] &&
161
- appSchema['definitions'][definitionName]['properties'] &&
162
- appSchema['definitions'][definitionName]['properties'][property];
291
+ var _a, _b;
292
+ const fragmentPropertySchema = (_b = (_a = appSchema['definitions'][definitionName]) === null || _a === void 0 ? void 0 : _a['properties']) === null || _b === void 0 ? void 0 : _b[property];
163
293
  if (fragments && appId && !appId.startsWith('${')) {
164
294
  const enumEntries = [];
165
295
  fragments.forEach((fragment) => {
@@ -192,23 +322,11 @@ exports.addFragmentEnum = addFragmentEnum;
192
322
  * @param {SapUiAppPageV2} page Sapui5 page object.
193
323
  * @param {object} manifest Application manifest.
194
324
  * @param {FileData[]} [fragments] Array of fragments.
195
- * @param {string} [customColumnsDefinitionName=CUSTOM_COLUMNS_DEFINITION] Definition name of Custom Columns definition.
196
- * @param {string} [customColumnDefinitionName=CUSTOM_COLUMN_DEFINITION] Definition name of Custom Column definition.
325
+ * @param {string} [customColumnsDefinitionName=DefinitionName.CustomColumns] Definition name of Custom Columns definition.
326
+ * @param {string} [customColumnDefinitionName=DefinitionName.CustomColumn] Definition name of Custom Column definition.
197
327
  */
198
- function addListReportColumnExtensions(appSchema, entityType, page, manifest, fragments, customColumnsDefinitionName = exports.CUSTOM_COLUMNS_DEFINITION, customColumnDefinitionName = exports.CUSTOM_COLUMN_DEFINITION) {
199
- if (appSchema['definitions']['LineItems']) {
200
- appSchema['definitions']['LineItems']['properties']['custom'] = {
201
- $ref: `${common_1.DEFINITION_LINK_PREFIX}${customColumnsDefinitionName}`
202
- };
203
- }
204
- appSchema['definitions'][customColumnsDefinitionName] = {
205
- type: 'array',
206
- items: {
207
- $ref: `${common_1.DEFINITION_LINK_PREFIX}${customColumnDefinitionName}`
208
- },
209
- isViewNode: true,
210
- description: 'Custom Columns'
211
- };
328
+ function addTableColumnExtensions(appSchema, entityType, page, manifest, fragments, customColumnsDefinitionName = common_1.DefinitionName.CustomColumns, customColumnDefinitionName = common_1.DefinitionName.CustomColumn) {
329
+ addCustomColumnDefinition(appSchema, customColumnsDefinitionName, customColumnDefinitionName);
212
330
  // Leading Property
213
331
  addListReportLeadingProperties(appSchema, entityType, customColumnDefinitionName);
214
332
  // Tab key property
@@ -218,7 +336,59 @@ function addListReportColumnExtensions(appSchema, entityType, page, manifest, fr
218
336
  addFragmentEnum(appSchema, fragments, appId, 'fragmentName', customColumnDefinitionName);
219
337
  addFragmentEnum(appSchema, fragments, appId, 'cellsFragmentName', customColumnDefinitionName);
220
338
  }
221
- exports.addListReportColumnExtensions = addListReportColumnExtensions;
339
+ exports.addTableColumnExtensions = addTableColumnExtensions;
340
+ /**
341
+ * Processes an anyOf definition of the generic schema
342
+ * @param propertyDefinition - current definition in the generic schema
343
+ * @param schema - the app-specific schema
344
+ * @param propertyKey - key of the single property
345
+ * @param factory - factory for creating metadata instances
346
+ * @param pageType - page type
347
+ */
348
+ function processAnyOf(propertyDefinition, schema, propertyKey, factory, pageType) {
349
+ propertyDefinition['anyOf'].forEach((element) => {
350
+ const nextDefinition = common_1.getNextTargetDefinition(schema, '', {}, element, propertyKey, factory, pageType);
351
+ if (nextDefinition) {
352
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
353
+ processMetadata(schema, nextDefinition.targetDefinition, nextDefinition.configObject, pageType, factory);
354
+ }
355
+ });
356
+ }
357
+ /**
358
+ * Processes an object reference of the generic schema
359
+ * @param schema
360
+ * @param propertyDefinition - current definition in the generic schema
361
+ * @param propertyKey - key of the single property
362
+ * @param factory - factory for creating metadata instances
363
+ * @param pageType - page type
364
+ */
365
+ function processObject(schema, propertyDefinition, propertyKey, factory, pageType) {
366
+ const nextDefinition = common_1.getNextTargetDefinition(schema, '', {}, propertyDefinition, propertyKey, factory, pageType);
367
+ if (nextDefinition) {
368
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
369
+ processMetadata(schema, nextDefinition.targetDefinition, nextDefinition.configObject, pageType, factory);
370
+ }
371
+ }
372
+ /**
373
+ * Determines the artifact type of a property and adds it to the property definition in schema
374
+ * @param syncRule - sync rule of the current property
375
+ * @param propertyDefinition - current definition in the generic schema
376
+ */
377
+ function addArtifactType(syncRule, propertyDefinition) {
378
+ if (syncRule.manifest !== undefined) {
379
+ propertyDefinition.artifactType = common_1.ArtifactType.Manifest;
380
+ }
381
+ else if (syncRule.flex !== undefined) {
382
+ propertyDefinition.artifactType = common_1.ArtifactType.FlexChange;
383
+ //Add control type
384
+ if (syncRule.flex.controlType) {
385
+ propertyDefinition.controlType = syncRule.flex.controlType();
386
+ }
387
+ }
388
+ else {
389
+ propertyDefinition.artifactType = common_1.ArtifactType.Annotation;
390
+ }
391
+ }
222
392
  /**
223
393
  * After the generation of a generic schema, apply post-generation rule to a single property
224
394
  * @param metaDataDefinition
@@ -238,35 +408,13 @@ function processSingleProperty(metaDataDefinition, schema, pageType, factory, pr
238
408
  propertyDefinition = schemaDefinition['properties'][propertyKey];
239
409
  }
240
410
  //Add artifact type
241
- if (syncRule.manifest !== undefined) {
242
- propertyDefinition.artifactType = common_1.ArtifactType.Manifest;
243
- }
244
- else if (syncRule.flex !== undefined) {
245
- propertyDefinition.artifactType = common_1.ArtifactType.FlexChange;
246
- //Add control type
247
- if (syncRule.flex.controlType) {
248
- propertyDefinition.controlType = syncRule.flex.controlType();
249
- }
250
- }
251
- else {
252
- propertyDefinition.artifactType = common_1.ArtifactType.Annotation;
253
- }
411
+ addArtifactType(syncRule, propertyDefinition);
254
412
  }
255
413
  if (propertyDefinition.type === 'object' || propertyDefinition.$ref) {
256
- const nextDefinition = common_1.getNextTargetDefinition(schema, '', {}, propertyDefinition, propertyKey, factory, pageType);
257
- if (nextDefinition) {
258
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
259
- processMetadata(schema, nextDefinition.targetDefinition, nextDefinition.configObject, pageType, factory);
260
- }
414
+ processObject(schema, propertyDefinition, propertyKey, factory, pageType);
261
415
  }
262
416
  else if (propertyDefinition['anyOf']) {
263
- propertyDefinition['anyOf'].forEach((element) => {
264
- const nextDefinition = common_1.getNextTargetDefinition(schema, '', {}, element, propertyKey, factory, pageType);
265
- if (nextDefinition) {
266
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
267
- processMetadata(schema, nextDefinition.targetDefinition, nextDefinition.configObject, pageType, factory);
268
- }
269
- });
417
+ processAnyOf(propertyDefinition, schema, propertyKey, factory, pageType);
270
418
  }
271
419
  }
272
420
  }
@@ -281,36 +429,18 @@ function processProperties(schema, schemaDefinition, metaDataDefinition, propert
281
429
  if (schemaDefinition[propertiesSection]) {
282
430
  for (const propertyKey in schemaDefinition[propertiesSection]) {
283
431
  if (propertyKey === 'anyOf') {
284
- schemaDefinition[propertiesSection]['anyOf'].forEach((element) => {
285
- const nextDefinition = common_1.getNextTargetDefinition(schema, '', {}, element, propertyKey, factory, pageType);
286
- if (nextDefinition) {
287
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
288
- processMetadata(schema, nextDefinition.targetDefinition, nextDefinition.configObject, pageType, factory);
289
- }
290
- });
432
+ processAnyOf(schemaDefinition[propertiesSection], schema, propertyKey, factory, pageType);
291
433
  }
292
434
  else {
293
435
  const propertyDefinition = schemaDefinition[propertiesSection][propertyKey];
294
436
  if (propertyDefinition['anyOf']) {
295
- propertyDefinition['anyOf'].forEach((element) => {
296
- const nextDefinition = common_1.getNextTargetDefinition(schema, '', {}, element, propertyKey, factory, pageType);
297
- if (nextDefinition) {
298
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
299
- processMetadata(schema, nextDefinition.targetDefinition, nextDefinition.configObject, pageType, factory);
300
- }
301
- });
437
+ processAnyOf(propertyDefinition, schema, propertyKey, factory, pageType);
438
+ }
439
+ else if (propertyKey === '$ref') {
440
+ processObject(schema, schemaDefinition[propertiesSection], propertyKey, factory, pageType);
302
441
  }
303
442
  else {
304
- if (propertyKey === '$ref') {
305
- const nextDefinition = common_1.getNextTargetDefinition(schema, '', {}, schemaDefinition[propertiesSection], propertyKey, factory, pageType);
306
- if (nextDefinition) {
307
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
308
- processMetadata(schema, nextDefinition.targetDefinition, nextDefinition.configObject, pageType, factory);
309
- }
310
- }
311
- else {
312
- processSingleProperty(metaDataDefinition, schema, pageType, factory, propertyDefinition, propertyKey, schemaDefinition);
313
- }
443
+ processSingleProperty(metaDataDefinition, schema, pageType, factory, propertyDefinition, propertyKey, schemaDefinition);
314
444
  }
315
445
  }
316
446
  }
@@ -335,8 +465,8 @@ exports.processMetadata = processMetadata;
335
465
  * @param {Array<unknown>} valuesToRemove Array of values to remove.
336
466
  */
337
467
  function removeElementsFromEnum(values, valuesToRemove) {
338
- for (let i = 0; i < valuesToRemove.length; i++) {
339
- const index = values.indexOf(valuesToRemove[i]);
468
+ for (const value of valuesToRemove) {
469
+ const index = values.indexOf(value);
340
470
  if (index !== -1) {
341
471
  // Value exists - remove it
342
472
  values.splice(index, 1);
@@ -344,4 +474,46 @@ function removeElementsFromEnum(values, valuesToRemove) {
344
474
  }
345
475
  }
346
476
  exports.removeElementsFromEnum = removeElementsFromEnum;
477
+ /**
478
+ * Adds the selection fields to the app schema, as properties of the Filterbar
479
+ * @param entityType - the entity type as part of the AVT ConverterOutput
480
+ * @param appSchema - the app specific schema that shall get enhanced
481
+ * @param selectionFieldsAnnotation - the UI.SelectionField annotation
482
+ */
483
+ function addSelectionFields(appSchema, selectionFieldsAnnotation, entityType) {
484
+ const selectionFieldsDefinition = (appSchema['definitions'].SelectionFields = Object.assign(Object.assign({}, appSchema['definitions'].SelectionFields), { properties: {}, additionalProperties: false, annotationPath: common_1.createAnnotationPath(entityType.fullyQualifiedName, "com.sap.vocabularies.UI.v1.SelectionFields" /* SelectionFields */) }));
485
+ if (!selectionFieldsAnnotation) {
486
+ return;
487
+ }
488
+ let i = 0;
489
+ selectionFieldsAnnotation.forEach((selectionField) => {
490
+ let description = selectionField.value;
491
+ const fieldDefinition = `SelectionField<${common_1.prepareRef(selectionField.value)}>`;
492
+ const dataType = common_1.determineDataType(selectionField);
493
+ if (selectionField.type === 'PropertyPath') {
494
+ description = common_1.getLabelForPropertyPath(selectionField, entityType);
495
+ }
496
+ selectionFieldsDefinition['properties'][selectionField.value] = {
497
+ $ref: common_1.DEFINITION_LINK_PREFIX + fieldDefinition,
498
+ propertyIndex: i
499
+ };
500
+ appSchema['definitions'][fieldDefinition] = {
501
+ type: 'object',
502
+ description,
503
+ annotationPath: `${selectionFieldsDefinition.annotationPath}/${i}`,
504
+ isViewNode: true,
505
+ additionalProperties: false,
506
+ annotationType: selectionField === null || selectionField === void 0 ? void 0 : selectionField.type,
507
+ dataType
508
+ };
509
+ if (['Date', 'DateTime', 'DateTimeOffset'].includes(dataType)) {
510
+ appSchema['definitions'][fieldDefinition]['$ref'] = `${common_1.DEFINITION_LINK_PREFIX}SelectionFieldDateSettings`;
511
+ }
512
+ else {
513
+ appSchema['definitions'][fieldDefinition].properties = {};
514
+ }
515
+ i++;
516
+ });
517
+ }
518
+ exports.addSelectionFields = addSelectionFields;
347
519
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/sync/v2/generate/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/sync/v2/generate/utils.ts"],"names":[],"mappings":"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"}