1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
export class DynamicInput<T>{
id: string;
name: string;
type: string;
description: string;
value: T;
prompt: any;
maxLength: number;
minLength: number;
isVisible: boolean;
isRequired: boolean;
isEnabled: boolean;
isReadOnly: boolean;
constructor(options: {
id?: string,
name?: string,
type: string,
description?: string,
value?: T,
prompt?: any,
maxLength?: number,
minLength?: number,
isVisible?: boolean,
isRequired?: boolean,
isEnabled?: boolean,
isReadOnly?: boolean,
}) {
this.id = options.id;
this.name = options.name || '';
this.type = options.type;
this.description = options.description || '';
this.value = options.value;
this.prompt = options.prompt;
this.maxLength = options.maxLength;
this.minLength = options.minLength;
this.isVisible = options.isVisible == false? options.isVisible: true;
this.isEnabled = options.isEnabled == false? options.isEnabled: true;
this.isRequired = options.isRequired == null? false: options.isRequired;
this.isReadOnly = options.isReadOnly == null? false: options.isReadOnly;
}
}
export class DynamicNumber extends DynamicInput<number> {
max: number;
min: number;
constructor(options: {
id?: string,
name?: string,
type: string,
description?: string,
value?: number,
prompt?: any,
maxLength?: number,
minLength?: number,
isVisible?: boolean,
isRequired?: boolean,
isEnabled?: boolean,
isReadOnly?: boolean,
max?: number,
min?: number
}){
super(options);
this.max = options.max;
this.min = options.min;
}
}
export class DynamicSelect extends DynamicInput<any> {
optionList: any[];
constructor(options: {
id?: string,
name?: string,
type: string,
description?: string,
value?: any,
prompt?: any,
maxLength?: number,
minLength?: number,
isVisible?: boolean,
isRequired?: boolean,
isEnabled?: boolean,
isReadOnly?: boolean,
optionList?: any[]
}) {
super(options);
this.optionList = options.optionList || [];
}
}
export class DynamicMultiSelect extends DynamicSelect {
selectedItems: any[];
settings: any;
constructor(options: {
id?: string,
name?: string,
type: string,
description?: string,
value?: any,
prompt?: any,
maxLength?: number,
minLength?: number,
isVisible?: boolean,
isRequired?: boolean,
isEnabled?: boolean,
isReadOnly?: boolean,
settings?: any,
optionList?: any[],
selectedItems?: any[]
}) {
super(options);
this.settings = options.settings || {};
this.selectedItems = options.selectedItems || [];
}
}
|