@truedat/qx 8.10.2 → 8.10.4

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 (61) hide show
  1. package/package.json +3 -3
  2. package/src/components/QxRoutes.js +8 -7
  3. package/src/components/__tests__/QxRoutes.spec.js +2 -1
  4. package/src/components/__tests__/__fixtures__/helper.js +13 -0
  5. package/src/components/__tests__/__snapshots__/QxRoutes.spec.js.snap +1 -1
  6. package/src/components/common/ClauseViewer.js +52 -8
  7. package/src/components/common/DescriptionInput.js +9 -34
  8. package/src/components/common/TypeSelector.js +20 -10
  9. package/src/components/common/__tests__/ClauseViewer.spec.js +150 -0
  10. package/src/components/common/__tests__/DescriptionInput.spec.js +2 -5
  11. package/src/components/common/__tests__/__snapshots__/DescriptionInput.spec.js.snap +7 -10
  12. package/src/components/common/expressions/Clauses.js +22 -17
  13. package/src/components/common/expressions/Condition.js +201 -102
  14. package/src/components/common/expressions/Expression.js +17 -23
  15. package/src/components/common/expressions/FunctionSelector.js +3 -3
  16. package/src/components/common/expressions/ShapeSelector.js +1 -1
  17. package/src/components/common/expressions/__tests__/Clauses.spec.js +1 -1
  18. package/src/components/common/expressions/__tests__/Condition.spec.js +83 -26
  19. package/src/components/common/expressions/__tests__/ParamSelector.spec.js +1 -1
  20. package/src/components/common/expressions/__tests__/__snapshots__/Clauses.spec.js.snap +18 -22
  21. package/src/components/common/expressions/__tests__/__snapshots__/Condition.spec.js.snap +215 -216
  22. package/src/components/common/expressions/__tests__/__snapshots__/ConstantSelector.spec.js.snap +6 -10
  23. package/src/components/common/expressions/__tests__/__snapshots__/Expression.spec.js.snap +630 -654
  24. package/src/components/common/expressions/__tests__/__snapshots__/FunctionArgs.spec.js.snap +193 -201
  25. package/src/components/common/expressions/__tests__/__snapshots__/FunctionSelector.spec.js.snap +450 -466
  26. package/src/components/common/expressions/__tests__/__snapshots__/ShapeSelector.spec.js.snap +34 -34
  27. package/src/components/common/expressions/constantInputs/AnySelector.js +1 -0
  28. package/src/components/common/expressions/constantInputs/__tests__/__snapshots__/AnySelector.spec.js.snap +15 -15
  29. package/src/components/dataViews/__tests__/__snapshots__/AdvancedDataViewEditor.spec.js.snap +378 -406
  30. package/src/components/dataViews/__tests__/__snapshots__/DataViewSummary.spec.js.snap +6 -6
  31. package/src/components/dataViews/__tests__/__snapshots__/Queryable.spec.js.snap +489 -577
  32. package/src/components/dataViews/__tests__/__snapshots__/Queryables.spec.js.snap +400 -476
  33. package/src/components/dataViews/advancedForm/Queryable.js +56 -64
  34. package/src/components/dataViews/advancedForm/Queryables.js +11 -2
  35. package/src/components/dataViews/queryableProperties/Join.js +16 -6
  36. package/src/components/dataViews/queryableProperties/__tests__/__snapshots__/Join.spec.js.snap +0 -28
  37. package/src/components/dataViews/queryableProperties/__tests__/__snapshots__/Select.spec.js.snap +270 -282
  38. package/src/components/dataViews/queryableProperties/__tests__/__snapshots__/SelectField.spec.js.snap +172 -180
  39. package/src/components/dataViews/simpleForm/DatasetForm.js +4 -0
  40. package/src/components/dataViews/simpleForm/FormQueryable.js +49 -53
  41. package/src/components/dataViews/summary/Where.js +3 -2
  42. package/src/components/functions/FunctionEdit.js +92 -0
  43. package/src/components/functions/FunctionEditor.js +32 -10
  44. package/src/components/functions/FunctionParams.js +54 -61
  45. package/src/components/functions/FunctionsList.js +213 -0
  46. package/src/components/functions/__tests__/FunctionEdit.spec.js +168 -0
  47. package/src/components/functions/__tests__/FunctionParams.spec.js +1 -8
  48. package/src/components/functions/__tests__/FunctionsList.spec.js +62 -0
  49. package/src/components/functions/__tests__/__snapshots__/FunctionEditor.spec.js.snap +553 -469
  50. package/src/components/functions/__tests__/__snapshots__/FunctionParams.spec.js.snap +139 -161
  51. package/src/components/functions/__tests__/__snapshots__/FunctionsList.spec.js.snap +588 -0
  52. package/src/components/qualityControls/__tests__/NewQualityControl.spec.js +4 -0
  53. package/src/components/qualityControls/__tests__/QualityControlEditor.spec.js +8 -1
  54. package/src/components/qualityControls/__tests__/__snapshots__/EditQualityControl.spec.js.snap +109 -118
  55. package/src/components/qualityControls/__tests__/__snapshots__/NewDraftQualityControl.spec.js.snap +109 -118
  56. package/src/components/qualityControls/__tests__/__snapshots__/QualityControlEditor.spec.js.snap +471 -468
  57. package/src/hooks/useFunctions.js +6 -0
  58. package/src/styles/Expression.less +39 -6
  59. package/src/components/functions/Functions.js +0 -143
  60. package/src/components/functions/__tests__/Functions.spec.js +0 -56
  61. package/src/components/functions/__tests__/__snapshots__/Functions.spec.js.snap +0 -85
