@yongdall/standard 0.6.1 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.mts CHANGED
@@ -1,203 +1,204 @@
1
- import * as imodel108 from "imodel";
2
- import * as _yongdall_model9 from "@yongdall/model";
1
+ import * as imodel6 from "imodel";
2
+ import * as _yongdall_model0 from "@yongdall/model";
3
3
 
4
4
  //#region packages/standard/models/Application.d.mts
5
- declare const _default: _yongdall_model9.ModelTable<{
6
- label: imodel108.FieldDefine<"string", false, false>;
7
- type: imodel108.FieldDefine<"string", false, false>;
8
- title: imodel108.FieldDefine<"string", false, false>;
9
- id: imodel108.FieldDefine<"uuid", false, false>;
10
- domain: imodel108.FieldDefine<"string", false, false>;
11
- port: imodel108.FieldDefine<"i32", false, false>;
12
- path: imodel108.FieldDefine<"string", false, false>;
13
- https: imodel108.FieldDefine<"bool", false, false>;
14
- default: imodel108.FieldDefine<"bool", false, false>;
15
- singleDefault: imodel108.FieldDefine<"bool", false, false>;
16
- authenticator: imodel108.FieldDefine<"string", false, false>;
17
- skin: imodel108.FieldDefine<"string", false, false>;
18
- theme: imodel108.FieldDefine<"string", false, false>;
19
- userType: imodel108.FieldDefine<"string", false, false>;
20
- authRequired: imodel108.FieldDefine<"bool", false, false>;
21
- logo: imodel108.FieldDefine<"text", false, false>;
22
- company: imodel108.FieldDefine<"string", false, false>;
23
- help: imodel108.FieldDefine<"text", false, true>;
24
- pages: imodel108.FieldDefine<_yongdall_model9.ModelTable<{
25
- applicationId: imodel108.FieldDefine<"uuid", false, false>;
26
- type: imodel108.FieldDefine<"string", false, false>;
27
- widget: imodel108.FieldDefine<"text", false, false>;
28
- no: imodel108.FieldDefine<"i32", false, false>;
5
+ declare const _default: _yongdall_model0.ModelTable<{
6
+ label: imodel6.FieldDefine<"string", false, false>;
7
+ type: imodel6.FieldDefine<"string", false, false>;
8
+ title: imodel6.FieldDefine<"string", false, false>;
9
+ id: imodel6.FieldDefine<"uuid", false, false>;
10
+ domain: imodel6.FieldDefine<"string", false, false>;
11
+ port: imodel6.FieldDefine<"i32", false, false>;
12
+ path: imodel6.FieldDefine<"string", false, false>;
13
+ https: imodel6.FieldDefine<"bool", false, false>;
14
+ default: imodel6.FieldDefine<"bool", false, false>;
15
+ singleDefault: imodel6.FieldDefine<"bool", false, false>;
16
+ authenticator: imodel6.FieldDefine<"string", false, false>;
17
+ skin: imodel6.FieldDefine<"string", false, false>;
18
+ theme: imodel6.FieldDefine<"string", false, false>;
19
+ userType: imodel6.FieldDefine<"string", false, false>;
20
+ authRequired: imodel6.FieldDefine<"bool", false, false>;
21
+ logo: imodel6.FieldDefine<"text", false, false>;
22
+ company: imodel6.FieldDefine<"string", false, false>;
23
+ help: imodel6.FieldDefine<"text", false, true>;
24
+ pages: imodel6.FieldDefine<_yongdall_model0.ModelTable<{
25
+ applicationId: imodel6.FieldDefine<"uuid", false, false>;
26
+ type: imodel6.FieldDefine<"string", false, false>;
27
+ widget: imodel6.FieldDefine<"text", false, false>;
28
+ no: imodel6.FieldDefine<"i32", false, false>;
29
29
  }, string>, true, false>;
30
- continuations: imodel108.FieldDefine<_yongdall_model9.ModelTable<{
31
- applicationId: imodel108.FieldDefine<"uuid", false, false>;
32
- type: imodel108.FieldDefine<"string", false, false>;
33
- widget: imodel108.FieldDefine<"text", false, false>;
34
- no: imodel108.FieldDefine<"i32", false, false>;
30
+ continuations: imodel6.FieldDefine<_yongdall_model0.ModelTable<{
31
+ applicationId: imodel6.FieldDefine<"uuid", false, false>;
32
+ type: imodel6.FieldDefine<"string", false, false>;
33
+ widget: imodel6.FieldDefine<"text", false, false>;
34
+ no: imodel6.FieldDefine<"i32", false, false>;
35
35
  }, string>, true, false>;
36
- menus: imodel108.FieldDefine<_yongdall_model9.ModelTable<{
37
- applicationId: imodel108.FieldDefine<"uuid", false, false>;
38
- no: imodel108.FieldDefine<"i32", false, false>;
39
- type: imodel108.FieldDefine<"string", false, false>;
40
- level: imodel108.FieldDefine<"i16", false, false>;
41
- label: imodel108.FieldDefine<"string", false, false>;
42
- icon: imodel108.FieldDefine<"string", false, false>;
43
- image: imodel108.FieldDefine<"text", false, false>;
44
- color: imodel108.FieldDefine<"string", false, false>;
45
- title: imodel108.FieldDefine<"string", false, false>;
46
- description: imodel108.FieldDefine<"text", false, false>;
47
- page: imodel108.FieldDefine<"text", false, false>;
48
- path: imodel108.FieldDefine<"text", false, false>;
49
- uri: imodel108.FieldDefine<"text", false, false>;
50
- command: imodel108.FieldDefine<"text", false, false>;
51
- permission: imodel108.FieldDefine<"text", false, false>;
52
- collapsed: imodel108.FieldDefine<"bool", false, false>;
36
+ menus: imodel6.FieldDefine<_yongdall_model0.ModelTable<{
37
+ applicationId: imodel6.FieldDefine<"uuid", false, false>;
38
+ no: imodel6.FieldDefine<"i32", false, false>;
39
+ type: imodel6.FieldDefine<"string", false, false>;
40
+ level: imodel6.FieldDefine<"i16", false, false>;
41
+ label: imodel6.FieldDefine<"string", false, false>;
42
+ icon: imodel6.FieldDefine<"string", false, false>;
43
+ image: imodel6.FieldDefine<"text", false, false>;
44
+ color: imodel6.FieldDefine<"string", false, false>;
45
+ title: imodel6.FieldDefine<"string", false, false>;
46
+ description: imodel6.FieldDefine<"text", false, false>;
47
+ page: imodel6.FieldDefine<"text", false, false>;
48
+ path: imodel6.FieldDefine<"text", false, false>;
49
+ uri: imodel6.FieldDefine<"text", false, false>;
50
+ command: imodel6.FieldDefine<"text", false, false>;
51
+ permission: imodel6.FieldDefine<"text", false, false>;
52
+ collapsed: imodel6.FieldDefine<"bool", false, false>;
53
53
  }, string>, true, false>;
54
- userMenus: imodel108.FieldDefine<_yongdall_model9.ModelTable<{
55
- applicationId: imodel108.FieldDefine<"uuid", false, false>;
56
- no: imodel108.FieldDefine<"i32", false, false>;
57
- type: imodel108.FieldDefine<"string", false, false>;
58
- level: imodel108.FieldDefine<"i16", false, false>;
59
- label: imodel108.FieldDefine<"string", false, false>;
60
- page: imodel108.FieldDefine<"text", false, false>;
61
- path: imodel108.FieldDefine<"text", false, false>;
62
- uri: imodel108.FieldDefine<"text", false, false>;
63
- command: imodel108.FieldDefine<"text", false, false>;
64
- logged: imodel108.FieldDefine<"bool", false, false>;
54
+ userMenus: imodel6.FieldDefine<_yongdall_model0.ModelTable<{
55
+ applicationId: imodel6.FieldDefine<"uuid", false, false>;
56
+ no: imodel6.FieldDefine<"i32", false, false>;
57
+ type: imodel6.FieldDefine<"string", false, false>;
58
+ level: imodel6.FieldDefine<"i16", false, false>;
59
+ label: imodel6.FieldDefine<"string", false, false>;
60
+ page: imodel6.FieldDefine<"text", false, false>;
61
+ path: imodel6.FieldDefine<"text", false, false>;
62
+ uri: imodel6.FieldDefine<"text", false, false>;
63
+ command: imodel6.FieldDefine<"text", false, false>;
64
+ logged: imodel6.FieldDefine<"bool", false, false>;
65
65
  }, string>, true, false>;
66
- description: imodel108.FieldDefine<"text", false, false>;
66
+ description: imodel6.FieldDefine<"text", false, false>;
67
67
  }, string>;
68
68
  //#endregion
69
69
  //#region packages/standard/models/Menu.d.mts
70
- declare const _default$3: _yongdall_model9.ModelTable<{
71
- id: imodel108.FieldDefine<"uuid", false, false>;
72
- groupType: imodel108.FieldDefine<"string", false, false>;
73
- group: imodel108.FieldDefine<"text", false, false>;
74
- no: imodel108.FieldDefine<"i32", false, false>;
75
- type: imodel108.FieldDefine<"string", false, false>;
76
- level: imodel108.FieldDefine<"i16", false, false>;
77
- label: imodel108.FieldDefine<"string", false, false>;
78
- icon: imodel108.FieldDefine<"string", false, false>;
79
- image: imodel108.FieldDefine<"text", false, false>;
80
- color: imodel108.FieldDefine<"string", false, false>;
81
- title: imodel108.FieldDefine<"string", false, false>;
82
- description: imodel108.FieldDefine<"text", false, false>;
83
- page: imodel108.FieldDefine<"text", false, false>;
84
- path: imodel108.FieldDefine<"text", false, false>;
85
- uri: imodel108.FieldDefine<"text", false, false>;
86
- command: imodel108.FieldDefine<"text", false, false>;
87
- script: imodel108.FieldDefine<"text", false, false>;
88
- refType: imodel108.FieldDefine<"string", false, false>;
89
- refId: imodel108.FieldDefine<"string", false, false>;
90
- refMode: imodel108.FieldDefine<"string", false, false>;
91
- permission: imodel108.FieldDefine<"text", false, false>;
92
- collapsed: imodel108.FieldDefine<"bool", false, false>;
93
- autoLogin: imodel108.FieldDefine<"bool", false, false>;
94
- applicationId: imodel108.FieldDefine<"string", false, false>;
70
+ declare const _default$3: _yongdall_model0.ModelTable<{
71
+ id: imodel6.FieldDefine<"uuid", false, false>;
72
+ groupType: imodel6.FieldDefine<"string", false, false>;
73
+ group: imodel6.FieldDefine<"text", false, false>;
74
+ no: imodel6.FieldDefine<"i32", false, false>;
75
+ type: imodel6.FieldDefine<"string", false, false>;
76
+ level: imodel6.FieldDefine<"i16", false, false>;
77
+ label: imodel6.FieldDefine<"string", false, false>;
78
+ icon: imodel6.FieldDefine<"string", false, false>;
79
+ image: imodel6.FieldDefine<"text", false, false>;
80
+ color: imodel6.FieldDefine<"string", false, false>;
81
+ title: imodel6.FieldDefine<"string", false, false>;
82
+ description: imodel6.FieldDefine<"text", false, false>;
83
+ page: imodel6.FieldDefine<"text", false, false>;
84
+ path: imodel6.FieldDefine<"text", false, false>;
85
+ uri: imodel6.FieldDefine<"text", false, false>;
86
+ command: imodel6.FieldDefine<"text", false, false>;
87
+ script: imodel6.FieldDefine<"text", false, false>;
88
+ refType: imodel6.FieldDefine<"string", false, false>;
89
+ refId: imodel6.FieldDefine<"string", false, false>;
90
+ refMode: imodel6.FieldDefine<"string", false, false>;
91
+ permission: imodel6.FieldDefine<"text", false, false>;
92
+ collapsed: imodel6.FieldDefine<"bool", false, false>;
93
+ autoLogin: imodel6.FieldDefine<"bool", false, false>;
94
+ applicationId: imodel6.FieldDefine<"string", false, false>;
95
95
  }, string>;
96
96
  //#endregion
97
97
  //#region packages/standard/models/Page.d.mts
98
- declare const _default$4: _yongdall_model9.ModelTable<{
99
- applicationId: imodel108.FieldDefine<"uuid", false, true>;
100
- type: imodel108.FieldDefine<"string", false, false>;
101
- model: imodel108.FieldDefine<"string", false, false>;
102
- organization: imodel108.FieldDefine<"string", false, false>;
103
- user: imodel108.FieldDefine<"string", false, false>;
104
- workspace: imodel108.FieldDefine<"string", false, false>;
105
- widget: imodel108.FieldDefine<"string", false, false>;
106
- label: imodel108.FieldDefine<"string", false, false>;
107
- title: imodel108.FieldDefine<"string", false, false>;
108
- titlePattern: imodel108.FieldDefine<"string", false, false>;
109
- current: imodel108.FieldDefine<"bool", false, false>;
110
- id: imodel108.FieldDefine<"uuid", false, false>;
111
- url: imodel108.FieldDefine<"text", false, false>;
112
- config: imodel108.FieldDefine<"json", false, false>;
113
- defaultQuery: imodel108.FieldDefine<"string", false, false>;
114
- hiddenFilter: imodel108.FieldDefine<"string", false, false>;
115
- fields: imodel108.FieldDefine<_yongdall_model9.ModelTable<{
116
- pageId: imodel108.FieldDefine<"uuid", false, false>;
117
- no: imodel108.FieldDefine<"i16", false, false>;
118
- field: imodel108.FieldDefine<"string", false, false>;
119
- label: imodel108.FieldDefine<"string", false, false>;
120
- width: imodel108.FieldDefine<"string", false, false>;
121
- align: imodel108.FieldDefine<"string", false, false>;
122
- pattern: imodel108.FieldDefine<"string", false, false>;
123
- enableLink: imodel108.FieldDefine<"bool", false, false>;
98
+ declare const _default$4: _yongdall_model0.ModelTable<{
99
+ applicationId: imodel6.FieldDefine<"uuid", false, true>;
100
+ type: imodel6.FieldDefine<"string", false, false>;
101
+ model: imodel6.FieldDefine<"string", false, false>;
102
+ organization: imodel6.FieldDefine<"string", false, false>;
103
+ user: imodel6.FieldDefine<"string", false, false>;
104
+ workspace: imodel6.FieldDefine<"string", false, false>;
105
+ widget: imodel6.FieldDefine<"string", false, false>;
106
+ label: imodel6.FieldDefine<"string", false, false>;
107
+ title: imodel6.FieldDefine<"string", false, false>;
108
+ titlePattern: imodel6.FieldDefine<"string", false, false>;
109
+ current: imodel6.FieldDefine<"bool", false, false>;
110
+ id: imodel6.FieldDefine<"uuid", false, false>;
111
+ url: imodel6.FieldDefine<"text", false, false>;
112
+ config: imodel6.FieldDefine<"json", false, false>;
113
+ defaultQuery: imodel6.FieldDefine<"string", false, false>;
114
+ hiddenFilter: imodel6.FieldDefine<"string", false, false>;
115
+ fields: imodel6.FieldDefine<_yongdall_model0.ModelTable<{
116
+ pageId: imodel6.FieldDefine<"uuid", false, false>;
117
+ no: imodel6.FieldDefine<"i16", false, false>;
118
+ field: imodel6.FieldDefine<"string", false, false>;
119
+ label: imodel6.FieldDefine<"string", false, false>;
120
+ width: imodel6.FieldDefine<"string", false, false>;
121
+ align: imodel6.FieldDefine<"string", false, false>;
122
+ pattern: imodel6.FieldDefine<"string", false, false>;
123
+ enableLink: imodel6.FieldDefine<"bool", false, false>;
124
124
  }, string>, true, false>;
125
- filters: imodel108.FieldDefine<_yongdall_model9.ModelTable<{
126
- pageId: imodel108.FieldDefine<"uuid", false, false>;
127
- no: imodel108.FieldDefine<"i16", false, false>;
128
- field: imodel108.FieldDefine<"string", false, false>;
129
- operator: imodel108.FieldDefine<"string", false, false>;
125
+ filters: imodel6.FieldDefine<_yongdall_model0.ModelTable<{
126
+ pageId: imodel6.FieldDefine<"uuid", false, false>;
127
+ no: imodel6.FieldDefine<"i16", false, false>;
128
+ field: imodel6.FieldDefine<"string", false, false>;
129
+ operator: imodel6.FieldDefine<"string", false, false>;
130
+ state: imodel6.FieldDefine<"string", false, false>;
130
131
  }, string>, true, false>;
131
- forms: imodel108.FieldDefine<_yongdall_model9.ModelTable<{
132
- pageId: imodel108.FieldDefine<"uuid", false, false>;
133
- type: imodel108.FieldDefine<"string", false, false>;
134
- no: imodel108.FieldDefine<"i16", false, false>;
135
- layoutId: imodel108.FieldDefine<"uuid", false, false>;
136
- mode: imodel108.FieldDefine<"string", false, false>;
132
+ forms: imodel6.FieldDefine<_yongdall_model0.ModelTable<{
133
+ pageId: imodel6.FieldDefine<"uuid", false, false>;
134
+ type: imodel6.FieldDefine<"string", false, false>;
135
+ no: imodel6.FieldDefine<"i16", false, false>;
136
+ layoutId: imodel6.FieldDefine<"uuid", false, false>;
137
+ mode: imodel6.FieldDefine<"string", false, false>;
137
138
  }, string>, true, false>;
138
- menus: imodel108.FieldDefine<_yongdall_model9.ModelTable<{
139
- pageId: imodel108.FieldDefine<"uuid", false, false>;
140
- no: imodel108.FieldDefine<"i16", false, false>;
141
- type: imodel108.FieldDefine<"string", false, false>;
142
- level: imodel108.FieldDefine<"i16", false, false>;
143
- label: imodel108.FieldDefine<"string", false, false>;
144
- icon: imodel108.FieldDefine<"string", false, false>;
145
- color: imodel108.FieldDefine<"string", false, false>;
146
- title: imodel108.FieldDefine<"string", false, false>;
147
- page: imodel108.FieldDefine<"text", false, false>;
148
- path: imodel108.FieldDefine<"text", false, false>;
149
- uri: imodel108.FieldDefine<"text", false, false>;
150
- command: imodel108.FieldDefine<"text", false, false>;
151
- script: imodel108.FieldDefine<"text", false, false>;
152
- permission: imodel108.FieldDefine<"text", false, false>;
153
- description: imodel108.FieldDefine<"text", false, false>;
139
+ menus: imodel6.FieldDefine<_yongdall_model0.ModelTable<{
140
+ pageId: imodel6.FieldDefine<"uuid", false, false>;
141
+ no: imodel6.FieldDefine<"i16", false, false>;
142
+ type: imodel6.FieldDefine<"string", false, false>;
143
+ level: imodel6.FieldDefine<"i16", false, false>;
144
+ label: imodel6.FieldDefine<"string", false, false>;
145
+ icon: imodel6.FieldDefine<"string", false, false>;
146
+ color: imodel6.FieldDefine<"string", false, false>;
147
+ title: imodel6.FieldDefine<"string", false, false>;
148
+ page: imodel6.FieldDefine<"text", false, false>;
149
+ path: imodel6.FieldDefine<"text", false, false>;
150
+ uri: imodel6.FieldDefine<"text", false, false>;
151
+ command: imodel6.FieldDefine<"text", false, false>;
152
+ script: imodel6.FieldDefine<"text", false, false>;
153
+ permission: imodel6.FieldDefine<"text", false, false>;
154
+ description: imodel6.FieldDefine<"text", false, false>;
154
155
  }, string>, true, false>;
155
- sides: imodel108.FieldDefine<_yongdall_model9.ModelTable<{
156
- pageId: imodel108.FieldDefine<"uuid", false, false>;
157
- no: imodel108.FieldDefine<"i16", false, false>;
158
- widget: imodel108.FieldDefine<"string", false, false>;
159
- options: imodel108.FieldDefine<"string", false, false>;
156
+ sides: imodel6.FieldDefine<_yongdall_model0.ModelTable<{
157
+ pageId: imodel6.FieldDefine<"uuid", false, false>;
158
+ no: imodel6.FieldDefine<"i16", false, false>;
159
+ widget: imodel6.FieldDefine<"string", false, false>;
160
+ options: imodel6.FieldDefine<"string", false, false>;
160
161
  }, string>, true, false>;
161
- description: imodel108.FieldDefine<"text", false, false>;
162
- createdAt: imodel108.FieldDefine<"timestamp", false, false>;
163
- updatedAt: imodel108.FieldDefine<"timestamp", false, false>;
162
+ description: imodel6.FieldDefine<"text", false, false>;
163
+ createdAt: imodel6.FieldDefine<"timestamp", false, false>;
164
+ updatedAt: imodel6.FieldDefine<"timestamp", false, false>;
164
165
  }, string>;
165
166
  //#endregion
166
167
  //#region packages/standard/models/Database.d.mts
167
- declare const _default$1: _yongdall_model9.ModelTable<{
168
- id: imodel108.FieldDefine<"uuid", false, false>;
169
- type: imodel108.FieldDefine<"string", false, false>;
170
- label: imodel108.FieldDefine<"string", false, false>;
171
- name: imodel108.FieldDefine<"string", false, false>;
172
- uri: imodel108.FieldDefine<"string", false, false>;
173
- createdAt: imodel108.FieldDefine<"timestamp", false, false>;
174
- updatedAt: imodel108.FieldDefine<"timestamp", false, false>;
168
+ declare const _default$1: _yongdall_model0.ModelTable<{
169
+ id: imodel6.FieldDefine<"uuid", false, false>;
170
+ type: imodel6.FieldDefine<"string", false, false>;
171
+ label: imodel6.FieldDefine<"string", false, false>;
172
+ name: imodel6.FieldDefine<"string", false, false>;
173
+ uri: imodel6.FieldDefine<"string", false, false>;
174
+ createdAt: imodel6.FieldDefine<"timestamp", false, false>;
175
+ updatedAt: imodel6.FieldDefine<"timestamp", false, false>;
175
176
  }, string>;
176
177
  //#endregion
177
178
  //#region packages/standard/models/FormLayout.d.mts
178
- declare const _default$2: _yongdall_model9.ModelTable<{
179
- id: imodel108.FieldDefine<"uuid", false, false>;
180
- label: imodel108.FieldDefine<"string", false, false>;
181
- modelId: imodel108.FieldDefine<"string", false, false>;
182
- default: imodel108.FieldDefine<"bool", false, false>;
183
- type: imodel108.FieldDefine<"string", false, false>;
184
- enableLink: imodel108.FieldDefine<"bool", false, false>;
185
- enableLinkEditable: imodel108.FieldDefine<"bool", false, false>;
186
- layout: imodel108.FieldDefine<"json", false, false>;
187
- description: imodel108.FieldDefine<"text", false, false>;
188
- createdAt: imodel108.FieldDefine<"timestamp", false, false>;
189
- updatedAt: imodel108.FieldDefine<"timestamp", false, false>;
179
+ declare const _default$2: _yongdall_model0.ModelTable<{
180
+ id: imodel6.FieldDefine<"uuid", false, false>;
181
+ label: imodel6.FieldDefine<"string", false, false>;
182
+ modelId: imodel6.FieldDefine<"string", false, false>;
183
+ default: imodel6.FieldDefine<"bool", false, false>;
184
+ type: imodel6.FieldDefine<"string", false, false>;
185
+ enableLink: imodel6.FieldDefine<"bool", false, false>;
186
+ enableLinkEditable: imodel6.FieldDefine<"bool", false, false>;
187
+ layout: imodel6.FieldDefine<"json", false, false>;
188
+ description: imodel6.FieldDefine<"text", false, false>;
189
+ createdAt: imodel6.FieldDefine<"timestamp", false, false>;
190
+ updatedAt: imodel6.FieldDefine<"timestamp", false, false>;
190
191
  }, string>;
191
192
  //#endregion
192
193
  //#region packages/standard/models/Plugin.d.mts
193
- declare const _default$5: _yongdall_model9.ModelTable<{
194
- id: imodel108.FieldDefine<"uuid", false, false>;
195
- label: imodel108.FieldDefine<"string", false, false>;
196
- plugin: imodel108.FieldDefine<"string", false, false>;
197
- enabled: imodel108.FieldDefine<"bool", false, false>;
198
- config: imodel108.FieldDefine<"json", false, false>;
199
- createdAt: imodel108.FieldDefine<"timestamp", false, false>;
200
- updatedAt: imodel108.FieldDefine<"timestamp", false, false>;
194
+ declare const _default$5: _yongdall_model0.ModelTable<{
195
+ id: imodel6.FieldDefine<"uuid", false, false>;
196
+ label: imodel6.FieldDefine<"string", false, false>;
197
+ plugin: imodel6.FieldDefine<"string", false, false>;
198
+ enabled: imodel6.FieldDefine<"bool", false, false>;
199
+ config: imodel6.FieldDefine<"json", false, false>;
200
+ createdAt: imodel6.FieldDefine<"timestamp", false, false>;
201
+ updatedAt: imodel6.FieldDefine<"timestamp", false, false>;
201
202
  }, string>;
202
203
  //#endregion
203
204
  export { _default as Application, _default$1 as Database, _default$2 as FormLayout, _default$3 as Menu, _default$4 as Page, _default$5 as Plugin };
package/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
- import { a as Menu_default, i as Page_default, n as FormLayout_default, o as Application_default, r as Database_default, t as Plugin_default } from "./standard-C63uIBxp.mjs";
1
+ import { a as Menu_default, i as Page_default, n as FormLayout_default, o as Application_default, r as Database_default, t as Plugin_default } from "./standard-xhGfNqjd.mjs";
2
2
 
3
3
  export { Application_default as Application, Database_default as Database, FormLayout_default as FormLayout, Menu_default as Menu, Page_default as Page, Plugin_default as Plugin };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yongdall/standard",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "type": "module",
@@ -8,15 +8,15 @@
8
8
  "author": "",
9
9
  "license": "ISC",
10
10
  "dependencies": {
11
- "@yongdall/core": "^0.6.1",
12
- "@yongdall/model": "^0.6.1"
11
+ "@yongdall/core": "^0.6.2",
12
+ "@yongdall/model": "^0.6.2"
13
13
  },
14
14
  "devDependencies": {
15
- "@yongdall/migrate": "^0.6.1",
16
- "@yongdall/web": "^0.6.1"
15
+ "@yongdall/migrate": "^0.6.2",
16
+ "@yongdall/web": "^0.6.2"
17
17
  },
18
18
  "peerDependencies": {
19
- "@yongdall/web": "^0.6.1"
19
+ "@yongdall/web": "^0.6.2"
20
20
  },
21
21
  "exports": {
22
22
  ".": "./index.mjs",
@@ -557,7 +557,12 @@ var Application_default = createModel("application", {
557
557
  placeholder: 1
558
558
  },
559
559
  { placeholder: 1 },
560
- { actions: ["add", "remove"] }
560
+ { actions: [
561
+ "add",
562
+ "copyTree",
563
+ "remove",
564
+ "removeTree"
565
+ ] }
561
566
  ]
562
567
  }
563
568
  }),
@@ -577,7 +582,12 @@ var Application_default = createModel("application", {
577
582
  placeholder: 1
578
583
  },
579
584
  { placeholder: 1 },
580
- { actions: ["add", "remove"] }
585
+ { actions: [
586
+ "add",
587
+ "copyTree",
588
+ "remove",
589
+ "removeTree"
590
+ ] }
581
591
  ]
582
592
  }
583
593
  }),
@@ -1017,6 +1027,12 @@ const PageFilter = createModel("page.filter", {
1017
1027
  label: "运算符",
1018
1028
  renderer: "select",
1019
1029
  layout: { head: 1 }
1030
+ }),
1031
+ state: createField("string", {
1032
+ nullable: false,
1033
+ default: "",
1034
+ label: "全局状态",
1035
+ layout: { head: 1 }
1020
1036
  })
1021
1037
  });
1022
1038
  const PageSider = createModel("page.sider", {
@@ -1280,7 +1296,8 @@ var Page_default = createModel("page", {
1280
1296
  ] },
1281
1297
  { field: "field" },
1282
1298
  { field: "operator" },
1283
- { field: "not" }
1299
+ { field: "not" },
1300
+ { field: "state" }
1284
1301
  ] }
1285
1302
  }),
1286
1303
  forms: createField(PageForm, {
@@ -1734,4 +1751,4 @@ var Plugin_default = createModel("plugin", {
1734
1751
 
1735
1752
  //#endregion
1736
1753
  export { Menu_default as a, Page_default as i, FormLayout_default as n, Application_default as o, Database_default as r, Plugin_default as t };
1737
- //# sourceMappingURL=standard-C63uIBxp.mjs.map
1754
+ //# sourceMappingURL=standard-xhGfNqjd.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standard-xhGfNqjd.mjs","names":[],"sources":["../../packages/standard/models/Application.mjs","../../packages/standard/models/Menu.mjs","../../packages/standard/models/Page.mjs","../../packages/standard/models/Database.mjs","../../packages/standard/models/FormLayout.mjs","../../packages/standard/models/Plugin.mjs"],"sourcesContent":["import { actions, createField, createModel, uuid, Where } from '@yongdall/model';\n\nconst UserMenu = createModel('application.userMenu', {\n\tapplicationId: createField('uuid', { nullable: false, label: '应用', primary: 1 }),\n\tno: createField('i32', { nullable: false, default: 0, label: '顺序号', primary: 2 }),\n\ttype: createField('string', {\n\t\tnullable: false, default: '', label: '菜单类型', renderer: 'select', source: [\n\t\t\t{ value: '', label: '菜单' },\n\t\t\t// { value: 'button', label: '按钮' },\n\t\t\t{ value: 'divider', label: '分割线' },\n\t\t]\n\t}),\n\tlevel: createField('i16', { nullable: false, default: 0, layout: { hidden: true } }),\n\n\tlabel: createField('string', { nullable: false, default: '新菜单', label: '标签' }),\n\n\tpage: createField('text', { nullable: false, default: '', label: '页面', renderer: 'string' }),\n\tpath: createField('text', { nullable: false, default: '', label: '页面路径', renderer: 'string' }),\n\turi: createField('text', { nullable: false, default: '', label: 'URI', renderer: 'uri' }),\n\tcommand: createField('text', { nullable: false, default: '', label: '命令', renderer: 'string' }),\n\tlogged: createField('bool', { nullable: false, default: false, label: '仅登陆用户' }),\n});\nconst NavMenu = createModel('application.menu', {\n\tapplicationId: createField('uuid', { nullable: false, label: '应用', primary: 1 }),\n\tno: createField('i32', { nullable: false, default: 0, label: '顺序号', primary: 2 }),\n\ttype: createField('string', {\n\t\tnullable: false, default: '', label: '菜单类型', layout: { colSpan: 6 }, renderer: 'select', source: [\n\t\t\t{ value: '', label: '菜单' },\n\t\t\t{ value: 'button', label: '按钮' },\n\t\t\t{ value: 'divider', label: '分割线' },\n\t\t]\n\t}),\n\tlevel: createField('i16', { nullable: false, default: 0, layout: { hidden: true } }),\n\n\tlabel: createField('string', { nullable: false, default: '新菜单', label: '标签', layout: { colSpan: 6 } }),\n\ticon: createField('string', { nullable: false, default: '', label: '图标', layout: { colSpan: 6 } }),\n\timage: createField('text', { nullable: false, default: '', label: '图片', layout: { colSpan: 6 }, renderer: 'string' }),\n\tcolor: createField('string', { nullable: false, default: '', label: '颜色', layout: { colSpan: 6 } }),\n\ttitle: createField('string', { nullable: false, default: '', label: '标题', layout: { colSpan: 6 } }),\n\tdescription: createField('text', { nullable: false, default: '', label: '描述', layout: { colSpan: 6 }, renderer: 'string' }),\n\n\tpage: createField('text', { nullable: false, default: '', label: '页面', layout: { colSpan: 6 }, renderer: 'string' }),\n\tpath: createField('text', { nullable: false, default: '', label: '页面路径', layout: { colSpan: 6 }, renderer: 'string' }),\n\turi: createField('text', { nullable: false, default: '', label: 'URI', layout: { colSpan: 6 }, renderer: 'uri' }),\n\tcommand: createField('text', { nullable: false, default: '', label: '命令', layout: { colSpan: 6 }, renderer: 'string' }),\n\n\n\tpermission: createField('text', { nullable: false, default: '', label: '权限', renderer: 'permission' }),\n\tcollapsed: createField('bool', { nullable: false, default: true, label: '默认折叠', layout: { colSpan: 6 } }),\n});\n\nexport const ApplicationPage = createModel('application.page', {\n\tapplicationId: createField('uuid', { nullable: false, label: '应用', primary: 1 }),\n\ttype: createField('string', {\n\t\tsize: 50, nullable: false, label: '页面类型', immutable: true, primary: 2, renderer: 'select', source: [\n\t\t\t{ value: 'model', label: '文档主页面' },\n\t\t\t{ value: 'modelDetails', label: '文档详情页面' },\n\t\t\t{ value: 'modelEdit', label: '文档编辑页面' },\n\t\t\t{ value: 'modelInput', label: '文档创建页面' },\n\t\t\t{ value: 'modelCopy', label: '文档复制页面' },\n\n\t\t\t{ value: 'user', label: '用户主页面' },\n\t\t\t{ value: 'userDetails', label: '用户详情页面' },\n\t\t\t{ value: 'userEdit', label: '用户编辑页面' },\n\t\t\t{ value: 'userInput', label: '用户创建页面' },\n\t\t\t{ value: 'userCopy', label: '用户复制页面' },\n\n\t\t\t{ value: 'organization', label: '组织主页面' },\n\t\t\t{ value: 'organizationDetails', label: '组织详情页面' },\n\t\t\t{ value: 'organizationEdit', label: '组织编辑页面' },\n\t\t\t{ value: 'organizationInput', label: '组织创建页面' },\n\t\t\t{ value: 'organizationCopy', label: '组织复制页面' },\n\n\t\t\t{ value: 'workspace', label: '工作区主页面' },\n\t\t\t{ value: 'workspaceDetails', label: '工作区详情页面' },\n\t\t\t{ value: 'workspaceEdit', label: '工作区编辑页面' },\n\t\t\t{ value: 'workspaceInput', label: '工作区创建页面' },\n\t\t\t{ value: 'workspaceCopy', label: '工作区复制页面' },\n\t\t]\n\t}),\n\twidget: createField('text', { nullable: false, label: '页面', renderer: 'select', source: {type: 'enumeration', name: 'page', value: '{page}', search: 'type=?type'} }),\n\tno: createField('i32', { nullable: false, default: 0, label: '顺序号' }),\n});\n\nexport const ApplicationConfigurationPage = createModel('application.configurationPage', {\n\tapplicationId: createField('uuid', { nullable: false, label: '应用', primary: 1 }),\n\ttype: createField('string', { size: 50, nullable: false, label: '页面类型', immutable: true, primary: 2 }),\n\twidget: createField('text', { nullable: false, label: '页面', renderer: 'select', source: {type: 'enumeration', name: 'page', value: '{page}', search: 'type=configuration'} }),\n\tno: createField('i32', { nullable: false, default: 0, label: '顺序号' }),\n});\nexport const ApplicationContinuation = createModel('application.continuation', {\n\tapplicationId: createField('uuid', { nullable: false, label: '应用', primary: 1 }),\n\ttype: createField('string', { size: 50, nullable: false, label: '页面类型', immutable: true, primary: 2 }),\n\twidget: createField('text', { nullable: false, label: '页面', renderer: 'select', source: {type: 'enumeration', name: 'page', value: '{page}', search: 'type=configuration'} }),\n\tno: createField('i32', { nullable: false, default: 0, label: '顺序号' }),\n});\n\nexport default createModel('application', {\n\tlabel: createField('string', { nullable: false, default: '', label: '名称', layout: { colSpan: 6 } }),\n\ttype: createField('string', {\n\t\tnullable: false, default: 'workbench', label: '类型', layout: { colSpan: 6 }, renderer: 'select', source: [\n\t\t\t{ value: 'workbench', label: '工作台' },\n\t\t\t{ value: 'authenticator', label: '登陆器' },\n\t\t]\n\t}),\n\ttitle: createField('string', { nullable: false, default: '', label: '标题', layout: { colSpan: 6 } }),\n\n\tid: createField('uuid', { nullable: false, default: uuid, renderer: 'string', layout: { colSpan: 6 }, uncreatable: true, primary: 1 }),\n\n\tdomain: createField('string', { nullable: false, default: '', label: '域名', layout: { colSpan: 5, colStart: 1 } }),\n\tport: createField('i32', { nullable: false, default: 0, label: '端口', layout: { colSpan: 3 } }),\n\tpath: createField('string', { nullable: false, default: '', label: '路径', layout: { colSpan: 10 } }),\n\thttps: createField('bool', { nullable: false, default: false, label: 'HTTPS', layout: { colSpan: 2 } }),\n\tdefault: createField('bool', { nullable: false, default: false, label: '默认', layout: { colSpan: 2 } }),\n\tsingleDefault: createField('bool', { nullable: false, default: false, label: '单用户默认', layout: { colSpan: 2 } }),\n\n\tauthenticator: createField('string', { nullable: false, default: '', label: '登录器', layout: { colSpan: 6 }, renderer: 'select', source: { type: 'enumeration', name: 'authenticator', value: '{authenticator}' } }),\n\tskin: createField('string', { nullable: false, default: '', label: '皮肤', layout: { colSpan: 6 }, renderer: 'select', source: { type: 'enumeration', name: 'skin', value: '{skin}' } }),\n\ttheme: createField('string', { nullable: false, default: '', label: '主题', layout: { colSpan: 6 }, renderer: 'select', source: { type: 'enumeration', name: 'theme', value: '{theme}' } }),\n\tuserType: createField('string', { nullable: false, default: 'user', label: '用户类型', renderer: 'select', source: [\n\t\t{value: 'user', label: '标准用户'},\n\t\t{value: 'visitor', label: '访客用户'},\n\t] , layout: { colSpan: 3 } }),\n\tauthRequired: createField('bool', { nullable: false, default: true, label: '强制登录', layout: { colSpan: 3 } }),\n\n\n\tlogo: createField('text', { nullable: false, default: '', label: 'LOGO', renderer: 'file', layout: { colSpan: 6, colStart: 1 } }),\n\tcompany: createField('string', { nullable: false, default: '', label: '公司', layout: { colSpan: 6 } }),\n\thelp: createField('text', { nullable: true, default: '', label: '帮助链接', renderer: 'string', layout: { colSpan: 6 } }),\n\n\tpages: createField(ApplicationPage, { array: true, constraints: { applicationId: { field: 'id' }, no: { noField: true } }, label: '应用页面', layout: { columns: [{ actions: ['add', 'remove'] }, { field: 'type' }, { field: 'widget', placeholder: 1 }] } }),\n\tcontinuations: createField(ApplicationContinuation, { array: true, constraints: { applicationId: { field: 'id' }, no: { noField: true } }, label: '配置页面', layout: { columns: [{ actions: ['add', 'remove'] }, { field: 'type' }, { field: 'widget', placeholder: 1 }] } }),\n\n\tmenus: createField(NavMenu, { array: true, constraints: { applicationId: { field: 'id' }, no: { noField: true } }, label: '菜单', layout: { levelKey: 'level', columns: [{ actions: ['collapse', 'move'] }, { field: 'label', placeholder: 1 }, { placeholder: 1 }, { actions: ['add', 'copyTree', 'remove', 'removeTree'] }] } }),\n\tuserMenus: createField(UserMenu, { array: true, constraints: { applicationId: { field: 'id' }, no: { noField: true } }, label: '用户菜单', layout: { levelKey: 'level', columns: [{ actions: ['collapse', 'move'] }, { field: 'label', placeholder: 1 }, { placeholder: 1 }, { actions: ['add', 'copyTree', 'remove', 'removeTree'] }] } }),\n\n\tdescription: createField('text', { nullable: false, default: '', label: '描述' }),\n\n}, {\n\tlabel: '应用',\n\tlabelField: 'label',\n\tpermissions: [\n\t\t{ fields: ['id', 'type', 'label', 'company', 'title', 'description'], authorizations: ['options'] },\n\t\t{ permission: 'system:application', fields: '*', authorizations: ['query', 'read', 'create', 'update', 'destroy', 'add', 'remove'] },\n\t],\n\thooks: {\n\t\tasync afterCreate(conn, Model, record) {\n\t\t\t/** @type {Record<string, any>} */\n\t\t\tlet data = {};\n\t\t\tif (record.default) {\n\t\t\t\tdata.default = false;\n\t\t\t}\n\t\t\tif (record.singleDefault) {\n\t\t\t\tdata.singleDefault = false;\n\t\t\t}\n\t\t\tif (!Object.keys(data)) { return; }\n\t\t\tawait conn.call(actions.update(Model, data, Where.not({ id: record.id }).and({\n\t\t\t\tdomain: record.domain,\n\t\t\t\tport: record.port,\n\t\t\t})));\n\t\t},\n\n\t\tasync afterUpdate(conn, Model, record, oldRecord) {\n\t\t\t/** @type {Record<string, any>} */\n\t\t\tlet data = {};\n\t\t\tif (record.default && !oldRecord?.default) {\n\t\t\t\tdata.default = false;\n\t\t\t}\n\t\t\tif (record.singleDefault && !oldRecord?.singleDefault) {\n\t\t\t\tdata.singleDefault = false;\n\t\t\t}\n\t\t\tif (!Object.keys(data)) { return; }\n\t\t\tawait conn.call(actions.update(Model, data, Where.not({ id: record.id }).and({\n\t\t\t\tdomain: record.domain,\n\t\t\t\tport: record.port,\n\t\t\t})));\n\t\t},\n\t}\n});\n","import { uuid, createField, createModel } from '@yongdall/model';\n\nexport default createModel('menu', {\n\tid: createField('uuid', { nullable: false, default: uuid, uncreatable: true, primary: 1 }),\n\tgroupType: createField('string', { nullable: false, default: '', label: '分组类型' }),\n\tgroup: createField('text', { nullable: false, default: '', label: '分组' }),\n\tno: createField('i32', { nullable: false, default: 0, label: '顺序号' }),\n\ttype: createField('string', {\n\t\tnullable: false, default: '', label: '菜单类型', layout: { colSpan: 6 }, renderer: 'select', source: [\n\t\t\t{ value: '', label: '菜单' },\n\t\t\t{ value: 'button', label: '按钮' },\n\t\t\t{ value: 'divider', label: '分割线' },\n\t\t]\n\t}),\n\tlevel: createField('i16', { nullable: false, default: 0, layout: { hidden: true } }),\n\n\tlabel: createField('string', { nullable: false, default: '新菜单', label: '标签', layout: { colSpan: 6 } }),\n\ticon: createField('string', { nullable: false, default: '', label: '图标', layout: { colSpan: 6 } }),\n\timage: createField('text', { nullable: false, default: '', label: '图片', layout: { colSpan: 6 }, renderer: 'string' }),\n\tcolor: createField('string', { nullable: false, default: '', label: '颜色', layout: { colSpan: 6 } }),\n\ttitle: createField('string', { nullable: false, default: '', label: '标题', layout: { colSpan: 6 } }),\n\tdescription: createField('text', { nullable: false, default: '', label: '描述', layout: { colSpan: 6 }, renderer: 'string' }),\n\n\tpage: createField('text', { nullable: false, default: '', label: '页面', layout: { colSpan: 6 }, renderer: 'string' }),\n\tpath: createField('text', { nullable: false, default: '', label: '页面路径', layout: { colSpan: 6 }, renderer: 'string' }),\n\turi: createField('text', { nullable: false, default: '', label: 'URI', layout: { colSpan: 6 }, renderer: 'uri' }),\n\tcommand: createField('text', { nullable: false, default: '', label: '命令', layout: { colSpan: 6 }, renderer: 'string' }),\n\n\tscript: createField('text', { nullable: false, default: '', label: '脚本' }),\n\trefType: createField('string', { nullable: false, default: '', label: '引用类型', layout: { colSpan: 6 } }),\n\trefId: createField('string', { nullable: false, default: '', label: '引用ID', layout: { colSpan: 6 } }),\n\trefMode: createField('string', { nullable: false, default: '', label: '引用模式', layout: { colSpan: 6 } }),\n\n\tpermission: createField('text', { nullable: false, default: '', label: '权限', renderer: 'permission' }),\n\tcollapsed: createField('bool', { nullable: false, default: true, label: '默认折叠', layout: { colSpan: 6 } }),\n\tautoLogin: createField('bool', { nullable: false, default: false, label: '自动登录', layout: { colSpan: 6 } }),\n\tapplicationId: createField('string', { nullable: false, default: '', label: '关联应用', layout: { colSpan: 6 } }),\n});\n","import { createField, createModel, uuid, now, Where, label, actions } from '@yongdall/model';\n\nconst PageMenu = createModel('page.menu', {\n\tpageId: createField('uuid', { nullable: false, renderer: 'document', primary: 1 }),\n\tno: createField('i16', { nullable: false, default: 0, label: '顺序号', primary: 2 }),\n\n\ttype: createField('string', {\n\t\tnullable: false, default: '', label: '菜单类型', layout: { colSpan: 6 }, renderer: 'select', source: [\n\t\t\t{ value: '', label: '菜单' },\n\t\t\t{ value: 'divider', label: '分割线' },\n\t\t]\n\t}),\n\tlevel: createField('i16', { nullable: false, default: 0, layout: { hidden: true } }),\n\n\tlabel: createField('string', { nullable: false, default: '新菜单', label: '标签', layout: { colSpan: 6 } }),\n\ticon: createField('string', { nullable: false, default: '', label: '图标', layout: { colSpan: 6 } }),\n\tcolor: createField('string', { nullable: false, default: '', label: '颜色', layout: { colSpan: 6 } }),\n\ttitle: createField('string', { nullable: false, default: '', label: '标题', layout: { colSpan: 6 } }),\n\n\tpage: createField('text', { nullable: false, default: '', label: '页面', layout: { colSpan: 6 }, renderer: 'string' }),\n\tpath: createField('text', { nullable: false, default: '', label: '页面路径', layout: { colSpan: 6 }, renderer: 'string' }),\n\turi: createField('text', { nullable: false, default: '', label: 'URI', layout: { colSpan: 6 }, renderer: 'uri' }),\n\tcommand: createField('text', { nullable: false, default: '', label: '命令', layout: { colSpan: 6 }, renderer: 'string' }),\n\n\tscript: createField('text', { nullable: false, default: '', label: '脚本' }),\n\n\tpermission: createField('text', { nullable: false, default: '', label: '权限', renderer: 'permission' }),\n\tdescription: createField('text', { nullable: false, default: '', label: '描述' }),\n});\nconst PageField = createModel('page.field', {\n\tpageId: createField('uuid', { nullable: false, renderer: 'document', primary: 1 }),\n\tno: createField('i16', { nullable: false, primary: 2 }),\n\tfield: createField('string', { nullable: false, default: '', label: '字段', renderer: 'select' }),\n\tlabel: createField('string', { nullable: false, default: '', label: '列名' }),\n\twidth: createField('string', { nullable: false, default: '', label: '宽度' }),\n\talign: createField('string', { nullable: false, default: '', label: '对齐方式', renderer: 'select', source: [\n\t\t{ value: '', label: '默认' },\n\t\t{ value: 'left', label: '左对齐' },\n\t\t{ value: 'center', label: '居中' },\n\t\t{ value: 'right', label: '右对齐' },\n\t] }),\n\tpattern: createField('string', { nullable: false, default: '', label: '显示模式' }),\n\tenableLink: createField('bool', { nullable: false, default: false, label: '启用连接' }),\n});\n\nconst PageForm = createModel('page.form', {\n\tpageId: createField('uuid', { nullable: false, renderer: 'document', primary: 1 }),\n\ttype: createField('string', { nullable: false, default: '', label: '类型', layout: { head: 1 }, primary: 2 }),\n\tno: createField('i16', { nullable: false }),\n\tlayoutId: createField('uuid', { nullable: false, model: 'formLayout', label: '布局', renderer: 'document', layout: { head: 1 } }),\n\tmode: createField('string', { nullable: false, default: '', label: '模式', layout: { head: 1 } }),\n\t// formId: createField('uuid', { nullable: true, label: '表单', layout: {head: 2} }),\n\t// serviceId: createField('uuid', { nullable: true, label: '服务接口', layout: {head: 3} }),\n});\n\nconst PageFilter = createModel('page.filter', {\n\tpageId: createField('uuid', { nullable: false, renderer: 'document', primary: 1 }),\n\tno: createField('i16', { nullable: false, primary: 2 }),\n\tfield: createField('string', { nullable: false, default: '', label: '字段', renderer: 'select', layout: { head: 1 } }),\n\toperator: createField('string', { nullable: false, default: '', label: '运算符', renderer: 'select', layout: { head: 1 } }),\n\tstate: createField('string', { nullable: false, default: '', label: '全局状态', layout: { head: 1 } }),\n\t// not: createField('bool', { nullable: false, default: false, label: '否定' }),\n});\n\nconst PageSider = createModel('page.sider', {\n\tpageId: createField('uuid', { nullable: false, renderer: 'document', primary: 1 }),\n\tno: createField('i16', { nullable: false, primary: 2 }),\n\twidget: createField('string', { nullable: false, default: '', label: '组件', renderer: 'select', source: {\n\t\ttype: 'enumeration', name: 'pageSider', value: '{widget}',\n\t} }),\n\n\toptions: createField('string', { nullable: false, default: '', label: '选项' }),\n\n\t// editLayoutId: createField('uuid', { nullable: false, model: 'formLayout', label: '布局', renderer: 'document', layout: { head: 1 } }),\n\t// editFormId: createField('uuid', { nullable: true, label: '表单', layout: {head: 2} }),\n\t// editServiceId: createField('uuid', { nullable: true, label: '服务接口', layout: {head: 3} }),\n\n\t// createLayoutId: createField('uuid', { nullable: false, model: 'formLayout', label: '布局', renderer: 'document', layout: { head: 1 } }),\n\t// createFormId: createField('uuid', { nullable: true, label: '表单', layout: {head: 2} }),\n\t// createServiceId: createField('uuid', { nullable: true, label: '服务接口', layout: {head: 3} }),\n});\n\nexport default createModel('page', {\n\tapplicationId: createField('uuid', { nullable: true, label: '所属应用', renderer: 'document', model: 'application', layout: { colSpan: 4 } }),\n\ttype: createField('string', {\n\t\tsize: 50, nullable: false, label: '页面类型', immutable: true, renderer: 'select', source: [\n\t\t\t{ value: 'model', label: '文档主页面' },\n\t\t\t{ value: 'modelDetails', label: '文档详情页面' },\n\t\t\t{ value: 'modelEdit', label: '文档编辑页面' },\n\t\t\t{ value: 'modelInput', label: '文档创建页面' },\n\t\t\t{ value: 'modelCopy', label: '文档复制页面' },\n\n\t\t\t{ value: 'user', label: '用户主页面' },\n\t\t\t{ value: 'userDetails', label: '用户详情页面' },\n\t\t\t{ value: 'userEdit', label: '用户编辑页面' },\n\t\t\t{ value: 'userInput', label: '用户创建页面' },\n\t\t\t{ value: 'userCopy', label: '用户复制页面' },\n\n\t\t\t{ value: 'organization', label: '组织主页面' },\n\t\t\t{ value: 'organizationDetails', label: '组织详情页面' },\n\t\t\t{ value: 'organizationEdit', label: '组织编辑页面' },\n\t\t\t{ value: 'organizationInput', label: '组织创建页面' },\n\t\t\t{ value: 'organizationCopy', label: '组织复制页面' },\n\n\t\t\t{ value: 'workspace', label: '工作区主页面' },\n\t\t\t{ value: 'workspaceDetails', label: '工作区详情页面' },\n\t\t\t{ value: 'workspaceEdit', label: '工作区编辑页面' },\n\t\t\t{ value: 'workspaceInput', label: '工作区创建页面' },\n\t\t\t{ value: 'workspaceCopy', label: '工作区复制页面' },\n\t\t]\n\t}),\n\n\tmodel: createField('string', { nullable: false, default: '', label: '模型', layout: { colSpan: 4 } }),\n\torganization: createField('string', { nullable: false, default: '', clearable: true, label: '组织', model: 'organization', renderer: 'document', layout: { colSpan: 4 } }),\n\tuser: createField('string', { nullable: false, default: '', label: '用户', layout: { colSpan: 4 } }),\n\tworkspace: createField('string', { nullable: false, default: '', label: '工作区', layout: { colSpan: 4 } }),\n\n\twidget: createField('string', { nullable: false, default: '', label: '组件', layout: { colSpan: 6 }, renderer: 'select', source: {\n\t\ttype: 'enumeration', name: 'page', value: '{page}', search: 'type=?type'\n\t} }),\n\n\t// TODO: 分页\n\t// TODO: 分组查询\n\t// TODO: 活动\n\t// TODO: 时间段字段\n\n\tlabel: createField('string', { nullable: false, default: '', label: '名称', layout: { colSpan: 6 } }),\n\ttitle: createField('string', { nullable: false, default: '', label: '标题', layout: { colSpan: 6 } }),\n\ttitlePattern: createField('string', { nullable: false, default: '', label: '标题模式', layout: { colSpan: 6 } }),\n\tcurrent: createField('bool', { nullable: false, default: false, label: '当前', layout: { colSpan: 6 } }),\n\n\tid: createField('uuid', { nullable: false, default: uuid, uncreatable: true, primary: 1, renderer: 'string', layout: { colSpan: 6 } }),\n\n\turl: createField('text', { nullable: false, default: '', label: '自定义页面嵌入', renderer: 'string' }),\n\n\tconfig: createField('json', { nullable: false, default: {}, renderer: 'configuration', source: {\n\t\ttype: 'enumeration', name: 'page', search: 'type=?type&page=?widget'\n\t}, label: '配置' }),\n\n\tdefaultQuery: createField('string', { nullable: false, default: '', label: '默认查询' }),\n\thiddenFilter: createField('string', { nullable: false, default: '', label: '隐藏过滤条件' }),\n\n\tfields: createField(PageField, { array: true, constraints: { pageId: { field: 'id' }, no: { noField: true } }, label: '显示字段', layout: { columns: [\n\t\t{ actions: ['add', 'move', 'remove', 'serial'] },\n\t\t{ field: 'field' },\n\t\t{ field: 'label' },\n\t\t{ field: 'width' },\n\t\t{ field: 'align' },\n\t\t{ field: 'pattern' },\n\t\t{ field: 'enableLink' },\n\t] } }),\n\tfilters: createField(PageFilter, { array: true, constraints: { pageId: { field: 'id' }, no: { noField: true } }, label: '快速过滤', layout: { columns: [{ actions: ['add', 'move', 'remove', 'serial'] }, { field: 'field' }, { field: 'operator' }, { field: 'not' }, { field: 'state' }] } }),\n\n\tforms: createField(PageForm, { array: true, constraints: { pageId: { field: 'id' }, no: { noField: true } }, label: '表单配置', layout: { columns: [{ actions: ['add', 'move', 'remove', 'serial'] }, { field: 'type' }, { field: 'layoutId' }, { field: 'mode' }] } }),\n\tmenus: createField(PageMenu, { array: true, constraints: { pageId: { field: 'id' }, no: { noField: true } }, label: '菜单配置', layout: { levelKey: 'level', columns: [{ actions: ['collapse', 'move'] }, { field: 'label', placeholder: 1 }, { placeholder: 1 }, { actions: ['add', 'remove'] }] } }),\n\n\tsides: createField(PageSider, { array: true, constraints: { pageId: { field: 'id' }, no: { noField: true } }, label: '侧边栏', layout: { columns: [{ actions: ['add', 'move', 'remove', 'collapse', 'serial'] }, { field: 'widget' }] } }),\n\tdescription: createField('text', { nullable: false, default: '', label: '描述' }),\n\n\tcreatedAt: createField('timestamp', { nullable: false, creating: now, label: '创建时间' }),\n\tupdatedAt: createField('timestamp', { nullable: false, updating: now, label: '更新时间' }),\n\n}, {\n\tlabel: '页面',\n\tlabelField: 'label',\n\tpermissions: [\n\t\t{ permission: 'system:page', fields: '*', authorizations: ['query', 'read', 'create', 'update', 'destroy', 'add', 'remove'] },\n\t],\n\tindexes: [\n\t\t{ fields: ['applicationId', 'model', 'organization', 'user', 'workspace', 'type', 'current'] },\n\t\t{ fields: ['model', 'organization', 'user', 'workspace', 'type', 'current'] },\n\t\t{ fields: ['applicationId', 'current', 'type', 'model', 'organization', 'user', 'workspace'] },\n\t\t{ fields: ['applicationId', 'current', 'type', 'model', 'workspace'] },\n\t\t{ fields: ['applicationId', 'current', 'type', 'organization', 'workspace'] },\n\t\t{ fields: ['applicationId', 'current', 'type', 'user', 'workspace'] },\n\t\t{ fields: ['applicationId', 'current', 'type', 'workspace'] },\n\t],\n\tscripts: ['@yongdall/standard#models.Page'],\n\thooks: {\n\t\tasync afterCreate(conn, Model, record) {\n\t\t\tawait conn.call(actions.update(Model, { current: false },\n\t\t\t\tWhere.not({ id: record.id }).and({\n\t\t\t\t\tmodel: record.model,\n\t\t\t\t\torganization: record.organization,\n\t\t\t\t\tuser: record.user,\n\t\t\t\t\tworkspace: record.workspace,\n\t\t\t\t\ttype: record.type,\n\t\t\t\t\tapplicationId: record.applicationId,\n\t\t\t\t})));\n\t\t},\n\t\tasync afterUpdate(conn, Model, record, oldRecord) {\n\t\t\tif (!record.current || oldRecord?.current) { return; }\n\t\t\tawait conn.call(actions.update(Model, { current: false },\n\t\t\t\tWhere.not({ id: record.id }).and({\n\t\t\t\t\tmodel: record.model,\n\t\t\t\t\torganization: record.organization,\n\t\t\t\t\tuser: record.user,\n\t\t\t\t\tworkspace: record.workspace,\n\t\t\t\t\ttype: record.type,\n\t\t\t\t\tapplicationId: record.applicationId,\n\t\t\t\t})));\n\t\t}\n\n\t}\n});\n","import { createField, createModel, now, uuid } from '@yongdall/model';\n\nexport default createModel('database', {\n\tid: createField('uuid', { nullable: false, default: uuid, renderer: 'string', uncreatable: true, primary: 1 }),\n\n\ttype: createField('string', { nullable: false, immutable: true, label: '类型', renderer: 'select', source: { type: 'enumeration', name: 'connectionType', value: 'type'} }),\n\tlabel: createField('string', { nullable: false, default: '', label: '名称' }),\n\tname: createField('string', { nullable: false, immutable: true, label: '标识' }),\n\turi: createField('string', { nullable: false, label: '路径' }),\n\tcreatedAt: createField('timestamp', { nullable: false, creating: now, label: '创建时间' }),\n\tupdatedAt: createField('timestamp', { nullable: false, updating: now, label: '更新时间' }),\n}, {\n\tlabel: '数据库',\n\tlabelField: 'label',\n\tindexes: [\n\t\t{ fields: ['type', 'name'], unique: true }\n\t],\n\n\tpermissions: [\n\t\t{ fields: ['id', 'type', 'label', 'name'], authorizations: ['options'] },\n\t\t{ permission: 'system:database', fields: ['id', 'type', 'label', 'name', 'createdAt', 'updatedAt'], authorizations: ['query'] },\n\t\t{ permission: 'system:database', fields: '*', authorizations: ['read', 'create', 'update', 'destroy'] },\n\t],\n});\n","import { createField, createModel, uuid, now, Where, actions } from '@yongdall/model';\n\n\nexport default createModel('formLayout', {\n\tid: createField('uuid', { nullable: false, default: uuid, uncreatable: true, primary: 1 }),\n\tlabel: createField('string', { nullable: false, default: '', label: '名称', layout: { colSpan: 6 } }),\n\n\tmodelId: createField('string', { nullable: false, default: '', label: '模型', layout: { colSpan: 6 } }),\n\n\tdefault: createField('bool', { nullable: false, default: false, label: '默认布局' }),\n\n\ttype: createField('string', { nullable: false, default: '', label: '类型', layout: { colSpan: 6 }, renderer: 'select', source: {\n\t\ttype: 'enumeration', name: 'formLayout', value: '{type}'\n\t} }),\n\n\tenableLink: createField('bool', { nullable: false, default: true, label: '启用连接', layout: { colSpan: 6 } }),\n\tenableLinkEditable: createField('bool', { nullable: false, default: false, label: '启用编辑时连接', layout: { colSpan: 6 } }),\n\n\tlayout: createField('json', { nullable: false, default: {}, renderer: 'configuration', source: {\n\t\ttype: 'enumeration', name: 'formLayout', search: 'type=?type'\n\t}, label: '布局' }),\n\n\n\tdescription: createField('text', { nullable: false, default: '', label: '描述' }),\n\n\tcreatedAt: createField('timestamp', { nullable: false, creating: now, layout: { colSpan: 6 }, label: '创建时间' }),\n\tupdatedAt: createField('timestamp', { nullable: false, updating: now, layout: { colSpan: 6 }, label: '更新时间' }),\n}, {\n\tlabel: '表单布局',\n\tlabelField: 'label',\n\tpermissions: [\n\t\t{ fields: ['id', 'type', 'label', 'description'], authorizations: ['options'] },\n\t\t{ permission: 'system:formLayout', fields: '*', authorizations: ['query', 'read', 'create', 'update', 'destroy'] },\n\t],\n\thooks: {\n\t\tasync afterCreate(conn, Model, record) {\n\n\t\t\tawait conn.call(actions.update(Model, { default: false }, Where.not({ id: record.id }).and({\n\t\t\t\tmodelId: record.modelId,\n\t\t\t})));\n\t\t},\n\t\tasync afterUpdate(conn, Model, record, oldRecord) {\n\t\t\tif (!record.default || oldRecord?.default) { return; }\n\n\t\t\tawait conn.call(actions.update(Model, { default: false }, Where.not({ id: record.id }).and({\n\t\t\t\tmodelId: record.modelId,\n\t\t\t})));\n\t\t},\n\n\t}\n\n});\n","import { createField, createModel, uuid, now, Where } from '@yongdall/model';\n\n\nexport default createModel('plugin', {\n\tid: createField('uuid', { nullable: false, default: uuid, uncreatable: true, primary: 1 }),\n\tlabel: createField('string', { nullable: false, default: '', label: '名称', layout: { colSpan: 6 } }),\n\tplugin: createField('string', { nullable: false, default: '', label: '插件', layout: { colSpan: 6 }, renderer: 'select', source: {\n\t\ttype: 'enumeration', name: 'plugin', value: 'plugin', label: '{label}({plugin})',\n\t} }),\n\tenabled: createField('bool', { nullable: false, default: true, label: '启用', layout: { colSpan: 6 } }),\n\tconfig: createField('json', { nullable: false, default: {}, renderer: 'configuration', source: {\n\t\ttype: 'enumeration', name: 'plugin', search: 'plugin=?plugin'\n\t}, label: '配置' }),\n\tcreatedAt: createField('timestamp', { nullable: false, creating: now, layout: { colSpan: 6 }, label: '创建时间' }),\n\tupdatedAt: createField('timestamp', { nullable: false, updating: now, layout: { colSpan: 6 }, label: '更新时间' }),\n}, {\n\tlabel: '插件配置',\n\tlabelField: 'label',\n\tindexes: [\n\t\t{ fields: ['plugin'], unique: true },\n\t\t{ fields: ['plugin', 'enabled'] },\n\t],\n\tpermissions: [\n\t\t{ fields: ['id', 'type', 'label', 'description'], authorizations: ['options'] },\n\t\t{ permission: 'system:plugin', fields: '*', authorizations: ['query', 'read', 'create', 'update', 'destroy'] },\n\t],\n\n});\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { a as Menu_default, i as Page_default, n as FormLayout_default, o as Application_default, r as Database_default, t as Plugin_default } from "../standard-C63uIBxp.mjs";
1
+ import { a as Menu_default, i as Page_default, n as FormLayout_default, o as Application_default, r as Database_default, t as Plugin_default } from "../standard-xhGfNqjd.mjs";
2
2
 
3
3
  //#region packages/standard/yongdall/migration.mjs
4
4
  /** @import { Profile } from '@yongdall/migrate' */
@@ -1,4 +1,4 @@
1
- import { a as Menu_default, i as Page_default, n as FormLayout_default, o as Application_default, r as Database_default, t as Plugin_default } from "../standard-C63uIBxp.mjs";
1
+ import { a as Menu_default, i as Page_default, n as FormLayout_default, o as Application_default, r as Database_default, t as Plugin_default } from "../standard-xhGfNqjd.mjs";
2
2
 
3
3
  //#region packages/standard/yongdall/model.mjs
4
4
  /** @import { ModelProfile } from '@yongdall/core' */
@@ -7,7 +7,7 @@ const gt = {
7
7
  label: ">",
8
8
  value(field, v, f) {
9
9
  const value = (Array.isArray(v) ? v[0] : v) ?? null;
10
- return Where.and(field, "<", value);
10
+ return Where.and(field, ">", value);
11
11
  }
12
12
  };
13
13
  /** @type {WhereHook} */
@@ -1 +1 @@
1
- {"version":3,"file":"where.mjs","names":[],"sources":["../../../packages/standard/yongdall/where.mjs"],"sourcesContent":["import { Where } from '@yongdall/model';\nimport { getUser } from '@yongdall/core';\n/** @import { WhereHook } from '@yongdall/core' */\n\n/**\n * @param {*} v\n */\nasync function getUserValue(v) {\n\tif (v == '<ME>') {\n\t\treturn await getUser() || '';\n\t}\n\treturn v ?? null;\n\n}\n/**\n * @param {*} v\n */\nasync function getUserValues(v) {\n\tconst users = [];\n\tfor (const u of Array.isArray(v) ? v : [v]) {\n\t\tusers.push(getUserValue(u));\n\t}\n\treturn Promise.all(users);\n}\n\n/** @type {WhereHook} */\nconst gt = {\n\tlabel: '>',\n\tvalue(field, v, f) {\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, '<', value);\n\t},\n};\n/** @type {WhereHook} */\nconst ge = {\n\tlabel: '≥',\n\tvalue(field, v, f) {\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, '>=', value);\n\t},\n};\n\n/** @type {WhereHook} */\nconst lt = {\n\tlabel: '<',\n\tvalue(field, v, f) {\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, '<', value);\n\t},\n};\n/** @type {WhereHook} */\nconst le = {\n\tlabel: '≤',\n\tvalue(field, v, f) {\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, '<=', value);\n\t},\n};\n\n/** @type {Record<string, WhereHook>} */\nconst comparison = {\n\t'>': gt,\n\t'>=': ge,\n\t'<': lt,\n\t'<=': le,\n\tgt, ge, lt, le\n};\n\n\n\n/** @type {WhereHook} */\nconst eq = {\n\tlabel: '=',\n\tvalue(field, v, f) {\n\t\tif (f.type === 'bool') {\n\t\t\tconst list = new Set([v].flat().map(v => {\n\t\t\t\tif (v == null) { return null; }\n\t\t\t\tif (typeof v !== 'string') { return Boolean(v); }\n\t\t\t\tswitch (v.toLowerCase()) {\n\t\t\t\t\tcase '':\n\t\t\t\t\tcase '0':\n\t\t\t\t\tcase 'n':\n\t\t\t\t\tcase 'f':\n\t\t\t\t\tcase 'no':\n\t\t\t\t\tcase 'off':\n\t\t\t\t\tcase 'false':\n\t\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}));\n\t\t\tif (list.size === 0) { return null; }\n\t\t\tif (list.size >= 3) { return null; }\n\n\t\t\tif (list.size === 1) {\n\t\t\t\tconst [value] = list;\n\t\t\t\treturn Where.and(field, '=', value ?? null);\n\t\t\t}\n\t\t\tconst [value] = [true, false, null].filter(v => !list.has(v));\n\t\t\treturn Where.not(field, '=', value ?? null);\n\t\t}\n\t\tif (Array.isArray(v) && v.length > 1) {\n\t\t\treturn Where.and(field, 'in', v);\n\t\t}\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, value);\n\t},\n\tnot: '!=',\n\tnotLabel: '≠',\n};\n/** @type {WhereHook} */\nconst eqArray = {\n\tlabel: '=',\n\tvalue(field, v, f) {\n\t\tif (f.type === 'bool') {\n\t\t\tconst list = new Set([v].flat().map(v => {\n\t\t\t\tif (typeof v !== 'string') { return Boolean(v); }\n\t\t\t\tswitch (v.toLowerCase()) {\n\t\t\t\t\tcase '':\n\t\t\t\t\tcase '0':\n\t\t\t\t\tcase 'n':\n\t\t\t\t\tcase 'f':\n\t\t\t\t\tcase 'no':\n\t\t\t\t\tcase 'off':\n\t\t\t\t\tcase 'false':\n\t\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}));\n\t\t\treturn Where.and(field, list);\n\t\t}\n\n\t\tconst array = Array.isArray(v) ? v : [v];\n\t\treturn Where.and(field, array);\n\t},\n\tnot: '!=',\n\tnotLabel: '≠',\n};\n\n/** @type {Record<string, WhereHook>} */\nconst text = {\n\t...comparison,\n\tcontains: {\n\t\tlabel: '包含',\n\t\tvalue(field, v, f) {\n\t\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\t\tif (value === null || value === '') { return null; }\n\t\t\treturn Where.and(field, 'CONTAINS', String(value));\n\t\t},\n\t}\n};\n\n/** @type {Record<string, Record<string, WhereHook>>} */\nconst filters = {\n\t'': {\n\t\t'': eq,\n\t\t'=': eq,\n\t\teq,\n\t\t'!=': {\n\t\t\tlabel: '≠',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tif (Array.isArray(v) && v.length > 1) { return Where.not(field, 'in', v); }\n\t\t\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\t\t\treturn Where.not(field, value);\n\t\t\t},\n\t\t},\n\t\tne: {\n\t\t\tlabel: '≠',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tif (Array.isArray(v) && v.length > 1) { return Where.not(field, 'in', v); }\n\t\t\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\t\t\treturn Where.not(field, value);\n\t\t\t},\n\t\t},\n\t\t'in': {\n\t\t\tlabel: '∈',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tconst array = Array.isArray(v) ? v : [v];\n\t\t\t\treturn Where.and(field, 'in', array);\n\t\t\t},\n\n\t\t}\n\t\t, 'nin': {\n\t\t\tlabel: '∉', value: (field, v, f) => {\n\t\t\t\tconst array = Array.isArray(v) ? v : [v];\n\t\t\t\treturn Where.not(field, 'in', array);\n\t\t\t}\n\t\t}\n\t}, [`[]`]: {\n\t\t'': eqArray,\n\t\t'=': eqArray,\n\t\t'!=': {\n\t\t\tlabel: '≠',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tconst array = Array.isArray(v) ? v : [v];\n\t\t\t\treturn Where.not(field, array);\n\t\t\t},\n\t\t},\n\t\tne: {\n\t\t\tlabel: '≠',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tconst array = Array.isArray(v) ? v : [v];\n\t\t\t\treturn Where.not(field, array);\n\t\t\t},\n\t\t},\n\t},\n\n\t'i16': comparison,\n\t'i32': comparison,\n\t'i64': comparison,\n\t'f32': comparison,\n\t'f64': comparison,\n\t'decimal': comparison,\n\t'numeric': comparison,\n\t'money': comparison,\n\t'date': comparison,\n\t'time': comparison,\n\t'datetime': comparison,\n\t'timestamp': comparison,\n\t'string': text,\n\t'text': text,\n\t'char': text,\n\t// 'id.user': {\n\t// \t'=': async (field, v, f) => {\n\t// \t\tconst values = [...new Set(await getUserValues(v))];\n\t// \t\tif (values.length > 1) { return Where.and(field, 'in', values); }\n\t// \t\treturn Where.and(field, values[0] ?? null);\n\t// \t}, '!=': async (field, v, f) => {\n\t// \t\tconst values = [...new Set(await getUserValues(v))];\n\t// \t\tif (values.length > 1) { return Where.not(field, 'in', values); }\n\t// \t\treturn Where.not(field, values[0] ?? null);\n\t// \t}, 'in': async (field, v, f) => {\n\t// \t\treturn Where.and(field, 'in', [...new Set(await getUserValues(v))]);\n\t// \t}, 'nin': async (field, v, f) => {\n\t// \t\treturn Where.not(field, 'in', [...new Set(await getUserValues(v))]);\n\t// \t}\n\t// },\n\t// 'id.user[]': {\n\t// \t'=': async (field, v, f) => {\n\t// \t\treturn Where.and(field, await getUserValues(v));\n\t// \t}, '!=': async (field, v, f) => {\n\t// \t\treturn Where.not(field, await getUserValues(v));\n\t// \t}\n\t// }\n\n};\nexport default filters;\n"],"mappings":"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"}
1
+ {"version":3,"file":"where.mjs","names":[],"sources":["../../../packages/standard/yongdall/where.mjs"],"sourcesContent":["import { Where } from '@yongdall/model';\nimport { getUser } from '@yongdall/core';\n/** @import { WhereHook } from '@yongdall/core' */\n\n/**\n * @param {*} v\n */\nasync function getUserValue(v) {\n\tif (v == '<ME>') {\n\t\treturn await getUser() || '';\n\t}\n\treturn v ?? null;\n\n}\n/**\n * @param {*} v\n */\nasync function getUserValues(v) {\n\tconst users = [];\n\tfor (const u of Array.isArray(v) ? v : [v]) {\n\t\tusers.push(getUserValue(u));\n\t}\n\treturn Promise.all(users);\n}\n\n/** @type {WhereHook} */\nconst gt = {\n\tlabel: '>',\n\tvalue(field, v, f) {\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, '>', value);\n\t},\n};\n/** @type {WhereHook} */\nconst ge = {\n\tlabel: '≥',\n\tvalue(field, v, f) {\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, '>=', value);\n\t},\n};\n\n/** @type {WhereHook} */\nconst lt = {\n\tlabel: '<',\n\tvalue(field, v, f) {\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, '<', value);\n\t},\n};\n/** @type {WhereHook} */\nconst le = {\n\tlabel: '≤',\n\tvalue(field, v, f) {\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, '<=', value);\n\t},\n};\n\n/** @type {Record<string, WhereHook>} */\nconst comparison = {\n\t'>': gt,\n\t'>=': ge,\n\t'<': lt,\n\t'<=': le,\n\tgt, ge, lt, le\n};\n\n\n\n/** @type {WhereHook} */\nconst eq = {\n\tlabel: '=',\n\tvalue(field, v, f) {\n\t\tif (f.type === 'bool') {\n\t\t\tconst list = new Set([v].flat().map(v => {\n\t\t\t\tif (v == null) { return null; }\n\t\t\t\tif (typeof v !== 'string') { return Boolean(v); }\n\t\t\t\tswitch (v.toLowerCase()) {\n\t\t\t\t\tcase '':\n\t\t\t\t\tcase '0':\n\t\t\t\t\tcase 'n':\n\t\t\t\t\tcase 'f':\n\t\t\t\t\tcase 'no':\n\t\t\t\t\tcase 'off':\n\t\t\t\t\tcase 'false':\n\t\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}));\n\t\t\tif (list.size === 0) { return null; }\n\t\t\tif (list.size >= 3) { return null; }\n\n\t\t\tif (list.size === 1) {\n\t\t\t\tconst [value] = list;\n\t\t\t\treturn Where.and(field, '=', value ?? null);\n\t\t\t}\n\t\t\tconst [value] = [true, false, null].filter(v => !list.has(v));\n\t\t\treturn Where.not(field, '=', value ?? null);\n\t\t}\n\t\tif (Array.isArray(v) && v.length > 1) {\n\t\t\treturn Where.and(field, 'in', v);\n\t\t}\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, value);\n\t},\n\tnot: '!=',\n\tnotLabel: '≠',\n};\n/** @type {WhereHook} */\nconst eqArray = {\n\tlabel: '=',\n\tvalue(field, v, f) {\n\t\tif (f.type === 'bool') {\n\t\t\tconst list = new Set([v].flat().map(v => {\n\t\t\t\tif (typeof v !== 'string') { return Boolean(v); }\n\t\t\t\tswitch (v.toLowerCase()) {\n\t\t\t\t\tcase '':\n\t\t\t\t\tcase '0':\n\t\t\t\t\tcase 'n':\n\t\t\t\t\tcase 'f':\n\t\t\t\t\tcase 'no':\n\t\t\t\t\tcase 'off':\n\t\t\t\t\tcase 'false':\n\t\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}));\n\t\t\treturn Where.and(field, list);\n\t\t}\n\n\t\tconst array = Array.isArray(v) ? v : [v];\n\t\treturn Where.and(field, array);\n\t},\n\tnot: '!=',\n\tnotLabel: '≠',\n};\n\n/** @type {Record<string, WhereHook>} */\nconst text = {\n\t...comparison,\n\tcontains: {\n\t\tlabel: '包含',\n\t\tvalue(field, v, f) {\n\t\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\t\tif (value === null || value === '') { return null; }\n\t\t\treturn Where.and(field, 'CONTAINS', String(value));\n\t\t},\n\t}\n};\n\n/** @type {Record<string, Record<string, WhereHook>>} */\nconst filters = {\n\t'': {\n\t\t'': eq,\n\t\t'=': eq,\n\t\teq,\n\t\t'!=': {\n\t\t\tlabel: '≠',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tif (Array.isArray(v) && v.length > 1) { return Where.not(field, 'in', v); }\n\t\t\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\t\t\treturn Where.not(field, value);\n\t\t\t},\n\t\t},\n\t\tne: {\n\t\t\tlabel: '≠',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tif (Array.isArray(v) && v.length > 1) { return Where.not(field, 'in', v); }\n\t\t\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\t\t\treturn Where.not(field, value);\n\t\t\t},\n\t\t},\n\t\t'in': {\n\t\t\tlabel: '∈',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tconst array = Array.isArray(v) ? v : [v];\n\t\t\t\treturn Where.and(field, 'in', array);\n\t\t\t},\n\n\t\t}\n\t\t, 'nin': {\n\t\t\tlabel: '∉', value: (field, v, f) => {\n\t\t\t\tconst array = Array.isArray(v) ? v : [v];\n\t\t\t\treturn Where.not(field, 'in', array);\n\t\t\t}\n\t\t}\n\t}, [`[]`]: {\n\t\t'': eqArray,\n\t\t'=': eqArray,\n\t\t'!=': {\n\t\t\tlabel: '≠',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tconst array = Array.isArray(v) ? v : [v];\n\t\t\t\treturn Where.not(field, array);\n\t\t\t},\n\t\t},\n\t\tne: {\n\t\t\tlabel: '≠',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tconst array = Array.isArray(v) ? v : [v];\n\t\t\t\treturn Where.not(field, array);\n\t\t\t},\n\t\t},\n\t},\n\n\t'i16': comparison,\n\t'i32': comparison,\n\t'i64': comparison,\n\t'f32': comparison,\n\t'f64': comparison,\n\t'decimal': comparison,\n\t'numeric': comparison,\n\t'money': comparison,\n\t'date': comparison,\n\t'time': comparison,\n\t'datetime': comparison,\n\t'timestamp': comparison,\n\t'string': text,\n\t'text': text,\n\t'char': text,\n\t// 'id.user': {\n\t// \t'=': async (field, v, f) => {\n\t// \t\tconst values = [...new Set(await getUserValues(v))];\n\t// \t\tif (values.length > 1) { return Where.and(field, 'in', values); }\n\t// \t\treturn Where.and(field, values[0] ?? null);\n\t// \t}, '!=': async (field, v, f) => {\n\t// \t\tconst values = [...new Set(await getUserValues(v))];\n\t// \t\tif (values.length > 1) { return Where.not(field, 'in', values); }\n\t// \t\treturn Where.not(field, values[0] ?? null);\n\t// \t}, 'in': async (field, v, f) => {\n\t// \t\treturn Where.and(field, 'in', [...new Set(await getUserValues(v))]);\n\t// \t}, 'nin': async (field, v, f) => {\n\t// \t\treturn Where.not(field, 'in', [...new Set(await getUserValues(v))]);\n\t// \t}\n\t// },\n\t// 'id.user[]': {\n\t// \t'=': async (field, v, f) => {\n\t// \t\treturn Where.and(field, await getUserValues(v));\n\t// \t}, '!=': async (field, v, f) => {\n\t// \t\treturn Where.not(field, await getUserValues(v));\n\t// \t}\n\t// }\n\n};\nexport default filters;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"standard-C63uIBxp.mjs","names":[],"sources":["../../packages/standard/models/Application.mjs","../../packages/standard/models/Menu.mjs","../../packages/standard/models/Page.mjs","../../packages/standard/models/Database.mjs","../../packages/standard/models/FormLayout.mjs","../../packages/standard/models/Plugin.mjs"],"sourcesContent":["import { actions, createField, createModel, uuid, Where } from '@yongdall/model';\n\nconst UserMenu = createModel('application.userMenu', {\n\tapplicationId: createField('uuid', { nullable: false, label: '应用', primary: 1 }),\n\tno: createField('i32', { nullable: false, default: 0, label: '顺序号', primary: 2 }),\n\ttype: createField('string', {\n\t\tnullable: false, default: '', label: '菜单类型', renderer: 'select', source: [\n\t\t\t{ value: '', label: '菜单' },\n\t\t\t// { value: 'button', label: '按钮' },\n\t\t\t{ value: 'divider', label: '分割线' },\n\t\t]\n\t}),\n\tlevel: createField('i16', { nullable: false, default: 0, layout: { hidden: true } }),\n\n\tlabel: createField('string', { nullable: false, default: '新菜单', label: '标签' }),\n\n\tpage: createField('text', { nullable: false, default: '', label: '页面', renderer: 'string' }),\n\tpath: createField('text', { nullable: false, default: '', label: '页面路径', renderer: 'string' }),\n\turi: createField('text', { nullable: false, default: '', label: 'URI', renderer: 'uri' }),\n\tcommand: createField('text', { nullable: false, default: '', label: '命令', renderer: 'string' }),\n\tlogged: createField('bool', { nullable: false, default: false, label: '仅登陆用户' }),\n});\nconst NavMenu = createModel('application.menu', {\n\tapplicationId: createField('uuid', { nullable: false, label: '应用', primary: 1 }),\n\tno: createField('i32', { nullable: false, default: 0, label: '顺序号', primary: 2 }),\n\ttype: createField('string', {\n\t\tnullable: false, default: '', label: '菜单类型', layout: { colSpan: 6 }, renderer: 'select', source: [\n\t\t\t{ value: '', label: '菜单' },\n\t\t\t{ value: 'button', label: '按钮' },\n\t\t\t{ value: 'divider', label: '分割线' },\n\t\t]\n\t}),\n\tlevel: createField('i16', { nullable: false, default: 0, layout: { hidden: true } }),\n\n\tlabel: createField('string', { nullable: false, default: '新菜单', label: '标签', layout: { colSpan: 6 } }),\n\ticon: createField('string', { nullable: false, default: '', label: '图标', layout: { colSpan: 6 } }),\n\timage: createField('text', { nullable: false, default: '', label: '图片', layout: { colSpan: 6 }, renderer: 'string' }),\n\tcolor: createField('string', { nullable: false, default: '', label: '颜色', layout: { colSpan: 6 } }),\n\ttitle: createField('string', { nullable: false, default: '', label: '标题', layout: { colSpan: 6 } }),\n\tdescription: createField('text', { nullable: false, default: '', label: '描述', layout: { colSpan: 6 }, renderer: 'string' }),\n\n\tpage: createField('text', { nullable: false, default: '', label: '页面', layout: { colSpan: 6 }, renderer: 'string' }),\n\tpath: createField('text', { nullable: false, default: '', label: '页面路径', layout: { colSpan: 6 }, renderer: 'string' }),\n\turi: createField('text', { nullable: false, default: '', label: 'URI', layout: { colSpan: 6 }, renderer: 'uri' }),\n\tcommand: createField('text', { nullable: false, default: '', label: '命令', layout: { colSpan: 6 }, renderer: 'string' }),\n\n\n\tpermission: createField('text', { nullable: false, default: '', label: '权限', renderer: 'permission' }),\n\tcollapsed: createField('bool', { nullable: false, default: true, label: '默认折叠', layout: { colSpan: 6 } }),\n});\n\nexport const ApplicationPage = createModel('application.page', {\n\tapplicationId: createField('uuid', { nullable: false, label: '应用', primary: 1 }),\n\ttype: createField('string', {\n\t\tsize: 50, nullable: false, label: '页面类型', immutable: true, primary: 2, renderer: 'select', source: [\n\t\t\t{ value: 'model', label: '文档主页面' },\n\t\t\t{ value: 'modelDetails', label: '文档详情页面' },\n\t\t\t{ value: 'modelEdit', label: '文档编辑页面' },\n\t\t\t{ value: 'modelInput', label: '文档创建页面' },\n\t\t\t{ value: 'modelCopy', label: '文档复制页面' },\n\n\t\t\t{ value: 'user', label: '用户主页面' },\n\t\t\t{ value: 'userDetails', label: '用户详情页面' },\n\t\t\t{ value: 'userEdit', label: '用户编辑页面' },\n\t\t\t{ value: 'userInput', label: '用户创建页面' },\n\t\t\t{ value: 'userCopy', label: '用户复制页面' },\n\n\t\t\t{ value: 'organization', label: '组织主页面' },\n\t\t\t{ value: 'organizationDetails', label: '组织详情页面' },\n\t\t\t{ value: 'organizationEdit', label: '组织编辑页面' },\n\t\t\t{ value: 'organizationInput', label: '组织创建页面' },\n\t\t\t{ value: 'organizationCopy', label: '组织复制页面' },\n\n\t\t\t{ value: 'workspace', label: '工作区主页面' },\n\t\t\t{ value: 'workspaceDetails', label: '工作区详情页面' },\n\t\t\t{ value: 'workspaceEdit', label: '工作区编辑页面' },\n\t\t\t{ value: 'workspaceInput', label: '工作区创建页面' },\n\t\t\t{ value: 'workspaceCopy', label: '工作区复制页面' },\n\t\t]\n\t}),\n\twidget: createField('text', { nullable: false, label: '页面', renderer: 'select', source: {type: 'enumeration', name: 'page', value: '{page}', search: 'type=?type'} }),\n\tno: createField('i32', { nullable: false, default: 0, label: '顺序号' }),\n});\n\nexport const ApplicationConfigurationPage = createModel('application.configurationPage', {\n\tapplicationId: createField('uuid', { nullable: false, label: '应用', primary: 1 }),\n\ttype: createField('string', { size: 50, nullable: false, label: '页面类型', immutable: true, primary: 2 }),\n\twidget: createField('text', { nullable: false, label: '页面', renderer: 'select', source: {type: 'enumeration', name: 'page', value: '{page}', search: 'type=configuration'} }),\n\tno: createField('i32', { nullable: false, default: 0, label: '顺序号' }),\n});\nexport const ApplicationContinuation = createModel('application.continuation', {\n\tapplicationId: createField('uuid', { nullable: false, label: '应用', primary: 1 }),\n\ttype: createField('string', { size: 50, nullable: false, label: '页面类型', immutable: true, primary: 2 }),\n\twidget: createField('text', { nullable: false, label: '页面', renderer: 'select', source: {type: 'enumeration', name: 'page', value: '{page}', search: 'type=configuration'} }),\n\tno: createField('i32', { nullable: false, default: 0, label: '顺序号' }),\n});\n\nexport default createModel('application', {\n\tlabel: createField('string', { nullable: false, default: '', label: '名称', layout: { colSpan: 6 } }),\n\ttype: createField('string', {\n\t\tnullable: false, default: 'workbench', label: '类型', layout: { colSpan: 6 }, renderer: 'select', source: [\n\t\t\t{ value: 'workbench', label: '工作台' },\n\t\t\t{ value: 'authenticator', label: '登陆器' },\n\t\t]\n\t}),\n\ttitle: createField('string', { nullable: false, default: '', label: '标题', layout: { colSpan: 6 } }),\n\n\tid: createField('uuid', { nullable: false, default: uuid, renderer: 'string', layout: { colSpan: 6 }, uncreatable: true, primary: 1 }),\n\n\tdomain: createField('string', { nullable: false, default: '', label: '域名', layout: { colSpan: 5, colStart: 1 } }),\n\tport: createField('i32', { nullable: false, default: 0, label: '端口', layout: { colSpan: 3 } }),\n\tpath: createField('string', { nullable: false, default: '', label: '路径', layout: { colSpan: 10 } }),\n\thttps: createField('bool', { nullable: false, default: false, label: 'HTTPS', layout: { colSpan: 2 } }),\n\tdefault: createField('bool', { nullable: false, default: false, label: '默认', layout: { colSpan: 2 } }),\n\tsingleDefault: createField('bool', { nullable: false, default: false, label: '单用户默认', layout: { colSpan: 2 } }),\n\n\tauthenticator: createField('string', { nullable: false, default: '', label: '登录器', layout: { colSpan: 6 }, renderer: 'select', source: { type: 'enumeration', name: 'authenticator', value: '{authenticator}' } }),\n\tskin: createField('string', { nullable: false, default: '', label: '皮肤', layout: { colSpan: 6 }, renderer: 'select', source: { type: 'enumeration', name: 'skin', value: '{skin}' } }),\n\ttheme: createField('string', { nullable: false, default: '', label: '主题', layout: { colSpan: 6 }, renderer: 'select', source: { type: 'enumeration', name: 'theme', value: '{theme}' } }),\n\tuserType: createField('string', { nullable: false, default: 'user', label: '用户类型', renderer: 'select', source: [\n\t\t{value: 'user', label: '标准用户'},\n\t\t{value: 'visitor', label: '访客用户'},\n\t] , layout: { colSpan: 3 } }),\n\tauthRequired: createField('bool', { nullable: false, default: true, label: '强制登录', layout: { colSpan: 3 } }),\n\n\n\tlogo: createField('text', { nullable: false, default: '', label: 'LOGO', renderer: 'file', layout: { colSpan: 6, colStart: 1 } }),\n\tcompany: createField('string', { nullable: false, default: '', label: '公司', layout: { colSpan: 6 } }),\n\thelp: createField('text', { nullable: true, default: '', label: '帮助链接', renderer: 'string', layout: { colSpan: 6 } }),\n\n\tpages: createField(ApplicationPage, { array: true, constraints: { applicationId: { field: 'id' }, no: { noField: true } }, label: '应用页面', layout: { columns: [{ actions: ['add', 'remove'] }, { field: 'type' }, { field: 'widget', placeholder: 1 }] } }),\n\tcontinuations: createField(ApplicationContinuation, { array: true, constraints: { applicationId: { field: 'id' }, no: { noField: true } }, label: '配置页面', layout: { columns: [{ actions: ['add', 'remove'] }, { field: 'type' }, { field: 'widget', placeholder: 1 }] } }),\n\n\tmenus: createField(NavMenu, { array: true, constraints: { applicationId: { field: 'id' }, no: { noField: true } }, label: '菜单', layout: { levelKey: 'level', columns: [{ actions: ['collapse', 'move'] }, { field: 'label', placeholder: 1 }, { placeholder: 1 }, { actions: ['add', 'remove'] }] } }),\n\tuserMenus: createField(UserMenu, { array: true, constraints: { applicationId: { field: 'id' }, no: { noField: true } }, label: '用户菜单', layout: { levelKey: 'level', columns: [{ actions: ['collapse', 'move'] }, { field: 'label', placeholder: 1 }, { placeholder: 1 }, { actions: ['add', 'remove'] }] } }),\n\n\tdescription: createField('text', { nullable: false, default: '', label: '描述' }),\n\n}, {\n\tlabel: '应用',\n\tlabelField: 'label',\n\tpermissions: [\n\t\t{ fields: ['id', 'type', 'label', 'company', 'title', 'description'], authorizations: ['options'] },\n\t\t{ permission: 'system:application', fields: '*', authorizations: ['query', 'read', 'create', 'update', 'destroy', 'add', 'remove'] },\n\t],\n\thooks: {\n\t\tasync afterCreate(conn, Model, record) {\n\t\t\t/** @type {Record<string, any>} */\n\t\t\tlet data = {};\n\t\t\tif (record.default) {\n\t\t\t\tdata.default = false;\n\t\t\t}\n\t\t\tif (record.singleDefault) {\n\t\t\t\tdata.singleDefault = false;\n\t\t\t}\n\t\t\tif (!Object.keys(data)) { return; }\n\t\t\tawait conn.call(actions.update(Model, data, Where.not({ id: record.id }).and({\n\t\t\t\tdomain: record.domain,\n\t\t\t\tport: record.port,\n\t\t\t})));\n\t\t},\n\n\t\tasync afterUpdate(conn, Model, record, oldRecord) {\n\t\t\t/** @type {Record<string, any>} */\n\t\t\tlet data = {};\n\t\t\tif (record.default && !oldRecord?.default) {\n\t\t\t\tdata.default = false;\n\t\t\t}\n\t\t\tif (record.singleDefault && !oldRecord?.singleDefault) {\n\t\t\t\tdata.singleDefault = false;\n\t\t\t}\n\t\t\tif (!Object.keys(data)) { return; }\n\t\t\tawait conn.call(actions.update(Model, data, Where.not({ id: record.id }).and({\n\t\t\t\tdomain: record.domain,\n\t\t\t\tport: record.port,\n\t\t\t})));\n\t\t},\n\t}\n});\n","import { uuid, createField, createModel } from '@yongdall/model';\n\nexport default createModel('menu', {\n\tid: createField('uuid', { nullable: false, default: uuid, uncreatable: true, primary: 1 }),\n\tgroupType: createField('string', { nullable: false, default: '', label: '分组类型' }),\n\tgroup: createField('text', { nullable: false, default: '', label: '分组' }),\n\tno: createField('i32', { nullable: false, default: 0, label: '顺序号' }),\n\ttype: createField('string', {\n\t\tnullable: false, default: '', label: '菜单类型', layout: { colSpan: 6 }, renderer: 'select', source: [\n\t\t\t{ value: '', label: '菜单' },\n\t\t\t{ value: 'button', label: '按钮' },\n\t\t\t{ value: 'divider', label: '分割线' },\n\t\t]\n\t}),\n\tlevel: createField('i16', { nullable: false, default: 0, layout: { hidden: true } }),\n\n\tlabel: createField('string', { nullable: false, default: '新菜单', label: '标签', layout: { colSpan: 6 } }),\n\ticon: createField('string', { nullable: false, default: '', label: '图标', layout: { colSpan: 6 } }),\n\timage: createField('text', { nullable: false, default: '', label: '图片', layout: { colSpan: 6 }, renderer: 'string' }),\n\tcolor: createField('string', { nullable: false, default: '', label: '颜色', layout: { colSpan: 6 } }),\n\ttitle: createField('string', { nullable: false, default: '', label: '标题', layout: { colSpan: 6 } }),\n\tdescription: createField('text', { nullable: false, default: '', label: '描述', layout: { colSpan: 6 }, renderer: 'string' }),\n\n\tpage: createField('text', { nullable: false, default: '', label: '页面', layout: { colSpan: 6 }, renderer: 'string' }),\n\tpath: createField('text', { nullable: false, default: '', label: '页面路径', layout: { colSpan: 6 }, renderer: 'string' }),\n\turi: createField('text', { nullable: false, default: '', label: 'URI', layout: { colSpan: 6 }, renderer: 'uri' }),\n\tcommand: createField('text', { nullable: false, default: '', label: '命令', layout: { colSpan: 6 }, renderer: 'string' }),\n\n\tscript: createField('text', { nullable: false, default: '', label: '脚本' }),\n\trefType: createField('string', { nullable: false, default: '', label: '引用类型', layout: { colSpan: 6 } }),\n\trefId: createField('string', { nullable: false, default: '', label: '引用ID', layout: { colSpan: 6 } }),\n\trefMode: createField('string', { nullable: false, default: '', label: '引用模式', layout: { colSpan: 6 } }),\n\n\tpermission: createField('text', { nullable: false, default: '', label: '权限', renderer: 'permission' }),\n\tcollapsed: createField('bool', { nullable: false, default: true, label: '默认折叠', layout: { colSpan: 6 } }),\n\tautoLogin: createField('bool', { nullable: false, default: false, label: '自动登录', layout: { colSpan: 6 } }),\n\tapplicationId: createField('string', { nullable: false, default: '', label: '关联应用', layout: { colSpan: 6 } }),\n});\n","import { createField, createModel, uuid, now, Where, label, actions } from '@yongdall/model';\n\nconst PageMenu = createModel('page.menu', {\n\tpageId: createField('uuid', { nullable: false, renderer: 'document', primary: 1 }),\n\tno: createField('i16', { nullable: false, default: 0, label: '顺序号', primary: 2 }),\n\n\ttype: createField('string', {\n\t\tnullable: false, default: '', label: '菜单类型', layout: { colSpan: 6 }, renderer: 'select', source: [\n\t\t\t{ value: '', label: '菜单' },\n\t\t\t{ value: 'divider', label: '分割线' },\n\t\t]\n\t}),\n\tlevel: createField('i16', { nullable: false, default: 0, layout: { hidden: true } }),\n\n\tlabel: createField('string', { nullable: false, default: '新菜单', label: '标签', layout: { colSpan: 6 } }),\n\ticon: createField('string', { nullable: false, default: '', label: '图标', layout: { colSpan: 6 } }),\n\tcolor: createField('string', { nullable: false, default: '', label: '颜色', layout: { colSpan: 6 } }),\n\ttitle: createField('string', { nullable: false, default: '', label: '标题', layout: { colSpan: 6 } }),\n\n\tpage: createField('text', { nullable: false, default: '', label: '页面', layout: { colSpan: 6 }, renderer: 'string' }),\n\tpath: createField('text', { nullable: false, default: '', label: '页面路径', layout: { colSpan: 6 }, renderer: 'string' }),\n\turi: createField('text', { nullable: false, default: '', label: 'URI', layout: { colSpan: 6 }, renderer: 'uri' }),\n\tcommand: createField('text', { nullable: false, default: '', label: '命令', layout: { colSpan: 6 }, renderer: 'string' }),\n\n\tscript: createField('text', { nullable: false, default: '', label: '脚本' }),\n\n\tpermission: createField('text', { nullable: false, default: '', label: '权限', renderer: 'permission' }),\n\tdescription: createField('text', { nullable: false, default: '', label: '描述' }),\n});\nconst PageField = createModel('page.field', {\n\tpageId: createField('uuid', { nullable: false, renderer: 'document', primary: 1 }),\n\tno: createField('i16', { nullable: false, primary: 2 }),\n\tfield: createField('string', { nullable: false, default: '', label: '字段', renderer: 'select' }),\n\tlabel: createField('string', { nullable: false, default: '', label: '列名' }),\n\twidth: createField('string', { nullable: false, default: '', label: '宽度' }),\n\talign: createField('string', { nullable: false, default: '', label: '对齐方式', renderer: 'select', source: [\n\t\t{ value: '', label: '默认' },\n\t\t{ value: 'left', label: '左对齐' },\n\t\t{ value: 'center', label: '居中' },\n\t\t{ value: 'right', label: '右对齐' },\n\t] }),\n\tpattern: createField('string', { nullable: false, default: '', label: '显示模式' }),\n\tenableLink: createField('bool', { nullable: false, default: false, label: '启用连接' }),\n});\n\nconst PageForm = createModel('page.form', {\n\tpageId: createField('uuid', { nullable: false, renderer: 'document', primary: 1 }),\n\ttype: createField('string', { nullable: false, default: '', label: '类型', layout: { head: 1 }, primary: 2 }),\n\tno: createField('i16', { nullable: false }),\n\tlayoutId: createField('uuid', { nullable: false, model: 'formLayout', label: '布局', renderer: 'document', layout: { head: 1 } }),\n\tmode: createField('string', { nullable: false, default: '', label: '模式', layout: { head: 1 } }),\n\t// formId: createField('uuid', { nullable: true, label: '表单', layout: {head: 2} }),\n\t// serviceId: createField('uuid', { nullable: true, label: '服务接口', layout: {head: 3} }),\n});\n\nconst PageFilter = createModel('page.filter', {\n\tpageId: createField('uuid', { nullable: false, renderer: 'document', primary: 1 }),\n\tno: createField('i16', { nullable: false, primary: 2 }),\n\tfield: createField('string', { nullable: false, default: '', label: '字段', renderer: 'select', layout: { head: 1 } }),\n\toperator: createField('string', { nullable: false, default: '', label: '运算符', renderer: 'select', layout: { head: 1 } }),\n\t// not: createField('bool', { nullable: false, default: false, label: '否定' }),\n});\n\nconst PageSider = createModel('page.sider', {\n\tpageId: createField('uuid', { nullable: false, renderer: 'document', primary: 1 }),\n\tno: createField('i16', { nullable: false, primary: 2 }),\n\twidget: createField('string', { nullable: false, default: '', label: '组件', renderer: 'select', source: {\n\t\ttype: 'enumeration', name: 'pageSider', value: '{widget}',\n\t} }),\n\n\toptions: createField('string', { nullable: false, default: '', label: '选项' }),\n\n\t// editLayoutId: createField('uuid', { nullable: false, model: 'formLayout', label: '布局', renderer: 'document', layout: { head: 1 } }),\n\t// editFormId: createField('uuid', { nullable: true, label: '表单', layout: {head: 2} }),\n\t// editServiceId: createField('uuid', { nullable: true, label: '服务接口', layout: {head: 3} }),\n\n\t// createLayoutId: createField('uuid', { nullable: false, model: 'formLayout', label: '布局', renderer: 'document', layout: { head: 1 } }),\n\t// createFormId: createField('uuid', { nullable: true, label: '表单', layout: {head: 2} }),\n\t// createServiceId: createField('uuid', { nullable: true, label: '服务接口', layout: {head: 3} }),\n});\n\nexport default createModel('page', {\n\tapplicationId: createField('uuid', { nullable: true, label: '所属应用', renderer: 'document', model: 'application', layout: { colSpan: 4 } }),\n\ttype: createField('string', {\n\t\tsize: 50, nullable: false, label: '页面类型', immutable: true, renderer: 'select', source: [\n\t\t\t{ value: 'model', label: '文档主页面' },\n\t\t\t{ value: 'modelDetails', label: '文档详情页面' },\n\t\t\t{ value: 'modelEdit', label: '文档编辑页面' },\n\t\t\t{ value: 'modelInput', label: '文档创建页面' },\n\t\t\t{ value: 'modelCopy', label: '文档复制页面' },\n\n\t\t\t{ value: 'user', label: '用户主页面' },\n\t\t\t{ value: 'userDetails', label: '用户详情页面' },\n\t\t\t{ value: 'userEdit', label: '用户编辑页面' },\n\t\t\t{ value: 'userInput', label: '用户创建页面' },\n\t\t\t{ value: 'userCopy', label: '用户复制页面' },\n\n\t\t\t{ value: 'organization', label: '组织主页面' },\n\t\t\t{ value: 'organizationDetails', label: '组织详情页面' },\n\t\t\t{ value: 'organizationEdit', label: '组织编辑页面' },\n\t\t\t{ value: 'organizationInput', label: '组织创建页面' },\n\t\t\t{ value: 'organizationCopy', label: '组织复制页面' },\n\n\t\t\t{ value: 'workspace', label: '工作区主页面' },\n\t\t\t{ value: 'workspaceDetails', label: '工作区详情页面' },\n\t\t\t{ value: 'workspaceEdit', label: '工作区编辑页面' },\n\t\t\t{ value: 'workspaceInput', label: '工作区创建页面' },\n\t\t\t{ value: 'workspaceCopy', label: '工作区复制页面' },\n\t\t]\n\t}),\n\n\tmodel: createField('string', { nullable: false, default: '', label: '模型', layout: { colSpan: 4 } }),\n\torganization: createField('string', { nullable: false, default: '', clearable: true, label: '组织', model: 'organization', renderer: 'document', layout: { colSpan: 4 } }),\n\tuser: createField('string', { nullable: false, default: '', label: '用户', layout: { colSpan: 4 } }),\n\tworkspace: createField('string', { nullable: false, default: '', label: '工作区', layout: { colSpan: 4 } }),\n\n\twidget: createField('string', { nullable: false, default: '', label: '组件', layout: { colSpan: 6 }, renderer: 'select', source: {\n\t\ttype: 'enumeration', name: 'page', value: '{page}', search: 'type=?type'\n\t} }),\n\n\t// TODO: 分页\n\t// TODO: 分组查询\n\t// TODO: 活动\n\t// TODO: 时间段字段\n\n\tlabel: createField('string', { nullable: false, default: '', label: '名称', layout: { colSpan: 6 } }),\n\ttitle: createField('string', { nullable: false, default: '', label: '标题', layout: { colSpan: 6 } }),\n\ttitlePattern: createField('string', { nullable: false, default: '', label: '标题模式', layout: { colSpan: 6 } }),\n\tcurrent: createField('bool', { nullable: false, default: false, label: '当前', layout: { colSpan: 6 } }),\n\n\tid: createField('uuid', { nullable: false, default: uuid, uncreatable: true, primary: 1, renderer: 'string', layout: { colSpan: 6 } }),\n\n\turl: createField('text', { nullable: false, default: '', label: '自定义页面嵌入', renderer: 'string' }),\n\n\tconfig: createField('json', { nullable: false, default: {}, renderer: 'configuration', source: {\n\t\ttype: 'enumeration', name: 'page', search: 'type=?type&page=?widget'\n\t}, label: '配置' }),\n\n\tdefaultQuery: createField('string', { nullable: false, default: '', label: '默认查询' }),\n\thiddenFilter: createField('string', { nullable: false, default: '', label: '隐藏过滤条件' }),\n\n\tfields: createField(PageField, { array: true, constraints: { pageId: { field: 'id' }, no: { noField: true } }, label: '显示字段', layout: { columns: [\n\t\t{ actions: ['add', 'move', 'remove', 'serial'] },\n\t\t{ field: 'field' },\n\t\t{ field: 'label' },\n\t\t{ field: 'width' },\n\t\t{ field: 'align' },\n\t\t{ field: 'pattern' },\n\t\t{ field: 'enableLink' },\n\t] } }),\n\tfilters: createField(PageFilter, { array: true, constraints: { pageId: { field: 'id' }, no: { noField: true } }, label: '快速过滤', layout: { columns: [{ actions: ['add', 'move', 'remove', 'serial'] }, { field: 'field' }, { field: 'operator' }, { field: 'not' }] } }),\n\n\tforms: createField(PageForm, { array: true, constraints: { pageId: { field: 'id' }, no: { noField: true } }, label: '表单配置', layout: { columns: [{ actions: ['add', 'move', 'remove', 'serial'] }, { field: 'type' }, { field: 'layoutId' }, { field: 'mode' }] } }),\n\tmenus: createField(PageMenu, { array: true, constraints: { pageId: { field: 'id' }, no: { noField: true } }, label: '菜单配置', layout: { levelKey: 'level', columns: [{ actions: ['collapse', 'move'] }, { field: 'label', placeholder: 1 }, { placeholder: 1 }, { actions: ['add', 'remove'] }] } }),\n\n\tsides: createField(PageSider, { array: true, constraints: { pageId: { field: 'id' }, no: { noField: true } }, label: '侧边栏', layout: { columns: [{ actions: ['add', 'move', 'remove', 'collapse', 'serial'] }, { field: 'widget' }] } }),\n\tdescription: createField('text', { nullable: false, default: '', label: '描述' }),\n\n\tcreatedAt: createField('timestamp', { nullable: false, creating: now, label: '创建时间' }),\n\tupdatedAt: createField('timestamp', { nullable: false, updating: now, label: '更新时间' }),\n\n}, {\n\tlabel: '页面',\n\tlabelField: 'label',\n\tpermissions: [\n\t\t{ permission: 'system:page', fields: '*', authorizations: ['query', 'read', 'create', 'update', 'destroy', 'add', 'remove'] },\n\t],\n\tindexes: [\n\t\t{ fields: ['applicationId', 'model', 'organization', 'user', 'workspace', 'type', 'current'] },\n\t\t{ fields: ['model', 'organization', 'user', 'workspace', 'type', 'current'] },\n\t\t{ fields: ['applicationId', 'current', 'type', 'model', 'organization', 'user', 'workspace'] },\n\t\t{ fields: ['applicationId', 'current', 'type', 'model', 'workspace'] },\n\t\t{ fields: ['applicationId', 'current', 'type', 'organization', 'workspace'] },\n\t\t{ fields: ['applicationId', 'current', 'type', 'user', 'workspace'] },\n\t\t{ fields: ['applicationId', 'current', 'type', 'workspace'] },\n\t],\n\tscripts: ['@yongdall/standard#models.Page'],\n\thooks: {\n\t\tasync afterCreate(conn, Model, record) {\n\t\t\tawait conn.call(actions.update(Model, { current: false },\n\t\t\t\tWhere.not({ id: record.id }).and({\n\t\t\t\t\tmodel: record.model,\n\t\t\t\t\torganization: record.organization,\n\t\t\t\t\tuser: record.user,\n\t\t\t\t\tworkspace: record.workspace,\n\t\t\t\t\ttype: record.type,\n\t\t\t\t\tapplicationId: record.applicationId,\n\t\t\t\t})));\n\t\t},\n\t\tasync afterUpdate(conn, Model, record, oldRecord) {\n\t\t\tif (!record.current || oldRecord?.current) { return; }\n\t\t\tawait conn.call(actions.update(Model, { current: false },\n\t\t\t\tWhere.not({ id: record.id }).and({\n\t\t\t\t\tmodel: record.model,\n\t\t\t\t\torganization: record.organization,\n\t\t\t\t\tuser: record.user,\n\t\t\t\t\tworkspace: record.workspace,\n\t\t\t\t\ttype: record.type,\n\t\t\t\t\tapplicationId: record.applicationId,\n\t\t\t\t})));\n\t\t}\n\n\t}\n});\n","import { createField, createModel, now, uuid } from '@yongdall/model';\n\nexport default createModel('database', {\n\tid: createField('uuid', { nullable: false, default: uuid, renderer: 'string', uncreatable: true, primary: 1 }),\n\n\ttype: createField('string', { nullable: false, immutable: true, label: '类型', renderer: 'select', source: { type: 'enumeration', name: 'connectionType', value: 'type'} }),\n\tlabel: createField('string', { nullable: false, default: '', label: '名称' }),\n\tname: createField('string', { nullable: false, immutable: true, label: '标识' }),\n\turi: createField('string', { nullable: false, label: '路径' }),\n\tcreatedAt: createField('timestamp', { nullable: false, creating: now, label: '创建时间' }),\n\tupdatedAt: createField('timestamp', { nullable: false, updating: now, label: '更新时间' }),\n}, {\n\tlabel: '数据库',\n\tlabelField: 'label',\n\tindexes: [\n\t\t{ fields: ['type', 'name'], unique: true }\n\t],\n\n\tpermissions: [\n\t\t{ fields: ['id', 'type', 'label', 'name'], authorizations: ['options'] },\n\t\t{ permission: 'system:database', fields: ['id', 'type', 'label', 'name', 'createdAt', 'updatedAt'], authorizations: ['query'] },\n\t\t{ permission: 'system:database', fields: '*', authorizations: ['read', 'create', 'update', 'destroy'] },\n\t],\n});\n","import { createField, createModel, uuid, now, Where, actions } from '@yongdall/model';\n\n\nexport default createModel('formLayout', {\n\tid: createField('uuid', { nullable: false, default: uuid, uncreatable: true, primary: 1 }),\n\tlabel: createField('string', { nullable: false, default: '', label: '名称', layout: { colSpan: 6 } }),\n\n\tmodelId: createField('string', { nullable: false, default: '', label: '模型', layout: { colSpan: 6 } }),\n\n\tdefault: createField('bool', { nullable: false, default: false, label: '默认布局' }),\n\n\ttype: createField('string', { nullable: false, default: '', label: '类型', layout: { colSpan: 6 }, renderer: 'select', source: {\n\t\ttype: 'enumeration', name: 'formLayout', value: '{type}'\n\t} }),\n\n\tenableLink: createField('bool', { nullable: false, default: true, label: '启用连接', layout: { colSpan: 6 } }),\n\tenableLinkEditable: createField('bool', { nullable: false, default: false, label: '启用编辑时连接', layout: { colSpan: 6 } }),\n\n\tlayout: createField('json', { nullable: false, default: {}, renderer: 'configuration', source: {\n\t\ttype: 'enumeration', name: 'formLayout', search: 'type=?type'\n\t}, label: '布局' }),\n\n\n\tdescription: createField('text', { nullable: false, default: '', label: '描述' }),\n\n\tcreatedAt: createField('timestamp', { nullable: false, creating: now, layout: { colSpan: 6 }, label: '创建时间' }),\n\tupdatedAt: createField('timestamp', { nullable: false, updating: now, layout: { colSpan: 6 }, label: '更新时间' }),\n}, {\n\tlabel: '表单布局',\n\tlabelField: 'label',\n\tpermissions: [\n\t\t{ fields: ['id', 'type', 'label', 'description'], authorizations: ['options'] },\n\t\t{ permission: 'system:formLayout', fields: '*', authorizations: ['query', 'read', 'create', 'update', 'destroy'] },\n\t],\n\thooks: {\n\t\tasync afterCreate(conn, Model, record) {\n\n\t\t\tawait conn.call(actions.update(Model, { default: false }, Where.not({ id: record.id }).and({\n\t\t\t\tmodelId: record.modelId,\n\t\t\t})));\n\t\t},\n\t\tasync afterUpdate(conn, Model, record, oldRecord) {\n\t\t\tif (!record.default || oldRecord?.default) { return; }\n\n\t\t\tawait conn.call(actions.update(Model, { default: false }, Where.not({ id: record.id }).and({\n\t\t\t\tmodelId: record.modelId,\n\t\t\t})));\n\t\t},\n\n\t}\n\n});\n","import { createField, createModel, uuid, now, Where } from '@yongdall/model';\n\n\nexport default createModel('plugin', {\n\tid: createField('uuid', { nullable: false, default: uuid, uncreatable: true, primary: 1 }),\n\tlabel: createField('string', { nullable: false, default: '', label: '名称', layout: { colSpan: 6 } }),\n\tplugin: createField('string', { nullable: false, default: '', label: '插件', layout: { colSpan: 6 }, renderer: 'select', source: {\n\t\ttype: 'enumeration', name: 'plugin', value: 'plugin', label: '{label}({plugin})',\n\t} }),\n\tenabled: createField('bool', { nullable: false, default: true, label: '启用', layout: { colSpan: 6 } }),\n\tconfig: createField('json', { nullable: false, default: {}, renderer: 'configuration', source: {\n\t\ttype: 'enumeration', name: 'plugin', search: 'plugin=?plugin'\n\t}, label: '配置' }),\n\tcreatedAt: createField('timestamp', { nullable: false, creating: now, layout: { colSpan: 6 }, label: '创建时间' }),\n\tupdatedAt: createField('timestamp', { nullable: false, updating: now, layout: { colSpan: 6 }, label: '更新时间' }),\n}, {\n\tlabel: '插件配置',\n\tlabelField: 'label',\n\tindexes: [\n\t\t{ fields: ['plugin'], unique: true },\n\t\t{ fields: ['plugin', 'enabled'] },\n\t],\n\tpermissions: [\n\t\t{ fields: ['id', 'type', 'label', 'description'], authorizations: ['options'] },\n\t\t{ permission: 'system:plugin', fields: '*', authorizations: ['query', 'read', 'create', 'update', 'destroy'] },\n\t],\n\n});\n"],"mappings":"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"}