@svgrid/grid 2.2.28 → 2.2.29
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/GridMenus.svelte +148 -100
- package/dist/SvGrid.controller.svelte.d.ts +14 -1
- package/dist/SvGrid.controller.svelte.js +112 -28
- package/dist/SvGrid.css +15 -34
- package/dist/SvGrid.svelte +49 -21
- package/dist/SvGrid.types.d.ts +20 -5
- package/dist/SvListBox.svelte +42 -3
- package/dist/SvListBox.svelte.d.ts +10 -1
- package/dist/cdn/GridMenus-Da_p7SKS.js +486 -0
- package/dist/cdn/GridMenus-Ds3OpzZT.js +490 -0
- package/dist/cdn/{src-BxNEslEo.js → src-BLJfdyL0.js} +4014 -3869
- package/dist/cdn/{src-C4yKQZ5t.js → src-DYDCiC0D.js} +7036 -6891
- package/dist/cdn/svgrid.js +8 -8
- package/dist/cdn/svgrid.svelte-external.js +8 -8
- package/dist/column-groups.js +8 -10
- package/dist/column-id.d.ts +9 -0
- package/dist/column-id.js +25 -0
- package/dist/core.js +2 -1
- package/dist/createListbox.svelte.d.ts +15 -2
- package/dist/createListbox.svelte.js +27 -6
- package/dist/editing.d.ts +1 -0
- package/dist/editing.js +45 -10
- package/dist/filtering/excel-filters.d.ts +30 -10
- package/dist/filtering/excel-filters.js +96 -15
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/menus.d.ts +2 -0
- package/dist/menus.js +25 -0
- package/dist/row-resize.js +40 -0
- package/dist/selection.js +1 -1
- package/package.json +1 -1
- package/src/GridMenus.svelte +148 -100
- package/src/SvGrid.controller.svelte.ts +123 -27
- package/src/SvGrid.css +15 -34
- package/src/SvGrid.svelte +49 -21
- package/src/SvGrid.types.ts +20 -5
- package/src/SvListBox.svelte +42 -3
- package/src/column-groups.test.ts +48 -0
- package/src/column-groups.ts +8 -10
- package/src/column-id.ts +30 -0
- package/src/core.ts +2 -1
- package/src/createListbox.svelte.ts +39 -7
- package/src/editing.test.ts +90 -0
- package/src/editing.ts +46 -12
- package/src/filtering/excel-filters.test.ts +44 -1
- package/src/filtering/excel-filters.ts +91 -14
- package/src/index.ts +2 -0
- package/src/menus.test.ts +40 -4
- package/src/menus.ts +27 -0
- package/src/row-resize.test.ts +100 -0
- package/src/row-resize.ts +36 -0
- package/src/selection.ts +1 -1
- package/src/svgrid.api-extensions.test.ts +8 -3
- package/src/svgrid.cell-dom-ids.test.ts +96 -0
- package/src/svgrid.conditional-stat-scope.test.ts +111 -0
- package/src/svgrid.filter-menu-listbox.svelte.test.ts +308 -0
- package/src/svgrid.filter-menu-scroll.test.ts +3 -1
- package/src/svgrid.group-header-ids.test.ts +121 -0
- package/dist/cdn/GridMenus-BbzEvTYO.js +0 -421
- package/dist/cdn/GridMenus-E220X2kM.js +0 -417
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOM: group header cells stay aligned when a collapsed group hides a leaf
|
|
3
|
+
* that sits next to an UNNAMED leaf (no `id`, no `field`) (#63).
|
|
4
|
+
*
|
|
5
|
+
* The group-header builder walks the column tree twice: once to collect leaf
|
|
6
|
+
* widths and once to index nodes. Both mint a fallback id for unnamed columns.
|
|
7
|
+
* Those two ids have to agree, or the group cell resolves to the wrong leaf and
|
|
8
|
+
* renders with `colSpan: 1` and `widthPx: 0` - a group header sitting over
|
|
9
|
+
* nothing.
|
|
10
|
+
*/
|
|
11
|
+
import { afterEach, describe, expect, it } from 'vitest'
|
|
12
|
+
import { mount, unmount } from 'svelte'
|
|
13
|
+
import SvGrid from './SvGrid.svelte'
|
|
14
|
+
import {
|
|
15
|
+
createCoreRowModel,
|
|
16
|
+
createFilteredRowModel,
|
|
17
|
+
createPaginatedRowModel,
|
|
18
|
+
createSortedRowModel,
|
|
19
|
+
sortFns,
|
|
20
|
+
tableFeatures,
|
|
21
|
+
rowSortingFeature,
|
|
22
|
+
} from './index'
|
|
23
|
+
|
|
24
|
+
type Row = { id: number; name: string; jan: number }
|
|
25
|
+
const features = tableFeatures({ rowSortingFeature })
|
|
26
|
+
|
|
27
|
+
// The drift needs three things in one group: a leaf that gets skipped, then
|
|
28
|
+
// TWO unnamed leaves after it. Skipping the first one made the node counter
|
|
29
|
+
// fall behind the array index, so the third leaf inherited the second leaf's
|
|
30
|
+
// auto-id - and with it the second leaf's hidden state.
|
|
31
|
+
//
|
|
32
|
+
// Expanded, "Closed" hides and "Always" must stay: the buggy id reuse marked
|
|
33
|
+
// "Always" hidden too, shrinking the group header to one leaf.
|
|
34
|
+
const columns = [
|
|
35
|
+
{ field: 'name', header: 'Name', width: 120 },
|
|
36
|
+
{
|
|
37
|
+
id: 'q1',
|
|
38
|
+
header: 'Q1',
|
|
39
|
+
columns: [
|
|
40
|
+
{ field: 'jan', header: 'Jan', width: 90, columnGroupShow: 'open' },
|
|
41
|
+
{ header: 'Closed', width: 150, columnGroupShow: 'closed' },
|
|
42
|
+
{ header: 'Always', width: 200 },
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
]
|
|
46
|
+
|
|
47
|
+
const data: Row[] = [{ id: 1, name: 'one', jan: 5 }]
|
|
48
|
+
|
|
49
|
+
const tick = () => new Promise<void>((r) => queueMicrotask(r))
|
|
50
|
+
|
|
51
|
+
function mountGrid() {
|
|
52
|
+
const target = document.createElement('div')
|
|
53
|
+
document.body.appendChild(target)
|
|
54
|
+
const app = mount(SvGrid, {
|
|
55
|
+
target,
|
|
56
|
+
props: {
|
|
57
|
+
data,
|
|
58
|
+
columns,
|
|
59
|
+
features,
|
|
60
|
+
_rowModels: {
|
|
61
|
+
coreRowModel: createCoreRowModel(),
|
|
62
|
+
filteredRowModel: createFilteredRowModel(),
|
|
63
|
+
sortedRowModel: createSortedRowModel(sortFns),
|
|
64
|
+
paginatedRowModel: createPaginatedRowModel(),
|
|
65
|
+
},
|
|
66
|
+
containerHeight: 240,
|
|
67
|
+
virtualization: false,
|
|
68
|
+
} as never,
|
|
69
|
+
})
|
|
70
|
+
return { target, destroy: () => { unmount(app); target.remove() } }
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
let cleanup: (() => void) | null = null
|
|
74
|
+
afterEach(() => { cleanup?.(); cleanup = null })
|
|
75
|
+
|
|
76
|
+
function groupCell(target: HTMLElement): HTMLElement {
|
|
77
|
+
const cells = [...target.querySelectorAll<HTMLElement>('.sv-grid-group-header-cell')]
|
|
78
|
+
const cell = cells.find((c) => c.textContent?.includes('Q1'))
|
|
79
|
+
expect(cell).toBeDefined()
|
|
80
|
+
return cell!
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
describe('group header with unnamed leaves', () => {
|
|
84
|
+
it('covers the closed-mode leaves while collapsed (#63)', async () => {
|
|
85
|
+
const { target, destroy } = mountGrid()
|
|
86
|
+
cleanup = destroy
|
|
87
|
+
await tick()
|
|
88
|
+
|
|
89
|
+
// Collapsed by default (no `openByDefault`): "Jan" hides, "Closed" and
|
|
90
|
+
// "Always" show.
|
|
91
|
+
const cell = groupCell(target)
|
|
92
|
+
expect(cell.getAttribute('colspan')).toBe('2')
|
|
93
|
+
expect(cell.style.width).toBe('350px')
|
|
94
|
+
})
|
|
95
|
+
|
|
96
|
+
it('keeps the untagged leaf when the group is expanded (#63)', async () => {
|
|
97
|
+
const { target, destroy } = mountGrid()
|
|
98
|
+
cleanup = destroy
|
|
99
|
+
await tick()
|
|
100
|
+
|
|
101
|
+
const toggle = target.querySelector<HTMLButtonElement>('.sv-grid-group-toggle')
|
|
102
|
+
expect(toggle).not.toBeNull()
|
|
103
|
+
toggle!.click()
|
|
104
|
+
await tick()
|
|
105
|
+
|
|
106
|
+
// Expanded: "Jan" (90) shows, "Closed" hides, "Always" (200) still shows.
|
|
107
|
+
// Before the fix the third leaf inherited the second leaf's auto-id, was
|
|
108
|
+
// read as hidden, and the group shrank to `colspan="1"` over a header with
|
|
109
|
+
// no cells beneath it.
|
|
110
|
+
const cell = groupCell(target)
|
|
111
|
+
expect(cell.getAttribute('colspan')).toBe('2')
|
|
112
|
+
expect(cell.style.width).toBe('290px')
|
|
113
|
+
|
|
114
|
+
// And the unnamed `columnGroupShow: 'closed'` leaf really is gone from the
|
|
115
|
+
// leaf-header row - its id now matches the one the engine assigned.
|
|
116
|
+
const leafIds = [...target.querySelectorAll('[data-svgrid-header-col]')].map(
|
|
117
|
+
(el) => el.getAttribute('data-svgrid-header-col'),
|
|
118
|
+
)
|
|
119
|
+
expect(leafIds).toEqual(['name', 'jan', 'q1_1_2'])
|
|
120
|
+
})
|
|
121
|
+
})
|
|
@@ -1,421 +0,0 @@
|
|
|
1
|
-
import { eo as e, to as t } from "./src-BxNEslEo.js";
|
|
2
|
-
import { l as n } from "./SvDateTimePicker-DB0aIEk8.js";
|
|
3
|
-
import * as r from "svelte/internal/client";
|
|
4
|
-
import "svelte/internal/disclose-version";
|
|
5
|
-
//#region src/GridMenus.svelte
|
|
6
|
-
var i = r.from_html("<option> </option>"), a = r.from_html("<option></option>"), o = r.from_html("<datalist></datalist>"), s = r.from_html("<input class=\"sv-grid-menu-condition-value\" placeholder=\"To\"/>"), c = r.from_html("<option> </option>"), l = r.from_html("<input class=\"sv-grid-menu-condition-value\" placeholder=\"To\"/>"), u = r.from_html("<input class=\"sv-grid-menu-condition-value\"/> <!>", 1), d = r.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 = r.from_html("<button type=\"button\" class=\"sv-grid-menu-add-cond\">+ Add condition</button>"), p = r.from_html("<input class=\"sv-grid-menu-condition-value\"/> <!> <!> <!>", 1), m = r.from_html("<label class=\"sv-grid-facet\"><input type=\"checkbox\"/> <span class=\"sv-grid-facet-label\"> </span></label>"), h = r.from_html("<div class=\"sv-grid-facet-empty\">No values</div>"), g = r.from_html("<div class=\"sv-grid-facet-note\"> </div>"), _ = r.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-facet-list\"></div> <!> <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>"), v = r.from_html("<div role=\"tooltip\"> </div>"), y = r.from_html("<div class=\"sv-grid-menu-backdrop\" role=\"presentation\"></div>"), b = r.from_html("<button type=\"button\" role=\"tab\">Filter</button>"), x = r.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>"), S = r.from_html("<label class=\"sv-grid-facet\"><input type=\"checkbox\"/> <span class=\"sv-grid-facet-label\"> </span></label>"), C = r.from_html("<div class=\"sv-grid-menu-filter-head\">Visible columns</div> <div class=\"sv-grid-facet-list\"></div>", 1), w = r.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), T = r.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), E = r.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), D = r.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>"), O = r.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), ee = r.from_html("<div class=\"sv-grid-menu sv-grid-column-menu\" role=\"menu\"><!> <!></div>"), k = r.from_html("<div class=\"sv-grid-menu sv-grid-filter-menu\" role=\"menu\"><!></div>"), A = r.from_html("<label class=\"sv-grid-facet\"><input type=\"checkbox\"/> <span class=\"sv-grid-facet-label\"> </span></label>"), j = r.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 class=\"sv-grid-facet-list\"></div></div>"), M = r.from_html("<button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitemradio\"><span class=\"sv-grid-header-icon\"><!></span> </button>"), N = r.from_html("<div class=\"sv-grid-menu sv-grid-operator-menu\" role=\"menu\"></div>"), te = r.from_html("<button type=\"button\" class=\"sv-grid-menu-item sv-grid-in-suggest-item\" role=\"option\"><span class=\"sv-grid-in-suggest-check\" aria-hidden=\"true\"> </span> <span class=\"sv-grid-in-suggest-label\"> </span></button>"), ne = r.from_html("<div class=\"sv-grid-facet-empty\">No values</div>"), P = r.from_html("<div class=\"sv-grid-menu sv-grid-in-suggest\" role=\"listbox\" aria-multiselectable=\"true\" aria-label=\"Filter values\"></div>"), re = r.from_html("<div class=\"sv-grid-menu-sep\"></div>"), ie = r.from_html("<button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"> </button>"), ae = r.from_html("<div class=\"sv-grid-menu-backdrop\" role=\"presentation\"></div> <div class=\"sv-grid-menu sv-grid-context-menu\" role=\"menu\"></div>", 1), oe = r.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), se = r.from_html("<!> <!> <!> <!> <!> <!> <!> <!> <!>", 1);
|
|
7
|
-
function ce(ce, F) {
|
|
8
|
-
r.push(F, !0);
|
|
9
|
-
let le = (e, n = r.noop) => {
|
|
10
|
-
let v = r.derived(() => r.get(q).find((e) => e.id === n())), y = r.derived(() => r.get(Ce)(r.get(v))), b = r.derived(() => r.get(L)[n()]?.operator ?? r.get(J)(r.get(v))), x = r.derived(() => t(r.get(v)?.columnDef.editorType ?? "text"));
|
|
11
|
-
var S = _(), C = r.child(S), w = r.child(C), T = r.child(w);
|
|
12
|
-
r.snippet(T, () => F.icon, () => "filter"), r.reset(w), r.next(), r.reset(C);
|
|
13
|
-
var E = r.sibling(C, 2);
|
|
14
|
-
r.each(E, 21, () => r.get(y), (e) => e.value, (e, t) => {
|
|
15
|
-
var n = i(), a = r.child(n, !0);
|
|
16
|
-
r.reset(n);
|
|
17
|
-
var o = {};
|
|
18
|
-
r.template_effect((e) => {
|
|
19
|
-
r.set_text(a, e), o !== (o = r.get(t).value) && (n.value = (n.__value = r.get(t).value) ?? "");
|
|
20
|
-
}, [() => r.get(Y)(r.get(t), r.get(v))]), r.append(e, n);
|
|
21
|
-
}), r.reset(E);
|
|
22
|
-
var D;
|
|
23
|
-
r.init_select(E);
|
|
24
|
-
var O = r.sibling(E, 2), ee = (e) => {
|
|
25
|
-
let t = r.derived(() => r.get(b) === "in" || r.get(b) === "notIn"), i = r.derived(() => r.get(L)[n()]);
|
|
26
|
-
var m = p(), h = r.first_child(m);
|
|
27
|
-
r.remove_input_defaults(h);
|
|
28
|
-
var g = r.sibling(h, 2), _ = (e) => {
|
|
29
|
-
var t = o();
|
|
30
|
-
r.each(t, 20, () => r.get(ke)(n()).slice(0, 200), (e) => e, (e, t) => {
|
|
31
|
-
var n = a(), i = {};
|
|
32
|
-
r.template_effect(() => {
|
|
33
|
-
i !== (i = t) && (n.value = (n.__value = t) ?? "");
|
|
34
|
-
}), r.append(e, n);
|
|
35
|
-
}), r.reset(t), r.template_effect(() => r.set_attribute(t, "id", `sv-in-list-${n()}`)), r.append(e, t);
|
|
36
|
-
};
|
|
37
|
-
r.if(g, (e) => {
|
|
38
|
-
r.get(t) && e(_);
|
|
39
|
-
});
|
|
40
|
-
var S = r.sibling(g, 2), C = (e) => {
|
|
41
|
-
var t = s();
|
|
42
|
-
r.remove_input_defaults(t), r.template_effect(() => {
|
|
43
|
-
r.set_attribute(t, "type", r.get(x)), r.set_value(t, r.get(L)[n()]?.valueTo ?? "");
|
|
44
|
-
}), r.delegated("input", t, (e) => r.get(Se)(n(), e.currentTarget.value)), r.append(e, t);
|
|
45
|
-
};
|
|
46
|
-
r.if(S, (e) => {
|
|
47
|
-
r.get(b) === "between" && e(C);
|
|
48
|
-
});
|
|
49
|
-
var w = r.sibling(S, 2), T = (e) => {
|
|
50
|
-
let t = r.derived(() => r.get(i).operator2 ?? r.get(J)(r.get(v)));
|
|
51
|
-
var a = d(), o = r.first_child(a), s = r.child(o);
|
|
52
|
-
let f;
|
|
53
|
-
var p = r.sibling(s, 2);
|
|
54
|
-
let m;
|
|
55
|
-
var h = r.sibling(p, 2);
|
|
56
|
-
r.reset(o);
|
|
57
|
-
var g = r.sibling(o, 2);
|
|
58
|
-
r.each(g, 21, () => r.get(y), (e) => e.value, (e, t) => {
|
|
59
|
-
var n = c(), i = r.child(n, !0);
|
|
60
|
-
r.reset(n);
|
|
61
|
-
var a = {};
|
|
62
|
-
r.template_effect((e) => {
|
|
63
|
-
r.set_text(i, e), a !== (a = r.get(t).value) && (n.value = (n.__value = r.get(t).value) ?? "");
|
|
64
|
-
}, [() => r.get(Y)(r.get(t), r.get(v))]), r.append(e, n);
|
|
65
|
-
}), r.reset(g);
|
|
66
|
-
var _;
|
|
67
|
-
r.init_select(g);
|
|
68
|
-
var b = r.sibling(g, 2), S = (e) => {
|
|
69
|
-
var a = u(), o = r.first_child(a);
|
|
70
|
-
r.remove_input_defaults(o);
|
|
71
|
-
var s = r.sibling(o, 2), c = (e) => {
|
|
72
|
-
var t = l();
|
|
73
|
-
r.remove_input_defaults(t), r.template_effect(() => {
|
|
74
|
-
r.set_attribute(t, "type", r.get(x)), r.set_value(t, r.get(i).valueTo2 ?? "");
|
|
75
|
-
}), r.delegated("input", t, (e) => X(n(), { valueTo2: e.currentTarget.value })), r.append(e, t);
|
|
76
|
-
};
|
|
77
|
-
r.if(s, (e) => {
|
|
78
|
-
r.get(t) === "between" && e(c);
|
|
79
|
-
}), r.template_effect(() => {
|
|
80
|
-
r.set_attribute(o, "type", r.get(x)), r.set_value(o, r.get(i).value2 ?? ""), r.set_attribute(o, "placeholder", r.get(t) === "between" ? "From" : "Filter value...");
|
|
81
|
-
}), r.delegated("input", o, (e) => X(n(), { value2: e.currentTarget.value })), r.append(e, a);
|
|
82
|
-
};
|
|
83
|
-
r.if(b, (e) => {
|
|
84
|
-
r.get(t) !== "isBlank" && e(S);
|
|
85
|
-
}), r.template_effect(() => {
|
|
86
|
-
f = r.set_class(s, 1, "", null, f, { "is-on": (r.get(i).join ?? "AND") === "AND" }), m = r.set_class(p, 1, "", null, m, { "is-on": r.get(i).join === "OR" }), _ !== (_ = r.get(t)) && (g.value = (g.__value = r.get(t)) ?? "", r.select_option(g, r.get(t)));
|
|
87
|
-
}), r.delegated("click", s, () => X(n(), { join: "AND" })), r.delegated("click", p, () => X(n(), { join: "OR" })), r.delegated("click", h, () => X(n(), {
|
|
88
|
-
operator2: void 0,
|
|
89
|
-
value2: void 0,
|
|
90
|
-
valueTo2: void 0,
|
|
91
|
-
join: void 0
|
|
92
|
-
})), r.delegated("change", g, (e) => X(n(), { operator2: e.currentTarget.value })), r.append(e, a);
|
|
93
|
-
}, E = (e) => {
|
|
94
|
-
var t = f();
|
|
95
|
-
r.delegated("click", t, () => X(n(), {
|
|
96
|
-
operator2: r.get(J)(r.get(v)),
|
|
97
|
-
value2: "",
|
|
98
|
-
join: "AND"
|
|
99
|
-
})), r.append(e, t);
|
|
100
|
-
};
|
|
101
|
-
r.if(w, (e) => {
|
|
102
|
-
r.get(i)?.operator2 ? e(T) : e(E, -1);
|
|
103
|
-
}), r.template_effect(() => {
|
|
104
|
-
r.set_attribute(h, "type", r.get(b) === "regex" ? "text" : r.get(x)), r.set_attribute(h, "list", r.get(t) ? `sv-in-list-${n()}` : void 0), r.set_value(h, r.get(L)[n()]?.value ?? ""), r.set_attribute(h, "placeholder", r.get(b) === "between" ? "From" : r.get(t) ? "value, value..." : r.get(b) === "regex" ? "Pattern..." : "Filter value...");
|
|
105
|
-
}), r.delegated("input", h, (e) => r.get(xe)(n(), e.currentTarget.value)), r.append(e, m);
|
|
106
|
-
};
|
|
107
|
-
r.if(O, (e) => {
|
|
108
|
-
r.get(b) !== "isBlank" && r.get(b) !== "isNotBlank" && e(ee);
|
|
109
|
-
});
|
|
110
|
-
var k = r.sibling(O, 6);
|
|
111
|
-
r.remove_input_defaults(k);
|
|
112
|
-
var A = r.sibling(k, 2), j = r.child(A);
|
|
113
|
-
r.remove_input_defaults(j), r.next(2), r.reset(A);
|
|
114
|
-
var M = r.sibling(A, 2);
|
|
115
|
-
r.each(M, 20, () => r.get(Q), (e) => e, (e, t) => {
|
|
116
|
-
var i = m(), a = r.child(i);
|
|
117
|
-
r.remove_input_defaults(a);
|
|
118
|
-
var o = r.sibling(a, 2), s = r.child(o, !0);
|
|
119
|
-
r.reset(o), r.reset(i), r.template_effect((e) => {
|
|
120
|
-
r.set_checked(a, e), r.set_text(s, t === "" ? "(Blanks)" : t);
|
|
121
|
-
}, [() => r.get(Be)(n(), t)]), r.delegated("change", a, () => r.get(Ve)(n(), t)), r.append(e, i);
|
|
122
|
-
}, (e) => {
|
|
123
|
-
var t = h();
|
|
124
|
-
r.append(e, t);
|
|
125
|
-
}), r.reset(M);
|
|
126
|
-
var N = r.sibling(M, 2), te = (e) => {
|
|
127
|
-
var t = g(), n = r.child(t);
|
|
128
|
-
r.reset(t), r.template_effect(() => r.set_text(n, `Showing ${r.get(Q).length ?? ""} of ${r.get(ze).length ?? ""}`)), r.append(e, t);
|
|
129
|
-
};
|
|
130
|
-
r.if(N, (e) => {
|
|
131
|
-
r.get(ze).length > r.get(Q).length && e(te);
|
|
132
|
-
});
|
|
133
|
-
var ne = r.sibling(N, 2), P = r.child(ne), re = r.sibling(P, 2);
|
|
134
|
-
r.reset(ne), r.reset(S), r.template_effect((e, t) => {
|
|
135
|
-
D !== (D = r.get(b)) && (E.value = (E.__value = r.get(b)) ?? "", r.select_option(E, r.get(b))), r.set_checked(j, e), P.disabled = t;
|
|
136
|
-
}, [() => r.get(He)(n()), () => !r.get(Ae)(n())]), r.delegated("change", E, (e) => r.get(be)(n(), e.currentTarget.value)), r.bind_value(k, () => I().columnMenuSearch, (e) => I().columnMenuSearch = e), r.delegated("change", j, () => r.get(Ue)(n())), r.delegated("click", P, () => r.get(We)(n())), r.delegated("click", re, function(...e) {
|
|
137
|
-
r.get(Z)?.apply(this, e);
|
|
138
|
-
}), r.append(e, S);
|
|
139
|
-
}, I = r.prop(F, "ctrl", 7), ue = r.derived(() => I().groupingControlsEnabled), L = r.derived(() => I().filterMenuValues), R = r.derived(() => I().tooltip);
|
|
140
|
-
r.derived(() => I().showTooltipFor);
|
|
141
|
-
let z = r.derived(() => I().columnMenuFor), B = r.derived(() => I().columnMenuPos), V = r.derived(() => I().filterMenuFor), H = r.derived(() => I().filterMenuPos), U = r.derived(() => I().operatorMenuFor), de = r.derived(() => I().operatorMenuPos), W = r.derived(() => I().chooseColumnsPos), G = r.derived(() => I().showColumnFiltersEffective), K = r.derived(() => I().props.columnMenuTabs === !0), fe = r.derived(() => I().grid), q = r.derived(() => I().allColumns), pe = r.derived(() => I().isColumnPinned), me = r.derived(() => I().pinColumnLeft), he = r.derived(() => I().pinColumnRight), ge = r.derived(() => I().unpinColumn), _e = r.derived(() => I().sortDirectionByColumn), ve = r.derived(() => I().groupingColumns), ye = r.derived(() => I().columnVirtualizationEnabled), be = r.derived(() => I().updateFilterOperator), xe = r.derived(() => I().updateFilterMenuValue), Se = r.derived(() => I().updateFilterMenuValueTo), Ce = r.derived(() => I().operatorsForColumn), J = r.derived(() => I().defaultOperatorFor), Y = r.derived(() => I().operatorLabelFor), we = r.derived(() => I().filterRowValues), Te = r.derived(() => I().inSuggestFor), Ee = r.derived(() => I().inSuggestPos), De = r.derived(() => I().inSuggestValues), Oe = r.derived(() => I().toggleFilterToken), ke = r.derived(() => I().facetValuesForColumn);
|
|
142
|
-
function X(e, t) {
|
|
143
|
-
let n = r.get(q).find((t) => t.id === e), i = I().filterMenuValues[e] ?? {
|
|
144
|
-
operator: r.get(J)(n),
|
|
145
|
-
value: ""
|
|
146
|
-
};
|
|
147
|
-
I().filterMenuValues = {
|
|
148
|
-
...I().filterMenuValues,
|
|
149
|
-
[e]: {
|
|
150
|
-
...i,
|
|
151
|
-
...t
|
|
152
|
-
}
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
let Ae = r.derived(() => I().isColumnFiltered), Z = r.derived(() => I().closeMenus);
|
|
156
|
-
r.user_effect(() => {
|
|
157
|
-
if (!(r.get(z) || r.get(V) || r.get(U) || r.get(W))) return;
|
|
158
|
-
let e = () => r.get(Z)(), t = n(() => Array.from(document.querySelectorAll(".sv-grid-menu")), e);
|
|
159
|
-
return window.addEventListener("resize", e), () => {
|
|
160
|
-
t(), window.removeEventListener("resize", e);
|
|
161
|
-
};
|
|
162
|
-
});
|
|
163
|
-
let je = r.derived(() => I().autosizeColumn), Me = r.derived(() => I().autosizeAllColumns), Ne = r.derived(() => I().resetColumns), Pe = r.derived(() => I().openChooseColumns), Fe = r.derived(() => I().sortColumnFromMenu), Ie = r.derived(() => I().clearColumnSort), Le = r.derived(() => I().groupByColumnFromMenu), Re = r.derived(() => I().clearGroupingFromMenu), ze = r.derived(() => I().columnMenuFacetValues), Q = r.derived(() => I().columnMenuVisibleFacets), Be = r.derived(() => I().isFacetChecked), Ve = r.derived(() => I().toggleFacetValue), He = r.derived(() => I().isAllFacetsChecked), Ue = r.derived(() => I().toggleAllFacets), We = r.derived(() => I().clearColumnFilter), Ge = r.derived(() => I().contextMenuFor), Ke = r.derived(() => I().contextMenuPos), qe = r.derived(() => I().contextMenuItems), $ = r.derived(() => I().closeContextMenu), Je = r.derived(() => I().commentEditFor), Ye = r.derived(() => I().saveComment), Xe = r.derived(() => I().removeComment), Ze = r.derived(() => I().closeCommentEditor);
|
|
164
|
-
var Qe = se(), $e = r.first_child(Qe), et = (e) => {
|
|
165
|
-
var t = v();
|
|
166
|
-
let n;
|
|
167
|
-
var i = r.child(t, !0);
|
|
168
|
-
r.reset(t), r.template_effect(() => {
|
|
169
|
-
n = r.set_class(t, 1, "sv-grid-tooltip", null, n, { "sv-grid-tooltip-above": !r.get(R).below }), r.set_style(t, `left: ${r.get(R).x}px; top: ${r.get(R).y}px; ${r.get(R).below ? "" : "transform: translateY(-100%);"}`), r.set_text(i, r.get(R).text);
|
|
170
|
-
}), r.append(e, t);
|
|
171
|
-
};
|
|
172
|
-
r.if($e, (e) => {
|
|
173
|
-
r.get(R) && e(et);
|
|
174
|
-
});
|
|
175
|
-
var tt = r.sibling($e, 2), nt = (e) => {
|
|
176
|
-
var t = y();
|
|
177
|
-
r.delegated("click", t, function(...e) {
|
|
178
|
-
r.get(Z)?.apply(this, e);
|
|
179
|
-
}), r.append(e, t);
|
|
180
|
-
};
|
|
181
|
-
r.if(tt, (e) => {
|
|
182
|
-
(r.get(z) || r.get(V) || r.get(U) || r.get(W)) && e(nt);
|
|
183
|
-
});
|
|
184
|
-
var rt = r.sibling(tt, 2), it = (e) => {
|
|
185
|
-
let t = r.derived(() => r.get(z)), n = r.derived(() => r.get(q).find((e) => e.id === r.get(t))), i = r.derived(() => r.get(n)?.getCanSort?.() ?? !1), a = r.derived(() => r.get(n)?.columnDef.field != null && r.get(n)?.columnDef.filterable !== !1), o = r.derived(() => I().columnMenuTab);
|
|
186
|
-
var s = ee(), c = r.child(s), l = (e) => {
|
|
187
|
-
var t = x(), n = r.child(t);
|
|
188
|
-
let i;
|
|
189
|
-
var s = r.sibling(n, 2), c = (e) => {
|
|
190
|
-
var t = b();
|
|
191
|
-
let n;
|
|
192
|
-
r.template_effect(() => {
|
|
193
|
-
n = r.set_class(t, 1, "sv-grid-menu-tab", null, n, { "is-active": r.get(o) === "filter" }), r.set_attribute(t, "aria-selected", r.get(o) === "filter");
|
|
194
|
-
}), r.delegated("click", t, () => I().columnMenuTab = "filter"), r.append(e, t);
|
|
195
|
-
};
|
|
196
|
-
r.if(s, (e) => {
|
|
197
|
-
r.get(a) && r.get(G) && e(c);
|
|
198
|
-
});
|
|
199
|
-
var l = r.sibling(s, 2);
|
|
200
|
-
let u;
|
|
201
|
-
r.reset(t), r.template_effect(() => {
|
|
202
|
-
i = r.set_class(n, 1, "sv-grid-menu-tab", null, i, { "is-active": r.get(o) === "general" }), r.set_attribute(n, "aria-selected", r.get(o) === "general"), u = r.set_class(l, 1, "sv-grid-menu-tab", null, u, { "is-active": r.get(o) === "columns" }), r.set_attribute(l, "aria-selected", r.get(o) === "columns");
|
|
203
|
-
}), r.delegated("click", n, () => I().columnMenuTab = "general"), r.delegated("click", l, () => I().columnMenuTab = "columns"), r.append(e, t);
|
|
204
|
-
};
|
|
205
|
-
r.if(c, (e) => {
|
|
206
|
-
r.get(K) && e(l);
|
|
207
|
-
});
|
|
208
|
-
var u = r.sibling(c, 2), d = (e) => {
|
|
209
|
-
le(e, () => r.get(t));
|
|
210
|
-
}, f = (e) => {
|
|
211
|
-
var t = C(), n = r.sibling(r.first_child(t), 2);
|
|
212
|
-
r.each(n, 21, () => r.get(fe).getAllColumns(), (e) => e.id, (e, t) => {
|
|
213
|
-
var n = S(), i = r.child(n);
|
|
214
|
-
r.remove_input_defaults(i);
|
|
215
|
-
var a = r.sibling(i, 2), o = r.child(a, !0);
|
|
216
|
-
r.reset(a), r.reset(n), r.template_effect(() => {
|
|
217
|
-
r.set_checked(i, !I().hiddenColumns[r.get(t).id]), r.set_text(o, typeof r.get(t).columnDef.header == "string" ? r.get(t).columnDef.header : r.get(t).id);
|
|
218
|
-
}), r.delegated("change", i, (e) => {
|
|
219
|
-
if (e.currentTarget.checked) {
|
|
220
|
-
let e = { ...I().hiddenColumns };
|
|
221
|
-
delete e[r.get(t).id], I().hiddenColumns = e;
|
|
222
|
-
} else I().hiddenColumns = {
|
|
223
|
-
...I().hiddenColumns,
|
|
224
|
-
[r.get(t).id]: !0
|
|
225
|
-
};
|
|
226
|
-
}), r.append(e, n);
|
|
227
|
-
}), r.reset(n), r.append(e, t);
|
|
228
|
-
}, p = (e) => {
|
|
229
|
-
var n = O(), a = r.first_child(n), o = (e) => {
|
|
230
|
-
var n = w(), i = r.first_child(n), a = r.child(i), o = r.child(a);
|
|
231
|
-
r.snippet(o, () => F.icon, () => "sort-asc"), r.reset(a), r.next(), r.reset(i);
|
|
232
|
-
var s = r.sibling(i, 2), c = r.child(s), l = r.child(c);
|
|
233
|
-
r.snippet(l, () => F.icon, () => "sort-desc"), r.reset(c), r.next(), r.reset(s);
|
|
234
|
-
var u = r.sibling(s, 2), d = r.child(u), f = r.child(d);
|
|
235
|
-
r.snippet(f, () => F.icon, () => "x"), r.reset(d), r.next(), r.reset(u), r.template_effect(() => u.disabled = !r.get(_e)[r.get(t)]), r.delegated("click", i, () => r.get(Fe)(r.get(t), !1)), r.delegated("click", s, () => r.get(Fe)(r.get(t), !0)), r.delegated("click", u, () => r.get(Ie)(r.get(t))), r.append(e, n);
|
|
236
|
-
};
|
|
237
|
-
r.if(a, (e) => {
|
|
238
|
-
r.get(i) && e(o);
|
|
239
|
-
});
|
|
240
|
-
var s = r.sibling(a, 2), c = (e) => {
|
|
241
|
-
let n = r.derived(() => r.get(pe)(r.get(t)));
|
|
242
|
-
var i = T(), a = r.sibling(r.first_child(i), 2), o = r.child(a), s = r.child(o);
|
|
243
|
-
r.snippet(s, () => F.icon, () => "op-startsWith"), r.reset(o), r.next(), r.reset(a);
|
|
244
|
-
var c = r.sibling(a, 2), l = r.child(c), u = r.child(l);
|
|
245
|
-
r.snippet(u, () => F.icon, () => "op-greaterThan"), r.reset(l), r.next(), r.reset(c);
|
|
246
|
-
var d = r.sibling(c, 2), f = r.child(d), p = r.child(f);
|
|
247
|
-
r.snippet(p, () => F.icon, () => "x"), r.reset(f), r.next(), r.reset(d), r.template_effect(() => {
|
|
248
|
-
a.disabled = r.get(n) === "left", c.disabled = r.get(n) === "right", d.disabled = !r.get(n);
|
|
249
|
-
}), r.delegated("click", a, () => r.get(me)(r.get(t))), r.delegated("click", c, () => r.get(he)(r.get(t))), r.delegated("click", d, () => r.get(ge)(r.get(t))), r.append(e, i);
|
|
250
|
-
};
|
|
251
|
-
r.if(s, (e) => {
|
|
252
|
-
r.get(ye) || e(c);
|
|
253
|
-
});
|
|
254
|
-
var l = r.sibling(s, 4), u = r.child(l), d = r.child(u);
|
|
255
|
-
r.snippet(d, () => F.icon, () => "autosize"), r.reset(u), r.next(), r.reset(l);
|
|
256
|
-
var f = r.sibling(l, 2), p = r.child(f), m = r.child(p);
|
|
257
|
-
r.snippet(m, () => F.icon, () => "autosize"), r.reset(p), r.next(), r.reset(f);
|
|
258
|
-
var h = r.sibling(f, 2), g = (e) => {
|
|
259
|
-
var n = E(), i = r.sibling(r.first_child(n), 2), a = r.child(i), o = r.child(a);
|
|
260
|
-
r.snippet(o, () => F.icon, () => "group"), r.reset(a), r.next(), r.reset(i);
|
|
261
|
-
var s = r.sibling(i, 2), c = r.child(s), l = r.child(c);
|
|
262
|
-
r.snippet(l, () => F.icon, () => "x"), r.reset(c), r.next(), r.reset(s), r.template_effect((e, t) => {
|
|
263
|
-
i.disabled = e, s.disabled = t;
|
|
264
|
-
}, [() => r.get(ve).includes(r.get(t)), () => !r.get(ve).includes(r.get(t))]), r.delegated("click", i, () => r.get(Le)(r.get(t))), r.delegated("click", s, () => r.get(Re)(r.get(t))), r.append(e, n);
|
|
265
|
-
};
|
|
266
|
-
r.if(h, (e) => {
|
|
267
|
-
r.get(ue) && e(g);
|
|
268
|
-
});
|
|
269
|
-
var _ = r.sibling(h, 4), v = (e) => {
|
|
270
|
-
var t = D();
|
|
271
|
-
let n;
|
|
272
|
-
var i = r.child(t), a = r.child(i);
|
|
273
|
-
r.snippet(a, () => F.icon, () => "columns"), r.reset(i);
|
|
274
|
-
var o = r.sibling(i, 2), s = r.child(o);
|
|
275
|
-
r.snippet(s, () => F.icon, () => "chevron-down"), r.reset(o), r.reset(t), r.template_effect(() => {
|
|
276
|
-
n = r.set_class(t, 1, "sv-grid-menu-item", null, n, { "is-open": r.get(W) !== null }), r.set_attribute(t, "aria-expanded", r.get(W) !== null);
|
|
277
|
-
}), r.delegated("click", t, (e) => r.get(Pe)(e)), r.append(e, t);
|
|
278
|
-
};
|
|
279
|
-
r.if(_, (e) => {
|
|
280
|
-
r.get(K) || e(v);
|
|
281
|
-
});
|
|
282
|
-
var y = r.sibling(_, 2), b = r.child(y), x = r.child(b);
|
|
283
|
-
r.snippet(x, () => F.icon, () => "reset"), r.reset(b), r.next(), r.reset(y), r.delegated("click", l, () => {
|
|
284
|
-
r.get(je)(r.get(t)), r.get(Z)();
|
|
285
|
-
}), r.delegated("click", f, () => {
|
|
286
|
-
r.get(Me)(), r.get(Z)();
|
|
287
|
-
}), r.delegated("click", y, () => {
|
|
288
|
-
r.get(Ne)(), r.get(Z)();
|
|
289
|
-
}), r.append(e, n);
|
|
290
|
-
};
|
|
291
|
-
r.if(u, (e) => {
|
|
292
|
-
r.get(K) && r.get(o) === "filter" && r.get(a) && r.get(G) ? e(d) : r.get(K) && r.get(o) === "columns" ? e(f, 1) : e(p, -1);
|
|
293
|
-
}), r.reset(s), r.template_effect(() => r.set_style(s, `left: ${r.get(B).x}px; top: ${r.get(B).y}px; max-height: calc(100vh - ${r.get(B).y}px - 12px);`)), r.append(e, s);
|
|
294
|
-
};
|
|
295
|
-
r.if(rt, (e) => {
|
|
296
|
-
r.get(z) && e(it);
|
|
297
|
-
});
|
|
298
|
-
var at = r.sibling(rt, 2), ot = (e) => {
|
|
299
|
-
var t = k();
|
|
300
|
-
le(r.child(t), () => r.get(V)), r.reset(t), r.template_effect(() => r.set_style(t, `left: ${r.get(H).x}px; top: ${r.get(H).y}px; max-height: calc(100vh - ${r.get(H).y}px - 12px);`)), r.append(e, t);
|
|
301
|
-
};
|
|
302
|
-
r.if(at, (e) => {
|
|
303
|
-
r.get(V) && r.get(G) && e(ot);
|
|
304
|
-
});
|
|
305
|
-
var st = r.sibling(at, 2), ct = (e) => {
|
|
306
|
-
let t = r.derived(() => r.get(fe).getAllColumns());
|
|
307
|
-
var n = j(), i = r.sibling(r.child(n), 2);
|
|
308
|
-
r.each(i, 21, () => r.get(t), (e) => e.id, (e, t) => {
|
|
309
|
-
var n = A(), i = r.child(n);
|
|
310
|
-
r.remove_input_defaults(i);
|
|
311
|
-
var a = r.sibling(i, 2), o = r.child(a, !0);
|
|
312
|
-
r.reset(a), r.reset(n), r.template_effect(() => {
|
|
313
|
-
r.set_checked(i, !I().hiddenColumns[r.get(t).id]), r.set_text(o, typeof r.get(t).columnDef.header == "string" ? r.get(t).columnDef.header : r.get(t).id);
|
|
314
|
-
}), r.delegated("change", i, (e) => {
|
|
315
|
-
if (e.currentTarget.checked) {
|
|
316
|
-
let e = { ...I().hiddenColumns };
|
|
317
|
-
delete e[r.get(t).id], I().hiddenColumns = e;
|
|
318
|
-
} else I().hiddenColumns = {
|
|
319
|
-
...I().hiddenColumns,
|
|
320
|
-
[r.get(t).id]: !0
|
|
321
|
-
};
|
|
322
|
-
}), r.append(e, n);
|
|
323
|
-
}), r.reset(i), r.reset(n), r.template_effect(() => r.set_style(n, `left: ${r.get(W).x}px; top: ${r.get(W).y}px;`)), r.append(e, n);
|
|
324
|
-
};
|
|
325
|
-
r.if(st, (e) => {
|
|
326
|
-
r.get(W) && e(ct);
|
|
327
|
-
});
|
|
328
|
-
var lt = r.sibling(st, 2), ut = (e) => {
|
|
329
|
-
let t = r.derived(() => r.get(U)), n = r.derived(() => r.get(q).find((e) => e.id === r.get(t))), i = r.derived(() => r.get(Ce)(r.get(n))), a = r.derived(() => r.get(L)[r.get(t)]?.operator ?? r.get(J)(r.get(n)));
|
|
330
|
-
var o = N();
|
|
331
|
-
r.each(o, 21, () => r.get(i), (e) => e.value, (e, i) => {
|
|
332
|
-
var o = M(), s = r.child(o), c = r.child(s);
|
|
333
|
-
r.snippet(c, () => F.icon, () => r.get(i).iconName), r.reset(s);
|
|
334
|
-
var l = r.sibling(s);
|
|
335
|
-
r.reset(o), r.template_effect((e) => {
|
|
336
|
-
r.set_attribute(o, "aria-checked", r.get(a) === r.get(i).value), r.set_text(l, ` ${e ?? ""}`);
|
|
337
|
-
}, [() => r.get(Y)(r.get(i), r.get(n))]), r.delegated("click", o, () => {
|
|
338
|
-
r.get(be)(r.get(t), r.get(i).value), r.get(Z)();
|
|
339
|
-
}), r.append(e, o);
|
|
340
|
-
}), r.reset(o), r.template_effect(() => r.set_style(o, `left: ${r.get(de).x}px; top: ${r.get(de).y}px;`)), r.append(e, o);
|
|
341
|
-
};
|
|
342
|
-
r.if(lt, (e) => {
|
|
343
|
-
r.get(U) && e(ut);
|
|
344
|
-
});
|
|
345
|
-
var dt = r.sibling(lt, 2), ft = (t) => {
|
|
346
|
-
let n = r.derived(() => r.get(Te)), i = r.derived(() => new Set(e(r.get(we)[r.get(n)] ?? "")));
|
|
347
|
-
var a = P();
|
|
348
|
-
r.each(a, 20, () => r.get(De), (e) => e, (e, t) => {
|
|
349
|
-
let a = r.derived(() => r.get(i).has(t));
|
|
350
|
-
var o = te(), s = r.child(o), c = r.child(s, !0);
|
|
351
|
-
r.reset(s);
|
|
352
|
-
var l = r.sibling(s, 2), u = r.child(l, !0);
|
|
353
|
-
r.reset(l), r.reset(o), r.template_effect(() => {
|
|
354
|
-
r.set_attribute(o, "aria-selected", r.get(a)), r.set_text(c, r.get(a) ? "✓" : ""), r.set_text(u, t === "" ? "(Blanks)" : t);
|
|
355
|
-
}), r.delegated("mousedown", o, (e) => {
|
|
356
|
-
e.preventDefault(), r.get(Oe)(r.get(n), t);
|
|
357
|
-
}), r.append(e, o);
|
|
358
|
-
}, (e) => {
|
|
359
|
-
var t = ne();
|
|
360
|
-
r.append(e, t);
|
|
361
|
-
}), r.reset(a), r.template_effect(() => r.set_style(a, `left: ${r.get(Ee).x}px; top: ${r.get(Ee).y}px;`)), r.append(t, a);
|
|
362
|
-
};
|
|
363
|
-
r.if(dt, (e) => {
|
|
364
|
-
r.get(Te) && e(ft);
|
|
365
|
-
});
|
|
366
|
-
var pt = r.sibling(dt, 2), mt = (e) => {
|
|
367
|
-
var t = ae(), n = r.first_child(t), i = r.sibling(n, 2);
|
|
368
|
-
r.each(i, 21, () => r.get(qe)(), (e) => e.key, (e, t) => {
|
|
369
|
-
var n = r.comment(), i = r.first_child(n), a = (e) => {
|
|
370
|
-
var t = re();
|
|
371
|
-
r.append(e, t);
|
|
372
|
-
}, o = (e) => {
|
|
373
|
-
var n = ie(), i = r.child(n, !0);
|
|
374
|
-
r.reset(n), r.template_effect(() => {
|
|
375
|
-
n.disabled = r.get(t).disabled, r.set_text(i, r.get(t).label);
|
|
376
|
-
}), r.delegated("click", n, () => {
|
|
377
|
-
r.get(t).run?.(), r.get($)();
|
|
378
|
-
}), r.append(e, n);
|
|
379
|
-
};
|
|
380
|
-
r.if(i, (e) => {
|
|
381
|
-
r.get(t).separator ? e(a) : e(o, -1);
|
|
382
|
-
}), r.append(e, n);
|
|
383
|
-
}), r.reset(i), r.template_effect(() => r.set_style(i, `left: ${r.get(Ke).x}px; top: ${r.get(Ke).y}px;`)), r.delegated("contextmenu", n, (e) => {
|
|
384
|
-
e.preventDefault(), r.get($)();
|
|
385
|
-
}), r.delegated("click", n, function(...e) {
|
|
386
|
-
r.get($)?.apply(this, e);
|
|
387
|
-
}), r.append(e, t);
|
|
388
|
-
};
|
|
389
|
-
r.if(pt, (e) => {
|
|
390
|
-
r.get(Ge) && e(mt);
|
|
391
|
-
});
|
|
392
|
-
var ht = r.sibling(pt, 2), gt = (e) => {
|
|
393
|
-
var t = oe(), n = r.first_child(t), i = r.sibling(n, 2), a = r.child(i);
|
|
394
|
-
r.remove_textarea_child(a), r.autofocus(a, !0);
|
|
395
|
-
var o = r.sibling(a, 2), s = r.child(o), c = r.sibling(s, 4), l = r.sibling(c, 2);
|
|
396
|
-
r.reset(o), r.reset(i), r.template_effect(() => r.set_style(i, `left: ${r.get(Je).x}px; top: ${r.get(Je).y}px;`)), r.delegated("click", n, function(...e) {
|
|
397
|
-
r.get(Ze)?.apply(this, e);
|
|
398
|
-
}), r.delegated("keydown", a, (e) => {
|
|
399
|
-
e.stopPropagation(), e.key === "Escape" && (e.preventDefault(), r.get(Ze)()), e.key === "Enter" && (e.ctrlKey || e.metaKey) && (e.preventDefault(), r.get(Ye)());
|
|
400
|
-
}), r.bind_value(a, () => I().commentDraft, (e) => I().commentDraft = e), r.delegated("click", s, function(...e) {
|
|
401
|
-
r.get(Xe)?.apply(this, e);
|
|
402
|
-
}), r.delegated("click", c, function(...e) {
|
|
403
|
-
r.get(Ze)?.apply(this, e);
|
|
404
|
-
}), r.delegated("click", l, function(...e) {
|
|
405
|
-
r.get(Ye)?.apply(this, e);
|
|
406
|
-
}), r.append(e, t);
|
|
407
|
-
};
|
|
408
|
-
r.if(ht, (e) => {
|
|
409
|
-
r.get(Je) && e(gt);
|
|
410
|
-
}), r.append(ce, Qe), r.pop();
|
|
411
|
-
}
|
|
412
|
-
r.delegate([
|
|
413
|
-
"change",
|
|
414
|
-
"input",
|
|
415
|
-
"click",
|
|
416
|
-
"mousedown",
|
|
417
|
-
"contextmenu",
|
|
418
|
-
"keydown"
|
|
419
|
-
]);
|
|
420
|
-
//#endregion
|
|
421
|
-
export { ce as default };
|