@@ -37,36 +37,32 @@ exports[`<Clauses /> matches the latest snapshot with content 1`] = `
37
37
  <label>
38
38
  Clause
39
39
  </label>
40
- <div
41
- class="ui segment"
42
- >
43
- <div
44
- class="clause-and-group"
45
- />
46
- <div
47
- class="ui hidden divider"
48
- />
40
+ <div>
49
41
  <div
50
- class="ui horizontal divider"
42
+ class="ui segment"
51
43
  >
52
44
  <div
53
- class="ui medium basic buttons"
45
+ class="ui horizontal divider"
54
46
  >
55
- <button
56
- class="ui button"
47
+ <div
48
+ class="ui medium basic buttons"
57
49
  >
58
- <i
59
- aria-hidden="true"
60
- class="plus icon"
61
- />
62
- addExpression
63
- </button>
50
+ <button
51
+ class="ui button"
52
+ >
53
+ <i
54
+ aria-hidden="true"
55
+ class="plus icon"
56
+ />
57
+ addExpression
58
+ </button>
59
+ </div>
64
60
  </div>
65
61
  </div>
62
+ <div
63
+ class="ui horizontal divider"
64
+ />
66
65
  </div>
67
- <div
68
- class="ui horizontal divider"
69
- />
70
66
  <div
71
67
  class="ui horizontal divider"
72
68
  >
@@ -2,325 +2,324 @@
2
2
 
3
3
  exports[`<Condition /> matches the latest snapshot 1`] = `
4
4
  <div>
5
- <div
6
- class="ui grid condition-row"
7
- >
5
+ <div>
8
6
  <div
9
- class="six wide column"
7
+ class="condition-row"
10
8
  >
11
9
  <div
12
- class="ui grid"
10
+ class="condition-fields"
13
11
  >
14
12
  <div
15
- class="sixteen wide column"
13
+ class="condition-arg-field"
16
14
  >
17
15
  <div
18
16
  class="expression-container"
19
17
  >
20
18
  <div
21
- aria-expanded="false"
22
- class="ui top left pointing dropdown"
23
- role="listbox"
24
- tabindex="0"
19
+ class="expression-content"
25
20
  >
26
21
  <div
27
- class="shape-selector-trigger"
28
- >
29
- f(x)
30
- </div>
31
- <div
32
- class="menu transition"
22
+ aria-expanded="false"
23
+ class="ui top left pointing dropdown"
24
+ role="listbox"
25
+ tabindex="0"
33
26
  >
34
27
  <div
35
- aria-checked="false"
36
- aria-selected="false"
37
- class="item"
38
- role="option"
39
- style="pointer-events: all;"
28
+ class="shape-selector-trigger"
29
+ >
30
+ f(x)
31
+ </div>
32
+ <div
33
+ class="menu transition"
40
34
  >
41
35
  <div
