@dmptool/types 1.1.2 → 1.2.0

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 (78) hide show
  1. package/README.md +119 -47
  2. package/dist/answers/__tests__/answers.spec.js +20 -28
  3. package/dist/answers/__tests__/usage.spec.d.ts +1 -0
  4. package/dist/answers/__tests__/usage.spec.js +175 -0
  5. package/dist/answers/answer.d.ts +12 -15
  6. package/dist/answers/answer.js +3 -4
  7. package/dist/answers/dateAnswers.d.ts +30 -30
  8. package/dist/answers/dateAnswers.js +6 -5
  9. package/dist/answers/graphQLAnswers.d.ts +25 -25
  10. package/dist/answers/graphQLAnswers.js +4 -4
  11. package/dist/answers/index.d.ts +860 -1088
  12. package/dist/answers/index.js +2 -2
  13. package/dist/answers/numberAnswers.d.ts +41 -41
  14. package/dist/answers/numberAnswers.js +8 -8
  15. package/dist/answers/optionBasedAnswers.d.ts +55 -55
  16. package/dist/answers/optionBasedAnswers.js +10 -10
  17. package/dist/answers/tableAnswers.d.ts +811 -1772
  18. package/dist/answers/tableAnswers.js +12 -8
  19. package/dist/answers/textAnswers.d.ts +44 -44
  20. package/dist/answers/textAnswers.js +8 -8
  21. package/dist/questions/__tests__/graphQLQuestions.spec.js +6 -4
  22. package/dist/questions/__tests__/optionBasedQuestions.spec.js +4 -12
  23. package/dist/questions/__tests__/usage.spec.d.ts +8 -0
  24. package/dist/questions/__tests__/usage.spec.js +312 -0
  25. package/dist/questions/dateQuestions.d.ts +90 -101
  26. package/dist/questions/dateQuestions.js +15 -34
  27. package/dist/questions/graphQLQuestions.d.ts +176 -182
  28. package/dist/questions/graphQLQuestions.js +44 -45
  29. package/dist/questions/index.d.ts +1791 -2170
  30. package/dist/questions/index.js +2 -2
  31. package/dist/questions/numberQuestions.d.ts +126 -142
  32. package/dist/questions/numberQuestions.js +11 -45
  33. package/dist/questions/optionBasedQuestions.d.ts +197 -225
  34. package/dist/questions/optionBasedQuestions.js +24 -88
  35. package/dist/questions/question.d.ts +24 -56
  36. package/dist/questions/question.js +78 -18
  37. package/dist/questions/tableQuestions.d.ts +2637 -2930
  38. package/dist/questions/tableQuestions.js +9 -21
  39. package/dist/questions/textQuestions.d.ts +125 -145
  40. package/dist/questions/textQuestions.js +16 -57
  41. package/dist/schemas/affiliationSearchAnswer.schema.json +9 -12
  42. package/dist/schemas/affiliationSearchQuestion.schema.json +57 -50
  43. package/dist/schemas/anyAnswer.schema.json +228 -237
  44. package/dist/schemas/anyQuestion.schema.json +349 -517
  45. package/dist/schemas/anyTableColumnAnswer.schema.json +93 -106
  46. package/dist/schemas/anyTableColumnQuestion.schema.json +259 -382
  47. package/dist/schemas/booleanAnswer.schema.json +8 -11
  48. package/dist/schemas/booleanQuestion.schema.json +9 -15
  49. package/dist/schemas/checkboxesAnswer.schema.json +13 -14
  50. package/dist/schemas/checkboxesQuestion.schema.json +18 -24
  51. package/dist/schemas/currencyAnswer.schema.json +8 -11
  52. package/dist/schemas/currencyQuestion.schema.json +13 -17
  53. package/dist/schemas/dateAnswer.schema.json +8 -11
  54. package/dist/schemas/dateQuestion.schema.json +9 -15
  55. package/dist/schemas/dateRangeAnswer.schema.json +16 -21
  56. package/dist/schemas/dateRangeQuestion.schema.json +40 -21
  57. package/dist/schemas/emailAnswer.schema.json +8 -11
  58. package/dist/schemas/emailQuestion.schema.json +11 -16
  59. package/dist/schemas/filteredSearchQuestion.schema.json +0 -3
  60. package/dist/schemas/multiselectBoxAnswer.schema.json +13 -14
  61. package/dist/schemas/multiselectBoxQuestion.schema.json +20 -25
  62. package/dist/schemas/numberAnswer.schema.json +8 -11
  63. package/dist/schemas/numberQuestion.schema.json +11 -16
  64. package/dist/schemas/numberRangeAnswer.schema.json +17 -22
  65. package/dist/schemas/numberRangeQuestion.schema.json +22 -21
  66. package/dist/schemas/radioButtonsAnswer.schema.json +8 -11
  67. package/dist/schemas/radioButtonsQuestion.schema.json +18 -24
  68. package/dist/schemas/selectBoxAnswer.schema.json +8 -11
  69. package/dist/schemas/selectBoxQuestion.schema.json +20 -25
  70. package/dist/schemas/tableAnswer.schema.json +337 -343
  71. package/dist/schemas/tableQuestion.schema.json +279 -416
  72. package/dist/schemas/textAnswer.schema.json +8 -11
  73. package/dist/schemas/textAreaAnswer.schema.json +8 -11
  74. package/dist/schemas/textAreaQuestion.schema.json +13 -17
  75. package/dist/schemas/textQuestion.schema.json +9 -15
  76. package/dist/schemas/urlAnswer.schema.json +8 -11
  77. package/dist/schemas/urlQuestion.schema.json +9 -15
  78. package/package.json +1 -1
