@svgrid/grid-wc 2.6.1 → 2.7.0
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-Boz00ms0.js → GridMenus-DE0zNY_3.js} +265 -243
- package/dist/{SvDateTimePicker-Ch1Vug8H.js → SvDateTimePicker-BpeEupA2.js} +81 -81
- package/dist/SvGrid.helpers-BZPDBcza.js +125 -0
- package/dist/SvGridCellEditor-_rqEaig7.js +531 -0
- package/dist/{SvGridChart-BztTavvw.js → SvGridChart-yK5Zv85y.js} +158 -158
- package/dist/{SvGridChartPanel-Ca5HWIZ3.js → SvGridChartPanel-B38_VjXM.js} +52 -52
- package/dist/{SvGridChartView-AcWj_tcs.js → SvGridChartView-ScXTF6t-.js} +4 -4
- package/dist/{SvGridDropdown-BXqvR1cs.js → SvGridDropdown-DnAESFDu.js} +29 -29
- package/dist/angular/fesm2022/svgrid-grid-wc-angular.mjs +358 -0
- package/dist/angular/fesm2022/svgrid-grid-wc-angular.mjs.map +1 -0
- package/dist/angular/package.json +25 -0
- package/dist/angular/types/svgrid-grid-wc-angular.d.ts +161 -0
- package/dist/{client-DoXxrq8q.js → client-DjwUji8D.js} +1 -1
- package/dist/column-resize-DvCRUrN3.js +101 -0
- package/dist/{dismissable-xj_k_fnZ.js → dismissable-Nx79OIVg.js} +36 -36
- package/dist/editor-registry-DxGKqcvx.js +24 -0
- package/dist/react/index.d.ts +313 -0
- package/dist/react/index.js +72 -0
- package/dist/row-drag-touch-Ddaa-QeB.js +91 -0
- package/dist/row-resize-D-8s3cqT.js +94 -0
- package/dist/shadow/GridMenus-DE0zNY_3.js +1022 -0
- package/dist/shadow/SvDateTimePicker-BpeEupA2.js +1885 -0
- package/dist/shadow/SvGrid.helpers-BZPDBcza.js +125 -0
- package/dist/shadow/SvGridCellEditor-_rqEaig7.js +531 -0
- package/dist/shadow/SvGridChart-yK5Zv85y.js +1199 -0
- package/dist/shadow/SvGridChartPanel-B38_VjXM.js +584 -0
- package/dist/shadow/SvGridChartView-ScXTF6t-.js +50 -0
- package/dist/shadow/SvGridDropdown-DnAESFDu.js +256 -0
- package/dist/shadow/cell-formatting-C0OsDmi_.js +86 -0
- package/dist/shadow/chart-uvs3sFJA.js +1220 -0
- package/dist/shadow/client-DjwUji8D.js +2960 -0
- package/dist/shadow/column-resize-DvCRUrN3.js +101 -0
- package/dist/shadow/dismissable-Nx79OIVg.js +186 -0
- package/dist/shadow/editor-contract-peBDxir_.js +22 -0
- package/dist/shadow/editor-registry-DxGKqcvx.js +24 -0
- package/dist/shadow/export-format-C8kZGZfz.js +161 -0
- package/dist/shadow/popover-WsGlvtQv.js +69 -0
- package/dist/shadow/row-drag-touch-Ddaa-QeB.js +91 -0
- package/dist/shadow/row-resize-D-8s3cqT.js +94 -0
- package/dist/shadow/sv-grid-shadow-element.d.ts +246 -0
- package/dist/shadow/sv-grid-shadow-element.js +10067 -0
- package/dist/{svelte-virtualizer.svelte-ZL3wxPzD.js → shadow/svelte-virtualizer.svelte-DZ9UcyfT.js} +79 -166
- package/dist/shadow/validate-CgmAtX1A.js +75 -0
- package/dist/sv-grid-element.d.ts +246 -0
- package/dist/sv-grid-element.js +3927 -3202
- package/dist/svelte-virtualizer.svelte-DZ9UcyfT.js +527 -0
- package/dist/validate-CgmAtX1A.js +75 -0
- package/dist/vue/index.d.ts +147 -0
- package/dist/vue/index.js +72 -0
- package/package.json +85 -6
package/dist/{svelte-virtualizer.svelte-ZL3wxPzD.js → shadow/svelte-virtualizer.svelte-DZ9UcyfT.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { R as e, X as t, Z as n } from "./client-
|
|
1
|
+
import { R as e, X as t, Z as n } from "./client-DjwUji8D.js";
|
|
2
2
|
//#region ../grid/dist/sv-grid-scrollbar.js
|
|
3
3
|
var r = 16, i = 280, a = 50, o = "http://www.w3.org/2000/svg";
|
|
4
4
|
function s() {
|
|
@@ -220,132 +220,29 @@ var c = `
|
|
|
220
220
|
};
|
|
221
221
|
typeof window < "u" && !customElements.get("sv-grid-scrollbar") && customElements.define("sv-grid-scrollbar", u);
|
|
222
222
|
//#endregion
|
|
223
|
-
//#region ../grid/dist/SvGrid.helpers.js
|
|
224
|
-
function d(e) {
|
|
225
|
-
let t = "";
|
|
226
|
-
return e.color && (t += `color:${e.color};`), e.fontWeight != null && (t += `font-weight:${e.fontWeight};`), t;
|
|
227
|
-
}
|
|
228
|
-
function f(e) {
|
|
229
|
-
return Number.isInteger(e) ? e.toLocaleString() : e.toLocaleString(void 0, { maximumFractionDigits: 2 });
|
|
230
|
-
}
|
|
231
|
-
function p(e, t) {
|
|
232
|
-
return `${e}:${t}`;
|
|
233
|
-
}
|
|
234
|
-
function m(e) {
|
|
235
|
-
if (!e) return "";
|
|
236
|
-
if (typeof e == "string") return e;
|
|
237
|
-
if (Array.isArray(e)) return e.filter(Boolean).join(" ");
|
|
238
|
-
if (typeof e == "object") {
|
|
239
|
-
let t = [];
|
|
240
|
-
for (let [n, r] of Object.entries(e)) r && t.push(n);
|
|
241
|
-
return t.join(" ");
|
|
242
|
-
}
|
|
243
|
-
return "";
|
|
244
|
-
}
|
|
245
|
-
function h(e) {
|
|
246
|
-
if (e == null || e === "") return "";
|
|
247
|
-
if (typeof e == "string" && /^\d{4}-\d{2}-\d{2}$/.test(e)) return e;
|
|
248
|
-
let t = e instanceof Date ? e : new Date(e);
|
|
249
|
-
return Number.isNaN(t.getTime()) ? "" : t.toISOString().slice(0, 10);
|
|
250
|
-
}
|
|
251
|
-
function g(e) {
|
|
252
|
-
if (e == null || e === "") return "";
|
|
253
|
-
if (typeof e == "string" && /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$/.test(e)) return e;
|
|
254
|
-
let t = e instanceof Date ? e : new Date(e);
|
|
255
|
-
return Number.isNaN(t.getTime()) ? "" : t.toISOString().slice(0, 16);
|
|
256
|
-
}
|
|
257
|
-
function _(e) {
|
|
258
|
-
return String(e).replace(/-native$/, "");
|
|
259
|
-
}
|
|
260
|
-
function v(e) {
|
|
261
|
-
if (e instanceof Date) return e;
|
|
262
|
-
if (typeof e == "string") {
|
|
263
|
-
let t = e.match(/^(\d{1,2}):(\d{2})(?::(\d{2}))?/);
|
|
264
|
-
if (t) {
|
|
265
|
-
let e = /* @__PURE__ */ new Date();
|
|
266
|
-
return e.setHours(Math.min(23, +t[1]), Math.min(59, +t[2]), t[3] ? +t[3] : 0, 0), e;
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
return null;
|
|
270
|
-
}
|
|
271
|
-
function y(e) {
|
|
272
|
-
return e ? `${String(e.getHours()).padStart(2, "0")}:${String(e.getMinutes()).padStart(2, "0")}` : null;
|
|
273
|
-
}
|
|
274
|
-
function b(e, t) {
|
|
275
|
-
let n = _(e);
|
|
276
|
-
return n === "date" ? h(t) : n === "datetime" ? g(t) : String(t ?? "");
|
|
277
|
-
}
|
|
278
|
-
function x(e) {
|
|
279
|
-
let t = _(e);
|
|
280
|
-
return t === "number" ? "number" : t === "date" ? "date" : t === "datetime" ? "datetime-local" : t === "time" ? "time" : t === "password" ? "password" : t === "color" ? "color" : "text";
|
|
281
|
-
}
|
|
282
|
-
function S(e) {
|
|
283
|
-
return e == null || e === "" ? [] : Array.isArray(e) ? e.filter((e) => e != null && e !== "") : [e];
|
|
284
|
-
}
|
|
285
|
-
function C(e, t) {
|
|
286
|
-
let n = e.find((e) => e.value === t || String(e.value) === String(t));
|
|
287
|
-
return n ? n.label : String(t ?? "");
|
|
288
|
-
}
|
|
289
|
-
function w(e, t) {
|
|
290
|
-
return e.find((e) => e.value === t || String(e.value) === String(t))?.color;
|
|
291
|
-
}
|
|
292
|
-
function T(e) {
|
|
293
|
-
return e ? `background: color-mix(in srgb, ${e} 22%, transparent);border-color: color-mix(in srgb, ${e} 45%, transparent);color: color-mix(in srgb, ${e} 80%, var(--sg-fg, #0f172a));` : "";
|
|
294
|
-
}
|
|
295
|
-
function E(e) {
|
|
296
|
-
let t = _(e);
|
|
297
|
-
return t === "number" ? "sv-grid-cell-editor sv-grid-cell-editor-number" : t === "date" ? "sv-grid-cell-editor sv-grid-cell-editor-date" : t === "datetime" ? "sv-grid-cell-editor sv-grid-cell-editor-datetime" : t === "color" ? "sv-grid-cell-editor sv-grid-cell-editor-color" : "sv-grid-cell-editor";
|
|
298
|
-
}
|
|
299
|
-
function D(e) {
|
|
300
|
-
if (e == null || e === "") return null;
|
|
301
|
-
let t = e instanceof Date ? e : new Date(e);
|
|
302
|
-
return Number.isNaN(t.getTime()) ? null : t;
|
|
303
|
-
}
|
|
304
|
-
function O(e, t) {
|
|
305
|
-
return Math.max(8, Math.min(e, window.innerWidth - t - 8));
|
|
306
|
-
}
|
|
307
|
-
function k(e) {
|
|
308
|
-
return typeof CSS < "u" && CSS.escape ? CSS.escape(e) : e.replace(/"/g, "\\\"");
|
|
309
|
-
}
|
|
310
|
-
function A(e, t) {
|
|
311
|
-
if (e == null || e === "") return NaN;
|
|
312
|
-
if (t) {
|
|
313
|
-
let t = (e instanceof Date ? e : new Date(String(e))).getTime();
|
|
314
|
-
return Number.isFinite(t) ? t : NaN;
|
|
315
|
-
}
|
|
316
|
-
let n = typeof e == "number" ? e : Number(e);
|
|
317
|
-
return Number.isFinite(n) ? n : NaN;
|
|
318
|
-
}
|
|
319
|
-
function j(e) {
|
|
320
|
-
let t = Math.abs(e), n = t >= 1e3 ? 0 : t >= 100 ? 1 : t >= 1 ? 2 : 4;
|
|
321
|
-
return e.toLocaleString(void 0, { maximumFractionDigits: n });
|
|
322
|
-
}
|
|
323
|
-
function M(e) {
|
|
324
|
-
return new Date(e).toLocaleDateString(void 0, {
|
|
325
|
-
year: "numeric",
|
|
326
|
-
month: "short",
|
|
327
|
-
day: "numeric"
|
|
328
|
-
});
|
|
329
|
-
}
|
|
330
|
-
//#endregion
|
|
331
223
|
//#region ../grid/dist/filtering/excel-filters.js
|
|
332
|
-
var
|
|
333
|
-
function
|
|
224
|
+
var d = /[̀-ͯ]/g;
|
|
225
|
+
function f(e, t) {
|
|
334
226
|
if (!e) return "";
|
|
335
|
-
|
|
227
|
+
if (p(e)) return t ? e.toLocaleLowerCase(t) : e.toLowerCase();
|
|
228
|
+
let n = e.normalize("NFD").replace(d, "");
|
|
336
229
|
return t ? n.toLocaleLowerCase(t) : n.toLowerCase();
|
|
337
230
|
}
|
|
338
|
-
function
|
|
339
|
-
let
|
|
231
|
+
function p(e) {
|
|
232
|
+
for (let t = 0; t < e.length; t++) if (e.charCodeAt(t) > 127) return !1;
|
|
233
|
+
return !0;
|
|
234
|
+
}
|
|
235
|
+
function m(e) {
|
|
236
|
+
let { tokens: t, trailing: n } = _(e);
|
|
340
237
|
return n && t.push(n), t;
|
|
341
238
|
}
|
|
342
|
-
function
|
|
239
|
+
function h(e) {
|
|
343
240
|
return e.map((e) => e.trim()).filter((e) => e.length > 0).map((e) => /["\n,]/.test(e) ? `"${e.replace(/"/g, "\"\"")}"` : e).join(", ");
|
|
344
241
|
}
|
|
345
|
-
function
|
|
346
|
-
return
|
|
242
|
+
function g(e) {
|
|
243
|
+
return _(e).trailing;
|
|
347
244
|
}
|
|
348
|
-
function
|
|
245
|
+
function _(e) {
|
|
349
246
|
let t = String(e ?? ""), n = [], r = "", i = !1, a = !1, o = !1, s = () => {
|
|
350
247
|
let e = a ? r : r.trim();
|
|
351
248
|
return r = "", a = !1, o = !1, e;
|
|
@@ -380,58 +277,69 @@ function R(e) {
|
|
|
380
277
|
trailing: s()
|
|
381
278
|
};
|
|
382
279
|
}
|
|
383
|
-
function
|
|
384
|
-
let r = String(e ?? ""),
|
|
385
|
-
switch (
|
|
386
|
-
case "contains": return
|
|
387
|
-
case "notContains": return
|
|
388
|
-
case "equals": return
|
|
389
|
-
case "notEquals": return
|
|
390
|
-
case "startsWith": return
|
|
391
|
-
case "endsWith": return
|
|
280
|
+
function v(e, t) {
|
|
281
|
+
let n = t?.locale, r = (e) => f(String(e ?? ""), n), i = r(e.value);
|
|
282
|
+
switch (e.operator) {
|
|
283
|
+
case "contains": return (e) => r(e).includes(i);
|
|
284
|
+
case "notContains": return i === "" ? () => !0 : (e) => !r(e).includes(i);
|
|
285
|
+
case "equals": return (e) => r(e) === i;
|
|
286
|
+
case "notEquals": return i === "" ? () => !0 : (e) => r(e) !== i;
|
|
287
|
+
case "startsWith": return (e) => r(e).startsWith(i);
|
|
288
|
+
case "endsWith": return (e) => r(e).endsWith(i);
|
|
392
289
|
case "regex": {
|
|
393
|
-
let
|
|
394
|
-
if (!
|
|
290
|
+
let t = String(e.value ?? "");
|
|
291
|
+
if (!t) return () => !0;
|
|
292
|
+
let n;
|
|
395
293
|
try {
|
|
396
|
-
|
|
294
|
+
n = new RegExp(t, "i");
|
|
397
295
|
} catch {
|
|
398
|
-
return !1;
|
|
296
|
+
return () => !1;
|
|
399
297
|
}
|
|
298
|
+
return (e) => n.test(String(e ?? ""));
|
|
400
299
|
}
|
|
401
300
|
case "in":
|
|
402
301
|
case "notIn": {
|
|
403
|
-
let
|
|
404
|
-
if (
|
|
405
|
-
let
|
|
406
|
-
return
|
|
302
|
+
let t = m(e.value);
|
|
303
|
+
if (t.length === 0) return () => !0;
|
|
304
|
+
let i = new Set(t.map((e) => f(e, n)));
|
|
305
|
+
return e.operator === "in" ? (e) => i.has(r(e)) : (e) => !i.has(r(e));
|
|
407
306
|
}
|
|
408
307
|
case "greaterThan": {
|
|
409
|
-
let
|
|
410
|
-
return
|
|
308
|
+
let t = Number(e.value), n = Number.isFinite(t), r = String(e.value ?? "");
|
|
309
|
+
return (e) => {
|
|
310
|
+
let i = Number(e);
|
|
311
|
+
return n && Number.isFinite(i) ? i > t : String(e ?? "") > r;
|
|
312
|
+
};
|
|
411
313
|
}
|
|
412
314
|
case "lessThan": {
|
|
413
|
-
let
|
|
414
|
-
return
|
|
315
|
+
let t = Number(e.value), n = Number.isFinite(t), r = String(e.value ?? "");
|
|
316
|
+
return (e) => {
|
|
317
|
+
let i = Number(e);
|
|
318
|
+
return n && Number.isFinite(i) ? i < t : String(e ?? "") < r;
|
|
319
|
+
};
|
|
415
320
|
}
|
|
416
321
|
case "between": {
|
|
417
|
-
let
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
322
|
+
let t = e.value == null ? 0 : Number(e.value), n = e.valueTo == null ? 0 : Number(e.valueTo), r = Number.isFinite(t) && Number.isFinite(n), i = String(e.value ?? ""), a = String(e.valueTo ?? "");
|
|
323
|
+
return (e) => {
|
|
324
|
+
let o = Number(e ?? 0);
|
|
325
|
+
if (r && Number.isFinite(o)) return o >= t && o <= n;
|
|
326
|
+
let s = String(e ?? "");
|
|
327
|
+
return s >= i && s <= a;
|
|
328
|
+
};
|
|
421
329
|
}
|
|
422
|
-
case "isBlank": return
|
|
423
|
-
case "isNotBlank": return
|
|
330
|
+
case "isBlank": return (e) => String(e ?? "").trim().length === 0;
|
|
331
|
+
case "isNotBlank": return (e) => String(e ?? "").trim().length > 0;
|
|
424
332
|
}
|
|
425
333
|
}
|
|
426
334
|
//#endregion
|
|
427
335
|
//#region ../grid/dist/virtualization/virtualizer.js
|
|
428
|
-
function
|
|
336
|
+
function y(e, t, n) {
|
|
429
337
|
return Math.min(Math.max(e, t), n);
|
|
430
338
|
}
|
|
431
|
-
function
|
|
339
|
+
function b(e, t) {
|
|
432
340
|
return e.count === t.count && e.estimateSize === t.estimateSize && (e.overscan ?? 6) === (t.overscan ?? 6) && e.viewportHeight === t.viewportHeight && (e.scrollOffset ?? 0) === (t.scrollOffset ?? 0);
|
|
433
341
|
}
|
|
434
|
-
function
|
|
342
|
+
function x(e, t) {
|
|
435
343
|
if (e.totalSize !== t.totalSize || e.startIndex !== t.startIndex || e.endIndex !== t.endIndex || e.viewportHeight !== t.viewportHeight || e.items.length !== t.items.length) return !1;
|
|
436
344
|
for (let n = 0; n < e.items.length; n += 1) {
|
|
437
345
|
let r = e.items[n], i = t.items[n];
|
|
@@ -439,7 +347,7 @@ function H(e, t) {
|
|
|
439
347
|
}
|
|
440
348
|
return !0;
|
|
441
349
|
}
|
|
442
|
-
function
|
|
350
|
+
function S(e, t, n) {
|
|
443
351
|
let r = [];
|
|
444
352
|
for (let i = e; i <= t; i += 1) {
|
|
445
353
|
let t = i * n;
|
|
@@ -453,7 +361,12 @@ function U(e, t, n) {
|
|
|
453
361
|
}
|
|
454
362
|
return r;
|
|
455
363
|
}
|
|
456
|
-
function
|
|
364
|
+
function C(e, t, n, r) {
|
|
365
|
+
if (e <= 0) return [];
|
|
366
|
+
let i = Math.max(t, 1), a = Math.ceil(Math.max(n, 0) / i), o = Math.min(a + Math.max(r, 0), e - 1);
|
|
367
|
+
return S(0, Math.max(o, 0), i);
|
|
368
|
+
}
|
|
369
|
+
function w(e, t, n) {
|
|
457
370
|
let r = [];
|
|
458
371
|
for (let i = e; i <= t; i += 1) {
|
|
459
372
|
let t = n[i] ?? 0, a = n[i + 1] ?? t;
|
|
@@ -467,10 +380,10 @@ function W(e, t, n) {
|
|
|
467
380
|
}
|
|
468
381
|
return r;
|
|
469
382
|
}
|
|
470
|
-
function
|
|
383
|
+
function T(e, t) {
|
|
471
384
|
let n = Math.max(e.count, 0), r = Math.max(e.overscan ?? 6, 0), i = Math.max(e.viewportHeight, 0);
|
|
472
385
|
if (typeof e.estimateSize == "function" && t) {
|
|
473
|
-
let a = t[n] ?? 0, o = Math.max(a - i, 0), s =
|
|
386
|
+
let a = t[n] ?? 0, o = Math.max(a - i, 0), s = y(e.scrollOffset ?? 0, 0, o), c = 0, l = n;
|
|
474
387
|
for (; c < l;) {
|
|
475
388
|
let e = c + l >>> 1;
|
|
476
389
|
(t[e + 1] ?? 0) <= s ? c = e + 1 : l = e;
|
|
@@ -480,9 +393,9 @@ function G(e, t) {
|
|
|
480
393
|
let e = c + l >>> 1;
|
|
481
394
|
(t[e] ?? 0) < d ? c = e + 1 : l = e;
|
|
482
395
|
}
|
|
483
|
-
let f = Math.max(c - 1, u), p = n === 0 ? 0 :
|
|
396
|
+
let f = Math.max(c - 1, u), p = n === 0 ? 0 : y(u - r, 0, n - 1), m = n === 0 ? -1 : y(f + r, 0, n - 1);
|
|
484
397
|
return {
|
|
485
|
-
items: m >= p ?
|
|
398
|
+
items: m >= p ? w(p, m, t) : [],
|
|
486
399
|
totalSize: a,
|
|
487
400
|
startIndex: p,
|
|
488
401
|
endIndex: m,
|
|
@@ -490,9 +403,9 @@ function G(e, t) {
|
|
|
490
403
|
viewportHeight: i
|
|
491
404
|
};
|
|
492
405
|
}
|
|
493
|
-
let a = Math.max(typeof e.estimateSize == "number" ? e.estimateSize : 1, 1), o = n * a, s = Math.max(o - i, 0), c =
|
|
406
|
+
let a = Math.max(typeof e.estimateSize == "number" ? e.estimateSize : 1, 1), o = n * a, s = Math.max(o - i, 0), c = y(e.scrollOffset ?? 0, 0, s), l = Math.floor(c / a), u = Math.ceil(i / a), d = Math.min(l + u, Math.max(n - 1, 0)), f = n === 0 ? 0 : y(l - r, 0, n - 1), p = n === 0 ? -1 : y(d + r, 0, n - 1);
|
|
494
407
|
return {
|
|
495
|
-
items: p >= f ?
|
|
408
|
+
items: p >= f ? S(f, p, a) : [],
|
|
496
409
|
totalSize: o,
|
|
497
410
|
startIndex: f,
|
|
498
411
|
endIndex: p,
|
|
@@ -500,7 +413,7 @@ function G(e, t) {
|
|
|
500
413
|
viewportHeight: i
|
|
501
414
|
};
|
|
502
415
|
}
|
|
503
|
-
function
|
|
416
|
+
function E(e) {
|
|
504
417
|
let t = e, n = null;
|
|
505
418
|
function r() {
|
|
506
419
|
if (typeof t.estimateSize != "function") return null;
|
|
@@ -515,13 +428,13 @@ function K(e) {
|
|
|
515
428
|
offsets: i
|
|
516
429
|
}, i;
|
|
517
430
|
}
|
|
518
|
-
let i =
|
|
431
|
+
let i = T(t, r()), a = /* @__PURE__ */ new Set();
|
|
519
432
|
function o() {
|
|
520
433
|
a.forEach((e) => e());
|
|
521
434
|
}
|
|
522
435
|
function s() {
|
|
523
|
-
let e =
|
|
524
|
-
|
|
436
|
+
let e = T(t, r());
|
|
437
|
+
x(i, e) || (i = e, o());
|
|
525
438
|
}
|
|
526
439
|
return {
|
|
527
440
|
setOptions(e) {
|
|
@@ -529,7 +442,7 @@ function K(e) {
|
|
|
529
442
|
...t,
|
|
530
443
|
...e
|
|
531
444
|
};
|
|
532
|
-
|
|
445
|
+
b(t, n) || (t = n, s());
|
|
533
446
|
},
|
|
534
447
|
setScrollOffset(e) {
|
|
535
448
|
(t.scrollOffset ?? 0) !== e && (t = {
|
|
@@ -544,7 +457,7 @@ function K(e) {
|
|
|
544
457
|
}, s());
|
|
545
458
|
},
|
|
546
459
|
scrollToIndex(e) {
|
|
547
|
-
let n =
|
|
460
|
+
let n = y(e, 0, Math.max(t.count - 1, 0)), a = i.totalSize, o;
|
|
548
461
|
if (typeof t.estimateSize == "function") {
|
|
549
462
|
let e = r();
|
|
550
463
|
if (e) o = e[n] ?? 0;
|
|
@@ -554,7 +467,7 @@ function K(e) {
|
|
|
554
467
|
o = e;
|
|
555
468
|
}
|
|
556
469
|
} else o = n * Math.max(t.estimateSize, 1);
|
|
557
|
-
let c = Math.max(a - t.viewportHeight, 0), l =
|
|
470
|
+
let c = Math.max(a - t.viewportHeight, 0), l = y(o, 0, c);
|
|
558
471
|
(t.scrollOffset ?? 0) !== l && (t = {
|
|
559
472
|
...t,
|
|
560
473
|
scrollOffset: l
|
|
@@ -591,8 +504,8 @@ function K(e) {
|
|
|
591
504
|
}
|
|
592
505
|
//#endregion
|
|
593
506
|
//#region ../grid/dist/virtualization/svelte-virtualizer.svelte.js
|
|
594
|
-
function
|
|
595
|
-
let i =
|
|
507
|
+
function D(r) {
|
|
508
|
+
let i = E(r), a = n(0);
|
|
596
509
|
return i.subscribe(() => {
|
|
597
510
|
t(a, e(a) + 1);
|
|
598
511
|
}), {
|
|
@@ -611,4 +524,4 @@ function q(r) {
|
|
|
611
524
|
};
|
|
612
525
|
}
|
|
613
526
|
//#endregion
|
|
614
|
-
export {
|
|
527
|
+
export { h as a, g as c, v as i, C as n, f as o, E as r, m as s, D as t };
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
//#region ../grid/dist/validate.js
|
|
2
|
+
var e = "https://svgrid.com/docs/getting-started/3-data-and-columns/";
|
|
3
|
+
function t(e, n = []) {
|
|
4
|
+
for (let r of e) r.columns?.length ? t(r.columns, n) : n.push(r);
|
|
5
|
+
return n;
|
|
6
|
+
}
|
|
7
|
+
function n(n) {
|
|
8
|
+
let i = [], a = t(n.columns ?? []), o = (n.data ?? []).slice(0, 10);
|
|
9
|
+
if (o.length) {
|
|
10
|
+
let t = /* @__PURE__ */ new Set();
|
|
11
|
+
for (let e of o) if (e && typeof e == "object") for (let n of Object.keys(e)) t.add(n);
|
|
12
|
+
for (let n of a) {
|
|
13
|
+
let a = n.field;
|
|
14
|
+
if (!a || n.fieldFn || t.has(a)) continue;
|
|
15
|
+
let o = r(a, [...t]);
|
|
16
|
+
i.push(`[svgrid] Column field "${a}" does not exist on your row data, so that column renders empty.${o ? ` Did you mean "${o}"?` : ""} Available keys: ${[...t].slice(0, 12).join(", ")}. See ${e}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
let s = /* @__PURE__ */ new Map();
|
|
20
|
+
for (let e of a) {
|
|
21
|
+
let t = e.id ?? e.field;
|
|
22
|
+
t && s.set(t, (s.get(t) ?? 0) + 1);
|
|
23
|
+
}
|
|
24
|
+
for (let [t, n] of s) n > 1 && i.push(`[svgrid] ${n} columns share the id "${t}". Column state (sorting, filtering, pinning, width) is keyed by id, so they will act as one. Give each an explicit \`id\`. See ${e}`);
|
|
25
|
+
let c = n.pageable === void 0 && n.showPagination === void 0;
|
|
26
|
+
n.pageSize !== void 0 && c && i.push("[svgrid] `pageSize` is set but pagination was never turned on, so it has no effect and every row renders. Add `pageable` to switch the pager on."), !(n.sortable === !0 || n.features?.rowSortingFeature) && a.some((e) => e.sortable === !0) && i.push("[svgrid] A column sets `sortable: true`, but sorting is not enabled on the grid, so its header does nothing. Add `sortable` to <SvGrid> (it registers the sorting feature for you).");
|
|
27
|
+
let l = /* @__PURE__ */ new Set();
|
|
28
|
+
for (let e of a) {
|
|
29
|
+
let t = e.id ?? e.field;
|
|
30
|
+
t && l.add(t);
|
|
31
|
+
}
|
|
32
|
+
for (let e of n.groupBy ?? []) {
|
|
33
|
+
if (l.has(e)) continue;
|
|
34
|
+
let t = r(e, [...l]);
|
|
35
|
+
i.push(`[svgrid] \`groupBy\` refers to column "${e}", which does not exist, so that grouping level is ignored.${t ? ` Did you mean "${t}"?` : ""} Column ids: ${[...l].slice(0, 12).join(", ")}`);
|
|
36
|
+
}
|
|
37
|
+
let u = n.treeData?.column;
|
|
38
|
+
if (u && !l.has(u) && i.push(`[svgrid] \`treeData.column\` refers to column "${u}", which does not exist, so the expander falls back to the first visible column.`), o.length && n.treeData) {
|
|
39
|
+
let e = /* @__PURE__ */ new Set();
|
|
40
|
+
for (let t of o) if (t && typeof t == "object") for (let n of Object.keys(t)) e.add(n);
|
|
41
|
+
let t = n.treeData.parentField;
|
|
42
|
+
if (t && !e.has(t)) {
|
|
43
|
+
let n = r(t, [...e]);
|
|
44
|
+
i.push(`[svgrid] \`treeData.parentField\` is "${t}", which is not on your row data, so every row becomes a root and no hierarchy appears.${n ? ` Did you mean "${n}"?` : ""}`);
|
|
45
|
+
}
|
|
46
|
+
let a = n.treeData.idField;
|
|
47
|
+
a && !e.has(a) && i.push(`[svgrid] \`treeData.idField\` is "${a}", which is not on your row data, so parent lookups cannot match and the tree stays flat.`);
|
|
48
|
+
}
|
|
49
|
+
return (n.initialColumnPinning?.left?.length ?? 0) + (n.initialColumnPinning?.right?.length ?? 0) > 0 && n.columnVirtualization !== !1 && i.push("[svgrid] `initialColumnPinning` is set while column virtualization is on (its default), so the pinned columns will not stick - the virtualizer recycles column nodes. Add `columnVirtualization={false}`."), n.externalPagination === !0 && n.rowCount === void 0 && i.push("[svgrid] `externalPagination` is on but `rowCount` is not set, so the pager cannot know how many pages exist. Pass the server total as `rowCount`."), n.externalSort === !0 && !n.onSortingChange && i.push("[svgrid] `externalSort` is on but there is no `onSortingChange` handler, so clicking a header changes nothing - the grid stopped sorting and nobody is listening. Add `onSortingChange` and re-fetch in your handler."), n.externalFilter === !0 && !n.onFiltersChange && i.push("[svgrid] `externalFilter` is on but there is no `onFiltersChange` handler, so filtering the grid changes nothing. Add `onFiltersChange` and re-fetch in your handler."), i;
|
|
50
|
+
}
|
|
51
|
+
function r(e, t) {
|
|
52
|
+
let n, r = Infinity;
|
|
53
|
+
for (let a of t) {
|
|
54
|
+
let t = i(e.toLowerCase(), a.toLowerCase());
|
|
55
|
+
t < r && (r = t, n = a);
|
|
56
|
+
}
|
|
57
|
+
let a = Math.min(3, Math.floor(e.length / 3) + 1);
|
|
58
|
+
return r <= a ? n : void 0;
|
|
59
|
+
}
|
|
60
|
+
function i(e, t) {
|
|
61
|
+
if (e === t) return 0;
|
|
62
|
+
let n = Array(t.length + 1);
|
|
63
|
+
for (let e = 0; e <= t.length; e++) n[e] = e;
|
|
64
|
+
for (let r = 1; r <= e.length; r++) {
|
|
65
|
+
let i = n[0];
|
|
66
|
+
n[0] = r;
|
|
67
|
+
for (let a = 1; a <= t.length; a++) {
|
|
68
|
+
let o = Math.min(n[a] + 1, n[a - 1] + 1, i + (e[r - 1] === t[a - 1] ? 0 : 1));
|
|
69
|
+
i = n[a], n[a] = o;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return n[t.length];
|
|
73
|
+
}
|
|
74
|
+
//#endregion
|
|
75
|
+
export { n as validateGridConfig };
|