42
- class="text flex-center"
36
+ aria-checked="true"
37
+ aria-selected="true"
38
+ class="active selected item"
39
+ role="option"
40
+ style="pointer-events: all;"
43
41
  >
44
- <small
45
- style="margin-right: 5px;"
42
+ <div
43
+ class="text flex-center"
46
44
  >
47
- <b>
48
- <code>
49
- [π]
50
- </code>
51
- </b>
52
- </small>
53
- functions.expression.shape.constant
45
+ <small
46
+ style="margin-right: 5px;"
47
+ >
48
+ <b>
49
+ <code>
50
+ f(x)
51
+ </code>
52
+ </b>
53
+ </small>
54
+ functions.expression.shape.function
55
+ </div>
54
56
  </div>
55
- </div>
56
- <div
57
- aria-checked="true"
58
- aria-selected="true"
59
- class="active selected item"
60
- role="option"
61
- style="pointer-events: all;"
62
- >
63
57
  <div
64
- class="text flex-center"
58
+ aria-checked="false"
59
+ aria-selected="false"
60
+ class="item"
61
+ role="option"
62
+ style="pointer-events: all;"
65
63
  >
66
- <small
67
- style="margin-right: 5px;"
64
+ <div
65
+ class="text flex-center"
68
66
  >
69
- <b>
70
- <code>
71
- f(x)
72
- </code>
73
- </b>
74
- </small>
75
- functions.expression.shape.function
67
+ <small
68
+ style="margin-right: 5px;"
69
+ >
70
+ <b>
71
+ <code>
72
+ [π]
73
+ </code>
74
+ </b>
75
+ </small>
76
+ functions.expression.shape.constant
77
+ </div>
76
78
  </div>
77
79
  </div>
78
80
  </div>
79
- </div>
80
- <div
81
- class="accordion ui fluid no-margin"
82
- >
83
81
  <div
84
- class="active title no-padding"
82
+ class="accordion ui fluid no-margin"
85
83
  >
86
84
  <div
87
- class="flex-center"
85
+ class="active title no-padding"
88
86
  >
89
- <i
90
- aria-hidden="true"
91
- class="dropdown icon"
92
- />
93
87
  <div
94
- class="sixteen wide field"
88
+ class="flex-center"
95
89
  >
90
+ <i
91
+ aria-hidden="true"
92
+ class="dropdown icon"
93
+ />
96
94
  <div
97
- aria-expanded="false"
98
- class="ui fluid search selection dropdown"
99
- role="combobox"
95
+ class="sixteen wide field"
100
96
  >
101
- <input
102
- aria-autocomplete="list"
103
- autocomplete="off"
104
- class="search"
105
- tabindex="0"
106
- type="text"
107
- value=""
108
- />
109
97
  <div
110
- aria-atomic="true"
111
- aria-live="polite"
112
- class="divider text"
113
- role="alert"
114
- >
115
- functions.form.expression.function.placeholder
116
- </div>
117
- <i
118
- aria-hidden="true"
119
- class="dropdown icon"
120
- />
121
- <div
122
- class="menu transition"
123
- role="listbox"
98
+ aria-expanded="false"
99
+ class="ui fluid search selection dropdown"
100
+ role="combobox"
124
101
  >
102
+ <input
103
+ aria-autocomplete="list"
104
+ autocomplete="off"
105
+ class="search"
106
+ tabindex="0"
107
+ type="text"
108
+ value=""
109
+ />
125
110
  <div
126
- class="message"
111
+ aria-atomic="true"
112
+ aria-live="polite"
113
+ class="divider text"
114
+ role="alert"
127
115
  >
128
- No results found.
116
+ functions.form.expression.function.placeholder
117
+ </div>
118
+ <i
119
+ aria-hidden="true"
120
+ class="dropdown icon"
121
+ />
122
+ <div
123
+ class="menu transition"
124
+ role="listbox"
125
+ >
126
+ <div
127
+ class="message"
128
+ >
129
+ No results found.
130
+ </div>
129
131
  </div>
130
132
  </div>
131
133
  </div>
132
134
  </div>
133
135
  </div>
136
+ <div
137
+ class="content active no-padding"
138
+ />
134
139
  </div>
135
- <div
136
- class="content active no-padding"
137
- />
138
140
  </div>