@@ -21,13 +21,16 @@
21
21
  "type": "string"
22
22
  },
23
23
  "canAddRows": {
24
- "type": "boolean"
24
+ "type": "boolean",
25
+ "default": true
25
26
  },
26
27
  "canRemoveRows": {
27
- "type": "boolean"
28
+ "type": "boolean",
29
+ "default": true
28
30
  },
29
31
  "initialRows": {
30
- "type": "number"
32
+ "type": "number",
33
+ "default": 1
31
34
  },
32
35
  "maxRows": {
33
36
  "type": "number"
@@ -36,32 +39,25 @@
36
39
  "type": "number"
37
40
  }
38
41
  },
39
- "additionalProperties": false
42
+ "additionalProperties": false,
43
+ "default": {}
40
44
  },
41
45
  "meta": {
42
46
  "type": "object",
43
47
  "properties": {
44
48
  "schemaVersion": {
45
49
  "type": "string",
46
- "const": "1.0"
50
+ "default": "1.0"
47
51
  },
48
52
  "title": {
49
- "type": "string",
50
- "const": "Table"
53
+ "type": "string"
51
54
  },
52
55
  "usageDescription": {
53
- "type": "string",
54
- "const": "For questions that require a tabular format."
55
- },
56
- "defaultJSON": {
57
- "type": "string",
58
- "const": "{\"type\":\"table\",\"columns\":[],\"attributes\":{\"canAddRows\":true,\"canRemoveRows\":true,\"initialRows\":1},\"meta\":{\"schemaVersion\":\"1.0\"}}"
56
+ "type": "string"
59
57
  }
60
58
  },
61
- "required": [
62
- "schemaVersion"
63
- ],
64
- "additionalProperties": false
59
+ "additionalProperties": false,
60
+ "default": {}
65
61
  },
66
62
  "columns": {
67
63
  "type": "array",
@@ -69,7 +65,8 @@
69
65
  "type": "object",
70
66
  "properties": {
71
67
  "heading": {
72
- "type": "string"
68
+ "type": "string",
69
+ "default": "Column A"
73
70
  },
74
71
  "content": {
75
72
  "anyOf": [
@@ -93,31 +90,11 @@
93
90
  "$ref": "#/definitions/TableQuestion/properties/attributes/properties/labelTranslationKey"
94
91
  }
95
92
  },
96
- "additionalProperties": false
93
+ "additionalProperties": false,
94
+ "default": {}
97
95
  },
98
96
  "meta": {
99
- "type": "object",
100
- "properties": {
101
- "schemaVersion": {
102
- "$ref": "#/definitions/TableQuestion/properties/meta/properties/schemaVersion"
103
- },
104
- "title": {
105
- "type": "string",
106
- "const": "Affiliation Search"
107
- },
108
- "usageDescription": {
109
- "type": "string",
110
- "const": "For questions that require the user to select from a controlled list of institutions."
111
- },
112
- "defaultJSON": {
113
- "type": "string",
114
- "const": "{\"type\":\"affiliationSearch\",\"attributes\":{},\"meta\":{\"schemaVersion\":\"1.0\"},\"graphQL\":{\"query\":\"query Affiliations($name: String!){affiliations(name: $name) { totalCount nextCursor items {id displayName uri}}}\",\"queryId\":\"useAffiliationsQuery\",\"variables\":[{\"name\":\"term\",\"type\":\"string\",\"label\":\"Search for your institution\",\"minLength\":3,\"labelTranslationKey\":\"SignupPage.institutionHelp\"}],\"answerField\":\"uri\",\"displayFields\":[{\"label\":\"Institution\",\"propertyName\":\"displayName\",\"labelTranslationKey\":\"SignupPage.institution\"}],\"responseField\":\"affiliations.items\"}}"
115
- }
116
- },
117
- "required": [
118
- "schemaVersion"
119
- ],
120
- "additionalProperties": false
97
+ "$ref": "#/definitions/TableQuestion/properties/meta"
121
98
  },
122
99
  "graphQL": {
123
100
  "type": "object",
@@ -128,74 +105,88 @@
128
105
  "type": "object",
129
106
  "properties": {
130
107
  "propertyName": {
131
- "type": "string"
108
+ "type": "string",
109
+ "const": "displayName",
110
+ "default": "displayName"
132
111
  },
133
112
  "label": {
134
- "type": "string"
113
+ "type": "string",
114
+ "default": "Institution"
135
115
  },
136
116
  "labelTranslationKey": {
137
- "type": "string"
117
+ "type": "string",
118
+ "default": "SignupPage.institution"
138
119
  }
139
120
  },
140
- "required": [
141
- "propertyName",
142
- "label"
143
- ],
144
121
  "additionalProperties": false
145
- }
122
+ },
123
+ "default": [
124
+ {}
125
+ ]
146
126
  },
