@svgrid/grid 2.2.26 → 2.2.28
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/README.md +79 -25
- package/dist/GridMenus.svelte +10 -4
- package/dist/SvColorInput.svelte +1 -1
- package/dist/SvContextMenu.svelte +4 -4
- package/dist/SvDrawer.svelte +4 -0
- package/dist/SvGrid.css +4 -0
- package/dist/SvPhoneInput.svelte +3 -1
- package/dist/a11y/dismissable.d.ts +11 -0
- package/dist/a11y/dismissable.js +21 -0
- package/dist/ai.js +3 -3
- package/dist/cdn/GridMenus-BbzEvTYO.js +421 -0
- package/dist/cdn/GridMenus-E220X2kM.js +417 -0
- package/dist/cdn/{SvDateTimePicker-CYC7gRER.js → SvDateTimePicker-B8GopjhC.js} +449 -442
- package/dist/cdn/{SvDateTimePicker-DtQKd4Ns.js → SvDateTimePicker-DB0aIEk8.js} +112 -105
- package/dist/cdn/{src-bYfr_7aR.js → src-BxNEslEo.js} +8089 -8089
- package/dist/cdn/{src-DysW9qbk.js → src-C4yKQZ5t.js} +5741 -5741
- package/dist/cdn/svgrid.js +8 -8
- package/dist/cdn/svgrid.svelte-external.js +8 -8
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +21 -4
- package/src/GridMenus.svelte +10 -4
- package/src/SvColorInput.svelte +1 -1
- package/src/SvContextMenu.svelte +4 -4
- package/src/SvDrawer.svelte +4 -0
- package/src/SvDrawer.test.ts +18 -1
- package/src/SvGrid.css +4 -0
- package/src/SvNavPane.test.ts +15 -4
- package/src/SvPhoneInput.svelte +3 -1
- package/src/a11y/dismissable.test.ts +25 -1
- package/src/a11y/dismissable.ts +20 -0
- package/src/ai.ts +3 -3
- package/src/index.ts +1 -0
- package/src/svgrid.filter-menu-scroll.test.ts +102 -0
- package/dist/cdn/GridMenus-GfCAHgkZ.js +0 -420
- package/dist/cdn/GridMenus-GiVNSeDU.js +0 -416
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { afterEach, describe, expect, it } from 'vitest'
|
|
2
|
-
import { createDismissableLayer, dismissableDepth } from './dismissable'
|
|
2
|
+
import { createDismissableLayer, dismissableDepth, onScrollOutside } from './dismissable'
|
|
3
3
|
|
|
4
4
|
function panel(): HTMLElement {
|
|
5
5
|
const el = document.createElement('div')
|
|
@@ -77,6 +77,30 @@ describe('createDismissableLayer', () => {
|
|
|
77
77
|
expect(dismissableDepth()).toBe(0)
|
|
78
78
|
})
|
|
79
79
|
|
|
80
|
+
it('close-on-scroll ignores scrolling inside the panel', () => {
|
|
81
|
+
const el = panel()
|
|
82
|
+
const list = document.createElement('div') // e.g. the filter menu's facet list
|
|
83
|
+
el.appendChild(list)
|
|
84
|
+
let closed = 0
|
|
85
|
+
const off = onScrollOutside(() => el, () => closed++)
|
|
86
|
+
|
|
87
|
+
// Inner scroll containers don't bubble, so this only reaches the capture
|
|
88
|
+
// listener - it must NOT close the menu the user is scrolling.
|
|
89
|
+
list.dispatchEvent(new Event('scroll'))
|
|
90
|
+
el.dispatchEvent(new Event('scroll'))
|
|
91
|
+
expect(closed).toBe(0)
|
|
92
|
+
|
|
93
|
+
// A scroll anywhere else moves the anchor, so the panel closes.
|
|
94
|
+
document.body.dispatchEvent(new Event('scroll'))
|
|
95
|
+
expect(closed).toBe(1)
|
|
96
|
+
document.dispatchEvent(new Event('scroll'))
|
|
97
|
+
expect(closed).toBe(2)
|
|
98
|
+
|
|
99
|
+
off()
|
|
100
|
+
document.body.dispatchEvent(new Event('scroll'))
|
|
101
|
+
expect(closed).toBe(2)
|
|
102
|
+
})
|
|
103
|
+
|
|
80
104
|
it('respects closeOnEscape / closeOnOutside flags', () => {
|
|
81
105
|
const el = panel()
|
|
82
106
|
let count = 0
|
package/src/a11y/dismissable.ts
CHANGED
|
@@ -92,3 +92,23 @@ export function createDismissableLayer(options: DismissableOptions): Dismissable
|
|
|
92
92
|
export function dismissableDepth(): number {
|
|
93
93
|
return stack.length
|
|
94
94
|
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Close-on-scroll for popovers that are position:fixed and anchored by a
|
|
98
|
+
* one-time measurement taken when they open. Scrolling an ancestor slides the
|
|
99
|
+
* anchor out from under them, so they have to close - but scrolling INSIDE
|
|
100
|
+
* them (a long menu, a facet list) must not, which is what a bare capture-phase
|
|
101
|
+
* window listener gets wrong: inner scroll containers don't bubble, so the
|
|
102
|
+
* capture listener sees them and dismisses the panel the user is scrolling.
|
|
103
|
+
*
|
|
104
|
+
* Returns the unsubscribe function.
|
|
105
|
+
*/
|
|
106
|
+
export function onScrollOutside(element: () => DismissTarget, onOutside: () => void): () => void {
|
|
107
|
+
if (typeof window === 'undefined') return () => {}
|
|
108
|
+
const handler = (event: Event) => {
|
|
109
|
+
if (containsTarget(element(), event.target as Node)) return
|
|
110
|
+
onOutside()
|
|
111
|
+
}
|
|
112
|
+
window.addEventListener('scroll', handler, true)
|
|
113
|
+
return () => window.removeEventListener('scroll', handler, true)
|
|
114
|
+
}
|
package/src/ai.ts
CHANGED
|
@@ -90,7 +90,7 @@ export function hasAIProvider(): boolean {
|
|
|
90
90
|
class NoProviderError extends Error {
|
|
91
91
|
constructor() {
|
|
92
92
|
super(
|
|
93
|
-
'@svgrid/
|
|
93
|
+
'@svgrid/grid ai: no AI provider registered. Call setAIProvider(fn) ' +
|
|
94
94
|
'with an adapter that talks to OpenAI / Anthropic / your proxy.',
|
|
95
95
|
)
|
|
96
96
|
this.name = 'NoProviderError'
|
|
@@ -100,7 +100,7 @@ class NoProviderError extends Error {
|
|
|
100
100
|
class BadJsonError extends Error {
|
|
101
101
|
constructor(raw: string) {
|
|
102
102
|
super(
|
|
103
|
-
'@svgrid/
|
|
103
|
+
'@svgrid/grid ai: provider returned non-JSON for a json-format request. ' +
|
|
104
104
|
`First 200 chars: ${raw.slice(0, 200)}`,
|
|
105
105
|
)
|
|
106
106
|
this.name = 'BadJsonError'
|
|
@@ -324,7 +324,7 @@ export async function aiSmartFill<
|
|
|
324
324
|
opts: AISmartFillOptions,
|
|
325
325
|
): Promise<AISmartFillResult<TValue>> {
|
|
326
326
|
if (opts.examples.length === 0) {
|
|
327
|
-
throw new Error('@svgrid/
|
|
327
|
+
throw new Error('@svgrid/grid ai: aiSmartFill requires at least one example.')
|
|
328
328
|
}
|
|
329
329
|
const data = api.getData()
|
|
330
330
|
const targets =
|
package/src/index.ts
CHANGED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filter menu + scroll. The funnel popover is position:fixed and anchored by a
|
|
3
|
+
* one-time measurement, so a scroll of the page/grid has to close it - but
|
|
4
|
+
* scrolling the popover's OWN body or its facet list must not, or the value
|
|
5
|
+
* list is unusable (reported on the 03-excel-filters demo).
|
|
6
|
+
*/
|
|
7
|
+
import { describe, expect, it, vi } from 'vitest'
|
|
8
|
+
import { mount, unmount } from 'svelte'
|
|
9
|
+
import SvGrid from './SvGrid.svelte'
|
|
10
|
+
import {
|
|
11
|
+
columnFilteringFeature,
|
|
12
|
+
createCoreRowModel,
|
|
13
|
+
createFilteredRowModel,
|
|
14
|
+
createSortedRowModel,
|
|
15
|
+
rowSortingFeature,
|
|
16
|
+
sortFns,
|
|
17
|
+
tableFeatures,
|
|
18
|
+
} from './index'
|
|
19
|
+
import type { ColumnDef, SvGridApi } from './index'
|
|
20
|
+
|
|
21
|
+
type Row = { id: number; name: string; team: string }
|
|
22
|
+
const features = tableFeatures({ rowSortingFeature, columnFilteringFeature })
|
|
23
|
+
const rows: Row[] = Array.from({ length: 12 }, (_, i) => ({
|
|
24
|
+
id: i + 1,
|
|
25
|
+
name: `Person ${i + 1}`,
|
|
26
|
+
team: ['A', 'B', 'C'][i % 3]!,
|
|
27
|
+
}))
|
|
28
|
+
const cols: ColumnDef<typeof features, Row>[] = [
|
|
29
|
+
{ field: 'name', header: 'Name', width: 200, editorType: 'text' },
|
|
30
|
+
{ field: 'team', header: 'Team', width: 160, editorType: 'text' },
|
|
31
|
+
]
|
|
32
|
+
const tick = () => new Promise<void>((r) => setTimeout(r))
|
|
33
|
+
|
|
34
|
+
function mountGrid() {
|
|
35
|
+
return new Promise<{ target: HTMLElement; destroy: () => void }>((res, rej) => {
|
|
36
|
+
const target = document.createElement('div')
|
|
37
|
+
document.body.appendChild(target)
|
|
38
|
+
const app = mount(SvGrid, {
|
|
39
|
+
target,
|
|
40
|
+
props: {
|
|
41
|
+
data: rows,
|
|
42
|
+
columns: cols,
|
|
43
|
+
features,
|
|
44
|
+
_rowModels: {
|
|
45
|
+
coreRowModel: createCoreRowModel(),
|
|
46
|
+
filteredRowModel: createFilteredRowModel(),
|
|
47
|
+
sortedRowModel: createSortedRowModel(sortFns),
|
|
48
|
+
},
|
|
49
|
+
rowHeight: 32,
|
|
50
|
+
containerHeight: 400,
|
|
51
|
+
virtualization: false,
|
|
52
|
+
filterMode: 'menu',
|
|
53
|
+
showColumnFilters: true,
|
|
54
|
+
onApiReady(_api: SvGridApi<typeof features, Row>) {
|
|
55
|
+
res({ target, destroy: () => { unmount(app); target.remove() } })
|
|
56
|
+
},
|
|
57
|
+
} as any,
|
|
58
|
+
})
|
|
59
|
+
queueMicrotask(() => { if (!target.querySelector('[role="grid"]')) rej(new Error('no grid')) })
|
|
60
|
+
})
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
async function openFilterMenu(target: HTMLElement) {
|
|
64
|
+
const btn = target.querySelector('.sv-grid-col-filter-btn') as HTMLButtonElement
|
|
65
|
+
expect(btn).not.toBeNull()
|
|
66
|
+
btn.click()
|
|
67
|
+
// GridMenus is a lazy chunk; poll until the popover mounts.
|
|
68
|
+
await vi.waitFor(() => expect(target.querySelector('.sv-grid-filter-menu')).not.toBeNull())
|
|
69
|
+
return target.querySelector('.sv-grid-filter-menu') as HTMLElement
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
describe('SvGrid filter menu scrolling', () => {
|
|
73
|
+
it('stays open while its own body / facet list is scrolled', async () => {
|
|
74
|
+
const { target, destroy } = await mountGrid()
|
|
75
|
+
await tick()
|
|
76
|
+
const menu = await openFilterMenu(target)
|
|
77
|
+
|
|
78
|
+
menu.dispatchEvent(new Event('scroll'))
|
|
79
|
+
await tick()
|
|
80
|
+
expect(target.querySelector('.sv-grid-filter-menu')).not.toBeNull()
|
|
81
|
+
|
|
82
|
+
const facets = menu.querySelector('.sv-grid-facet-list')
|
|
83
|
+
expect(facets).not.toBeNull()
|
|
84
|
+
facets!.dispatchEvent(new Event('scroll'))
|
|
85
|
+
await tick()
|
|
86
|
+
expect(target.querySelector('.sv-grid-filter-menu')).not.toBeNull()
|
|
87
|
+
|
|
88
|
+
destroy()
|
|
89
|
+
})
|
|
90
|
+
|
|
91
|
+
it('still closes when something outside it scrolls', async () => {
|
|
92
|
+
const { target, destroy } = await mountGrid()
|
|
93
|
+
await tick()
|
|
94
|
+
await openFilterMenu(target)
|
|
95
|
+
|
|
96
|
+
const viewport = target.querySelector('.sv-grid-viewport') ?? target
|
|
97
|
+
viewport.dispatchEvent(new Event('scroll'))
|
|
98
|
+
await vi.waitFor(() => expect(target.querySelector('.sv-grid-filter-menu')).toBeNull())
|
|
99
|
+
|
|
100
|
+
destroy()
|
|
101
|
+
})
|
|
102
|
+
})
|
|
@@ -1,420 +0,0 @@
|
|
|
1
|
-
import { eo as e, to as t } from "./src-bYfr_7aR.js";
|
|
2
|
-
import * as n from "svelte/internal/client";
|
|
3
|
-
import "svelte/internal/disclose-version";
|
|
4
|
-
//#region src/GridMenus.svelte
|
|
5
|
-
var r = n.from_html("<option> </option>"), i = n.from_html("<option></option>"), a = n.from_html("<datalist></datalist>"), o = n.from_html("<input class=\"sv-grid-menu-condition-value\" placeholder=\"To\"/>"), s = n.from_html("<option> </option>"), c = n.from_html("<input class=\"sv-grid-menu-condition-value\" placeholder=\"To\"/>"), l = n.from_html("<input class=\"sv-grid-menu-condition-value\"/> <!>", 1), u = n.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), d = n.from_html("<button type=\"button\" class=\"sv-grid-menu-add-cond\">+ Add condition</button>"), f = n.from_html("<input class=\"sv-grid-menu-condition-value\"/> <!> <!> <!>", 1), p = n.from_html("<label class=\"sv-grid-facet\"><input type=\"checkbox\"/> <span class=\"sv-grid-facet-label\"> </span></label>"), m = n.from_html("<div class=\"sv-grid-facet-empty\">No values</div>"), h = n.from_html("<div class=\"sv-grid-facet-note\"> </div>"), g = n.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>"), _ = n.from_html("<div role=\"tooltip\"> </div>"), v = n.from_html("<div class=\"sv-grid-menu-backdrop\" role=\"presentation\"></div>"), y = n.from_html("<button type=\"button\" role=\"tab\">Filter</button>"), b = n.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 = n.from_html("<label class=\"sv-grid-facet\"><input type=\"checkbox\"/> <span class=\"sv-grid-facet-label\"> </span></label>"), S = n.from_html("<div class=\"sv-grid-menu-filter-head\">Visible columns</div> <div class=\"sv-grid-facet-list\"></div>", 1), C = n.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), w = n.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), T = n.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), E = n.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>"), D = n.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), O = n.from_html("<div class=\"sv-grid-menu sv-grid-column-menu\" role=\"menu\"><!> <!></div>"), ee = n.from_html("<div class=\"sv-grid-menu sv-grid-filter-menu\" role=\"menu\"><!></div>"), k = n.from_html("<label class=\"sv-grid-facet\"><input type=\"checkbox\"/> <span class=\"sv-grid-facet-label\"> </span></label>"), A = n.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>"), j = n.from_html("<button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitemradio\"><span class=\"sv-grid-header-icon\"><!></span> </button>"), M = n.from_html("<div class=\"sv-grid-menu sv-grid-operator-menu\" role=\"menu\"></div>"), N = n.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>"), te = n.from_html("<div class=\"sv-grid-facet-empty\">No values</div>"), ne = n.from_html("<div class=\"sv-grid-menu sv-grid-in-suggest\" role=\"listbox\" aria-multiselectable=\"true\" aria-label=\"Filter values\"></div>"), P = n.from_html("<div class=\"sv-grid-menu-sep\"></div>"), re = n.from_html("<button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"> </button>"), ie = n.from_html("<div class=\"sv-grid-menu-backdrop\" role=\"presentation\"></div> <div class=\"sv-grid-menu sv-grid-context-menu\" role=\"menu\"></div>", 1), ae = n.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), oe = n.from_html("<!> <!> <!> <!> <!> <!> <!> <!> <!>", 1);
|
|
6
|
-
function se(se, F) {
|
|
7
|
-
n.push(F, !0);
|
|
8
|
-
let ce = (e, _ = n.noop) => {
|
|
9
|
-
let v = n.derived(() => n.get(q).find((e) => e.id === _())), y = n.derived(() => n.get(Se)(n.get(v))), b = n.derived(() => n.get(L)[_()]?.operator ?? n.get(J)(n.get(v))), x = n.derived(() => t(n.get(v)?.columnDef.editorType ?? "text"));
|
|
10
|
-
var S = g(), C = n.child(S), w = n.child(C), T = n.child(w);
|
|
11
|
-
n.snippet(T, () => F.icon, () => "filter"), n.reset(w), n.next(), n.reset(C);
|
|
12
|
-
var E = n.sibling(C, 2);
|
|
13
|
-
n.each(E, 21, () => n.get(y), (e) => e.value, (e, t) => {
|
|
14
|
-
var i = r(), a = n.child(i, !0);
|
|
15
|
-
n.reset(i);
|
|
16
|
-
var o = {};
|
|
17
|
-
n.template_effect((e) => {
|
|
18
|
-
n.set_text(a, e), o !== (o = n.get(t).value) && (i.value = (i.__value = n.get(t).value) ?? "");
|
|
19
|
-
}, [() => n.get(Y)(n.get(t), n.get(v))]), n.append(e, i);
|
|
20
|
-
}), n.reset(E);
|
|
21
|
-
var D;
|
|
22
|
-
n.init_select(E);
|
|
23
|
-
var O = n.sibling(E, 2), ee = (e) => {
|
|
24
|
-
let t = n.derived(() => n.get(b) === "in" || n.get(b) === "notIn"), r = n.derived(() => n.get(L)[_()]);
|
|
25
|
-
var p = f(), m = n.first_child(p);
|
|
26
|
-
n.remove_input_defaults(m);
|
|
27
|
-
var h = n.sibling(m, 2), g = (e) => {
|
|
28
|
-
var t = a();
|
|
29
|
-
n.each(t, 20, () => n.get(Oe)(_()).slice(0, 200), (e) => e, (e, t) => {
|
|
30
|
-
var r = i(), a = {};
|
|
31
|
-
n.template_effect(() => {
|
|
32
|
-
a !== (a = t) && (r.value = (r.__value = t) ?? "");
|
|
33
|
-
}), n.append(e, r);
|
|
34
|
-
}), n.reset(t), n.template_effect(() => n.set_attribute(t, "id", `sv-in-list-${_()}`)), n.append(e, t);
|
|
35
|
-
};
|
|
36
|
-
n.if(h, (e) => {
|
|
37
|
-
n.get(t) && e(g);
|
|
38
|
-
});
|
|
39
|
-
var S = n.sibling(h, 2), C = (e) => {
|
|
40
|
-
var t = o();
|
|
41
|
-
n.remove_input_defaults(t), n.template_effect(() => {
|
|
42
|
-
n.set_attribute(t, "type", n.get(x)), n.set_value(t, n.get(L)[_()]?.valueTo ?? "");
|
|
43
|
-
}), n.delegated("input", t, (e) => n.get(xe)(_(), e.currentTarget.value)), n.append(e, t);
|
|
44
|
-
};
|
|
45
|
-
n.if(S, (e) => {
|
|
46
|
-
n.get(b) === "between" && e(C);
|
|
47
|
-
});
|
|
48
|
-
var w = n.sibling(S, 2), T = (e) => {
|
|
49
|
-
let t = n.derived(() => n.get(r).operator2 ?? n.get(J)(n.get(v)));
|
|
50
|
-
var i = u(), a = n.first_child(i), o = n.child(a);
|
|
51
|
-
let d;
|
|
52
|
-
var f = n.sibling(o, 2);
|
|
53
|
-
let p;
|
|
54
|
-
var m = n.sibling(f, 2);
|
|
55
|
-
n.reset(a);
|
|
56
|
-
var h = n.sibling(a, 2);
|
|
57
|
-
n.each(h, 21, () => n.get(y), (e) => e.value, (e, t) => {
|
|
58
|
-
var r = s(), i = n.child(r, !0);
|
|
59
|
-
n.reset(r);
|
|
60
|
-
var a = {};
|
|
61
|
-
n.template_effect((e) => {
|
|
62
|
-
n.set_text(i, e), a !== (a = n.get(t).value) && (r.value = (r.__value = n.get(t).value) ?? "");
|
|
63
|
-
}, [() => n.get(Y)(n.get(t), n.get(v))]), n.append(e, r);
|
|
64
|
-
}), n.reset(h);
|
|
65
|
-
var g;
|
|
66
|
-
n.init_select(h);
|
|
67
|
-
var b = n.sibling(h, 2), S = (e) => {
|
|
68
|
-
var i = l(), a = n.first_child(i);
|
|
69
|
-
n.remove_input_defaults(a);
|
|
70
|
-
var o = n.sibling(a, 2), s = (e) => {
|
|
71
|
-
var t = c();
|
|
72
|
-
n.remove_input_defaults(t), n.template_effect(() => {
|
|
73
|
-
n.set_attribute(t, "type", n.get(x)), n.set_value(t, n.get(r).valueTo2 ?? "");
|
|
74
|
-
}), n.delegated("input", t, (e) => X(_(), { valueTo2: e.currentTarget.value })), n.append(e, t);
|
|
75
|
-
};
|
|
76
|
-
n.if(o, (e) => {
|
|
77
|
-
n.get(t) === "between" && e(s);
|
|
78
|
-
}), n.template_effect(() => {
|
|
79
|
-
n.set_attribute(a, "type", n.get(x)), n.set_value(a, n.get(r).value2 ?? ""), n.set_attribute(a, "placeholder", n.get(t) === "between" ? "From" : "Filter value...");
|
|
80
|
-
}), n.delegated("input", a, (e) => X(_(), { value2: e.currentTarget.value })), n.append(e, i);
|
|
81
|
-
};
|
|
82
|
-
n.if(b, (e) => {
|
|
83
|
-
n.get(t) !== "isBlank" && e(S);
|
|
84
|
-
}), n.template_effect(() => {
|
|
85
|
-
d = n.set_class(o, 1, "", null, d, { "is-on": (n.get(r).join ?? "AND") === "AND" }), p = n.set_class(f, 1, "", null, p, { "is-on": n.get(r).join === "OR" }), g !== (g = n.get(t)) && (h.value = (h.__value = n.get(t)) ?? "", n.select_option(h, n.get(t)));
|
|
86
|
-
}), n.delegated("click", o, () => X(_(), { join: "AND" })), n.delegated("click", f, () => X(_(), { join: "OR" })), n.delegated("click", m, () => X(_(), {
|
|
87
|
-
operator2: void 0,
|
|
88
|
-
value2: void 0,
|
|
89
|
-
valueTo2: void 0,
|
|
90
|
-
join: void 0
|
|
91
|
-
})), n.delegated("change", h, (e) => X(_(), { operator2: e.currentTarget.value })), n.append(e, i);
|
|
92
|
-
}, E = (e) => {
|
|
93
|
-
var t = d();
|
|
94
|
-
n.delegated("click", t, () => X(_(), {
|
|
95
|
-
operator2: n.get(J)(n.get(v)),
|
|
96
|
-
value2: "",
|
|
97
|
-
join: "AND"
|
|
98
|
-
})), n.append(e, t);
|
|
99
|
-
};
|
|
100
|
-
n.if(w, (e) => {
|
|
101
|
-
n.get(r)?.operator2 ? e(T) : e(E, -1);
|
|
102
|
-
}), n.template_effect(() => {
|
|
103
|
-
n.set_attribute(m, "type", n.get(b) === "regex" ? "text" : n.get(x)), n.set_attribute(m, "list", n.get(t) ? `sv-in-list-${_()}` : void 0), n.set_value(m, n.get(L)[_()]?.value ?? ""), n.set_attribute(m, "placeholder", n.get(b) === "between" ? "From" : n.get(t) ? "value, value..." : n.get(b) === "regex" ? "Pattern..." : "Filter value...");
|
|
104
|
-
}), n.delegated("input", m, (e) => n.get(be)(_(), e.currentTarget.value)), n.append(e, p);
|
|
105
|
-
};
|
|
106
|
-
n.if(O, (e) => {
|
|
107
|
-
n.get(b) !== "isBlank" && n.get(b) !== "isNotBlank" && e(ee);
|
|
108
|
-
});
|
|
109
|
-
var k = n.sibling(O, 6);
|
|
110
|
-
n.remove_input_defaults(k);
|
|
111
|
-
var A = n.sibling(k, 2), j = n.child(A);
|
|
112
|
-
n.remove_input_defaults(j), n.next(2), n.reset(A);
|
|
113
|
-
var M = n.sibling(A, 2);
|
|
114
|
-
n.each(M, 20, () => n.get(Q), (e) => e, (e, t) => {
|
|
115
|
-
var r = p(), i = n.child(r);
|
|
116
|
-
n.remove_input_defaults(i);
|
|
117
|
-
var a = n.sibling(i, 2), o = n.child(a, !0);
|
|
118
|
-
n.reset(a), n.reset(r), n.template_effect((e) => {
|
|
119
|
-
n.set_checked(i, e), n.set_text(o, t === "" ? "(Blanks)" : t);
|
|
120
|
-
}, [() => n.get(ze)(_(), t)]), n.delegated("change", i, () => n.get(Be)(_(), t)), n.append(e, r);
|
|
121
|
-
}, (e) => {
|
|
122
|
-
var t = m();
|
|
123
|
-
n.append(e, t);
|
|
124
|
-
}), n.reset(M);
|
|
125
|
-
var N = n.sibling(M, 2), te = (e) => {
|
|
126
|
-
var t = h(), r = n.child(t);
|
|
127
|
-
n.reset(t), n.template_effect(() => n.set_text(r, `Showing ${n.get(Q).length ?? ""} of ${n.get(Re).length ?? ""}`)), n.append(e, t);
|
|
128
|
-
};
|
|
129
|
-
n.if(N, (e) => {
|
|
130
|
-
n.get(Re).length > n.get(Q).length && e(te);
|
|
131
|
-
});
|
|
132
|
-
var ne = n.sibling(N, 2), P = n.child(ne), re = n.sibling(P, 2);
|
|
133
|
-
n.reset(ne), n.reset(S), n.template_effect((e, t) => {
|
|
134
|
-
D !== (D = n.get(b)) && (E.value = (E.__value = n.get(b)) ?? "", n.select_option(E, n.get(b))), n.set_checked(j, e), P.disabled = t;
|
|
135
|
-
}, [() => n.get(Ve)(_()), () => !n.get(ke)(_())]), n.delegated("change", E, (e) => n.get(ye)(_(), e.currentTarget.value)), n.bind_value(k, () => I().columnMenuSearch, (e) => I().columnMenuSearch = e), n.delegated("change", j, () => n.get(He)(_())), n.delegated("click", P, () => n.get(Ue)(_())), n.delegated("click", re, function(...e) {
|
|
136
|
-
n.get(Z)?.apply(this, e);
|
|
137
|
-
}), n.append(e, S);
|
|
138
|
-
}, I = n.prop(F, "ctrl", 7), le = n.derived(() => I().groupingControlsEnabled), L = n.derived(() => I().filterMenuValues), R = n.derived(() => I().tooltip);
|
|
139
|
-
n.derived(() => I().showTooltipFor);
|
|
140
|
-
let z = n.derived(() => I().columnMenuFor), B = n.derived(() => I().columnMenuPos), V = n.derived(() => I().filterMenuFor), H = n.derived(() => I().filterMenuPos), U = n.derived(() => I().operatorMenuFor), ue = n.derived(() => I().operatorMenuPos), W = n.derived(() => I().chooseColumnsPos), G = n.derived(() => I().showColumnFiltersEffective), K = n.derived(() => I().props.columnMenuTabs === !0), de = n.derived(() => I().grid), q = n.derived(() => I().allColumns), fe = n.derived(() => I().isColumnPinned), pe = n.derived(() => I().pinColumnLeft), me = n.derived(() => I().pinColumnRight), he = n.derived(() => I().unpinColumn), ge = n.derived(() => I().sortDirectionByColumn), _e = n.derived(() => I().groupingColumns), ve = n.derived(() => I().columnVirtualizationEnabled), ye = n.derived(() => I().updateFilterOperator), be = n.derived(() => I().updateFilterMenuValue), xe = n.derived(() => I().updateFilterMenuValueTo), Se = n.derived(() => I().operatorsForColumn), J = n.derived(() => I().defaultOperatorFor), Y = n.derived(() => I().operatorLabelFor), Ce = n.derived(() => I().filterRowValues), we = n.derived(() => I().inSuggestFor), Te = n.derived(() => I().inSuggestPos), Ee = n.derived(() => I().inSuggestValues), De = n.derived(() => I().toggleFilterToken), Oe = n.derived(() => I().facetValuesForColumn);
|
|
141
|
-
function X(e, t) {
|
|
142
|
-
let r = n.get(q).find((t) => t.id === e), i = I().filterMenuValues[e] ?? {
|
|
143
|
-
operator: n.get(J)(r),
|
|
144
|
-
value: ""
|
|
145
|
-
};
|
|
146
|
-
I().filterMenuValues = {
|
|
147
|
-
...I().filterMenuValues,
|
|
148
|
-
[e]: {
|
|
149
|
-
...i,
|
|
150
|
-
...t
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
}
|
|
154
|
-
let ke = n.derived(() => I().isColumnFiltered), Z = n.derived(() => I().closeMenus);
|
|
155
|
-
n.user_effect(() => {
|
|
156
|
-
if (!(n.get(z) || n.get(V) || n.get(U) || n.get(W))) return;
|
|
157
|
-
let e = () => n.get(Z)();
|
|
158
|
-
return window.addEventListener("scroll", e, !0), window.addEventListener("resize", e), () => {
|
|
159
|
-
window.removeEventListener("scroll", e, !0), window.removeEventListener("resize", e);
|
|
160
|
-
};
|
|
161
|
-
});
|
|
162
|
-
let Ae = n.derived(() => I().autosizeColumn), je = n.derived(() => I().autosizeAllColumns), Me = n.derived(() => I().resetColumns), Ne = n.derived(() => I().openChooseColumns), Pe = n.derived(() => I().sortColumnFromMenu), Fe = n.derived(() => I().clearColumnSort), Ie = n.derived(() => I().groupByColumnFromMenu), Le = n.derived(() => I().clearGroupingFromMenu), Re = n.derived(() => I().columnMenuFacetValues), Q = n.derived(() => I().columnMenuVisibleFacets), ze = n.derived(() => I().isFacetChecked), Be = n.derived(() => I().toggleFacetValue), Ve = n.derived(() => I().isAllFacetsChecked), He = n.derived(() => I().toggleAllFacets), Ue = n.derived(() => I().clearColumnFilter), We = n.derived(() => I().contextMenuFor), Ge = n.derived(() => I().contextMenuPos), Ke = n.derived(() => I().contextMenuItems), $ = n.derived(() => I().closeContextMenu), qe = n.derived(() => I().commentEditFor), Je = n.derived(() => I().saveComment), Ye = n.derived(() => I().removeComment), Xe = n.derived(() => I().closeCommentEditor);
|
|
163
|
-
var Ze = oe(), Qe = n.first_child(Ze), $e = (e) => {
|
|
164
|
-
var t = _();
|
|
165
|
-
let r;
|
|
166
|
-
var i = n.child(t, !0);
|
|
167
|
-
n.reset(t), n.template_effect(() => {
|
|
168
|
-
r = n.set_class(t, 1, "sv-grid-tooltip", null, r, { "sv-grid-tooltip-above": !n.get(R).below }), n.set_style(t, `left: ${n.get(R).x}px; top: ${n.get(R).y}px; ${n.get(R).below ? "" : "transform: translateY(-100%);"}`), n.set_text(i, n.get(R).text);
|
|
169
|
-
}), n.append(e, t);
|
|
170
|
-
};
|
|
171
|
-
n.if(Qe, (e) => {
|
|
172
|
-
n.get(R) && e($e);
|
|
173
|
-
});
|
|
174
|
-
var et = n.sibling(Qe, 2), tt = (e) => {
|
|
175
|
-
var t = v();
|
|
176
|
-
n.delegated("click", t, function(...e) {
|
|
177
|
-
n.get(Z)?.apply(this, e);
|
|
178
|
-
}), n.append(e, t);
|
|
179
|
-
};
|
|
180
|
-
n.if(et, (e) => {
|
|
181
|
-
(n.get(z) || n.get(V) || n.get(U) || n.get(W)) && e(tt);
|
|
182
|
-
});
|
|
183
|
-
var nt = n.sibling(et, 2), rt = (e) => {
|
|
184
|
-
let t = n.derived(() => n.get(z)), r = n.derived(() => n.get(q).find((e) => e.id === n.get(t))), i = n.derived(() => n.get(r)?.getCanSort?.() ?? !1), a = n.derived(() => n.get(r)?.columnDef.field != null && n.get(r)?.columnDef.filterable !== !1), o = n.derived(() => I().columnMenuTab);
|
|
185
|
-
var s = O(), c = n.child(s), l = (e) => {
|
|
186
|
-
var t = b(), r = n.child(t);
|
|
187
|
-
let i;
|
|
188
|
-
var s = n.sibling(r, 2), c = (e) => {
|
|
189
|
-
var t = y();
|
|
190
|
-
let r;
|
|
191
|
-
n.template_effect(() => {
|
|
192
|
-
r = n.set_class(t, 1, "sv-grid-menu-tab", null, r, { "is-active": n.get(o) === "filter" }), n.set_attribute(t, "aria-selected", n.get(o) === "filter");
|
|
193
|
-
}), n.delegated("click", t, () => I().columnMenuTab = "filter"), n.append(e, t);
|
|
194
|
-
};
|
|
195
|
-
n.if(s, (e) => {
|
|
196
|
-
n.get(a) && n.get(G) && e(c);
|
|
197
|
-
});
|
|
198
|
-
var l = n.sibling(s, 2);
|
|
199
|
-
let u;
|
|
200
|
-
n.reset(t), n.template_effect(() => {
|
|
201
|
-
i = n.set_class(r, 1, "sv-grid-menu-tab", null, i, { "is-active": n.get(o) === "general" }), n.set_attribute(r, "aria-selected", n.get(o) === "general"), u = n.set_class(l, 1, "sv-grid-menu-tab", null, u, { "is-active": n.get(o) === "columns" }), n.set_attribute(l, "aria-selected", n.get(o) === "columns");
|
|
202
|
-
}), n.delegated("click", r, () => I().columnMenuTab = "general"), n.delegated("click", l, () => I().columnMenuTab = "columns"), n.append(e, t);
|
|
203
|
-
};
|
|
204
|
-
n.if(c, (e) => {
|
|
205
|
-
n.get(K) && e(l);
|
|
206
|
-
});
|
|
207
|
-
var u = n.sibling(c, 2), d = (e) => {
|
|
208
|
-
ce(e, () => n.get(t));
|
|
209
|
-
}, f = (e) => {
|
|
210
|
-
var t = S(), r = n.sibling(n.first_child(t), 2);
|
|
211
|
-
n.each(r, 21, () => n.get(de).getAllColumns(), (e) => e.id, (e, t) => {
|
|
212
|
-
var r = x(), i = n.child(r);
|
|
213
|
-
n.remove_input_defaults(i);
|
|
214
|
-
var a = n.sibling(i, 2), o = n.child(a, !0);
|
|
215
|
-
n.reset(a), n.reset(r), n.template_effect(() => {
|
|
216
|
-
n.set_checked(i, !I().hiddenColumns[n.get(t).id]), n.set_text(o, typeof n.get(t).columnDef.header == "string" ? n.get(t).columnDef.header : n.get(t).id);
|
|
217
|
-
}), n.delegated("change", i, (e) => {
|
|
218
|
-
if (e.currentTarget.checked) {
|
|
219
|
-
let e = { ...I().hiddenColumns };
|
|
220
|
-
delete e[n.get(t).id], I().hiddenColumns = e;
|
|
221
|
-
} else I().hiddenColumns = {
|
|
222
|
-
...I().hiddenColumns,
|
|
223
|
-
[n.get(t).id]: !0
|
|
224
|
-
};
|
|
225
|
-
}), n.append(e, r);
|
|
226
|
-
}), n.reset(r), n.append(e, t);
|
|
227
|
-
}, p = (e) => {
|
|
228
|
-
var r = D(), a = n.first_child(r), o = (e) => {
|
|
229
|
-
var r = C(), i = n.first_child(r), a = n.child(i), o = n.child(a);
|
|
230
|
-
n.snippet(o, () => F.icon, () => "sort-asc"), n.reset(a), n.next(), n.reset(i);
|
|
231
|
-
var s = n.sibling(i, 2), c = n.child(s), l = n.child(c);
|
|
232
|
-
n.snippet(l, () => F.icon, () => "sort-desc"), n.reset(c), n.next(), n.reset(s);
|
|
233
|
-
var u = n.sibling(s, 2), d = n.child(u), f = n.child(d);
|
|
234
|
-
n.snippet(f, () => F.icon, () => "x"), n.reset(d), n.next(), n.reset(u), n.template_effect(() => u.disabled = !n.get(ge)[n.get(t)]), n.delegated("click", i, () => n.get(Pe)(n.get(t), !1)), n.delegated("click", s, () => n.get(Pe)(n.get(t), !0)), n.delegated("click", u, () => n.get(Fe)(n.get(t))), n.append(e, r);
|
|
235
|
-
};
|
|
236
|
-
n.if(a, (e) => {
|
|
237
|
-
n.get(i) && e(o);
|
|
238
|
-
});
|
|
239
|
-
var s = n.sibling(a, 2), c = (e) => {
|
|
240
|
-
let r = n.derived(() => n.get(fe)(n.get(t)));
|
|
241
|
-
var i = w(), a = n.sibling(n.first_child(i), 2), o = n.child(a), s = n.child(o);
|
|
242
|
-
n.snippet(s, () => F.icon, () => "op-startsWith"), n.reset(o), n.next(), n.reset(a);
|
|
243
|
-
var c = n.sibling(a, 2), l = n.child(c), u = n.child(l);
|
|
244
|
-
n.snippet(u, () => F.icon, () => "op-greaterThan"), n.reset(l), n.next(), n.reset(c);
|
|
245
|
-
var d = n.sibling(c, 2), f = n.child(d), p = n.child(f);
|
|
246
|
-
n.snippet(p, () => F.icon, () => "x"), n.reset(f), n.next(), n.reset(d), n.template_effect(() => {
|
|
247
|
-
a.disabled = n.get(r) === "left", c.disabled = n.get(r) === "right", d.disabled = !n.get(r);
|
|
248
|
-
}), n.delegated("click", a, () => n.get(pe)(n.get(t))), n.delegated("click", c, () => n.get(me)(n.get(t))), n.delegated("click", d, () => n.get(he)(n.get(t))), n.append(e, i);
|
|
249
|
-
};
|
|
250
|
-
n.if(s, (e) => {
|
|
251
|
-
n.get(ve) || e(c);
|
|
252
|
-
});
|
|
253
|
-
var l = n.sibling(s, 4), u = n.child(l), d = n.child(u);
|
|
254
|
-
n.snippet(d, () => F.icon, () => "autosize"), n.reset(u), n.next(), n.reset(l);
|
|
255
|
-
var f = n.sibling(l, 2), p = n.child(f), m = n.child(p);
|
|
256
|
-
n.snippet(m, () => F.icon, () => "autosize"), n.reset(p), n.next(), n.reset(f);
|
|
257
|
-
var h = n.sibling(f, 2), g = (e) => {
|
|
258
|
-
var r = T(), i = n.sibling(n.first_child(r), 2), a = n.child(i), o = n.child(a);
|
|
259
|
-
n.snippet(o, () => F.icon, () => "group"), n.reset(a), n.next(), n.reset(i);
|
|
260
|
-
var s = n.sibling(i, 2), c = n.child(s), l = n.child(c);
|
|
261
|
-
n.snippet(l, () => F.icon, () => "x"), n.reset(c), n.next(), n.reset(s), n.template_effect((e, t) => {
|
|
262
|
-
i.disabled = e, s.disabled = t;
|
|
263
|
-
}, [() => n.get(_e).includes(n.get(t)), () => !n.get(_e).includes(n.get(t))]), n.delegated("click", i, () => n.get(Ie)(n.get(t))), n.delegated("click", s, () => n.get(Le)(n.get(t))), n.append(e, r);
|
|
264
|
-
};
|
|
265
|
-
n.if(h, (e) => {
|
|
266
|
-
n.get(le) && e(g);
|
|
267
|
-
});
|
|
268
|
-
var _ = n.sibling(h, 4), v = (e) => {
|
|
269
|
-
var t = E();
|
|
270
|
-
let r;
|
|
271
|
-
var i = n.child(t), a = n.child(i);
|
|
272
|
-
n.snippet(a, () => F.icon, () => "columns"), n.reset(i);
|
|
273
|
-
var o = n.sibling(i, 2), s = n.child(o);
|
|
274
|
-
n.snippet(s, () => F.icon, () => "chevron-down"), n.reset(o), n.reset(t), n.template_effect(() => {
|
|
275
|
-
r = n.set_class(t, 1, "sv-grid-menu-item", null, r, { "is-open": n.get(W) !== null }), n.set_attribute(t, "aria-expanded", n.get(W) !== null);
|
|
276
|
-
}), n.delegated("click", t, (e) => n.get(Ne)(e)), n.append(e, t);
|
|
277
|
-
};
|
|
278
|
-
n.if(_, (e) => {
|
|
279
|
-
n.get(K) || e(v);
|
|
280
|
-
});
|
|
281
|
-
var y = n.sibling(_, 2), b = n.child(y), x = n.child(b);
|
|
282
|
-
n.snippet(x, () => F.icon, () => "reset"), n.reset(b), n.next(), n.reset(y), n.delegated("click", l, () => {
|
|
283
|
-
n.get(Ae)(n.get(t)), n.get(Z)();
|
|
284
|
-
}), n.delegated("click", f, () => {
|
|
285
|
-
n.get(je)(), n.get(Z)();
|
|
286
|
-
}), n.delegated("click", y, () => {
|
|
287
|
-
n.get(Me)(), n.get(Z)();
|
|
288
|
-
}), n.append(e, r);
|
|
289
|
-
};
|
|
290
|
-
n.if(u, (e) => {
|
|
291
|
-
n.get(K) && n.get(o) === "filter" && n.get(a) && n.get(G) ? e(d) : n.get(K) && n.get(o) === "columns" ? e(f, 1) : e(p, -1);
|
|
292
|
-
}), n.reset(s), n.template_effect(() => n.set_style(s, `left: ${n.get(B).x}px; top: ${n.get(B).y}px; max-height: calc(100vh - ${n.get(B).y}px - 12px);`)), n.append(e, s);
|
|
293
|
-
};
|
|
294
|
-
n.if(nt, (e) => {
|
|
295
|
-
n.get(z) && e(rt);
|
|
296
|
-
});
|
|
297
|
-
var it = n.sibling(nt, 2), at = (e) => {
|
|
298
|
-
var t = ee();
|
|
299
|
-
ce(n.child(t), () => n.get(V)), n.reset(t), n.template_effect(() => n.set_style(t, `left: ${n.get(H).x}px; top: ${n.get(H).y}px; max-height: calc(100vh - ${n.get(H).y}px - 12px);`)), n.append(e, t);
|
|
300
|
-
};
|
|
301
|
-
n.if(it, (e) => {
|
|
302
|
-
n.get(V) && n.get(G) && e(at);
|
|
303
|
-
});
|
|
304
|
-
var ot = n.sibling(it, 2), st = (e) => {
|
|
305
|
-
let t = n.derived(() => n.get(de).getAllColumns());
|
|
306
|
-
var r = A(), i = n.sibling(n.child(r), 2);
|
|
307
|
-
n.each(i, 21, () => n.get(t), (e) => e.id, (e, t) => {
|
|
308
|
-
var r = k(), i = n.child(r);
|
|
309
|
-
n.remove_input_defaults(i);
|
|
310
|
-
var a = n.sibling(i, 2), o = n.child(a, !0);
|
|
311
|
-
n.reset(a), n.reset(r), n.template_effect(() => {
|
|
312
|
-
n.set_checked(i, !I().hiddenColumns[n.get(t).id]), n.set_text(o, typeof n.get(t).columnDef.header == "string" ? n.get(t).columnDef.header : n.get(t).id);
|
|
313
|
-
}), n.delegated("change", i, (e) => {
|
|
314
|
-
if (e.currentTarget.checked) {
|
|
315
|
-
let e = { ...I().hiddenColumns };
|
|
316
|
-
delete e[n.get(t).id], I().hiddenColumns = e;
|
|
317
|
-
} else I().hiddenColumns = {
|
|
318
|
-
...I().hiddenColumns,
|
|
319
|
-
[n.get(t).id]: !0
|
|
320
|
-
};
|
|
321
|
-
}), n.append(e, r);
|
|
322
|
-
}), n.reset(i), n.reset(r), n.template_effect(() => n.set_style(r, `left: ${n.get(W).x}px; top: ${n.get(W).y}px;`)), n.append(e, r);
|
|
323
|
-
};
|
|
324
|
-
n.if(ot, (e) => {
|
|
325
|
-
n.get(W) && e(st);
|
|
326
|
-
});
|
|
327
|
-
var ct = n.sibling(ot, 2), lt = (e) => {
|
|
328
|
-
let t = n.derived(() => n.get(U)), r = n.derived(() => n.get(q).find((e) => e.id === n.get(t))), i = n.derived(() => n.get(Se)(n.get(r))), a = n.derived(() => n.get(L)[n.get(t)]?.operator ?? n.get(J)(n.get(r)));
|
|
329
|
-
var o = M();
|
|
330
|
-
n.each(o, 21, () => n.get(i), (e) => e.value, (e, i) => {
|
|
331
|
-
var o = j(), s = n.child(o), c = n.child(s);
|
|
332
|
-
n.snippet(c, () => F.icon, () => n.get(i).iconName), n.reset(s);
|
|
333
|
-
var l = n.sibling(s);
|
|
334
|
-
n.reset(o), n.template_effect((e) => {
|
|
335
|
-
n.set_attribute(o, "aria-checked", n.get(a) === n.get(i).value), n.set_text(l, ` ${e ?? ""}`);
|
|
336
|
-
}, [() => n.get(Y)(n.get(i), n.get(r))]), n.delegated("click", o, () => {
|
|
337
|
-
n.get(ye)(n.get(t), n.get(i).value), n.get(Z)();
|
|
338
|
-
}), n.append(e, o);
|
|
339
|
-
}), n.reset(o), n.template_effect(() => n.set_style(o, `left: ${n.get(ue).x}px; top: ${n.get(ue).y}px;`)), n.append(e, o);
|
|
340
|
-
};
|
|
341
|
-
n.if(ct, (e) => {
|
|
342
|
-
n.get(U) && e(lt);
|
|
343
|
-
});
|
|
344
|
-
var ut = n.sibling(ct, 2), dt = (t) => {
|
|
345
|
-
let r = n.derived(() => n.get(we)), i = n.derived(() => new Set(e(n.get(Ce)[n.get(r)] ?? "")));
|
|
346
|
-
var a = ne();
|
|
347
|
-
n.each(a, 20, () => n.get(Ee), (e) => e, (e, t) => {
|
|
348
|
-
let a = n.derived(() => n.get(i).has(t));
|
|
349
|
-
var o = N(), s = n.child(o), c = n.child(s, !0);
|
|
350
|
-
n.reset(s);
|
|
351
|
-
var l = n.sibling(s, 2), u = n.child(l, !0);
|
|
352
|
-
n.reset(l), n.reset(o), n.template_effect(() => {
|
|
353
|
-
n.set_attribute(o, "aria-selected", n.get(a)), n.set_text(c, n.get(a) ? "✓" : ""), n.set_text(u, t === "" ? "(Blanks)" : t);
|
|
354
|
-
}), n.delegated("mousedown", o, (e) => {
|
|
355
|
-
e.preventDefault(), n.get(De)(n.get(r), t);
|
|
356
|
-
}), n.append(e, o);
|
|
357
|
-
}, (e) => {
|
|
358
|
-
var t = te();
|
|
359
|
-
n.append(e, t);
|
|
360
|
-
}), n.reset(a), n.template_effect(() => n.set_style(a, `left: ${n.get(Te).x}px; top: ${n.get(Te).y}px;`)), n.append(t, a);
|
|
361
|
-
};
|
|
362
|
-
n.if(ut, (e) => {
|
|
363
|
-
n.get(we) && e(dt);
|
|
364
|
-
});
|
|
365
|
-
var ft = n.sibling(ut, 2), pt = (e) => {
|
|
366
|
-
var t = ie(), r = n.first_child(t), i = n.sibling(r, 2);
|
|
367
|
-
n.each(i, 21, () => n.get(Ke)(), (e) => e.key, (e, t) => {
|
|
368
|
-
var r = n.comment(), i = n.first_child(r), a = (e) => {
|
|
369
|
-
var t = P();
|
|
370
|
-
n.append(e, t);
|
|
371
|
-
}, o = (e) => {
|
|
372
|
-
var r = re(), i = n.child(r, !0);
|
|
373
|
-
n.reset(r), n.template_effect(() => {
|
|
374
|
-
r.disabled = n.get(t).disabled, n.set_text(i, n.get(t).label);
|
|
375
|
-
}), n.delegated("click", r, () => {
|
|
376
|
-
n.get(t).run?.(), n.get($)();
|
|
377
|
-
}), n.append(e, r);
|
|
378
|
-
};
|
|
379
|
-
n.if(i, (e) => {
|
|
380
|
-
n.get(t).separator ? e(a) : e(o, -1);
|
|
381
|
-
}), n.append(e, r);
|
|
382
|
-
}), n.reset(i), n.template_effect(() => n.set_style(i, `left: ${n.get(Ge).x}px; top: ${n.get(Ge).y}px;`)), n.delegated("contextmenu", r, (e) => {
|
|
383
|
-
e.preventDefault(), n.get($)();
|
|
384
|
-
}), n.delegated("click", r, function(...e) {
|
|
385
|
-
n.get($)?.apply(this, e);
|
|
386
|
-
}), n.append(e, t);
|
|
387
|
-
};
|
|
388
|
-
n.if(ft, (e) => {
|
|
389
|
-
n.get(We) && e(pt);
|
|
390
|
-
});
|
|
391
|
-
var mt = n.sibling(ft, 2), ht = (e) => {
|
|
392
|
-
var t = ae(), r = n.first_child(t), i = n.sibling(r, 2), a = n.child(i);
|
|
393
|
-
n.remove_textarea_child(a), n.autofocus(a, !0);
|
|
394
|
-
var o = n.sibling(a, 2), s = n.child(o), c = n.sibling(s, 4), l = n.sibling(c, 2);
|
|
395
|
-
n.reset(o), n.reset(i), n.template_effect(() => n.set_style(i, `left: ${n.get(qe).x}px; top: ${n.get(qe).y}px;`)), n.delegated("click", r, function(...e) {
|
|
396
|
-
n.get(Xe)?.apply(this, e);
|
|
397
|
-
}), n.delegated("keydown", a, (e) => {
|
|
398
|
-
e.stopPropagation(), e.key === "Escape" && (e.preventDefault(), n.get(Xe)()), e.key === "Enter" && (e.ctrlKey || e.metaKey) && (e.preventDefault(), n.get(Je)());
|
|
399
|
-
}), n.bind_value(a, () => I().commentDraft, (e) => I().commentDraft = e), n.delegated("click", s, function(...e) {
|
|
400
|
-
n.get(Ye)?.apply(this, e);
|
|
401
|
-
}), n.delegated("click", c, function(...e) {
|
|
402
|
-
n.get(Xe)?.apply(this, e);
|
|
403
|
-
}), n.delegated("click", l, function(...e) {
|
|
404
|
-
n.get(Je)?.apply(this, e);
|
|
405
|
-
}), n.append(e, t);
|
|
406
|
-
};
|
|
407
|
-
n.if(mt, (e) => {
|
|
408
|
-
n.get(qe) && e(ht);
|
|
409
|
-
}), n.append(se, Ze), n.pop();
|
|
410
|
-
}
|
|
411
|
-
n.delegate([
|
|
412
|
-
"change",
|
|
413
|
-
"input",
|
|
414
|
-
"click",
|
|
415
|
-
"mousedown",
|
|
416
|
-
"contextmenu",
|
|
417
|
-
"keydown"
|
|
418
|
-
]);
|
|
419
|
-
//#endregion
|
|
420
|
-
export { se as default };
|