@docupace/ihub-config 1.1.30 → 1.1.31

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.
Files changed (38) hide show
  1. package/README.md +182 -182
  2. package/dist/config-service.d.ts +2 -2
  3. package/dist/config-service.d.ts.map +1 -1
  4. package/dist/config-service.js +7 -5
  5. package/dist/config-service.js.map +1 -1
  6. package/dist/model/graphs/config/common.graphql +7 -7
  7. package/dist/model/graphs/config/fields.graphql +454 -454
  8. package/dist/model/graphs/config/menu.graphql +60 -60
  9. package/dist/model/graphs/config/mutation.graphql +30 -30
  10. package/dist/model/graphs/config/page.graphql +283 -283
  11. package/dist/model/graphs/config/panel.graphql +43 -43
  12. package/dist/model/graphs/config/query.graphql +102 -93
  13. package/dist/model/graphs/config/rules.graphql +116 -116
  14. package/dist/model/graphs/config/selectOptions.graphql +48 -48
  15. package/dist/model/graphs/config/table.graphql +231 -231
  16. package/dist/model/graphs/config/tests.graphql +16 -16
  17. package/dist/model/graphs/config/theme.graphql +41 -41
  18. package/dist/model/graphs/config/ui-components.graphql +11 -11
  19. package/dist/model/graphs/domains/scalars.graphql +3 -3
  20. package/dist/model/graphs/filter.graphql +5 -5
  21. package/dist/model/graphs/schema.graphql +7 -7
  22. package/model/graphs/config/common.graphql +7 -7
  23. package/model/graphs/config/fields.graphql +454 -454
  24. package/model/graphs/config/menu.graphql +60 -60
  25. package/model/graphs/config/mutation.graphql +30 -30
  26. package/model/graphs/config/page.graphql +283 -283
  27. package/model/graphs/config/panel.graphql +43 -43
  28. package/model/graphs/config/query.graphql +102 -93
  29. package/model/graphs/config/rules.graphql +116 -116
  30. package/model/graphs/config/selectOptions.graphql +48 -48
  31. package/model/graphs/config/table.graphql +231 -231
  32. package/model/graphs/config/tests.graphql +16 -16
  33. package/model/graphs/config/theme.graphql +41 -41
  34. package/model/graphs/config/ui-components.graphql +11 -11
  35. package/model/graphs/domains/scalars.graphql +3 -3
  36. package/model/graphs/filter.graphql +5 -5
  37. package/model/graphs/schema.graphql +7 -7
  38. package/package.json +81 -83