147
127
  "localQueryId": {
148
128
  "type": "string"
149
129
  },
150
130
  "query": {
151
- "type": "string"
131
+ "type": "string",
132
+ "const": "\nquery Affiliations($name: String!){\n affiliations(name: $name) {\n totalCount\n nextCursor\n items {\n id\n displayName\n uri\n }\n }\n}",
133
+ "default": "\nquery Affiliations($name: String!){\n affiliations(name: $name) {\n totalCount\n nextCursor\n items {\n id\n displayName\n uri\n }\n }\n}"
152
134
  },
153
135
  "responseField": {
154
- "type": "string"
136
+ "type": "string",
137
+ "const": "affiliations.items",
138
+ "default": "affiliations.items"
155
139
  },
156
140
  "variables": {
157
141
  "type": "array",
158
142
  "items": {
159
143
  "type": "object",
160
144
  "properties": {
161
- "minLength": {
162
- "type": "number"
163
- },
164
- "label": {
165
- "type": "string"
166
- },
167
- "labelTranslationKey": {
168
- "type": "string"
169
- },
170
145
  "name": {
171
- "type": "string"
146
+ "type": "string",
147
+ "const": "name",
148
+ "default": "name"
172
149
  },
173
150
  "type": {
174
- "type": "string"
151
+ "type": "string",
152
+ "default": "string"
175
153
  },
176
- "defaultValue": {
177
- "type": "string"
154
+ "label": {
155
+ "type": "string",
156
+ "default": "Search for your institution"
157
+ },
158
+ "minLength": {
159
+ "type": "number",
160
+ "const": 3,
161
+ "default": 3
162
+ },
163
+ "labelTranslationKey": {
164
+ "type": "string",
165
+ "default": "SignupPage.institutionHelp"
178
166
  }
179
167
  },
180
- "required": [
181
- "name",
182
- "type"
183
- ],
184
168
  "additionalProperties": false
185
- }
169
+ },
170
+ "default": [
171
+ {}
172
+ ]
173
+ },
174
+ "queryId": {
175
+ "type": "string",
176
+ "default": "useAffiliationsQuery"
177
+ },
178
+ "answerField": {
179
+ "type": "string",
180
+ "const": "uri",
181
+ "default": "uri"
186
182
  }
187
183
  },
188
- "required": [
189
- "displayFields",
190
- "responseField"
191
- ],
192
- "additionalProperties": false
184
+ "additionalProperties": false,
185
+ "default": {}
193
186
  }
194
187
  },
195
188
  "required": [
196
- "type",
197
- "meta",
198
- "graphQL"
189
+ "type"
199
190
  ],
200
191
  "additionalProperties": false
201
192
  },
@@ -219,34 +210,15 @@
219
210
  "$ref": "#/definitions/TableQuestion/properties/attributes/properties/labelTranslationKey"
220
211
  },
221
212
  "checked": {
222
- "type": "boolean"
213
+ "type": "boolean",
214
+ "default": false
223
215
  }
224
216
  },
225
- "additionalProperties": false
217
+ "additionalProperties": false,
218
+ "default": {}
226
219
  },
