@ui5/manifest 1.4.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/schema_cil.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "title": "SAP JSON schema for Web Application Manifest File",
3
- "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "type": "object",
5
5
  "required": [
6
6
  "_version",
@@ -16,7 +16,20 @@
16
16
  "1.1.0",
17
17
  "1.2.0",
18
18
  "1.3.0",
19
- "1.4.0"
19
+ "1.4.0",
20
+ "1.5.0",
21
+ "1.6.0",
22
+ "1.7.0",
23
+ "1.8.0",
24
+ "1.9.0",
25
+ "1.10.0",
26
+ "1.11.0",
27
+ "1.12.0",
28
+ "1.13.0",
29
+ "1.14.0",
30
+ "1.15.0",
31
+ "1.16.0",
32
+ "1.17.0"
20
33
  ]
21
34
  },
22
35
  "start_url": {
@@ -42,7 +55,8 @@
42
55
  "1.1.0",
43
56
  "1.2.0",
44
57
  "1.3.0",
45
- "1.4.0"
58
+ "1.4.0",
59
+ "1.5.0"
46
60
  ]
47
61
  },
48
62
  "sourceTemplate": {
@@ -93,6 +107,10 @@
93
107
  "description": "Represents language-dependent additional information to the title",
94
108
  "$ref": "#/definitions/i18n_key"
95
109
  },
110
+ "shortTitle": {
111
+ "description": "Represents shorter version of the title (language-dependent )",
112
+ "$ref": "#/definitions/i18n_key"
113
+ },
96
114
  "description": {
97
115
  "description": "Represents language-dependent description",
98
116
  "$ref": "#/definitions/i18n_key"
@@ -100,7 +118,7 @@
100
118
  "ach": {
101
119
  "description": "Represents application component hierarchy",
102
120
  "type": "string",
103
- "pattern": "^([a-zA-Z]{2,3})(\\-[a-zA-Z0-9]{1,6})*$"
121
+ "pattern": "^([a-zA-Z0-9]{2,3})(\\-[a-zA-Z0-9]{1,6})*$"
104
122
  },
105
123
  "dataSources": {
106
124
  "description": "Represents used data sources with a unique key/alias",
@@ -161,18 +179,20 @@
161
179
  "1.1.0",
162
180
  "1.2.0",
163
181
  "1.3.0",
164
- "1.4.0"
182
+ "1.4.0",
183
+ "1.5.0"
165
184
  ]
166
185
  },
167
186
  "technology": {
168
- "description": "Represents UI technology. The possible values are UI5 (default), WDA, NWBC and URL",
187
+ "description": "Represents UI technology. The possible values are UI5 (default), WDA, NWBC, GUI, URL and WCF",
169
188
  "type": "string",
170
189
  "enum": [
171
190
  "UI5",
172
191
  "WDA",
173
192
  "NWBC",
174
193
  "GUI",
175
- "URL"
194
+ "URL",
195
+ "WCF"
176
196
  ],
177
197
  "default": "UI5"
178
198
  },
@@ -192,7 +212,7 @@
192
212
  ]
193
213
  },
