@open-rap/compiler 0.0.0-stage → 0.1.1

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 (227) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +21 -2
  3. package/dist/agent/server.d.ts +35 -0
  4. package/dist/agent/server.js +408 -0
  5. package/dist/agent/server.js.map +1 -0
  6. package/dist/authoring/abapgit.d.ts +38 -0
  7. package/dist/authoring/abapgit.js +242 -0
  8. package/dist/authoring/abapgit.js.map +1 -0
  9. package/dist/authoring/catalog.d.ts +48 -0
  10. package/dist/authoring/catalog.js +117 -0
  11. package/dist/authoring/catalog.js.map +1 -0
  12. package/dist/authoring/floorplan.d.ts +28 -0
  13. package/dist/authoring/floorplan.js +31 -0
  14. package/dist/authoring/floorplan.js.map +1 -0
  15. package/dist/authoring/generate.d.ts +57 -0
  16. package/dist/authoring/generate.js +630 -0
  17. package/dist/authoring/generate.js.map +1 -0
  18. package/dist/authoring/mcp.d.ts +15 -0
  19. package/dist/authoring/mcp.js +52 -0
  20. package/dist/authoring/mcp.js.map +1 -0
  21. package/dist/authoring/new.d.ts +35 -0
  22. package/dist/authoring/new.js +389 -0
  23. package/dist/authoring/new.js.map +1 -0
  24. package/dist/bdef/ast.d.ts +249 -0
  25. package/dist/bdef/ast.js +3 -0
  26. package/dist/bdef/ast.js.map +1 -0
  27. package/dist/bdef/lexer.d.ts +105 -0
  28. package/dist/bdef/lexer.js +148 -0
  29. package/dist/bdef/lexer.js.map +1 -0
  30. package/dist/bdef/parser.d.ts +22 -0
  31. package/dist/bdef/parser.js +1012 -0
  32. package/dist/bdef/parser.js.map +1 -0
  33. package/dist/build.d.ts +26 -0
  34. package/dist/build.js +62 -0
  35. package/dist/build.js.map +1 -0
  36. package/dist/cds/adapter.d.ts +91 -0
  37. package/dist/cds/adapter.js +381 -0
  38. package/dist/cds/adapter.js.map +1 -0
  39. package/dist/cds/expression-ast.d.ts +65 -0
  40. package/dist/cds/expression-ast.js +330 -0
  41. package/dist/cds/expression-ast.js.map +1 -0
  42. package/dist/cli.d.ts +9 -0
  43. package/dist/cli.js +485 -0
  44. package/dist/cli.js.map +1 -0
  45. package/dist/dcl/parser.d.ts +59 -0
  46. package/dist/dcl/parser.js +338 -0
  47. package/dist/dcl/parser.js.map +1 -0
  48. package/dist/ddic/catalog.d.ts +17 -0
  49. package/dist/ddic/catalog.js +211 -0
  50. package/dist/ddic/catalog.js.map +1 -0
  51. package/dist/ddic/cds-types.d.ts +47 -0
  52. package/dist/ddic/cds-types.js +131 -0
  53. package/dist/ddic/cds-types.js.map +1 -0
  54. package/dist/ddic/table-source.d.ts +70 -0
  55. package/dist/ddic/table-source.js +500 -0
  56. package/dist/ddic/table-source.js.map +1 -0
  57. package/dist/ddic/xml.d.ts +65 -0
  58. package/dist/ddic/xml.js +201 -0
  59. package/dist/ddic/xml.js.map +1 -0
  60. package/dist/dev.d.ts +128 -0
  61. package/dist/dev.js +434 -0
  62. package/dist/dev.js.map +1 -0
  63. package/dist/diagnostics.d.ts +33 -0
  64. package/dist/diagnostics.js +53 -0
  65. package/dist/diagnostics.js.map +1 -0
  66. package/dist/gen/abap/derived-types.d.ts +26 -0
  67. package/dist/gen/abap/derived-types.js +323 -0
  68. package/dist/gen/abap/derived-types.js.map +1 -0
  69. package/dist/gen/abap/eml.d.ts +118 -0
  70. package/dist/gen/abap/eml.js +362 -0
  71. package/dist/gen/abap/eml.js.map +1 -0
  72. package/dist/gen/abap/enums.d.ts +13 -0
  73. package/dist/gen/abap/enums.js +74 -0
  74. package/dist/gen/abap/enums.js.map +1 -0
  75. package/dist/gen/abap/framework-http.d.ts +14 -0
  76. package/dist/gen/abap/framework-http.js +1049 -0
  77. package/dist/gen/abap/framework-http.js.map +1 -0
  78. package/dist/gen/abap/framework-query.d.ts +14 -0
  79. package/dist/gen/abap/framework-query.js +225 -0
  80. package/dist/gen/abap/framework-query.js.map +1 -0
  81. package/dist/gen/abap/framework-utils.d.ts +29 -0
  82. package/dist/gen/abap/framework-utils.js +3707 -0
  83. package/dist/gen/abap/framework-utils.js.map +1 -0
  84. package/dist/gen/abap/framework.d.ts +12 -0
  85. package/dist/gen/abap/framework.js +480 -0
  86. package/dist/gen/abap/framework.js.map +1 -0
  87. package/dist/gen/abap/generate.d.ts +40 -0
  88. package/dist/gen/abap/generate.js +238 -0
  89. package/dist/gen/abap/generate.js.map +1 -0
  90. package/dist/gen/abap/rewrite.d.ts +82 -0
  91. package/dist/gen/abap/rewrite.js +957 -0
  92. package/dist/gen/abap/rewrite.js.map +1 -0
  93. package/dist/gen/abap/shadow.d.ts +25 -0
  94. package/dist/gen/abap/shadow.js +175 -0
  95. package/dist/gen/abap/shadow.js.map +1 -0
  96. package/dist/gen/abap/tokens.d.ts +33 -0
  97. package/dist/gen/abap/tokens.js +87 -0
  98. package/dist/gen/abap/tokens.js.map +1 -0
  99. package/dist/gen/app/index.d.ts +25 -0
  100. package/dist/gen/app/index.js +322 -0
  101. package/dist/gen/app/index.js.map +1 -0
  102. package/dist/gen/csdl.d.ts +11 -0
  103. package/dist/gen/csdl.js +562 -0
  104. package/dist/gen/csdl.js.map +1 -0
  105. package/dist/gen/deploy.d.ts +12 -0
  106. package/dist/gen/deploy.js +53 -0
  107. package/dist/gen/deploy.js.map +1 -0
  108. package/dist/gen/docs/index.d.ts +35 -0
  109. package/dist/gen/docs/index.js +267 -0
  110. package/dist/gen/docs/index.js.map +1 -0
  111. package/dist/gen/docs/markdown.d.ts +23 -0
  112. package/dist/gen/docs/markdown.js +187 -0
  113. package/dist/gen/docs/markdown.js.map +1 -0
  114. package/dist/gen/docs/site.d.ts +17 -0
  115. package/dist/gen/docs/site.js +106 -0
  116. package/dist/gen/docs/site.js.map +1 -0
  117. package/dist/gen/keycloak.d.ts +21 -0
  118. package/dist/gen/keycloak.js +90 -0
  119. package/dist/gen/keycloak.js.map +1 -0
  120. package/dist/gen/launchpad/index.d.ts +48 -0
  121. package/dist/gen/launchpad/index.js +302 -0
  122. package/dist/gen/launchpad/index.js.map +1 -0
  123. package/dist/gen/launchpad/ui.d.ts +14 -0
  124. package/dist/gen/launchpad/ui.js +350 -0
  125. package/dist/gen/launchpad/ui.js.map +1 -0
  126. package/dist/gen/mcp.d.ts +23 -0
  127. package/dist/gen/mcp.js +244 -0
  128. package/dist/gen/mcp.js.map +1 -0
  129. package/dist/gen/sql-expressions.d.ts +12 -0
  130. package/dist/gen/sql-expressions.js +136 -0
  131. package/dist/gen/sql-expressions.js.map +1 -0
  132. package/dist/gen/sql.d.ts +38 -0
  133. package/dist/gen/sql.js +612 -0
  134. package/dist/gen/sql.js.map +1 -0
  135. package/dist/gen/ui/index.d.ts +7 -0
  136. package/dist/gen/ui/index.js +27 -0
  137. package/dist/gen/ui/index.js.map +1 -0
  138. package/dist/gen/ui/layout.d.ts +230 -0
  139. package/dist/gen/ui/layout.js +511 -0
  140. package/dist/gen/ui/layout.js.map +1 -0
  141. package/dist/gen/ui/static.d.ts +55 -0
  142. package/dist/gen/ui/static.js +2901 -0
  143. package/dist/gen/ui/static.js.map +1 -0
  144. package/dist/gen/ui/views.d.ts +10 -0
  145. package/dist/gen/ui/views.js +511 -0
  146. package/dist/gen/ui/views.js.map +1 -0
  147. package/dist/gen/vendor.d.ts +23 -0
  148. package/dist/gen/vendor.js +68 -0
  149. package/dist/gen/vendor.js.map +1 -0
  150. package/dist/gen/xml.d.ts +9 -0
  151. package/dist/gen/xml.js +42 -0
  152. package/dist/gen/xml.js.map +1 -0
  153. package/dist/index.d.ts +20 -0
  154. package/dist/index.js +20 -0
  155. package/dist/index.js.map +1 -0
  156. package/dist/input/project.d.ts +50 -0
  157. package/dist/input/project.js +128 -0
  158. package/dist/input/project.js.map +1 -0
  159. package/dist/ir/access-controls.d.ts +11 -0
  160. package/dist/ir/access-controls.js +148 -0
  161. package/dist/ir/access-controls.js.map +1 -0
  162. package/dist/ir/authorizations.d.ts +25 -0
  163. package/dist/ir/authorizations.js +178 -0
  164. package/dist/ir/authorizations.js.map +1 -0
  165. package/dist/ir/behaviors.d.ts +16 -0
  166. package/dist/ir/behaviors.js +548 -0
  167. package/dist/ir/behaviors.js.map +1 -0
  168. package/dist/ir/builder.d.ts +20 -0
  169. package/dist/ir/builder.js +505 -0
  170. package/dist/ir/builder.js.map +1 -0
  171. package/dist/ir/config.d.ts +25 -0
  172. package/dist/ir/config.js +130 -0
  173. package/dist/ir/config.js.map +1 -0
  174. package/dist/ir/dictionary.d.ts +54 -0
  175. package/dist/ir/dictionary.js +328 -0
  176. package/dist/ir/dictionary.js.map +1 -0
  177. package/dist/ir/entities.d.ts +58 -0
  178. package/dist/ir/entities.js +676 -0
  179. package/dist/ir/entities.js.map +1 -0
  180. package/dist/ir/expressions.d.ts +33 -0
  181. package/dist/ir/expressions.js +327 -0
  182. package/dist/ir/expressions.js.map +1 -0
  183. package/dist/ir/handlers.d.ts +63 -0
  184. package/dist/ir/handlers.js +398 -0
  185. package/dist/ir/handlers.js.map +1 -0
  186. package/dist/ir/number-ranges.d.ts +24 -0
  187. package/dist/ir/number-ranges.js +74 -0
  188. package/dist/ir/number-ranges.js.map +1 -0
  189. package/dist/ir/seed.d.ts +23 -0
  190. package/dist/ir/seed.js +78 -0
  191. package/dist/ir/seed.js.map +1 -0
  192. package/dist/ir/service.d.ts +21 -0
  193. package/dist/ir/service.js +96 -0
  194. package/dist/ir/service.js.map +1 -0
  195. package/dist/launchpad/config.d.ts +47 -0
  196. package/dist/launchpad/config.js +321 -0
  197. package/dist/launchpad/config.js.map +1 -0
  198. package/dist/launchpad/workspace.d.ts +48 -0
  199. package/dist/launchpad/workspace.js +166 -0
  200. package/dist/launchpad/workspace.js.map +1 -0
  201. package/dist/srvd/parser.d.ts +36 -0
  202. package/dist/srvd/parser.js +193 -0
  203. package/dist/srvd/parser.js.map +1 -0
  204. package/dist/standard/data.d.ts +18 -0
  205. package/dist/standard/data.js +534 -0
  206. package/dist/standard/data.js.map +1 -0
  207. package/dist/standard/index.d.ts +36 -0
  208. package/dist/standard/index.js +507 -0
  209. package/dist/standard/index.js.map +1 -0
  210. package/dist/version.d.ts +2 -0
  211. package/dist/version.js +4 -0
  212. package/dist/version.js.map +1 -0
  213. package/docs/AGENTS.md +79 -0
  214. package/docs/ANNOTATIONS.md +76 -0
  215. package/docs/DECISIONS.md +1554 -0
  216. package/docs/DEPLOYMENT.md +113 -0
  217. package/docs/DIAGNOSTICS.md +116 -0
  218. package/docs/FEATURES.md +287 -0
  219. package/docs/GUIDE.md +560 -0
  220. package/docs/KNOWN_GAPS.md +216 -0
  221. package/docs/MCP.md +84 -0
  222. package/docs/PLAN.md +690 -0
  223. package/docs/README.md +148 -0
  224. package/docs/REMOTE_APIS.md +121 -0
  225. package/docs/ROADMAP.md +35 -0
  226. package/docs/UTILITIES.md +95 -0
  227. package/package.json +49 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static.js","sourceRoot":"","sources":["../../../src/gen/ui/static.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * XML views of the generated UI (OpenUI5 freestyle, decision D10): one List Report per root