227
220
  "meta": {
228
- "type": "object",
229
- "properties": {
230
- "schemaVersion": {
231
- "$ref": "#/definitions/TableQuestion/properties/meta/properties/schemaVersion"
232
- },
233
- "title": {
234
- "type": "string",
235
- "const": "Yes/No Field"
236
- },
237
- "usageDescription": {
238
- "type": "string",
239
- "const": "For questions that require a simple Yes/No response."
240
- },
241
- "defaultJSON": {
242
- "type": "string",
243
- "const": "{\n \"attributes\": {\n \"checked\": false\n },\n \"meta\": {\n \"schemaVersion\": \"1.0\"\n }\n}"
244
- }
245
- },
246
- "required": [
247
- "schemaVersion"
248
- ],
249
- "additionalProperties": false
221
+ "$ref": "#/definitions/TableQuestion/properties/meta"
250
222
  }
251
223
  },
252
224
  "required": [
@@ -262,31 +234,11 @@
262
234
  "const": "checkBoxes"
263
235
  },
264
236
  "attributes": {
265
- "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/0/properties/attributes"
237
+ "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/0/properties/attributes",
238
+ "default": {}
266
239
  },
267
240
  "meta": {
268
- "type": "object",
269
- "properties": {
270
- "schemaVersion": {
271
- "$ref": "#/definitions/TableQuestion/properties/meta/properties/schemaVersion"
272
- },
273
- "title": {
274
- "type": "string",
275
- "const": "Check Boxes"
276
- },
277
- "usageDescription": {
278
- "type": "string",
279
- "const": "For multiple choice questions where users can select multiple options."
280
- },
281
- "defaultJSON": {
282
- "type": "string",
283
- "const": "{\n \"type\": \"checkBoxes\",\n \"attributes\": {},\n \"options\": [\n {\n \"label\": \"Option 1\",\n \"value\": \"1\",\n \"checked\": false\n }\n ],\n \"meta\": {\n \"schemaVersion\": \"1.0\"\n }\n}"
284
- }
285
- },
286
- "required": [
287
- "schemaVersion"
288
- ],
289
- "additionalProperties": false
241
+ "$ref": "#/definitions/TableQuestion/properties/meta"
290
242
  },
291
243
  "options": {
292
244
  "type": "array",
@@ -294,26 +246,27 @@
294
246
  "type": "object",
295
247
  "properties": {
296
248
  "label": {
297
- "type": "string"
249
+ "type": "string",
250
+ "default": "Option A"
298
251
  },
299
252
  "value": {
300
- "type": "string"
253
+ "type": "string",
254
+ "default": "a"
301
255
  },
302
256
  "checked": {
303
- "type": "boolean"
257
+ "type": "boolean",
258
+ "default": false
304
259
  }
305
260
  },
306
- "required": [
307
- "label",
308
- "value"
309
- ],
310
261
  "additionalProperties": false
311
- }
262
+ },
263
+ "default": [
264
+ {}
265
+ ]
312
266
  }
313
267
  },
314
268
  "required": [
315
- "type",
316
- "options"
269
+ "type"
317
270
  ],
318
271
  "additionalProperties": false
319
272
  },
@@ -340,40 +293,23 @@
340
293
  "type": "number"
341
294
  },
342
295
  "min": {
343
- "type": "number"
296
+ "type": "number",
297
+ "default": 0
344
298
  },
345
299
  "step": {
346
- "type": "number"
300
+ "type": "number",
301
+ "default": 1
347
302
  },
348
303
  "denomination": {
349
- "type": "string"
304
+ "type": "string",
305
+ "default": "USD"
350
306
  }
351
307
  },
352
- "additionalProperties": false
308
+ "additionalProperties": false,
309
+ "default": {}
353
310
  },
354
311
  "meta": {
355
- "type": "object",
356
- "properties": {
357
- "schemaVersion": {
358
- "$ref": "#/definitions/TableQuestion/properties/meta/properties/schemaVersion"
359
- },
360
- "title": {
361
- "type": "string",
362
- "const": "Currency Field"
363
- },
364
- "usageDescription": {
365
- "type": "string",
366
- "const": "For questions that require a monetary amount (e.g. Cost or Budget)."
367
- },
368
- "defaultJSON": {
369
- "type": "string",
370
- "const": "{\n \"type\": \"currency\",\n \"attributes\": {\n \"denomination\": \"USD\",\n \"min\": 0,\n \"step\": 1\n },\n \"meta\": {\n \"schemaVersion\": \"1.0\"\n }\n}"
371
- }
372
- },
373
- "required": [
374
- "schemaVersion"
375
- ],
376
- "additionalProperties": false
312
+ "$ref": "#/definitions/TableQuestion/properties/meta"
377
313
  }
378
314
  },
379
315
  "required": [
@@ -407,34 +343,15 @@
407
343
  "type": "string"
408
344
  },
409
345
  "step": {
410
- "type": "number"
346
+ "type": "number",
347
+ "default": 1
411
348
  }
412
349
  },
413
- "additionalProperties": false
350
+ "additionalProperties": false,
351
+ "default": {}
414
352
  },