194
214
  "supportedThemes": {
195
- "description": "Represents array of supported SAP themes such as sap_hcb, sap_bluecrystal",
215
+ "description": "The property is Deprecated. Represents array of supported SAP themes such as sap_hcb, sap_bluecrystal",
196
216
  "type": "array",
197
217
  "items": {
198
218
  "type": "string"
@@ -203,236 +223,185 @@
203
223
  "sap.ui5": {
204
224
  "title": "JSON schema for SAP.UI5 Namespace",
205
225
  "description": "Represents sapui5 attributes",
206
- "type": "object",
207
- "additionalProperties": false,
208
- "required": [
209
- "dependencies",
210
- "contentDensities"
211
- ],
212
- "properties": {
213
- "_version": {
214
- "description": " Represents SAPUI5 attributes format version. It is managed by namespace owner",
215
- "type": "string",
216
- "enum": [
217
- "1.1.0",
218
- "1.2.0",
219
- "1.3.0"
220
- ]
221
- },
222
- "resources": {
223
- "description": "Represents paths to JavaScript/CSS resources that your app needs (app internal), formerly called '.includes'",
224
- "$ref": "#/definitions/resource"
225
- },
226
- "dependencies": {
227
- "description": "Represents external dependences such as libraries or components, that will be loaded by UI5 Core in the initialization phase of your Component and can be used after it",
226
+ "allOf": [
227
+ {
228
228
  "type": "object",
229
- "additionalProperties": false,
229
+ "required": [
230
+ "dependencies",
231
+ "contentDensities"
232
+ ],
230
233
  "properties": {
231
- "libs": {
232
- "description": "Represents the id (namespace) of the libraries that should be loaded by UI5 Core to be used in your component",
234
+ "_version": {
235
+ "description": " Represents SAPUI5 attributes format version. It is managed by namespace owner",
236
+ "type": "string",
237
+ "enum": [
238
+ "1.1.0",
239
+ "1.2.0",
240
+ "1.3.0",
241
+ "1.4.0",
242
+ "1.5.0",
243
+ "1.6.0",
244
+ "1.7.0",
245
+ "1.8.0"
246
+ ]
247
+ },
248
+ "resources": {
249
+ "description": "Represents paths to JavaScript/CSS resources that your app needs (app internal), formerly called '.includes'",
250
+ "$ref": "#/definitions/resource"
251
+ },
252
+ "componentUsages": {
253
+ "description": "Represents the explicit usage declaration for UI5 reuse components",
233
254
  "type": "object",
234
255
  "additionalProperties": false,
235
256
  "patternProperties": {
236
- "^([a-z][a-z0-9]{0,39})(\\.[a-z][a-z0-9]{0,39})*$": {
237
- "$ref": "#/definitions/lib"
257
+ "^[a-zA-Z0-9_\\.]*$": {
258
+ "$ref": "#/definitions/componentUsages"
238
259
  }
239
260
  }
240
261
  },
241
- "components": {
242
- "description": "Represents the id (namespace) of the components that should be loaded by UI5 Core to be used in your component",
262
+ "dependencies": {
263
+ "description": "Represents external dependences such as libraries or components, that will be loaded by UI5 Core in the initialization phase of your Component and can be used after it",
243
264
  "type": "object",
244
265
  "additionalProperties": false,
245
- "patternProperties": {
246
- "^([a-z_$][a-z0-9_$]{0,39}\\.)*([a-zA-Z_$][a-zA-Z0-9_$]{0,39})$": {
247
- "$ref": "#/definitions/component"
248
- }
249
- }
250
- }
251
- }
252
- },
253
- "models": {
254
- "description": "Represents models which should be created/destroyed with the life-cycle of the component",
255
- "type": "object",
256
- "additionalProperties": false,
257
- "patternProperties": {
258
- "^[a-zA-Z0-9_\\.\\-\\|\\@]*$": {
259
- "$ref": "#/definitions/model"
260
- }
261
- }
262
- },
263
- "resourceRoots": {
264
- "description": "Represents relative path to the resource. Only relative path allowed, no '../' ",
265
- "type": "object",
266
- "additionalProperties": false,
267
- "patternProperties": {
268
- "^[a-zA-Z0-9_\\.\\-]*$": {
269
- "$ref": "#/definitions/resourceRoot"
270
- }
271
- }
272
- },
273
- "rootView": {
274
- "description": "Represents the name of the root view",
275
- "$ref": "#/definitions/rootView_def"
276
- },
277
- "handleValidation": {
278
- "description": "Represents the usage of validation handling by MessageManager for this component (enable/disable)",
279
- "type": "boolean",
280
- "default": false
281
- },
282
- "config": {
283
- "description": "Represents the static configuration for components",
284
- "type": "object",
285
- "additionalProperties": false,
286
- "patternProperties": {
287
- "[\\s\\S]*": {
288
- "$ref": "#/definitions/config"
289
- }
290
- }
291
- },
292
- "routing": {
293
- "description": "Represents the configuration of routing",
294
- "type": "object",
295
- "properties": {
296
- "config": {
297
- "description": "Represents the default properties defined for route and target",
298
- "allOf": [
299
- {
266
+ "properties": {
267
+ "libs": {
268
+ "description": "Represents the id (namespace) of the libraries that should be loaded by UI5 Core to be used in your component",
300
269
  "type": "object",
301
- "properties": {
302
- "routerClass": {
303
- "description": "Represents the router class",
304
- "type": "string"
305
- },
306
- "async": {
307
- "description": "Indicates whether the Views in routing are loaded asyncly",
308
- "type": "boolean",
309
- "default": false
310
- },
311
- "bypassed": {
312
- "description": "Represents information about targets to display when no route is matched",
313
- "type": "object",
314
- "additionalProperties": false,
315
- "required": [
316
- "target"
317
- ],
318
- "properties": {
319
- "target": {
320
- "description": "Represents one or multiple names of targets that are displayed when no route is matched",
321
- "$ref": "#/definitions/arrayOrString"
322
- }
323
- }
270
+ "additionalProperties": false,
271
+ "patternProperties": {
272
+ "^([a-z][a-z0-9]{0,39})(\\.[a-z][a-z0-9]{0,39})*$": {
273
+ "$ref": "#/definitions/lib"
324
274
  }
325
275
  }
326
276
  },
327
- {
328
- "$ref": "#/definitions/target"
329
- }
330
- ]
331
- },
332
- "routes": {
333
- "oneOf": [
334
- {
335
- "description": "Represents the definition of routes by providing an array with elements which contain the configuration for each route",
336
- "type": "array",
337
- "items": {
338
- "$ref": "#/definitions/route"
339
- }
340
- },
341
- {
342
- "description": "Represents the definition of routes by providing an object with the route's name as the key and other route options in an object as the value",
277
+ "components": {
278
+ "description": "Represents the id (namespace) of the components that should be loaded by UI5 Core to be used in your component",
343
279
  "type": "object",
280
+ "additionalProperties": false,
344
281
  "patternProperties": {
345
- "[\\s\\S]*": {
346
- "$ref": "#/definitions/routeWithoutName"
282
+ "^([a-zA-Z_$][a-zA-Z0-9_$]{0,39}\\.)*([a-zA-Z_$][a-zA-Z0-9_$]{0,39})$": {
283
+ "$ref": "#/definitions/component"
347
284
  }
348
285
  }
349
286
  }
350
- ]
287
+ }
288
+ },
289
+ "models": {
290
+ "description": "Represents models which should be created/destroyed with the life-cycle of the component",
291
+ "type": "object",
292
+ "additionalProperties": false,
293
+ "patternProperties": {
294
+ "^[a-zA-Z0-9_\\.\\-\\|\\@]*$": {
295
+ "$ref": "#/definitions/model"
296
+ }
297
+ }
298
+ },
299
+ "resourceRoots": {
300
+ "description": "Represents relative path to the resource. Only relative path allowed, no '../' ",
301
+ "type": "object",
302
+ "additionalProperties": false,
303
+ "patternProperties": {
304
+ "^[a-zA-Z0-9_\\.\\-]*$": {
305
+ "$ref": "#/definitions/resourceRoot"
306
+ }
307
+ }
308
+ },
309
+ "handleValidation": {
310
+ "description": "Represents the usage of validation handling by MessageManager for this component (enable/disable)",
311
+ "type": "boolean",
312
+ "default": false
351
313
  },
352
- "targets": {
353
- "description": "Represents the definition of targets",
314
+ "config": {
315
+ "description": "Represents the static configuration for components",
354
316
  "type": "object",
317
+ "additionalProperties": false,
355
318
  "patternProperties": {
356
319
  "[\\s\\S]*": {
357
- "allOf": [
358
- {
359
- "$ref": "#/definitions/target"
360
- },
361
- {
362
- "type": "object",
363
- "required": [
364
- "viewName"
365
- ],
366
- "properties": {
367
- "viewName": {
368
- "description": "Represents the name of a view that will be created",
369
- "type": "string"
370
- }
371
- }
372
- },
373
- {
374
- "type": "object",
375
- "properties": {
376
- "viewID": {
377
- "description": "Represents the id of the created view",
378
- "type": "string"
379
- }
380
- }
381
- }
382
- ]
320
+ "$ref": "#/definitions/config"
383
321
  }
384
322
  }
385
- }
386
- }
387
- },
388
- "extends": {
389
- "description": "Represents the extension of an additional component",
390
- "type": "object",
391
- "additionalProperties": false,
392
- "properties": {
393
- "component": {
394
- "description": "Represents the component name",
395
- "$ref": "#/definitions/id_def"
396
323
  },
397
- "minVersion": {
398
- "description": "Represents minimal version of the component",
399
- "$ref": "#/definitions/version"
324
+ "extends": {
325
+ "description": "Represents the extension of an additional component",
326
+ "type": "object",
327
+ "additionalProperties": false,
328
+ "properties": {
329
+ "component": {
330
+ "description": "Represents the component name",
331
+ "$ref": "#/definitions/id_def"
332
+ },
333
+ "minVersion": {
334
+ "description": "Represents minimal version of the component",
335
+ "$ref": "#/definitions/version"
336
+ },
337
+ "extensions": {
338
+ "description": "Represents extensions of the component",
339
+ "type": "object"
340
+ }
341
+ }
400
342
  },
401
- "extensions": {
402
- "description": "Represents extensions of the component",
403
- "type": "object"
343
+ "contentDensities": {
344
+ "description": "Represents object with content density modes the app is supporting. Supported density modes are 'cozy' and 'compact'",
345
+ "type": "object",
346
+ "additionalProperties": false,
347
+ "required": [
348
+ "compact",
349
+ "cozy"
350
+ ],
351
+ "properties": {
352
+ "compact": {
353
+ "description": "Represents indicator whether compact mode is supported",
354
+ "type": "boolean"
355
+ },
356
+ "cozy": {
357
+ "description": "Represents indicator whether cozy mode is supported",
358
+ "type": "boolean"
359
+ }
360
+ }
361
+ },
362
+ "componentName": {
363
+ "description": "Represents a name of the UI5 component",
364
+ "type": "string",
365
+ "pattern": "^([a-zA-Z_$][a-zA-Z0-9_$]{0,39}\\.)*([a-zA-Z_$][a-zA-Z0-9_$]{0,39})$"
366
+ },
367
+ "autoPrefixId": {
368
+ "description": "Enables the auto prefixing of IDs of ManagedObjects (e.g. Controls) which are created in context of the Component (e.g. createContent invocation)",
369
+ "type": "boolean"
370
+ },
371
+ "services": {
372
+ "description": "Represents a list of the services ",
373
+ "type": "object",
374
+ "additionalProperties": false,
375
+ "patternProperties": {
376
+ "[\\s\\S]*": {
377
+ "$ref": "#/definitions/service"
378
+ }
379
+ }
380
+ },
381
+ "commands": {
382
+ "description": "Represents a list of UI5 shortcut commands",
383
+ "type": "object",
384
+ "additionalProperties": false,
385
+ "patternProperties": {
386
+ "^[A-Za-z_][A-Za-z0-9_\\-\\|\\@]+$": {
387
+ "$ref": "#/definitions/command"
388
+ }
389
+ }
404
390
  }
405
391
  }
406
392
  },
407
- "contentDensities": {
408
- "description": "Represents object with content density modes the app is supporting. Supported density modes are 'cozy' and 'compact'",
393
+ {
409
394
  "type": "object",
410
- "additionalProperties": false,
411
- "required": [
412
- "compact",
413
- "cozy"
414
- ],
415
395
  "properties": {
416
- "compact": {
417
- "description": "Represents indicator whether compact mode is supported",
418
- "type": "boolean"
396
+ "routing": {
397
+ "$ref": "#/definitions/routing"
419
398
  },
420
- "cozy": {
421
- "description": "Represents indicator whether cozy mode is supported",
422
- "type": "boolean"
399
+ "rootView": {
400
+ "$ref": "#/definitions/rootView_def"
423
401
  }
424
402
  }
425
- },
426
- "componentName": {
427
- "description": "Represents a name of the UI5 component",
428
- "type": "string",
429
- "pattern": "^([a-z_$][a-z0-9_$]{0,39}\\.)*([a-zA-Z_$][a-zA-Z0-9_$]{0,39})$"
430
- },
431
- "autoPrefixId": {
432
- "description": "Enables the auto prefixing of IDs of ManagedObjects (e.g. Controls) which are created in context of the Component (e.g. createContent invocation)",
433
- "type": "boolean"
434
403
  }
435
- },
404
+ ],
436
405
  "definitions": {
437
406
  "deviceType": {
438
407
  "type": "object",
@@ -452,6 +421,16 @@
452
421
  "type": "boolean"
453
422
  }
454
423
  }
424
+ },
425
+ "booleanOrString": {
426
+ "oneOf": [
427
+ {
428
+ "type": "boolean"
429
+ },
430
+ {
431
+ "type": "string"
432
+ }
433
+ ]
455
434
  }
456
435
  }
457
436
  },
@@ -521,6 +500,50 @@
521
500
  }
522
501
  }
523
502
  },
503
+ "sap.platform.cf": {
504
+ "title": "JSON schema for SAP.PLATFORM.CF Namespace",
505
+ "description": "Represents CF(Cloud Foundry) platform specific attributes",
506
+ "type": "object",
507
+ "additionalProperties": true,
508
+ "properties": {
509
+ "_version": {
510
+ "description": "Represents attributes format version. It is managed by namespace owner",
511
+ "type": "string",
512
+ "enum": [
513
+ "1.1.0",
514
+ "1.2.0"
515
+ ]
516
+ },
517
+ "oAuthScopes": {
518
+ "description": "Represents the authorization scope of the application",
519
+ "type": "array",
520
+ "items": {
521
+ "type": "string"
522
+ },
523
+ "appHostId": {
524
+ "description": "Application host id to which the HTML5 app belongs",
525
+ "type": "string"
526
+ },
527
+ "changedOn": {
528
+ "description": "Changed on time stamp of the HTML5 app",
529
+ "type": "string"
530
+ },
531
+ "appName": {
532
+ "description": "Represents the HTML5 application name",
533
+ "type": "string",
534
+ "pattern": "^[a-z][a-z0-9]{0,29}$"
535
+ },
536
+ "appVersion": {
537
+ "description": "Represents the version of the HTML5 application",
538
+ "type": "string"
539
+ },
540
+ "multiVersionApp": {
541
+ "description": "Indicates wether an HTML5 application is multi-version enabled",
542
+ "type": "boolean"
543
+ }
544
+ }
545
+ }
546
+ },
524
547
  "sap.fiori": {
525
548
  "title": "JSON schema for SAP.FIORI Namespace",
526
549
  "description": "Represents SAP Fiori specific attributes",
@@ -569,7 +592,8 @@
569
592
  "type": "string",
570
593
  "enum": [
571
594
  "1.1.0",
572
- "1.2.0"
595
+ "1.2.0",
596
+ "1.3.0"
573
597
  ]
574
598
  },
575
599
  "settings": {
@@ -578,20 +602,37 @@
578
602
  },
579
603
  "pages": {
580
604
  "description": "Represents one ore more pages of an application. UI5 routing is created from the definitions in this section",
581
- "type": "array",
582
- "items": {
583
- "$ref": "#/definitions/page"
584
- }
605
+ "oneOf": [
606
+ {
607
+ "type": "array",
608
+ "items": {
609
+ "$ref": "#/definitions/pages_array"
610
+ }
611
+ },
612
+ {
613
+ "type": "object",
614
+ "additionalProperties": false,
615
+ "patternProperties": {
616
+ "^[a-zA-Z0-9_\\.\\-]+[\\|]?[a-zA-Z0-9_\\.\\-]+$": {
617
+ "$ref": "#/definitions/pages_map"
618
+ }
619
+ }
620
+ }
621
+ ]
585
622
  }
586
623
  }
587
624
  },
625
+ "sap.fe": {
626
+ "title": "JSON schema for SAP.FE Namespace",
627
+ "description": "Represents specific attributes for Fiori Elements ",
628
+ "type": "object"
629
+ },
588
630
  "sap.flp": {
589
631
  "title": "JSON schema for SAP.FLP Namespace",
590
632
  "description": "Represents FLP specific attributes",
591
633
  "type": "object",
592
634
  "required": [
593
- "type",
594
- "config"
635
+ "type"
595
636
  ],
596
637
  "additionalProperties": false,
597
638
  "properties": {
@@ -600,7 +641,8 @@
600
641
  "type": "string",
601
642
  "enum": [
602
643
  "1.1.0",
603
- "1.2.0"
644
+ "1.2.0",
645
+ "1.3.0"
604
646
  ]
605
647
  },
606
648
  "tileSize": {
@@ -630,6 +672,21 @@
630
672
  "type": "object"
631
673
  }
632
674
  }
675
+ },
676
+ "origin": {
677
+ "description": "Represents the original tile and target mapping which resulted in this app",
678
+ "type": "object",
679
+ "additionalProperties": false,
680
+ "properties": {
681
+ "tileId": {
682
+ "description": "Represents the original tile which resulted in this app",
683
+ "type": "string"
684
+ },
685
+ "targetMappingId": {
686
+ "description": "Represents the original target mapping which resulted in this app",
687
+ "type": "string"
688
+ }
689
+ }
633
690
  }
634
691
  }
635
692
  },
@@ -641,9 +698,6 @@
641
698
  "cards"
642
699
  ],
643
700
  "dependencies": {
644
- "globalFilterModel": [
645
- "globalFilterEntityType"
646
- ],
647
701
  "globalFilterEntityType": [
648
702
  "globalFilterModel"
649
703
  ]
@@ -655,7 +709,8 @@
655
709
  "type": "string",
656
710
  "enum": [
657
711
  "1.1.0",
658
- "1.2.0"
712
+ "1.2.0",
713
+ "1.3.0"
659
714
  ]
660
715
  },
661
716
  "globalFilterModel": {
@@ -668,30 +723,85 @@
668
723
  "type": "string",
669
724
  "pattern": "^[a-zA-Z0-9_\\.\\-\\|\\@]*$"
670
725
  },
671
- "containerLayout": {
672
- "description": "Represents the layout of the card container",
726
+ "globalFilterEntitySet": {
727
+ "description": "Represents the entity set to use as global filter in the smart filter bar control",
673
728
  "type": "string",
674
- "default": "easyScan",
675
- "enum": [
676
- "easyScan",
677
- "dashboard"
678
- ]
729
+ "pattern": "^[a-zA-Z0-9_\\.\\-\\|\\@]*$"
679
730
  },
680
- "cards": {
681
- "type": "object",
682
- "additionalProperties": false,
683
- "patternProperties": {
684
- "^[a-zA-Z0-9_\\.\\-]+$": {
685
- "$ref": "#/definitions/card"
686
- }
687
- }
731
+ "showBasicSearch": {
732
+ "description": "Represents a switch to include basic search in the global filters",
733
+ "type": "boolean",
734
+ "default": false
735
+ },
736
+ "disableErrorPage": {
737
+ "description": "Represents a switch to disable the error page shown on load of overview page when no data is retreived from the backend",
738
+ "type": "boolean",
739
+ "default": false
740
+ },
741
+ "smartVariantRequired": {
742
+ "description": "Represents a switch to activate smart variant management in the global filters",
743
+ "type": "boolean",
744
+ "default": true
745
+ },
746
+ "bHeaderExpanded": {
747
+ "description": "Represents a switch to show smart filter bar in expanded or collapsed mode",
748
+ "type": "boolean",
749
+ "default": false
750
+ },
751
+ "containerLayout": {
752
+ "description": "Represents the layout of the card container",
753
+ "type": "string",
754
+ "default": "fixed",
755
+ "enum": [
756
+ "fixed",
757
+ "resizable"
758
+ ]
759
+ },
760
+ "showDateInRelativeFormat": {
761
+ "description": "Represents a switch to Enable or disable Relative or Normal date formating in ovp application",
762
+ "type": "boolean",
763
+ "default": true
764
+ },
765
+ "disableTableCardFlexibility": {
766
+ "description": "Represents a switch to Enable or Disable the Flexibility of Table cards",
767
+ "type": "boolean",
768
+ "default": false
769
+ },
770
+ "enableLiveFilter": {
771
+ "description": "Represents the switch to activate live update in the global filters, else manual update will be required",
772
+ "type": "boolean",
773
+ "default": true
774
+ },
775
+ "considerAnalyticalParameters": {
776
+ "description": "Flag to enable/disable analytical parameter support for Smart filter bar",
777
+ "type": "boolean",
778
+ "default": false
779
+ },
780
+ "refreshIntervalInMinutes": {
781
+ "description": "Time interval in minutes to auto refresh the card models",
782
+ "type": "integer",
783
+ "default": 1
784
+ },
785
+ "useDateRangeType": {
786
+ "description": "Flag to enable/disable semantic date range control for Smart filter bar",
787
+ "type": "boolean",
788
+ "default": false
789
+ },
790
+ "cards": {
791
+ "type": "object",
792
+ "additionalProperties": false,
793
+ "patternProperties": {
794
+ "^[a-zA-Z0-9_\\.\\-]+$": {
795
+ "$ref": "#/definitions/card"
796
+ }
797
+ }
688
798
  },
689
- "dashboardLayout": {
799
+ "resizableLayout": {
690
800
  "type": "object",
691
801
  "additionalProperties": false,
692
802
  "patternProperties": {
693
803
  "^cols_[0-9]+$": {
694
- "$ref": "#/definitions/dashboardLayoutVariant"
804
+ "$ref": "#/definitions/resizableLayoutVariant"
695
805
  }
696
806
  }
697
807
  }
@@ -728,6 +838,11 @@
728
838
  "description": "Represents SAP Screen Personas Flavor ID",
729
839
  "type": "string",
730
840
  "pattern": "^[A-F0-9]{1,32}$"
841
+ },
842
+ "compatibilityMode": {
843
+ "description": "Indicates that WebDynpro Application requires Compatibility Mode, while uses legacy shell services. Possible values are true or false (default)",
844
+ "type": "boolean",
845
+ "default": false
731
846
  }
732
847
  }
733
848
  },
@@ -741,7 +856,8 @@
741
856
  "description": "Represents attributes format version. It is managed by namespace owner",
742
857
  "type": "string",
743
858
  "enum": [
744
- "1.1.0"
859
+ "1.1.0",
860
+ "1.2.0"
745
861
  ]
746
862
  },
747
863
  "activateFilterReduction": {
@@ -753,6 +869,11 @@
753
869
  "description": "Represents a switch to activate LREP as the persistence for configurations and texts",
754
870
  "type": "boolean",
755
871
  "default": false
872
+ },
873
+ "useHeadRequestForXsrfToken": {
874
+ "description": "Represents a switch to use HEAD-Requests instead of GET-Requests when fetching the XSRF-Security-Token",
875
+ "type": "boolean",
876
+ "default": false
756
877
  }
757
878
  }
758
879
  },
@@ -790,6 +911,77 @@
790
911
  }
791
912
  }
792
913
  },
