@sap/ux-specification 1.90.18 → 1.90.21

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 (198) hide show
  1. package/CHANGELOG.md +65 -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 +149 -15
  15. package/dist/schemas/v2/ListReportConfig.json +149 -15
  16. package/dist/schemas/v2/ObjectPageConfig.json +89 -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 +70 -109
  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/Table.d.ts +8 -1
  40. package/dist/src/specification/v2/controls/Table.js.map +1 -1
  41. package/dist/src/specification/v2/controls/ToolBar.d.ts +1 -8
  42. package/dist/src/specification/v2/controls/index.d.ts +1 -2
  43. package/dist/src/specification/v2/controls/index.js.map +1 -1
  44. package/dist/src/specification/v2/pages/AnalyticalListPageConfig.d.ts +2 -1
  45. package/dist/src/specification/v2/pages/ListReportConfig.d.ts +2 -1
  46. package/dist/src/specification/v2/pages/OverviewPageConfig.d.ts +36 -2
  47. package/dist/src/specification/v2/pages/OverviewPageConfig.js.map +1 -1
  48. package/dist/src/specification/v4/controls/ObjectPageFooter.d.ts +2 -2
  49. package/dist/src/specification/v4/controls/ObjectPageHeaderSection.d.ts +2 -14
  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 +33 -0
  66. package/dist/src/sync/common/generate/utils.js +123 -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 +11 -3
  78. package/dist/src/sync/common/utils.js +147 -69
  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 +5 -5
  95. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +15 -18
  96. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +1 -1
  97. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js +6 -4
  98. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js.map +1 -1
  99. package/dist/src/sync/v2/export/controls/TableColumn.d.ts +18 -2
  100. package/dist/src/sync/v2/export/controls/TableColumn.js +126 -1
  101. package/dist/src/sync/v2/export/controls/TableColumn.js.map +1 -1
  102. package/dist/src/sync/v2/export/export.js +140 -112
  103. package/dist/src/sync/v2/export/export.js.map +1 -1
  104. package/dist/src/sync/v2/export/manifest.js +2 -5
  105. package/dist/src/sync/v2/export/manifest.js.map +1 -1
  106. package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts +2 -1
  107. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js +3 -0
  108. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js.map +1 -1
  109. package/dist/src/sync/v2/export/pages/ListReport.d.ts +2 -1
  110. package/dist/src/sync/v2/export/pages/ListReport.js +3 -0
  111. package/dist/src/sync/v2/export/pages/ListReport.js.map +1 -1
  112. package/dist/src/sync/v2/export/pages/OverviewPage.d.ts +2 -1
  113. package/dist/src/sync/v2/export/pages/OverviewPage.js +32 -2
  114. package/dist/src/sync/v2/export/pages/OverviewPage.js.map +1 -1
  115. package/dist/src/sync/v2/export/view-controller-generator.d.ts +16 -21
  116. package/dist/src/sync/v2/export/view-controller-generator.js +20 -36
  117. package/dist/src/sync/v2/export/view-controller-generator.js.map +1 -1
  118. package/dist/src/sync/v2/generate/analyticalListReport.js +14 -6
  119. package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -1
  120. package/dist/src/sync/v2/generate/listReport.js +13 -4
  121. package/dist/src/sync/v2/generate/listReport.js.map +1 -1
  122. package/dist/src/sync/v2/generate/objectPage.d.ts +1 -5
  123. package/dist/src/sync/v2/generate/objectPage.js +16 -42
  124. package/dist/src/sync/v2/generate/objectPage.js.map +1 -1
  125. package/dist/src/sync/v2/generate/utils.d.ts +22 -11
  126. package/dist/src/sync/v2/generate/utils.js +282 -110
  127. package/dist/src/sync/v2/generate/utils.js.map +1 -1
  128. package/dist/src/sync/v2/import/common/index.d.ts +22 -4
  129. package/dist/src/sync/v2/import/common/index.js +237 -27
  130. package/dist/src/sync/v2/import/common/index.js.map +1 -1
  131. package/dist/src/sync/v2/import/controls/table.js +3 -2
  132. package/dist/src/sync/v2/import/controls/table.js.map +1 -1
  133. package/dist/src/sync/v2/import/pages/analyticalListPage.js +36 -5
  134. package/dist/src/sync/v2/import/pages/analyticalListPage.js.map +1 -1
  135. package/dist/src/sync/v2/import/pages/listReport.d.ts +0 -5
  136. package/dist/src/sync/v2/import/pages/listReport.js +21 -122
  137. package/dist/src/sync/v2/import/pages/listReport.js.map +1 -1
  138. package/dist/src/sync/v2/import/pages/objectPage.js +200 -107
  139. package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -1
  140. package/dist/src/sync/v2/import/utils.d.ts +4 -6
  141. package/dist/src/sync/v2/import/utils.js +43 -11
  142. package/dist/src/sync/v2/import/utils.js.map +1 -1
  143. package/dist/src/sync/v2/types.d.ts +8 -1
  144. package/dist/src/sync/v2/types.js +8 -1
  145. package/dist/src/sync/v2/types.js.map +1 -1
  146. package/dist/src/sync/v4/application.d.ts +1 -1
  147. package/dist/src/sync/v4/application.js +1 -1
  148. package/dist/src/sync/v4/application.js.map +1 -1
  149. package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.js +3 -3
  150. package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.js.map +1 -1
  151. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts +3 -7
  152. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js +2 -25
  153. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js.map +1 -1
  154. package/dist/src/sync/v4/export/controls/TableColumn.d.ts +1 -6
  155. package/dist/src/sync/v4/export/controls/TableColumn.js +0 -33
  156. package/dist/src/sync/v4/export/controls/TableColumn.js.map +1 -1
  157. package/dist/src/sync/v4/export/controls/ToolBar.d.ts +5 -1
  158. package/dist/src/sync/v4/export/controls/ToolBar.js +3 -0
  159. package/dist/src/sync/v4/export/controls/ToolBar.js.map +1 -1
  160. package/dist/src/sync/v4/export/export.js +20 -16
  161. package/dist/src/sync/v4/export/export.js.map +1 -1
  162. package/dist/src/sync/v4/export/manifest.d.ts +1 -1
  163. package/dist/src/sync/v4/export/manifest.js +43 -31
  164. package/dist/src/sync/v4/export/manifest.js.map +1 -1
  165. package/dist/src/sync/v4/export/pages/AnalyticalListPage.d.ts +2 -2
  166. package/dist/src/sync/v4/export/pages/ListReport.d.ts +2 -2
  167. package/dist/src/sync/v4/export/pages/ObjectPage.d.ts +2 -2
  168. package/dist/src/sync/v4/export/types.d.ts +3 -0
  169. package/dist/src/sync/v4/generate/generate.d.ts +4 -2
  170. package/dist/src/sync/v4/generate/generate.js +15 -6
  171. package/dist/src/sync/v4/generate/generate.js.map +1 -1
  172. package/dist/src/sync/v4/generate/listReport.d.ts +7 -6
  173. package/dist/src/sync/v4/generate/listReport.js +50 -34
  174. package/dist/src/sync/v4/generate/listReport.js.map +1 -1
  175. package/dist/src/sync/v4/generate/objectPage.js +94 -90
  176. package/dist/src/sync/v4/generate/objectPage.js.map +1 -1
  177. package/dist/src/sync/v4/import/pages/analyticalListPage.d.ts +2 -2
  178. package/dist/src/sync/v4/import/pages/analyticalListPage.js +0 -1
  179. package/dist/src/sync/v4/import/pages/analyticalListPage.js.map +1 -1
  180. package/dist/src/sync/v4/import/pages/listReport.d.ts +3 -3
  181. package/dist/src/sync/v4/import/pages/listReport.js +34 -23
  182. package/dist/src/sync/v4/import/pages/listReport.js.map +1 -1
  183. package/dist/src/sync/v4/import/pages/objectPage.d.ts +2 -2
  184. package/dist/src/sync/v4/import/pages/objectPage.js +21 -16
  185. package/dist/src/sync/v4/import/pages/objectPage.js.map +1 -1
  186. package/dist/src/sync/v4/import/utils.js +6 -5
  187. package/dist/src/sync/v4/import/utils.js.map +1 -1
  188. package/dist/src/sync/v4/utils/utils.d.ts +14 -1
  189. package/dist/src/sync/v4/utils/utils.js +62 -26
  190. package/dist/src/sync/v4/utils/utils.js.map +1 -1
  191. package/dist/test/unit/utils.test.d.ts +1 -1
  192. package/package.json +5 -8
  193. package/dist/src/specification/v2/controls/ObjectPageFooter.d.ts +0 -11
  194. package/dist/src/specification/v2/controls/ObjectPageFooter.js.map +0 -1
  195. package/dist/src/specification/v2/controls/ObjectPageFooterAction.d.ts +0 -28
  196. package/dist/src/specification/v2/controls/ObjectPageFooterAction.js +0 -3
  197. package/dist/src/specification/v2/controls/ObjectPageFooterAction.js.map +0 -1
  198. package/dist/test/test-utils/metadataParser.d.ts +0 -19
