@docupace/ihub-config 1.1.28 → 1.1.30

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