diff options
Diffstat (limited to 'sdnr/wt/odlux/apps/configurationApp/src/models/uiModels.ts')
-rw-r--r-- | sdnr/wt/odlux/apps/configurationApp/src/models/uiModels.ts | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/sdnr/wt/odlux/apps/configurationApp/src/models/uiModels.ts b/sdnr/wt/odlux/apps/configurationApp/src/models/uiModels.ts new file mode 100644 index 000000000..99307c648 --- /dev/null +++ b/sdnr/wt/odlux/apps/configurationApp/src/models/uiModels.ts @@ -0,0 +1,73 @@ +export interface AccessFlags { + "read": boolean, + "write": boolean, + "create": boolean +} + +export interface ViewElementBase { + "id": string; + "label": string; + "viewId": string; + "leafrefPath": string; + "accessFlags": AccessFlags; + "description": string; +} + +export interface ViewElementString extends ViewElementBase { + "uiType": "string"; +} + +export interface ViewElementNumber extends ViewElementBase { + "uiType": "number"; + "min"?: number; + "max"?: number; + "unit"?: string; + "format"?: string; +} + +export interface ViewElementBoolean extends ViewElementBase { + "uiType": "boolean"; + "trueValue"?: string; + "falseValue"?: string; +} + +export interface ViewElementObject extends ViewElementBase { + "uiType": "object"; + "viewId": string; +} + +export interface ViewElementSelection extends ViewElementBase { + "uiType": "selection"; + "multiSelect"?: boolean + "options": { + "key": string, + "value": string, + "description": string + }[], +} + +export interface ViewElementList extends ViewElementBase { + "uiType": "list", + "listType": "object" | "string" | "number", + "viewId": string, +} + +export type ViewElement = + | ViewElementString + | ViewElementNumber + | ViewElementBoolean + | ViewElementObject + | ViewElementSelection + | ViewElementList; + +export interface ViewSpecification { + "id": string; + "parentView": string; + "name": string; + "language": string; + "title"?: string; + "url": string; + "dataPath": string; + "elements": ViewElement[]; +} + |