415
353
  "meta": {
416
- "type": "object",
417
- "properties": {
418
- "schemaVersion": {
419
- "$ref": "#/definitions/TableQuestion/properties/meta/properties/schemaVersion"
420
- },
421
- "title": {
422
- "type": "string",
423
- "const": "Date Field"
424
- },
425
- "usageDescription": {
426
- "type": "string",
427
- "const": "For questions that require a date."
428
- },
429
- "defaultJSON": {
430
- "type": "string",
431
- "const": "{\"type\":\"date\",\"attributes\":{\"step\":1},\"meta\":{\"schemaVersion\":\"1.0\"}}"
432
- }
433
- },
434
- "required": [
435
- "schemaVersion"
436
- ],
437
- "additionalProperties": false
354
+ "$ref": "#/definitions/TableQuestion/properties/meta"
438
355
  }
439
356
  },
440
357
  "required": [
@@ -450,48 +367,74 @@
450
367
  "const": "dateRange"
451
368
  },
452
369
  "attributes": {
453
- "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/0/properties/attributes"
370
+ "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/0/properties/attributes",
371
+ "default": {}
454
372
  },
455
373
  "meta": {
456
- "type": "object",
457
- "properties": {
458
- "schemaVersion": {
459
- "$ref": "#/definitions/TableQuestion/properties/meta/properties/schemaVersion"
460
- },
461
- "title": {
462
- "type": "string",
463
- "const": "Date Range"
464
- },
465
- "usageDescription": {
466
- "type": "string",
467
- "const": "For questions that require a date range (e.g. From/To, Start/End)"
468
- },
469
- "defaultJSON": {
470
- "type": "string",
471
- "const": "{\"type\":\"dateRange\",\"attributes\":{},\"columns\":{\"start\":{\"label\":\"Start\",\"step\":1},\"end\":{\"label\":\"End\",\"step\":1}}}"
472
- }
473
- },
474
- "required": [
475
- "schemaVersion"
476
- ],
477
- "additionalProperties": false
374
+ "$ref": "#/definitions/TableQuestion/properties/meta"
478
375
  },
479
376
  "columns": {
480
377
  "type": "object",
481
378
  "properties": {
482
379
  "start": {
483
- "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/4/properties/attributes"
380
+ "type": "object",
381
+ "properties": {
382
+ "label": {
383
+ "type": "string",
384
+ "default": "From"
385
+ },
386
+ "help": {
387
+ "$ref": "#/definitions/TableQuestion/properties/attributes/properties/help"
388
+ },
389
+ "labelTranslationKey": {
390
+ "$ref": "#/definitions/TableQuestion/properties/attributes/properties/labelTranslationKey"
391
+ },
392
+ "max": {
393
+ "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/4/properties/attributes/properties/max"
394
+ },
395
+ "min": {
396
+ "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/4/properties/attributes/properties/min"
397
+ },
398
+ "step": {
399
+ "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/4/properties/attributes/properties/step"
400
+ }
401
+ },
402
+ "additionalProperties": false,
403
+ "default": {}
484
404
  },
485
405
  "end": {
486
- "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/4/properties/attributes"
406
+ "type": "object",
407
+ "properties": {
408
+ "label": {
409
+ "type": "string",
410
+ "default": "To"
411
+ },
412
+ "help": {
413
+ "$ref": "#/definitions/TableQuestion/properties/attributes/properties/help"
414
+ },
415
+ "labelTranslationKey": {
416
+ "$ref": "#/definitions/TableQuestion/properties/attributes/properties/labelTranslationKey"
417
+ },
418
+ "max": {
419
+ "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/4/properties/attributes/properties/max"
420
+ },
421
+ "min": {
422
+ "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/4/properties/attributes/properties/min"
423
+ },
424
+ "step": {
425
+ "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/4/properties/attributes/properties/step"
426
+ }
427
+ },
428
+ "additionalProperties": false,
429
+ "default": {}
487
430
  }
488
431
  },
489
- "additionalProperties": false
432
+ "additionalProperties": false,
433
+ "default": {}
490
434
  }
491
435
  },
492
436
  "required": [
493
- "type",
494
- "columns"
437
+ "type"
495
438
  ],
496
439
  "additionalProperties": false
497
440
  },
@@ -515,7 +458,8 @@
515
458
  "$ref": "#/definitions/TableQuestion/properties/attributes/properties/labelTranslationKey"
516
459
  },
517
460
  "maxLength": {
518
- "type": "number"
461
+ "type": "number",
462
+ "default": 255
519
463
  },
520
464
  "minLength": {
521
465
  "type": "number"
@@ -524,34 +468,15 @@
524
468
  "type": "string"
525
469
  },