@@ -1,454 +1,454 @@
1
- interface IField {
2
- defaultValue: String
3
- hidden: Boolean
4
- label: String
5
- name: String!
6
- path: String!
7
- readonly: Boolean
8
- required: Boolean
9
- requiredCondition: String
10
- skipQuery: Boolean
11
- excludeFromQueryInput: Boolean
12
- visibilityCondition: String
13
- disabledCondition: String
14
- """
15
- Always include this field in the mutation input, even if it is hidden or has not been modified by the user.
16
- """
17
- skipDirtyCheck: Boolean
18
- }
19
-
20
- interface IDateRangeField {
21
- defaultValue: [String] # [startDate, endDate]
22
- defaultValueExpressions: [String] # [startDate, endDate]
23
- format: String
24
- hidden: Boolean
25
- label: String
26
- name: String!
27
- paths: [String!]!
28
- readonly: Boolean
29
- required: Boolean
30
- requiredCondition: String
31
- skipQuery: Boolean
32
- excludeFromQueryInput: Boolean
33
- visibilityCondition: String
34
- disabledCondition: String
35
- validation: GenericFieldValidation
36
-
37
- }
38
-
39
- type InputField implements IField & IRowElement & IElement {
40
- cols: Int
41
- defaultValue: String
42
- helperText: String
43
- hidden: Boolean
44
- label: String
45
- masking: FieldMasking
46
- maxLength: Int
47
- minLength: Int
48
- name: String!
49
- path: String!
50
- placeholder: String
51
- readonly: Boolean
52
- required: Boolean
53
- requiredCondition: String
54
- skipQuery: Boolean
55
- excludeFromQueryInput: Boolean
56
- startAdornment: String
57
- type: FieldValueType
58
- validation: InputValidation
59
- visibilityCondition: String
60
- disabledCondition: String
61
- # Start of text area configuration, see https://mui.com/material-ui/react-text-field/#multiline
62
- multiline: Boolean # optional if at least one other text area parameter is provided
63
- rows: Int
64
- maxRows: Int
65
- minRows: Int
66
- # End of text area configuration
67
- # Masks the entered value and marks it for browser privacy tooling.
68
- sensitive: Boolean
69
- custom: Boolean
70
- }
71
-
72
- type CustomValidator implements IRowElement & IElement {
73
- validationRule: String
74
- errorMessage: String
75
- paths: [String!]!
76
- custom: Boolean
77
- }
78
-
79
- union Fields = InputField | PhoneField | DateField | DateRangeField | SelectField | ToggleField | BooleanField | TextElement | ReferenceTable
80
-
81
- type ItemValidation {
82
- type: String!
83
- fields: [String!]!
84
- errorMessage: String
85
- }
86
-
87
- type RepeaterField implements IRowElement & IElement {
88
- path: String!
89
- title: String
90
- label: String
91
- buttonLabel: String
92
- required: Boolean
93
- skipId: Boolean
94
- fields: [Fields!]!
95
- visibilityCondition: String
96
- maxFields: String
97
- validateUnique: Boolean
98
- duplicateMessage: String
99
- itemValidation: ItemValidation
100
- custom: Boolean
101
- }
102
-
103
- type ControlGroup implements IRowElement & IElement {
104
- path: String!
105
- title: String
106
- skipId: Boolean
107
- controlOptions: ISelectOptions!
108
- fields: [Fields!]!
109
- custom: Boolean
110
- }
111
-
112
- # Renders the currently-linked records of a multi-valued reference attribute
113
- # (`path`) as a table (`columns`, reusing Table's Column config), with a quick
114
- # typeahead (`search`, reusing Table's SimpleSearch/QuerySelectOptions config)
115
- # to find and add records of `dataType`, and a delete affordance per row.
116
- # `rowMenuItems` (reusing Table's MenuItem config) adds further per-row actions,
117
- # e.g. an `action: "details"` item with a `url` to navigate to that record's own
118
- # details page.
119
- type ReferenceTable implements IField & IRowElement & IElement {
120
- cols: Int
121
- defaultValue: String
122
- disabledCondition: String
123
- excludeFromQueryInput: Boolean
124
- hidden: Boolean
125
- label: String
126
- name: String!
127
- path: String!
128
- readonly: Boolean
129
- required: Boolean
130
- requiredCondition: String
131
- skipDirtyCheck: Boolean
132
- skipQuery: Boolean
133
- visibilityCondition: String
134
- dataType: String!
135
- columns: [Column!]!
136
- search: SimpleSearch
137
- addLabel: String
138
- confirmDelete: Boolean
139
- maxRows: Int
140
- rowMenuItems: [MenuItem!]
141
- recordCreate: ReferenceTableRecordDialog
142
- recordUpdate: ReferenceTableRecordDialog
143
- custom: Boolean
144
- }
145
-
146
- type ReferenceTableRecordDialog {
147
- label: String
148
- configPath: String!
149
- }
150
-
151
- type PhoneField implements IField & IRowElement & IElement {
152
- cols: Int
153
- defaultValue: String
154
- hidden: Boolean
155
- label: String
156
- name: String!
157
- path: String!
158
- placeholder: String
159
- readonly: Boolean
160
- required: Boolean
161
- requiredCondition: String
162
- skipQuery: Boolean
163
- excludeFromQueryInput: Boolean
164
- visibilityCondition: String
165
- disabledCondition: String
166
- validation: GenericFieldValidation
167
- custom: Boolean
168
- }
169
-
170
- type DateField implements IField & IRowElement & IElement {
171
- cols: Int
172
- defaultValue: String
173
- hidden: Boolean
174
- label: String
175
- name: String!
176
- path: String!
177
- readonly: Boolean
178
- required: Boolean
179
- requiredCondition: String
180
- skipQuery: Boolean
181
- excludeFromQueryInput: Boolean
182
- visibilityCondition: String
183
- disabledCondition: String
184
- minDate: String # e.q. "now" or "2025-03-20"
185
- maxDate: String # e.q. "now" or "2025-03-20"
186
- validation: GenericFieldValidation
187
- custom: Boolean
188
- }
189
-
190
- type DateRangeField implements IDateRangeField & IRowElement & IElement {
191
- cols: Int
192
- defaultValue: [String!] # [startDate, endDate]
193
- defaultValueExpressions: [String!] # [startDate, endDate]
194
- format: String
195
- hidden: Boolean
196
- label: String
197
- name: String!
198
- paths: [String!]!
199
- readonly: Boolean
200
- required: Boolean
201
- requiredCondition: String
202
- skipQuery: Boolean
203
- excludeFromQueryInput: Boolean
204
- visibilityCondition: String
205
- disabledCondition: String
206
- validation: GenericFieldValidation
207
- custom: Boolean
208
- }
209
-
210
- type SelectField implements IField & IRowElement & IElement {
211
- cols: Int
212
- defaultValue: String
213
- defaultValuePath: String
214
- disableClearable: Boolean
215
- hidden: Boolean
216
- label: String
217
- multiple: Boolean
218
- name: String!
219
- path: String!
220
- placeholder: String
221
- readonly: Boolean
222
- required: Boolean
223
- requiredCondition: String
224
- selectOptions: ISelectOptions!
225
- skipQuery: Boolean
226
- excludeFromQueryInput: Boolean
227
- visibilityCondition: String
228
- disabledCondition: String
229
- excludeId: Boolean
230
- helperText: String
231
- autoSelectSingleOption: Boolean
232
- validation: GenericFieldValidation
233
- custom: Boolean
234
- }
235
-
236
- type ToggleField implements IField & IRowElement & IElement {
237
- cols: Int
238
- defaultValue: String
239
- disableClearable: Boolean
240
- hidden: Boolean
241
- label: String
242
- multiple: Boolean
243
- name: String!
244
- path: String!
245
- readonly: Boolean
246
- required: Boolean
247
- requiredCondition: String
248
- selectOptions: ISelectOptions!
249
- size: String # see https://mui.com/material-ui/react-toggle-button/#size
250
- skipQuery: Boolean
251
- excludeFromQueryInput: Boolean
252
- visibilityCondition: String
253
- disabledCondition: String
254
- linkedFields: [String!]
255
- validation: GenericFieldValidation
256
- custom: Boolean
257
- }
258
-
259
- type BooleanField implements IField & IRowElement & IElement {
260
- """Allow the selected Yes or No option to be selected again to restore a null value."""
261
- clearable: Boolean
262
- cols: Int
263
- defaultValue: String
264
- hidden: Boolean
265
- label: String
266
- name: String!
267
- path: String!
268
- readonly: Boolean
269
- required: Boolean
270
- requiredCondition: String
271
- skipQuery: Boolean
272
- excludeFromQueryInput: Boolean
273
- visibilityCondition: String
274
- disabledCondition: String
275
- linkedFields: [String!]
276
- validation: GenericFieldValidation
277
- custom: Boolean
278
- }
279
-
280
- type ChipSelectWithInputField implements IField & IRowElement & IElement {
281
- cols: Int
282
- defaultValue: String
283
- defaultValuePath: String
284
- hidden: Boolean
285
- input: InputField
286
- label: String
287
- name: String!
288
- path: String!
289
- labelPath: String
290
- readonly: Boolean
291
- multiple: Boolean
292
- required: Boolean
293
- requiredCondition: String
294
- selectOptions: ISelectOptions!
295
- skipQuery: Boolean
296
- excludeFromQueryInput: Boolean
297
- subTitle: String
298
- title: String
299
- visibilityCondition: String
300
- disabledCondition: String
301
- linkedFields: [String!]
302
- validation: ChipSelectValidation
303
- custom: Boolean
304
- }
305
-
306
- type CustomField implements IField & IRowElement & IElement {
307
- cols: Int
308
- component: String!
309
- config: JSON
310
- defaultValue: String
311
- hidden: Boolean
312
- label: String
313
- name: String!
314
- path: String!
315
- readonly: Boolean
316
- required: Boolean
317
- requiredCondition: String
318
- skipQuery: Boolean
319
- excludeFromQueryInput: Boolean
320
- visibilityCondition: String
321
- disabledCondition: String
322
- validation: GenericFieldValidation
323
- custom: Boolean
324
- }
325
-
326
- type StatusChipField implements IField & IRowElement & IElement {
327
- align: String
328
- cols: Int
329
- label: String
330
- name: String!
331
- path: String!
332
- validation: GenericFieldValidation
333
- custom: Boolean
334
- }
335
-
336
- type CheckboxGroupValue {
337
- label: String!
338
- path: String!
339
- skipQuery: Boolean
340
- excludeFromQueryInput: Boolean
341
- value: JSON!
342
- }
343
-
344
- type CheckboxGroup implements IRowElement & IElement {
345
- cols: Int
346
- name: String!
347
- required: Boolean
348
- requiredCondition: String
349
- subTitle: String
350
- title: String
351
- values: [CheckboxGroupValue!]!
352
- visibilityCondition: String
353
- disabledCondition: String
354
- custom: Boolean
355
- }
356
-
357
- enum FieldValueType {
358
- Int
359
- Float
360
- }
361
-
362
- type GenericFieldValidation {
363
- custom : CustomFieldValidation
364
- }
365
-
366
- type CustomFieldValidation {
367
- expression: String
368
- message: String
369
- """
370
- Paths of other fields this expression reads. When one of these fields changes, this
371
- field's validation is re-triggered so its error state stays in sync without requiring
372
- the user to re-touch this field directly.
373
- """
374
- dependentPaths: [String!]
375
- }
376
-
377
- type StringValidationRule {
378
- message: String
379
- value: String
380
- }
381
-
382
- type IntValidationRule {
383
- message: String
384
- value: Int
385
- }
386
-
387
- type FloatValidationRule {
388
- message: String
389
- value: Float
390
- }
391
-
392
- type FormatValidationRule {
393
- name: String
394
- description: String
395
- message: String
396
- expression: String
397
- condition: String
398
- }
399
-
400
- type InputValidation {
401
- email: StringValidationRule
402
- length: IntValidationRule
403
- format: [FormatValidationRule!]
404
- min: FloatValidationRule
405
- max: FloatValidationRule
406
- custom: CustomFieldValidation
407
- }
408
-
409
- type ChipSelectValidation {
410
- compatibleWith: CompatibleWithRule
411
- uniqueInList: UniqueInListRule
412
- custom : CustomFieldValidation
413
- }
414
-
415
- type CompatibleWithRule {
416
- field: String!
417
- rules: [CompatibleWithRuleEntry!]!
418
- }
419
-
420
- type CompatibleWithRuleEntry {
421
- when: WhenClause!
422
- allowed: [String!]!
423
- message: String!
424
- }
425
-
426
- type WhenClause {
427
- equals: String
428
- in: [String!]
429
- }
430
-
431
- type UniqueInListRule {
432
- listPaths: [String!]!
433
- itemValuePath: String!
434
- value: String
435
- message: String!
436
- }
437
-
438
- # see more https://s-yadav.github.io/react-number-format/docs/props
439
- type PatternMasking {
440
- dynamic: Boolean
441
- format: String!
442
- mask: String
443
- }
444
-
445
- # see more https://s-yadav.github.io/react-number-format/docs/props
446
- type NumericMasking {
447
- thousandSeparator: String
448
- decimalSeparator: String
449
- decimalScale: Number
450
- fixedDecimalScale: Boolean
451
- allowNegative: Boolean
452
- }
453
-
454
- union FieldMasking = PatternMasking | NumericMasking
1
+ interface IField {
2
+ defaultValue: String
3
+ hidden: Boolean
4
+ label: String
5
+ name: String!
6
+ path: String!
7
+ readonly: Boolean
8
+ required: Boolean
9
+ requiredCondition: String
10
+ skipQuery: Boolean
11
+ excludeFromQueryInput: Boolean
12
+ visibilityCondition: String
13
+ disabledCondition: String
14
+ """
15
+ Always include this field in the mutation input, even if it is hidden or has not been modified by the user.
16
+ """
17
+ skipDirtyCheck: Boolean
18
+ }
19
+
20
+ interface IDateRangeField {
21
+ defaultValue: [String] # [startDate, endDate]
22
+ defaultValueExpressions: [String] # [startDate, endDate]
23
+ format: String
24
+ hidden: Boolean
25
+ label: String
26
+ name: String!
27
+ paths: [String!]!
28
+ readonly: Boolean
29
+ required: Boolean
30
+ requiredCondition: String
31
+ skipQuery: Boolean
32
+ excludeFromQueryInput: Boolean
33
+ visibilityCondition: String
34
+ disabledCondition: String
35
+ validation: GenericFieldValidation
36
+
37
+ }
38
+
39
+ type InputField implements IField & IRowElement & IElement {
40
+ cols: Int
41
+ defaultValue: String
42
+ helperText: String
43
+ hidden: Boolean
44
+ label: String
45
+ masking: FieldMasking
46
+ maxLength: Int
47
+ minLength: Int
48
+ name: String!
49
+ path: String!
50
+ placeholder: String
51
+ readonly: Boolean
52
+ required: Boolean
53
+ requiredCondition: String
54
+ skipQuery: Boolean
55
+ excludeFromQueryInput: Boolean
56
+ startAdornment: String
57
+ type: FieldValueType
58
+ validation: InputValidation
59
+ visibilityCondition: String
60
+ disabledCondition: String
61
+ # Start of text area configuration, see https://mui.com/material-ui/react-text-field/#multiline
62
+ multiline: Boolean # optional if at least one other text area parameter is provided
63
+ rows: Int
64
+ maxRows: Int
65
+ minRows: Int
66
+ # End of text area configuration
67
+ # Masks the entered value and marks it for browser privacy tooling.
68
+ sensitive: Boolean
69
+ custom: Boolean
70
+ }
71
+
72
+ type CustomValidator implements IRowElement & IElement {
73
+ validationRule: String
74
+ errorMessage: String
75
+ paths: [String!]!
76
+ custom: Boolean
77
+ }
78
+
79
+ union Fields = InputField | PhoneField | DateField | DateRangeField | SelectField | ToggleField | BooleanField | TextElement | ReferenceTable
80
+
81
+ type ItemValidation {
82
+ type: String!
83
+ fields: [String!]!
84
+ errorMessage: String
85
+ }
86
+
87
+ type RepeaterField implements IRowElement & IElement {
88
+ path: String!
89
+ title: String
90
+ label: String
91
+ buttonLabel: String
92
+ required: Boolean
93
+ skipId: Boolean
94
+ fields: [Fields!]!
95
+ visibilityCondition: String
96
+ maxFields: String
97
+ validateUnique: Boolean
98
+ duplicateMessage: String
99
+ itemValidation: ItemValidation
100
+ custom: Boolean
101
+ }
102
+
103
+ type ControlGroup implements IRowElement & IElement {
104
+ path: String!
105
+ title: String
106
+ skipId: Boolean
107
+ controlOptions: ISelectOptions!
108
+ fields: [Fields!]!
109
+ custom: Boolean
110
+ }
111
+
112
+ # Renders the currently-linked records of a multi-valued reference attribute
113
+ # (`path`) as a table (`columns`, reusing Table's Column config), with a quick
114
+ # typeahead (`search`, reusing Table's SimpleSearch/QuerySelectOptions config)
115
+ # to find and add records of `dataType`, and a delete affordance per row.
116
+ # `rowMenuItems` (reusing Table's MenuItem config) adds further per-row actions,
117
+ # e.g. an `action: "details"` item with a `url` to navigate to that record's own
118
+ # details page.
119
+ type ReferenceTable implements IField & IRowElement & IElement {
120
+ cols: Int
121
+ defaultValue: String
122
+ disabledCondition: String
123
+ excludeFromQueryInput: Boolean
124
+ hidden: Boolean
125
+ label: String
126
+ name: String!
127
+ path: String!
128
+ readonly: Boolean
129
+ required: Boolean
130
+ requiredCondition: String
131
+ skipDirtyCheck: Boolean
132
+ skipQuery: Boolean
133
+ visibilityCondition: String
134
+ dataType: String!
135
+ columns: [Column!]!
136
+ search: SimpleSearch
137
+ addLabel: String
138
+ confirmDelete: Boolean
139
+ maxRows: Int
140
+ rowMenuItems: [MenuItem!]
141
+ recordCreate: ReferenceTableRecordDialog
142
+ recordUpdate: ReferenceTableRecordDialog
143
+ custom: Boolean
144
+ }
145
+
146
+ type ReferenceTableRecordDialog {
147
+ label: String
148
+ configPath: String!
149
+ }
150
+
151
+ type PhoneField implements IField & IRowElement & IElement {
152
+ cols: Int
153
+ defaultValue: String
154
+ hidden: Boolean
155
+ label: String
156
+ name: String!
157
+ path: String!
158
+ placeholder: String
159
+ readonly: Boolean
160
+ required: Boolean
161
+ requiredCondition: String
162
+ skipQuery: Boolean
163
+ excludeFromQueryInput: Boolean
164
+ visibilityCondition: String
165
+ disabledCondition: String
166
+ validation: GenericFieldValidation
167
+ custom: Boolean
168
+ }
169
+
170
+ type DateField implements IField & IRowElement & IElement {
171
+ cols: Int
172
+ defaultValue: String
173
+ hidden: Boolean
174
+ label: String
175
+ name: String!
176
+ path: String!
177
+ readonly: Boolean
178
+ required: Boolean
179
+ requiredCondition: String
180
+ skipQuery: Boolean
181
+ excludeFromQueryInput: Boolean
182
+ visibilityCondition: String
183
+ disabledCondition: String
184
+ minDate: String # e.q. "now" or "2025-03-20"
185
+ maxDate: String # e.q. "now" or "2025-03-20"
186
+ validation: GenericFieldValidation
187
+ custom: Boolean
188
+ }
189
+
190
+ type DateRangeField implements IDateRangeField & IRowElement & IElement {
191
+ cols: Int
192
+ defaultValue: [String!] # [startDate, endDate]
193
+ defaultValueExpressions: [String!] # [startDate, endDate]
194
+ format: String
195
+ hidden: Boolean
196
+ label: String
197
+ name: String!
198
+ paths: [String!]!
199
+ readonly: Boolean
200
+ required: Boolean
201
+ requiredCondition: String
202
+ skipQuery: Boolean
203
+ excludeFromQueryInput: Boolean
204
+ visibilityCondition: String
205
+ disabledCondition: String
206
+ validation: GenericFieldValidation
207
+ custom: Boolean
208
+ }
209
+
210
+ type SelectField implements IField & IRowElement & IElement {
211
+ cols: Int
212
+ defaultValue: String
213
+ defaultValuePath: String
214
+ disableClearable: Boolean
215
+ hidden: Boolean
216
+ label: String
217
+ multiple: Boolean
218
+ name: String!
219
+ path: String!
220
+ placeholder: String
221
+ readonly: Boolean
222
+ required: Boolean
223
+ requiredCondition: String
224
+ selectOptions: ISelectOptions!
225
+ skipQuery: Boolean
226
+ excludeFromQueryInput: Boolean
227
+ visibilityCondition: String
228
+ disabledCondition: String
229
+ excludeId: Boolean
230
+ helperText: String
231
+ autoSelectSingleOption: Boolean
232
+ validation: GenericFieldValidation
233
+ custom: Boolean
234
+ }
235
+
236
+ type ToggleField implements IField & IRowElement & IElement {
237
+ cols: Int
238
+ defaultValue: String
239
+ disableClearable: Boolean
240
+ hidden: Boolean
241
+ label: String
242
+ multiple: Boolean
243
+ name: String!
244
+ path: String!
245
+ readonly: Boolean
246
+ required: Boolean
247
+ requiredCondition: String
248
+ selectOptions: ISelectOptions!
249
+ size: String # see https://mui.com/material-ui/react-toggle-button/#size
250
+ skipQuery: Boolean
251
+ excludeFromQueryInput: Boolean
252
+ visibilityCondition: String
253
+ disabledCondition: String
254
+ linkedFields: [String!]
255
+ validation: GenericFieldValidation
256
+ custom: Boolean
257
+ }
258
+
259
+ type BooleanField implements IField & IRowElement & IElement {
260
+ """Allow the selected Yes or No option to be selected again to restore a null value."""
261
+ clearable: Boolean
262
+ cols: Int
263
+ defaultValue: String
264
+ hidden: Boolean
265
+ label: String
266
+ name: String!
267
+ path: String!
268
+ readonly: Boolean
269
+ required: Boolean
270
+ requiredCondition: String
271
+ skipQuery: Boolean
272
+ excludeFromQueryInput: Boolean
273
+ visibilityCondition: String
274
+ disabledCondition: String
275
+ linkedFields: [String!]
276
+ validation: GenericFieldValidation
277
+ custom: Boolean
278
+ }
279
+
280
+ type ChipSelectWithInputField implements IField & IRowElement & IElement {
281
+ cols: Int
282
+ defaultValue: String
283
+ defaultValuePath: String
284
+ hidden: Boolean
285
+ input: InputField
286
+ label: String
287
+ name: String!
288
+ path: String!
289
+ labelPath: String
290
+ readonly: Boolean
291
+ multiple: Boolean
292
+ required: Boolean
293
+ requiredCondition: String
294
+ selectOptions: ISelectOptions!
295
+ skipQuery: Boolean
296
+ excludeFromQueryInput: Boolean
297
+ subTitle: String
298
+ title: String
299
+ visibilityCondition: String
300
+ disabledCondition: String
301
+ linkedFields: [String!]
302
+ validation: ChipSelectValidation
303
+ custom: Boolean
304
+ }
305
+
306
+ type CustomField implements IField & IRowElement & IElement {
307
+ cols: Int
308
+ component: String!
309
+ config: JSON
310
+ defaultValue: String
311
+ hidden: Boolean
312
+ label: String
313
+ name: String!
314
+ path: String!
315
+ readonly: Boolean
316
+ required: Boolean
317
+ requiredCondition: String
318
+ skipQuery: Boolean
319
+ excludeFromQueryInput: Boolean
320
+ visibilityCondition: String
321
+ disabledCondition: String
322
+ validation: GenericFieldValidation
323
+ custom: Boolean
324
+ }
325
+
326
+ type StatusChipField implements IField & IRowElement & IElement {
327
+ align: String
328
+ cols: Int
329
+ label: String
330
+ name: String!
331
+ path: String!
332
+ validation: GenericFieldValidation
333
+ custom: Boolean
334
+ }
335
+
336
+ type CheckboxGroupValue {
337
+ label: String!
338
+ path: String!
339
+ skipQuery: Boolean
340
+ excludeFromQueryInput: Boolean
341
+ value: JSON!
342
+ }
343
+
344
+ type CheckboxGroup implements IRowElement & IElement {
345
+ cols: Int
346
+ name: String!
347
+ required: Boolean
348
+ requiredCondition: String
349
+ subTitle: String
350
+ title: String
351
+ values: [CheckboxGroupValue!]!
352
+ visibilityCondition: String
353
+ disabledCondition: String
354
+ custom: Boolean
355
+ }
356
+
357
+ enum FieldValueType {
358
+ Int
359
+ Float
360
+ }
361
+
362
+ type GenericFieldValidation {
363
+ custom : CustomFieldValidation
364
+ }
365
+
366
+ type CustomFieldValidation {
367
+ expression: String
368
+ message: String
369
+ """
370
+ Paths of other fields this expression reads. When one of these fields changes, this
371
+ field's validation is re-triggered so its error state stays in sync without requiring
372
+ the user to re-touch this field directly.
373
+ """
374
+ dependentPaths: [String!]
375
+ }
376
+
377
+ type StringValidationRule {
378
+ message: String
379
+ value: String
380
+ }
381
+
382
+ type IntValidationRule {
383
+ message: String
384
+ value: Int
385
+ }
386
+
387
+ type FloatValidationRule {
388
+ message: String
389
+ value: Float
390
+ }
391
+
392
+ type FormatValidationRule {
393
+ name: String
394
+ description: String
395
+ message: String
396
+ expression: String
397
+ condition: String
398
+ }
399
+
400
+ type InputValidation {
401
+ email: StringValidationRule
402
+ length: IntValidationRule
403
+ format: [FormatValidationRule!]
404
+ min: FloatValidationRule
405
+ max: FloatValidationRule
406
+ custom: CustomFieldValidation
407
+ }
408
+
409
+ type ChipSelectValidation {
410
+ compatibleWith: CompatibleWithRule
411
+ uniqueInList: UniqueInListRule
412
+ custom : CustomFieldValidation
413
+ }
414
+
415
+ type CompatibleWithRule {
416
+ field: String!
417
+ rules: [CompatibleWithRuleEntry!]!
418
+ }
419
+
420
+ type CompatibleWithRuleEntry {
421
+ when: WhenClause!
422
+ allowed: [String!]!
423
+ message: String!
424
+ }
425
+
426
+ type WhenClause {
427
+ equals: String
428
+ in: [String!]
429
+ }
430
+
431
+ type UniqueInListRule {
432
+ listPaths: [String!]!
433
+ itemValuePath: String!
434
+ value: String
435
+ message: String!
436
+ }
437
+
438
+ # see more https://s-yadav.github.io/react-number-format/docs/props
439
+ type PatternMasking {
440
+ dynamic: Boolean
441
+ format: String!
442
+ mask: String
443
+ }
444
+
445
+ # see more https://s-yadav.github.io/react-number-format/docs/props
446
+ type NumericMasking {
447
+ thousandSeparator: String
448
+ decimalSeparator: String
449
+ decimalScale: Number
450
+ fixedDecimalScale: Boolean
451
+ allowNegative: Boolean
452
+ }
453
+
454
+ union FieldMasking = PatternMasking | NumericMasking