@vuu-ui/vuu-filters 0.6.13-debug → 0.6.14-debug
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.
- package/cjs/index.js +59 -117
- package/cjs/index.js.map +4 -4
- package/esm/index.js +36 -94
- package/esm/index.js.map +4 -4
- package/package.json +6 -6
- package/types/filter-input/useCodeMirrorEditor.d.ts +4 -4
- package/types/filter-input/useFilterAutoComplete.d.ts +2 -2
- package/types/filter-input/useFilterSuggestionProvider.d.ts +2 -6
- package/types/filter-toolbar/FilterDropdown.d.ts +2 -2
- package/types/filter-toolbar/FilterDropdownMultiSelect.d.ts +2 -2
- package/types/filter-utils.d.ts +1 -3
- package/types/filter-input/codemirror-basic-setup.d.ts +0 -3
package/cjs/index.js
CHANGED
|
@@ -141,26 +141,16 @@ module.exports = __toCommonJS(src_exports);
|
|
|
141
141
|
var import_core = require("@salt-ds/core");
|
|
142
142
|
|
|
143
143
|
// src/filter-input/useCodeMirrorEditor.ts
|
|
144
|
-
var
|
|
144
|
+
var import_vuu_codemirror6 = require("@vuu-ui/vuu-codemirror");
|
|
145
145
|
var import_classnames = __toESM(require_classnames(), 1);
|
|
146
146
|
var import_react2 = require("react");
|
|
147
147
|
|
|
148
|
-
// src/filter-input/codemirror-basic-setup.ts
|
|
149
|
-
var import_vuu_codemirror = require("@vuu-ui/vuu-codemirror");
|
|
150
|
-
var minimalSetup = (() => [
|
|
151
|
-
(0, import_vuu_codemirror.highlightSpecialChars)(),
|
|
152
|
-
(0, import_vuu_codemirror.history)(),
|
|
153
|
-
(0, import_vuu_codemirror.drawSelection)(),
|
|
154
|
-
(0, import_vuu_codemirror.syntaxHighlighting)(import_vuu_codemirror.defaultHighlightStyle, { fallback: true }),
|
|
155
|
-
import_vuu_codemirror.keymap.of([...import_vuu_codemirror.defaultKeymap, ...import_vuu_codemirror.historyKeymap])
|
|
156
|
-
])();
|
|
157
|
-
|
|
158
148
|
// src/filter-input/filter-language-parser/FilterLanguage.ts
|
|
159
|
-
var
|
|
149
|
+
var import_vuu_codemirror2 = require("@vuu-ui/vuu-codemirror");
|
|
160
150
|
|
|
161
151
|
// src/filter-input/filter-language-parser/generated/filter-parser.js
|
|
162
|
-
var
|
|
163
|
-
var parser =
|
|
152
|
+
var import_vuu_codemirror = require("@vuu-ui/vuu-codemirror");
|
|
153
|
+
var parser = import_vuu_codemirror.LRParser.deserialize({
|
|
164
154
|
version: 14,
|
|
165
155
|
states: "%QOVQPOOOOQO'#C_'#C_O_QQO'#C^OOQO'#DO'#DOOvQQO'#C|OOQO'#DR'#DROVQPO'#CuOOQO'#C}'#C}QOQPOOOOQO'#C`'#C`O!UQQO,58xO!dQPO,59VOVQPO,59]OVQPO,59_O!iQPO,59hO!nQQO,59aOOQO'#DQ'#DQOOQO1G.d1G.dO!UQQO1G.qO!yQQO1G.wOOQO1G.y1G.yOOQO'#Cw'#CwOOQO1G/S1G/SOOQO1G.{1G.{O#[QPO'#CnO#dQPO7+$]O!UQQO'#CxO#iQPO,59YOOQO<<Gw<<GwOOQO,59d,59dOOQO-E6v-E6v",
|
|
166
156
|
stateData: "#q~OoOS~OsPOvUO~OTXOUXOVXOWXOXXOYXO`ZO~Of[Oh]Oj^OmpX~OZ`O[`O]`O^`O~OabO~OseO~Of[Oh]OwgO~Oh]Ofeijeimeiwei~OcjOdbX~OdlO~OcjOdba~O",
|
|
@@ -176,21 +166,21 @@ var parser = import_vuu_codemirror2.LRParser.deserialize({
|
|
|
176
166
|
});
|
|
177
167
|
|
|
178
168
|
// src/filter-input/filter-language-parser/FilterLanguage.ts
|
|
179
|
-
var filterLanguage =
|
|
169
|
+
var filterLanguage = import_vuu_codemirror2.LRLanguage.define({
|
|
180
170
|
name: "VuuFilterQuery",
|
|
181
171
|
parser: parser.configure({
|
|
182
172
|
props: [
|
|
183
|
-
(0,
|
|
184
|
-
Identifier:
|
|
185
|
-
String:
|
|
186
|
-
Or:
|
|
187
|
-
Operator:
|
|
173
|
+
(0, import_vuu_codemirror2.styleTags)({
|
|
174
|
+
Identifier: import_vuu_codemirror2.tags.variableName,
|
|
175
|
+
String: import_vuu_codemirror2.tags.string,
|
|
176
|
+
Or: import_vuu_codemirror2.tags.emphasis,
|
|
177
|
+
Operator: import_vuu_codemirror2.tags.operator
|
|
188
178
|
})
|
|
189
179
|
]
|
|
190
180
|
})
|
|
191
181
|
});
|
|
192
182
|
var filterLanguageSupport = () => {
|
|
193
|
-
return new
|
|
183
|
+
return new import_vuu_codemirror2.LanguageSupport(filterLanguage);
|
|
194
184
|
};
|
|
195
185
|
|
|
196
186
|
// src/filter-input/filter-language-parser/FilterTreeWalker.ts
|
|
@@ -309,16 +299,16 @@ var walkTree = (tree, source) => {
|
|
|
309
299
|
};
|
|
310
300
|
|
|
311
301
|
// src/filter-input/highlighting.ts
|
|
312
|
-
var
|
|
313
|
-
var myHighlightStyle =
|
|
314
|
-
{ tag:
|
|
315
|
-
{ tag:
|
|
302
|
+
var import_vuu_codemirror3 = require("@vuu-ui/vuu-codemirror");
|
|
303
|
+
var myHighlightStyle = import_vuu_codemirror3.HighlightStyle.define([
|
|
304
|
+
{ tag: import_vuu_codemirror3.tags.variableName, color: "var(--vuuFilterEditor-variableColor)" },
|
|
305
|
+
{ tag: import_vuu_codemirror3.tags.comment, color: "green", fontStyle: "italic" }
|
|
316
306
|
]);
|
|
317
|
-
var vuuHighlighting = (0,
|
|
307
|
+
var vuuHighlighting = (0, import_vuu_codemirror3.syntaxHighlighting)(myHighlightStyle);
|
|
318
308
|
|
|
319
309
|
// src/filter-input/theme.ts
|
|
320
|
-
var
|
|
321
|
-
var vuuTheme =
|
|
310
|
+
var import_vuu_codemirror4 = require("@vuu-ui/vuu-codemirror");
|
|
311
|
+
var vuuTheme = import_vuu_codemirror4.EditorView.theme(
|
|
322
312
|
{
|
|
323
313
|
"&": {
|
|
324
314
|
color: "var(--vuuFilterEditor-color)",
|
|
@@ -391,36 +381,21 @@ var vuuTheme = import_vuu_codemirror5.EditorView.theme(
|
|
|
391
381
|
);
|
|
392
382
|
|
|
393
383
|
// src/filter-input/useFilterAutoComplete.ts
|
|
394
|
-
var
|
|
384
|
+
var import_vuu_codemirror5 = require("@vuu-ui/vuu-codemirror");
|
|
395
385
|
var import_react = require("react");
|
|
396
|
-
var getValue = (node, state) => state.doc.sliceString(node.from, node.to);
|
|
397
|
-
var getColumnName = (node, state) => {
|
|
398
|
-
var _a;
|
|
399
|
-
if (((_a = node.firstChild) == null ? void 0 : _a.name) === "Column") {
|
|
400
|
-
return getValue(node.firstChild, state);
|
|
401
|
-
} else {
|
|
402
|
-
let maybeColumnNode = node.prevSibling || node.parent;
|
|
403
|
-
while (maybeColumnNode && maybeColumnNode.name !== "Column") {
|
|
404
|
-
maybeColumnNode = maybeColumnNode.prevSibling || maybeColumnNode.parent;
|
|
405
|
-
}
|
|
406
|
-
if (maybeColumnNode) {
|
|
407
|
-
return getValue(maybeColumnNode, state);
|
|
408
|
-
}
|
|
409
|
-
}
|
|
410
|
-
};
|
|
411
386
|
var getOperator = (node, state) => {
|
|
412
387
|
let maybeColumnNode = node.prevSibling || node.parent;
|
|
413
388
|
while (maybeColumnNode && !["Column", "Operator", "In"].includes(maybeColumnNode.name)) {
|
|
414
389
|
maybeColumnNode = maybeColumnNode.prevSibling || maybeColumnNode.parent;
|
|
415
390
|
}
|
|
416
391
|
if ((maybeColumnNode == null ? void 0 : maybeColumnNode.name) === "In" || (maybeColumnNode == null ? void 0 : maybeColumnNode.name) === "Operator") {
|
|
417
|
-
return getValue(maybeColumnNode, state);
|
|
392
|
+
return (0, import_vuu_codemirror5.getValue)(maybeColumnNode, state);
|
|
418
393
|
} else {
|
|
419
394
|
return void 0;
|
|
420
395
|
}
|
|
421
396
|
};
|
|
422
397
|
var getPartialOperator = (maybeOperatorNode, state, columnName) => {
|
|
423
|
-
const value = getValue(maybeOperatorNode, state);
|
|
398
|
+
const value = (0, import_vuu_codemirror5.getValue)(maybeOperatorNode, state);
|
|
424
399
|
if (columnName === void 0 || value === columnName) {
|
|
425
400
|
return;
|
|
426
401
|
}
|
|
@@ -437,7 +412,7 @@ var getClauseOperator = (node, state) => {
|
|
|
437
412
|
while (maybeTargetNode && maybeTargetNode.name === "\u26A0")
|
|
438
413
|
maybeTargetNode = maybeTargetNode.prevSibling;
|
|
439
414
|
if (maybeTargetNode && ["As", "Or", "And"].includes(maybeTargetNode.name)) {
|
|
440
|
-
return getValue(maybeTargetNode, state);
|
|
415
|
+
return (0, import_vuu_codemirror5.getValue)(maybeTargetNode, state);
|
|
441
416
|
} else {
|
|
442
417
|
return void 0;
|
|
443
418
|
}
|
|
@@ -446,7 +421,7 @@ var getSetValues = (node, state) => {
|
|
|
446
421
|
let maybeTargetNode = node.lastChild;
|
|
447
422
|
const values = [];
|
|
448
423
|
while (maybeTargetNode && maybeTargetNode.name !== "In") {
|
|
449
|
-
const value = getValue(maybeTargetNode, state);
|
|
424
|
+
const value = (0, import_vuu_codemirror5.getValue)(maybeTargetNode, state);
|
|
450
425
|
if (value) {
|
|
451
426
|
values.push(value);
|
|
452
427
|
} else {
|
|
@@ -465,11 +440,6 @@ var promptForFilterName = (context) => ({
|
|
|
465
440
|
}
|
|
466
441
|
]
|
|
467
442
|
});
|
|
468
|
-
var joinSuggestions = [
|
|
469
|
-
{ label: "and", apply: "and ", boost: 5 },
|
|
470
|
-
{ label: "or", apply: "or ", boost: 3 },
|
|
471
|
-
{ label: "as", apply: "as ", boost: 1 }
|
|
472
|
-
];
|
|
473
443
|
var makeSaveOrExtendSuggestions = (onSubmit, existingFilter, withJoinSuggestions = true) => {
|
|
474
444
|
const result = existingFilter ? [
|
|
475
445
|
{
|
|
@@ -494,7 +464,7 @@ var makeSaveOrExtendSuggestions = (onSubmit, existingFilter, withJoinSuggestions
|
|
|
494
464
|
boost: 6
|
|
495
465
|
}
|
|
496
466
|
];
|
|
497
|
-
return withJoinSuggestions ? result.concat(
|
|
467
|
+
return withJoinSuggestions ? result.concat(import_vuu_codemirror5.booleanJoinSuggestions).concat(import_vuu_codemirror5.asNameSuggestion) : result;
|
|
498
468
|
};
|
|
499
469
|
var promptToSaveOrExtend = (context, onSubmit, existingFilter) => ({
|
|
500
470
|
from: context.pos,
|
|
@@ -525,7 +495,7 @@ var useAutoComplete = (suggestionProvider, onSubmit, existingFilter) => {
|
|
|
525
495
|
to: 0,
|
|
526
496
|
text: void 0
|
|
527
497
|
};
|
|
528
|
-
const tree = (0,
|
|
498
|
+
const tree = (0, import_vuu_codemirror5.syntaxTree)(state);
|
|
529
499
|
const nodeBefore = tree.resolveInner(pos, -1);
|
|
530
500
|
console.log({ nodeBeforeName: nodeBefore.name });
|
|
531
501
|
switch (nodeBefore.name) {
|
|
@@ -549,7 +519,7 @@ var useAutoComplete = (suggestionProvider, onSubmit, existingFilter) => {
|
|
|
549
519
|
case "FilterName":
|
|
550
520
|
return promptToSave(context, onSubmit.current, existingFilter);
|
|
551
521
|
case "Column": {
|
|
552
|
-
const columnName = getValue(nodeBefore, state);
|
|
522
|
+
const columnName = (0, import_vuu_codemirror5.getValue)(nodeBefore, state);
|
|
553
523
|
const isPartialMatch = await suggestionProvider.isPartialMatch(
|
|
554
524
|
"column",
|
|
555
525
|
void 0,
|
|
@@ -564,7 +534,7 @@ var useAutoComplete = (suggestionProvider, onSubmit, existingFilter) => {
|
|
|
564
534
|
}
|
|
565
535
|
}
|
|
566
536
|
case "\u26A0": {
|
|
567
|
-
const columnName =
|
|
537
|
+
const columnName = (0, import_vuu_codemirror5.getNodeByName)(nodeBefore, state);
|
|
568
538
|
const operator = getOperator(nodeBefore, state);
|
|
569
539
|
const partialOperator = operator ? void 0 : getPartialOperator(nodeBefore, state, columnName);
|
|
570
540
|
if (partialOperator) {
|
|
@@ -599,7 +569,7 @@ var useAutoComplete = (suggestionProvider, onSubmit, existingFilter) => {
|
|
|
599
569
|
break;
|
|
600
570
|
case "ColumnSetExpression":
|
|
601
571
|
case "Values": {
|
|
602
|
-
const columnName =
|
|
572
|
+
const columnName = (0, import_vuu_codemirror5.getNodeByName)(nodeBefore, state);
|
|
603
573
|
const selection = getSetValues(nodeBefore, state);
|
|
604
574
|
return makeSuggestions(context, "columnValue", {
|
|
605
575
|
columnName,
|
|
@@ -608,7 +578,7 @@ var useAutoComplete = (suggestionProvider, onSubmit, existingFilter) => {
|
|
|
608
578
|
}
|
|
609
579
|
case "Comma":
|
|
610
580
|
case "LBrack": {
|
|
611
|
-
const columnName =
|
|
581
|
+
const columnName = (0, import_vuu_codemirror5.getNodeByName)(nodeBefore, state);
|
|
612
582
|
return makeSuggestions(context, "columnValue", { columnName });
|
|
613
583
|
}
|
|
614
584
|
case "ColumnValueExpression":
|
|
@@ -616,12 +586,12 @@ var useAutoComplete = (suggestionProvider, onSubmit, existingFilter) => {
|
|
|
616
586
|
const lastToken = (_b = nodeBefore.lastChild) == null ? void 0 : _b.prevSibling;
|
|
617
587
|
if ((lastToken == null ? void 0 : lastToken.name) === "Column") {
|
|
618
588
|
return makeSuggestions(context, "operator", {
|
|
619
|
-
columnName:
|
|
589
|
+
columnName: (0, import_vuu_codemirror5.getNodeByName)(nodeBefore, state)
|
|
620
590
|
});
|
|
621
591
|
} else if ((lastToken == null ? void 0 : lastToken.name) === "Operator") {
|
|
622
592
|
return makeSuggestions(context, "columnValue", {
|
|
623
|
-
columnName:
|
|
624
|
-
operator: getValue(lastToken, state)
|
|
593
|
+
columnName: (0, import_vuu_codemirror5.getNodeByName)(lastToken, state),
|
|
594
|
+
operator: (0, import_vuu_codemirror5.getValue)(lastToken, state)
|
|
625
595
|
});
|
|
626
596
|
}
|
|
627
597
|
}
|
|
@@ -634,7 +604,7 @@ var useAutoComplete = (suggestionProvider, onSubmit, existingFilter) => {
|
|
|
634
604
|
}
|
|
635
605
|
case "Eq": {
|
|
636
606
|
return makeSuggestions(context, "columnValue", {
|
|
637
|
-
columnName:
|
|
607
|
+
columnName: (0, import_vuu_codemirror5.getNodeByName)(nodeBefore, state)
|
|
638
608
|
});
|
|
639
609
|
}
|
|
640
610
|
case "AndExpression":
|
|
@@ -686,7 +656,7 @@ var useCodeMirrorEditor = ({
|
|
|
686
656
|
const parseFilter2 = () => {
|
|
687
657
|
const view = getView(viewRef);
|
|
688
658
|
const source = view.state.doc.toString();
|
|
689
|
-
const tree = (0,
|
|
659
|
+
const tree = (0, import_vuu_codemirror6.ensureSyntaxTree)(view.state, view.state.doc.length, 5e3);
|
|
690
660
|
if (tree) {
|
|
691
661
|
const filter = walkTree(tree, source);
|
|
692
662
|
return [filter, stripName(source), filter.name];
|
|
@@ -703,7 +673,7 @@ var useCodeMirrorEditor = ({
|
|
|
703
673
|
clearInput2();
|
|
704
674
|
};
|
|
705
675
|
const submitFilter = (key) => {
|
|
706
|
-
return
|
|
676
|
+
return import_vuu_codemirror6.keymap.of([
|
|
707
677
|
{
|
|
708
678
|
key,
|
|
709
679
|
run() {
|
|
@@ -714,35 +684,35 @@ var useCodeMirrorEditor = ({
|
|
|
714
684
|
]);
|
|
715
685
|
};
|
|
716
686
|
const showSuggestions = (key) => {
|
|
717
|
-
return
|
|
687
|
+
return import_vuu_codemirror6.keymap.of([
|
|
718
688
|
{
|
|
719
689
|
key,
|
|
720
690
|
run() {
|
|
721
|
-
(0,
|
|
691
|
+
(0, import_vuu_codemirror6.startCompletion)(getView(viewRef));
|
|
722
692
|
return true;
|
|
723
693
|
}
|
|
724
694
|
}
|
|
725
695
|
]);
|
|
726
696
|
};
|
|
727
|
-
const createState2 = () =>
|
|
697
|
+
const createState2 = () => import_vuu_codemirror6.EditorState.create({
|
|
728
698
|
doc: "",
|
|
729
699
|
extensions: [
|
|
730
|
-
minimalSetup,
|
|
731
|
-
(0,
|
|
700
|
+
import_vuu_codemirror6.minimalSetup,
|
|
701
|
+
(0, import_vuu_codemirror6.autocompletion)({
|
|
732
702
|
override: [completionFn],
|
|
733
703
|
optionClass: getOptionClass
|
|
734
704
|
}),
|
|
735
705
|
filterLanguageSupport(),
|
|
736
|
-
|
|
706
|
+
import_vuu_codemirror6.keymap.of(import_vuu_codemirror6.defaultKeymap),
|
|
737
707
|
submitFilter("Ctrl-Enter"),
|
|
738
708
|
showSuggestions("ArrowDown"),
|
|
739
|
-
|
|
709
|
+
import_vuu_codemirror6.EditorView.updateListener.of((v) => {
|
|
740
710
|
const view = getView(viewRef);
|
|
741
711
|
if (v.docChanged) {
|
|
742
|
-
(0,
|
|
712
|
+
(0, import_vuu_codemirror6.startCompletion)(view);
|
|
743
713
|
}
|
|
744
714
|
}),
|
|
745
|
-
|
|
715
|
+
import_vuu_codemirror6.EditorState.transactionFilter.of(
|
|
746
716
|
(tr) => tr.newDoc.lines > 1 ? [] : tr
|
|
747
717
|
),
|
|
748
718
|
vuuTheme,
|
|
@@ -761,7 +731,7 @@ var useCodeMirrorEditor = ({
|
|
|
761
731
|
if (!editorRef.current) {
|
|
762
732
|
throw Error("editor not in dom");
|
|
763
733
|
}
|
|
764
|
-
viewRef.current = new
|
|
734
|
+
viewRef.current = new import_vuu_codemirror6.EditorView({
|
|
765
735
|
state: createState(),
|
|
766
736
|
parent: editorRef.current
|
|
767
737
|
});
|
|
@@ -803,6 +773,7 @@ var FilterInput = ({
|
|
|
803
773
|
};
|
|
804
774
|
|
|
805
775
|
// src/filter-input/useFilterSuggestionProvider.ts
|
|
776
|
+
var import_vuu_codemirror7 = require("@vuu-ui/vuu-codemirror");
|
|
806
777
|
var import_vuu_data = require("@vuu-ui/vuu-data");
|
|
807
778
|
var import_react3 = require("react");
|
|
808
779
|
|
|
@@ -821,7 +792,7 @@ var filterInfo = (filterName, filterQuery) => {
|
|
|
821
792
|
|
|
822
793
|
// src/filter-input/useFilterSuggestionProvider.ts
|
|
823
794
|
var NO_NAMED_FILTERS = [];
|
|
824
|
-
var
|
|
795
|
+
var NONE = {};
|
|
825
796
|
var suggestColumns = (columns) => columns.map((column) => ({
|
|
826
797
|
boost: 5,
|
|
827
798
|
label: column.name
|
|
@@ -837,39 +808,10 @@ var doneCommand = {
|
|
|
837
808
|
type: "keyword",
|
|
838
809
|
boost: 10
|
|
839
810
|
};
|
|
840
|
-
var equalityOperators = [
|
|
841
|
-
{ label: "=", boost: 10 },
|
|
842
|
-
{ label: "!=", boost: 9 }
|
|
843
|
-
];
|
|
844
|
-
var stringOperators = [
|
|
845
|
-
...equalityOperators,
|
|
846
|
-
{ label: "in", boost: 6 },
|
|
847
|
-
{ label: "starts", boost: 5 },
|
|
848
|
-
{ label: "ends", boost: 4 }
|
|
849
|
-
];
|
|
850
|
-
var numericOperators = [
|
|
851
|
-
...equalityOperators,
|
|
852
|
-
{ label: ">", boost: 8 },
|
|
853
|
-
{ label: "<", boost: 7 }
|
|
854
|
-
];
|
|
855
|
-
var toSuggestions = (values, quoted = false, prefix = "", isIllustration = false) => {
|
|
856
|
-
const quote = quoted ? '"' : "";
|
|
857
|
-
return values.map((value) => ({
|
|
858
|
-
isIllustration,
|
|
859
|
-
label: value,
|
|
860
|
-
apply: isIllustration ? `${quote}${prefix}${quote}` : `${prefix}${quote}${value}${quote} `
|
|
861
|
-
}));
|
|
862
|
-
};
|
|
863
811
|
var withApplySpace = (suggestions, startsWith = "") => suggestions.filter((sugg) => startsWith === "" || sugg.label.startsWith(startsWith)).map((suggestion) => ({
|
|
864
812
|
...suggestion,
|
|
865
813
|
apply: suggestion.label + " "
|
|
866
814
|
}));
|
|
867
|
-
var getTypeaheadParams = (table, column, text = "", selectedValues = []) => {
|
|
868
|
-
if (text !== "" && !selectedValues.includes(text.toLowerCase())) {
|
|
869
|
-
return [table, column, text];
|
|
870
|
-
}
|
|
871
|
-
return [table, column];
|
|
872
|
-
};
|
|
873
815
|
var useFilterSuggestionProvider = ({
|
|
874
816
|
columns,
|
|
875
817
|
namedFilters,
|
|
@@ -878,23 +820,24 @@ var useFilterSuggestionProvider = ({
|
|
|
878
820
|
const latestSuggestionsRef = (0, import_react3.useRef)();
|
|
879
821
|
const getTypeaheadSuggestions = (0, import_vuu_data.useTypeaheadSuggestions)();
|
|
880
822
|
const getSuggestions = (0, import_react3.useCallback)(
|
|
881
|
-
async (
|
|
882
|
-
|
|
823
|
+
async (suggestionType, options = NONE) => {
|
|
824
|
+
const { columnName, operator, startsWith, selection } = options;
|
|
825
|
+
if (suggestionType === "operator") {
|
|
883
826
|
const column = columns.find((col) => col.name === columnName);
|
|
884
827
|
if (column) {
|
|
885
828
|
switch (column.serverDataType) {
|
|
886
829
|
case "string":
|
|
887
830
|
case "char":
|
|
888
|
-
return withApplySpace(stringOperators, startsWith);
|
|
831
|
+
return withApplySpace(import_vuu_codemirror7.stringOperators, startsWith);
|
|
889
832
|
case "int":
|
|
890
833
|
case "long":
|
|
891
834
|
case "double":
|
|
892
|
-
return withApplySpace(numericOperators);
|
|
835
|
+
return withApplySpace(import_vuu_codemirror7.numericOperators);
|
|
893
836
|
}
|
|
894
837
|
} else {
|
|
895
838
|
console.warn(`'${columnName}' does not match any column name`);
|
|
896
839
|
}
|
|
897
|
-
} else if (
|
|
840
|
+
} else if (suggestionType === "column") {
|
|
898
841
|
const columnSuggestions = await suggestColumns(columns);
|
|
899
842
|
const filterSuggestions = await suggestNamedFilters(namedFilters);
|
|
900
843
|
return (latestSuggestionsRef.current = withApplySpace(columnSuggestions)).concat(
|
|
@@ -904,15 +847,14 @@ var useFilterSuggestionProvider = ({
|
|
|
904
847
|
if (columnName) {
|
|
905
848
|
const column = columns.find((col) => col.name === columnName);
|
|
906
849
|
const prefix = Array.isArray(selection) ? selection.length === 0 ? "[" : "," : "";
|
|
907
|
-
const params = getTypeaheadParams(table, columnName, startsWith);
|
|
850
|
+
const params = (0, import_vuu_data.getTypeaheadParams)(table, columnName, startsWith);
|
|
908
851
|
const suggestions = await getTypeaheadSuggestions(params);
|
|
909
852
|
const isIllustration = operator === "starts";
|
|
910
|
-
latestSuggestionsRef.current = toSuggestions(
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
isIllustration ? startsWith : prefix,
|
|
853
|
+
latestSuggestionsRef.current = (0, import_vuu_codemirror7.toSuggestions)(suggestions, {
|
|
854
|
+
quoted: (column == null ? void 0 : column.serverDataType) === "string",
|
|
855
|
+
prefix: isIllustration ? startsWith : prefix,
|
|
914
856
|
isIllustration
|
|
915
|
-
);
|
|
857
|
+
});
|
|
916
858
|
if (Array.isArray(selection) && (selection == null ? void 0 : selection.length) > 1) {
|
|
917
859
|
return [doneCommand, ...latestSuggestionsRef.current];
|
|
918
860
|
}
|
|
@@ -1332,7 +1274,7 @@ var includesNoValues = (filter) => {
|
|
|
1332
1274
|
return isAndFilter(filter) && filter.filters.some((f) => includesNoValues(f));
|
|
1333
1275
|
};
|
|
1334
1276
|
var filterValue = (value) => typeof value === "string" ? `"${value}"` : value;
|
|
1335
|
-
var filterAsQuery = (f
|
|
1277
|
+
var filterAsQuery = (f) => {
|
|
1336
1278
|
if (isMultiClauseFilter2(f)) {
|
|
1337
1279
|
return f.filters.map((filter) => filterAsQuery(filter)).join(` ${f.op} `);
|
|
1338
1280
|
} else if (isMultiValueFilter2(f)) {
|