526
470
  "multiple": {
527
- "type": "boolean"
471
+ "type": "boolean",
472
+ "default": false
528
473
  }
529
474
  },
530
- "additionalProperties": false
475
+ "additionalProperties": false,
476
+ "default": {}
531
477
  },
532
478
  "meta": {
533
- "type": "object",
534
- "properties": {
535
- "schemaVersion": {
536
- "$ref": "#/definitions/TableQuestion/properties/meta/properties/schemaVersion"
537
- },
538
- "title": {
539
- "type": "string",
540
- "const": "Email Field"
541
- },
542
- "usageDescription": {
543
- "type": "string",
544
- "const": "For questions that require require email address(es)."
545
- },
546
- "defaultJSON": {
547
- "type": "string",
548
- "const": "{\"type\":\"email\",\"attributes\":{\"maxLength\":255,\"minLength\":1,\"multiple\":false},\"meta\":{\"schemaVersion\":\"1.0\"}}"
549
- }
550
- },
551
- "required": [
552
- "schemaVersion"
553
- ],
554
- "additionalProperties": false
479
+ "$ref": "#/definitions/TableQuestion/properties/meta"
555
480
  }
556
481
  },
557
482
  "required": [
@@ -579,40 +504,91 @@
579
504
  "$ref": "#/definitions/TableQuestion/properties/attributes/properties/labelTranslationKey"
580
505
  },
581
506
  "multiple": {
582
- "type": "boolean"
507
+ "type": "boolean",
508
+ "default": true
583
509
  }
584
510
  },
585
- "additionalProperties": false
511
+ "additionalProperties": false,
512
+ "default": {}
586
513
  },
587
514
  "meta": {
515
+ "$ref": "#/definitions/TableQuestion/properties/meta"
516
+ },
517
+ "graphQL": {
588
518
  "type": "object",
589
519
  "properties": {
590
- "schemaVersion": {
591
- "$ref": "#/definitions/TableQuestion/properties/meta/properties/schemaVersion"
520
+ "displayFields": {
521
+ "type": "array",
522
+ "items": {
523
+ "type": "object",
524
+ "properties": {
525
+ "propertyName": {
526
+ "type": "string",
527
+ "default": "id"
528
+ },
529
+ "label": {
530
+ "type": "string",
531
+ "default": "Id"
532
+ },
533
+ "labelTranslationKey": {
534
+ "type": "string"
535
+ }
536
+ },
537
+ "additionalProperties": false
538
+ },
539
+ "default": [
540
+ {}
541
+ ]
592
542
  },
593
- "title": {
594
- "type": "string",
595
- "const": "Not yet implemented"
543
+ "localQueryId": {
544
+ "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/0/properties/graphQL/properties/localQueryId"
596
545
  },
597
- "usageDescription": {
546
+ "query": {
598
547
  "type": "string"
599
548
  },
600
- "defaultJSON": {
601
- "type": "string"
549
+ "responseField": {
550
+ "type": "string",
551
+ "default": "query.items"
552
+ },
553
+ "variables": {
554
+ "type": "array",
555
+ "items": {
556
+ "type": "object",
557
+ "properties": {
558
+ "minLength": {
559
+ "type": "number"
560
+ },
561
+ "label": {
562
+ "type": "string"
563
+ },
564
+ "labelTranslationKey": {
565
+ "type": "string"
566
+ },
567
+ "name": {
568
+ "type": "string",
569
+ "default": "search"
570
+ },
571
+ "type": {
572
+ "type": "string",
573
+ "default": "string"
574
+ },
575
+ "defaultValue": {
576
+ "type": "string"
577
+ }
578
+ },
579
+ "additionalProperties": false
580
+ },
581
+ "default": [
582
+ {}
583
+ ]
602
584
  }
603
585
  },
604
- "required": [
605
- "schemaVersion"
606
- ],
607
- "additionalProperties": false
608
- },
609
- "graphQL": {
610
- "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/0/properties/graphQL"
586
+ "additionalProperties": false,
587
+ "default": {}
611
588
  }
612
589
  },
613
590
  "required": [
614
- "type",
615
- "graphQL"
591
+ "type"
616
592
  ],
617
593
  "additionalProperties": false
618
594
  },
@@ -645,31 +621,11 @@
645
621
  "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/3/properties/attributes/properties/step"
646
622
  }
647
623
  },
648
- "additionalProperties": false
624
+ "additionalProperties": false,
625
+ "default": {}
649
626
  },
