@truedat/qx 5.14.1 → 5.15.1

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 (120) hide show
  1. package/package.json +3 -3
  2. package/src/api.js +3 -2
  3. package/src/components/QxRoutes.js +4 -4
  4. package/src/components/common/ResourceSelector.js +80 -0
  5. package/src/components/common/TestFormWrapper.js +9 -6
  6. package/src/components/common/TypeSelector.js +3 -1
  7. package/src/components/common/__tests__/DescriptionInput.spec.js +48 -0
  8. package/src/components/common/__tests__/ResourceSelector.spec.js +124 -0
  9. package/src/components/common/__tests__/TypeSelector.spec.js +29 -0
  10. package/src/components/common/__tests__/__snapshots__/DescriptionInput.spec.js.snap +19 -0
  11. package/src/components/common/__tests__/__snapshots__/ResourceSelector.spec.js.snap +484 -0
  12. package/src/components/common/__tests__/__snapshots__/TypeSelector.spec.js.snap +230 -0
  13. package/src/components/common/expressions/Clauses.js +100 -0
  14. package/src/components/common/expressions/Condition.js +178 -0
  15. package/src/components/common/expressions/Expression.js +54 -0
  16. package/src/components/common/expressions/FieldSelector.js +66 -0
  17. package/src/components/{functions → common}/expressions/FunctionArgs.js +1 -0
  18. package/src/components/{functions → common}/expressions/FunctionSelector.js +24 -4
  19. package/src/components/{functions → common}/expressions/ParamSelector.js +3 -3
  20. package/src/components/{functions → common}/expressions/ShapeSelector.js +22 -6
  21. package/src/components/common/expressions/__tests__/Clauses.spec.js +53 -0
  22. package/src/components/common/expressions/__tests__/Condition.spec.js +33 -0
  23. package/src/components/{functions → common}/expressions/__tests__/ConstantSelector.spec.js +6 -1
  24. package/src/components/{functions → common}/expressions/__tests__/Expression.spec.js +7 -5
  25. package/src/components/common/expressions/__tests__/FieldSelector.spec.js +24 -0
  26. package/src/components/{functions → common}/expressions/__tests__/FunctionArgs.spec.js +20 -6
  27. package/src/components/{functions → common}/expressions/__tests__/FunctionSelector.spec.js +1 -1
  28. package/src/components/{functions → common}/expressions/__tests__/ParamSelector.spec.js +22 -10
  29. package/src/components/{functions → common}/expressions/__tests__/ShapeSelector.spec.js +3 -3
  30. package/src/components/common/expressions/__tests__/__snapshots__/Clauses.spec.js.snap +64 -0
  31. package/src/components/common/expressions/__tests__/__snapshots__/Condition.spec.js.snap +316 -0
  32. package/src/components/{functions → common}/expressions/__tests__/__snapshots__/ConstantSelector.spec.js.snap +1 -1
  33. package/src/components/common/expressions/__tests__/__snapshots__/Expression.spec.js.snap +939 -0
  34. package/src/components/common/expressions/__tests__/__snapshots__/FieldSelector.spec.js.snap +5 -0
  35. package/src/components/common/expressions/__tests__/__snapshots__/FunctionArgs.spec.js.snap +344 -0
  36. package/src/components/{functions → common}/expressions/__tests__/__snapshots__/ParamSelector.spec.js.snap +4 -4
  37. package/src/components/{functions → common}/expressions/__tests__/__snapshots__/ShapeSelector.spec.js.snap +17 -24
  38. package/src/components/common/expressions/constantInputs/AnySelector.js +44 -0
  39. package/src/components/{functions → common}/expressions/constantInputs/__tests__/AnySelector.spec.js +21 -14
  40. package/src/components/{functions → common}/expressions/constantInputs/__tests__/DefaultSelector.spec.js +5 -2
  41. package/src/components/{functions → common}/expressions/constantInputs/__tests__/__snapshots__/AnySelector.spec.js.snap +2 -2
  42. package/src/components/common/expressions/index.js +4 -0
  43. package/src/components/common/resourceSelectors/DataStructureSelector.js +63 -0
  44. package/src/components/common/resourceSelectors/DataViewSelector.js +65 -0
  45. package/src/components/common/resourceSelectors/ReferenceDatasetSelector.js +61 -0
  46. package/src/components/common/resourceSelectors/__tests__/DataStructureSelector.spec.js +31 -0
  47. package/src/components/common/resourceSelectors/__tests__/DataViewSelector.spec.js +133 -0
  48. package/src/components/common/resourceSelectors/__tests__/ReferenceDatasetSelector.spec.js +97 -0
  49. package/src/components/common/resourceSelectors/__tests__/__snapshots__/DataStructureSelector.spec.js.snap +105 -0
  50. package/src/components/common/resourceSelectors/__tests__/__snapshots__/DataViewSelector.spec.js.snap +50 -0
  51. package/src/components/common/resourceSelectors/__tests__/__snapshots__/ReferenceDatasetSelector.spec.js.snap +50 -0
  52. package/src/components/common/resourceSelectors/index.js +5 -0
  53. package/src/components/dataViews/DataViewEditor.js +170 -0
  54. package/src/components/dataViews/DataViewSelect.js +47 -0
  55. package/src/components/dataViews/DataViews.js +169 -0
  56. package/src/components/dataViews/Queryable.js +138 -0
  57. package/src/components/dataViews/Queryables.js +53 -0
  58. package/src/components/dataViews/__tests__/DataViewEditor.spec.js +293 -0
  59. package/src/components/dataViews/__tests__/DataViewSelect.spec.js +28 -0
  60. package/src/components/dataViews/__tests__/DataViews.spec.js +57 -0
  61. package/src/components/dataViews/__tests__/Queryable.spec.js +201 -0
  62. package/src/components/dataViews/__tests__/Queryables.spec.js +183 -0
  63. package/src/components/dataViews/__tests__/__snapshots__/DataViewEditor.spec.js.snap +1000 -0
  64. package/src/components/dataViews/__tests__/__snapshots__/DataViewSelect.spec.js.snap +55 -0
  65. package/src/components/dataViews/__tests__/__snapshots__/DataViews.spec.js.snap +77 -0
  66. package/src/components/dataViews/__tests__/__snapshots__/Queryable.spec.js.snap +874 -0
  67. package/src/components/dataViews/__tests__/__snapshots__/Queryables.spec.js.snap +911 -0
  68. package/src/components/dataViews/__tests__/queryableFunctions.spec.js +193 -0
  69. package/src/components/dataViews/queryableFunctions.js +80 -0
  70. package/src/components/dataViews/queryableProperties/From.js +15 -0
  71. package/src/components/dataViews/queryableProperties/GroupBy.js +124 -0
  72. package/src/components/dataViews/queryableProperties/Join.js +62 -0
  73. package/src/components/dataViews/queryableProperties/JoinTypeIcon.js +49 -0
  74. package/src/components/dataViews/queryableProperties/Select.js +76 -0
  75. package/src/components/dataViews/queryableProperties/SelectField.js +116 -0
  76. package/src/components/dataViews/queryableProperties/Where.js +15 -0
  77. package/src/components/dataViews/queryableProperties/__tests__/From.spec.js +30 -0
  78. package/src/components/dataViews/queryableProperties/__tests__/GroupBy.spec.js +75 -0
  79. package/src/components/dataViews/queryableProperties/__tests__/Join.spec.js +38 -0
  80. package/src/components/dataViews/queryableProperties/__tests__/JoinTypeIcon.spec.js +36 -0
  81. package/src/components/dataViews/queryableProperties/__tests__/Select.spec.js +144 -0
  82. package/src/components/dataViews/queryableProperties/__tests__/SelectField.spec.js +107 -0
  83. package/src/components/dataViews/queryableProperties/__tests__/Where.spec.js +27 -0
  84. package/src/components/dataViews/queryableProperties/__tests__/__snapshots__/From.spec.js.snap +75 -0
  85. package/src/components/dataViews/queryableProperties/__tests__/__snapshots__/GroupBy.spec.js.snap +276 -0
  86. package/src/components/dataViews/queryableProperties/__tests__/__snapshots__/Join.spec.js.snap +252 -0
  87. package/src/components/dataViews/queryableProperties/__tests__/__snapshots__/JoinTypeIcon.spec.js.snap +77 -0
  88. package/src/components/dataViews/queryableProperties/__tests__/__snapshots__/Select.spec.js.snap +411 -0
  89. package/src/components/dataViews/queryableProperties/__tests__/__snapshots__/SelectField.spec.js.snap +343 -0
  90. package/src/components/dataViews/queryableProperties/__tests__/__snapshots__/Where.spec.js.snap +22 -0
  91. package/src/components/dataViews/queryableProperties/index.js +7 -0
  92. package/src/components/functions/FunctionEditor.js +30 -29
  93. package/src/components/functions/Functions.js +3 -11
  94. package/src/components/functions/__tests__/FunctionEditor.spec.js +6 -0
  95. package/src/components/functions/__tests__/FunctionParams.spec.js +6 -0
  96. package/src/components/functions/__tests__/__snapshots__/FunctionEditor.spec.js.snap +490 -466
  97. package/src/components/functions/__tests__/__snapshots__/FunctionParams.spec.js.snap +1 -1
  98. package/src/hooks/__tests__/{useDataSets.spec.js → useDataViews.spec.js} +5 -5
  99. package/src/hooks/useDataViews.js +33 -0
  100. package/src/styles/Expression.less +150 -0
  101. package/src/types.js +11 -3
  102. package/src/components/DataSets.js +0 -64
  103. package/src/components/__tests__/DataSets.spec.js +0 -46
  104. package/src/components/__tests__/__snapshots__/DataSets.spec.js.snap +0 -82
  105. package/src/components/functions/expressions/Expression.js +0 -40
  106. package/src/components/functions/expressions/FieldSelector.js +0 -56
  107. package/src/components/functions/expressions/__tests__/__snapshots__/Expression.spec.js.snap +0 -904
  108. package/src/components/functions/expressions/__tests__/__snapshots__/FunctionArgs.spec.js.snap +0 -392
  109. package/src/components/functions/expressions/constantInputs/AnySelector.js +0 -29
  110. package/src/hooks/useDataSets.js +0 -8
  111. /package/src/components/{functions → common}/expressions/ConstantSelector.js +0 -0
  112. /package/src/components/{functions → common}/expressions/__tests__/__snapshots__/FunctionSelector.spec.js.snap +0 -0
  113. /package/src/components/{functions → common/expressions}/__tests__/useWatchParams.spec.js +0 -0
  114. /package/src/components/{functions → common}/expressions/constantInputs/BooleanSelector.js +0 -0
  115. /package/src/components/{functions → common}/expressions/constantInputs/DefaultSelector.js +0 -0
  116. /package/src/components/{functions → common}/expressions/constantInputs/__tests__/BooleanSelector.spec.js +0 -0
  117. /package/src/components/{functions → common}/expressions/constantInputs/__tests__/__snapshots__/BooleanSelector.spec.js.snap +0 -0
  118. /package/src/components/{functions → common}/expressions/constantInputs/__tests__/__snapshots__/DefaultSelector.spec.js.snap +0 -0
  119. /package/src/components/{functions → common}/expressions/constantInputs/index.js +0 -0
  120. /package/src/components/{functions → common/expressions}/useWatchParams.js +0 -0