139
141
  </div>
140
142
  </div>
141
- </div>
142
- </div>
143
- <div
144
- class="three wide column"
145
- >
146
- <div
147
- class="flex-justify-center"
148
- >
149
143
  <div
150
- class="field"
144
+ class="condition-operator-field"
151
145
  >
152
146
  <div
153
- aria-expanded="false"
154
- class="ui fluid top left pointing dropdown"
155
- role="listbox"
156
- tabindex="0"
147
+ class="field"
157
148
  >
158
149
  <div
159
- class="condition-operator-trigger"
160
- >
161
- <span>
162
- expression.condition.selectFunction
163
- </span>
164
- </div>
165
- <div
166
- class="menu transition"
150
+ aria-expanded="false"
151
+ class="ui fluid scrolling top left pointing dropdown"
152
+ role="listbox"
153
+ tabindex="0"
167
154
  >
168
155
  <div
169
- aria-checked="false"
170
- aria-selected="true"
171
- class="selected item"
172
- role="option"
173
- style="pointer-events: all;"
156
+ class="condition-operator-trigger"
174
157
  >
175
- <span
176
- class="text"
177
- >
178
- expression.condition.customExpression
158
+ <span>
159
+ expression.condition.selectFunction
179
160
  </span>
180
161
  </div>
162
+ <div
163
+ class="menu transition"
164
+ >
165
+ <div
166
+ class="ui fluid left icon input search"
167
+ >
168
+ <input
169
+ type="text"
170
+ value=""
171
+ />
172
+ <i
173
+ aria-hidden="true"
174
+ class="search icon"
175
+ />
176
+ </div>
177
+ <div
178
+ class="divider"
179
+ />
180
+ </div>
181
181
  </div>
182
182
  </div>
183
183
  </div>
184
- </div>
185
- </div>
186
- <div
187
- class="six wide column"
188
- >
189
- <div
190
- class="ui grid"
191
- >
192
184
  <div
193
- class="sixteen wide column"
185
+ class="condition-arg-field"
194
186
  >
195
187
  <div
196
188
  class="expression-container"
197
189
  >
198
190
  <div
199
- aria-expanded="false"
200
- class="ui top left pointing dropdown"
201
- role="listbox"
202
- tabindex="0"
191
+ class="expression-content"
203
192
  >
204
193
  <div
205
- class="shape-selector-trigger"
206
- >
207
- f(x)
208
- </div>
209
- <div
210
- class="menu transition"
194
+ aria-expanded="false"
195
+ class="ui top left pointing dropdown"
196
+ role="listbox"
197
+ tabindex="0"
211
198
  >
212
199
  <div
213
- aria-checked="false"
214
- aria-selected="false"
215
- class="item"
216
- role="option"
217
- style="pointer-events: all;"
200
+ class="shape-selector-trigger"
201
+ >
202
+ f(x)
203
+ </div>
204
+ <div
205
+ class="menu transition"
218
206
  >
219
207
  <div
220
- class="text flex-center"
208
+ aria-checked="true"
209
+ aria-selected="true"
210
+ class="active selected item"
211
+ role="option"
212
+ style="pointer-events: all;"
221
213
  >
222
- <small
223
- style="margin-right: 5px;"
214
+ <div
215
+ class="text flex-center"
224
216
  >
225
- <b>
226
- <code>
227
- [π]
228
- </code>
229
- </b>
230
- </small>
231
- functions.expression.shape.constant
217
+ <small
218
+ style="margin-right: 5px;"
219
+ >
220
+ <b>
221
+ <code>
222
+ f(x)
223
+ </code>
224
+ </b>
225
+ </small>
226
+ functions.expression.shape.function
227
+ </div>
232
228
  </div>
233
- </div>
234
- <div
235
- aria-checked="true"
236
- aria-selected="true"
237
- class="active selected item"
238
- role="option"
239
- style="pointer-events: all;"
240
- >
241
229
  <div
242
- class="text flex-center"
230
+ aria-checked="false"
231
+ aria-selected="false"
232
+ class="item"
233
+ role="option"
234
+ style="pointer-events: all;"
243
235
  >
244
- <small
245
- style="margin-right: 5px;"
236
+ <div
237
+ class="text flex-center"
246
238
  >