650
627
  "meta": {
651
- "type": "object",
652
- "properties": {
653
- "schemaVersion": {
654
- "$ref": "#/definitions/TableQuestion/properties/meta/properties/schemaVersion"
655
- },
656
- "title": {
657
- "type": "string",
658
- "const": "Number Field"
659
- },
660
- "usageDescription": {
661
- "type": "string",
662
- "const": "For questions that require a single numeric value."
663
- },
664
- "defaultJSON": {
665
- "type": "string",
666
- "const": "{\n \"type\": \"number\",\n \"attributes\": {\n \"min\": 0,\n \"step\": 1\n },\n \"meta\": {\n \"schemaVersion\": \"1.0\"\n }\n}"
667
- }
668
- },
669
- "required": [
670
- "schemaVersion"
671
- ],
672
- "additionalProperties": false
628
+ "$ref": "#/definitions/TableQuestion/properties/meta"
673
629
  }
674
630
  },
675
631
  "required": [
@@ -685,31 +641,11 @@
685
641
  "const": "radioButtons"
686
642
  },
687
643
  "attributes": {
688
- "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/0/properties/attributes"
644
+ "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/0/properties/attributes",
645
+ "default": {}
689
646
  },
690
647
  "meta": {
691
- "type": "object",
692
- "properties": {
693
- "schemaVersion": {
694
- "$ref": "#/definitions/TableQuestion/properties/meta/properties/schemaVersion"
695
- },
696
- "title": {
697
- "type": "string",
698
- "const": "Radio Buttons"
699
- },
700
- "usageDescription": {
701
- "type": "string",
702
- "const": "For multiple choice questions where users select just one option."
703
- },
704
- "defaultJSON": {
705
- "type": "string",
706
- "const": "{\n \"type\": \"radioButtons\",\n \"attributes\": {},\n \"options\": [\n {\n \"label\": \"Option 1\",\n \"value\": \"option1\",\n \"selected\": false\n }\n ],\n \"meta\": {\n \"schemaVersion\": \"1.0\"\n }\n}"
707
- }
708
- },
709
- "required": [
710
- "schemaVersion"
711
- ],
712
- "additionalProperties": false
648
+ "$ref": "#/definitions/TableQuestion/properties/meta"
713
649
  },
714
650
  "options": {
715
651
  "type": "array",
@@ -723,20 +659,19 @@
723
659
  "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/2/properties/options/items/properties/value"
724
660
  },
725
661
  "selected": {
726
- "type": "boolean"
662
+ "type": "boolean",
663
+ "default": false
727
664
  }
728
665
  },
729
- "required": [
730
- "label",
731
- "value"
732
- ],
733
666
  "additionalProperties": false
734
- }
667
+ },
668
+ "default": [
669
+ {}
670
+ ]
735
671
  }
736
672
  },
737
673
  "required": [
738
- "type",
739
- "options"
674
+ "type"
740
675
  ],
741
676
  "additionalProperties": false
742
677
  },
@@ -767,43 +702,26 @@
767
702
  "required": [
768
703
  "multiple"
769
704
  ],
770
- "additionalProperties": false
705
+ "additionalProperties": false,
706
+ "default": {
707
+ "multiple": false
708
+ }
771
709
  },
772
710
  "meta": {
773
- "type": "object",
774
- "properties": {
775
- "schemaVersion": {
776
- "$ref": "#/definitions/TableQuestion/properties/meta/properties/schemaVersion"
777
- },
778
- "title": {
779
- "type": "string",
780
- "const": "Select Box"
781
- },
782
- "usageDescription": {
783
- "type": "string",
784
- "const": "For questions where users select one option from a list."
785
- },
786
- "defaultJSON": {
787
- "type": "string",
788
- "const": "{\n \"type\": \"selectBox\",\n \"attributes\": {\n \"multiple\": false\n },\n \"options\": [\n {\n \"label\": \"Option 1\",\n \"value\": \"option1\"\n }\n ],\n \"meta\": {\n \"schemaVersion\": \"1.0\"\n }\n}"
789
- }
790
- },
791
- "required": [
792
- "schemaVersion"
793
- ],
794
- "additionalProperties": false
711
+ "$ref": "#/definitions/TableQuestion/properties/meta"
795
712
  },
796
713
  "options": {
797
714
  "type": "array",
798
715
  "items": {
799
716
  "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/9/properties/options/items"
800
- }
717
+ },
718
+ "default": [
719
+ {}
720
+ ]
801
721
  }
802
722
  },
803
723
  "required": [
804
- "type",
805
- "attributes",
806
- "options"
724
+ "type"
807
725
  ],
808
726
  "additionalProperties": false
809
727
  },
@@ -827,7 +745,8 @@
827
745
  "$ref": "#/definitions/TableQuestion/properties/attributes/properties/labelTranslationKey"