@@ -1,5 +1,5 @@
1
- import { AnnotationPathAsObject, TableCreationModeType, TableCustomColumns, TableSettings } from '../controls';
2
- import { ObjectPageTableColumnAction, TableColumn } from '../webapp/manifest/ManifestSettings';
1
+ import { AnnotationPathAsObject, TableCreationModeType, TableSettings } from '../controls';
2
+ import { ObjectPageTableColumn as ObjectPageTableColumnIF, ObjectPageTableColumnAction } from '../webapp/manifest/ManifestSettings';
3
3
  import { ObjectPageToolBar } from './ObjectPageToolBar';
4
4
  /**
5
5
  * Table
@@ -68,8 +68,8 @@ export interface QuickVariantSelectionV4OP {
68
68
  */
69
69
  showCounts?: boolean;
70
70
  }
71
- interface GenericColumns {
72
- [key: string]: TableColumn | ObjectPageTableColumnAction | TableCustomColumns;
71
+ export interface GenericColumnsOP {
72
+ [key: string]: ObjectPageTableColumnIF | ObjectPageTableColumnAction;
73
73
  }
74
74
  export interface TableSettingsOP extends TableSettings {
75
75
  /**
@@ -86,6 +86,5 @@ export interface TableSettingsOP extends TableSettings {
86
86
  * With quickVariantSelection you can switch on the multiple view feature (single table mode). It links to SelectionVariant (filters) or SelectionPresentationVariant (filters and sorters) you must have added to your annotations beforehand.
87
87
  */
88
88
  quickVariantSelection?: QuickVariantSelectionV4OP;
89
- columns?: GenericColumns;
89
+ columns?: GenericColumnsOP;
90
90
  }
91
- export {};
@@ -1,4 +1,4 @@
1
- import { TableColumn, TableColumnAction, TableCustomColumn } from './../webapp/manifest/ManifestSettings';
1
+ import { TableColumn, TableColumnAction } from './../webapp/manifest/ManifestSettings';
2
2
  import { ToolBar } from './ToolBar';
3
3
  export declare enum SelectionMode {
4
4
  Multi = "Multi",
@@ -81,13 +81,8 @@ export interface MultiTableModeV4 {
81
81
  */
82
82
  showCounts?: boolean;
83
83
  }
84
- /**
85
- * Custom Columns
86
- * @isViewNode true
87
- */
88
- export declare type TableCustomColumns = Array<TableCustomColumn>;
89
84
  export interface GenericColumns {
90
- [key: string]: TableColumn | TableColumnAction | TableCustomColumns;
85
+ [key: string]: TableColumn | TableColumnAction;
91
86
  }
92
87
  export interface TableSettings<COLS = GenericColumns> {
93
88
  /**
@@ -3,7 +3,7 @@ export declare enum Placement {
3
3
  Before = "Before",
4
4
  End = "End"
5
5
  }
6
- export declare type Position = {
6
+ export interface Position {
7
7
  /**
8
8
  * The key of another column to be used as placement anchor.
9
9
  */
@@ -12,7 +12,7 @@ export declare type Position = {
12
12
  * Define the placement, either before or after the anchor column.
13
13
  */
14
14
  placement: Placement;
15
- };
15
+ }
16
16
  export declare type Positionable = {
17
17
  /**
18
18
  * Defines the position of the column relative to other columns.
@@ -44,11 +44,16 @@ export declare enum Availability {
44
44
  'Adaptation' = "Adaptation",
45
45
  'Hidden' = "Hidden"
46
46
  }
47
+ export declare enum HorizontalAlign {
48
+ 'Begin' = "Begin",
49
+ 'Center' = "Center",
50
+ 'End' = "End"
51
+ }
47
52
  /**
48
53
  * Table Column
49
54
  * @isViewNode true
50
55
  */
51
- export declare type TableColumn = {
56
+ export interface TableColumn {
52
57
  /**
53
58
  * A string type that represents CSS size values.
54
59
  * Refer to https://openui5.hana.ondemand.com/api/sap.ui.core.CSSSize.
@@ -61,29 +66,58 @@ export declare type TableColumn = {
61
66
  * Hidden: the column is neither available in the table nor in adaptation.
62
67
  */
63
68
  availability?: Availability;
64
- };
69
+ }
70
+ /**
71
+ * Table Column
72
+ * @isViewNode true
73
+ */
74
+ export interface ObjectPageTableColumn {
75
+ /**
76
+ * A string type that represents CSS size values.
77
+ * Refer to https://openui5.hana.ondemand.com/api/sap.ui.core.CSSSize.
78
+ */
79
+ width?: string;
80
+ /**
81
+ * Defines where the column should be shown.
82
+ * Default: it will be shown by default in the table.
83
+ * Adaptation: it will initially not shown in the table but be available via end user adaptation.
84
+ * Hidden: the column is neither available in the table nor in adaptation.
85
+ */
86
+ availability?: Availability;
87
+ }
65
88
  /**
66
89
  * Inline Action
67
90
  * @isViewNode true
68
91
  */
69
- export declare type TableColumnAction = TableColumn & {
92
+ export interface TableColumnAction extends TableColumn {
70
93
  /**
71
94
  * Settings that are only relevant for actions (associated with a UI.DataFieldForAction annotation)
72
95
  */
73
96
  afterExecution?: ActionAfterExecutionConfiguration;
74
- };
97
+ }
98
+ export declare type ColumnPropertiesType = string[];
75
99
  /**
76
100
  * Inline Action for Object Page
77
101
  * @isViewNode true
78
102
  */
79
- export declare type ObjectPageTableColumnAction = TableColumn;
103
+ export interface ObjectPageTableColumnAction extends TableColumn {
104
+ /**
105
+ * Settings that are only relevant for actions (associated with a UI.DataFieldForAction annotation)
106
+ */
107
+ afterExecution?: ActionAfterExecutionConfigurationOP;
108
+ }
80
109
  /**
81
110
  * Custom Column
82
111
  * @isViewNode true
83
112
  */
84
- export declare type TableCustomColumn = Positionable & {
113
+ export interface TableCustomColumn {
114
+ /**
115
+ * Defines the position of the column relative to other columns.
116
+ */
117
+ position?: Position;
85
118
  /**
86
119
  * The header is shown on the table as header, as well as in the add/remove dialog.
120
+ * @i18nClassification COL: Custom column header text
87
121
  */
88
122
  header: string;
89
123
  /**
@@ -94,5 +128,20 @@ export declare type TableCustomColumn = Positionable & {
94
128
  /**
95
129
  * Relevant for extension columns; allows the definition of a target fragment.
96
130
  */
97
- template?: string;
98
- };
131
+ template: string;
132
+ /**
133
+ * Aligns the header as well as the content horizontally.
134
+ */
135
+ horizontalAlign?: HorizontalAlign;
136
+ /**
137
+ * Defines where the column should be shown.
138
+ * - Default: it will be shown by default in the table.
139
+ * - Adaptation: it will initially not shown in the table but be available via end user adaptation
140
+ * - Hidden: the column is neither available in the table nor in adaptation
141
+ */
142
+ availability?: Availability;
143
+ /**
144
+ * If provided and sorting is enabled for the table the custom column header can be clicked. This will lead to a list of properties (or one) that can be sorted by, they are displayed as the labels of the properties, corresponding to their definition in the annotations.
145
+ */
146
+ properties?: ColumnPropertiesType;
147
+ }
@@ -13,4 +13,10 @@ var Availability;
13
13
  Availability["Adaptation"] = "Adaptation";
14
14
  Availability["Hidden"] = "Hidden";
15
15
  })(Availability = exports.Availability || (exports.Availability = {}));
16
+ var HorizontalAlign;
17
+ (function (HorizontalAlign) {
18
+ HorizontalAlign["Begin"] = "Begin";
19
+ HorizontalAlign["Center"] = "Center";
20
+ HorizontalAlign["End"] = "End";
21
+ })(HorizontalAlign = exports.HorizontalAlign || (exports.HorizontalAlign = {}));
16
22
  //# sourceMappingURL=ManifestSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ManifestSettings.js","sourceRoot":"","sources":["../../../../../../src/specification/v4/webapp/manifest/ManifestSettings.ts"],"names":[],"mappings":";;AAAA,oCAAoC;AACpC,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,4BAAe,CAAA;IACf,8BAAiB,CAAA;IACjB,wBAAW,CAAA;AACf,CAAC,EAJW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAIpB;AA0CD,IAAY,YAIX;AAJD,WAAY,YAAY;IACpB,mCAAqB,CAAA;IACrB,yCAA2B,CAAA;IAC3B,iCAAmB,CAAA;AACvB,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB"}
1
+ {"version":3,"file":"ManifestSettings.js","sourceRoot":"","sources":["../../../../../../src/specification/v4/webapp/manifest/ManifestSettings.ts"],"names":[],"mappings":";;AAAA,oCAAoC;AACpC,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,4BAAe,CAAA;IACf,8BAAiB,CAAA;IACjB,wBAAW,CAAA;AACf,CAAC,EAJW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAIpB;AA0CD,IAAY,YAIX;AAJD,WAAY,YAAY;IACpB,mCAAqB,CAAA;IACrB,yCAA2B,CAAA;IAC3B,iCAAmB,CAAA;AACvB,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB;AAED,IAAY,eAIX;AAJD,WAAY,eAAe;IACvB,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;IACnB,8BAAa,CAAA;AACjB,CAAC,EAJW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"appProvider.js","sourceRoot":"","sources":["../../../../src/sync/common/appProvider.ts"],"names":[],"mappings":";;AAAA,uDAMoC;AAKpC,mCAAmD;AACnD,mCAA4C;AAC5C,mEAA8D;AAO9D,MAAsB,WAAW;IAO7B,YACI,QAAiC,EACjC,OAAc,EACd,IAAY,EACZ,KAAgB,EAChB,OAA6B,EAC7B,QAAwC,EACxC,MAAwB;QAV5B,yDAAyD;QAClD,yBAAoB,GAAkB,EAAE,CAAC;QAW5C,MAAM,UAAU,GAAG,yBAAiB,CAAC,yBAAU,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,mBACJ,OAAO,EAAE,UAAU,CAAC,IAAI,EACxB,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAC1B,KAAK;YACL,IAAI,EACJ,MAAM,EAAE;gBACJ,aAAa,EAAE,OAAO;gBACtB,KAAK,EAAE,OAAO,KAAK,6BAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAY,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAY,CAAC,EAAE;aACjF,IACE,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC,CAChC,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACI,iBAAiB;QACpB,MAAM,WAAW,GAAU,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAU,EAAE,CAAC;QAC5B,IAAI,IAAqB,CAAC;QAC1B,oCAAoC;QACpC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;YACjC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,MAAM,UAAU,GAAG,yBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBACpE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;oBACnC,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC;iBACpC;qBAAM;oBACH,MAAM,iBAAiB,GAAG,yBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC3D,MAAM,CAAC,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC;iBAC3C;gBACD,WAAW,CAAC,GAAG,eAAO,CAAC,KAAK,IAAI,MAAM,OAAO,CAAC,GAAG,MAAM,CAAC;aAC3D;SACJ;QACD,0CAA0C;QAC1C,MAAM,GAAG,GAAgB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE;YAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;SACnC;QACD,SAAS,CAAC,gBAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAE9B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;IACtC,CAAC;CACJ;AAnED,kCAmEC"}
1
+ {"version":3,"file":"appProvider.js","sourceRoot":"","sources":["../../../../src/sync/common/appProvider.ts"],"names":[],"mappings":";;AAAA,uDAMoC;AAGpC,mCAAmD;AACnD,mCAA4C;AAC5C,mEAA8D;AAO9D,MAAsB,WAAW;IAO7B,YACI,QAAiC,EACjC,OAAc,EACd,IAAY,EACZ,KAAgB,EAChB,OAA6B,EAC7B,QAAwC,EACxC,MAAwB;QAV5B,yDAAyD;QAClD,yBAAoB,GAAkB,EAAE,CAAC;QAW5C,MAAM,UAAU,GAAG,yBAAiB,CAAC,yBAAU,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,mBACJ,OAAO,EAAE,UAAU,CAAC,IAAI,EACxB,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAC1B,KAAK;YACL,IAAI,EACJ,MAAM,EAAE;gBACJ,aAAa,EAAE,OAAO;gBACtB,KAAK,EAAE,OAAO,KAAK,6BAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAY,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAY,CAAC,EAAE;aACjF,IACE,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC,CAChC,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACI,iBAAiB;QACpB,MAAM,WAAW,GAAU,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAU,EAAE,CAAC;QAC5B,IAAI,IAAqB,CAAC;QAC1B,oCAAoC;QACpC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;YACjC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,MAAM,UAAU,GAAG,yBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBACpE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;oBACnC,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC;iBACpC;qBAAM;oBACH,MAAM,iBAAiB,GAAG,yBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC3D,MAAM,CAAC,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC;iBAC3C;gBACD,WAAW,CAAC,GAAG,eAAO,CAAC,KAAK,IAAI,MAAM,OAAO,CAAC,GAAG,MAAM,CAAC;aAC3D;SACJ;QACD,0CAA0C;QAC1C,MAAM,GAAG,GAAgB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE;YAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;SACnC;QACD,SAAS,CAAC,gBAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAE9B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;IACtC,CAAC;CACJ;AAnED,kCAmEC"}
@@ -28,7 +28,7 @@ export declare enum BindingValue {
28
28
  NotEditable = "{= !${ui>/editable}}"
29
29
  }
30
30
  /**
31
- * Export rule for table columns
31
+ * Export rule for table columns
32
32
  * @param baseId - base ID, first part of the stable ID
33
33
  * @param idBreadcrumbs - array of ID parts
34
34
  * @param breadcrumbs - array of breadcrumbs
@@ -36,5 +36,15 @@ export declare enum BindingValue {
36
36
  * @param title - title from JSON schema, comprising the facet ID
37
37
  */
38
38
  export declare const buildColumnControlId: (baseId: string, idBreadcrumbs: string[], breadcrumbs: string[], controlType: ControlTypeFunction, title: string) => string;
39
+ /**
40
+ * Split up action breadcrumb and return different parts from it
41
+ * @param breadcrumbs - array of breadcrumbs
42
+ * @returns {object} - actionType, semanticObjectId, actionId of action
43
+ */
44
+ export declare const getActionBreadcrumbParts: (breadcrumbs: string[]) => {
45
+ actionType: string;
46
+ semanticObjectId: string;
47
+ actionId: string;
48
+ };
39
49
  export declare const addPatternForBindingChangeOfEnumLR: (schema: object, definition: object, propertyName: string) => void;
40
50
  export declare const addPatternForBindingChangeOfEnumOP: (schema: object, definition: object, propertyName: string) => void;
@@ -29,7 +29,7 @@ exports.buildControlIdForPage = (baseId, idBreadcrumbs, breadcrumbs) => {
29
29
  exports.convertSectionId = (sectionId, title) => {
30
30
  let convertedSectionId;
31
31
  const prefix = types_1.FacetTitlePrefix;
32
- if (title !== undefined) {
32
+ if (title !== undefined && title.includes(prefix)) {
33
33
  convertedSectionId = title.split(prefix)[1];
34
34
  }
35
35
  else {
@@ -55,7 +55,7 @@ var BindingValue;
55
55
  BindingValue["NotEditable"] = "{= !${ui>/editable}}";
56
56
  })(BindingValue = exports.BindingValue || (exports.BindingValue = {}));
57
57
  /**
58
- * Export rule for table columns
58
+ * Export rule for table columns
59
59
  * @param baseId - base ID, first part of the stable ID
60
60
  * @param idBreadcrumbs - array of ID parts
61
61
  * @param breadcrumbs - array of breadcrumbs
@@ -85,10 +85,14 @@ exports.buildColumnControlId = (baseId, idBreadcrumbs, breadcrumbs, controlType,
85
85
  .replace(/::com.sap.vocabularies/g, types_1.VOCWITHSLASH)
86
86
  .replace(/::@com.sap.vocabularies/g, types_1.VOCWITHSLASH);
87
87
  }
88
+ else if (idBreadcrumbs[0] === 'table') {
89
+ tableId = idBreadcrumbs[0];
90
+ }
88
91
  const lastIdPart = localBreadcrumbs[localBreadcrumbs.length - 1]
89
92
  .replace(/::com.sap.vocabularies/g, types_1.VOCWITHSLASH)
90
93
  .replace(/::@com.sap.vocabularies/g, types_1.VOCWITHSLASH)
91
- .replace('sTarget/@', 'sTarget::@');
94
+ .replace('sTarget/@', 'sTarget::@')
95
+ .replace('/', ':2f');
92
96
  let fullId;
93
97
  const splitPoint = lastIdPart.indexOf(':::');
94
98
  if (lastIdPart.startsWith('DataField') && splitPoint > -1) {
@@ -106,6 +110,28 @@ exports.buildColumnControlId = (baseId, idBreadcrumbs, breadcrumbs, controlType,
106
110
  }
107
111
  return escapeId(fullId);
108
112
  };
113
+ /**
114
+ * Split up action breadcrumb and return different parts from it
115
+ * @param breadcrumbs - array of breadcrumbs
116
+ * @returns {object} - actionType, semanticObjectId, actionId of action
117
+ */
118
+ exports.getActionBreadcrumbParts = (breadcrumbs) => {
119
+ const actionIdParts = breadcrumbs[breadcrumbs.length - 1].split(':::');
120
+ let actionType, semanticObjectId, actionId;
121
+ if (actionIdParts.length > 2) {
122
+ actionType = actionIdParts[0];
123
+ semanticObjectId = actionIdParts[1].split('::')[1];
124
+ actionId = actionIdParts[2].split('::')[1];
125
+ }
126
+ else if (actionIdParts.length === 2) {
127
+ actionType = actionIdParts[0];
128
+ actionId = actionIdParts[1].split('sAction::')[1];
129
+ }
130
+ else {
131
+ actionId = actionIdParts[0];
132
+ }
133
+ return { actionType, semanticObjectId, actionId };
134
+ };
109
135
  /**
110
136
  * Determines the valid pattern for a binding change
111
137
  * @param schemaDefinition - definition in the JSON schema
@@ -1 +1 @@
1
- {"version":3,"file":"control.js","sourceRoot":"","sources":["../../../../../src/sync/common/decoration/control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control.js","sourceRoot":"","sources":["../../../../../src/sync/common/decoration/control.ts"],"names":[],"mappings":"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"}
@@ -31,8 +31,7 @@ class MetadataFactory {
31
31
  ? this.pageTypes[pageType][controlPropertyValue]
32
32
  : this.pageTypes[pageType][schemaPropertyName];
33
33
  }
34
- const metadataInstance = metadataClass ? Object.assign(new metadataClass(), data) : data;
35
- return metadataInstance;
34
+ return metadataClass ? Object.assign(new metadataClass(), data) : data;
36
35
  }
37
36
  /**
38
37
  * Creates an instance of a metadata class for a given page
@@ -42,8 +41,7 @@ class MetadataFactory {
42
41
  */
43
42
  createPageInstance(pageType, data) {
44
43
  const metadataClass = this.pages[pageType];
45
- const metadataInstance = metadataClass ? Object.assign(new metadataClass(), data) : null;
46
- return metadataInstance;
44
+ return Object.assign(new metadataClass(), data);
47
45
  }
48
46
  }
49
47
  exports.MetadataFactory = MetadataFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../src/sync/common/decoration/factory.ts"],"names":[],"mappings":";;AAiBA,MAAsB,eAAe;IAKjC;;;;;OAKG;IACH,YAAsB,QAAiC,EAAE,KAAwB,EAAE,SAAiB;QAChG,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED;;;;;;;;;OASG;IACH,cAAc,CACV,QAA+B,EAC/B,kBAA0B,EAC1B,IAAa,EACb,oBAA6B;QAE7B,IAAI,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,EAAE;YAChB,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC;gBAC1D,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC;gBAChD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC;SACtD;QACD,MAAM,gBAAgB,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,aAAa,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEzF,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IACD;;;;;OAKG;IACH,kBAAkB,CAAC,QAA+B,EAAE,IAAa;QAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,gBAAgB,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,aAAa,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEzF,OAAO,gBAAgB,CAAC;IAC5B,CAAC;CACJ;AAzDD,0CAyDC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../src/sync/common/decoration/factory.ts"],"names":[],"mappings":";;AAiBA,MAAsB,eAAe;IAKjC;;;;;OAKG;IACH,YAAsB,QAAiC,EAAE,KAAwB,EAAE,SAAiB;QAChG,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED;;;;;;;;;OASG;IACH,cAAc,CACV,QAA+B,EAC/B,kBAA0B,EAC1B,IAAa,EACb,oBAA6B;QAE7B,IAAI,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,EAAE;YAChB,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC;gBAC1D,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC;gBAChD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC;SACtD;QACD,OAAO,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,aAAa,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,CAAC;IACD;;;;;OAKG;IACH,kBAAkB,CAAC,QAA+B,EAAE,IAAa;QAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,aAAa,EAAE,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;CACJ;AArDD,0CAqDC"}
@@ -1,12 +1,14 @@
1
1
  import { ConverterOutput, EntityType } from '@sap-ux/vocabularies-types';
2
2
  import { FioriElementsVersion } from '../../../specification/common';
3
3
  import { FacetConfig, SectionType } from '..';
4
+ import { EntitySet } from '@sap-ux/annotation-converter';
4
5
  /**
5
6
  * Adds definitions for forms in object page sections to the app schema
6
7
  * @param {SectionType} sectionType - prefix to distinguish Section and HeaderSection
7
8
  * @param {FacetConfig} section - facet or section in the FE core model
8
9
  * @param {object} appSchemaSection - current definition of facet or section in the JSON schema
9
10
  * @param {object} appSchema - app specific schema that gets enhanced
11
+ * @param {FioriElementsVersion} version - Fiori Elements version
10
12
  */
11
13
  export declare function handleForm(sectionType: SectionType, section: FacetConfig, appSchemaSection: object, appSchema: object, version: FioriElementsVersion, withActions?: boolean): void;
12
14
  /**
@@ -47,3 +49,10 @@ export declare function addHeaderActions(appSchema: object, entityType: EntityTy
47
49
  * @param entityType - current entity Type
48
50
  */
49
51
  export declare function addCommonHeaderSchema(appSchema: object, entityType: EntityType): void;
52
+ /**
53
+ * Common logic to determine the EntitySet of a facet
54
+ * @param facet - current facet or section
55
+ * @param serviceAVT - AVT converter output, comprising all annotation information
56
+ * @returns the entity set as defined in AVT, if found
57
+ */
58
+ export declare function determineEntitySetOfFacet(facet: FacetConfig, serviceAVT: ConverterOutput): EntitySet | undefined;
@@ -3,6 +3,57 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const StableIdHelper_1 = require("../../v4/utils/StableIdHelper");
4
4
  const common_1 = require("../../../specification/common");
5
5
  const __1 = require("..");
6
+ /**
7
+ * Copies the field properties from the generic definition to the specific field definition
8
+ * @param {FioriElementsVersion} version - Fiori Elements version
9
+ * @param {object} appSchema - App schema in general
10
+ * @param {DataFieldAbstractTypes} field - field definition in parser output (AVT)
11
+ * @param {string} fieldDefinition - the unique ID for the given field definition
12
+ */
13
+ function copyFieldProperties(version, appSchema, field, fieldDefinition) {
14
+ if (version === common_1.FioriElementsVersion.v4 && appSchema['definitions']['Field']) {
15
+ switch (field.$Type) {
16
+ case "com.sap.vocabularies.UI.v1.DataField" /* DataField */:
17
+ case "com.sap.vocabularies.UI.v1.DataFieldForAnnotation" /* DataFieldForAnnotation */:
18
+ case "com.sap.vocabularies.UI.v1.DataFieldWithNavigationPath" /* DataFieldWithNavigationPath */:
19
+ case "com.sap.vocabularies.UI.v1.DataFieldWithUrl" /* DataFieldWithUrl */: {
20
+ appSchema['definitions'][fieldDefinition]['properties'] =
21
+ appSchema['definitions']['Field']['properties'];
22
+ break;
23
+ }
24
+ }
25
+ }
26
+ else if (version === common_1.FioriElementsVersion.v2 && appSchema['definitions']['Field']) {
27
+ switch (field.$Type) {
28
+ case "com.sap.vocabularies.UI.v1.DataField" /* DataField */:
29
+ case "com.sap.vocabularies.UI.v1.DataFieldForAnnotation" /* DataFieldForAnnotation */:
30
+ case "com.sap.vocabularies.UI.v1.DataFieldWithUrl" /* DataFieldWithUrl */: {
31
+ appSchema['definitions'][fieldDefinition]['properties'] =
32
+ appSchema['definitions']['Field']['properties'];
33
+ break;
34
+ }
35
+ }
36
+ }
37
+ }
38
+ /**
39
+ * Determines the name for a field definition in app schema
40
+ * @param {FioriElementsVersion} version - Fiori Elements version
41
+ * @param fieldReferenceId - the stable ID representation of the field
42
+ * @param {string} targetID - unique ID, identifies the parent object (form)
43
+ * @param fieldReference - the reference to the field definition in schema
44
+ * @returns the field definition name in schema
45
+ */
46
+ function determineFieldDefinitionName(version, fieldReferenceId, targetID, fieldReference) {
47
+ const fieldReferenceType = version === common_1.FioriElementsVersion.v2 && fieldReferenceId && fieldReferenceId.includes('::')
48
+ ? fieldReferenceId.split('::')[0].replace('DataField', 'Field')
49
+ : undefined;
50
+ if (version === common_1.FioriElementsVersion.v2) {
51
+ return `${fieldReferenceType}<${targetID}::${fieldReference}>`;
52
+ }
53
+ else {
54
+ return `${targetID}::${fieldReference}`;
55
+ }
56
+ }
6
57
  /**
7
58
  * Adds a field definition to the app specific schema
8
59
  * @param {string} sectionType - prefix to distinguish Section and HeaderSection
@@ -11,9 +62,11 @@ const __1 = require("..");
11
62
  * @param {string} targetID - unique ID, identifies the parent object (form)
12
63
  * @param {string} key - current field key
13
64
  * @param {SectionType} section - current section of the object page
65
+ * @param {FioriElementsVersion} version - Fiori Elements version
14
66
  */
15
67
  function addField(sectionType, appSchema, field, targetID, key, section, version, withActions = true) {
16
- var _a, _b, _c, _d, _e;
68
+ var _a;
69
+ // Calculate field reference
17
70
  const fieldReferenceId = StableIdHelper_1.getStableIdPartFromDataField(field);
18
71
  const fieldReference = version === common_1.FioriElementsVersion.v2 && fieldReferenceId && fieldReferenceId.includes('::')
19
72
  ? fieldReferenceId
@@ -21,20 +74,16 @@ function addField(sectionType, appSchema, field, targetID, key, section, version
21
74
  .splice(1)
22
75
  .join('::')
23
76
  : fieldReferenceId;
24
- const fieldReferenceType = version === common_1.FioriElementsVersion.v2 && fieldReferenceId && fieldReferenceId.includes('::')
25
- ? fieldReferenceId.split('::')[0].replace('DataField', 'Field')
26
- : undefined;
27
- const fieldDefinition = version === common_1.FioriElementsVersion.v2
28
- ? `${fieldReferenceType}<${targetID}::${fieldReference}>`
29
- : `${targetID}::${fieldReference}`;
30
- const fieldsDefinition = __1.prepareRef(`${sectionType}Fields<${targetID}>`);
31
- const actionsDefinition = __1.prepareRef(`${sectionType}Actions<${targetID}>`);
77
+ // Determine field definition name
78
+ const fieldDefinition = determineFieldDefinitionName(version, fieldReferenceId, targetID, fieldReference);
79
+ // Evaluate field type, set field reference of properties of fields' or actions' definition
32
80
  if (!field || !field.$Type) {
33
81
  return;
34
82
  }
35
83
  else if (field.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */ ||
36
84
  field.$Type === "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* DataFieldForIntentBasedNavigation */) {
37
85
  if (withActions && sectionType === __1.SectionType.Section) {
86
+ const actionsDefinition = __1.prepareRef(`${sectionType}Actions<${targetID}>`);
38
87
  appSchema['definitions'][actionsDefinition]['properties'][fieldReference] = {
39
88
  $ref: __1.DEFINITION_LINK_PREFIX + fieldDefinition,
40
89
  propertyIndex: parseInt(key)
@@ -42,50 +91,34 @@ function addField(sectionType, appSchema, field, targetID, key, section, version
42
91
  }
43
92
  }
44
93
  else {
94
+ const fieldsDefinition = __1.prepareRef(`${sectionType}Fields<${targetID}>`);
45
95
  appSchema['definitions'][fieldsDefinition]['properties'][fieldReference] = {
46
96
  $ref: __1.DEFINITION_LINK_PREFIX + fieldDefinition,
47
97
  propertyIndex: parseInt(key)
48
98
  };
49
99
  }
100
+ // Now set up the field definition
50
101
  appSchema['definitions'][fieldDefinition] = {
51
102
  type: 'object',
52
103
  isViewNode: true,
53
104
  properties: {},
54
105
  description: __1.getDatafieldDescription(field, section.entityType),
55
106
  additionalProperties: false,
56
- annotationType: field.$Type
107
+ annotationType: field.$Type,
108
+ annotationPath: `/${section.entityType.fullyQualifiedName}/${field.fullyQualifiedName.split(section.entityType.fullyQualifiedName)[1]}`
57
109
  };
58
- if (version === common_1.FioriElementsVersion.v4 && appSchema['definitions']['Field']) {
59
- switch (field.$Type) {
60
- case "com.sap.vocabularies.UI.v1.DataField" /* DataField */:
61
- case "com.sap.vocabularies.UI.v1.DataFieldForAnnotation" /* DataFieldForAnnotation */:
62
- case "com.sap.vocabularies.UI.v1.DataFieldWithNavigationPath" /* DataFieldWithNavigationPath */:
63
- case "com.sap.vocabularies.UI.v1.DataFieldWithUrl" /* DataFieldWithUrl */: {
64
- appSchema['definitions'][fieldDefinition]['properties'] =
65
- appSchema['definitions']['Field']['properties'];
66
- break;
67
- }
68
- }
69
- }
70
- else if (version === common_1.FioriElementsVersion.v2 && appSchema['definitions']['Field']) {
71
- switch (field.$Type) {
72
- case "com.sap.vocabularies.UI.v1.DataField" /* DataField */:
73
- case "com.sap.vocabularies.UI.v1.DataFieldForAnnotation" /* DataFieldForAnnotation */:
74
- case "com.sap.vocabularies.UI.v1.DataFieldWithUrl" /* DataFieldWithUrl */: {
75
- appSchema['definitions'][fieldDefinition]['properties'] =
76
- appSchema['definitions']['Field']['properties'];
77
- break;
78
- }
79
- }
80
- }
110
+ __1.addDataTypeToDefinition(appSchema['definitions'][fieldDefinition], field);
111
+ // Copy the generic definition of field properties to the specific one
112
+ copyFieldProperties(version, appSchema, field, fieldDefinition);
81
113
  if (field.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */ && ((_a = appSchema['definitions']) === null || _a === void 0 ? void 0 : _a['FormAction'])) {
82
114
  appSchema['definitions'][fieldDefinition]['properties'] = appSchema['definitions']['FormAction']['properties'];
83
115
  }
84
- if ((_c = (_b = field['Value']) === null || _b === void 0 ? void 0 : _b.$target) === null || _c === void 0 ? void 0 : _c.type) {
85
- appSchema['definitions'][fieldDefinition].dataType = (_e = (_d = field['Value']) === null || _d === void 0 ? void 0 : _d.$target) === null || _e === void 0 ? void 0 : _e.type.replace('Edm.', '');
86
- }
87
- appSchema['definitions'][fieldDefinition].annotationPath = `/${section.entityType.fullyQualifiedName}/${field.fullyQualifiedName.split(section.entityType.fullyQualifiedName)[1]}`;
88
116
  }
117
+ /**
118
+ * The function determines the target ID that shall be used in the app schema for a form
119
+ * @param section - object describing the section or facet
120
+ * @returns the target ID (string)
121
+ */
89
122
  function determineTargetIdOfForm(section) {
90
123
  let targetID;
91
124
  if (section.target && section.target['qualifier'] && section.entityType) {
@@ -105,6 +138,7 @@ function determineTargetIdOfForm(section) {
105
138
  * @param {FacetConfig} section - facet or section in the FE core model
106
139
  * @param {object} appSchemaSection - current definition of facet or section in the JSON schema
107
140
  * @param {object} appSchema - app specific schema that gets enhanced
141
+ * @param {FioriElementsVersion} version - Fiori Elements version
108
142
  */
109
143
  function handleForm(sectionType, section, appSchemaSection, appSchema, version, withActions = true) {
110
144
  var _a;
@@ -229,7 +263,7 @@ exports.getActionNameAndId = getActionNameAndId;
229
263
  * @param {ConverterOutput} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
230
264
  */
231
265
  function addFooterActions(appSchema, entityType, oDataServiceAVT) {
232
- appSchema['definitions']['ObjectPageFooter'] = JSON.parse(JSON.stringify(appSchema['definitions']['ObjectPageFooter<GenericFooterActions>']));
266
+ appSchema['definitions']['ObjectPageFooter'] = JSON.parse(JSON.stringify(appSchema['definitions']['ObjectPageFooter<ObjectPageFooterActions>']));
233
267
  // Change reference of footer
234
268
  appSchema['properties']['footer'] = {
235
269
  $ref: `${__1.DEFINITION_LINK_PREFIX}ObjectPageFooter`
@@ -257,9 +291,9 @@ function addFooterActions(appSchema, entityType, oDataServiceAVT) {
257
291
  if (item['Determining'] && item.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction" /* DataFieldForAction */) {
258
292
  const { actionName, actionId } = getActionNameAndId(item.Action, entityType);
259
293
  const description = item.Label || actionName;
260
- const actionDefinitionKey = __1.prepareRef(`FooterAction<${actionId}>`);
261
- if (appSchema['definitions']['FooterAction']) {
262
- appSchema['definitions'][actionDefinitionKey] = Object.assign(Object.assign({}, JSON.parse(JSON.stringify(appSchema['definitions']['FooterAction']))), { description, annotationPath: `/${convertedIdentification}/${index}` });
294
+ const actionDefinitionKey = __1.prepareRef(`ObjectPageFooterAction<${actionId}>`);
295
+ if (appSchema['definitions']['ObjectPageFooterAction']) {
296
+ appSchema['definitions'][actionDefinitionKey] = Object.assign(Object.assign({}, JSON.parse(JSON.stringify(appSchema['definitions']['ObjectPageFooterAction']))), { description, annotationPath: `/${convertedIdentification}/${index}` });
263
297
  }
264
298
  else {
265
299
  appSchema['definitions'][actionDefinitionKey] = {
@@ -279,8 +313,8 @@ function addFooterActions(appSchema, entityType, oDataServiceAVT) {
279
313
  else {
280
314
  footerActions['annotationPath'] = `/${entityType.fullyQualifiedName}/@${"com.sap.vocabularies.UI.v1.Identification" /* Identification */}`;
281
315
  }
282
- delete appSchema['definitions']['GenericFooterActions'];
283
- delete appSchema['definitions']['ObjectPageFooter<GenericFooterActions>'];
316
+ delete appSchema['definitions']['ObjectPageFooterActions'];
317
+ delete appSchema['definitions']['ObjectPageFooter<ObjectPageFooterActions>'];
284
318
  }
285
319
  exports.addFooterActions = addFooterActions;
286
320
  /**
@@ -333,4 +367,16 @@ function addCommonHeaderSchema(appSchema, entityType) {
333
367
  appSchema['definitions']['ObjectPageHeader'].annotationPath = `/${entityType.fullyQualifiedName}/@${"com.sap.vocabularies.UI.v1.HeaderInfo" /* HeaderInfo */}`;
334
368
  }
335
369
  exports.addCommonHeaderSchema = addCommonHeaderSchema;
370
+ /**
371
+ * Common logic to determine the EntitySet of a facet
372
+ * @param facet - current facet or section
373
+ * @param serviceAVT - AVT converter output, comprising all annotation information
374
+ * @returns the entity set as defined in AVT, if found
375
+ */
376
+ function determineEntitySetOfFacet(facet, serviceAVT) {
377
+ return facet.entityType
378
+ ? serviceAVT.entitySets.find((es) => es.entityType.name === facet.entityType.name || es.name === facet.entityType.name)
379
+ : undefined;
380
+ }
381
+ exports.determineEntitySetOfFacet = determineEntitySetOfFacet;
336
382
  //# sourceMappingURL=objectPage.js.map