914
+ "sap.integration": {
915
+ "title": "JSON schema for SAP.INTEGRATION Namespace",
916
+ "description": "Represents Application Integration specific attributes",
917
+ "type": "object",
918
+ "required": [
919
+ "urlTemplateId",
920
+ "parameters"
921
+ ],
922
+ "properties": {
923
+ "_version": {
924
+ "description": "Represents attributes format version. It is managed by namespace owner",
925
+ "type": "string",
926
+ "enum": [
927
+ "1.0.0"
928
+ ]
929
+ },
930
+ "urlTemplateId": {
931
+ "description": "Reference to the desired URL Template",
932
+ "type": "string",
933
+ "examples": [
934
+ "template.sap.sfsf",
935
+ "template.sap.ui5",
936
+ "template.sap.wda"
937
+ ]
938
+ },
939
+ "parameters": {
940
+ "description": "Represents configuration parameters which will be used by Template Engine to compile URL Template",
941
+ "type": "array",
942
+ "items": {
943
+ "type": "object",
944
+ "required": [
945
+ "key",
946
+ "value"
947
+ ],
948
+ "properties": {
949
+ "key": {
950
+ "type": "string",
951
+ "description": "Represents the name of the desired parameter"
952
+ },
953
+ "value": {
954
+ "type": "string",
955
+ "description": "Represents the actual value of the desired parameter"
956
+ }
957
+ }
958
+ }
959
+ }
960
+ }
961
+ },
962
+ "sap.wcf": {
963
+ "title": "JSON schema for SAP.WCF Namespace",
964
+ "description": "Represents WCF Application specific attributes",
965
+ "type": "object",
966
+ "required": [
967
+ "wcf-target-id"
968
+ ],
969
+ "additionalProperties": false,
970
+ "properties": {
971
+ "_version": {
972
+ "description": "Represents attributes format version. It is managed by namespace owner",
973
+ "type": "string",
974
+ "enum": [
975
+ "1.1.0"
976
+ ]
977
+ },
978
+ "wcf-target-id": {
979
+ "description": "Represents the target technical id for a WCF Application",
980
+ "type": "string",
981
+ "pattern": "^[a-zA-Z0-9\\/\\_]{1,10}$"
982
+ }
983
+ }
984
+ },
793
985
  "sap.ui.smartbusiness.app": {
794
986
  "title": "JSON schema for SAP.UI.SMARTBUSINESS.APP Namespace",
795
987
  "description": "Represents specific attributes for Smart Business ",
@@ -821,6 +1013,158 @@
821
1013
  }
