UNPKG

@ui5/linter

Version:

A static code analysis tool for UI5

1,574 lines (1,573 loc) 104 kB
/** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^[a-zA-Z0-9_\-]*$". * * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^[a-zA-Z0-9_\-]*$". * * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^[a-zA-Z0-9_\-]*$". * * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^[a-zA-Z0-9_\-]*$". * * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^[a-zA-Z0-9_\-]*$". * * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^[a-zA-Z0-9_\-]*$". * * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^[a-zA-Z0-9_\-]*$". */ export type TerminologySetting = { /** * Represents the alternative for bundleUrl */ bundleName: string; /** * Represents the list of supported locales */ supportedLocales?: unknown[]; } | { /** * Represents the URL for the resource bundle */ bundleUrl: string; /** * Indicates whether url is relative to component (default) or manifest */ bundleUrlRelativeTo?: "manifest" | "component"; /** * Represents the list of supported locales */ supportedLocales?: unknown[]; }; export type EnhanceWithSetting = { /** * Represents property url for model enhancement */ bundleUrl: string; /** * Indicates whether url is relative to component (default) or manifest */ bundleUrlRelativeTo?: "manifest" | "component"; /** * Represents the fallback locale */ fallbackLocale?: string; /** * Represents the list of supported locales */ supportedLocales?: unknown[]; /** * Represents terminologies with additional properties files */ terminologies?: { [k: string]: TerminologySetting; }; } | { /** * Represents the alternative for bundleUrl */ bundleName: string; /** * Represents the fallback locale */ fallbackLocale?: string; /** * Represents the list of supported locales */ supportedLocales?: unknown[]; /** * Represents terminologies with additional properties files */ terminologies?: { [k: string]: TerminologySetting; }; }; export type EnhanceWithSetting1 = { /** * Represents property url for model enhancement */ bundleUrl: string; /** * Indicates whether url is relative to component (default) or manifest */ bundleUrlRelativeTo?: "manifest" | "component"; /** * Represents the fallback locale */ fallbackLocale?: string; /** * Represents the list of supported locales */ supportedLocales?: unknown[]; /** * Represents terminologies with additional properties files */ terminologies?: { [k: string]: TerminologySetting; }; } | { /** * Represents the alternative for bundleUrl */ bundleName: string; /** * Represents the fallback locale */ fallbackLocale?: string; /** * Represents the list of supported locales */ supportedLocales?: unknown[]; /** * Represents terminologies with additional properties files */ terminologies?: { [k: string]: TerminologySetting; }; }; export type Version = string; export type Tag = (string | string)[]; /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^[a-zA-Z0-9_\.\-]*$". */ export type DataSource = DataSourceEnum | DataSourceCustom; export type ObjectName = string; export type ObjectType = "query" | "cdsprojectionview" | "view" | "inamodel"; /** * Represents sapui5 attributes */ export type JSONSchemaForSAPUI5Namespace = { /** * Represents SAPUI5 attributes format version. It is managed by namespace owner */ _version?: "1.1.0" | "1.2.0" | "1.3.0" | "1.4.0" | "1.5.0" | "1.6.0" | "1.7.0" | "1.8.0" | "1.9.0" | "1.10.0" | "1.11.0" | "1.12.0" | "1.13.0" | "1.14.0" | "1.15.0" | "1.16.0" | "1.17.0"; resources?: Resource; /** * Represents the explicit usage declaration for UI5 reuse components */ componentUsages?: { [k: string]: ComponentUsages; }; /** * 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 */ dependencies: { /** * Represents the minimum version of SAP UI5 that your component requires */ minUI5Version: string; /** * Represents the id (namespace) of the libraries that should be loaded by UI5 Core to be used in your component */ libs?: { [k: string]: Lib; }; /** * Represents the id (namespace) of the components that should be loaded by UI5 Core to be used in your component */ components?: { [k: string]: Component; }; }; /** * Represents models which should be created/destroyed with the life-cycle of the component */ models?: { [k: string]: Model; }; /** * Represents relative path to the resource. Only relative path allowed, no '../' */ resourceRoots?: { [k: string]: ResourceRoot; }; /** * Represents the usage of validation handling by MessageManager for this component (enable/disable) */ handleValidation?: boolean; /** * Represents the static configuration for components */ config?: { [k: string]: Config; }; /** * Represents the extension of an additional component */ extends?: { /** * Represents the component name */ component?: string; /** * Represents minimal version of the component */ minVersion?: string; /** * Represents extensions of the component */ extensions?: { [k: string]: unknown; }; }; /** * Represents object with content density modes the app is supporting. Supported density modes are 'cozy' and 'compact' */ contentDensities: { /** * Represents indicator whether compact mode is supported */ compact: boolean; /** * Represents indicator whether cozy mode is supported */ cozy: boolean; }; /** * Represents a name of the UI5 component */ componentName?: string; /** * Enables the auto prefixing of IDs of ManagedObjects (e.g. Controls) which are created in context of the Component (e.g. createContent invocation) */ autoPrefixId?: boolean; /** * Represents the identifier of an application variant. The value will be calculated and should not be set manually */ appVariantId?: string; /** * Represents array of appVariantId hierarchy with origin layer and version, calculated attribute and filled automatically during variant merge */ appVariantIdHierarchy?: { /** * Represents origin layer of the app variant id */ layer: string; /** * Represents app variant id */ appVariantId: string; /** * Represents version of the app variant id */ version: string; }[]; /** * Represents a list of the services */ services?: { [k: string]: Service; }; /** * Represents UI5 library specific properties */ library?: { /** * Setting to define i18n properties of a library. Can either be a boolean, string or object. */ i18n?: boolean | string | { /** * Represents the URL for the resource bundle */ bundleUrl: string; /** * Represents the list of supported locales */ supportedLocales?: unknown[]; /** * Represents the fallback locale */ fallbackLocale?: string; /** * Represents terminologies with additional properties files */ terminologies?: { [k: string]: TerminologySetting; }; /** * Represents enhancement of UI5 resource bundle with additional properties files */ enhanceWith?: EnhanceWithSetting3[]; } | { /** * Represents the alternative for bundleUrl */ bundleName: string; /** * Represents the fallback locale */ fallbackLocale?: string; /** * Represents the list of supported locales */ supportedLocales?: unknown[]; /** * Represents terminologies with additional properties files */ terminologies?: { [k: string]: TerminologySetting; }; /** * Represents enhancement of UI5 resource bundle with additional properties files */ enhanceWith?: EnhanceWithSetting4[]; }; /** * Flag whether the library contains a CSS file or not. */ css?: boolean | string; /** * Represents the content of a library. Content are controls, elements, types and interfaces. */ content?: { [k: string]: unknown; }; }; /** * Represents a list of UI5 shortcut commands */ commands?: { [k: string]: Command; }; /** * Represents an indicator whether app variant is flex extension point enabled */ flexExtensionPointEnabled?: boolean; /** * Represents an indicator whether app is a cloud developer adaptation, filled automatically during build. */ isCloudDevAdaptation?: boolean; [k: string]: unknown; } & ({ /** * Represents an Indicator whether an app is flex enabled */ flexEnabled: true; routing?: RoutingFlexEnabled; rootView?: RootViewDefFlexEnabled; [k: string]: unknown; } | { /** * Represents an Indicator whether an app is flex enabled */ flexEnabled?: false; routing?: Routing; rootView?: RootViewDef; [k: string]: unknown; }); /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "[\s\S]*". */ export type Config = Config[] | string | boolean | number | { [k: string]: unknown; }; export type EnhanceWithSetting2 = { /** * Represents property url for model enhancement */ bundleUrl: string; /** * Indicates whether url is relative to component (default) or manifest */ bundleUrlRelativeTo?: "manifest" | "component"; /** * Represents the fallback locale */ fallbackLocale?: string; /** * Represents the list of supported locales */ supportedLocales?: unknown[]; /** * Represents terminologies with additional properties files */ terminologies?: { [k: string]: TerminologySetting; }; } | { /** * Represents the alternative for bundleUrl */ bundleName: string; /** * Represents the fallback locale */ fallbackLocale?: string; /** * Represents the list of supported locales */ supportedLocales?: unknown[]; /** * Represents terminologies with additional properties files */ terminologies?: { [k: string]: TerminologySetting; }; }; /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^[a-zA-Z0-9_\.\-]*$". */ export type ResourceRoot = string; export type EnhanceWithSetting3 = { /** * Represents property url for model enhancement */ bundleUrl: string; /** * Indicates whether url is relative to component (default) or manifest */ bundleUrlRelativeTo?: "manifest" | "component"; /** * Represents the fallback locale */ fallbackLocale?: string; /** * Represents the list of supported locales */ supportedLocales?: unknown[]; /** * Represents terminologies with additional properties files */ terminologies?: { [k: string]: TerminologySetting; }; } | { /** * Represents the alternative for bundleUrl */ bundleName: string; /** * Represents the fallback locale */ fallbackLocale?: string; /** * Represents the list of supported locales */ supportedLocales?: unknown[]; /** * Represents terminologies with additional properties files */ terminologies?: { [k: string]: TerminologySetting; }; }; export type EnhanceWithSetting4 = { /** * Represents property url for model enhancement */ bundleUrl: string; /** * Indicates whether url is relative to component (default) or manifest */ bundleUrlRelativeTo?: "manifest" | "component"; /** * Represents the fallback locale */ fallbackLocale?: string; /** * Represents the list of supported locales */ supportedLocales?: unknown[]; /** * Represents terminologies with additional properties files */ terminologies?: { [k: string]: TerminologySetting; }; } | { /** * Represents the alternative for bundleUrl */ bundleName: string; /** * Represents the fallback locale */ fallbackLocale?: string; /** * Represents the list of supported locales */ supportedLocales?: unknown[]; /** * Represents terminologies with additional properties files */ terminologies?: { [k: string]: TerminologySetting; }; }; /** * Represents the definition of each route */ export type Route = RouteWithoutName & { /** * Represents the name of the route */ name: string; [k: string]: unknown; }; /** * Represents the root view definition being either the name of the view or the view definition object */ export type RootViewDef = string | { /** * Represents the name of the view */ viewName: string; /** * Represents the type of the view. Possible Values: XML, JSON, JS, HTML, Template */ type?: "XML" | "JSON" | "JS" | "HTML" | "Template"; /** * Represents the id of the view */ id?: string; /** * Configure the targets for asynchronous loading */ async?: boolean; [k: string]: unknown; }; /** * Represents a binding string to indicate, how the reuse component should be bound relative to the containing page or absolute */ export type ComponentBindingDef = string; /** * Represents the card default grid size in columns and rows */ export type DefaultSpanDef = { /** * Represents the number of the number of grid columns */ cols: number; /** * Represents the number of the number of grid rows */ rows: number; /** * Represents if user wants to show only header part of card in resizable layout */ showOnlyHeader?: boolean; /** * 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) */ minimumTitleRow?: number; /** * 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) */ minimumSubTitleRow?: number; } | "auto"; /** * Plot area is a parent property which defines multiple other properties for smoothness and marker size */ export type LevelsDef = unknown[]; /** * Represents general card attributes */ export type JSONSchemaForSAPCARDNamespace = { [k: string]: unknown; }; /** * The version number of the schema in major.minor.patch format. */ export type Semanticversion = string; /** * Represents SBPA Custom Task UI Attributes */ export type JSONSchemaForSapBpaTaskNamespace = { [k: string]: unknown; }; export interface SAPJSONSchemaForWebApplicationManifestFile { /** * The resource identifier for the JSON schema to be used. The value of this keyword MUST be a URI [RFC3986] (containing a scheme) and this URI MUST be normalized. The current schema MUST be valid against the meta-schema identified by this URI. If this URI identifies a retrievable resource, that resource SHOULD be of media type "application/schema+json". */ $schema?: string; /** * Represents Application Descriptor format version. It is managed by schema owner */ _version: "1.1.0" | "1.2.0" | "1.3.0" | "1.4.0" | "1.5.0" | "1.6.0" | "1.7.0" | "1.8.0" | "1.9.0" | "1.10.0" | "1.11.0" | "1.12.0" | "1.13.0" | "1.14.0" | "1.15.0" | "1.16.0" | "1.17.0" | "1.18.0" | "1.19.0" | "1.20.0" | "1.21.0" | "1.22.0" | "1.23.0" | "1.24.0" | "1.25.0" | "1.26.0" | "1.27.0" | "1.28.0" | "1.29.0" | "1.30.0" | "1.31.0" | "1.32.0" | "1.33.0" | "1.34.0" | "1.35.0" | "1.36.0" | "1.37.0" | "1.38.0" | "1.39.0" | "1.40.0" | "1.41.0" | "1.42.0" | "1.43.0" | "1.44.0" | "1.45.0" | "1.46.0" | "1.47.0" | "1.48.0" | "1.49.0" | "1.50.0" | "1.51.0" | "1.52.0" | "1.53.0" | "1.54.0" | "1.55.0" | "1.56.0" | "1.57.0" | "1.58.0" | "1.59.0" | "1.60.0"; /** * Represents the URL that the developer would prefer the user agent load when the user launches the web application */ start_url?: string; "sap.app": JSONSchemaForSAPAPPNamespace; "sap.ui": JSONSchemaForSAPUINamespace; "sap.ui5"?: JSONSchemaForSAPUI5Namespace; "sap.platform.abap"?: JSONSchemaForSAPPLATFORMABAPNamespace; "sap.platform.hcp"?: JSONSchemaForSAPPLATFORMHCPNamespace; "sap.platform.cf"?: JSONSchemaForSAPPLATFORMCFNamespace; "sap.platform.mobilecards"?: JSONSchemaForSAPPLATFORMMOBILECARDSNamespace; "sap.fiori"?: JSONSchemaForSAPFIORINamespace; "sap.ui.generic.app"?: JSONSchemaForSAPUIGENERICAPPNamespace; "sap.fe"?: JSONSchemaForSAPFENamespace; "sap.flp"?: JSONSchemaForSAPFLPNamespace; "sap.ovp"?: JSONSchemaForSAPOVPNamespace; "sap.insights"?: JSONSchemaForSAPInsightsNamespace; "sap.wda"?: JSONSchemaForSAPWDANamespace; "sap.apf"?: JSONSchemaForSAPAPFNamespace; "sap.cloud.portal"?: JSONSchemaForSAPCLOUDPORTALNamespace; "sap.gui"?: JSONSchemaForSAPGUINamespace; "sap.integration"?: JSONSchemaForSAPINTEGRATIONNamespace; "sap.wcf"?: JSONSchemaForSAPWCFNamespace; "sap.ui.smartbusiness.app"?: JSONSchemaForSAPUISMARTBUSINESSAPPNamespace; "sap.mobile"?: JSONSchemaForSAPMOBILENamespace; "sap.copilot"?: JSONSchemaForSAPCOPILOTNamespace; "sap.map"?: JSONSchemaForSAPMAPNamespace; "sap.url"?: JSONSchemaForSAPURLNamespace; "sap.platform.sfsf"?: JSONSchemaForSAPPLATFORMSFSFNamespace; "sap.cloud"?: JSONSchemaForSAPCLOUDNamespace; "sap.card"?: JSONSchemaForSAPCARDNamespace; "sap.package"?: JSONSchemaForSAPPACKAGENamespace; "sap.artifact"?: JSONSchemaForSAPARTIFACTNamespace; "sap.bpa.task"?: JSONSchemaForSapBpaTaskNamespace; } /** * Represents general application attributes */ export interface JSONSchemaForSAPAPPNamespace { /** * Application attributes format version. It is managed by namespace owner */ _version?: "1.1.0" | "1.2.0" | "1.3.0" | "1.4.0" | "1.5.0" | "1.6.0" | "1.7.0" | "1.8.0" | "1.9.0" | "1.10.0" | "1.11.0" | "1.12.0" | "1.13.0" | "1.14.0" | "1.15.0" | "1.16.0" | "1.17.0" | "1.18.0" | "1.19.0" | "1.20.0"; /** * Represents the template from which the app was generated */ sourceTemplate?: { /** * Represents id of the template from which the app was generated */ id: string; /** * Represents the version of the template from which the app was generated */ version: string; /** * Represents an Id generated by SAP Fiori tools */ toolsId?: string; [k: string]: unknown; }; /** * Represents mandatory unique app identifier which must correspond to component 'id/namespace' */ id: string; /** * Represents type of an application and can be application or component or library */ type: "application" | "component" | "library" | "card"; /** * Represents path inside the app to the properties file containing text symbols for the Descriptor or properties file specific settings (including supportedLocales, fallbackLocale, terminologies and enhanceWith) */ i18n?: string | { /** * Represents the alternative for bundleUrl */ bundleName: string; /** * Represents the fallback locale */ fallbackLocale?: string; /** * Represents the list of supported locales */ supportedLocales?: unknown[]; /** * Represents terminologies with additional properties files */ terminologies?: { [k: string]: TerminologySetting; }; /** * Represents enhancement of UI5 resource model with additional properties files */ enhanceWith?: EnhanceWithSetting[]; } | { /** * Represents the URL for the resource bundle */ bundleUrl: string; /** * Indicates whether url is relative to component (default) or manifest */ bundleUrlRelativeTo?: "manifest" | "component"; /** * Represents the list of supported locales */ supportedLocales?: unknown[]; /** * Represents the fallback locale */ fallbackLocale?: string; /** * Represents terminologies with additional properties files */ terminologies?: { [k: string]: TerminologySetting; }; /** * Represents enhancement of UI5 resource model with additional properties files */ enhanceWith?: EnhanceWithSetting1[]; }; /** * Represents mandatory version of the app */ applicationVersion: { version: Version; [k: string]: unknown; }; /** * Represents array of relative paths to the nested manifest.json's (mandatory if it contains nested 'manifest.json') */ embeds?: string[]; /** * Represents relative path back to the manifest.json of an embedding component or library (mandatory for nested 'manifest.json') */ embeddedBy?: string; /** * Represents a title (mandatory); to make this property language dependent (recommended), use a key in double curly brackets '{{key}}' */ title: string; /** * Represents a subtitle to the title; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}' */ subTitle?: string; /** * Represents a shorter version of the title; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}' */ shortTitle?: string; /** * Represents additional information to the title; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}' */ info?: string; /** * Represents a description; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}' */ description?: string; /** * Represents array of keywords */ tags?: { keywords: Tag; technicalAttributes?: string[]; [k: string]: unknown; }; /** * Represents application component hierarchy */ ach?: string; /** * Represents used data sources with a unique key/alias */ dataSources?: { [k: string]: DataSource; }; /** * 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 */ cdsViews?: string[]; /** * Represents reference to a file (naming convention is resources.json) which contains list with all resources which the app needs */ resources?: "resources.json"; /** * Represents a system alias */ destination?: { /** * Represents an alias for the system */ name: string; }; /** * Represents a collection of directly used open source libs (not when used via UI5 capsulation) */ openSourceComponents?: OpenSource[]; /** * Represents the name of the provider which owns the application */ provider?: "sfsf"; /** * Represents indicator whether the app is running offline. Possible values are true or false (default) */ offline?: boolean; /** * Represents cross navigation for inbound and outbound targets */ crossNavigation?: { /** * Represents scopes of a site */ scopes?: { /** * Represents unique id of the site * * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^[a-zA-Z0-9_\.\-]+$". */ [k: string]: { value: string; [k: string]: unknown; }; }; inbounds: Inbound; outbounds?: Outbound; [k: string]: unknown; }; } export interface DataSourceEnum { /** * Represents uri of the data source */ uri: string; /** * Represents type of the data source. The supported types are OData, ODataAnnotation, INA, XML, JSON, FHIR, WebSocket, http */ type?: "OData" | "ODataAnnotation" | "INA" | "XML" | "JSON" | "FHIR" | "WebSocket" | "http"; settings?: Setting; customType?: false; } /** * Represents data source type specific attributes (key, value pairs) */ export interface Setting { /** * Represents version of OData: 2.0 is default */ odataVersion?: "2.0" | "4.0"; /** * Represents path to local meta data document or annotation uri */ localUri?: string; /** * Represents array of annotation which references an existing data source of type ODataAnnotation */ annotations?: string[]; /** * Indicates that the client is unwilling to accept a response whose age is greater than the number of seconds specified in this field */ maxAge?: number; /** * Dictionary of (catalog) objects offered by the datasource */ objects?: { /** * A (catalog) object of an InA DataSource */ [k: string]: { objectName: ObjectName; objectType: ObjectType; packageName?: string; schemaName?: string; }; }; /** * Indicates whether annotations from metadata should be ignored */ ignoreAnnotationsFromMetadata?: boolean; [k: string]: unknown; } export interface DataSourceCustom { /** * Represents the uri of the data source, should always be given in lower case */ uri: string; /** * Represents type of the data source. The supported types are OData, ODataAnnotation, INA, XML, JSON, FHIR, WebSocket, http */ type?: string; settings?: Setting1; /** * Represents a custom data source type flag. So the type can be any string if its true, and only enum values if false */ customType: true; } /** * Represents data source type specific attributes (key, value pairs) */ export interface Setting1 { /** * Represents version of OData: 2.0 is default */ odataVersion?: "2.0" | "4.0"; /** * Represents path to local meta data document or annotation uri */ localUri?: string; /** * Represents array of annotation which references an existing data source of type ODataAnnotation */ annotations?: string[]; /** * Indicates that the client is unwilling to accept a response whose age is greater than the number of seconds specified in this field */ maxAge?: number; /** * Dictionary of (catalog) objects offered by the datasource */ objects?: { /** * A (catalog) object of an InA DataSource */ [k: string]: { objectName: ObjectName; objectType: ObjectType; packageName?: string; schemaName?: string; }; }; /** * Indicates whether annotations from metadata should be ignored */ ignoreAnnotationsFromMetadata?: boolean; [k: string]: unknown; } export interface OpenSource { /** * Represents a name of the open source as appears on the web */ name: string; /** * Represents a version of the open source (if part of app, version must be specified, if part of UI5 dist layer, version is empty) */ version?: string; /** * Indicates, whether it is part of the app or not */ packagedWithMySelf?: boolean; } /** * Represents cross navigation for inbound target */ export interface Inbound { /** * This interface was referenced by `Inbound`'s JSON-Schema definition * via the `patternProperty` "^[\w\.\-]+$". */ [k: string]: { /** * Represents semantic object */ semanticObject: string; /** * Represents action an the semantic object */ action: string; /** * Indicates to not expose this inbound as a tile or link */ hideLauncher?: boolean; /** * Represents icon */ icon?: string; /** * Represents a title; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}' */ title?: string; /** * Represents a subtitle; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}' */ subTitle?: string; /** * Represents a shorter version of the title; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}' */ shortTitle?: string; /** * Represents additional information to the title; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}' */ info?: string; /** * Represents the display mode of the tile */ displayMode?: "ContentMode" | "HeaderMode"; /** * Represents data source */ indicatorDataSource?: { dataSource: string; path: string; /** * Represents refresh interval */ refresh?: number; [k: string]: unknown; }; deviceTypes?: DeviceType; signature?: SignatureDef; }; } /** * Represents device types for which application is developed */ export interface DeviceType { /** * Represents indicator whether desktop device is supported */ desktop?: boolean; /** * Represents indicator whether tablet device is supported */ tablet?: boolean; /** * Represents indicator whether phone device is supported */ phone?: boolean; } /** * Represents signature for inbound targets */ export interface SignatureDef { parameters: { /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^[\w\.\-\/]+$". */ [k: string]: { /** * Represents a default Value */ defaultValue?: { format?: "plain"; value?: string; [k: string]: unknown; } | { format?: "reference"; value?: string; [k: string]: unknown; } | { format?: null; value?: string; [k: string]: unknown; }; /** * Represents a filter , only if input parameter matches filter */ filter?: { /** * Represents a depending on format either a verbatim filter value, a regular expression or a reference */ value: string; /** * 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) */ format?: "plain" | "regexp" | "reference"; }; /** * Represents a value to be used when creating a tile intent for this inbound */ launcherValue?: { value?: string | string[]; /** * Indicates how 'value' is to be interpreted: 'plain': the 'value' is taken as a literal string value | 'array': the 'value' is an array of strings */ format?: "plain" | "array"; /** * DEPRECATED - Indicates the administrator should be prompted to supply a value when creating a tile */ prompt?: boolean; }; required?: boolean; /** * Represents the parameter name in legacy ABAP application, e.g. 'RF05L-BUKRS' for parameter 'CompanyCode' */ renameTo?: string; }; }; /** * 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) */ additionalParameters: "ignored" | "allowed" | "notallowed"; } /** * Describes intents that can be triggered from the application to navigate */ export interface Outbound { /** * This interface was referenced by `Outbound`'s JSON-Schema definition * via the `patternProperty` "^[\w\.\-]+$". */ [k: string]: { /** * Represents a business entity (e.g., 'Employee') */ semanticObject: string; /** * Represents the action to perform on the business entity (e.g., 'display') */ action: string; /** * Indicates whether the intent can contain additional context parameters that are not described in the outbound: ('notallowed': the intent must contain only the specified parameters | 'allowed': additional parameters might appear in the navigation intent)| 'ignored': technical meta-parameters for framework usage are added to the intent, these parameters should be ignored by target applications */ additionalParameters?: "notallowed" | "ignored" | "allowed"; /** * Represents parameters of navigation intents */ parameters?: { /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^[\w\.\-\/]+$". */ [k: string]: { /** * Describes parameters of navigation intents generated or triggered by the application */ value?: { /** * Represents a verbatim value (when 'plain' format is used), a pattern (when 'regexp' format is used), a value coming from a UI5 model (when 'binding' format is used), or a User Default reference (when 'reference' format is used) */ value?: string; /** * Indicates how 'value' is to be interpreted: 'plain': the 'value' is taken as a literal string value | 'reference': the 'value' is a reference to a parameter maintained in the Fiori Launchpad (e.g. 'UserDefault.CostCenter'); the parameter value is used on the outbound intent parameter| 'regexp': the 'value' matches the specified pattern| 'binding': the 'value' is a binding path; the value from the model at the specified binding path will be used on the outbound intent parameter */ format?: "plain" | "regexp" | "reference" | "binding"; }; required?: boolean; }; }; }; } /** * Represents general ui attributes */ export interface JSONSchemaForSAPUINamespace { /** * Represents UI attributes format version. It is managed by namespace owner */ _version?: "1.1.0" | "1.2.0" | "1.3.0" | "1.4.0" | "1.5.0"; /** * Represents UI technology. The possible values are UI5 (default), WDA, NWBC, GUI, URL and WCF */ technology: "UI5" | "WDA" | "NWBC" | "GUI" | "URL" | "WCF"; /** * Represents icons which used in application */ icons?: { /** * Represents icon of the app */ icon?: string; /** * Represents ICO file to be used inside the browser and for desktop shortcuts */ favIcon?: string; /** * Represents 57x57 pixel version for non-retina iPhones */ phone?: string; /** * Represents 114x114 pixel version for non-retina iPhones */ "phone@2"?: string; /** * Represents 72x72 pixel version for non-retina iPads */ tablet?: string; /** * Represents 144x144 pixel version for non-retina iPads */ "tablet@2"?: string; }; /** * Represents device types on which application is running. Supported device types are desktop, tablet and phone */ deviceTypes: DeviceType1 & { [k: string]: unknown; }; /** * The property is Deprecated. Represents array of supported SAP themes such as sap_hcb, sap_bluecrystal */ supportedThemes?: string[]; /** * Indicates whether app should run in full screen mode: possible values: true or false */ fullWidth?: boolean; [k: string]: unknown; } /** * Represents device types on which the app is running */ export interface DeviceType1 { /** * Represents indicator whether desktop device is supported */ desktop?: boolean; /** * Represents indicator whether tablet device is supported */ tablet?: boolean; /** * Represents indicator whether phone device is supported */ phone?: boolean; } /** * Represents paths to JavaScript/CSS resources that your app needs (app internal), formerly called '.includes' */ export interface Resource { js?: { uri: string; [k: string]: unknown; }[]; css?: { uri: string; id?: string; [k: string]: unknown; }[]; [k: string]: unknown; } /** * Represents component name for usage * * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^[a-zA-Z0-9_\.]*$". */ export interface ComponentUsages { /** * Represents name of reuse component */ name: string; /** * Represents component data for the Component */ componentData?: Config[] | string | boolean | number | { [k: string]: unknown; }; /** * Represents settings for the Component */ settings?: Config[] | string | boolean | number | { [k: string]: unknown; }; /** * Represents Indicator to lazy loading component usage, default true */ lazy?: boolean; } /** * Represents sapui5 library name * * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^([a-z][a-z0-9]{0,39})(\.[a-z][a-z0-9]{0,39})*$". */ export interface Lib { /** * Represents minimal version of ui5 library */ minVersion?: string; /** * Represents Indicator to lazy loading lib */ lazy?: boolean; [k: string]: unknown; } /** * Represents sapui5 component name * * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^([a-zA-Z_$][a-zA-Z0-9_$]{0,39}\.)*([a-zA-Z_$][a-zA-Z0-9_$]{0,39})$". */ export interface Component { /** * Represents minimal version of ui5 component */ minVersion?: string; /** * Represents Indicator to lazy loading component */ lazy?: boolean; [k: string]: unknown; } /** * Represents sapui5 model name * * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^[a-zA-Z0-9_\.\-\|@]*$". */ export interface Model { /** * Represents model class name */ type?: string; /** * Represents string of key/alias from sap.app dataSources to reference an existing data source */ dataSource?: string; /** * Represents URI for the model */ uri?: string; /** * Indicates that the model will be immediately created after the manifest is loaded by Component Factory and before the Component instance is created */ preload?: boolean; settings?: Ui5Setting; } export interface Ui5Setting { /** * Represents default binding mode and must be a string value from sap.ui.model.BindingMode. Possible values: Default, OneTime, OneWay, TwoWay */ defaultBindingMode?: "Default" | "OneTime" | "OneWay" | "TwoWay"; /** * Represents the alternative for bundleUrl */ bundleName?: string; /** * Represents the URL for the resource bundle */ bundleUrl?: string; /** * Indicates whether url is relative to component (default) or manifest */ bundleUrlRelativeTo?: "manifest" | "component"; /** * Represents the fallback locale */ fallbackLocale?: string; /** * Represents the list of supported locales */ supportedLocales?: unknown[]; /** * Represents terminologies with additional properties files */ terminologies?: { [k: string]: unknown; }; /** * Represents enhancement of UI5 resource model with additional properties files */ enhanceWith?: EnhanceWithSetting2[]; [k: string]: unknown; } /** * Represents the definition of each service * * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "[\s\S]*". */ export interface Service { /** * Represents the name of the service factory */ factoryName: string; /** * Indicates whether the service optional or not */ optional?: boolean; [k: string]: unknown; } /** * Represents a UI5 shortcut command. * * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^[A-Za-z_][A-Za-z0-9_\-\|@]+$". */ export interface Command { /** * A string describing a shortcut key combination that, when used by the user, will trigger the command. */ shortcut?: string; } /** * Represents the configuration of routing */ export interface RoutingFlexEnabled { /** * Represents the default properties defined for route and target */ config?: { /** * Represents the router class */ routerClass?: string; /** * Indicates whether the Views in routing are loaded asyncly */ async?: boolean; /** * Represents information about targets to display when no route is matched */ bypassed?: { /** * Represents one or multiple names of targets that are displayed when no route is matched */ target: [] | [string | RouteTargetObject] | string | RouteTargetObject; }; /** * Represents a prefix that is prepended in front of the viewName */ viewPath?: string; [k: string]: unknown; } & Target; routes?: Route[] | { [k: string]: RouteWithoutName; }; /** * Represents the definition of targets */ targets?: { /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "[\s\S]*". */ [k: string]: (Target & { /** * Represents the name of a view that will be created */ viewName: string; /** * Represents the id of the created view */ viewId: string; /** * Represents a prefix that is prepended in front of the viewName */ viewPath?: string; [k: string]: unknown; }) | (Target & ({ /** * Represents the name of a view or component that will be created */ name: string; /** * Represents the id of the created view or component */ id: string; /** * Represents a prefix that is prepended in front of the view or component name */ path?: string; /** * Represents the type of the type View or Component */ type?: "View" | "Component"; [k: string]: unknown; } | { /** * Represents the componentUsage of the component that will be created */ usage: string; /** * Represents the id of the created view or component */ id: string; /** * Represents the type of the type Component */ type: "Component"; [k: string]: unknown; })); }; [k: string]: unknown; } /** * Represents the definition of a target of a route as object. */ export interface RouteTargetObject { /** * Represents the name of the routing target */ name?: string; /** * The prefix of the routing target */ prefix?: string; /** * Indicates whether this 'Component' target should propagate it's title to this component or not */ propagateTitle?: boolean & string; [k: string]: unknown; } /** * Represents the definition of each target */ export interface Target { /** * 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. */ title?: string; /** * Represents the type of view that is going to be created */ viewType?: "XML" | "JSON" | "JS" | "HTML" | "Template"; /** * Represents the id of the view that contains the control specified by the 'controlId' */ targetParent?: string; /** * Represents the id of the control where you want to place the view created by the target */ controlId?: string; /** * Represents the name of an aggregation of the controlId that contains the views */ controlAggregation?: string; /** * Whether the aggregation of the control should be cleared before adding the view */ clearControlAggregation?: boolean; /** * Represents the name of another target which will also be displayed once this target is displayed */ parent?: string; /** * Represents the level of the current view which is used to define the transition direction when navigate to this view */ viewLevel?: number; /** * Represents the type of transition when navigating from previous view to this view */ transition?: string | ("slide" | "flip" | "fade" | "show"); /** * Represents the transition parameters that are passed to the event handlers */ transitionParameters?: { [k: string]: unknown; }; [k: string]: unknown; } /** * Represents the definition of route without the option 'name'. This is used when routes are defined in an object. * * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "[\s\S]*". * * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "[\s\S]*". */ export interface RouteWithoutName { /** * Represents the url pattern that the route is matched against */ pattern?: string; /** * Whether the route should be matched when another route is already matched */ greedy?: boolean; /** * Represents one or multiple names of targets which are displayed when the route is matched */ target?: [] | [string | RouteTargetObject] | string | RouteTargetObject; /** * Represents the name of the target where the 'title' information should be taken */ titleTarget?: string; [k: string]: unknown; } /** * Represents the root view definition when flex is enabled (requires a view id) */ export interface RootViewDefFlexEnabled { /** * Represents the name of the view