@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
@@ -0,0 +1,1000 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`<DataViewEditor /> handles user interaction 1`] = `
4
+ <div>
5
+ <form
6
+ class="ui form"
7
+ >
8
+ <h3
9
+ class="ui dividing header"
10
+ >
11
+ data_view_name
12
+ </h3>
13
+ <div
14
+ class="ui grid"
15
+ >
16
+ <div
17
+ class="column"
18
+ >
19
+ <div
20
+ class="row"
21
+ >
22
+ <div
23
+ class="required field"
24
+ >
25
+ <label>
26
+ name
27
+ </label>
28
+ <div
29
+ class="field"
30
+ >
31
+ <div
32
+ class="ui input"
33
+ >
34
+ <input
35
+ autocomplete="off"
36
+ placeholder="name"
37
+ type="text"
38
+ value="data_view_name"
39
+ />
40
+ </div>
41
+ </div>
42
+ </div>
43
+ </div>
44
+ <div
45
+ class="row"
46
+ >
47
+ <div
48
+ class="ui horizontal link list"
49
+ role="list"
50
+ >
51
+ <a
52
+ class="item"
53
+ role="listitem"
54
+ style="font-style: italic; font-size: 13px; padding: 9.5px 14px;"
55
+ tabindex="0"
56
+ >
57
+ add_description
58
+ </a>
59
+ </div>
60
+ </div>
61
+ </div>
62
+ </div>
63
+ <div
64
+ class="ui list"
65
+ role="list"
66
+ >
67
+ <div
68
+ class="item"
69
+ role="listitem"
70
+ >
71
+ <div>
72
+ <div
73
+ class="ui grid"
74
+ >
75
+ <div
76
+ class="column"
77
+ >
78
+ <div
79
+ class="ui segment"
80
+ >
81
+ <div
82
+ class="queryable-label"
83
+ >
84
+ <div
85
+ class="ui blue ribbon label"
86
+ >
87
+ from
88
+ </div>
89
+ </div>
90
+ <div
91
+ class="row vertical-space"
92
+ >
93
+ <div
94
+ class="field"
95
+ >
96
+ <label>
97
+ alias
98
+ </label>
99
+ <div
100
+ class="ui input"
101
+ >
102
+ <input
103
+ autocomplete="off"
104
+ placeholder="alias"
105
+ type="text"
106
+ value="from_alias"
107
+ />
108
+ </div>
109
+ </div>
110
+ </div>
111
+ <div
112
+ class="row vertical-space"
113
+ >
114
+ <div
115
+ class="required field"
116
+ >
117
+ <label>
118
+ resource
119
+ </label>
120
+ <div
121
+ aria-expanded="false"
122
+ class="ui selection dropdown"
123
+ role="listbox"
124
+ tabindex="0"
125
+ >
126
+ <div
127
+ aria-atomic="true"
128
+ aria-live="polite"
129
+ class="divider text"
130
+ role="alert"
131
+ >
132
+ data_view
133
+ </div>
134
+ <i
135
+ aria-hidden="true"
136
+ class="dropdown icon"
137
+ />
138
+ <div
139
+ class="menu transition"
140
+ >
141
+ <div
142
+ aria-checked="false"
143
+ aria-selected="false"
144
+ class="item"
145
+ role="option"
146
+ style="pointer-events: all;"
147
+ >
148
+ <span
149
+ class="text"
150
+ >
151
+ data_structure
152
+ </span>
153
+ </div>
154
+ <div
155
+ aria-checked="false"
156
+ aria-selected="false"
157
+ class="item"
158
+ role="option"
159
+ style="pointer-events: all;"
160
+ >
161
+ <span
162
+ class="text"
163
+ >
164
+ reference_dataset
165
+ </span>
166
+ </div>
167
+ <div
168
+ aria-checked="true"
169
+ aria-selected="true"
170
+ class="active selected item"
171
+ role="option"
172
+ style="pointer-events: all;"
173
+ >
174
+ <span
175
+ class="text"
176
+ >
177
+ data_view
178
+ </span>
179
+ </div>
180
+ </div>
181
+ </div>
182
+ </div>
183
+ <div
184
+ aria-expanded="false"
185
+ class="ui fluid search selection dropdown"
186
+ role="combobox"
187
+ >
188
+ <input
189
+ aria-autocomplete="list"
190
+ autocomplete="off"
191
+ class="search"
192
+ tabindex="0"
193
+ type="text"
194
+ value=""
195
+ />
196
+ <div
197
+ aria-atomic="true"
198
+ aria-live="polite"
199
+ class="divider text"
200
+ role="alert"
201
+ >
202
+ AnotherDataView
203
+ </div>
204
+ <i
205
+ aria-hidden="true"
206
+ class="dropdown icon"
207
+ />
208
+ <div
209
+ class="menu transition"
210
+ role="listbox"
211
+ >
212
+ <div
213
+ aria-checked="true"
214
+ aria-selected="true"
215
+ class="active selected item"
216
+ role="option"
217
+ style="pointer-events: all;"
218
+ >
219
+ <span
220
+ class="text"
221
+ >
222
+ AnotherDataView
223
+ </span>
224
+ </div>
225
+ </div>
226
+ </div>
227
+ </div>
228
+ </div>
229
+ </div>
230
+ </div>
231
+ </div>
232
+ </div>
233
+ <div
234
+ class="item"
235
+ role="listitem"
236
+ >
237
+ <div
238
+ class="ui horizontal divider"
239
+ >
240
+ <button
241
+ class="ui button"
242
+ >
243
+ join
244
+ </button>
245
+ <button
246
+ class="ui button"
247
+ >
248
+ where
249
+ </button>
250
+ <button
251
+ class="ui button"
252
+ >
253
+ select
254
+ </button>
255
+ <button
256
+ class="ui button"
257
+ >
258
+ group_by
259
+ </button>
260
+ </div>
261
+ </div>
262
+ </div>
263
+ <div>
264
+ <div
265
+ class="ui grid"
266
+ >
267
+ <div
268
+ class="column"
269
+ >
270
+ <div
271
+ class="ui segment"
272
+ >
273
+ <div
274
+ class="queryable-label"
275
+ >
276
+ <div
277
+ class="ui ribbon label"
278
+ >
279
+ select
280
+ </div>
281
+ </div>
282
+ <div
283
+ class="row vertical-space"
284
+ >
285
+ <div
286
+ class="ui list"
287
+ role="list"
288
+ >
289
+ <div
290
+ class="item"
291
+ role="listitem"
292
+ >
293
+ <div>
294
+ <div
295
+ class="ui grid"
296
+ >
297
+ <div
298
+ class="row"
299
+ >
300
+ <div
301
+ class="column"
302
+ />
303
+ <div
304
+ class="nine wide column"
305
+ >
306
+ <div
307
+ class="ui grid"
308
+ >
309
+ <div
310
+ class="sixteen wide column"
311
+ >
312
+ <div
313
+ class="expression-container"
314
+ >
315
+ <div
316
+ aria-expanded="false"
317
+ class="ui top left pointing dropdown"
318
+ role="listbox"
319
+ tabindex="0"
320
+ >
321
+ <div
322
+ class="shape-selector-trigger"
323
+ >
324
+ [F]
325
+ </div>
326
+ <div
327
+ class="menu transition"
328
+ >
329
+ <div
330
+ aria-checked="false"
331
+ aria-selected="false"
332
+ class="item"
333
+ role="option"
334
+ style="pointer-events: all;"
335
+ >
336
+ <div
337
+ class="text flex-center"
338
+ >
339
+ <small
340
+ style="margin-right: 5px;"
341
+ >
342
+ <b>
343
+ <code>
344
+ [π]
345
+ </code>
346
+ </b>
347
+ </small>
348
+ constant
349
+ </div>
350
+ </div>
351
+ <div
352
+ aria-checked="false"
353
+ aria-selected="false"
354
+ class="item"
355
+ role="option"
356
+ style="pointer-events: all;"
357
+ >
358
+ <div
359
+ class="text flex-center"
360
+ >
361
+ <small
362
+ style="margin-right: 5px;"
363
+ >
364
+ <b>
365
+ <code>
366
+ f(x)
367
+ </code>
368
+ </b>
369
+ </small>
370
+ function
371
+ </div>
372
+ </div>
373
+ <div
374
+ aria-checked="true"
375
+ aria-selected="true"
376
+ class="active selected item"
377
+ role="option"
378
+ style="pointer-events: all;"
379
+ >
380
+ <div
381
+ class="text flex-center"
382
+ >
383
+ <small
384
+ style="margin-right: 5px;"
385
+ >
386
+ <b>
387
+ <code>
388
+ [F]
389
+ </code>
390
+ </b>
391
+ </small>
392
+ field
393
+ </div>
394
+ </div>
395
+ </div>
396
+ </div>
397
+ <div
398
+ aria-expanded="false"
399
+ class="ui fluid selection scrolling pointing dropdown select-field-dropdown"
400
+ role="listbox"
401
+ tabindex="0"
402
+ >
403
+ <div
404
+ aria-atomic="true"
405
+ aria-live="polite"
406
+ class="divider text"
407
+ role="alert"
408
+ >
409
+ <div
410
+ class="ui blue label"
411
+ >
412
+ from_alias
413
+ </div>
414
+ Column1
415
+ </div>
416
+ <i
417
+ aria-hidden="true"
418
+ class="dropdown icon"
419
+ />
420
+ <div
421
+ class="menu transition"
422
+ >
423
+ <div
424
+ aria-checked="true"
425
+ aria-selected="true"
426
+ class="active selected item"
427
+ role="option"
428
+ style="pointer-events: all;"
429
+ >
430
+ <div
431
+ class="ui blue label"
432
+ >
433
+ from_alias
434
+ </div>
435
+ <span
436
+ class="text"
437
+ >
438
+ Column1
439
+ </span>
440
+ </div>
441
+ </div>
442
+ </div>
443
+ </div>
444
+ </div>
445
+ </div>
446
+ </div>
447
+ <div
448
+ class="six wide column"
449
+ >
450
+ <div
451
+ class="inline fields no-margin"
452
+ >
453
+ <div
454
+ class="field"
455
+ >
456
+ <div
457
+ class="ui input"
458
+ >
459
+ <input
460
+ autocomplete="off"
461
+ placeholder="alias"
462
+ type="text"
463
+ value="Column1"
464
+ />
465
+ </div>
466
+ </div>
467
+ </div>
468
+ </div>
469
+ </div>
470
+ </div>
471
+ </div>
472
+ </div>
473
+ <div
474
+ class="item"
475
+ role="listitem"
476
+ >
477
+ <button
478
+ class="ui button"
479
+ >
480
+ add_select_field
481
+ </button>
482
+ </div>
483
+ </div>
484
+ </div>
485
+ </div>
486
+ </div>
487
+ </div>
488
+ </div>
489
+ <div
490
+ class="ui hidden divider"
491
+ />
492
+ <div
493
+ class="actions"
494
+ >
495
+ <button
496
+ class="ui primary button"
497
+ >
498
+ save
499
+ </button>
500
+ <button
501
+ class="ui button"
502
+ >
503
+ cancel
504
+ </button>
505
+ <button
506
+ class="ui red button"
507
+ >
508
+ delete
509
+ </button>
510
+ </div>
511
+ </form>
512
+ </div>
513
+ `;
514
+
515
+ exports[`<DataViewEditor /> matches the latest snapshot for empty 1`] = `<div />`;
516
+
517
+ exports[`<DataViewEditor /> matches the latest snapshot with content 1`] = `
518
+ <div>
519
+ <form
520
+ class="ui form"
521
+ >
522
+ <h3
523
+ class="ui dividing header"
524
+ >
525
+ StructureView
526
+ </h3>
527
+ <div
528
+ class="ui grid"
529
+ >
530
+ <div
531
+ class="column"
532
+ >
533
+ <div
534
+ class="row"
535
+ >
536
+ <div
537
+ class="required field"
538
+ >
539
+ <label>
540
+ name
541
+ </label>
542
+ <div
543
+ class="field"
544
+ >
545
+ <div
546
+ class="ui input"
547
+ >
548
+ <input
549
+ autocomplete="off"
550
+ placeholder="name"
551
+ type="text"
552
+ value="StructureView"
553
+ />
554
+ </div>
555
+ </div>
556
+ </div>
557
+ </div>
558
+ <div
559
+ class="row"
560
+ >
561
+ <div
562
+ class="ui horizontal link list"
563
+ role="list"
564
+ >
565
+ <a
566
+ class="item"
567
+ role="listitem"
568
+ style="font-style: italic; font-size: 13px; padding: 9.5px 14px;"
569
+ tabindex="0"
570
+ >
571
+ Description
572
+ </a>
573
+ </div>
574
+ </div>
575
+ </div>
576
+ </div>
577
+ <div
578
+ class="ui list"
579
+ role="list"
580
+ >
581
+ <div
582
+ class="item"
583
+ role="listitem"
584
+ >
585
+ <div>
586
+ <div
587
+ class="ui grid"
588
+ >
589
+ <div
590
+ class="column"
591
+ >
592
+ <div
593
+ class="ui segment"
594
+ >
595
+ <div
596
+ class="queryable-label"
597
+ >
598
+ <div
599
+ class="ui blue ribbon label"
600
+ >
601
+ from
602
+ </div>
603
+ </div>
604
+ <div
605
+ class="row vertical-space"
606
+ >
607
+ <div
608
+ class="field"
609
+ >
610
+ <label>
611
+ alias
612
+ </label>
613
+ <div
614
+ class="ui input"
615
+ >
616
+ <input
617
+ autocomplete="off"
618
+ placeholder="alias"
619
+ type="text"
620
+ value=""
621
+ />
622
+ </div>
623
+ </div>
624
+ </div>
625
+ <div
626
+ class="row vertical-space"
627
+ >
628
+ <div
629
+ class="required field"
630
+ >
631
+ <label>
632
+ resource
633
+ </label>
634
+ <div
635
+ aria-expanded="false"
636
+ class="ui selection dropdown"
637
+ role="listbox"
638
+ tabindex="0"
639
+ >
640
+ <div
641
+ aria-atomic="true"
642
+ aria-live="polite"
643
+ class="divider text"
644
+ role="alert"
645
+ >
646
+ data_structure
647
+ </div>
648
+ <i
649
+ aria-hidden="true"
650
+ class="dropdown icon"
651
+ />
652
+ <div
653
+ class="menu transition"
654
+ >
655
+ <div
656
+ aria-checked="true"
657
+ aria-selected="true"
658
+ class="active selected item"
659
+ role="option"
660
+ style="pointer-events: all;"
661
+ >
662
+ <span
663
+ class="text"
664
+ >
665
+ data_structure
666
+ </span>
667
+ </div>
668
+ <div
669
+ aria-checked="false"
670
+ aria-selected="false"
671
+ class="item"
672
+ role="option"
673
+ style="pointer-events: all;"
674
+ >
675
+ <span
676
+ class="text"
677
+ >
678
+ reference_dataset
679
+ </span>
680
+ </div>
681
+ <div
682
+ aria-checked="false"
683
+ aria-selected="false"
684
+ class="item"
685
+ role="option"
686
+ style="pointer-events: all;"
687
+ >
688
+ <span
689
+ class="text"
690
+ >
691
+ data_view
692
+ </span>
693
+ </div>
694
+ </div>
695
+ </div>
696
+ </div>
697
+ <div
698
+ class="required field"
699
+ >
700
+ <div
701
+ class="ui fluid icon input"
702
+ >
703
+ <input
704
+ class="action-pointer"
705
+ placeholder="data_structure"
706
+ required=""
707
+ type="text"
708
+ value="ParentTable"
709
+ />
710
+ </div>
711
+ </div>
712
+ </div>
713
+ </div>
714
+ </div>
715
+ </div>
716
+ </div>
717
+ </div>
718
+ <div
719
+ class="item"
720
+ role="listitem"
721
+ >
722
+ <div
723
+ class="ui horizontal divider"
724
+ >
725
+ <button
726
+ class="ui button"
727
+ >
728
+ join
729
+ </button>
730
+ <button
731
+ class="ui button"
732
+ >
733
+ where
734
+ </button>
735
+ <button
736
+ class="ui button"
737
+ >
738
+ select
739
+ </button>
740
+ <button
741
+ class="ui button"
742
+ >
743
+ group_by
744
+ </button>
745
+ </div>
746
+ </div>
747
+ </div>
748
+ <div>
749
+ <div
750
+ class="ui grid"
751
+ >
752
+ <div
753
+ class="column"
754
+ >
755
+ <div
756
+ class="ui segment"
757
+ >
758
+ <div
759
+ class="queryable-label"
760
+ >
761
+ <div
762
+ class="ui ribbon label"
763
+ >
764
+ select
765
+ </div>
766
+ </div>
767
+ <div
768
+ class="row vertical-space"
769
+ >
770
+ <div
771
+ class="ui list"
772
+ role="list"
773
+ >
774
+ <div
775
+ class="item"
776
+ role="listitem"
777
+ >
778
+ <div>
779
+ <div
780
+ class="ui grid"
781
+ >
782
+ <div
783
+ class="row"
784
+ >
785
+ <div
786
+ class="column"
787
+ />
788
+ <div
789
+ class="nine wide column"
790
+ >
791
+ <div
792
+ class="ui grid"
793
+ >
794
+ <div
795
+ class="sixteen wide column"
796
+ >
797
+ <div
798
+ class="expression-container"
799
+ >
800
+ <div
801
+ aria-expanded="false"
802
+ class="ui top left pointing dropdown"
803
+ role="listbox"
804
+ tabindex="0"
805
+ >
806
+ <div
807
+ class="shape-selector-trigger"
808
+ >
809
+ [F]
810
+ </div>
811
+ <div
812
+ class="menu transition"
813
+ >
814
+ <div
815
+ aria-checked="false"
816
+ aria-selected="false"
817
+ class="item"
818
+ role="option"
819
+ style="pointer-events: all;"
820
+ >
821
+ <div
822
+ class="text flex-center"
823
+ >
824
+ <small
825
+ style="margin-right: 5px;"
826
+ >
827
+ <b>
828
+ <code>
829
+ [π]
830
+ </code>
831
+ </b>
832
+ </small>
833
+ constant
834
+ </div>
835
+ </div>
836
+ <div
837
+ aria-checked="false"
838
+ aria-selected="false"
839
+ class="item"
840
+ role="option"
841
+ style="pointer-events: all;"
842
+ >
843
+ <div
844
+ class="text flex-center"
845
+ >
846
+ <small
847
+ style="margin-right: 5px;"
848
+ >
849
+ <b>
850
+ <code>
851
+ f(x)
852
+ </code>
853
+ </b>
854
+ </small>
855
+ function
856
+ </div>
857
+ </div>
858
+ <div
859
+ aria-checked="true"
860
+ aria-selected="true"
861
+ class="active selected item"
862
+ role="option"
863
+ style="pointer-events: all;"
864
+ >
865
+ <div
866
+ class="text flex-center"
867
+ >
868
+ <small
869
+ style="margin-right: 5px;"
870
+ >
871
+ <b>
872
+ <code>
873
+ [F]
874
+ </code>
875
+ </b>
876
+ </small>
877
+ field
878
+ </div>
879
+ </div>
880
+ </div>
881
+ </div>
882
+ <div
883
+ aria-expanded="false"
884
+ class="ui fluid selection scrolling pointing dropdown select-field-dropdown"
885
+ role="listbox"
886
+ tabindex="0"
887
+ >
888
+ <div
889
+ aria-atomic="true"
890
+ aria-live="polite"
891
+ class="divider text"
892
+ role="alert"
893
+ >
894
+ <div
895
+ class="ui blue label"
896
+ >
897
+ ParentTable
898
+ </div>
899
+ Column1
900
+ </div>
901
+ <i
902
+ aria-hidden="true"
903
+ class="dropdown icon"
904
+ />
905
+ <div
906
+ class="menu transition"
907
+ >
908
+ <div
909
+ aria-checked="true"
910
+ aria-selected="true"
911
+ class="active selected item"
912
+ role="option"
913
+ style="pointer-events: all;"
914
+ >
915
+ <div
916
+ class="ui blue label"
917
+ >
918
+ ParentTable
919
+ </div>
920
+ <span
921
+ class="text"
922
+ >
923
+ Column1
924
+ </span>
925
+ </div>
926
+ </div>
927
+ </div>
928
+ </div>
929
+ </div>
930
+ </div>
931
+ </div>
932
+ <div
933
+ class="six wide column"
934
+ >
935
+ <div
936
+ class="inline fields no-margin"
937
+ >
938
+ <div
939
+ class="field"
940
+ >
941
+ <div
942
+ class="ui input"
943
+ >
944
+ <input
945
+ autocomplete="off"
946
+ placeholder="alias"
947
+ type="text"
948
+ value="Column1"
949
+ />
950
+ </div>
951
+ </div>
952
+ </div>
953
+ </div>
954
+ </div>
955
+ </div>
956
+ </div>
957
+ </div>
958
+ <div
959
+ class="item"
960
+ role="listitem"
961
+ >
962
+ <button
963
+ class="ui button"
964
+ >
965
+ add_select_field
966
+ </button>
967
+ </div>
968
+ </div>
969
+ </div>
970
+ </div>
971
+ </div>
972
+ </div>
973
+ </div>
974
+ <div
975
+ class="ui hidden divider"
976
+ />
977
+ <div
978
+ class="actions"
979
+ >
980
+ <button
981
+ class="ui primary disabled button"
982
+ disabled=""
983
+ tabindex="-1"
984
+ >
985
+ save
986
+ </button>
987
+ <button
988
+ class="ui button"
989
+ >
990
+ cancel
991
+ </button>
992
+ <button
993
+ class="ui red button"
994
+ >
995
+ delete
996
+ </button>
997
+ </div>
998
+ </form>
999
+ </div>
1000
+ `;