822
1014
  }
823
1015
  }
1016
+ },
1017
+ "sap.copilot": {
1018
+ "title": "JSON schema for SAP.COPILOT Namespace",
1019
+ "description": "Represents specific attributes for SAP CoPilot",
1020
+ "type": "object",
1021
+ "additionalProperties": true,
1022
+ "properties": {
1023
+ "_version": {
1024
+ "description": "Represents SAP.COPILOT attributes format version. It is managed by namespace owner",
1025
+ "type": "string",
1026
+ "enum": [
1027
+ "1.0.0",
1028
+ "1.1.0"
1029
+ ]
1030
+ },
1031
+ "contextAnalysis": {
1032
+ "description": "Settings for the context analysis features of SAP CoPilot",
1033
+ "type": "object",
1034
+ "additionalProperties": true,
1035
+ "properties": {
1036
+ "allowAddingObjectsFromAppScreenToCollection": {
1037
+ "description": "Enable/Disable the ability for SAP CoPilot to analyze your Application Screens and add the found objects to a Collection",
1038
+ "type": "boolean",
1039
+ "default": true
1040
+ },
1041
+ "whitelistedEntityTypes": {
1042
+ "description": "A list of the whitelisted EntityTypes, prefixed with their namespace, that SAP CoPilot can display. The empty list is ignored, thus allowing all EntityTypes by default.",
1043
+ "type": "array",
1044
+ "items": {
1045
+ "type": "string"
1046
+ }
1047
+ }
1048
+ }
1049
+ },
1050
+ "digitalAssistant": {
1051
+ "description": "Settings for the Digital Assistant features of SAP CoPilot",
1052
+ "type": "object",
1053
+ "additionalProperties": true,
1054
+ "properties": {
1055
+ "intentDefinition": {
1056
+ "description": "A list of Intent",
1057
+ "type": "object",
1058
+ "additionalProperties": false,
1059
+ "patternProperties": {
1060
+ "^[a-zA-Z0-9_\\.\\-]*$": {
1061
+ "type": "object",
1062
+ "additionalProperties": true,
1063
+ "properties": {
1064
+ "uri": {
1065
+ "description": "Represents the uri of the intent",
1066
+ "type": "string"
1067
+ },
1068
+ "dataSources": {
1069
+ "description": "A list of the sap.app.dataSources used by the intent",
1070
+ "type": "array",
1071
+ "items": {
1072
+ "type": "string"
1073
+ }
1074
+ },
1075
+ "i18n": {
1076
+ "description": "Represents the uri of the translation file",
1077
+ "type": "string"
1078
+ }
1079
+ }
1080
+ }
1081
+ }
1082
+ }
1083
+ }
1084
+ }
1085
+ }
1086
+ },
1087
+ "sap.map": {
1088
+ "title": "JSON schema for SAP.MAP Namespace",
1089
+ "description": "Represents specific attributes for SAP.MAP ",
1090
+ "type": "object"
1091
+ },
1092
+ "sap.url": {
1093
+ "title": "JSON schema for SAP.URL Namespace",
1094
+ "description": "Represents specific attributes for SAP URL",
1095
+ "type": "object",
1096
+ "additionalProperties": false,
1097
+ "required": [
1098
+ "uri"
1099
+ ],
1100
+ "properties": {
1101
+ "_version": {
1102
+ "description": "Represents attributes format version. It is managed by namespace owner",
1103
+ "type": "string",
1104
+ "enum": [
1105
+ "1.0.0"
1106
+ ]
1107
+ },
1108
+ "uri": {
1109
+ "description": "Represents URI of an application",
1110
+ "type": "string"
1111
+ }
1112
+ }
1113
+ },
1114
+ "sap.platform.sfsf": {
1115
+ "title": "JSON schema for SAP.PLATFORM.SFSF Namespace",
1116
+ "description": "Represents SFSF platform specific attributes",
1117
+ "type": "object",
1118
+ "additionalProperties": false,
1119
+ "required": [
1120
+ "appName"
1121
+ ],
1122
+ "properties": {
1123
+ "_version": {
1124
+ "description": "Represents attributes format version. It is managed by namespace owner",
1125
+ "type": "string",
1126
+ "enum": [
1127
+ "1.0.0"
1128
+ ]
1129
+ },
1130
+ "uri": {
1131
+ "description": "Represents the uri inside the SFSF app",
1132
+ "type": "string"
1133
+ },
1134
+ "appName": {
1135
+ "description": "Represents the SFSF application name",
1136
+ "type": "string"
1137
+ },
1138
+ "appVersion": {
1139
+ "description": "Represents the version of the SFSF application",
1140
+ "type": "string"
1141
+ }
1142
+ }
1143
+ },
1144
+ "sap.cloud": {
1145
+ "title": "JSON schema for SAP.CLOUD Namespace",
1146
+ "description": "Represents cloud platform specific attributes",
1147
+ "type": "object",
1148
+ "additionalProperties": false,
1149
+ "properties": {
1150
+ "_version": {
1151
+ "description": "Represents attributes format version. It is managed by namespace owner",
1152
+ "type": "string",
1153
+ "enum": [
1154
+ "1.0.0",
1155
+ "1.1.0"
1156
+ ]
1157
+ },
1158
+ "service": {
1159
+ "description": "Unique Business Service Identifier",
1160
+ "type": "string"
1161
+ },
1162
+ "public": {
1163
+ "description": "Specify if the UI can be accessed from a different space than origin development space",
1164
+ "type": "boolean",
1165
+ "default": false
1166
+ }
1167
+ }
824
1168
  }
825
1169
  },
826
1170
  "definitions": {
@@ -847,7 +1191,11 @@
847
1191
  }
848
1192
  }
849
1193
  },
850
- "dashboardLayoutVariantCardProperties": {
1194
+ "levelsDef": {
1195
+ "description": "Plot area is a parent property which defines multiple other properties for smoothness and marker size",
1196
+ "type": "array"
1197
+ },
1198
+ "resizableLayoutVariantCardProperties": {
851
1199
  "required": [
852
1200
  "col",
853
1201
  "row",
@@ -881,6 +1229,88 @@
881
1229
  }
882
1230
  }
883
1231
  },
