aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/apps/configurationApp/src/models/uiModels.ts
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/odlux/apps/configurationApp/src/models/uiModels.ts')
-rw-r--r--sdnr/wt/odlux/apps/configurationApp/src/models/uiModels.ts73
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[];
+}
+