828
746
  },
829
747
  "cols": {
830
- "type": "number"
748
+ "type": "number",
749
+ "default": 20
831
750
  },
832
751
  "maxLength": {
833
752
  "type": "number"
@@ -836,37 +755,19 @@
836
755
  "type": "number"
837
756
  },
838
757
  "rows": {
839
- "type": "number"
758
+ "type": "number",
759
+ "default": 2
840
760
  },
841
761
  "asRichText": {
842
- "type": "boolean"
762
+ "type": "boolean",
763
+ "default": true
843
764
  }
844
765
  },
845
- "additionalProperties": false
766
+ "additionalProperties": false,
767
+ "default": {}
846
768
  },
847
769
  "meta": {
848
- "type": "object",
849
- "properties": {
850
- "schemaVersion": {
851
- "$ref": "#/definitions/TableQuestion/properties/meta/properties/schemaVersion"
852
- },
853
- "title": {
854
- "type": "string",
855
- "const": "Text Area"
856
- },
857
- "usageDescription": {
858
- "type": "string",
859
- "const": "For questions that require longer answers, you can select formatting options too."
860
- },
861
- "defaultJSON": {
862
- "type": "string",
863
- "const": "{\"type\":\"textArea\",\"attributes\":{\"cols\":20,\"rows\":2,\"asRichText\":true},\"meta\":{\"schemaVersion\":\"1.0\"}}"
864
- }
865
- },
866
- "required": [
867
- "schemaVersion"
868
- ],
869
- "additionalProperties": false
770
+ "$ref": "#/definitions/TableQuestion/properties/meta"
870
771
  }
871
772
  },
872
773
  "required": [
@@ -903,31 +804,11 @@
903
804
  "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/6/properties/attributes/properties/pattern"
904
805
  }
905
806
  },
906
- "additionalProperties": false
807
+ "additionalProperties": false,
808
+ "default": {}
907
809
  },
908
810
  "meta": {
909
- "type": "object",
910
- "properties": {
911
- "schemaVersion": {
912
- "$ref": "#/definitions/TableQuestion/properties/meta/properties/schemaVersion"
913
- },
914
- "title": {
915
- "type": "string",
916
- "const": "Text Field"
917
- },
918
- "usageDescription": {
919
- "type": "string",
920
- "const": "For questions that require short, simple answers."
921
- },
922
- "defaultJSON": {
923
- "type": "string",
924
- "const": "{\"type\":\"text\",\"attributes\":{\"maxLength\":255},\"meta\":{\"schemaVersion\":\"1.0\"}}"
925
- }
926
- },
927
- "required": [
928
- "schemaVersion"
929
- ],
930
- "additionalProperties": false
811
+ "$ref": "#/definitions/TableQuestion/properties/meta"
931
812
  }
932
813
  },
933
814
  "required": [
@@ -943,31 +824,11 @@
943
824
  "const": "url"
944
825
  },
945
826
  "attributes": {
946
- "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/12/properties/attributes"
827
+ "$ref": "#/definitions/TableQuestion/properties/columns/items/properties/content/anyOf/12/properties/attributes",
828
+ "default": {}
947
829
  },
948
830
  "meta": {
949
- "type": "object",
950
- "properties": {
951
- "schemaVersion": {
952
- "$ref": "#/definitions/TableQuestion/properties/meta/properties/schemaVersion"
953
- },
954
- "title": {
955
- "type": "string",
956
- "const": "URL Field"
957
- },
958
- "usageDescription": {
959
- "type": "string",
960
- "const": "For questions that require a website, DOI or other URL."
961
- },
962
- "defaultJSON": {
963
- "type": "string",
964
- "const": "{\"type\":\"url\",\"attributes\":{\"maxLength\":255},\"meta\":{\"schemaVersion\":\"1.0\"}}"
965
- }
966
- },
967
- "required": [
968
- "schemaVersion"
969
- ],
970
- "additionalProperties": false
831
+ "$ref": "#/definitions/TableQuestion/properties/meta"
971
832
  }
972
833
  },
973
834
  "required": [
@@ -975,19 +836,21 @@
975
836
  ],
976
837
  "additionalProperties": false
977
838
  }
978
- ]
839
+ ],
840
+ "default": {
841
+ "type": "textArea"
842
+ }
979
843
  }
980
844
  },
981
- "required": [
982
- "content"
983
- ],
984
845
  "additionalProperties": false
985
- }
846
+ },
847
+ "default": [
848
+ {}
849
+ ]
986
850
  }
987
851
  },
988
852
  "required": [
989
- "type",
990
- "columns"
853
+ "type"
991
854
  ],
992
855
  "additionalProperties": false
993
856
  }