1232
+ "customActionsSetting": {
1233
+ "description": "Represents the properties for the custom actions in the Quick View Cards",
1234
+ "type": "object",
1235
+ "additionalProperties": true,
1236
+ "properties": {
1237
+ "text": {
1238
+ "description": "Text displayed for extended actions in Quick View",
1239
+ "type": "string",
1240
+ "pattern": "^\\{\\{[^\\W\\.\\-][\\w\\.\\-]*\\}\\}$"
1241
+ },
1242
+ "press": {
1243
+ "description": "Name of the press handler for extended actions in Quick View",
1244
+ "type": "string",
1245
+ "pattern": "^[^\\W\\.\\-][\\w\\.\\-]*$"
1246
+ },
1247
+ "position": {
1248
+ "description": "Position of extended actions in Quick View",
1249
+ "type": "integer"
1250
+ }
1251
+ }
1252
+ },
1253
+ "timeAxisDef": {
1254
+ "description": "Represents the configuration to customize the time axis",
1255
+ "type": "object",
1256
+ "properties": {
1257
+ "levels": {
1258
+ "$ref": "#/definitions/levelsDef"
1259
+ }
1260
+ }
1261
+ },
1262
+ "plotAreaDef": {
1263
+ "description": "Plot area is a parent property which defines multiple other properties for smoothness and marker size",
1264
+ "type": "object",
1265
+ "additionalProperties": false,
1266
+ "properties": {
1267
+ "isSmoothed": {
1268
+ "description": "Represents whether smoother curves are required or not",
1269
+ "type": "boolean",
1270
+ "default": false
1271
+ },
1272
+ "markerSize": {
1273
+ "description": "Represents the size of the markers in scatter plots",
1274
+ "type": "integer"
1275
+ },
1276
+ "dataLabel": {
1277
+ "type": "object",
1278
+ "description": "dataLabel is a parent property that defines other properties for type",
1279
+ "additionalProperties": false,
1280
+ "properties": {
1281
+ "type": {
1282
+ "description": "Defines whether to display percentage values or actual counts in the donut chart",
1283
+ "type": "string",
1284
+ "enum": [
1285
+ "value",
1286
+ "percentage"
1287
+ ],
1288
+ "default": "value"
1289
+ }
1290
+ }
1291
+ }
1292
+ }
1293
+ },
1294
+ "objectStreamCardsSettingsDef": {
1295
+ "description": "Represents the Object Stream properties - properties that are passed to the Object Stream cards",
1296
+ "type": "object",
1297
+ "additionalProperties": true,
1298
+ "properties": {
1299
+ "showFirstActionInFooter": {
1300
+ "description": "Represents the flag to show first action in footer of the Quickview cards",
1301
+ "type": "boolean",
1302
+ "default": false
1303
+ },
1304
+ "customActions": {
1305
+ "description": "Represents the custom actions in the Quick View Cards",
1306
+ "type": "array",
1307
+ "minItems": 1,
1308
+ "items": {
1309
+ "$ref": "#/definitions/customActionsSetting"
1310
+ }
1311
+ }
1312
+ }
1313
+ },
884
1314
  "defaultSpanDef": {
885
1315
  "description": "Represents the card default grid size in columns and rows",
886
1316
  "oneOf": [
@@ -899,6 +1329,23 @@
899
1329
  "rows": {
900
1330
  "description": "Represents the number of the number of grid rows",
901
1331
  "type": "integer"
1332
+ },
1333
+ "showOnlyHeader": {
1334
+ "description": "Represents if user wants to show only header part of card in resizable layout",
1335
+ "type": "boolean",
1336
+ "default": false
1337
+ },
1338
+ "minimumTitleRow": {
1339
+ "description": "If user wants to show more text in title then he/she can configure no of lines to be shown in title(Maximum allowed 3 lines)",
1340
+ "type": "integer",
1341
+ "default": 1,
1342
+ "pattern": "^[1-3]$"
1343
+ },
1344
+ "minimumSubTitleRow": {
1345
+ "description": "If user wants to show more text in title then he/she can configure no of lines to be shown in sub-title(Maximum allowed 2 lines)",
1346
+ "type": "integer",
1347
+ "default": 1,
1348
+ "pattern": "^[12]$"
902
1349
  }
903
1350
  }
904
1351
  },
@@ -945,22 +1392,62 @@
945
1392
  "type": "string",
946
1393
  "pattern": "^[a-zA-Z0-9_\\.\\-\\|\\@\\#]*$"
947
1394
  },
1395
+ "dynamicSubtitleAnnotationPath": {
1396
+ "description": "Represents the dynamic subtitle annotation path",
1397
+ "type": "string",
1398
+ "pattern": "^[a-zA-Z0-9_\\.\\-\\|\\@\\#]*$"
1399
+ },
948
1400
  "value": {
949
1401
  "description": "Represents the drop down value to be shown",
950
1402
  "type": "string"
951
- }
952
- }
953
- },
954
- "card_setting": {
955
- "description": "Represents the card specific properties - properties that are passed to the card",
956
- "type": "object",
957
- "additionalProperties": true,
958
- "properties": {
1403
+ },
1404
+ "chartProperties": {
1405
+ "description": "This property is responsible for setting specific chart settings",
1406
+ "type": "object",
1407
+ "additionalProperties": false,
1408
+ "properties": {
1409
+ "plotArea": {
1410
+ "$ref": "#/definitions/plotAreaDef"
1411
+ },
1412
+ "timeAxis": {
1413
+ "$ref": "#/definitions/timeAxisDef"
1414
+ }
1415
+ }
1416
+ },
1417
+ "colorPalette": {
1418
+ "description": "Represents the configuration to customize the column stacked chart",
1419
+ "oneOf": [
1420
+ {
1421
+ "type": "array",
1422
+ "items": {
1423
+ "type": "object"
1424
+ }
1425
+ },
1426
+ {
1427
+ "type": "object"
1428
+ }
1429
+ ]
1430
+ }
1431
+ }
1432
+ },
1433
+ "card_setting": {
1434
+ "description": "Represents the card specific properties - properties that are passed to the card",
1435
+ "type": "object",
1436
+ "required": [
1437
+ "title"
1438
+ ],
1439
+ "additionalProperties": true,
1440
+ "properties": {
959
1441
  "category": {
960
1442
  "description": "Represents the category of the card- used in the card header",
961
1443
  "type": "string",
962
1444
  "pattern": "^\\{\\{[^\\W\\.\\-][\\w\\.\\-]*\\}\\}$"
963
1445
  },
1446
+ "itemText": {
1447
+ "description": "Represents the user defined string in placeholder card",
1448
+ "type": "string",
1449
+ "pattern": "^\\{\\{[^\\W\\.\\-][\\w\\.\\-]*\\}\\}$"
1450
+ },
964
1451
  "title": {
965
1452
  "description": "Represents language-dependent title of the card - used in the card header",
966
1453
  "type": "string",
@@ -971,6 +1458,11 @@
971
1458
  "type": "string",
972
1459
  "pattern": "^\\{\\{[^\\W\\.\\-][\\w\\.\\-]*\\}\\}$"
973
1460
  },
1461
+ "valueSelectionInfo": {
1462
+ "description": "Represents things like people, number of items",
1463
+ "type": "string",
1464
+ "pattern": "^\\{\\{[^\\W\\.\\-][\\w\\.\\-]*\\}\\}$"
1465
+ },
974
1466
  "entitySet": {
975
1467
  "description": "Represents the entity set that will be displayed in this card",
976
1468
  "type": "string",
@@ -1040,6 +1532,21 @@
1040
1532
  "identificationAnnotationPath": {
1041
1533
  "description": "Represents the identification annotation path",
1042
1534
  "type": "string",
1535
+ "pattern": "^[a-zA-Z0-9_\\.\\-\\|\\@\\#\\,]*$"
1536
+ },
1537
+ "kpiAnnotationPath": {
1538
+ "description": "Represents the KPI annotation path",
1539
+ "type": "string",
1540
+ "pattern": "^[a-zA-Z0-9_\\.\\-\\|\\@\\#]*$"
1541
+ },
1542
+ "selectionPresentationAnnotationPath": {
1543
+ "description": "Represents the selection presentation annotation path",
1544
+ "type": "string",
1545
+ "pattern": "^[a-zA-Z0-9_\\.\\-\\|\\@\\#]*$"
1546
+ },
1547
+ "dynamicSubtitleAnnotationPath": {
1548
+ "description": "Represents the dynamic subtitle annotation path",
1549
+ "type": "string",
1043
1550
  "pattern": "^[a-zA-Z0-9_\\.\\-\\|\\@\\#]*$"
1044
1551
  },
1045
1552
  "ignoreSapText": {
@@ -1052,18 +1559,92 @@
1052
1559
  },
1053
1560
  "requireAppAuthorization": {
1054
1561
  "description": "Represents the cards for which authorization is required",
1562
+ "type": "string"
1563
+ },
1564
+ "objectStreamCardsSettings": {
1565
+ "$ref": "#/definitions/objectStreamCardsSettingsDef"
1566
+ },
1567
+ "enableLocaleCurrencyFormatting": {
1568
+ "description": "Represents the flag to indicate the use of object number/smart field",
1569
+ "type": "boolean",
1570
+ "default": false
1571
+ },
1572
+ "navigation": {
1573
+ "description": "Represents the configuration to alter the navigation mode in OVP Analytical Cards",
1055
1574
  "type": "string",
1056
- "pattern": "^[a-zA-Z0-9_\\.\\-\\|\\@\\#]*$"
1575
+ "enum": [
1576
+ "dataPointNav",
1577
+ "chartNav",
1578
+ "headerNav",
1579
+ "noHeaderNav"
1580
+ ]
1581
+ },
1582
+ "showFilterInHeader": {
1583
+ "description": "Represents a switch to Show or Hide Filters in Cards Headers in OVP application",
1584
+ "type": "boolean",
1585
+ "default": false
1586
+ },
1587
+ "showSortingInHeader": {
1588
+ "description": "Represents a switch to Show or Hide Sorting in Cards Headers in OVP application",
1589
+ "type": "boolean",
1590
+ "default": false
1591
+ },
1592
+ "imageSupported": {
1593
+ "description": "Flag for enabling images in a condensed list card",
1594
+ "type": "boolean",
1595
+ "default": false
1596
+ },
1597
+ "showLineItemDetail": {
1598
+ "description": "Flag for show line item detail in list and table card",
1599
+ "type": "boolean",
1600
+ "default": false
1601
+ },
1602
+ "showLabelText": {
1603
+ "description": "This property is responsible for showing and hiding text labels on the geo spots",
1604
+ "type": "boolean",
1605
+ "default": false
1606
+ },
1607
+ "customParams": {
1608
+ "description": "This property is responsible for passing custom parameters present in the entity set to the navigating application",
1609
+ "type": "string",
1610
+ "pattern": "^[^\\W\\.\\-][\\w\\.\\-]*$"
1611
+ },
1612
+ "chartProperties": {
1613
+ "description": "This property is responsible for setting specific chart settings",
1614
+ "type": "object",
1615
+ "additionalProperties": false,
1616
+ "properties": {
1617
+ "plotArea": {
1618
+ "$ref": "#/definitions/plotAreaDef"
1619
+ },
1620
+ "timeAxis": {
1621
+ "$ref": "#/definitions/timeAxisDef"
1622
+ }
1623
+ }
1624
+ },
1625
+ "colorPalette": {
1626
+ "description": "Represents the configuration to customize the column stacked chart",
1627
+ "oneOf": [
1628
+ {
1629
+ "type": "array",
1630
+ "items": {
1631
+ "type": "object"
1632
+ }
1633
+ },
1634
+ {
1635
+ "type": "object"
1636
+ }
1637
+ ]
1057
1638
  }
1058
1639
  }
1059
1640
  },
1060
- "dashboardLayoutVariant": {
1061
- "description": "Represents the dashboard layout variant",
1641
+ "resizableLayoutVariant": {
1642
+ "description": "Represents the resizable layout variant",
1062
1643
  "type": "object",
1063
1644
  "additionalProperties": false,
1064
1645
  "patternProperties": {
1065
1646
  "^[a-zA-Z0-9_\\.\\-]+$": {
1066
- "$ref": "#/definitions/dashboardLayoutVariantCardProperties"
1647
+ "$ref": "#/definitions/resizableLayoutVariantCardProperties"
1067
1648
  }
1068
1649
  }
1069
1650
  },
@@ -1102,9 +1683,71 @@
1102
1683
  }
1103
1684
  }