247
- <b>
248
- <code>
249
- f(x)
250
- </code>
251
- </b>
252
- </small>
253
- functions.expression.shape.function
239
+ <small
240
+ style="margin-right: 5px;"
241
+ >
242
+ <b>
243
+ <code>
244
+ [π]
245
+ </code>
246
+ </b>
247
+ </small>
248
+ functions.expression.shape.constant
249
+ </div>
254
250
  </div>
255
251
  </div>
256
252
  </div>
257
- </div>
258
- <div
259
- class="accordion ui fluid no-margin"
260
- >
261
253
  <div
262
- class="active title no-padding"
254
+ class="accordion ui fluid no-margin"
263
255
  >
264
256
  <div
265
- class="flex-center"
257
+ class="active title no-padding"
266
258
  >
267
- <i
268
- aria-hidden="true"
269
- class="dropdown icon"
270
- />
271
259
  <div
272
- class="sixteen wide field"
260
+ class="flex-center"
273
261
  >
262
+ <i
263
+ aria-hidden="true"
264
+ class="dropdown icon"
265
+ />
274
266
  <div
275
- aria-expanded="false"
276
- class="ui fluid search selection dropdown"
277
- role="combobox"
267
+ class="sixteen wide field"
278
268
  >
279
- <input
280
- aria-autocomplete="list"
281
- autocomplete="off"
282
- class="search"
283
- tabindex="0"
284
- type="text"
285
- value=""
286
- />
287
- <div
288
- aria-atomic="true"
289
- aria-live="polite"
290
- class="divider text"
291
- role="alert"
292
- >
293
- functions.form.expression.function.placeholder
294
- </div>
295
- <i
296
- aria-hidden="true"
297
- class="dropdown icon"
298
- />
299
269
  <div
300
- class="menu transition"
301
- role="listbox"
270
+ aria-expanded="false"
271
+ class="ui fluid search selection dropdown"
272
+ role="combobox"
302
273
  >
274
+ <input
275
+ aria-autocomplete="list"
276
+ autocomplete="off"
277
+ class="search"
278
+ tabindex="0"
279
+ type="text"
280
+ value=""
281
+ />
282
+ <div
283
+ aria-atomic="true"
284
+ aria-live="polite"
285
+ class="divider text"
286
+ role="alert"
287
+ >
288
+ functions.form.expression.function.placeholder
289
+ </div>
290
+ <i
291
+ aria-hidden="true"
292
+ class="dropdown icon"
293
+ />
303
294
  <div
304
- class="message"
295
+ class="menu transition"
296
+ role="listbox"
305
297
  >
306
- No results found.
298
+ <div
299
+ class="message"
300
+ >
301
+ No results found.
302
+ </div>
307
303
  </div>
308
304
  </div>
309
305
  </div>
310
306
  </div>
311
307
  </div>
308
+ <div
309
+ class="content active no-padding"
310
+ />
312
311
  </div>
313
- <div
314
- class="content active no-padding"
315
- />
316
312
  </div>
317
313
  </div>
318
314
  </div>
315
+ <div
316
+ class="condition-arg-field"
317
+ />
319
318
  </div>
319
+ <div
320
+ class="delete-expression-column"
321
+ />
320
322
  </div>
321
- <div
322
- class="top aligned one wide column"
323
- />
324
323
  </div>
325
324
  </div>
326
325
  `;
@@ -25,23 +25,19 @@ exports[`<ConstantSelector /> user interaction 1`] = `
25
25
  >
26
26
  <div
27
27
  aria-expanded="false"
28
- class="ui button fluid dropdown"
28
+ class="ui top left pointing dropdown"
29
29
  name="type"
30
30
  role="listbox"
31
31
  tabindex="0"
32
32
  >
33
33
  <div
34
- aria-atomic="true"
35
- aria-live="polite"
36
- class="divider text"
37
- role="alert"
34
+ class="type-selector-trigger"
38
35
  >
39
- expressions.data_type.string
36
+ <i
37
+ aria-hidden="true"
38
+ class="font icon"
39
+ />
40
40
  </div>
41
- <i
42
- aria-hidden="true"
43
- class="dropdown icon"
44
- />
45
41
  <div
46
42
  class="menu transition"
47
43
  >