@ui5/linter
Version:
A static code analysis tool for UI5
1,574 lines (1,573 loc) • 104 kB
TypeScript
/**
* 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