1104
1685
  },
1105
- "component_setting_def": {
1106
- "description": "Represents the settings specific to one component",
1107
- "type": "object"
1686
+ "defaultLayoutType_def": {
1687
+ "type": "string"
1688
+ },
1689
+ "implementingComponent_def": {
1690
+ "type": "object",
1691
+ "additionalProperties": false,
1692
+ "required": [
1693
+ "componentName"
1694
+ ],
1695
+ "properties": {
1696
+ "componentName": {
1697
+ "description": "Represents the name of the component to be loaded inside the canvas",
1698
+ "type": "string",
1699
+ "pattern": "^([a-zA-Z][a-zA-Z0-9_]{0,39})(\\.[a-zA-Z][a-zA-Z0-9_]{0,39})*$"
1700
+ },
1701
+ "binding": {
1702
+ "description": " Represents a binding string to indicate, how the reuse component should be bound relative to the containing page or absolute ",
1703
+ "type": "string"
1704
+ },
1705
+ "settings": {
1706
+ "$ref": "#/definitions/component_setting_def"
1707
+ },
1708
+ "pages": {
1709
+ "type": "object",
1710
+ "additionalProperties": false,
1711
+ "patternProperties": {
1712
+ "^[a-zA-Z0-9_\\.\\-]+[\\|]?[a-zA-Z0-9_\\.\\-]+$": {
1713
+ "$ref": "#/definitions/pages_map"
1714
+ }
1715
+ }
1716
+ }
1717
+ }
1718
+ },
1719
+ "routingSpec_def": {
1720
+ "type": "object",
1721
+ "additionalProperties": false,
1722
+ "required": [
1723
+ "routeName"
1724
+ ],
1725
+ "properties": {
1726
+ "routeName": {
1727
+ "description": "Represents the name of the route",
1728
+ "type": "string"
1729
+ },
1730
+ "noOData": {
1731
+ "description": "Represents the switch to indicate, that this route is not related to the OData service",
1732
+ "type": "boolean"
1733
+ },
1734
+ "binding": {
1735
+ "description": "Represents the binding string to indicate, how the page should be bound relative to the predecessor page or absolute",
1736
+ "type": "string"
1737
+ },
1738
+ "headerTitle": {
1739
+ "description": "Represents the the title to be shown on the page",
1740
+ "type": "string"
1741
+ },
1742
+ "typeImageUrl": {
1743
+ "description": "Represents the URL pointing to an icon, that will be shown in the navigation menu additional to the title to represent the page",
1744
+ "type": "string"
1745
+ },
1746
+ "noKey": {
1747
+ "description": "Represents the switch to indicate, whether this route is reached via a 1:1 navigation or a 1:n navigation",
1748
+ "type": "boolean"
1749
+ }
1750
+ }
1108
1751
  },
1109
1752
  "navigation_def": {
1110
1753
  "description": "Represents ...",
@@ -1147,6 +1790,10 @@
1147
1790
  }
1148
1791
  }
1149
1792
  },
1793
+ "component_setting_def": {
1794
+ "description": "Represents the settings specific to one component",
1795
+ "type": "object"
1796
+ },
1150
1797
  "embeddedComponent": {
1151
1798
  "type": "object",
1152
1799
  "additionalProperties": false,
@@ -1177,6 +1824,18 @@
1177
1824
  "settings": {
1178
1825
  "description": "Represents a map to populate the API of the reuse component",
1179
1826
  "type": "object"
1827
+ },
1828
+ "hiddenByDefault": {
1829
+ "description": "Flag, whether the embedded component should be hidden by default",
1830
+ "type: ": "boolean"
1831
+ },
1832
+ "groupTitle": {
1833
+ "description": "Represents group title of reuse components",
1834
+ "type": "string"
1835
+ },
1836
+ "leadingSectionIdOrPath": {
1837
+ "description": "Represents a section that behaves a leading section for the group",
1838
+ "type": "string"
1180
1839
  }
1181
1840
  }
1182
1841
  },
@@ -1191,7 +1850,19 @@
1191
1850
  "componentName": {
1192
1851
  "description": "Represents the name of the reuse component ",
1193
1852
  "type": "string",
1194
- "pattern": "^([a-zA-Z][a-zA-Z0-9]{0,39})(\\.[a-zA-Z][a-zA-Z0-9]{0,39})*$"
1853
+ "pattern": "^([a-zA-Z][a-zA-Z0-9_]{0,39})(\\.[a-zA-Z][a-zA-Z0-9_]{0,39})*$"
1854
+ }
1855
+ }
1856
+ },
1857
+ {
1858
+ "type": "object",
1859
+ "required": [
1860
+ "componentUsage"
1861
+ ],
1862
+ "properties": {
1863
+ "componentUsage": {
1864
+ "description": "Represents the reference to the name of the componentUsages defined in sap.ui5/componentUsages",
1865
+ "type": "string"
1195
1866
  }
1196
1867
  }
1197
1868
  },
@@ -1230,11 +1901,60 @@
1230
1901
  }
1231
1902
  }
1232
1903
  },
1233
- "page": {
1904
+ "pages_map": {
1905
+ "type": "object",
1906
+ "additionalProperties": false,
1907
+ "required": [
1908
+ "component"
1909
+ ],
1910
+ "properties": {
1911
+ "navigationProperty": {
1912
+ "description": "Represents the navigation property that leads to this page. The navigation links of the previous page (the page that calls this one) are determined through this property ",
1913
+ "type": "string"
1914
+ },
1915
+ "entitySet": {
1916
+ "description": "Represents the entity set that defines either the aggregation or the root object of the component",
1917
+ "type": "string"
1918
+ },
1919
+ "component": {
1920
+ "description": "Represents the component and its settings that makes the page",
1921
+ "$ref": "#/definitions/component_def"
1922
+ },
1923
+ "navigation": {
1924
+ "description": "Represents the different navigation targets",
1925
+ "$ref": "#/definitions/navigation_def"
1926
+ },
1927
+ "embeddedComponents": {
1928
+ "description": "Represent reuse components that should be appended at the end of the template component",
1929
+ "$ref": "#/definitions/embeddedComponent"
1930
+ },
1931
+ "routingSpec": {
1932
+ "description": "Represents the routing specification",
1933
+ "$ref": "#/definitions/routingSpec_def"
1934
+ },
1935
+ "implementingComponent": {
1936
+ "description": "Represents the component to be loaded inside the canvas if sap.suite.ui.generic.template.Canvas is used as component name, and its settings",
1937
+ "$ref": "#/definitions/implementingComponent_def"
1938
+ },
1939
+ "defaultLayoutType": {
1940
+ "description": "Default layout used to open the corresponding page in FlexibleColumnLayout",
1941
+ "$ref": "#/definitions/defaultLayoutType_def"
1942
+ },
1943
+ "pages": {
1944
+ "type": "object",
1945
+ "additionalProperties": false,
1946
+ "patternProperties": {
1947
+ "^[a-zA-Z0-9_\\.\\-]+[\\|]?[a-zA-Z0-9_\\.\\-]+$": {
1948
+ "$ref": "#/definitions/pages_map"
1949
+ }
1950
+ }
1951
+ }
1952
+ }
1953
+ },
1954
+ "pages_array": {
1234
1955
  "type": "object",
1235
1956
  "additionalProperties": false,
1236
1957
  "required": [
1237
- "entitySet",
1238
1958
  "component"
1239
1959
  ],
1240
1960
  "properties": {
@@ -1258,10 +1978,22 @@
1258
1978
  "description": "Represent reuse components that should be appended at the end of the template component",
1259
1979
  "$ref": "#/definitions/embeddedComponent"
1260
1980
  },
1981
+ "routingSpec": {
1982
+ "description": "Represents the routing specification",
1983
+ "$ref": "#/definitions/routingSpec_def"
1984
+ },
1985
+ "implementingComponent": {
1986
+ "description": "Represents the component to be loaded inside the canvas if sap.suite.ui.generic.template.Canvas is used as component name, and its settings",
1987
+ "$ref": "#/definitions/implementingComponent_def"
1988
+ },
1989
+ "defaultLayoutType": {
1990
+ "description": "Default layout used to open the corresponding page in FlexibleColumnLayout",
1991
+ "$ref": "#/definitions/defaultLayoutType_def"
1992
+ },
1261
1993
  "pages": {
1262
1994
  "type": "array",
1263
1995
  "items": {
1264
- "$ref": "#/definitions/page"
1996
+ "$ref": "#/definitions/pages_array"
1265
1997
  }
1266
1998
  }
1267
1999
  }
@@ -1270,29 +2002,20 @@
1270
2002
  "description": "Represents global settings for the application controller",
1271
2003
  "type": "object"
1272
2004
  },
