@svgrid/grid 2.6.3 → 2.6.5
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/dist/SvGrid.controller.svelte.d.ts +2 -1
- package/dist/SvGrid.controller.svelte.js +145 -3
- package/dist/SvGrid.css +32 -0
- package/dist/SvGrid.svelte +64 -6
- package/dist/SvGrid.types.d.ts +61 -0
- package/dist/a11y/grid-announcements.d.ts +58 -0
- package/dist/a11y/grid-announcements.js +70 -0
- package/dist/advanced-filter.svelte.d.ts +42 -0
- package/dist/advanced-filter.svelte.js +13 -0
- package/dist/build-api.js +44 -2
- package/dist/cdn/{GridMenus-BoVKgAv8.js → GridMenus-CBvjL5u4.js} +14 -14
- package/dist/cdn/{GridMenus-DL1zrDwf.js → GridMenus-DAzp6YXc.js} +14 -14
- package/dist/cdn/{src-M2NfKnjX.js → src-3WKN7L4G.js} +5932 -5743
- package/dist/cdn/{src-CEpw6Ato.js → src-Cl7h5-Ux.js} +3371 -3182
- package/dist/cdn/svgrid.js +8 -8
- package/dist/cdn/svgrid.svelte-external.js +8 -8
- package/dist/filter-operators.d.ts +2 -1
- package/dist/filter-operators.js +5 -6
- package/dist/filtering/excel-filters.d.ts +1 -0
- package/dist/filtering/excel-filters.js +5 -0
- package/dist/filtering/filter-operator-catalogue.d.ts +42 -0
- package/dist/filtering/filter-operator-catalogue.js +42 -0
- package/dist/filtering/predicate-expr.d.ts +78 -0
- package/dist/filtering/predicate-expr.js +1 -0
- package/dist/filtering/row-predicate.d.ts +17 -0
- package/dist/filtering/row-predicate.js +55 -0
- package/dist/grid-messages.d.ts +7 -0
- package/dist/grid-messages.js +7 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +5 -0
- package/dist/server-data-source.d.ts +34 -0
- package/dist/server-data-source.js +19 -0
- package/dist/svgrid-wrapper.types.d.ts +37 -5
- package/dist/themes/index.js +12 -4
- package/package.json +2 -1
- package/src/SvGrid.controller.svelte.ts +169 -2
- package/src/SvGrid.css +32 -0
- package/src/SvGrid.svelte +64 -6
- package/src/SvGrid.types.ts +61 -0
- package/src/a11y/grid-announcements.test.ts +78 -0
- package/src/a11y/grid-announcements.ts +94 -0
- package/src/a11y.announce.test.ts +250 -0
- package/src/a11y.axe.test.ts +194 -0
- package/src/advanced-filter.svelte.ts +59 -0
- package/src/build-api.ts +43 -2
- package/src/filter-operators.ts +9 -6
- package/src/filtering/excel-filters.ts +15 -0
- package/src/filtering/filter-operator-catalogue.ts +74 -0
- package/src/filtering/node-entry.test.ts +75 -0
- package/src/filtering/predicate-expr.ts +50 -0
- package/src/filtering/row-predicate.ts +57 -0
- package/src/grid-messages.ts +18 -0
- package/src/index.ts +28 -0
- package/src/server-data-source.test.ts +94 -0
- package/src/server-data-source.ts +56 -0
- package/src/svgrid-wrapper.types.ts +37 -5
- package/src/svgrid.advanced-filter.test.ts +481 -0
- package/src/svgrid.displayed-rows.test.ts +144 -0
- package/src/svgrid.group-props-reactive.svelte.test.ts +151 -0
- package/src/svgrid.group-props.test.ts +280 -0
- package/src/themes/contrast.test.ts +112 -0
- package/src/themes/index.ts +12 -4
- package/themes/catppuccin.css +3 -3
- package/themes/dracula.css +3 -3
- package/themes/nord.css +3 -3
- package/themes/notion.css +4 -4
package/dist/build-api.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import "./sv-grid-scrollbar";
|
|
2
2
|
import { untrack } from "svelte";
|
|
3
3
|
import { isGroupRow, getColumnAlign, columnDefMatchesId, } from "./cell-values";
|
|
4
|
+
import { hasAdvancedFilterEngine } from "./advanced-filter.svelte";
|
|
4
5
|
export function createGridApi(ctx) {
|
|
5
6
|
function buildApi() {
|
|
6
7
|
const findColumn = (columnId) => ctx.grid.getAllColumns().find((column) => column.id === columnId);
|
|
@@ -335,14 +336,35 @@ export function createGridApi(ctx) {
|
|
|
335
336
|
// See `setFilter` for why the read-modify-write is untracked.
|
|
336
337
|
untrack(() => {
|
|
337
338
|
// Wipe every filter surface in one go: column-menu, filter-row, set
|
|
338
|
-
// filters,
|
|
339
|
+
// filters, the global search box, and the advanced filter. This
|
|
340
|
+
// promises "every filter surface", so leaving the advanced one set
|
|
341
|
+
// would strand rows nobody can see a cause for.
|
|
339
342
|
ctx.filterMenuValues = {};
|
|
340
343
|
ctx.filterRowValues = {};
|
|
341
344
|
ctx.valueFilters = {};
|
|
342
345
|
if (ctx.globalFilter !== "")
|
|
343
346
|
ctx.globalFilter = "";
|
|
347
|
+
if (ctx.advancedFilter !== null)
|
|
348
|
+
ctx.advancedFilter = null;
|
|
344
349
|
});
|
|
345
350
|
},
|
|
351
|
+
setAdvancedFilter(expr) {
|
|
352
|
+
// See `setFilter` for why the write is untracked.
|
|
353
|
+
untrack(() => {
|
|
354
|
+
ctx.advancedFilter = expr ?? null;
|
|
355
|
+
});
|
|
356
|
+
},
|
|
357
|
+
getAdvancedFilter() {
|
|
358
|
+
return ctx.advancedFilter ?? null;
|
|
359
|
+
},
|
|
360
|
+
clearAdvancedFilter() {
|
|
361
|
+
untrack(() => {
|
|
362
|
+
ctx.advancedFilter = null;
|
|
363
|
+
});
|
|
364
|
+
},
|
|
365
|
+
isAdvancedFilterActive() {
|
|
366
|
+
return ctx.advancedFilter != null && hasAdvancedFilterEngine();
|
|
367
|
+
},
|
|
346
368
|
getFilters() {
|
|
347
369
|
// Return a defensive copy so callers can't mutate internal state.
|
|
348
370
|
const out = {};
|
|
@@ -361,9 +383,14 @@ export function createGridApi(ctx) {
|
|
|
361
383
|
// `allRows` is the final, post-filter, post-sort, post-group,
|
|
362
384
|
// post-pagination list - exactly what the body renders. Skip group
|
|
363
385
|
// header rows (they wrap an aggregate, not a TData row).
|
|
386
|
+
//
|
|
387
|
+
// `isGroupRow` rather than a `subRows.length` test: a TREE parent also
|
|
388
|
+
// has subRows, but it is a real data row that renders its own cells, so
|
|
389
|
+
// dropping it here silently truncated every tree read - including the
|
|
390
|
+
// enterprise export, whose default row source is this method.
|
|
364
391
|
const out = [];
|
|
365
392
|
for (const row of ctx.allRows) {
|
|
366
|
-
if (row
|
|
393
|
+
if (isGroupRow(row))
|
|
367
394
|
continue;
|
|
368
395
|
out.push(row.original);
|
|
369
396
|
}
|
|
@@ -392,6 +419,10 @@ export function createGridApi(ctx) {
|
|
|
392
419
|
// editorType-based default the body uses.
|
|
393
420
|
format: c.columnDef.format,
|
|
394
421
|
align: getColumnAlign(c),
|
|
422
|
+
// The column's declared value type. Lets a filter or expression UI
|
|
423
|
+
// offer the right operators (numeric ranges vs text matching) without
|
|
424
|
+
// re-walking the columnDef tree.
|
|
425
|
+
editorType: c.columnDef.editorType,
|
|
395
426
|
});
|
|
396
427
|
// Visible columns first, in their current visual order...
|
|
397
428
|
const out = ctx.allColumns.map((c) => describe(c, true));
|
|
@@ -666,6 +697,11 @@ export function createGridApi(ctx) {
|
|
|
666
697
|
k,
|
|
667
698
|
Array.from(set),
|
|
668
699
|
])),
|
|
700
|
+
// Emitted only when set. `attachAutoSavedView` diffs
|
|
701
|
+
// JSON.stringify(getState()) on a timer, so adding an always-present
|
|
702
|
+
// key would change every existing snapshot and force one spurious
|
|
703
|
+
// save in every app on upgrade.
|
|
704
|
+
...(ctx.advancedFilter ? { advancedFilter: ctx.advancedFilter } : {}),
|
|
669
705
|
...(ctx.chartingEnabled
|
|
670
706
|
? {
|
|
671
707
|
chart: {
|
|
@@ -726,6 +762,12 @@ export function createGridApi(ctx) {
|
|
|
726
762
|
next[k] = new Set(arr);
|
|
727
763
|
ctx.valueFilters = next;
|
|
728
764
|
}
|
|
765
|
+
// `in` rather than a truthiness check, so an explicit null clears while
|
|
766
|
+
// an absent key leaves the current filter alone (the documented
|
|
767
|
+
// "only the keys present are applied" contract).
|
|
768
|
+
if ("advancedFilter" in state) {
|
|
769
|
+
ctx.advancedFilter = state.advancedFilter ?? null;
|
|
770
|
+
}
|
|
729
771
|
if ((state.chart || state.charts) && ctx.chartingEnabled) {
|
|
730
772
|
if (Array.isArray(state.charts) && state.charts.length) {
|
|
731
773
|
ctx.applyChartsState(state.charts, state.chartActive);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Kn as e, co as t, lo as n, so as r } from "./src-Cl7h5-Ux.js";
|
|
2
2
|
import { l as i } from "./SvDateTimePicker-CHnUkWcH.js";
|
|
3
3
|
import * as a from "svelte/internal/client";
|
|
4
4
|
import "svelte/internal/disclose-version";
|
|
@@ -6,8 +6,8 @@ import "svelte/internal/disclose-version";
|
|
|
6
6
|
var o = a.from_html("<option> </option>"), s = a.from_html("<input class=\"sv-grid-menu-condition-value\" placeholder=\"To\"/>"), c = a.from_html("<option> </option>"), l = a.from_html("<input class=\"sv-grid-menu-condition-value\" placeholder=\"To\"/>"), u = a.from_html("<input class=\"sv-grid-menu-condition-value\"/> <!>", 1), d = a.from_html("<div class=\"sv-grid-menu-join\" role=\"radiogroup\" aria-label=\"Combine conditions\"><button type=\"button\">AND</button> <button type=\"button\">OR</button> <button type=\"button\" class=\"sv-grid-menu-join-x\" title=\"Remove second condition\" aria-label=\"Remove second condition\">×</button></div> <select class=\"sv-grid-menu-operator-select\" aria-label=\"Second filter condition\"></select> <!>", 1), f = a.from_html("<button type=\"button\" class=\"sv-grid-menu-add-cond\">+ Add condition</button>"), p = a.from_html("<input class=\"sv-grid-menu-condition-value\"/> <!> <!>", 1), m = a.from_html("<div class=\"sv-grid-facet-empty\">No values</div>"), h = a.from_html("<div class=\"sv-grid-facet-note\"> </div>"), g = a.from_html("<div class=\"sv-grid-menu-filter\"><div class=\"sv-grid-menu-filter-head\"><span class=\"sv-grid-header-icon\"><!></span> Filter\n condition</div> <select class=\"sv-grid-menu-operator-select\" aria-label=\"Filter condition\"></select> <!> <div class=\"sv-grid-menu-sep\"></div> <div class=\"sv-grid-menu-filter-head\">Values</div> <input class=\"sv-grid-menu-search\" placeholder=\"Search values...\"/> <label class=\"sv-grid-facet sv-grid-facet-all\"><input type=\"checkbox\"/> <span class=\"sv-grid-facet-label\">(Select all)</span></label> <!> <!> <div class=\"sv-grid-menu-actions\"><button type=\"button\" class=\"sv-grid-menu-btn\">Clear filter</button> <button type=\"button\" class=\"sv-grid-menu-btn sv-grid-menu-btn-primary\">Done</button></div></div>"), _ = a.from_html("<div role=\"tooltip\"> </div>"), v = a.from_html("<div class=\"sv-grid-menu-backdrop\" role=\"presentation\"></div>"), y = a.from_html("<button type=\"button\" role=\"tab\">Filter</button>"), b = a.from_html("<div class=\"sv-grid-menu-tabs\" role=\"tablist\"><button type=\"button\" role=\"tab\">General</button> <!> <button type=\"button\" role=\"tab\">Columns</button></div>"), x = a.from_html("<div class=\"sv-grid-menu-filter-head\">Visible columns</div> <!>", 1), S = a.from_html("<button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Sort\n ascending</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Sort\n descending</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Remove sort</button>", 1), ee = a.from_html("<div class=\"sv-grid-menu-sep\"></div> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Pin to left</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Pin to right</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Unpin column</button>", 1), C = a.from_html("<div class=\"sv-grid-menu-sep\"></div> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Group\n by this column</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Remove grouping</button>", 1), w = a.from_html("<button type=\"button\" role=\"menuitem\" aria-haspopup=\"menu\"><span class=\"sv-grid-header-icon\"><!></span> Choose columns <span class=\"sv-grid-header-icon sv-grid-menu-item-chevron\"><!></span></button>"), T = a.from_html("<!> <!> <div class=\"sv-grid-menu-sep\"></div> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Autosize\n this column</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Autosize\n all columns</button> <!> <div class=\"sv-grid-menu-sep\"></div> <!> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Reset columns</button>", 1), te = a.from_html("<div class=\"sv-grid-menu sv-grid-column-menu\" role=\"menu\"><!> <!></div>"), E = a.from_html("<div class=\"sv-grid-menu sv-grid-filter-menu\" role=\"menu\"><!></div>"), D = a.from_html("<div class=\"sv-grid-menu sv-grid-choose-columns-menu\" role=\"menu\"><div class=\"sv-grid-menu-filter-head\">Visible columns</div> <!></div>"), O = a.from_html("<button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitemradio\"><span class=\"sv-grid-header-icon\"><!></span> </button>"), k = a.from_html("<div class=\"sv-grid-menu sv-grid-operator-menu\" role=\"menu\"></div>"), ne = a.from_html("<div class=\"sv-grid-facet-empty\">No values</div>"), re = a.from_html("<div class=\"sv-grid-menu sv-grid-in-suggest\"><!></div>"), A = a.from_html("<div class=\"sv-grid-menu-sep\"></div>"), ie = a.from_html("<button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"> </button>"), j = a.from_html("<div class=\"sv-grid-menu-backdrop\" role=\"presentation\"></div> <div class=\"sv-grid-menu sv-grid-context-menu\" role=\"menu\"></div>", 1), M = a.from_html("<div class=\"sv-grid-menu-backdrop\" role=\"presentation\"></div> <div class=\"sv-grid-menu sv-grid-comment-editor\" role=\"dialog\" aria-label=\"Edit comment\"><textarea class=\"sv-grid-comment-textarea\" rows=\"3\" placeholder=\"Add a comment…\"></textarea> <div class=\"sv-grid-comment-actions\"><button type=\"button\" class=\"sv-grid-comment-remove\">Remove</button> <span class=\"sv-grid-comment-spacer\"></span> <button type=\"button\" class=\"sv-grid-comment-cancel\">Cancel</button> <button type=\"button\" class=\"sv-grid-comment-save\">Save</button></div></div>", 1), ae = a.from_html("<!> <!> <!> <!> <!> <!> <!> <!> <!>", 1);
|
|
7
7
|
function oe(oe, N) {
|
|
8
8
|
a.push(N, !0);
|
|
9
|
-
let se = (
|
|
10
|
-
let i = a.derived(() => a.get(G).find((e) => e.id === r())), _ = a.derived(() => a.get(xe)(a.get(i))), v = a.derived(() => a.get(F)[r()]?.operator ?? a.get(K)(a.get(i))), y = a.derived(() =>
|
|
9
|
+
let se = (t, r = a.noop) => {
|
|
10
|
+
let i = a.derived(() => a.get(G).find((e) => e.id === r())), _ = a.derived(() => a.get(xe)(a.get(i))), v = a.derived(() => a.get(F)[r()]?.operator ?? a.get(K)(a.get(i))), y = a.derived(() => n(a.get(i)?.columnDef.editorType ?? "text"));
|
|
11
11
|
var b = g(), x = a.child(b), S = a.child(x), ee = a.child(S);
|
|
12
12
|
a.snippet(ee, () => N.icon, () => "filter"), a.reset(S), a.next(), a.reset(x);
|
|
13
13
|
var C = a.sibling(x, 2);
|
|
@@ -148,7 +148,7 @@ function oe(oe, N) {
|
|
|
148
148
|
w !== (w = a.get(v)) && (C.value = (C.__value = a.get(v)) ?? "", a.select_option(C, a.get(v))), a.set_checked(O, e), M.disabled = t;
|
|
149
149
|
}, [() => a.get(Ve)(r()), () => !a.get(Te)(r())]), a.delegated("change", C, (e) => a.get(ve)(r(), e.currentTarget.value)), a.bind_value(E, () => P().columnMenuSearch, (e) => P().columnMenuSearch = e), a.delegated("change", O, () => a.get(He)(r())), a.delegated("click", M, () => a.get(Ye)(r())), a.delegated("click", ae, function(...e) {
|
|
150
150
|
a.get(Y)?.apply(this, e);
|
|
151
|
-
}), a.append(
|
|
151
|
+
}), a.append(t, b);
|
|
152
152
|
}, P = a.prop(N, "ctrl", 7), ce = a.derived(() => P().groupingControlsEnabled), F = a.derived(() => P().filterMenuValues), I = a.derived(() => P().tooltip), L = a.derived(() => P().columnMenuFor), R = a.derived(() => P().columnMenuPos), z = a.derived(() => P().filterMenuFor), B = a.derived(() => P().filterMenuPos), V = a.derived(() => P().operatorMenuFor), le = a.derived(() => P().operatorMenuPos), H = a.derived(() => P().chooseColumnsPos), U = a.derived(() => P().showColumnFiltersEffective), W = a.derived(() => P().props.columnMenuTabs === !0), ue = a.derived(() => P().grid), G = a.derived(() => P().allColumns), de = a.derived(() => P().isColumnPinned), fe = a.derived(() => P().pinColumnLeft), pe = a.derived(() => P().pinColumnRight), me = a.derived(() => P().unpinColumn), he = a.derived(() => P().sortDirectionByColumn), ge = a.derived(() => P().groupingColumns), _e = a.derived(() => P().columnVirtualizationEnabled), ve = a.derived(() => P().updateFilterOperator), ye = a.derived(() => P().updateFilterMenuValue), be = a.derived(() => P().updateFilterMenuValueTo), xe = a.derived(() => P().operatorsForColumn), K = a.derived(() => P().defaultOperatorFor), q = a.derived(() => P().operatorLabelFor), Se = a.derived(() => P().filterRowValues), Ce = a.derived(() => P().inSuggestFor), we = a.derived(() => P().inSuggestPos);
|
|
153
153
|
function J(e, t) {
|
|
154
154
|
let n = a.get(G).find((t) => t.id === e), r = P().filterMenuValues[e] ?? {
|
|
@@ -172,11 +172,11 @@ function oe(oe, N) {
|
|
|
172
172
|
};
|
|
173
173
|
});
|
|
174
174
|
let Ee = a.derived(() => P().autosizeColumn), De = a.derived(() => P().autosizeAllColumns), Oe = a.derived(() => P().resetColumns), ke = a.derived(() => P().openChooseColumns), Ae = a.derived(() => P().sortColumnFromMenu), je = a.derived(() => P().clearColumnSort), Me = a.derived(() => P().groupByColumnFromMenu), Ne = a.derived(() => P().clearGroupingFromMenu), Pe = a.derived(() => P().columnMenuFacetValues), Fe = a.derived(() => P().columnMenuVisibleFacets), X = a.derived(() => P().columnMenuFacetOptions), Ie = a.derived(() => P().columnMenuSelectedFacets), Le = a.derived(() => P().setFacetSelection), Re = a.derived(() => P().setFilterTokens), Z = a.derived(() => P().inSuggestOptions), ze = a.derived(() => P().openInSuggest), Be = a.derived(() => P().closeInSuggest), Ve = a.derived(() => P().isAllFacetsChecked), He = a.derived(() => P().toggleAllFacets), Ue = 40;
|
|
175
|
-
function We(e,
|
|
176
|
-
a.get(ze)(e,
|
|
175
|
+
function We(e, n) {
|
|
176
|
+
a.get(ze)(e, n), P().inSuggestQuery = t(e.value);
|
|
177
177
|
}
|
|
178
|
-
function Ge(e,
|
|
179
|
-
P().inSuggestQuery =
|
|
178
|
+
function Ge(e, n) {
|
|
179
|
+
P().inSuggestQuery = t(e.value), P().inSuggestFor !== n && a.get(ze)(e, n);
|
|
180
180
|
}
|
|
181
181
|
function Ke(e) {
|
|
182
182
|
return e.map((e) => ({
|
|
@@ -391,12 +391,12 @@ function oe(oe, N) {
|
|
|
391
391
|
a.if(pt, (e) => {
|
|
392
392
|
a.get(V) && e(mt);
|
|
393
393
|
});
|
|
394
|
-
var ht = a.sibling(pt, 2), gt = (
|
|
394
|
+
var ht = a.sibling(pt, 2), gt = (n) => {
|
|
395
395
|
let i = a.derived(() => a.get(Ce)), o = a.derived(() => new Set(r(a.get(Se)[a.get(i)] ?? "")));
|
|
396
|
-
var s = re(), c = a.child(s), l = (
|
|
396
|
+
var s = re(), c = a.child(s), l = (n) => {
|
|
397
397
|
{
|
|
398
398
|
let r = a.derived(() => a.get(Z).length > 40);
|
|
399
|
-
e(
|
|
399
|
+
e(n, {
|
|
400
400
|
block: !0,
|
|
401
401
|
checkbox: !0,
|
|
402
402
|
multiple: !0,
|
|
@@ -414,8 +414,8 @@ function oe(oe, N) {
|
|
|
414
414
|
return a.get(o);
|
|
415
415
|
},
|
|
416
416
|
onChange: (e) => {
|
|
417
|
-
let
|
|
418
|
-
r &&
|
|
417
|
+
let n = new Set(e), r = t(a.get(Se)[a.get(i)] ?? "");
|
|
418
|
+
r && n.delete(r), a.get(Re)(a.get(i), [...n]), P().inSuggestQuery = "";
|
|
419
419
|
}
|
|
420
420
|
});
|
|
421
421
|
}
|
|
@@ -425,7 +425,7 @@ function oe(oe, N) {
|
|
|
425
425
|
};
|
|
426
426
|
a.if(c, (e) => {
|
|
427
427
|
a.get(Z).length ? e(l) : e(u, -1);
|
|
428
|
-
}), a.reset(s), a.template_effect(() => a.set_style(s, `left: ${a.get(we).x}px; top: ${a.get(we).y}px;`)), a.delegated("mousedown", s, (e) => e.preventDefault()), a.append(
|
|
428
|
+
}), a.reset(s), a.template_effect(() => a.set_style(s, `left: ${a.get(we).x}px; top: ${a.get(we).y}px;`)), a.delegated("mousedown", s, (e) => e.preventDefault()), a.append(n, s);
|
|
429
429
|
};
|
|
430
430
|
a.if(ht, (e) => {
|
|
431
431
|
a.get(Ce) && e(gt);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Kn as e, co as t, lo as n, so as r } from "./src-3WKN7L4G.js";
|
|
2
2
|
import { E as i, F as a, G as o, H as s, I as c, L as l, N as u, Q as d, U as f, V as p, X as m, Y as h, Z as g, _, d as v, et as y, f as b, ft as x, g as S, h as ee, j as C, k as w, lt as T, m as E, mt as D, nt as O, o as k, pt as A, st as j, t as te, tt as M, u as N, ut as P, v as F } from "./disclose-version-Dr7rEVv-.js";
|
|
3
3
|
import { l as ne } from "./SvDateTimePicker-CRQH_U7E.js";
|
|
4
4
|
//#region src/GridMenus.svelte
|
|
5
5
|
var re = l("<option> </option>"), ie = l("<input class=\"sv-grid-menu-condition-value\" placeholder=\"To\"/>"), ae = l("<option> </option>"), oe = l("<input class=\"sv-grid-menu-condition-value\" placeholder=\"To\"/>"), se = l("<input class=\"sv-grid-menu-condition-value\"/> <!>", 1), ce = l("<div class=\"sv-grid-menu-join\" role=\"radiogroup\" aria-label=\"Combine conditions\"><button type=\"button\">AND</button> <button type=\"button\">OR</button> <button type=\"button\" class=\"sv-grid-menu-join-x\" title=\"Remove second condition\" aria-label=\"Remove second condition\">×</button></div> <select class=\"sv-grid-menu-operator-select\" aria-label=\"Second filter condition\"></select> <!>", 1), le = l("<button type=\"button\" class=\"sv-grid-menu-add-cond\">+ Add condition</button>"), ue = l("<input class=\"sv-grid-menu-condition-value\"/> <!> <!>", 1), de = l("<div class=\"sv-grid-facet-empty\">No values</div>"), fe = l("<div class=\"sv-grid-facet-note\"> </div>"), pe = l("<div class=\"sv-grid-menu-filter\"><div class=\"sv-grid-menu-filter-head\"><span class=\"sv-grid-header-icon\"><!></span> Filter\n condition</div> <select class=\"sv-grid-menu-operator-select\" aria-label=\"Filter condition\"></select> <!> <div class=\"sv-grid-menu-sep\"></div> <div class=\"sv-grid-menu-filter-head\">Values</div> <input class=\"sv-grid-menu-search\" placeholder=\"Search values...\"/> <label class=\"sv-grid-facet sv-grid-facet-all\"><input type=\"checkbox\"/> <span class=\"sv-grid-facet-label\">(Select all)</span></label> <!> <!> <div class=\"sv-grid-menu-actions\"><button type=\"button\" class=\"sv-grid-menu-btn\">Clear filter</button> <button type=\"button\" class=\"sv-grid-menu-btn sv-grid-menu-btn-primary\">Done</button></div></div>"), me = l("<div role=\"tooltip\"> </div>"), he = l("<div class=\"sv-grid-menu-backdrop\" role=\"presentation\"></div>"), I = l("<button type=\"button\" role=\"tab\">Filter</button>"), L = l("<div class=\"sv-grid-menu-tabs\" role=\"tablist\"><button type=\"button\" role=\"tab\">General</button> <!> <button type=\"button\" role=\"tab\">Columns</button></div>"), R = l("<div class=\"sv-grid-menu-filter-head\">Visible columns</div> <!>", 1), ge = l("<button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Sort\n ascending</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Sort\n descending</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Remove sort</button>", 1), _e = l("<div class=\"sv-grid-menu-sep\"></div> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Pin to left</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Pin to right</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Unpin column</button>", 1), ve = l("<div class=\"sv-grid-menu-sep\"></div> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Group\n by this column</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Remove grouping</button>", 1), ye = l("<button type=\"button\" role=\"menuitem\" aria-haspopup=\"menu\"><span class=\"sv-grid-header-icon\"><!></span> Choose columns <span class=\"sv-grid-header-icon sv-grid-menu-item-chevron\"><!></span></button>"), be = l("<!> <!> <div class=\"sv-grid-menu-sep\"></div> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Autosize\n this column</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Autosize\n all columns</button> <!> <div class=\"sv-grid-menu-sep\"></div> <!> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Reset columns</button>", 1), z = l("<div class=\"sv-grid-menu sv-grid-column-menu\" role=\"menu\"><!> <!></div>"), B = l("<div class=\"sv-grid-menu sv-grid-filter-menu\" role=\"menu\"><!></div>"), xe = l("<div class=\"sv-grid-menu sv-grid-choose-columns-menu\" role=\"menu\"><div class=\"sv-grid-menu-filter-head\">Visible columns</div> <!></div>"), Se = l("<button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitemradio\"><span class=\"sv-grid-header-icon\"><!></span> </button>"), Ce = l("<div class=\"sv-grid-menu sv-grid-operator-menu\" role=\"menu\"></div>"), we = l("<div class=\"sv-grid-facet-empty\">No values</div>"), Te = l("<div class=\"sv-grid-menu sv-grid-in-suggest\"><!></div>"), Ee = l("<div class=\"sv-grid-menu-sep\"></div>"), De = l("<button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"> </button>"), Oe = l("<div class=\"sv-grid-menu-backdrop\" role=\"presentation\"></div> <div class=\"sv-grid-menu sv-grid-context-menu\" role=\"menu\"></div>", 1), ke = l("<div class=\"sv-grid-menu-backdrop\" role=\"presentation\"></div> <div class=\"sv-grid-menu sv-grid-comment-editor\" role=\"dialog\" aria-label=\"Edit comment\"><textarea class=\"sv-grid-comment-textarea\" rows=\"3\" placeholder=\"Add a comment…\"></textarea> <div class=\"sv-grid-comment-actions\"><button type=\"button\" class=\"sv-grid-comment-remove\">Remove</button> <span class=\"sv-grid-comment-spacer\"></span> <button type=\"button\" class=\"sv-grid-comment-cancel\">Cancel</button> <button type=\"button\" class=\"sv-grid-comment-save\">Save</button></div></div>", 1), Ae = l("<!> <!> <!> <!> <!> <!> <!> <!> <!>", 1);
|
|
6
6
|
function V(l, p) {
|
|
7
7
|
P(p, !0);
|
|
8
|
-
let V = (
|
|
9
|
-
let c = j(() => o(X).find((e) => e.id === r())), l = j(() => o(qe)(o(c))), d = j(() => o(U)[r()]?.operator ?? o(Z)(o(c))), m = j(() =>
|
|
8
|
+
let V = (t, r = D) => {
|
|
9
|
+
let c = j(() => o(X).find((e) => e.id === r())), l = j(() => o(qe)(o(c))), d = j(() => o(U)[r()]?.operator ?? o(Z)(o(c))), m = j(() => n(o(c)?.columnDef.editorType ?? "text"));
|
|
10
10
|
var g = pe(), _ = y(g), T = y(_), te = y(T);
|
|
11
11
|
C(te, () => p.icon, () => "filter"), A(T), x(), A(_);
|
|
12
12
|
var P = O(_, 2);
|
|
@@ -147,7 +147,7 @@ function V(l, p) {
|
|
|
147
147
|
ne !== (ne = o(d)) && (P.value = (P.__value = o(d)) ?? "", S(P, o(d))), b(R, e), B.disabled = t;
|
|
148
148
|
}, [() => o(gt)(r()), () => !o(Qe)(r())]), s("change", P, (e) => o(We)(r(), e.currentTarget.value)), k(I, () => H().columnMenuSearch, (e) => H().columnMenuSearch = e), s("change", R, () => o(_t)(r())), s("click", B, () => o(wt)(r())), s("click", xe, function(...e) {
|
|
149
149
|
o($)?.apply(this, e);
|
|
150
|
-
}), a(
|
|
150
|
+
}), a(t, g);
|
|
151
151
|
}, H = te(p, "ctrl", 7), je = j(() => H().groupingControlsEnabled), U = j(() => H().filterMenuValues), W = j(() => H().tooltip), G = j(() => H().columnMenuFor), Me = j(() => H().columnMenuPos), K = j(() => H().filterMenuFor), Ne = j(() => H().filterMenuPos), q = j(() => H().operatorMenuFor), Pe = j(() => H().operatorMenuPos), J = j(() => H().chooseColumnsPos), Fe = j(() => H().showColumnFiltersEffective), Y = j(() => H().props.columnMenuTabs === !0), Ie = j(() => H().grid), X = j(() => H().allColumns), Le = j(() => H().isColumnPinned), Re = j(() => H().pinColumnLeft), ze = j(() => H().pinColumnRight), Be = j(() => H().unpinColumn), Ve = j(() => H().sortDirectionByColumn), He = j(() => H().groupingColumns), Ue = j(() => H().columnVirtualizationEnabled), We = j(() => H().updateFilterOperator), Ge = j(() => H().updateFilterMenuValue), Ke = j(() => H().updateFilterMenuValueTo), qe = j(() => H().operatorsForColumn), Z = j(() => H().defaultOperatorFor), Je = j(() => H().operatorLabelFor), Ye = j(() => H().filterRowValues), Xe = j(() => H().inSuggestFor), Ze = j(() => H().inSuggestPos);
|
|
152
152
|
function Q(e, t) {
|
|
153
153
|
let n = o(X).find((t) => t.id === e), r = H().filterMenuValues[e] ?? {
|
|
@@ -171,11 +171,11 @@ function V(l, p) {
|
|
|
171
171
|
};
|
|
172
172
|
});
|
|
173
173
|
let $e = j(() => H().autosizeColumn), et = j(() => H().autosizeAllColumns), tt = j(() => H().resetColumns), nt = j(() => H().openChooseColumns), rt = j(() => H().sortColumnFromMenu), it = j(() => H().clearColumnSort), at = j(() => H().groupByColumnFromMenu), ot = j(() => H().clearGroupingFromMenu), st = j(() => H().columnMenuFacetValues), ct = j(() => H().columnMenuVisibleFacets), lt = j(() => H().columnMenuFacetOptions), ut = j(() => H().columnMenuSelectedFacets), dt = j(() => H().setFacetSelection), ft = j(() => H().setFilterTokens), pt = j(() => H().inSuggestOptions), mt = j(() => H().openInSuggest), ht = j(() => H().closeInSuggest), gt = j(() => H().isAllFacetsChecked), _t = j(() => H().toggleAllFacets), vt = 40;
|
|
174
|
-
function yt(e,
|
|
175
|
-
o(mt)(e,
|
|
174
|
+
function yt(e, n) {
|
|
175
|
+
o(mt)(e, n), H().inSuggestQuery = t(e.value);
|
|
176
176
|
}
|
|
177
|
-
function bt(e,
|
|
178
|
-
H().inSuggestQuery =
|
|
177
|
+
function bt(e, n) {
|
|
178
|
+
H().inSuggestQuery = t(e.value), H().inSuggestFor !== n && o(mt)(e, n);
|
|
179
179
|
}
|
|
180
180
|
function xt(e) {
|
|
181
181
|
return e.map((e) => ({
|
|
@@ -390,12 +390,12 @@ function V(l, p) {
|
|
|
390
390
|
w(Wt, (e) => {
|
|
391
391
|
o(q) && e(Gt);
|
|
392
392
|
});
|
|
393
|
-
var Kt = O(Wt, 2), qt = (
|
|
393
|
+
var Kt = O(Wt, 2), qt = (n) => {
|
|
394
394
|
let i = j(() => o(Xe)), c = j(() => new Set(r(o(Ye)[o(i)] ?? "")));
|
|
395
|
-
var l = Te(), u = y(l), d = (
|
|
395
|
+
var l = Te(), u = y(l), d = (n) => {
|
|
396
396
|
{
|
|
397
397
|
let r = j(() => o(pt).length > 40);
|
|
398
|
-
e(
|
|
398
|
+
e(n, {
|
|
399
399
|
block: !0,
|
|
400
400
|
checkbox: !0,
|
|
401
401
|
multiple: !0,
|
|
@@ -413,8 +413,8 @@ function V(l, p) {
|
|
|
413
413
|
return o(c);
|
|
414
414
|
},
|
|
415
415
|
onChange: (e) => {
|
|
416
|
-
let
|
|
417
|
-
r &&
|
|
416
|
+
let n = new Set(e), r = t(o(Ye)[o(i)] ?? "");
|
|
417
|
+
r && n.delete(r), o(ft)(o(i), [...n]), H().inSuggestQuery = "";
|
|
418
418
|
}
|
|
419
419
|
});
|
|
420
420
|
}
|
|
@@ -424,7 +424,7 @@ function V(l, p) {
|
|
|
424
424
|
};
|
|
425
425
|
w(u, (e) => {
|
|
426
426
|
o(pt).length ? e(d) : e(f, -1);
|
|
427
|
-
}), A(l), h(() => _(l, `left: ${o(Ze).x}px; top: ${o(Ze).y}px;`)), s("mousedown", l, (e) => e.preventDefault()), a(
|
|
427
|
+
}), A(l), h(() => _(l, `left: ${o(Ze).x}px; top: ${o(Ze).y}px;`)), s("mousedown", l, (e) => e.preventDefault()), a(n, l);
|
|
428
428
|
};
|
|
429
429
|
w(Kt, (e) => {
|
|
430
430
|
o(Xe) && e(qt);
|