@@ -1,392 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`<FunctionArgs /> matches the latest snapshot 1`] = `<div />`;
4
-
5
- exports[`<FunctionArgs /> user interaction 1`] = `
6
- <div>
7
- <ul
8
- class="function-tree"
9
- style=""
10
- >
11
- <li>
12
- <div
13
- class="flex-column"
14
- >
15
- <div
16
- class="param-label-header"
17
- >
18
- <div
19
- class="ui large image label"
20
- >
21
- <i
22
- aria-hidden="true"
23
- class="grey question circle outline fitted icon"
24
- />
25
- <div
26
- class="detail"
27
- >
28
- arg1
29
- </div>
30
- </div>
31
- <div
32
- class="param-label-description"
33
- />
34
- </div>
35
- <div
36
- class="expression-container"
37
- >
38
- <div
39
- aria-expanded="false"
40
- class="ui top left pointing dropdown"
41
- role="listbox"
42
- tabindex="0"
43
- >
44
- <div
45
- class="shape-selector-trigger"
46
- >
47
- [π]
48
- </div>
49
- <div
50
- class="menu transition"
51
- >
52
- <div
53
- aria-checked="true"
54
- aria-selected="true"
55
- class="active selected item"
56
- role="option"
57
- style="pointer-events: all;"
58
- >
59
- <div
60
- class="text"
61
- style="display: flex; align-items: center;"
62
- >
63
- <small
64
- style="margin-right: 5px;"
65
- >
66
- <b>
67
- <code>
68
- [π]
69
- </code>
70
- </b>
71
- </small>
72
- constant
73
- </div>
74
- </div>
75
- <div
76
- aria-checked="false"
77
- aria-selected="false"
78
- class="item"
79
- role="option"
80
- style="pointer-events: all;"
81
- >
82
- <div
83
- class="text"
84
- style="display: flex; align-items: center;"
85
- >
86
- <small
87
- style="margin-right: 5px;"
88
- >
89
- <b>
90
- <code>
91
- f(x)
92
- </code>
93
- </b>
94
- </small>
95
- function
96
- </div>
97
- </div>
98
- </div>
99
- </div>
100
- <div
101
- aria-expanded="false"
102
- class="ui basic button dropdown"
103
- name="type"
104
- role="listbox"
105
- tabindex="0"
106
- >
107
- <i
108
- aria-hidden="true"
109
- class="dropdown icon"
110
- />
111
- <div
112
- class="menu transition"
113
- >
114
- <div
115
- aria-checked="false"
116
- aria-selected="true"
117
- class="selected item"
118
- role="option"
119
- style="pointer-events: all;"
120
- >
121
- <i
122
- aria-hidden="true"
123
- class="adjust icon"
124
- />
125
- <span
126
- class="text"
127
- >
128
- boolean
129
- </span>
130
- </div>
131
- <div
132
- aria-checked="false"
133
- aria-selected="false"
134
- class="item"
135
- role="option"
136
- style="pointer-events: all;"
137
- >
138
- <i
139
- aria-hidden="true"
140
- class="font icon"
141
- />
142
- <span
143
- class="text"
144
- >
145
- string
146
- </span>
147
- </div>
148
- <div
149
- aria-checked="false"
150
- aria-selected="false"
151
- class="item"
152
- role="option"
153
- style="pointer-events: all;"
154
- >
155
- <i
156
- aria-hidden="true"
157
- class="hashtag icon"
158
- />
159
- <span
160
- class="text"
161
- >
162
- numeric
163
- </span>
164
- </div>
165
- <div
166
- aria-checked="false"
167
- aria-selected="false"
168
- class="item"
169
- role="option"
170
- style="pointer-events: all;"
171
- >
172
- <i
173
- aria-hidden="true"
174
- class="calendar alternate outline icon"
175
- />
176
- <span
177
- class="text"
178
- >
179
- date
180
- </span>
181
- </div>
182
- <div
183
- aria-checked="false"
184
- aria-selected="false"
185
- class="item"
186
- role="option"
187
- style="pointer-events: all;"
188
- >
189
- <i
190
- aria-hidden="true"
191
- class="clock outline icon"
192
- />
193
- <span
194
- class="text"
195
- >
196
- timestamp
197
- </span>
198
- </div>
199
- </div>
200
- </div>
201
- </div>
202
- </div>
203
- </li>
204
- <li>
205
- <div
206
- class="flex-column"
207
- >
208
- <div
209
- class="param-label-header"
210
- >
211
- <div
212
- class="ui large image label"
213
- >
214
- <i
215
- aria-hidden="true"
216
- class="grey question circle outline fitted icon"
217
- />
218
- <div
219
- class="detail"
220
- >
221
- arg2
222
- </div>
223
- </div>
224
- <div
225
- class="param-label-description"
226
- />
227
- </div>
228
- <div
229
- class="expression-container"
230
- >
231
- <div
232
- aria-expanded="false"
233
- class="ui top left pointing dropdown"
234
- role="listbox"
235
- tabindex="0"
236
- >
237
- <div
238
- class="shape-selector-trigger"
239
- >
240
- f(x)
241
- </div>
242
- <div
243
- class="menu transition"
244
- >
245
- <div
246
- aria-checked="false"
247
- aria-selected="false"
248
- class="item"
249
- role="option"
250
- style="pointer-events: all;"
251
- >
252
- <div
253
- class="text"
254
- style="display: flex; align-items: center;"
255
- >
256
- <small
257
- style="margin-right: 5px;"
258
- >
259
- <b>
260
- <code>
261
- [π]
262
- </code>
263
- </b>
264
- </small>
265
- constant
266
- </div>
267
- </div>
268
- <div
269
- aria-checked="true"
270
- aria-selected="true"
271
- class="active selected item"
272
- role="option"
273
- style="pointer-events: all;"
274
- >
275
- <div
276
- class="text"
277
- style="display: flex; align-items: center;"
278
- >
279
- <small
280
- style="margin-right: 5px;"
281
- >
282
- <b>
283
- <code>
284
- f(x)
285
- </code>
286
- </b>
287
- </small>
288
- function
289
- </div>
290
- </div>
291
- </div>
292
- </div>
293
- <div
294
- class="accordion ui fluid no-margin"
295
- >
296
- <div
297
- class="active title no-padding"
298
- >
299
- <div
300
- class="flex-center"
301
- >
302
- <i
303
- aria-hidden="true"
304
- class="dropdown icon"
305
- />
306
- <div
307
- aria-expanded="false"
308
- class="ui fluid search selection dropdown"
309
- role="combobox"
310
- >
311
- <input
312
- aria-autocomplete="list"
313
- autocomplete="off"
314
- class="search"
315
- tabindex="0"
316
- type="text"
317
- value=""
318
- />
319
- <div
320
- aria-atomic="true"
321
- aria-live="polite"
322
- class="divider text"
323
- role="alert"
324
- >
325
- function.placeholder
326
- </div>
327
- <i
328
- aria-hidden="true"
329
- class="dropdown icon"
330
- />
331
- <div
332
- class="menu transition"
333
- role="listbox"
334
- >
335
- <div
336
- aria-checked="false"
337
- aria-selected="true"
338
- class="selected item"
339
- role="option"
340
- style="pointer-events: all;"
341
- >
342
- <div
343
- class="ui header"
344
- >
345
- <div
346
- class="flex-center"
347
- >
348
- <div>
349
- eq
350
- </div>
351
- <div
352
- class="function-params-label"
353
- >
354
- <div
355
- class="ui grey label"
356
- >
357
- <i
358
- aria-hidden="true"
359
- class="question circle outline icon"
360
- />
361
- arg1
362
- </div>
363
- <div
364
- class="ui grey label"
365
- >
366
- <i
367
- aria-hidden="true"
368
- class="question circle outline icon"
369
- />
370
- arg2
371
- </div>
372
- </div>
373
- </div>
374
- </div>
375
- <div
376
- class="sub header"
377
- />
378
- </div>
379
- </div>
380
- </div>
381
- </div>
382
- </div>
383
- <div
384
- class="content active no-padding"
385
- />
386
- </div>
387
- </div>
388
- </div>
389
- </li>
390
- </ul>
391
- </div>
392
- `;
@@ -1,29 +0,0 @@
1
- import React, { useContext, useState } from "react";
2
- import { useFormContext } from "react-hook-form";
3
- import { TypeSelector } from "@truedat/qx/components/common";
4
- import QxContext from "@truedat/qx/components/QxContext";
5
- const ConstantSelector = React.lazy(() => import("../ConstantSelector"));
6
-
7
- export default function AnySelector() {
8
- const context = useContext(QxContext);
9
- const { watch, setValue } = useFormContext();
10
- const [type, setType] = useState(watch(`${context.field}.value.type`));
11
-
12
- return (
13
- <>
14
- <TypeSelector
15
- value={type}
16
- onChange={(_e, { value }) => {
17
- setType(value);
18
- setValue(`${context.field}.value.value`, "");
19
- }}
20
- withoutTypeAny
21
- />
22
- {type ? (
23
- <QxContext.Provider value={{ ...context, type }}>
24
- <ConstantSelector />
25
- </QxContext.Provider>
26
- ) : null}
27
- </>
28
- );
29
- }
@@ -1,8 +0,0 @@
1
- import useSWR from "swr";
2
- import { apiJson } from "@truedat/core/services/api";
3
- import { API_DATA_SETS } from "../api";
4
-
5
- export const useDataSets = () => {
6
- const { data, error } = useSWR(API_DATA_SETS, apiJson);
7
- return { data: data?.data, error, loading: !error && !data };
8
- };