1273
- "ui5setting": {
2005
+ "routeTargetObject": {
2006
+ "description": "Represents the definition of a target of a route as object.",
1274
2007
  "type": "object",
1275
- "additionalProperties": true,
1276
2008
  "properties": {
1277
- "defaultBindingMode": {
1278
- "description": "Represents default binding mode and must be a string value from sap.ui.model.BindingMode. Possible values: Default, OneTime, OneWay, TwoWay",
1279
- "type": "string",
1280
- "default": "Default",
1281
- "enum": [
1282
- "Default",
1283
- "OneTime",
1284
- "OneWay",
1285
- "TwoWay"
1286
- ]
2009
+ "name": {
2010
+ "description": "Represents the name of the routing target",
2011
+ "type": "string"
2012
+ },
2013
+ "prefix": {
2014
+ "description": "The prefix of the routing target",
2015
+ "type": "string"
1287
2016
  }
1288
2017
  }
1289
2018
  },
1290
- "version": {
1291
- "type": "string"
1292
- },
1293
- "id_def_0": {
1294
- "type": "string"
1295
- },
1296
2019
  "routeWithoutName": {
1297
2020
  "description": "Represents the definition of route without the option 'name'. This is used when routes are defined in an object.",
1298
2021
  "type": "object",
@@ -1307,7 +2030,11 @@
1307
2030
  },
1308
2031
  "target": {
1309
2032
  "description": "Represents one or multiple names of targets which are displayed when the route is matched",
1310
- "$ref": "#/definitions/arrayOrString"
2033
+ "$ref": "#/definitions/routeTarget"
2034
+ },
2035
+ "titleTarget": {
2036
+ "description": "Represents the name of the target where the 'title' information should be taken",
2037
+ "type": "string"
1311
2038
  }
1312
2039
  }
1313
2040
  },
@@ -1335,6 +2062,10 @@
1335
2062
  "description": "Represents the definition of each target",
1336
2063
  "type": "object",
1337
2064
  "properties": {
2065
+ "title": {
2066
+ "description": "Represents the information which is included as a parameter of the 'titleChanged' event fired on Router when this target is displayed. The title can be set with static text and can also be set with a valid property binding syntax which will be resolved under the scope of the view in the target where the title property is defined.",
2067
+ "type": "string"
2068
+ },
1338
2069
  "viewType": {
1339
2070
  "description": "Represents the type of view that is going to be created",
1340
2071
  "type": "string",
@@ -1346,10 +2077,6 @@
1346
2077
  "Template"
1347
2078
  ]
1348
2079
  },
1349
- "viewPath": {
1350
- "description": "Represents a prefix that is prepended in front of the viewName",
1351
- "type": "string"
1352
- },
1353
2080
  "targetParent": {
1354
2081
  "description": "Represents the id of the view that contains the control specified by the 'controlId'",
1355
2082
  "type": "string"
@@ -1399,42 +2126,93 @@
1399
2126
  }
1400
2127
  }
1401
2128
  },