3
+ * entity set (sap.f.DynamicPage, filter fields, sap.m.Table) and one Object Page per entity set
4
+ * (sap.uxap.ObjectPageLayout, header actions, forms and child tables).
5
+ */
6
+ import type { UiLayout } from "./layout.js";
7
+ export declare function views(layout: UiLayout): Array<{
8
+ path: string;
9
+ content: string;
10
+ }>;
@@ -0,0 +1,511 @@
1
+ /**
2
+ * XML views of the generated UI (OpenUI5 freestyle, decision D10): one List Report per root
3
+ * entity set (sap.f.DynamicPage, filter fields, sap.m.Table) and one Object Page per entity set
4
+ * (sap.uxap.ObjectPageLayout, header actions, forms and child tables).
5
+ */
6
+ const esc = (s) => s.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
7
+ /** Safe id of a property or action name. */
8
+ const idOf = (name) => name.replace(/[^A-Za-z0-9_]/g, "_");
9
+ /** `editable` of a field in an object page or a child table. */
10
+ function editable(field) {
11
+ if (field.computed) {
12
+ return "false";
13
+ }
14
+ const conditions = ["${ui>/editMode}"];
15
+ if (field.immutable) {
16
+ conditions.push("${ui>/createMode}");
17
+ }
18
+ if (field.dynamic) {
19
+ // %{…}: the value itself; ${…} would give the text formatted by the OData type ("1")
20
+ conditions.push(`%{__FieldControl/${field.property}} !== 1`);
21
+ }
22
+ return esc(`{= ${conditions.join(" && ")} }`);
23
+ }
24
+ /**
25
+ * The label of the member of an enumeration type (D55), as an expression binding: the raw value
26
+ * (%{…}) is the member name.
27
+ */
28
+ function enumText(field) {
29
+ const value = `%{${field.property}}`;
30
+ const cases = (field.options ?? []).map((o) => `${value} === '${o.key.replace(/'/g, "\\'")}' ? '${o.text.replace(/'/g, "\\'")}' : `).join("");
31
+ return esc(`{= ${cases}${value} }`);
32
+ }
33
+ /** The binding of an enumeration value: a string, the OData type of the member names. */
34
+ function enumValue(field) {
35
+ return esc(`{ path: '${field.property}', type: 'sap.ui.model.odata.type.String' }`);
36
+ }
37
+ function enumItems(field, empty) {
38
+ return `${empty ? `<core:Item key="" text=""/>` : ""}${(field.options ?? []).map((o) => `<core:Item key="${esc(o.key)}" text="${esc(o.text)}"/>`).join("")}`;
39
+ }
40
+ /** The state of a criticality (0 neutral, 1 negative, 2 critical, 3 positive), as an expression (D57). */
41
+ function criticalityState(field) {
42
+ const c = `%{${field.criticality ?? ""}}`;
43
+ return esc(`{= ${c} === 1 ? 'Error' : ${c} === 2 ? 'Warning' : ${c} === 3 ? 'Success' : 'None' }`);
44
+ }
45
+ /** The value with its text (`@ObjectModel.text.element`, `@UI.textArrangement`, D57). */
46
+ function valueText(field) {
47
+ if (field.kind === "enum") {
48
+ return enumText(field);
49
+ }
50
+ const text = field.text;
51
+ if (text === undefined || text.arrangement === "TextSeparate") {
52
+ return `{${field.property}}`;
53
+ }
54
+ const v = `\${${field.property}}`;
55
+ const t = `\${${text.property}}`;
56
+ switch (text.arrangement) {
57
+ case "TextOnly":
58
+ return esc(`{= ${t} ? ${t} : ${v} }`);
59
+ case "TextLast":
60
+ return esc(`{= ${t} ? ${v} + ' (' + ${t} + ')' : ${v} }`);
61
+ default:
62
+ return esc(`{= ${t} ? ${t} + ' (' + ${v} + ')' : ${v} }`);
63
+ }
64
+ }
65
+ /**
66
+ * A display control: numbers, check boxes, links (e-mail, phone, URL), statuses with their
67
+ * criticality, texts. `extra`: attributes (id, visibility).
68
+ */
69
+ function displayControl(field, extra) {
70
+ const state = field.criticality === undefined ? "" : ` state="${criticalityState(field)}"`;
71
+ switch (field.kind) {
72
+ case "amount":
73
+ case "decimal":
74
+ case "integer":
75
+ return `<ObjectNumber${extra} number="{${field.property}}"${field.unit === undefined ? "" : ` unit="{${field.unit}}"`} emphasized="false"${state}/>`;
76
+ case "boolean":
77
+ return `<CheckBox${extra} selected="{${field.property}}" editable="false"/>`;
78
+ default:
79
+ break;
80
+ }
81
+ if (field.link !== undefined) {
82
+ const href = field.link.kind === "url" ? `{${field.link.url ?? field.property}}` : esc(`{= ${field.link.kind === "email" ? "'mailto:'" : "'tel:'"} + \${${field.property}} }`);
83
+ return `<Link${extra} text="${valueText(field)}" href="${href}"${field.link.kind === "url" ? ' target="_blank"' : ""}/>`;
84
+ }
85
+ if (field.criticality !== undefined) {
86
+ return `<ObjectStatus${extra} text="${valueText(field)}"${state}/>`;
87
+ }
88
+ return `<Text${extra} text="${valueText(field)}"${field.multiLine === true ? ' renderWhitespace="true"' : ""}/>`;
89
+ }
90
+ /** A display control (list report cells). */
91
+ function display(field) {
92
+ return displayControl(field, "");
93
+ }
94
+ /** The value as text (display mode of a form or a child table). */
95
+ function text(field, id) {
96
+ const idAttribute = id === undefined ? "" : ` id="${esc(id)}"`;
97
+ return displayControl(field, `${idAttribute} visible="${esc("{= !${ui>/editMode} }")}"`);
98
+ }
99
+ /** Text in display mode, input in edit mode. */
100
+ function displayOrInput(field, id) {
101
+ if (field.computed) {
102
+ return text(field, id === undefined ? undefined : `text_${id}`).replace(/ visible="[^"]*"/, "");
103
+ }
104
+ return `${text(field, id === undefined ? undefined : `text_${id}`)}${input(field, id)}`;
105
+ }
106
+ /** An input control for an object page or a child table. */
107
+ function input(field, id) {
108
+ const common = `${id === undefined ? "" : `id="${esc(id)}" `}editable="${editable(field)}" visible="{ui>/editMode}"`;
109
+ const required = field.mandatory ? ` required="{ui>/editMode}"` : "";
110
+ if (field.multiLine === true && field.kind === "text" && field.valueHelp === undefined) {
111
+ return `<TextArea ${common}${required} value="{${field.property}}" rows="4" width="100%" growing="true"/>`;
112
+ }
113
+ switch (field.kind) {
114
+ case "enum":
115
+ return `<Select ${common}${required} forceSelection="false" width="100%" selectedKey="${enumValue(field)}">${enumItems(field, false)}</Select>`;
116
+ case "boolean":
117
+ return `<CheckBox ${common} selected="{${field.property}}"/>`;
118
+ case "date":
119
+ return `<DatePicker ${common}${required} value="{${field.property}}"/>`;
120
+ case "datetime":
121
+ return `<DateTimePicker ${common}${required} value="{${field.property}}"/>`;
122
+ case "time":
123
+ return `<TimePicker ${common}${required} value="{${field.property}}"/>`;
124
+ default: {
125
+ const help = field.valueHelp;
126
+ const property = `<customData><core:CustomData key="property" value="${esc(field.property)}"/></customData>`;
127
+ if (help?.fixedValues === true) {
128
+ // a drop-down list of the values (Common.ValueListWithFixedValues)
129
+ const description = help.columns.slice(1).find((c) => c.string);
130
+ // the elements of the items and of the additional bindings
131
+ const select = [...new Set([help.element, ...(description === undefined ? [] : [description.property]), ...(help.bindings ?? []).map((b) => b.element)])].join(",");
132
+ return `<ComboBox ${common}${required} width="100%"${description === undefined ? "" : ` showSecondaryValues="true"`} selectedKey="{${field.property}}" selectionChange=".onValueHelpChange" items="${esc(`{ path: '/${help.set}', templateShareable: false, length: 500, parameters: { $select: '${select}' } }`)}"><items><core:ListItem key="{${help.element}}" text="{${help.element}}"${description === undefined ? "" : ` additionalText="{${description.property}}"`}/></items>${property}</ComboBox>`;
133
+ }
134
+ const check = help !== undefined && (help.validation === true || (help.bindings ?? []).some((b) => b.usage !== "filter")) ? ` change=".onValueHelpChange"` : "";
135
+ return `<Input ${common}${required} value="{${field.property}}"${field.unit === undefined ? "" : ` description="{${field.unit}}"`}${help === undefined ? "/>" : ` showValueHelp="true" valueHelpRequest=".onValueHelp"${check}>${property}</Input>`}`;
136
+ }
137
+ }
138
+ }
139
+ function actionButton(action, owner, scope) {
140
+ const press = `.onAction`;
141
+ const enabled = scope === "object" && action.dynamic && !action.static
142
+ ? ` enabled="${esc(`{= %{__OperationControl/${action.name}} !== false && !\${ui>/editMode} }`)}"`
143
+ : scope === "object"
144
+ ? ` enabled="${esc("{= !${ui>/editMode} }")}"`
145
+ : action.static
146
+ ? ""
147
+ : ` enabled="{ui>/${owner}Selected}"`;
148
+ return `<Button id="${esc(`${owner}Action_${idOf(action.name)}`)}" text="${esc(action.label)}" press="${press}"${enabled}>
149
+ <customData><core:CustomData key="action" value="${esc(action.name)}"/><core:CustomData key="scope" value="${scope}"/><core:CustomData key="owner" value="${esc(owner)}"/></customData>
150
+ </Button>`;
151
+ }
152
+ function columns(table) {
153
+ return table.columns
154
+ .map((c) => `<Column id="${esc(`${idOf(table.set)}${table.navigation === undefined ? "" : "Child"}Col_${idOf(c.property)}`)}"${c.importance === "Low" ? ' demandPopin="true" minScreenWidth="Tablet"' : ""}${c.kind === "amount" || c.kind === "decimal" || c.kind === "integer" ? ' hAlign="End"' : ""}><Text text="${esc(c.label)}"/></Column>`)
155
+ .join("\n ");
156
+ }
157
+ /** The control of a filter field: conditions (tokens) with their value help dialog (D68), or yes/no. */
158
+ function filterControl(f) {
159
+ const controlId = `filter_${idOf(f.property)}`;
160
+ switch (f.kind) {
161
+ case "boolean":
162
+ return `<Select id="${controlId}" width="100%" change=".onFilterChange"><core:Item key="" text=""/><core:Item key="true" text="Yes"/><core:Item key="false" text="No"/></Select>`;
163
+ case "enum":
164
+ return `<Select id="${controlId}" width="100%" change=".onFilterChange">${enumItems(f, true)}</Select>`;
165
+ default:
166
+ return `<MultiInput id="${controlId}" width="100%"${f.filter?.single === true ? ' maxTokens="1"' : ""} submit=".onFilterSubmit" tokenUpdate=".onFilterChange" showValueHelp="true" valueHelpRequest=".onFilterValueHelp" placeholder="${esc(placeholderOf(f))}"><customData><core:CustomData key="property" value="${esc(f.property)}"/></customData></MultiInput>`;
167
+ }
168
+ }
169
+ /** A hint of the condition syntax of a filter field. */
170
+ function placeholderOf(f) {
171
+ if (f.kind === "text")
172
+ return f.valueHelp === undefined && f.key !== true ? "contains, =, *, !=" : "=, *, !=, a...b";
173
+ return f.kind === "date" || f.kind === "datetime" ? "=, >, <, a...b, a - b" : "=, >, <, a...b";
174
+ }
175
+ function listReport(page) {
176
+ const list = page.list;
177
+ const table = list.table;
178
+ // draft (D54): the active instances and the new drafts; an edited instance shows its marker
179
+ const parameters = [`$count: true`, ...(table.orderby === undefined ? [] : [`$orderby: '${table.orderby}'`]), ...(page.draft === undefined ? [] : [`$filter: 'IsActiveEntity eq true or HasActiveEntity eq false'`])];
180
+ const filters = list.filterFields
181
+ .map((f) => `<VBox id="filterItem_${idOf(f.property)}" class="raptFilterItem" width="12rem" visible="{= %{lr>/visible/${f.property}} === true }"><Label text="${esc(f.label)}" labelFor="filter_${idOf(f.property)}"${f.filter?.mandatory === true ? ' required="true"' : ""}/>${filterControl(f)}</VBox>`)
182
+ .join("\n ");
183
+ const search = list.searchable
184
+ ? `<VBox class="raptFilterItem" width="12rem"><Label text="Search" labelFor="search"/><SearchField id="search" width="100%" search=".onSearch"/></VBox>`
185
+ : "";
186
+ const worklist = page.floorplan === "worklist";
187
+ const alp = page.floorplan === "analyticalListPage";
188
+ const chart = alp ? page.charts[0] : undefined;
189
+ // worklist: no filter bar; the search in the toolbar, the selection variants as tabs (D53)
190
+ const header = worklist
191
+ ? ""
192
+ : `<f:header>
193
+ <f:DynamicPageHeader pinnable="true">
194
+ <FlexBox id="filterBar" wrap="Wrap" alignItems="End" class="raptFilterBar">
195
+ ${search}
196
+ ${page.draft === undefined ? "" : `<VBox id="filterItem_EditingStatus" class="raptFilterItem" width="12rem"><Label text="Editing Status" labelFor="filter_EditingStatus"/><Select id="filter_EditingStatus" width="100%" change=".onFilterChange"><core:Item key="" text="All"/><core:Item key="own" text="Own Draft"/><core:Item key="locked" text="Locked by Another User"/><core:Item key="unchanged" text="No Changes"/></Select></VBox>`}
197
+ ${filters}
198
+ <HBox id="filterButtons" class="raptFilterItem raptFilterButtons">
199
+ <Button id="go" text="Go" type="Emphasized" press=".onSearch"/>
200
+ <Button id="clearFilters" text="Clear" type="Transparent" press=".onClearFilters" class="sapUiTinyMarginBegin"/>
201
+ <Button id="adaptFilters" text="{= 'Adapt Filters' + (\${lr>/active} > 0 ? ' (' + \${lr>/active} + ')' : '') }" type="Transparent" press=".onAdaptFilters" class="sapUiTinyMarginBegin"/>
202
+ </HBox>
203
+ </FlexBox>
204
+ </f:DynamicPageHeader>
205
+ </f:header>`;
206
+ const tabs = worklist && page.selectionVariants.length > 0
207
+ ? `<IconTabHeader id="worklistTabs" mode="Inline" select=".onWorklistTab" selectedKey="all">
208
+ <items>
209
+ <IconTabFilter key="all" text="All" count="{lr>/tabCounts/all}"/>
210
+ ${page.selectionVariants.map((v) => `<IconTabFilter key="${esc(v.key)}" text="${esc(v.text)}" count="{lr>/tabCounts/${esc(v.key)}}"/>`).join("\n ")}
211
+ </items>
212
+ </IconTabHeader>`
213
+ : "";
214
+ // analytical list page: the chart above the table, the views chart / table / both (D53)
215
+ const chartArea = chart === undefined
216
+ ? ""
217
+ : `<VBox id="chartArea" visible="{= \${lr>/view} !== 'table' }" class="raptChartArea">
218
+ <Toolbar style="Clear"><Title id="chartTitle" text="${esc(chart.title)}" level="H3"/><ToolbarSpacer/><Text id="chartSelection" text="{= \${lr>/chartSelection} ? '${esc(chart.dimension.label)}: ' + \${lr>/chartSelection} : '' }"/></Toolbar>
219
+ <rapt:Chart id="chart" type="${chart.type}" height="16rem" select=".onChartSelect"/>
220
+ </VBox>`;
221
+ const viewSwitch = chart === undefined
222
+ ? ""
223
+ : `<SegmentedButton id="viewSwitch" selectedKey="{lr>/view}" selectionChange=".onViewSwitch">
224
+ <items>
225
+ <SegmentedButtonItem key="both" icon="sap-icon://chart-table-view" tooltip="Chart and table"/>
226
+ <SegmentedButtonItem key="chart" icon="sap-icon://vertical-bar-chart" tooltip="Chart"/>
227
+ <SegmentedButtonItem key="table" icon="sap-icon://table-view" tooltip="Table"/>
228
+ </items>
229
+ </SegmentedButton>`;
230
+ const toolbarSearch = worklist && list.searchable ? `<SearchField id="search" width="14rem" search=".onSearch"/>` : "";
231
+ return `<mvc:View controllerName="rapt.app.controller.List" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m" xmlns:f="sap.f" xmlns:core="sap.ui.core" xmlns:rapt="rapt.app.controller">
232
+ <f:DynamicPage id="page" toggleHeaderOnTitleClick="true" headerPinned="false">
233
+ <f:customData><core:CustomData key="set" value="${esc(page.set)}"/><core:CustomData key="floorplan" value="${page.floorplan}"/></f:customData>
234
+ <f:title>
235
+ <f:DynamicPageTitle>
236
+ <f:heading>
237
+ <VariantManagement id="variants" level="H2" titleStyle="H2" supportPublic="false" supportContexts="false" supportApplyAutomatically="false"
238
+ selectedKey="{lr>/variant}" defaultKey="{lr>/defaultVariant}" modified="{lr>/modified}"
239
+ select=".onVariantSelect" save=".onVariantSave" manage=".onVariantManage"
240
+ items="{path: 'lr>/variants', templateShareable: false}">
241
+ <items><VariantItem key="{lr>key}" title="{lr>title}" author="{lr>author}" rename="{lr>changeable}" remove="{lr>changeable}" changeable="{lr>changeable}" favorite="{lr>favorite}"/></items>
242
+ </VariantManagement>
243
+ </f:heading>
244
+ <f:snappedContent><Text id="filterSummary" text="{lr>/summary}"/></f:snappedContent>
245
+ </f:DynamicPageTitle>
246
+ </f:title>
247
+ ${header}
248
+ <f:content>
249
+ <VBox id="content" renderType="Bare" height="100%">
250
+ ${tabs}
251
+ ${chartArea}
252
+ <Table id="table" visible="{= \${lr>/view} !== 'chart' }" growing="true" growingThreshold="25" growingScrollToLoad="true" mode="SingleSelectLeft" selectionChange=".onSelectionChange" updateFinished=".onUpdateFinished" sticky="ColumnHeaders,HeaderToolbar"
253
+ items="{path: '/${esc(page.set)}', parameters: {${esc(parameters.join(", "))}}}">
254
+ <headerToolbar>
255
+ <OverflowToolbar>
256
+ <Title id="tableTitle" text="{lr>/tableTitle}" level="H3"><customData><core:CustomData key="plural" value="${esc(page.typeNamePlural)}"/></customData></Title>
257
+ <ToolbarSpacer/>
258
+ ${toolbarSearch}
259
+ ${table.insertable ? `<Button id="create" text="Create" type="Transparent" press=".onCreate" visible="${esc(`{= %{ui>/permissions/${page.set}/create} !== false }`)}"/>` : ""}
260
+ ${table.deletable ? `<Button id="delete" text="Delete" type="Transparent" press=".onDelete" enabled="{ui>/tableSelected}"/>` : ""}
261
+ ${table.actions.map((a) => actionButton(a, "table", "list")).join("\n ")}
262
+ <Button id="tableSettings" icon="sap-icon://action-settings" tooltip="Table settings" type="Transparent" press=".onTableSettings"/>
263
+ ${viewSwitch}
264
+ </OverflowToolbar>
265
+ </headerToolbar>
266
+ <columns>
267
+ ${listColumns(table)}
268
+ ${page.draft === undefined ? "" : `<Column id="${esc(idOf(table.set))}Col_EditingStatus" width="8rem"><Text text="Editing Status"/></Column>`}
269
+ </columns>
270
+ <items>
271
+ <ColumnListItem type="Navigation" press=".onItemPress">
272
+ <cells>
273
+ ${table.columns.map(display).join("\n ")}
274
+ ${page.draft === undefined ? "" : `<ObjectMarker type="${esc("{= %{IsActiveEntity} ? 'LockedBy' : 'Draft' }")}" additionalInfo="${esc("{= %{IsActiveEntity} ? %{DraftAdministrativeData/InProcessByUser} : '' }")}" visible="${esc("{= !%{IsActiveEntity} || %{HasDraftEntity} }")}"/>`}
275
+ </cells>
276
+ </ColumnListItem>
277
+ </items>
278
+ </Table>
279
+ </VBox>
280
+ </f:content>
281
+ </f:DynamicPage>
282
+ </mvc:View>
283
+ `;
284
+ }
285
+ /** A card of the Overview Page (D53): list, table, chart or KPI. */
286
+ function cardXml(card) {
287
+ const params = [`$count: true`, ...(card.filter === undefined ? [] : [`$filter: '${card.filter.replace(/'/g, "\\'")}'`]), ...(card.orderby === undefined ? [] : [`$orderby: '${card.orderby}'`])];
288
+ const items = `{path: '/${card.set}', parameters: {${params.join(", ")}}}`;
289
+ const header = card.type === "kpi"
290
+ ? `<card:NumericHeader id="${card.id}_header" title="${esc(card.title)}" subtitle="${esc(card.subtitle ?? "")}" number="{ovp>/kpi/${card.id}/number}" unitOfMeasurement="{ovp>/kpi/${card.id}/unit}" details="{ovp>/kpi/${card.id}/details}" press=".onCardHeader"/>`
291
+ : `<card:Header id="${card.id}_header" title="${esc(card.title)}" subtitle="${esc(card.subtitle ?? "")}" statusText="{ovp>/counts/${card.id}}" press=".onCardHeader"/>`;
292
+ const [first, second, third] = card.fields;
293
+ let content = "";
294
+ if (card.type === "list") {
295
+ content = `<List id="${card.id}_list" growing="false" growingThreshold="${card.top}" showNoData="true" items="${esc(items)}" updateFinished=".onCardUpdated" showSeparators="Inner">
296
+ <items><StandardListItem type="Navigation" press=".onCardItem" title="{${first?.property ?? ""}}"${second === undefined ? "" : ` description="{${second.property}}"`}${third === undefined ? "" : ` info="{${third.property}}"`}/></items>
297
+ </List>`;
298
+ }
299
+ else if (card.type === "table") {
300
+ content = `<Table id="${card.id}_table" growing="false" growingThreshold="${card.top}" items="${esc(items)}" updateFinished=".onCardUpdated">
301
+ <columns>${card.fields.map((f) => `<Column${f.kind === "amount" || f.kind === "decimal" || f.kind === "integer" ? ' hAlign="End"' : ""}><Text text="${esc(f.label)}"/></Column>`).join("")}</columns>
302
+ <items><ColumnListItem type="Navigation" press=".onCardItem"><cells>${card.fields.map(display).join("")}</cells></ColumnListItem></items>
303
+ </Table>`;
304
+ }
305
+ else if (card.type === "chart") {
306
+ content = `<rapt:Chart id="${card.id}_chart" type="${card.chart?.type ?? "column"}" height="14rem" select=".onCardChartSelect"/>`;
307
+ }
308
+ else {
309
+ content = `<VBox id="${card.id}_kpi" class="sapUiSmallMargin"><Text text="{ovp>/kpi/${card.id}/text}"/></VBox>`;
310
+ }
311
+ return `<f:Card id="${card.id}" width="${card.type === "table" || card.type === "chart" ? "36rem" : "22rem"}" class="raptCard">
312
+ <f:customData><core:CustomData key="card" value="${card.id}"/></f:customData>
313
+ <f:header>${header}</f:header>
314
+ <f:content>
315
+ ${content}
316
+ </f:content>
317
+ </f:Card>`;
318
+ }
319
+ /** The Overview Page (D53): the cards of rapt/config.json in a grid. */
320
+ function overviewPage(layout) {
321
+ const overview = layout.overview;
322
+ return `<mvc:View controllerName="rapt.app.controller.Overview" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m" xmlns:f="sap.f" xmlns:card="sap.f.cards" xmlns:core="sap.ui.core" xmlns:rapt="rapt.app.controller">
323
+ <f:DynamicPage id="page" toggleHeaderOnTitleClick="false" class="raptOverview">
324
+ <f:title>
325
+ <f:DynamicPageTitle>
326
+ <f:heading><Title id="overviewTitle" text="${esc(overview.title)}" level="H2"/></f:heading>
327
+ </f:DynamicPageTitle>
328
+ </f:title>
329
+ <f:content>
330
+ <FlexBox id="cards" wrap="Wrap" alignItems="Start" class="raptCards">
331
+ ${overview.cards.map(cardXml).join("\n ")}
332
+ </FlexBox>
333
+ </f:content>
334
+ </f:DynamicPage>
335
+ </mvc:View>
336
+ `;
337
+ }
338
+ /** The columns of the list report: their visibility is a setting of the user (variants). */
339
+ function listColumns(table) {
340
+ return table.columns
341
+ .map((c) => `<Column id="${esc(`${idOf(table.set)}Col_${idOf(c.property)}`)}" visible="{= %{lr>/columns/${c.property}} !== false }"${c.importance === "Low" ? ' demandPopin="true" minScreenWidth="Tablet"' : ""}${c.kind === "amount" || c.kind === "decimal" || c.kind === "integer" ? ' hAlign="End"' : ""}><Text text="${esc(c.label)}"/></Column>`)
342
+ .join("\n ");
343
+ }
344
+ function form(section) {
345
+ const content = section.fields
346
+ .map((f) => `<Label text="${esc(f.label)}"${f.mandatory ? ' required="{ui>/editMode}"' : ""}/>\n ${displayOrInput(f, `field_${idOf(section.id)}_${idOf(f.property)}`)}`)
347
+ .join("\n ");
348
+ return `<form:SimpleForm id="form_${idOf(section.id)}" editable="true" layout="ColumnLayout" columnsM="2" columnsL="3" columnsXL="4">
349
+ <form:content>
350
+ ${content}
351
+ </form:content>
352
+ </form:SimpleForm>`;
353
+ }
354
+ function childTable(section) {
355
+ const table = section.table;
356
+ const id = `table_${idOf(section.id)}`;
357
+ return `<Table id="${id}" growing="true" growingThreshold="20" mode="{= \${ui>/editMode} ? 'SingleSelectLeft' : 'None' }" selectionChange=".onChildSelectionChange"
358
+ items="{path: '${esc(table.navigation ?? "")}', parameters: {$$updateGroupId: '${table.draft === true ? "$auto" : "changes"}'${table.orderby === undefined ? "" : `, $orderby: '${esc(table.orderby)}'`}}}">
359
+ <customData><core:CustomData key="set" value="${esc(table.set)}"/></customData>
360
+ <headerToolbar>
361
+ <OverflowToolbar>
362
+ <Title text="${esc(section.label)}" level="H4"/>
363
+ <ToolbarSpacer/>
364
+ ${table.insertable ? `<Button id="${id}_create" text="Create" type="Transparent" press=".onCreateChild" visible="{ui>/editMode}"><customData><core:CustomData key="table" value="${id}"/></customData></Button>` : ""}
365
+ ${table.deletable ? `<Button id="${id}_delete" text="Delete" type="Transparent" press=".onDeleteChild" visible="{ui>/editMode}" enabled="{ui>/childSelected}"><customData><core:CustomData key="table" value="${id}"/></customData></Button>` : ""}
366
+ </OverflowToolbar>
367
+ </headerToolbar>
368
+ <columns>
369
+ ${columns(table)}
370
+ </columns>
371
+ <items>
372
+ <ColumnListItem type="{= \${ui>/editMode} ? 'Inactive' : 'Navigation' }" press=".onChildPress">
373
+ <cells>
374
+ ${table.columns.map((c) => `<VBox${c.kind === "amount" || c.kind === "decimal" || c.kind === "integer" ? ' alignItems="End"' : ""}>${displayOrInput(c, undefined)}</VBox>`).join("\n ")}
375
+ </cells>
376
+ </ColumnListItem>
377
+ </items>
378
+ </Table>`;
379
+ }
380
+ function section(s) {
381
+ const subSections = s.kind === "collection"
382
+ ? s.sections.map((inner) => `<uxap:ObjectPageSubSection id="sub_${idOf(inner.id)}" title="${esc(inner.label)}"><uxap:blocks>${inner.kind === "table" ? childTable(inner) : inner.kind === "form" ? form(inner) : ""}</uxap:blocks></uxap:ObjectPageSubSection>`).join("\n ")
383
+ : `<uxap:ObjectPageSubSection id="sub_${idOf(s.id)}" title="${esc(s.label)}" showTitle="false">
384
+ <uxap:blocks>
385
+ ${s.kind === "table" ? childTable(s) : form(s)}
386
+ </uxap:blocks>
387
+ </uxap:ObjectPageSubSection>`;
388
+ return `<uxap:ObjectPageSection id="section_${idOf(s.id)}" title="${esc(s.label)}" titleUppercase="false">
389
+ <uxap:subSections>
390
+ ${subSections}
391
+ </uxap:subSections>
392
+ </uxap:ObjectPageSection>`;
393
+ }
394
+ /** Breadcrumbs of an object page: the list report, then the parent object (back). */
395
+ function breadcrumbs(page, layout) {
396
+ const start = layout.pages.find((p) => p.set === layout.start);
397
+ const parent = layout.pages.find((p) => p.set !== page.set && p.sections.some((s) => tablesOf(s).some((t) => t.set === page.set)));
398
+ const links = [];
399
+ if (start?.list !== undefined) {
400
+ links.push(`<Link id="crumbList" text="${esc(start.typeNamePlural)}" press=".onNavList"/>`);
401
+ }
402
+ if (parent !== undefined) {
403
+ links.push(`<Link id="crumbParent" text="${esc(parent.typeName)}" press=".onNavBack"/>`);
404
+ }
405
+ return links.length === 0 ? "" : `<uxap:breadcrumbs><Breadcrumbs id="breadcrumbs" currentLocationText="${esc(page.typeName)}">${links.join("")}</Breadcrumbs></uxap:breadcrumbs>`;
406
+ }
407
+ function tablesOf(section) {
408
+ return section.kind === "table" ? [section.table] : section.kind === "collection" ? section.sections.flatMap(tablesOf) : [];
409
+ }
410
+ /** The header facets of the object page: data points and field groups (D57). */
411
+ function headerContent(page) {
412
+ const facets = page.headerFacets ?? [];
413
+ if (facets.length === 0) {
414
+ return "";
415
+ }
416
+ const blocks = facets.map((facet) => {
417
+ const title = facet.title === "" ? "" : `<Title text="${esc(facet.title)}" level="H5" class="sapUiTinyMarginBottom"/>`;
418
+ if (facet.kind === "fields") {
419
+ const rows = facet.fields.map((f) => `<HBox alignItems="Center"><Label text="${esc(f.label)}:" class="sapUiTinyMarginEnd"/>${display(f)}</HBox>`).join("");
420
+ return `<VBox id="header_${idOf(facet.id)}" class="sapUiLargeMarginEnd sapUiSmallMarginBottom">${title}${rows}</VBox>`;
421
+ }
422
+ const f = facet.field;
423
+ const state = f.criticality === undefined ? "" : ` state="${criticalityState(f)}"`;
424
+ let control;
425
+ if (facet.visualization === "rating") {
426
+ control = `<RatingIndicator value="{${f.property}}" maxValue="${facet.target ?? 5}" editable="false" iconSize="1.25rem"/>`;
427
+ }
428
+ else if (facet.visualization === "progress") {
429
+ const target = facet.target ?? 100;
430
+ control = `<ProgressIndicator width="12rem" percentValue="${esc(`{= Math.min(100, Math.max(0, %{${f.property}} * 100 / ${target})) }`)}" displayValue="${esc(`{= %{${f.property}} + ' / ${target}' }`)}"${state}/>`;
431
+ }
432
+ else if (f.kind === "amount" || f.kind === "decimal" || f.kind === "integer") {
433
+ control = `<ObjectNumber number="{${f.property}}"${f.unit === undefined ? "" : ` unit="{${f.unit}}"`} emphasized="true" class="sapMObjectNumberLarge"${state}/>`;
434
+ }
435
+ else {
436
+ control = `<ObjectStatus text="${valueText(f)}"${state} class="sapMObjectStatusLarge"/>`;
437
+ }
438
+ return `<VBox id="header_${idOf(facet.id)}" class="sapUiLargeMarginEnd sapUiSmallMarginBottom">${title}${control}</VBox>`;
439
+ });
440
+ return `<uxap:headerContent><FlexBox wrap="Wrap" alignItems="Start">${blocks.join("")}</FlexBox></uxap:headerContent>`;
441
+ }
442
+ /**
443
+ * The draft state in the header of the object page (D58): the draft marker, the lock of another
444
+ * user, and for a collaborative draft (D59) its users and the invitation.
445
+ */
446
+ function draftHeader(page) {
447
+ if (page.draft === undefined) {
448
+ return "";
449
+ }
450
+ const markers = `<HBox class="sapUiTinyMarginTop"><ObjectMarker id="draftMarker" type="Draft" visible="{ui>/draft}"/><ObjectMarker id="lockMarker" type="LockedBy" additionalInfo="{DraftAdministrativeData/InProcessByUser}" visible="${esc("{= !${ui>/draft} && %{HasDraftEntity} === true && %{DraftAdministrativeData/InProcessByUser} !== ${ui>/user} }")}"/></HBox>`;
451
+ if (page.draft.collaborative !== true || !page.draft.root) {
452
+ return markers;
453
+ }
454
+ const users = `<HBox id="collabUsers" items="{ui>/collab/users}" class="sapUiTinyMarginBegin"><Avatar initials="{ui>initials}" displaySize="XS" tooltip="{ui>UserID}" class="sapUiTinyMarginEnd"/></HBox>`;
455
+ return `${markers}<HBox id="collab" alignItems="Center" visible="{ui>/draft}" class="sapUiTinyMarginTop"><Label text="Editing together:"/>${users}<Button id="invite" icon="sap-icon://add-employee" text="Invite" type="Transparent" press=".onInvite"/></HBox>`;
456
+ }
457
+ function objectPage(page, layout) {
458
+ const title = page.title === undefined ? `<Title text="${esc(page.typeName)}" wrapping="true"/>` : `<Title text="{${page.title}}" wrapping="true"/>`;
459
+ const edit = page.updatable
460
+ ? `<Button id="edit" text="Edit" type="Emphasized" press=".onEdit" visible="{= !\${ui>/editMode} }"${page.updatableDynamic ? ` enabled="${esc("{= %{__EntityControl/Updatable} !== false }")}"` : ""}/>`
461
+ : "";
462
+ const remove = page.deletable
463
+ ? `<Button id="deleteObject" text="Delete" type="Transparent" press=".onDelete" visible="{= !\${ui>/editMode} }"${page.deletableDynamic ? ` enabled="${esc("{= %{__EntityControl/Deletable} !== false }")}"` : ""}/>`
464
+ : "";
465
+ return `<mvc:View controllerName="rapt.app.controller.Object" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m" xmlns:uxap="sap.uxap" xmlns:form="sap.ui.layout.form" xmlns:core="sap.ui.core">
466
+ <uxap:ObjectPageLayout id="page" showFooter="{ui>/editMode}" upperCaseAnchorBar="false" busy="{ui>/busy}" busyIndicatorDelay="0">
467
+ <uxap:customData><core:CustomData key="set" value="${esc(page.set)}"/></uxap:customData>
468
+ <uxap:headerTitle>
469
+ <uxap:ObjectPageDynamicHeaderTitle id="headerTitle">
470
+ ${breadcrumbs(page, layout)}
471
+ <uxap:heading>${title}</uxap:heading>
472
+ <uxap:snappedTitleOnMobile><Title text="${esc(page.typeName)}"/></uxap:snappedTitleOnMobile>
473
+ <uxap:expandedContent><VBox>${page.description === undefined ? `<Text text="${esc(page.typeName)}"/>` : `<Text text="{${page.description}}"/>`}${draftHeader(page)}</VBox></uxap:expandedContent>
474
+ <uxap:actions>
475
+ ${edit}
476
+ ${remove}
477
+ ${page.actions.map((a) => actionButton(a, "object", "object")).join("\n ")}
478
+ </uxap:actions>
479
+ </uxap:ObjectPageDynamicHeaderTitle>
480
+ </uxap:headerTitle>
481
+ ${headerContent(page)}
482
+ <uxap:sections>
483
+ ${page.sections.map(section).join("\n ")}
484
+ </uxap:sections>
485
+ <uxap:footer>
486
+ <OverflowToolbar>
487
+ <Button id="messages" icon="sap-icon://message-popup" type="Negative" text="{= \${message>/}.length }" visible="{= \${message>/}.length > 0 }" press=".onMessages"/>
488
+ <ToolbarSpacer/>
489
+ <DraftIndicator id="draftStatus" visible="{ui>/draft}" minDisplayTime="500"/>
490
+ <Button id="save" text="{= \${ui>/createMode} ? 'Create' : 'Save' }" type="Emphasized" press=".onSave"/>
491
+ <Button id="cancel" text="{= \${ui>/draft} ? 'Discard Draft' : 'Cancel' }" press=".onCancel"/>
492
+ </OverflowToolbar>
493
+ </uxap:footer>
494
+ </uxap:ObjectPageLayout>
495
+ </mvc:View>
496
+ `;
497
+ }
498
+ export function views(layout) {
499
+ const files = [];
500
+ if (layout.overview !== undefined) {
501
+ files.push({ path: "view/Overview.view.xml", content: overviewPage(layout) });
502
+ }
503
+ for (const page of layout.pages) {
504
+ if (page.list !== undefined) {
505
+ files.push({ path: `view/${page.set}List.view.xml`, content: listReport(page) });
506
+ }
507
+ files.push({ path: `view/${page.set}Object.view.xml`, content: objectPage(page, layout) });
508
+ }
509
+ return files;
510
+ }
511
+ //# sourceMappingURL=views.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"views.js","sourceRoot":"","sources":["../../../src/gen/ui/views.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * The packages of this repository embedded in a generated folder (`vendor/`, decision D15): the
3
+ * application or the launchpad installs them without a private registry.
4
+ */
5
+ export interface PackageJson {
6
+ name: string;
7
+ version: string;
8
+ license?: string;
9
+ type?: string;
10
+ main?: string;
11
+ types?: string;
12
+ exports?: unknown;
13
+ engines?: Record<string, string>;
14
+ dependencies?: Record<string, string>;
15
+ devDependencies?: Record<string, string>;
16
+ }
17
+ /** The folder of a package of this repository: installed next to the compiler, or in the monorepo. */
18
+ export declare function packageDir(name: string, folder: string, given?: string): string | undefined;
19
+ /** A package of the repository, as files of `vendor/<folder>/`: its dist and a production package.json. */
20
+ export declare function vendorPackage(dir: string, folder: string, rename: Record<string, string>): Array<{
21
+ path: string;
22
+ content: string;
23
+ }>;