@ui5/manifest 1.4.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.
@@ -0,0 +1,1400 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated by json-schema-to-typescript.
4
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
5
+ * and run json-schema-to-typescript to regenerate this file.
6
+ */
7
+
8
+ export type Version = string;
9
+ export type I18NKey = string;
10
+ export type Tag = I18NKey[];
11
+ /**
12
+ * This interface was referenced by `undefined`'s JSON-Schema definition
13
+ * via the `patternProperty` "^[a-zA-Z0-9_\.\-]*$".
14
+ */
15
+ export type ResourceRoot = string;
16
+ /**
17
+ * This interface was referenced by `undefined`'s JSON-Schema definition
18
+ * via the `patternProperty` "[\s\S]*".
19
+ */
20
+ export type Config =
21
+ | string[]
22
+ | string
23
+ | boolean
24
+ | number
25
+ | {
26
+ [k: string]: unknown;
27
+ };
28
+ /**
29
+ * Represents the definition of each route
30
+ */
31
+ export type Route = RouteWithoutName & {
32
+ /**
33
+ * Represents the name of the route
34
+ */
35
+ name: string;
36
+ [k: string]: unknown;
37
+ };
38
+ /**
39
+ * Represents the card default grid size in columns and rows
40
+ */
41
+ export type DefaultSpanDef =
42
+ | {
43
+ /**
44
+ * Represents the number of the number of grid columns
45
+ */
46
+ cols: number;
47
+ /**
48
+ * Represents the number of the number of grid rows
49
+ */
50
+ rows: number;
51
+ }
52
+ | "auto";
53
+
54
+ export interface SAPJSONSchemaForWebApplicationManifestFile {
55
+ /**
56
+ * Represents Application Descriptor format version. It is managed by schema owner
57
+ */
58
+ _version: "1.1.0" | "1.2.0" | "1.3.0" | "1.4.0";
59
+ /**
60
+ * Represents the URL that the developer would prefer the user agent load when the user launches the web application
61
+ */
62
+ start_url?: string;
63
+ "sap.app": JSONSchemaForSAPAPPNamespace;
64
+ "sap.ui": JSONSchemaForSAPUINamespace;
65
+ "sap.ui5"?: JSONSchemaForSAPUI5Namespace;
66
+ "sap.platform.abap"?: JSONSchemaForSAPPLATFORMABAPNamespace;
67
+ "sap.platform.hcp"?: JSONSchemaForSAPPLATFORMHCPNamespace;
68
+ "sap.fiori"?: JSONSchemaForSAPFIORINamespace;
69
+ "sap.ui.generic.app"?: JSONSchemaForSAPUIGENERICAPPNamespace;
70
+ "sap.flp"?: JSONSchemaForSAPFLPNamespace;
71
+ "sap.ovp"?: JSONSchemaForSAPOVPNamespace;
72
+ "sap.wda"?: JSONSchemaForSAPWDANamespace;
73
+ "sap.apf"?: JSONSchemaForSAPAPFNamespace;
74
+ "sap.cloud.portal"?: JSONSchemaForSAPCLOUDPORTALNamespace;
75
+ "sap.gui"?: JSONSchemaForSAPGUINamespace;
76
+ "sap.ui.smartbusiness.app"?: JSONSchemaForSAPUISMARTBUSINESSAPPNamespace;
77
+ "sap.mobile"?: JSONSchemaForSAPMOBILENamespace;
78
+ }
79
+ /**
80
+ * Represents general application attributes
81
+ */
82
+ export interface JSONSchemaForSAPAPPNamespace {
83
+ /**
84
+ * Application attributes format version. It is managed by namespace owner
85
+ */
86
+ _version?: "1.1.0" | "1.2.0" | "1.3.0" | "1.4.0";
87
+ /**
88
+ * Represents the template from which the app was generated
89
+ */
90
+ sourceTemplate?: {
91
+ /**
92
+ * Represents id of the template from which the app was generated
93
+ */
94
+ id: string;
95
+ /**
96
+ * Represents the version of the template from which the app was generated
97
+ */
98
+ version: string;
99
+ [k: string]: unknown;
100
+ };
101
+ /**
102
+ * Represents mandatory unique app identifier which must correspond to component 'id/namespace'
103
+ */
104
+ id: string;
105
+ /**
106
+ * Represents type of an application and can be application or component or library
107
+ */
108
+ type: "application" | "component" | "library";
109
+ /**
110
+ * Represents path inside the app to the properties file containing text symbols for the Descriptor
111
+ */
112
+ i18n?: string;
113
+ /**
114
+ * Represents mandatory version of the app
115
+ */
116
+ applicationVersion: {
117
+ version: Version;
118
+ [k: string]: unknown;
119
+ };
120
+ /**
121
+ * Represents array of relative paths to the nested manifest.json's (mandatory if it contains nested 'manifest.json')
122
+ */
123
+ embeds?: string[];
124
+ /**
125
+ * Represents relative path back to the manifest.json of an embedding component or library (mandatory for nested 'manifest.json')
126
+ */
127
+ embeddedBy?: string;
128
+ /**
129
+ * Represents language-dependent mandatory title
130
+ */
131
+ title: string;
132
+ /**
133
+ * Represents language-dependent additional information to the title
134
+ */
135
+ subTitle?: string;
136
+ /**
137
+ * Represents language-dependent description
138
+ */
139
+ description?: string;
140
+ /**
141
+ * Represents array of keywords
142
+ */
143
+ tags?: {
144
+ keywords: Tag;
145
+ [k: string]: unknown;
146
+ };
147
+ /**
148
+ * Represents application component hierarchy
149
+ */
150
+ ach?: string;
151
+ /**
152
+ * Represents used data sources with a unique key/alias
153
+ */
154
+ dataSources?: {
155
+ [k: string]: DataSource;
156
+ };
157
+ /**
158
+ * Represents array of directly used CDS views, which only to be added if directly used via INA protocol and not if used via OData service
159
+ */
160
+ cdsViews?: string[];
161
+ /**
162
+ * Represents reference to a file (naming convention is resources.json) which contains list with all resources which the app needs
163
+ */
164
+ resources?: "resources.json";
165
+ /**
166
+ * Represents a system alias
167
+ */
168
+ destination?: {
169
+ /**
170
+ * Represents an alias for the system
171
+ */
172
+ name: string;
173
+ };
174
+ /**
175
+ * Represents a collection of directly used open source libs (not when used via UI5 capsulation)
176
+ */
177
+ openSourceComponents?: OpenSource[];
178
+ /**
179
+ * Represents indicator whether the app is running offline. Possible values are true or false (default)
180
+ */
181
+ offline?: boolean;
182
+ /**
183
+ * Represents cross navigation for inbound and outbound targets
184
+ */
185
+ crossNavigation?: {
186
+ /**
187
+ * Represents scopes of a site
188
+ */
189
+ scopes?: {
190
+ /**
191
+ * Represents unique id of the site
192
+ *
193
+ * This interface was referenced by `undefined`'s JSON-Schema definition
194
+ * via the `patternProperty` "^[\w\.\-]+$".
195
+ */
196
+ [k: string]: {
197
+ value: string;
198
+ [k: string]: unknown;
199
+ };
200
+ };
201
+ inbounds: Inbound;
202
+ outbounds?: Outbound;
203
+ [k: string]: unknown;
204
+ };
205
+ }
206
+ /**
207
+ * This interface was referenced by `undefined`'s JSON-Schema definition
208
+ * via the `patternProperty` "^[\w\.\-]*$".
209
+ */
210
+ export interface DataSource {
211
+ /**
212
+ * Represents uri of the data source
213
+ */
214
+ uri: string;
215
+ /**
216
+ * Represents type of the data source. The supported types are OData, ODataAnnotation, INA, XML, JSON
217
+ */
218
+ type?: "OData" | "ODataAnnotation" | "INA" | "XML" | "JSON";
219
+ settings?: Setting;
220
+ }
221
+ /**
222
+ * Represents data source type specific attributes (key, value pairs)
223
+ */
224
+ export interface Setting {
225
+ /**
226
+ * Represents version of OData: 2.0 is default
227
+ */
228
+ odataVersion?: "2.0" | "4.0";
229
+ /**
230
+ * Represents path to local meta data document or annotation uri
231
+ */
232
+ localUri?: string;
233
+ /**
234
+ * Represents array of annotation which references an existing data source of type ODataAnnotation
235
+ */
236
+ annotations?: string[];
237
+ /**
238
+ * Indicates that the client is unwilling to accept a response whose age is greater than the number of seconds specified in this field
239
+ */
240
+ maxAge?: number;
241
+ }
242
+ export interface OpenSource {
243
+ /**
244
+ * Represents a name of the open source as appears on the web
245
+ */
246
+ name: string;
247
+ /**
248
+ * Represents a version of the open source (if part of app, version must be specified, if part of UI5 dist layer, version is empty)
249
+ */
250
+ version?: string;
251
+ /**
252
+ * Indicates, whether it is part of the app or not
253
+ */
254
+ packagedWithMySelf?: boolean;
255
+ }
256
+ /**
257
+ * Represents cross navigation for inbound target
258
+ */
259
+ export interface Inbound {
260
+ /**
261
+ * This interface was referenced by `Inbound`'s JSON-Schema definition
262
+ * via the `patternProperty` "^[\w\.\-]+$".
263
+ */
264
+ [k: string]: {
265
+ /**
266
+ * Represents semantic object
267
+ */
268
+ semanticObject: string;
269
+ /**
270
+ * Represents action an the semantic object
271
+ */
272
+ action: string;
273
+ /**
274
+ * Represents icon
275
+ */
276
+ icon?: string;
277
+ /**
278
+ * Represents language-dependent - different languages via server API or on client
279
+ */
280
+ title?: I18NKey;
281
+ /**
282
+ * Represents language-dependent additional information to the title and can overwrite subTitle from sap.app definition
283
+ */
284
+ subTitle?: I18NKey;
285
+ /**
286
+ * Represents language-dependent additional information to the title
287
+ */
288
+ info?: string;
289
+ /**
290
+ * Represents data source
291
+ */
292
+ indicatorDataSource?: {
293
+ dataSource: string;
294
+ path: string;
295
+ /**
296
+ * Represents refresh interval
297
+ */
298
+ refresh?: number;
299
+ [k: string]: unknown;
300
+ };
301
+ deviceTypes?: DeviceType;
302
+ signature?: SignatureDef;
303
+ };
304
+ }
305
+ /**
306
+ * Represents device types for which application is developed
307
+ */
308
+ export interface DeviceType {
309
+ /**
310
+ * Represents indicator whether desktop device is supported, default true
311
+ */
312
+ desktop?: boolean;
313
+ /**
314
+ * Represents indicator whether tablet device is supported, default true
315
+ */
316
+ tablet?: boolean;
317
+ /**
318
+ * Represents indicator whether phone device is supported, default true
319
+ */
320
+ phone?: boolean;
321
+ }
322
+ /**
323
+ * Represents signature for inbound targets
324
+ */
325
+ export interface SignatureDef {
326
+ parameters: {
327
+ /**
328
+ * This interface was referenced by `undefined`'s JSON-Schema definition
329
+ * via the `patternProperty` "^[\w\.\-]+$".
330
+ */
331
+ [k: string]: {
332
+ /**
333
+ * Represents a default Value
334
+ */
335
+ defaultValue?: {
336
+ /**
337
+ * Represents a depending on format either a verbatim default value or a reference
338
+ */
339
+ value: string;
340
+ /**
341
+ * Indicates how 'value' is to be interpreted: ('plain': the 'value' is taken as a literal string value| 'reference': the 'value' is a reference to e.g. a UserDefault parameter (e.g. 'UserDefault.CostCenter'), the resolved parameter value is used)
342
+ */
343
+ format?: "plain" | "reference";
344
+ };
345
+ /**
346
+ * Represents a filter , only if input parameter matches filter
347
+ */
348
+ filter?: {
349
+ /**
350
+ * Represents a depending on format either a verbatim filter value, a regular expression or a reference
351
+ */
352
+ value: string;
353
+ /**
354
+ * Indicates how 'value' is to be interpreted: ('plain': the actual value must match the 'value' property directly| 'regexp': the 'value' represents a regexp which must be present in the actual value| 'reference' : the 'value' represents a reference to e.g. a UserDefault parameter (e.g. 'UserDefault.CostCenter'), the resolved parameter value is then directly compared with the actual value)
355
+ */
356
+ format?: "plain" | "regexp" | "reference";
357
+ };
358
+ required?: boolean;
359
+ /**
360
+ * Represents the parameter name in legacy ABAP application, e.g. 'RF05L-BUKRS' for parameter 'CompanyCode'
361
+ */
362
+ renameTo?: string;
363
+ };
364
+ };
365
+ /**
366
+ * Indicates how additional parameters to the declared signature are treated: ('ignored': parameters are not passed on to application | 'allowed': parameters are passed on to application | 'notallowed': additional parameters are not allowed)
367
+ */
368
+ additionalParameters: "ignored" | "allowed" | "notallowed";
369
+ }
370
+ /**
371
+ * Represents cross navigation for outbound target
372
+ */
373
+ export interface Outbound {
374
+ /**
375
+ * This interface was referenced by `Outbound`'s JSON-Schema definition
376
+ * via the `patternProperty` "^[\w\.\-]+$".
377
+ */
378
+ [k: string]: {
379
+ /**
380
+ * Represents semantic object
381
+ */
382
+ semanticObject: string;
383
+ /**
384
+ * Represents action an the semantic object
385
+ */
386
+ action: string;
387
+ /**
388
+ * Represents parameters for outbound targets
389
+ */
390
+ parameters?: {
391
+ /**
392
+ * This interface was referenced by `undefined`'s JSON-Schema definition
393
+ * via the `patternProperty` "^[\w\.\-]+$".
394
+ */
395
+ [k: string]: {
396
+ [k: string]: unknown;
397
+ };
398
+ };
399
+ };
400
+ }
401
+ /**
402
+ * Represents general ui attributes
403
+ */
404
+ export interface JSONSchemaForSAPUINamespace {
405
+ /**
406
+ * Represents UI attributes format version. It is managed by namespace owner
407
+ */
408
+ _version?: "1.1.0" | "1.2.0" | "1.3.0" | "1.4.0";
409
+ /**
410
+ * Represents UI technology. The possible values are UI5 (default), WDA, NWBC and URL
411
+ */
412
+ technology: "UI5" | "WDA" | "NWBC" | "GUI" | "URL";
413
+ /**
414
+ * Represents icons which used in application
415
+ */
416
+ icons?: {
417
+ /**
418
+ * Represents icon of the app
419
+ */
420
+ icon?: string;
421
+ /**
422
+ * Represents ICO file to be used inside the browser and for desktop shortcuts
423
+ */
424
+ favIcon?: string;
425
+ /**
426
+ * Represents 57x57 pixel version for non-retina iPhones
427
+ */
428
+ phone?: string;
429
+ /**
430
+ * Represents 114x114 pixel version for non-retina iPhones
431
+ */
432
+ "phone@2"?: string;
433
+ /**
434
+ * Represents 72x72 pixel version for non-retina iPads
435
+ */
436
+ tablet?: string;
437
+ /**
438
+ * Represents 144x144 pixel version for non-retina iPads
439
+ */
440
+ "tablet@2"?: string;
441
+ };
442
+ /**
443
+ * Represents device types on which application is running. Supported device types are desktop, tablet and phone
444
+ */
445
+ deviceTypes: DeviceType1 & {
446
+ [k: string]: unknown;
447
+ };
448
+ /**
449
+ * Represents array of supported SAP themes such as sap_hcb, sap_bluecrystal
450
+ */
451
+ supportedThemes?: string[];
452
+ /**
453
+ * Indicates whether app should run in full screen mode: possible values: true or false
454
+ */
455
+ fullWidth?: boolean;
456
+ [k: string]: unknown;
457
+ }
458
+ /**
459
+ * Represents device types on which the app is running
460
+ */
461
+ export interface DeviceType1 {
462
+ /**
463
+ * Represents indicator whether desktop device is supported, default true
464
+ */
465
+ desktop?: boolean;
466
+ /**
467
+ * Represents indicator whether tablet device is supported, default true
468
+ */
469
+ tablet?: boolean;
470
+ /**
471
+ * Represents indicator whether phone device is supported, default true
472
+ */
473
+ phone?: boolean;
474
+ }
475
+ /**
476
+ * Represents sapui5 attributes
477
+ */
478
+ export interface JSONSchemaForSAPUI5Namespace {
479
+ /**
480
+ * Represents SAPUI5 attributes format version. It is managed by namespace owner
481
+ */
482
+ _version?: "1.1.0" | "1.2.0" | "1.3.0";
483
+ resources?: Resource;
484
+ /**
485
+ * 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
486
+ */
487
+ dependencies: {
488
+ /**
489
+ * Represents the minimum version of SAP UI5 that your component requires
490
+ */
491
+ minUI5Version: string;
492
+ /**
493
+ * Represents ...
494
+ */
495
+ incompatibleLimitation?: boolean;
496
+ /**
497
+ * Represents the id (namespace) of the libraries that should be loaded by UI5 Core to be used in your component
498
+ */
499
+ libs?: {
500
+ [k: string]: Lib;
501
+ };
502
+ /**
503
+ * Represents the id (namespace) of the components that should be loaded by UI5 Core to be used in your component
504
+ */
505
+ components?: {
506
+ [k: string]: Component;
507
+ };
508
+ };
509
+ /**
510
+ * Represents models which should be created/destroyed with the life-cycle of the component
511
+ */
512
+ models?: {
513
+ [k: string]: Model;
514
+ };
515
+ /**
516
+ * Represents relative path to the resource. Only relative path allowed, no '../'
517
+ */
518
+ resourceRoots?: {
519
+ [k: string]: ResourceRoot;
520
+ };
521
+ /**
522
+ * Represents the name of the root view
523
+ */
524
+ rootView?:
525
+ | string
526
+ | {
527
+ /**
528
+ * Represents the name of the view
529
+ */
530
+ viewName: string;
531
+ /**
532
+ * Represents the type of the view. Possible Values: XML, JSON, JS, HTML, Template
533
+ */
534
+ type?: "XML" | "JSON" | "JS" | "HTML" | "Template";
535
+ [k: string]: unknown;
536
+ };
537
+ /**
538
+ * Represents the usage of validation handling by MessageManager for this component (enable/disable)
539
+ */
540
+ handleValidation?: boolean;
541
+ /**
542
+ * Represents the static configuration for components
543
+ */
544
+ config?: {
545
+ [k: string]: Config;
546
+ };
547
+ /**
548
+ * Represents the configuration of routing
549
+ */
550
+ routing?: {
551
+ /**
552
+ * Represents the default properties defined for route and target
553
+ */
554
+ config?: {
555
+ /**
556
+ * Represents the router class
557
+ */
558
+ routerClass?: string;
559
+ /**
560
+ * Indicates whether the Views in routing are loaded asyncly
561
+ */
562
+ async?: boolean;
563
+ /**
564
+ * Represents information about targets to display when no route is matched
565
+ */
566
+ bypassed?: {
567
+ /**
568
+ * Represents one or multiple names of targets that are displayed when no route is matched
569
+ */
570
+ target: string[] | string;
571
+ };
572
+ [k: string]: unknown;
573
+ } & Target;
574
+ routes?:
575
+ | Route[]
576
+ | {
577
+ [k: string]: RouteWithoutName;
578
+ };
579
+ /**
580
+ * Represents the definition of targets
581
+ */
582
+ targets?: {
583
+ /**
584
+ * This interface was referenced by `undefined`'s JSON-Schema definition
585
+ * via the `patternProperty` "[\s\S]*".
586
+ */
587
+ [k: string]: Target & {
588
+ /**
589
+ * Represents the name of a view that will be created
590
+ */
591
+ viewName: string;
592
+ [k: string]: unknown;
593
+ } & {
594
+ /**
595
+ * Represents the id of the created view
596
+ */
597
+ viewID?: string;
598
+ [k: string]: unknown;
599
+ };
600
+ };
601
+ [k: string]: unknown;
602
+ };
603
+ /**
604
+ * Represents the extension of an additional component
605
+ */
606
+ extends?: {
607
+ /**
608
+ * Represents the component name
609
+ */
610
+ component?: string;
611
+ /**
612
+ * Represents minimal version of the component
613
+ */
614
+ minVersion?: string;
615
+ /**
616
+ * Represents extensions of the component
617
+ */
618
+ extensions?: {
619
+ [k: string]: unknown;
620
+ };
621
+ };
622
+ /**
623
+ * Represents object with content density modes the app is supporting. Supported density modes are 'cozy' and 'compact'
624
+ */
625
+ contentDensities: {
626
+ /**
627
+ * Represents indicator whether compact mode is supported
628
+ */
629
+ compact: boolean;
630
+ /**
631
+ * Represents indicator whether cozy mode is supported
632
+ */
633
+ cozy: boolean;
634
+ };
635
+ /**
636
+ * Represents a name of the UI5 component
637
+ */
638
+ componentName?: string;
639
+ /**
640
+ * Enables the auto prefixing of IDs of ManagedObjects (e.g. Controls) which are created in context of the Component (e.g. createContent invocation)
641
+ */
642
+ autoPrefixId?: boolean;
643
+ /**
644
+ * Represents the identifier of an application variant. The value will be calculated and should not be set manually
645
+ */
646
+ appVariantId?: string;
647
+ /**
648
+ * Represents a list of the services
649
+ */
650
+ services?: {
651
+ [k: string]: Service;
652
+ };
653
+ }
654
+ /**
655
+ * Represents paths to JavaScript/CSS resources that your app needs (app internal), formerly called '.includes'
656
+ */
657
+ export interface Resource {
658
+ js?: {
659
+ uri: string;
660
+ [k: string]: unknown;
661
+ }[];
662
+ css?: {
663
+ uri: string;
664
+ id?: string;
665
+ [k: string]: unknown;
666
+ }[];
667
+ [k: string]: unknown;
668
+ }
669
+ /**
670
+ * Represents sapui5 library name
671
+ *
672
+ * This interface was referenced by `undefined`'s JSON-Schema definition
673
+ * via the `patternProperty` "^([a-z][a-z0-9]{0,39})(\.[a-z][a-z0-9]{0,39})*$".
674
+ */
675
+ export interface Lib {
676
+ /**
677
+ * Represents minimal version of ui5 library
678
+ */
679
+ minVersion?: string;
680
+ /**
681
+ * Represents ...
682
+ */
683
+ lazy?: boolean;
684
+ [k: string]: unknown;
685
+ }
686
+ /**
687
+ * Represents sapui5 component name
688
+ *
689
+ * This interface was referenced by `undefined`'s JSON-Schema definition
690
+ * via the `patternProperty` "^([a-z_$][a-z0-9_$]{0,39}\.)*([a-zA-Z_$][a-zA-Z0-9_$]{0,39})$".
691
+ */
692
+ export interface Component {
693
+ /**
694
+ * Represents minimal version of ui5 component
695
+ */
696
+ minVersion?: string;
697
+ /**
698
+ * Represents ...
699
+ */
700
+ lazy?: boolean;
701
+ [k: string]: unknown;
702
+ }
703
+ /**
704
+ * Represents sapui5 model name
705
+ *
706
+ * This interface was referenced by `undefined`'s JSON-Schema definition
707
+ * via the `patternProperty` "^[a-zA-Z0-9_\.\-\|\@]*$".
708
+ */
709
+ export interface Model {
710
+ /**
711
+ * Represents model class name
712
+ */
713
+ type?: string;
714
+ /**
715
+ * Represents string of key/alias from sap.app dataSources to reference an existing data source
716
+ */
717
+ dataSource?: string;
718
+ /**
719
+ * Represents URI for the model
720
+ */
721
+ uri?: string;
722
+ /**
723
+ * Indicates that the model will be immediately created after the manifest is loaded by Component Factory and before the Component instance is created
724
+ */
725
+ preload?: boolean;
726
+ settings?: Ui5Setting;
727
+ }
728
+ export interface Ui5Setting {
729
+ /**
730
+ * Represents default binding mode and must be a string value from sap.ui.model.BindingMode. Possible values: Default, OneTime, OneWay, TwoWay
731
+ */
732
+ defaultBindingMode?: "Default" | "OneTime" | "OneWay" | "TwoWay";
733
+ [k: string]: unknown;
734
+ }
735
+ /**
736
+ * Represents the definition of each target
737
+ */
738
+ export interface Target {
739
+ /**
740
+ * Represents the type of view that is going to be created
741
+ */
742
+ viewType?: "XML" | "JSON" | "JS" | "HTML" | "Template";
743
+ /**
744
+ * Represents a prefix that is prepended in front of the viewName
745
+ */
746
+ viewPath?: string;
747
+ /**
748
+ * Represents the id of the view that contains the control specified by the 'controlId'
749
+ */
750
+ targetParent?: string;
751
+ /**
752
+ * Represents the id of the control where you want to place the view created by the target
753
+ */
754
+ controlId?: string;
755
+ /**
756
+ * Represents the name of an aggregation of the controlId that contains the views
757
+ */
758
+ controlAggregation?: string;
759
+ /**
760
+ * Whether the aggregation of the control should be cleared before adding the view
761
+ */
762
+ clearControlAggregation?: boolean;
763
+ /**
764
+ * Represents the name of another target which will also be displayed once this target is displayed
765
+ */
766
+ parent?: string;
767
+ /**
768
+ * Represents the level of the current view which is used to define the transition direction when navigate to this view
769
+ */
770
+ viewLevel?: number;
771
+ /**
772
+ * Represents the type of transition when navigating from previous view to this view
773
+ */
774
+ transition?: string | ("slide" | "flip" | "fade" | "show");
775
+ /**
776
+ * Represents the transition parameters that are passed to the event handlers
777
+ */
778
+ transitionParameters?: {
779
+ [k: string]: unknown;
780
+ };
781
+ [k: string]: unknown;
782
+ }
783
+ /**
784
+ * Represents the definition of route without the option 'name'. This is used when routes are defined in an object.
785
+ *
786
+ * This interface was referenced by `undefined`'s JSON-Schema definition
787
+ * via the `patternProperty` "[\s\S]*".
788
+ */
789
+ export interface RouteWithoutName {
790
+ /**
791
+ * Represents the url pattern that the route is matched against
792
+ */
793
+ pattern?: string;
794
+ /**
795
+ * Whether the route should be matched when another route is already matched
796
+ */
797
+ greedy?: boolean;
798
+ /**
799
+ * Represents one or multiple names of targets which are displayed when the route is matched
800
+ */
801
+ target?: string[] | string;
802
+ [k: string]: unknown;
803
+ }
804
+ /**
805
+ * Represents the definition of each service
806
+ *
807
+ * This interface was referenced by `undefined`'s JSON-Schema definition
808
+ * via the `patternProperty` "[\s\S]*".
809
+ */
810
+ export interface Service {
811
+ /**
812
+ * Represents the name of the service factory
813
+ */
814
+ factoryName: string;
815
+ /**
816
+ * Indicates whether the service optional or not
817
+ */
818
+ optional?: boolean;
819
+ [k: string]: unknown;
820
+ }
821
+ /**
822
+ * Represents ABAP platform specific attributes
823
+ */
824
+ export interface JSONSchemaForSAPPLATFORMABAPNamespace {
825
+ /**
826
+ * Represents attributes format version. It is managed by namespace owner
827
+ */
828
+ _version?: "1.1.0" | "1.2.0";
829
+ /**
830
+ * Represents the uri of the app in the ABAP system
831
+ */
832
+ uri?: string;
833
+ /**
834
+ * Represents the alternative uri of the app in the ABAP system for starting the application
835
+ */
836
+ uriNwbc?: string;
837
+ }
838
+ /**
839
+ * Represents HANA Cloud Platform platform specific attributes
840
+ */
841
+ export interface JSONSchemaForSAPPLATFORMHCPNamespace {
842
+ /**
843
+ * Represents attributes format version. It is managed by namespace owner
844
+ */
845
+ _version?: "1.1.0" | "1.2.0" | "1.3.0";
846
+ /**
847
+ * Represents the uri of the app in the HANA Cloud Platform
848
+ */
849
+ uri?: string;
850
+ /**
851
+ * Represents the alternative uri of the app in the ABAP system for starting the application
852
+ */
853
+ uriNwbc?: string;
854
+ /**
855
+ * Represents the provider account of the HTML5 application
856
+ */
857
+ providerAccount?: string;
858
+ /**
859
+ * Represents the HTML5 application name
860
+ */
861
+ appName?: string;
862
+ /**
863
+ * Represents the version of the HTML5 application
864
+ */
865
+ appVersion?: string;
866
+ /**
867
+ * Indicates that HCP application is multi-version enabled
868
+ */
869
+ multiVersionApp?: boolean;
870
+ }
871
+ /**
872
+ * Represents SAP Fiori specific attributes
873
+ */
874
+ export interface JSONSchemaForSAPFIORINamespace {
875
+ /**
876
+ * Represents attributes format version. It is managed by namespace owner
877
+ */
878
+ _version?: "1.1.0";
879
+ /**
880
+ * Represents array of registration ids, i.e. for Fiori apps fiori id(s)
881
+ */
882
+ registrationIds: string[];
883
+ /**
884
+ * Represents architecture type of an application. The supported types are transactional or analytical or factsheet or reusecomponent or fpmwebdynpro or designstudio
885
+ */
886
+ archeType: "transactional" | "analytical" | "factsheet" | "reusecomponent" | "fpmwebdynpro" | "designstudio";
887
+ }
888
+ /**
889
+ * Represents GENERIC APP specific attributes
890
+ */
891
+ export interface JSONSchemaForSAPUIGENERICAPPNamespace {
892
+ _version?: "1.1.0" | "1.2.0";
893
+ settings?: SettingDef;
894
+ /**
895
+ * Represents one ore more pages of an application. UI5 routing is created from the definitions in this section
896
+ */
897
+ pages?: Page[];
898
+ }
899
+ /**
900
+ * Represents global settings for the application controller
901
+ */
902
+ export interface SettingDef {
903
+ [k: string]: unknown;
904
+ }
905
+ export interface Page {
906
+ /**
907
+ * 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
908
+ */
909
+ navigationProperty?: string;
910
+ /**
911
+ * Represents the entity set that defines either the aggregation or the root object of the component
912
+ */
913
+ entitySet: string;
914
+ component: ComponentDef;
915
+ navigation?: NavigationDef;
916
+ embeddedComponents?: EmbeddedComponent;
917
+ pages?: Page[];
918
+ }
919
+ /**
920
+ * Represents the component and its settings that makes the page
921
+ */
922
+ export interface ComponentDef {
923
+ /**
924
+ * The name of the component
925
+ */
926
+ name: string;
927
+ /**
928
+ * Switch to create a route for a list (aggregation) if true and routing for an entity if not set or false
929
+ */
930
+ list?: boolean;
931
+ settings?: ComponentSettingDef;
932
+ }
933
+ /**
934
+ * Represents the settings specific to one component
935
+ */
936
+ export interface ComponentSettingDef {
937
+ [k: string]: unknown;
938
+ }
939
+ /**
940
+ * Represents the different navigation targets
941
+ */
942
+ export interface NavigationDef {
943
+ display?: ActionPropDef;
944
+ create?: ActionPropDef1;
945
+ edit?: ActionPropDef2;
946
+ }
947
+ /**
948
+ * Represents an action triggered by the user on UI: the navigation to display an object
949
+ */
950
+ export interface ActionPropDef {
951
+ /**
952
+ * Represents the path in the manifest to the target to which the navigation is bound
953
+ */
954
+ path: string;
955
+ /**
956
+ * Represents the pointer to a semantic object
957
+ */
958
+ target: string;
959
+ }
960
+ /**
961
+ * Represents an action triggered by the user on UI: the navigation to create an object
962
+ */
963
+ export interface ActionPropDef1 {
964
+ /**
965
+ * Represents the path in the manifest to the target to which the navigation is bound
966
+ */
967
+ path: string;
968
+ /**
969
+ * Represents the pointer to a semantic object
970
+ */
971
+ target: string;
972
+ }
973
+ /**
974
+ * Represents an action triggered by the user on UI: the navigation to edit an object
975
+ */
976
+ export interface ActionPropDef2 {
977
+ /**
978
+ * Represents the path in the manifest to the target to which the navigation is bound
979
+ */
980
+ path: string;
981
+ /**
982
+ * Represents the pointer to a semantic object
983
+ */
984
+ target: string;
985
+ }
986
+ /**
987
+ * Represent reuse components that should be appended at the end of the template component
988
+ */
989
+ export interface EmbeddedComponent {
990
+ /**
991
+ * This interface was referenced by `EmbeddedComponent`'s JSON-Schema definition
992
+ * via the `patternProperty` "^[a-zA-Z0-9_\.\-\:]+$".
993
+ */
994
+ [k: string]: {
995
+ /**
996
+ * Represents an unique id for the instance of the reuse component inside of the object page
997
+ */
998
+ id: string;
999
+ /**
1000
+ * Represents the title for the content of the reuse component
1001
+ */
1002
+ title: string;
1003
+ /**
1004
+ * Represents an optional element binding for the ComponentContainer that hosts the reuse component
1005
+ */
1006
+ binding?: string;
1007
+ /**
1008
+ * Represents a map to populate the API of the reuse component
1009
+ */
1010
+ settings?: {
1011
+ [k: string]: unknown;
1012
+ };
1013
+ [k: string]: unknown;
1014
+ } & (
1015
+ | {
1016
+ /**
1017
+ * Represents the name of the reuse component
1018
+ */
1019
+ componentName: string;
1020
+ [k: string]: unknown;
1021
+ }
1022
+ | {
1023
+ embeddedComponents: EmbeddedComponent1;
1024
+ [k: string]: unknown;
1025
+ }
1026
+ );
1027
+ }
1028
+ export interface EmbeddedComponent1 {
1029
+ /**
1030
+ * This interface was referenced by `EmbeddedComponent`'s JSON-Schema definition
1031
+ * via the `patternProperty` "^[a-zA-Z0-9_\.\-\:]+$".
1032
+ */
1033
+ [k: string]: {
1034
+ /**
1035
+ * Represents an unique id for the instance of the reuse component inside of the object page
1036
+ */
1037
+ id: string;
1038
+ /**
1039
+ * Represents the title for the content of the reuse component
1040
+ */
1041
+ title: string;
1042
+ /**
1043
+ * Represents an optional element binding for the ComponentContainer that hosts the reuse component
1044
+ */
1045
+ binding?: string;
1046
+ /**
1047
+ * Represents a map to populate the API of the reuse component
1048
+ */
1049
+ settings?: {
1050
+ [k: string]: unknown;
1051
+ };
1052
+ [k: string]: unknown;
1053
+ } & (
1054
+ | {
1055
+ /**
1056
+ * Represents the name of the reuse component
1057
+ */
1058
+ componentName: string;
1059
+ [k: string]: unknown;
1060
+ }
1061
+ | {
1062
+ embeddedComponents: EmbeddedComponent1;
1063
+ [k: string]: unknown;
1064
+ }
1065
+ );
1066
+ }
1067
+ /**
1068
+ * Represents FLP specific attributes
1069
+ */
1070
+ export interface JSONSchemaForSAPFLPNamespace {
1071
+ /**
1072
+ * Represents attributes format version. It is managed by namespace owner
1073
+ */
1074
+ _version?: "1.1.0" | "1.2.0";
1075
+ /**
1076
+ * Represents size of the tile
1077
+ */
1078
+ tileSize?: "1x1" | "1x2";
1079
+ /**
1080
+ * Represents the type of FLP entry. It must be 'application' or 'tile' or 'plugin'
1081
+ */
1082
+ type: "application" | "tile" | "plugin";
1083
+ /**
1084
+ * Represents configuration parameters of the FLP entry
1085
+ */
1086
+ config: {
1087
+ /**
1088
+ * Represents the configuration key and values
1089
+ *
1090
+ * This interface was referenced by `undefined`'s JSON-Schema definition
1091
+ * via the `patternProperty` "^[a-zA-Z0-9\_\.\-]*$".
1092
+ */
1093
+ [k: string]: {
1094
+ [k: string]: unknown;
1095
+ };
1096
+ };
1097
+ }
1098
+ /**
1099
+ * Represents OVP specific attributes
1100
+ */
1101
+ export interface JSONSchemaForSAPOVPNamespace {
1102
+ /**
1103
+ * Represents attributes format version. It is managed by namespace owner
1104
+ */
1105
+ _version?: "1.1.0" | "1.2.0";
1106
+ /**
1107
+ * Represents the name of global filter OData model, which contains entities definition that are relevant for global filters
1108
+ */
1109
+ globalFilterModel?: string;
1110
+ /**
1111
+ * Represents the entity to use as global filter in the smart filter bar control
1112
+ */
1113
+ globalFilterEntityType?: string;
1114
+ /**
1115
+ * Represents the layout of the card container
1116
+ */
1117
+ containerLayout?: "easyScan" | "dashboard";
1118
+ cards: {
1119
+ [k: string]: Card;
1120
+ };
1121
+ dashboardLayout?: {
1122
+ [k: string]: DashboardLayoutVariant;
1123
+ };
1124
+ }
1125
+ /**
1126
+ * Represents the card attributes
1127
+ *
1128
+ * This interface was referenced by `undefined`'s JSON-Schema definition
1129
+ * via the `patternProperty` "^[a-zA-Z0-9_\.\-]+$".
1130
+ */
1131
+ export interface Card {
1132
+ /**
1133
+ * Represents the position of the card in the sequence
1134
+ */
1135
+ sequencePos?: number;
1136
+ /**
1137
+ * Represents the model for the card
1138
+ */
1139
+ model?: string;
1140
+ /**
1141
+ * Represents the card component path to use for this card
1142
+ */
1143
+ template: string;
1144
+ settings?: CardSetting;
1145
+ /**
1146
+ * Represents the card with view switch control
1147
+ *
1148
+ * @minItems 1
1149
+ */
1150
+ tabs?: [TabSetting, ...TabSetting[]];
1151
+ }
1152
+ /**
1153
+ * Represents the card specific properties - properties that are passed to the card
1154
+ */
1155
+ export interface CardSetting {
1156
+ /**
1157
+ * Represents the category of the card- used in the card header
1158
+ */
1159
+ category?: string;
1160
+ /**
1161
+ * Represents language-dependent title of the card - used in the card header
1162
+ */
1163
+ title?: string;
1164
+ /**
1165
+ * Represents language-dependent subtitle of the card - used in the card header
1166
+ */
1167
+ subTitle?: string;
1168
+ /**
1169
+ * Represents the entity set that will be displayed in this card
1170
+ */
1171
+ entitySet?: string;
1172
+ /**
1173
+ * Represents the static content that will be displayed in this card
1174
+ */
1175
+ staticContent?: {
1176
+ [k: string]: unknown;
1177
+ }[];
1178
+ /**
1179
+ * Represents the flavor of the list to use in this card. The flavor can be bar chart, carousel or standard
1180
+ */
1181
+ listFlavor?: "standard" | "bar" | "carousel";
1182
+ /**
1183
+ * Represents the type of list to use for this card. The list can be extended to display more information or condensed to take up less space on the card
1184
+ */
1185
+ listType?: "extended" | "condensed";
1186
+ /**
1187
+ * Represents the sort key for the entity set
1188
+ */
1189
+ sortBy?: string;
1190
+ /**
1191
+ * Represents the sort order for the entity set
1192
+ */
1193
+ sortOrder?: "ascending" | "descending";
1194
+ /**
1195
+ * Represents the annotation path
1196
+ */
1197
+ annotationPath?: string;
1198
+ /**
1199
+ * Represents the selection annotation path
1200
+ */
1201
+ selectionAnnotationPath?: string;
1202
+ /**
1203
+ * Represents the chart annotation path
1204
+ */
1205
+ chartAnnotationPath?: string;
1206
+ /**
1207
+ * Represents the presentation annotation path
1208
+ */
1209
+ presentationAnnotationPath?: string;
1210
+ /**
1211
+ * Represents the data point annotation path
1212
+ */
1213
+ dataPointAnnotationPath?: string;
1214
+ /**
1215
+ * Represents the identification annotation path
1216
+ */
1217
+ identificationAnnotationPath?: string;
1218
+ /**
1219
+ * Represents the flag to indicate priority of number formatting over sap text
1220
+ */
1221
+ ignoreSapText?: boolean;
1222
+ defaultSpan?: DefaultSpanDef;
1223
+ /**
1224
+ * Represents the cards for which authorization is required
1225
+ */
1226
+ requireAppAuthorization?: string;
1227
+ [k: string]: unknown;
1228
+ }
1229
+ /**
1230
+ * Represents the tab specific properties - properties that are passed to a particular tab in a card
1231
+ */
1232
+ export interface TabSetting {
1233
+ /**
1234
+ * Represents the annotation path
1235
+ */
1236
+ annotationPath?: string;
1237
+ /**
1238
+ * Represents the selection annotation path
1239
+ */
1240
+ selectionAnnotationPath?: string;
1241
+ /**
1242
+ * Represents the chart annotation path
1243
+ */
1244
+ chartAnnotationPath?: string;
1245
+ /**
1246
+ * Represents the presentation annotation path
1247
+ */
1248
+ presentationAnnotationPath?: string;
1249
+ /**
1250
+ * Represents the data point annotation path
1251
+ */
1252
+ dataPointAnnotationPath?: string;
1253
+ /**
1254
+ * Represents the identification annotation path
1255
+ */
1256
+ identificationAnnotationPath?: string;
1257
+ /**
1258
+ * Represents the drop down value to be shown
1259
+ */
1260
+ value?: string;
1261
+ [k: string]: unknown;
1262
+ }
1263
+ /**
1264
+ * Represents the dashboard layout variant
1265
+ *
1266
+ * This interface was referenced by `undefined`'s JSON-Schema definition
1267
+ * via the `patternProperty` "^cols_[0-9]+$".
1268
+ */
1269
+ export interface DashboardLayoutVariant {
1270
+ [k: string]: DashboardLayoutVariantCardProperties;
1271
+ }
1272
+ /**
1273
+ * Represents the card properties is a layout variant
1274
+ *
1275
+ * This interface was referenced by `DashboardLayoutVariant`'s JSON-Schema definition
1276
+ * via the `patternProperty` "^[a-zA-Z0-9_\.\-]+$".
1277
+ */
1278
+ export interface DashboardLayoutVariantCardProperties {
1279
+ /**
1280
+ * Represents the grid column
1281
+ */
1282
+ col: number;
1283
+ /**
1284
+ * Represents the grid row
1285
+ */
1286
+ row: number;
1287
+ /**
1288
+ * Represents the column span
1289
+ */
1290
+ colSpan: number;
1291
+ /**
1292
+ * Represents the row span
1293
+ */
1294
+ rowSpan: number;
1295
+ /**
1296
+ * Represents the visibility of the card
1297
+ */
1298
+ visible?: boolean;
1299
+ }
1300
+ /**
1301
+ * Represents WDA specific attributes
1302
+ */
1303
+ export interface JSONSchemaForSAPWDANamespace {
1304
+ /**
1305
+ * Represents attributes format version. It is managed by namespace owner
1306
+ */
1307
+ _version?: "1.1.0" | "1.2.0";
1308
+ /**
1309
+ * Represents ID of an application
1310
+ */
1311
+ applicationId: string;
1312
+ /**
1313
+ * Represents ID of an application configuration
1314
+ */
1315
+ configId?: string;
1316
+ /**
1317
+ * Represents SAP Screen Personas Flavor ID
1318
+ */
1319
+ flavorId?: string;
1320
+ }
1321
+ /**
1322
+ * Represents APF specific attributes
1323
+ */
1324
+ export interface JSONSchemaForSAPAPFNamespace {
1325
+ /**
1326
+ * Represents attributes format version. It is managed by namespace owner
1327
+ */
1328
+ _version?: "1.1.0";
1329
+ /**
1330
+ * Represents a switch to activate filter reduction so that filters in OData requests can be represented as ABAP select options
1331
+ */
1332
+ activateFilterReduction?: boolean;
1333
+ /**
1334
+ * Represents a switch to activate LREP as the persistence for configurations and texts
1335
+ */
1336
+ activateLrep?: boolean;
1337
+ }
1338
+ /**
1339
+ * Represents Cloud Portal specific attributes
1340
+ */
1341
+ export interface JSONSchemaForSAPCLOUDPORTALNamespace {
1342
+ [k: string]: unknown;
1343
+ }
1344
+ /**
1345
+ * Represents GUI specific attributes
1346
+ */
1347
+ export interface JSONSchemaForSAPGUINamespace {
1348
+ /**
1349
+ * Represents attributes format version. It is managed by namespace owner
1350
+ */
1351
+ _version?: "1.1.0" | "1.2.0";
1352
+ /**
1353
+ * Represents transaction of an application
1354
+ */
1355
+ transaction: string;
1356
+ /**
1357
+ * Represents SAP Screen Personas Flavor ID
1358
+ */
1359
+ flavorId?: string;
1360
+ }
1361
+ /**
1362
+ * Represents specific attributes for Smart Business
1363
+ */
1364
+ export interface JSONSchemaForSAPUISMARTBUSINESSAPPNamespace {
1365
+ [k: string]: unknown;
1366
+ }
1367
+ /**
1368
+ * Represents mobile specific attributes
1369
+ */
1370
+ export interface JSONSchemaForSAPMOBILENamespace {
1371
+ /**
1372
+ * Represents attributes format version. It is managed by namespace owner
1373
+ */
1374
+ _version?: "1.1.0";
1375
+ /**
1376
+ * Represents mobile specific attributes
1377
+ */
1378
+ definingRequests: {
1379
+ [k: string]: DefiningRequest;
1380
+ };
1381
+ [k: string]: unknown;
1382
+ }
1383
+ /**
1384
+ * This interface was referenced by `undefined`'s JSON-Schema definition
1385
+ * via the `patternProperty` "^[a-zA-Z0-9_\.\-]*".
1386
+ */
1387
+ export interface DefiningRequest {
1388
+ /**
1389
+ * Represents reference to dataSource under sap.app
1390
+ */
1391
+ dataSource: string;
1392
+ /**
1393
+ * Represents path to the title collection
1394
+ */
1395
+ path: string;
1396
+ /**
1397
+ * Represents indicator whether streams should be retrieved
1398
+ */
1399
+ retrieveStreams?: boolean;
1400
+ }