1402
- "arrayOrString": {
2129
+ "routeTarget": {
2130
+ "description": "Represents the definition of a target of a route.",
1403
2131
  "oneOf": [
1404
2132
  {
1405
2133
  "type": "array",
1406
- "items": {
1407
- "type": "string"
1408
- }
2134
+ "items": [
2135
+ {
2136
+ "oneOf": [
2137
+ {
2138
+ "type": "string"
2139
+ },
2140
+ {
2141
+ "$ref": "#/definitions/routeTargetObject"
2142
+ }
2143
+ ]
2144
+ }
2145
+ ]
1409
2146
  },
1410
2147
  {
1411
2148
  "type": "string"
2149
+ },
2150
+ {
2151
+ "$ref": "#/definitions/routeTargetObject"
1412
2152
  }
1413
2153
  ]
1414
2154
  },
1415
- "config": {
1416
- "oneOf": [
1417
- {
2155
+ "ui5setting": {
2156
+ "type": "object",
2157
+ "additionalProperties": true,
2158
+ "properties": {
2159
+ "defaultBindingMode": {
2160
+ "description": "Represents default binding mode and must be a string value from sap.ui.model.BindingMode. Possible values: Default, OneTime, OneWay, TwoWay",
2161
+ "type": "string",
2162
+ "default": "Default",
2163
+ "enum": [
2164
+ "Default",
2165
+ "OneTime",
2166
+ "OneWay",
2167
+ "TwoWay"
2168
+ ]
2169
+ },
2170
+ "enhanceWith": {
2171
+ "description": "Represents enhancement of UI5 resource model with additional properties files",
1418
2172
  "type": "array",
1419
2173
  "items": {
1420
- "type": "string"
2174
+ "type": "object",
2175
+ "oneOf": [
2176
+ {
2177
+ "additionalProperties": false,
2178
+ "required": [
2179
+ "bundleUrl"
2180
+ ],
2181
+ "properties": {
2182
+ "bundleUrl": {
2183
+ "description": "Represents property url for model enhancement",
2184
+ "type": "string"
2185
+ },
2186
+ "bundleUrlRelativeTo": {
2187
+ "description": "Indicates whether url is relative to component (default) or manifest",
2188
+ "type": "string",
2189
+ "default": "component",
2190
+ "enum": [
2191
+ "manifest",
2192
+ "component"
2193
+ ]
2194
+ }
2195
+ }
2196
+ },
2197
+ {
2198
+ "required": [
2199
+ "bundleName"
2200
+ ],
2201
+ "additionalProperties": false,
2202
+ "properties": {
2203
+ "bundleName": {
2204
+ "description": "Represents the alternative for bundleUrl",
2205
+ "type": "string"
2206
+ }
2207
+ }
2208
+ }
2209
+ ]
1421
2210
  }
1422
- },
1423
- {
1424
- "type": "string"
1425
- },
1426
- {
1427
- "type": "boolean"
1428
- },
1429
- {
1430
- "type": "number"
1431
- },
1432
- {
1433
- "type": "object"
1434
2211
  }
1435
- ]
2212
+ }
1436
2213
  },
1437
2214
  "rootView_def": {
2215
+ "description": "Represents the root view definition being either the name of the view or the view definition object",
1438
2216
  "oneOf": [
1439
2217
  {
1440
2218
  "type": "string"
@@ -1460,9 +2238,241 @@
1460
2238
  "HTML",
1461
2239
  "Template"
1462
2240
  ]
2241
+ },
2242
+ "id": {
2243
+ "description": "Represents the id of the view",
2244
+ "type": "string"
2245
+ }
2246
+ }
2247
+ }
2248
+ ]
2249
+ },
2250
+ "routing": {
2251
+ "description": "Represents the configuration of routing",
2252
+ "type": "object",
2253
+ "properties": {
2254
+ "config": {
2255
+ "description": "Represents the default properties defined for route and target",
2256
+ "allOf": [
2257
+ {
2258
+ "type": "object",
2259
+ "properties": {
2260
+ "routerClass": {
2261
+ "description": "Represents the router class",
2262
+ "type": "string"
2263
+ },
2264
+ "async": {
2265
+ "description": "Indicates whether the Views in routing are loaded asyncly",
2266
+ "type": "boolean",
2267
+ "default": false
2268
+ },
2269
+ "bypassed": {
2270
+ "description": "Represents information about targets to display when no route is matched",
2271
+ "type": "object",
2272
+ "additionalProperties": false,
2273
+ "required": [
2274
+ "target"
2275
+ ],
2276
+ "properties": {
2277
+ "target": {
2278
+ "description": "Represents one or multiple names of targets that are displayed when no route is matched",
2279
+ "$ref": "#/definitions/routeTarget"
2280
+ }
2281
+ }
2282
+ },
2283
+ "viewPath": {
2284
+ "description": "Represents a prefix that is prepended in front of the viewName",
2285
+ "type": "string"
2286
+ }
2287
+ }
2288
+ },
2289
+ {
2290
+ "$ref": "#/definitions/target"
2291
+ }
2292
+ ]
2293
+ },
2294
+ "routes": {
2295
+ "oneOf": [
2296
+ {
2297
+ "description": "Represents the definition of routes by providing an array with elements which contain the configuration for each route",
2298
+ "type": "array",
2299
+ "items": {
2300
+ "$ref": "#/definitions/route"
2301
+ }
2302
+ },
2303
+ {
2304
+ "description": "Represents the definition of routes by providing an object with the route's name as the key and other route options in an object as the value",
2305
+ "type": "object",
2306
+ "patternProperties": {
2307
+ "[\\s\\S]*": {
2308
+ "$ref": "#/definitions/routeWithoutName"
2309
+ }
2310
+ }
2311
+ }
2312
+ ]
2313
+ },
2314
+ "targets": {
2315
+ "description": "Represents the definition of targets",
2316
+ "type": "object",
2317
+ "patternProperties": {
2318
+ "[\\s\\S]*": {
2319
+ "oneOf": [
2320
+ {
2321
+ "allOf": [
2322
+ {
2323
+ "$ref": "#/definitions/target"
2324
+ },
2325
+ {
2326
+ "type": "object",
2327
+ "required": [
2328
+ "viewName"
2329
+ ],
2330
+ "properties": {
2331
+ "viewName": {
2332
+ "description": "Represents the name of a view that will be created",
2333
+ "type": "string"
2334
+ },
2335
+ "viewId": {
2336
+ "description": "Represents the id of the created view",
2337
+ "type": "string"
2338
+ },
2339
+ "viewPath": {
2340
+ "description": "Represents a prefix that is prepended in front of the viewName",
2341
+ "type": "string"
2342
+ }
2343
+ }
2344
+ }
2345
+ ]
2346
+ },
2347
+ {
2348
+ "allOf": [
2349
+ {
2350
+ "$ref": "#/definitions/target"
2351
+ },
2352
+ {
2353
+ "oneOf": [
2354
+ {
2355
+ "type": "object",
2356
+ "required": [
2357
+ "name"
2358
+ ],
2359
+ "properties": {
2360
+ "name": {
2361
+ "description": "Represents the name of a view or component that will be created",
2362
+ "type": "string"
2363
+ },
2364
+ "id": {
2365
+ "description": "Represents the id of the created view or component",
2366
+ "type": "string"
2367
+ },
2368
+ "path": {
2369
+ "description": "Represents a prefix that is prepended in front of the view or component name",
2370
+ "type": "string"
2371
+ },
2372
+ "type": {
2373
+ "description": "Represents the type of the type View or Component",
2374
+ "type": "string",
2375
+ "enum": [
2376
+ "View",
2377
+ "Component"
2378
+ ]
2379
+ }
2380
+ }
2381
+ },
2382
+ {
2383
+ "type": "object",
2384
+ "required": [
2385
+ "usage",
2386
+ "type"
2387
+ ],
2388
+ "properties": {
2389
+ "usage": {
2390
+ "description": "Represents the componentUsage of the component that will be created",
2391
+ "type": "string"
2392
+ },
2393
+ "id": {
2394
+ "description": "Represents the id of the created view or component",
2395
+ "type": "string"
2396
+ },
2397
+ "type": {
2398
+ "description": "Represents the type of the type Component",
2399
+ "type": "string",
2400
+ "enum": [
2401
+ "Component"
2402
+ ]
2403
+ }
2404
+ }
2405
+ }
2406
+ ]
2407
+ }
2408
+ ]
2409
+ }
2410
+ ]
1463
2411
  }
1464
2412
  }
1465
2413
  }
2414
+ }
2415
+ },
2416
+ "command": {
2417
+ "description": "Represents a UI5 shortcut command.",
2418
+ "additionalProperties": false,
2419
+ "type": "object",
2420
+ "properties": {
2421
+ "shortcut": {
2422
+ "description": "A string describing a shortcut key combination that, when used by the user, will trigger the command.",
2423
+ "type": "string",
2424
+ "patternTransformCode": "''.split('').map(function(char) { console.log(char); if (/[a-z]/i.test(char)) { return `[${char.toUpperCase()}${char.toLowerCase()}]`; } else { return char; } } ).join('')",
2425
+ "patternFromRuntime": "^((Ctrl|Shift|Alt)(\\+)?){0,3}([A-Za-z0-9\\.,\\-\\*\\/=]|Plus|Tab|Space|Enter|Backspace|Home|Delete|End|Pageup|Pagedown|Escape|ArrowUp|ArrowDown|ArrowLeft|ArrowRight|F[1-9]|F1[0-2])$",
2426
+ "pattern": "^(([Cc][Tt][Rr][Ll]|[Ss][Hh][Ii][Ff][Tt]|[Aa][Ll][Tt])(\\+)?){0,3}([A-Za-z0-9\\.,\\-\\*\\/=]|[Pp][Ll][Uu][Ss]|[Tt][Aa][Bb]|[Ss][Pp][Aa][Cc][Ee]|[Ee][Nn][Tt][Ee][Rr]|[Bb][Aa][Cc][Kk][Ss][Pp][Aa][Cc][Ee]|[Hh][Oo][Mm][Ee]|[Dd][Ee][Ll][Ee][Tt][Ee]|[Ee][Nn][Dd]|[Pp][Aa][Gg][Ee][Uu][Pp]|[Pp][Aa][Gg][Ee][Dd][Oo][Ww][Nn]|[Ee][Ss][Cc][Aa][Pp][Ee]|[Aa][Rr][Rr][Oo][Ww][Uu][Pp]|[Aa][Rr][Rr][Oo][Ww][Dd][Oo][Ww][Nn]|[Aa][Rr][Rr][Oo][Ww][Ll][Ee][Ff][Tt]|[Aa][Rr][Rr][Oo][Ww][Rr][Ii][Gg][Hh][Tt]|F[1-9]|F1[0-2])$"
2427
+ }
2428
+ }
2429
+ },
2430
+ "service": {
2431
+ "description": "Represents the definition of each service",
2432
+ "type": "object",
2433
+ "required": [
2434
+ "factoryName"
2435
+ ],
2436
+ "additionalProperties": true,
2437
+ "properties": {
2438
+ "factoryName": {
2439
+ "description": "Represents the name of the service factory ",
2440
+ "type": "string",
2441
+ "pattern": "^([a-z_$][a-z0-9_$]{0,39}\\.)*([a-zA-Z_$][a-zA-Z0-9_$]{0,39})$"
2442
+ },
2443
+ "optional": {
2444
+ "description": "Indicates whether the service optional or not ",
2445
+ "type": "boolean",
2446
+ "default": false
2447
+ }
2448
+ }
2449
+ },
2450
+ "version": {
2451
+ "type": "string"
2452
+ },
2453
+ "id_def_0": {
2454
+ "type": "string"
2455
+ },
2456
+ "config": {
2457
+ "oneOf": [
2458
+ {
2459
+ "type": "array",
2460
+ "items": {
2461
+ "type": "string"
2462
+ }
2463
+ },
2464
+ {
2465
+ "type": "string"
2466
+ },
2467
+ {
2468
+ "type": "boolean"
2469
+ },
2470
+ {
2471
+ "type": "number"
2472
+ },
2473
+ {
2474
+ "type": "object"
2475
+ }
1466
2476
  ]
1467
2477
  },
1468
2478
  "resourceRoot": {
@@ -1505,7 +2515,7 @@
1505
2515
  "$ref": "#/definitions/version"
1506
2516
  },
1507
2517
  "lazy": {
1508
- "description": "Represents ...",
2518
+ "description": "Represents Indicator to lazy loading component",
1509
2519
  "type": "boolean",
1510
2520
  "default": false
1511
2521
  }
@@ -1520,12 +2530,40 @@
1520
2530
  "$ref": "#/definitions/version"
1521
2531
  },
1522
2532
  "lazy": {
1523
- "description": "Represents ...",
2533
+ "description": "Represents Indicator to lazy loading lib",
1524
2534
  "type": "boolean",
1525
2535
  "default": false
1526
2536
  }
1527
2537
  }
1528
2538
  },
2539
+ "componentUsages": {
2540
+ "description": "Represents component name for usage",
2541
+ "type": "object",
2542
+ "required": [
2543
+ "name"
2544
+ ],
2545
+ "additionalProperties": false,
2546
+ "properties": {
2547
+ "name": {
2548
+ "description": "Represents name of reuse component",
2549
+ "type": "string",
2550
+ "pattern": "^([a-zA-Z_$][a-zA-Z0-9_$]{0,39}\\.)*([a-zA-Z_$][a-zA-Z0-9_$]{0,39})$"
2551
+ },
2552
+ "componentData": {
2553
+ "description": "Represents component data for the Component",
2554
+ "$ref": "#/definitions/config"
2555
+ },
2556
+ "settings": {
2557
+ "description": "Represents settings for the Component",
2558
+ "$ref": "#/definitions/config"
2559
+ },
2560
+ "lazy": {
2561
+ "description": "Represents Indicator to lazy loading component usage, default true",
2562
+ "type": "boolean",
2563
+ "default": true
2564
+ }
2565
+ }
2566
+ },
1529
2567
  "resource": {
1530
2568
  "type": "object",
1531
2569
  "properties": {
@@ -1658,7 +2696,7 @@
1658
2696
  },
1659
2697
  "i18n_key": {
1660
2698
  "type": "string",
1661
- "pattern": "^\\{\\{[^\\W][\\w\\.\\-]*\\}\\}$"
2699
+ "pattern": "^\\{\\{[\\w][\\w\\.\\-]*\\}\\}$"
1662
2700
  },
1663
2701
  "id_def": {
1664
2702
  "type": "string",