@ninebone/table 0.0.539 → 0.0.541
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/nine-table.js +256 -253
- package/dist/nine-table.js.map +1 -1
- package/dist/nine-table.umd.js +9 -7
- package/dist/nine-table.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/nine-table.js
CHANGED
|
@@ -2,16 +2,16 @@ var Fe = Object.defineProperty;
|
|
|
2
2
|
var Ve = (R) => {
|
|
3
3
|
throw TypeError(R);
|
|
4
4
|
};
|
|
5
|
-
var Xe = (R,
|
|
6
|
-
var h = (R,
|
|
7
|
-
var E = (R,
|
|
8
|
-
var t = (R,
|
|
9
|
-
var Ue = (R,
|
|
10
|
-
set _(
|
|
11
|
-
y(R,
|
|
5
|
+
var Xe = (R, r, e) => r in R ? Fe(R, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : R[r] = e;
|
|
6
|
+
var h = (R, r) => Fe(R, "name", { value: r, configurable: !0 });
|
|
7
|
+
var E = (R, r, e) => Xe(R, typeof r != "symbol" ? r + "" : r, e), Ye = (R, r, e) => r.has(R) || Ve("Cannot " + e);
|
|
8
|
+
var t = (R, r, e) => (Ye(R, r, "read from private field"), e ? e.call(R) : r.get(R)), d = (R, r, e) => r.has(R) ? Ve("Cannot add the same private member more than once") : r instanceof WeakSet ? r.add(R) : r.set(R, e), y = (R, r, e, s) => (Ye(R, r, "write to private field"), s ? s.call(R, e) : r.set(R, e), e);
|
|
9
|
+
var Ue = (R, r, e, s) => ({
|
|
10
|
+
set _(i) {
|
|
11
|
+
y(R, r, i, e);
|
|
12
12
|
},
|
|
13
13
|
get _() {
|
|
14
|
-
return t(R,
|
|
14
|
+
return t(R, r, s);
|
|
15
15
|
}
|
|
16
16
|
});
|
|
17
17
|
import { trace as Ke } from "@ninebone/util";
|
|
@@ -44,14 +44,14 @@ const Me = class Me extends HTMLElement {
|
|
|
44
44
|
if (!t(this, z) || !t(this, w) || t(this, j)) return;
|
|
45
45
|
const e = t(this, w).container, s = e.querySelector("table");
|
|
46
46
|
if (!s) return;
|
|
47
|
-
const
|
|
47
|
+
const i = t(this, w).track, n = t(this, w).thumb, a = t(this, z).querySelector(".ng-container-bottom"), o = e.clientWidth, c = s.scrollWidth;
|
|
48
48
|
if (o !== 0 && c > o)
|
|
49
49
|
a && (a.style.display = "flex");
|
|
50
50
|
else {
|
|
51
51
|
a && (a.style.display = "none");
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
54
|
-
const l =
|
|
54
|
+
const l = i.clientWidth;
|
|
55
55
|
if (l <= 0) return;
|
|
56
56
|
const f = Math.max(Math.min(l * (o / c), l), 20);
|
|
57
57
|
n.style.width = `${f}px`;
|
|
@@ -63,43 +63,43 @@ const Me = class Me extends HTMLElement {
|
|
|
63
63
|
}, "refresh"));
|
|
64
64
|
d(this, G, /* @__PURE__ */ h((e) => {
|
|
65
65
|
if (!t(this, w)) return !1;
|
|
66
|
-
const s = t(this, w).container,
|
|
67
|
-
if (!
|
|
66
|
+
const s = t(this, w).container, i = s.querySelector("table");
|
|
67
|
+
if (!i) return !1;
|
|
68
68
|
const n = t(this, w).track.getBoundingClientRect(), a = t(this, w).thumb.clientWidth;
|
|
69
69
|
let o = e;
|
|
70
70
|
o < 0 && (o = 0);
|
|
71
71
|
const c = n.width - a;
|
|
72
72
|
o > c && (o = c), o = parseInt(o, 10), t(this, w).thumb.style.left = `${o}px`, t(this, w).left.disabled = o === 0, t(this, w).right.disabled = o >= c - 1;
|
|
73
|
-
const l = s.clientWidth, u =
|
|
73
|
+
const l = s.clientWidth, u = i.scrollWidth - l;
|
|
74
74
|
return c > 0 && u > 0 && (s.scrollLeft = o / c * u), o > 0 && o < c - 1;
|
|
75
75
|
}, "#thumbMoveTo"));
|
|
76
76
|
d(this, Nt, /* @__PURE__ */ h(() => {
|
|
77
|
-
const e = /* @__PURE__ */ h((
|
|
77
|
+
const e = /* @__PURE__ */ h((i) => {
|
|
78
78
|
clearInterval(t(this, X)), clearInterval(t(this, K));
|
|
79
79
|
const n = parseInt(t(this, w).thumb.style.left || 0, 10);
|
|
80
|
-
t(this, G).call(this, n +
|
|
80
|
+
t(this, G).call(this, n + i), y(this, X, setInterval(() => {
|
|
81
81
|
clearInterval(t(this, X)), y(this, K, setInterval(() => {
|
|
82
82
|
const a = parseInt(t(this, w).thumb.style.left || 0, 10);
|
|
83
|
-
t(this, G).call(this, a +
|
|
83
|
+
t(this, G).call(this, a + i) || clearInterval(t(this, K));
|
|
84
84
|
}, 50));
|
|
85
85
|
}, 500));
|
|
86
86
|
}, "delayScroll"), s = /* @__PURE__ */ h(() => {
|
|
87
87
|
clearInterval(t(this, X)), clearInterval(t(this, K));
|
|
88
88
|
}, "clearTimer");
|
|
89
|
-
["mouseup", "mouseleave", "touchend"].forEach((
|
|
90
|
-
t(this, w).left.addEventListener(
|
|
91
|
-
}), t(this, w).left.addEventListener("mousedown", (
|
|
92
|
-
|
|
93
|
-
}), t(this, w).right.addEventListener("mousedown", (
|
|
94
|
-
|
|
95
|
-
}), t(this, w).left.addEventListener("touchstart", () => e(-20)), t(this, w).right.addEventListener("touchstart", () => e(20)), t(this, w).track.addEventListener("mousedown", (
|
|
96
|
-
if (
|
|
97
|
-
|
|
89
|
+
["mouseup", "mouseleave", "touchend"].forEach((i) => {
|
|
90
|
+
t(this, w).left.addEventListener(i, s), t(this, w).right.addEventListener(i, s), t(this, w).track.addEventListener(i, s);
|
|
91
|
+
}), t(this, w).left.addEventListener("mousedown", (i) => {
|
|
92
|
+
i.button === 0 && e(-20);
|
|
93
|
+
}), t(this, w).right.addEventListener("mousedown", (i) => {
|
|
94
|
+
i.button === 0 && e(20);
|
|
95
|
+
}), t(this, w).left.addEventListener("touchstart", () => e(-20)), t(this, w).right.addEventListener("touchstart", () => e(20)), t(this, w).track.addEventListener("mousedown", (i) => {
|
|
96
|
+
if (i.button !== 0) return;
|
|
97
|
+
i.preventDefault();
|
|
98
98
|
const n = t(this, w).track.getBoundingClientRect(), a = t(this, w).thumb.clientWidth;
|
|
99
|
-
t(this, G).call(this,
|
|
100
|
-
}), t(this, w).thumb.addEventListener("mousedown", (
|
|
101
|
-
if (
|
|
102
|
-
|
|
99
|
+
t(this, G).call(this, i.clientX - n.left - a / 2);
|
|
100
|
+
}), t(this, w).thumb.addEventListener("mousedown", (i) => {
|
|
101
|
+
if (i.button !== 0) return;
|
|
102
|
+
i.stopPropagation(), i.preventDefault(), y(this, j, !0), this.shiftX = i.clientX - t(this, w).thumb.getBoundingClientRect().left;
|
|
103
103
|
const n = /* @__PURE__ */ h((o) => {
|
|
104
104
|
if (!t(this, j)) return;
|
|
105
105
|
const c = t(this, w).track.getBoundingClientRect();
|
|
@@ -214,21 +214,21 @@ const $e = class $e extends HTMLElement {
|
|
|
214
214
|
E(this, "refresh", /* @__PURE__ */ h(() => {
|
|
215
215
|
if (!t(this, F) || !t(this, q)) return;
|
|
216
216
|
H.log("nine-table-vscrollbar.refresh");
|
|
217
|
-
const e = t(this, q).container, s = t(this, q).track,
|
|
217
|
+
const e = t(this, q).container, s = t(this, q).track, i = t(this, q).thumb, n = e.clientHeight, o = (t(this, F).data.get() || []).length, c = t(this, at).getRowHeight(), l = o * c;
|
|
218
218
|
if (l <= n) {
|
|
219
|
-
|
|
219
|
+
i.style.display = "none", t(this, q).top.disabled = !0, t(this, q).bottom.disabled = !0;
|
|
220
220
|
return;
|
|
221
221
|
} else
|
|
222
|
-
|
|
222
|
+
i.style.display = "block";
|
|
223
223
|
const f = s.clientHeight;
|
|
224
224
|
if (f <= 0) return;
|
|
225
225
|
const u = Math.max(Math.min(f * (n / l), f), 20);
|
|
226
|
-
|
|
226
|
+
i.style.height = `${u}px`;
|
|
227
227
|
const g = e.scrollTop, b = Math.max(l - n, 1);
|
|
228
228
|
let x = 0;
|
|
229
229
|
b > 0 && (x = g / b * (f - u));
|
|
230
230
|
const v = f - u;
|
|
231
|
-
x < 0 && (x = 0), x > v && (x = v),
|
|
231
|
+
x < 0 && (x = 0), x > v && (x = v), i.style.top = `${x}px`, t(this, q).top.disabled = g <= 0, t(this, q).bottom.disabled = g >= b - 1;
|
|
232
232
|
}, "refresh"));
|
|
233
233
|
d(this, Wt, /* @__PURE__ */ h(() => {
|
|
234
234
|
H.log("nine-table-vscrollbar.#init");
|
|
@@ -238,9 +238,9 @@ const $e = class $e extends HTMLElement {
|
|
|
238
238
|
}, "getContentHeight");
|
|
239
239
|
e.addEventListener("scroll", () => {
|
|
240
240
|
t(this, J) || this.refresh();
|
|
241
|
-
}), t(this, q).thumb.addEventListener("mousedown", (
|
|
242
|
-
if (
|
|
243
|
-
|
|
241
|
+
}), t(this, q).thumb.addEventListener("mousedown", (i) => {
|
|
242
|
+
if (i.button !== 0) return;
|
|
243
|
+
i.stopPropagation(), i.preventDefault(), y(this, J, !0), y(this, vt, i.clientY), y(this, wt, e.scrollTop);
|
|
244
244
|
const n = /* @__PURE__ */ h((o) => {
|
|
245
245
|
if (!t(this, J)) return;
|
|
246
246
|
const c = t(this, q).track.getBoundingClientRect(), l = t(this, q).thumb.clientHeight, u = c.height - l, g = o.clientY - t(this, vt), b = e.clientHeight, x = s(), v = Math.max(x - b, 1);
|
|
@@ -255,9 +255,9 @@ const $e = class $e extends HTMLElement {
|
|
|
255
255
|
y(this, J, !1), document.removeEventListener("mousemove", n), document.removeEventListener("mouseup", a), this.refresh();
|
|
256
256
|
}, "onMouseUp");
|
|
257
257
|
document.addEventListener("mousemove", n), document.addEventListener("mouseup", a);
|
|
258
|
-
}), t(this, q).track.addEventListener("mousedown", (
|
|
259
|
-
if (
|
|
260
|
-
const n = t(this, q).track.getBoundingClientRect(), a = t(this, q).thumb.clientHeight, o =
|
|
258
|
+
}), t(this, q).track.addEventListener("mousedown", (i) => {
|
|
259
|
+
if (i.button !== 0 || i.target === t(this, q).thumb) return;
|
|
260
|
+
const n = t(this, q).track.getBoundingClientRect(), a = t(this, q).thumb.clientHeight, o = i.clientY - n.top - a / 2, l = n.height - a, f = e.clientHeight, u = s(), g = Math.max(u - f, 1);
|
|
261
261
|
if (l > 0 && g > 0) {
|
|
262
262
|
const b = Math.max(0, Math.min(1, o / l));
|
|
263
263
|
e.scrollTop = b * g;
|
|
@@ -355,13 +355,13 @@ const $e = class $e extends HTMLElement {
|
|
|
355
355
|
F = new WeakMap(), at = new WeakMap(), J = new WeakMap(), q = new WeakMap(), vt = new WeakMap(), wt = new WeakMap(), Wt = new WeakMap(), h($e, "NineTableVScrollBar");
|
|
356
356
|
let ce = $e;
|
|
357
357
|
customElements.get("nine-table-vscrollbar") || customElements.define("nine-table-vscrollbar", ce);
|
|
358
|
-
var
|
|
358
|
+
var D, S, Q, P, M, V, tt, St, Ee, lt, Ot, Bt, zt, Et, At, Pt, Dt, Rt, Ae, ct, qt, jt;
|
|
359
359
|
const Ie = class Ie {
|
|
360
|
-
constructor(
|
|
361
|
-
d(this,
|
|
360
|
+
constructor(r) {
|
|
361
|
+
d(this, D);
|
|
362
362
|
d(this, S);
|
|
363
363
|
d(this, Q);
|
|
364
|
-
d(this,
|
|
364
|
+
d(this, P, /* @__PURE__ */ new Map());
|
|
365
365
|
d(this, M, null);
|
|
366
366
|
d(this, V, null);
|
|
367
367
|
d(this, tt, 0);
|
|
@@ -370,15 +370,16 @@ const Ie = class Ie {
|
|
|
370
370
|
d(this, lt, !1);
|
|
371
371
|
d(this, Ot, 3);
|
|
372
372
|
E(this, "refresh", /* @__PURE__ */ h(() => {
|
|
373
|
+
var e;
|
|
373
374
|
H.log("rowManager.refresh");
|
|
374
|
-
const
|
|
375
|
-
|
|
375
|
+
const r = t(this, S).querySelector(".ng-container-body .ng-part-body");
|
|
376
|
+
r && (t(this, Et).call(this), t(this, ct).call(this, r.scrollTop), (e = t(this, S).querySelector("nine-table-vscrollbar")) == null || e.refresh());
|
|
376
377
|
}, "refresh"));
|
|
377
378
|
E(this, "initialize", /* @__PURE__ */ h(() => {
|
|
378
379
|
H.log("rowManager.initialize"), y(this, Q, {
|
|
379
380
|
scrollTables: t(this, S).querySelectorAll(".ng-part-body table"),
|
|
380
381
|
firstTr: t(this, S).querySelector(".ng-container-body .ng-part-body tbody.bindable-tbody tr:not(.nodata)")
|
|
381
|
-
}), y(this, M, null), t(this,
|
|
382
|
+
}), y(this, M, null), t(this, P).clear(), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((a) => {
|
|
382
383
|
const o = t(this, S).querySelector(a);
|
|
383
384
|
if (!o) return;
|
|
384
385
|
const c = o.querySelector(".ng-part-body table");
|
|
@@ -386,17 +387,17 @@ const Ie = class Ie {
|
|
|
386
387
|
const l = c.querySelector("tbody.bindable-tbody");
|
|
387
388
|
if (!l) return;
|
|
388
389
|
const u = Array.from(l.querySelectorAll("tr")).map((g) => g.cloneNode(!0));
|
|
389
|
-
t(this,
|
|
390
|
+
t(this, P).set(a, u);
|
|
390
391
|
});
|
|
391
|
-
const
|
|
392
|
-
if (
|
|
393
|
-
t(this, zt).call(this,
|
|
392
|
+
const r = t(this, S).querySelector(".ng-container-body .ng-part-body"), e = t(this, S).querySelector(".ng-container-left .ng-part-body"), s = t(this, S).querySelector(".ng-container-right .ng-part-body"), i = t(this, S).querySelector(".ng-container-body .ng-part-header"), n = t(this, S).querySelector(".ng-container-body .ng-part-footer");
|
|
393
|
+
if (r) {
|
|
394
|
+
t(this, zt).call(this, r), t(this, Rt).call(this), t(this, Et).call(this), t(this, ct).call(this, r.scrollTop);
|
|
394
395
|
let a = !1;
|
|
395
396
|
const o = /* @__PURE__ */ h((c, l, f) => {
|
|
396
397
|
var u;
|
|
397
|
-
a || (a = !0,
|
|
398
|
+
a || (a = !0, r && r.scrollTop !== c && (r.scrollTop = c), e && e.scrollTop !== c && (e.scrollTop = c), s && s.scrollTop !== c && (s.scrollTop = c), i && i.scrollLeft !== l && (i.scrollLeft = l), n && n.scrollLeft !== l && (n.scrollLeft = l), t(this, ct).call(this, c), (u = t(this, S).querySelector("nine-table-vscrollbar")) == null || u.refresh(), a = !1);
|
|
398
399
|
}, "syncScroll");
|
|
399
|
-
[
|
|
400
|
+
[r, e, s].forEach((c) => {
|
|
400
401
|
c && c.addEventListener("scroll", () => {
|
|
401
402
|
t(this, lt) || (y(this, lt, !0), requestAnimationFrame(() => {
|
|
402
403
|
o(c.scrollTop, c.scrollLeft), y(this, lt, !1);
|
|
@@ -405,33 +406,33 @@ const Ie = class Ie {
|
|
|
405
406
|
});
|
|
406
407
|
}
|
|
407
408
|
}, "initialize"));
|
|
408
|
-
d(this, Bt, /* @__PURE__ */ h((
|
|
409
|
+
d(this, Bt, /* @__PURE__ */ h((r, e) => {
|
|
409
410
|
H.log("rowManager.#renderRows");
|
|
410
|
-
const s = t(this,
|
|
411
|
+
const s = t(this, P).get(e);
|
|
411
412
|
if (!s || s.length === 0) return;
|
|
412
|
-
const
|
|
413
|
-
if (!
|
|
414
|
-
|
|
415
|
-
const n =
|
|
413
|
+
const i = r.querySelector(".ng-part-body tbody.bindable-tbody");
|
|
414
|
+
if (!i) return;
|
|
415
|
+
i.querySelectorAll("tr:not(.nodata)").forEach((o) => o.remove());
|
|
416
|
+
const n = i.querySelector("tr.nodata"), a = document.createDocumentFragment();
|
|
416
417
|
for (let o = 0; o < t(this, St); o++)
|
|
417
418
|
s.forEach((c) => {
|
|
418
419
|
a.appendChild(c.cloneNode(!0));
|
|
419
420
|
});
|
|
420
|
-
n ? n.before(a) :
|
|
421
|
+
n ? n.before(a) : i.appendChild(a), e === ".ng-container-body" && (t(this, Q).firstTr = i.querySelector("tr:not(.nodata)"));
|
|
421
422
|
}, "#renderRows"));
|
|
422
|
-
d(this, zt, /* @__PURE__ */ h((
|
|
423
|
+
d(this, zt, /* @__PURE__ */ h((r) => {
|
|
423
424
|
if (H.log("rowManager.#measureAndCacheHeight"), t(this, M) !== null && t(this, M) > 0)
|
|
424
425
|
return t(this, M);
|
|
425
426
|
H.log("#measureAndCacheHeight");
|
|
426
|
-
const e = t(this,
|
|
427
|
+
const e = t(this, P).get(".ng-container-body");
|
|
427
428
|
if (!e || e.length === 0) return 24;
|
|
428
|
-
const s =
|
|
429
|
+
const s = r.querySelector("tbody.bindable-tbody");
|
|
429
430
|
if (!s) return 24;
|
|
430
431
|
s.querySelectorAll("tr:not(.nodata)").forEach((g) => g.remove());
|
|
431
|
-
const
|
|
432
|
+
const i = s.querySelector("tr.nodata"), n = document.createDocumentFragment();
|
|
432
433
|
e.forEach((g) => {
|
|
433
434
|
n.appendChild(g.cloneNode(!0));
|
|
434
|
-
}),
|
|
435
|
+
}), i ? i.before(n) : s.appendChild(n);
|
|
435
436
|
const a = t(this, S), o = a.style.display, c = a.style.visibility, l = a.style.position;
|
|
436
437
|
(o === "none" || window.getComputedStyle(a).display === "none") && (a.style.display = "block", a.style.visibility = "hidden", a.style.position = "absolute");
|
|
437
438
|
let f = 0;
|
|
@@ -442,25 +443,25 @@ const Ie = class Ie {
|
|
|
442
443
|
}, "#measureAndCacheHeight"));
|
|
443
444
|
d(this, Et, /* @__PURE__ */ h(() => {
|
|
444
445
|
H.log("rowManager.#updateVirtualScrollHeight");
|
|
445
|
-
const e = (t(this,
|
|
446
|
+
const e = (t(this, D).data.get() || []).length, s = t(this, M), i = e * s;
|
|
446
447
|
[".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((n) => {
|
|
447
448
|
const a = t(this, S).querySelector(n);
|
|
448
449
|
if (!a) return;
|
|
449
450
|
const o = a.querySelector(".ng-part-body .ng-virtual-spacer");
|
|
450
|
-
o && (o.style.height = `${
|
|
451
|
+
o && (o.style.height = `${i}px`);
|
|
451
452
|
});
|
|
452
453
|
}, "#updateVirtualScrollHeight"));
|
|
453
454
|
d(this, At, /* @__PURE__ */ h(() => {
|
|
454
455
|
if (t(this, tt) > 0 && t(this, M) > 0) {
|
|
455
|
-
const
|
|
456
|
-
y(this, St,
|
|
456
|
+
const r = Math.ceil(t(this, tt) / t(this, M));
|
|
457
|
+
y(this, St, r + t(this, Ot));
|
|
457
458
|
}
|
|
458
459
|
}, "#updateRowCount"));
|
|
459
|
-
d(this,
|
|
460
|
+
d(this, Pt, /* @__PURE__ */ h(() => {
|
|
460
461
|
var o, c, l, f, u, g;
|
|
461
|
-
const
|
|
462
|
+
const r = t(this, S).querySelector(".ng-container-left .ng-part-body table"), e = t(this, S).querySelector(".ng-container-body .ng-part-body table"), s = t(this, S).querySelector(".ng-container-right .ng-part-body table");
|
|
462
463
|
if (e) {
|
|
463
|
-
const b =
|
|
464
|
+
const b = r ? Array.from(r.querySelectorAll("tbody tr")) : [], x = Array.from(e.querySelectorAll("tbody tr")), v = s ? Array.from(s.querySelectorAll("tbody tr")) : [], A = Math.max(b.length, x.length, v.length);
|
|
464
465
|
for (let m = 0; m < A; m++) {
|
|
465
466
|
const W = [
|
|
466
467
|
((o = b[m]) == null ? void 0 : o.getBoundingClientRect().height) || 0,
|
|
@@ -470,9 +471,9 @@ const Ie = class Ie {
|
|
|
470
471
|
C > 0 && (b[m] && (b[m].style.height = `${C}px`), x[m] && (x[m].style.height = `${C}px`), v[m] && (v[m].style.height = `${C}px`));
|
|
471
472
|
}
|
|
472
473
|
}
|
|
473
|
-
const
|
|
474
|
+
const i = t(this, S).querySelector(".ng-container-left .ng-part-footer table"), n = t(this, S).querySelector(".ng-container-body .ng-part-footer table"), a = t(this, S).querySelector(".ng-container-right .ng-part-footer table");
|
|
474
475
|
if (n) {
|
|
475
|
-
const b =
|
|
476
|
+
const b = i ? Array.from(i.querySelectorAll("tfoot tr")) : [], x = Array.from(n.querySelectorAll("tfoot tr")), v = a ? Array.from(a.querySelectorAll("tfoot tr")) : [], A = Math.max(b.length, x.length, v.length);
|
|
476
477
|
for (let m = 0; m < A; m++) {
|
|
477
478
|
const W = [
|
|
478
479
|
((f = b[m]) == null ? void 0 : f.getBoundingClientRect().height) || 0,
|
|
@@ -483,66 +484,66 @@ const Ie = class Ie {
|
|
|
483
484
|
}
|
|
484
485
|
}
|
|
485
486
|
}, "#syncRowHeights"));
|
|
486
|
-
d(this,
|
|
487
|
-
!t(this, S) || !(t(this, S) instanceof HTMLElement) || (y(this, V, new ResizeObserver((
|
|
488
|
-
for (const e of
|
|
487
|
+
d(this, Dt, /* @__PURE__ */ h(() => {
|
|
488
|
+
!t(this, S) || !(t(this, S) instanceof HTMLElement) || (y(this, V, new ResizeObserver((r) => {
|
|
489
|
+
for (const e of r) {
|
|
489
490
|
const s = e.target;
|
|
490
491
|
if (!s.classList.contains("active")) continue;
|
|
491
|
-
const
|
|
492
|
-
if (
|
|
492
|
+
const i = e.contentRect.height;
|
|
493
|
+
if (i > 0) {
|
|
493
494
|
let n = 0;
|
|
494
495
|
const a = s.querySelector(".ng-part-header"), o = s.querySelector(".ng-part-footer");
|
|
495
496
|
a && (n += a.offsetHeight), o && (n += o.offsetHeight);
|
|
496
|
-
const c = Math.max(
|
|
497
|
+
const c = Math.max(i - n, 100);
|
|
497
498
|
t(this, tt) !== c && (y(this, tt, c), t(this, At).call(this), t(this, M) !== null && (t(this, Rt).call(this), this.refresh()));
|
|
498
499
|
}
|
|
499
500
|
}
|
|
500
501
|
})), t(this, V).observe(t(this, S)));
|
|
501
502
|
}, "#initResizeObserver"));
|
|
502
503
|
d(this, Rt, /* @__PURE__ */ h(() => {
|
|
503
|
-
H.log("rowManager.#renderAllContainers"), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((
|
|
504
|
-
const e = t(this, S).querySelector(
|
|
505
|
-
e && e.querySelector(".ng-part-body tbody.bindable-tbody") && t(this, Bt).call(this, e,
|
|
506
|
-
}), t(this, jt).call(this), t(this,
|
|
504
|
+
H.log("rowManager.#renderAllContainers"), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((r) => {
|
|
505
|
+
const e = t(this, S).querySelector(r);
|
|
506
|
+
e && e.querySelector(".ng-part-body tbody.bindable-tbody") && t(this, Bt).call(this, e, r);
|
|
507
|
+
}), t(this, jt).call(this), t(this, Pt).call(this);
|
|
507
508
|
}, "#renderAllContainers"));
|
|
508
|
-
d(this, Ae, /* @__PURE__ */ h((
|
|
509
|
+
d(this, Ae, /* @__PURE__ */ h((r) => {
|
|
509
510
|
[".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((e) => {
|
|
510
511
|
var l;
|
|
511
512
|
const s = t(this, S).querySelector(e);
|
|
512
513
|
if (!s) return;
|
|
513
|
-
const
|
|
514
|
-
if (!
|
|
515
|
-
const n = Array.from(
|
|
514
|
+
const i = s.querySelector(".ng-part-body tbody.bindable-tbody");
|
|
515
|
+
if (!i) return;
|
|
516
|
+
const n = Array.from(i.querySelectorAll("tr:not(.nodata)")), a = ((l = t(this, P).get(e)) == null ? void 0 : l.length) || 1, c = (t(this, D).data.get() || []).length;
|
|
516
517
|
n.forEach((f, u) => {
|
|
517
|
-
const g =
|
|
518
|
+
const g = r + Math.floor(u / a);
|
|
518
519
|
if (g >= c) {
|
|
519
520
|
f.style.display = "none";
|
|
520
521
|
return;
|
|
521
522
|
}
|
|
522
|
-
const b = t(this,
|
|
523
|
+
const b = t(this, D).data.get(g);
|
|
523
524
|
f.style.display = "", t(this, qt).call(this, f, b, g);
|
|
524
525
|
});
|
|
525
526
|
});
|
|
526
527
|
}, "#adjustBufferRows"));
|
|
527
|
-
d(this, ct, /* @__PURE__ */ h((
|
|
528
|
+
d(this, ct, /* @__PURE__ */ h((r) => {
|
|
528
529
|
var l, f;
|
|
529
530
|
const e = t(this, M);
|
|
530
531
|
if (!e || e <= 0) return;
|
|
531
|
-
const s = t(this,
|
|
532
|
+
const s = t(this, D).data.length, i = Math.max(0, Math.floor(r / e)), n = i * e, a = ((l = t(this, P).get(".ng-container-body")) == null ? void 0 : l.length) || 1, o = t(this, Q).firstTr, c = o && o.dataset.row !== void 0 ? parseInt(o.dataset.row, 10) : -1;
|
|
532
533
|
(f = t(this, Q)) == null || f.scrollTables.forEach((u) => {
|
|
533
|
-
u.style.transform = `
|
|
534
|
-
}), c !==
|
|
534
|
+
u.style.transform = `translate3d(0, ${n}px, 0)`;
|
|
535
|
+
}), c !== i && [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((u) => {
|
|
535
536
|
const g = t(this, S).querySelector(u);
|
|
536
537
|
if (!g) return;
|
|
537
538
|
const b = g.querySelector(".ng-part-body tbody.bindable-tbody");
|
|
538
539
|
if (!b) return;
|
|
539
540
|
Array.from(b.querySelectorAll("tr:not(.nodata)")).forEach((v, A) => {
|
|
540
|
-
const m =
|
|
541
|
+
const m = i + Math.floor(A / a);
|
|
541
542
|
if (m >= s) {
|
|
542
543
|
v.style.display = "none";
|
|
543
544
|
return;
|
|
544
545
|
}
|
|
545
|
-
const W = t(this,
|
|
546
|
+
const W = t(this, D).data.get(m);
|
|
546
547
|
v.style.display = "", t(this, qt).call(this, v, W, m);
|
|
547
548
|
});
|
|
548
549
|
});
|
|
@@ -561,55 +562,55 @@ const Ie = class Ie {
|
|
|
561
562
|
cell.dataset.row = dataIndex;
|
|
562
563
|
});
|
|
563
564
|
}; */
|
|
564
|
-
d(this, qt, /* @__PURE__ */ h((
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
const a = Array.from(
|
|
565
|
+
d(this, qt, /* @__PURE__ */ h((r, e, s) => {
|
|
566
|
+
r.dataset.row = s, r.data = e, Array.from(r.cells).forEach((i, n) => {
|
|
567
|
+
i.dataset.row = s;
|
|
568
|
+
const a = Array.from(i.children).find((o) => o.tagName.toLowerCase().startsWith("cell-") || typeof o.refresh == "function");
|
|
568
569
|
a && typeof a.refresh == "function" && a.refresh();
|
|
569
570
|
});
|
|
570
571
|
}, "#bindRowData"));
|
|
571
572
|
d(this, jt, /* @__PURE__ */ h(() => {
|
|
572
573
|
var c, l, f;
|
|
573
574
|
H.log("rowManager.#syncHeaderHeights");
|
|
574
|
-
const
|
|
575
|
+
const r = t(this, S).querySelector(".ng-container-left .ng-part-header table"), e = t(this, S).querySelector(".ng-container-body .ng-part-header table"), s = t(this, S).querySelector(".ng-container-right .ng-part-header table");
|
|
575
576
|
if (!e) return;
|
|
576
|
-
const
|
|
577
|
+
const i = r ? Array.from(r.querySelectorAll("tr")) : [], n = Array.from(e.querySelectorAll("tr")), a = s ? Array.from(s.querySelectorAll("tr")) : [], o = Math.max(i.length, n.length, a.length);
|
|
577
578
|
for (let u = 0; u < o; u++) {
|
|
578
579
|
const g = [
|
|
579
|
-
((c =
|
|
580
|
+
((c = i[u]) == null ? void 0 : c.getBoundingClientRect().height) || 0,
|
|
580
581
|
((l = n[u]) == null ? void 0 : l.getBoundingClientRect().height) || 0,
|
|
581
582
|
((f = a[u]) == null ? void 0 : f.getBoundingClientRect().height) || 0
|
|
582
583
|
], b = Math.max(...g);
|
|
583
|
-
b > 0 && (
|
|
584
|
+
b > 0 && (i[u] && (i[u].style.height = `${b}px`), n[u] && (n[u].style.height = `${b}px`), a[u] && (a[u].style.height = `${b}px`));
|
|
584
585
|
}
|
|
585
586
|
}, "#syncHeaderHeights"));
|
|
586
587
|
E(this, "destroy", /* @__PURE__ */ h(() => {
|
|
587
588
|
t(this, V) && (t(this, V).disconnect(), y(this, V, null));
|
|
588
589
|
}, "destroy"));
|
|
589
|
-
y(this,
|
|
590
|
+
y(this, D, r.getRootNode().host), y(this, S, r), t(this, Dt).call(this);
|
|
590
591
|
}
|
|
591
592
|
getRowHeight() {
|
|
592
593
|
return t(this, M);
|
|
593
594
|
}
|
|
594
|
-
templateLength(
|
|
595
|
+
templateLength(r = ".ng-container-body") {
|
|
595
596
|
var e;
|
|
596
|
-
return ((e = t(this,
|
|
597
|
+
return ((e = t(this, P).get(r)) == null ? void 0 : e.length) || 1;
|
|
597
598
|
}
|
|
598
599
|
};
|
|
599
|
-
|
|
600
|
+
D = new WeakMap(), S = new WeakMap(), Q = new WeakMap(), P = new WeakMap(), M = new WeakMap(), V = new WeakMap(), tt = new WeakMap(), St = new WeakMap(), Ee = new WeakMap(), lt = new WeakMap(), Ot = new WeakMap(), Bt = new WeakMap(), zt = new WeakMap(), Et = new WeakMap(), At = new WeakMap(), Pt = new WeakMap(), Dt = new WeakMap(), Rt = new WeakMap(), Ae = new WeakMap(), ct = new WeakMap(), qt = new WeakMap(), jt = new WeakMap(), h(Ie, "RowManager");
|
|
600
601
|
let he = Ie;
|
|
601
602
|
const Ft = class Ft {
|
|
602
603
|
/**
|
|
603
604
|
* 🎯 레이아웃 내의 여러 rawTables 배열을 일괄로 받아 단일 마스터 템플릿으로 사전 컴파일합니다.
|
|
604
605
|
*/
|
|
605
|
-
static compileAll(
|
|
606
|
-
return Array.isArray(
|
|
606
|
+
static compileAll(r) {
|
|
607
|
+
return Array.isArray(r) ? r.map((e) => Ft.compile(e)) : [];
|
|
607
608
|
}
|
|
608
609
|
/**
|
|
609
610
|
* 🎯 단일 원본 테이블을 받아 기본 구조 보정 및 2차원 격자 인덱스 사전 부여 완료된 마스터 테이블 반환
|
|
610
611
|
*/
|
|
611
|
-
static compile(
|
|
612
|
-
if (!
|
|
612
|
+
static compile(r) {
|
|
613
|
+
if (!r) return null;
|
|
613
614
|
const e = /* @__PURE__ */ h((o) => {
|
|
614
615
|
o.querySelectorAll("tbody td, tbody th, tfoot td, tfoot th").forEach((l) => {
|
|
615
616
|
const f = l.getAttribute("cell-type") || "renderer";
|
|
@@ -633,7 +634,7 @@ const Ft = class Ft {
|
|
|
633
634
|
l ? l.after(c) : o.prepend(c);
|
|
634
635
|
}
|
|
635
636
|
o.classList.add("nine-table-element"), o.style.display = "table";
|
|
636
|
-
}, "ensureTableStructure"),
|
|
637
|
+
}, "ensureTableStructure"), i = /* @__PURE__ */ h((o, c) => {
|
|
637
638
|
const l = Array.from(o.querySelectorAll(c + " tr")), f = Array.from(o.querySelectorAll(c + " th," + c + " td")), u = l.length;
|
|
638
639
|
if (u === 0 || f.length === 0) return;
|
|
639
640
|
let g = 0;
|
|
@@ -665,8 +666,8 @@ const Ft = class Ft {
|
|
|
665
666
|
}
|
|
666
667
|
});
|
|
667
668
|
});
|
|
668
|
-
}, "resetColIndex"), n =
|
|
669
|
-
return s(n), e(n),
|
|
669
|
+
}, "resetColIndex"), n = r.cloneNode(!0);
|
|
670
|
+
return s(n), e(n), i(n, "thead"), i(n, "tbody"), i(n, "tfoot"), Array.from(n.querySelectorAll("colgroup col")).forEach((o, c) => {
|
|
670
671
|
const l = o.getAttribute("fixed");
|
|
671
672
|
l && n.querySelectorAll(`thead [data-col="${c}"], tbody [data-col="${c}"], tfoot [data-col="${c}"]`).forEach((f) => {
|
|
672
673
|
f.setAttribute("fixed", l);
|
|
@@ -692,28 +693,28 @@ const mt = class mt extends HTMLElement {
|
|
|
692
693
|
{ selector: ".ng-container-body", type: null },
|
|
693
694
|
{ selector: ".ng-container-left", type: "left" },
|
|
694
695
|
{ selector: ".ng-container-right", type: "right" }
|
|
695
|
-
].forEach(({ selector: s, type:
|
|
696
|
+
].forEach(({ selector: s, type: i }) => {
|
|
696
697
|
const n = this.querySelector(s);
|
|
697
698
|
if (!n) return;
|
|
698
699
|
n.innerHTML = "";
|
|
699
700
|
const a = document.createElement("div");
|
|
700
|
-
a.className = "ng-part-header", a.appendChild(t(this, ht).call(this, t(this, et),
|
|
701
|
+
a.className = "ng-part-header", a.appendChild(t(this, ht).call(this, t(this, et), i, "header"));
|
|
701
702
|
const o = document.createElement("div");
|
|
702
703
|
o.className = "ng-part-body";
|
|
703
704
|
const c = document.createElement("div");
|
|
704
|
-
c.className = "ng-scroll-content", c.style.position = "relative", c.style.width = "100%", c.appendChild(t(this, ht).call(this, t(this, et),
|
|
705
|
+
c.className = "ng-scroll-content", c.style.position = "relative", c.style.width = "100%", c.appendChild(t(this, ht).call(this, t(this, et), i, "body"));
|
|
705
706
|
const l = document.createElement("div");
|
|
706
707
|
l.className = "ng-virtual-spacer", l.style.width = "100%", l.style.pointerEvents = "none", c.appendChild(l), o.appendChild(c);
|
|
707
708
|
const f = document.createElement("div");
|
|
708
|
-
f.className = "ng-part-footer", f.appendChild(t(this, ht).call(this, t(this, et),
|
|
709
|
+
f.className = "ng-part-footer", f.appendChild(t(this, ht).call(this, t(this, et), i, "footer")), n.appendChild(a), n.appendChild(o), n.appendChild(f);
|
|
709
710
|
});
|
|
710
711
|
}, "#renderSplitContainers"));
|
|
711
712
|
d(this, Ut, /* @__PURE__ */ h(() => {
|
|
712
713
|
["left", "right", "body"].forEach((e) => {
|
|
713
|
-
const s = this.querySelector(`.ng-container-${e}`),
|
|
714
|
-
if (!s || !
|
|
714
|
+
const s = this.querySelector(`.ng-container-${e}`), i = s == null ? void 0 : s.querySelectorAll("table");
|
|
715
|
+
if (!s || !i || i.length === 0) return;
|
|
715
716
|
let n = 0;
|
|
716
|
-
|
|
717
|
+
i[0].querySelectorAll("col").forEach((a) => {
|
|
717
718
|
const o = parseInt(a.getAttribute("width"), 10);
|
|
718
719
|
isNaN(n) || (n += o);
|
|
719
720
|
}), e === "body" ? s.style.flex = "1" : (s.style.flex = `0 0 ${n}px`, s.style.width = `${n}px`);
|
|
@@ -725,14 +726,14 @@ const mt = class mt extends HTMLElement {
|
|
|
725
726
|
(s = this.querySelector("nine-table-hscrollbar")) == null || s.refresh();
|
|
726
727
|
}, 0));
|
|
727
728
|
}, "generate"));
|
|
728
|
-
d(this, ht, /* @__PURE__ */ h((e, s,
|
|
729
|
+
d(this, ht, /* @__PURE__ */ h((e, s, i) => {
|
|
729
730
|
const n = e.cloneNode(!0), a = n.querySelector("thead"), o = n.querySelector("tbody"), c = n.querySelector("tfoot");
|
|
730
|
-
if (
|
|
731
|
+
if (i === "header") {
|
|
731
732
|
if (o && o.remove(), c && c.remove(), e.querySelector("tbody")) {
|
|
732
733
|
const f = document.createElement("tbody");
|
|
733
734
|
f.className = "fixed-tbody", n.appendChild(f);
|
|
734
735
|
}
|
|
735
|
-
} else
|
|
736
|
+
} else i === "body" ? (a && a.remove(), c && c.remove(), o && (o.className = "bindable-tbody")) : i === "footer" && (a && a.remove(), o && o.remove());
|
|
736
737
|
return s === "left" ? n.querySelectorAll("col, th, td, tfoot td, tfoot th").forEach((l) => {
|
|
737
738
|
l.getAttribute("fixed") !== "left" && l.remove();
|
|
738
739
|
}) : s === "right" ? n.querySelectorAll("col, th, td, tfoot td, tfoot th").forEach((l) => {
|
|
@@ -856,6 +857,8 @@ const mt = class mt extends HTMLElement {
|
|
|
856
857
|
border-collapse: collapse;
|
|
857
858
|
width: 100%;
|
|
858
859
|
table-layout: fixed;
|
|
860
|
+
will-change: transform; /* 🎯 GPU 레이어로 분리하여 렌더링 떨림 방지 */
|
|
861
|
+
transform: translateZ(0); /* 🎯 강제 하드웨어 가속 트리거 */
|
|
859
862
|
}
|
|
860
863
|
|
|
861
864
|
nine-table-sheet th, nine-table-sheet td {
|
|
@@ -916,12 +919,12 @@ const _e = class _e extends HTMLElement {
|
|
|
916
919
|
var e;
|
|
917
920
|
(e = this.querySelector(".nine-tab-bar")) == null || e.addEventListener("click", (s) => {
|
|
918
921
|
var a;
|
|
919
|
-
const
|
|
920
|
-
t(this, kt).call(this, n,
|
|
922
|
+
const i = s.ctrlKey || s.metaKey || s.shiftKey, n = parseInt((a = s.target.closest(".nine-tab-item")) == null ? void 0 : a.dataset.index, 10);
|
|
923
|
+
t(this, kt).call(this, n, i);
|
|
921
924
|
}), t(this, kt).call(this, 0, !1);
|
|
922
925
|
}, "#init"));
|
|
923
926
|
d(this, kt, /* @__PURE__ */ h((e, s = !1) => {
|
|
924
|
-
const
|
|
927
|
+
const i = /* @__PURE__ */ h(() => {
|
|
925
928
|
const f = Array.from(this.querySelectorAll("nine-table-sheet"));
|
|
926
929
|
Array.from(this.querySelectorAll("nine-splitter")).forEach((b) => b.style.setProperty("display", "none"));
|
|
927
930
|
const g = f.filter((b) => b.classList.contains("active"));
|
|
@@ -949,7 +952,7 @@ const _e = class _e extends HTMLElement {
|
|
|
949
952
|
const l = a.querySelectorAll("nine-table-sheet.active");
|
|
950
953
|
l == null || l.forEach((f) => {
|
|
951
954
|
f.style.flex = l.length > 1 ? "1 1 0%" : "1 1 100%";
|
|
952
|
-
}),
|
|
955
|
+
}), i();
|
|
953
956
|
}, "#switchSheet"));
|
|
954
957
|
}
|
|
955
958
|
connectedCallback() {
|
|
@@ -961,24 +964,24 @@ let fe = _e;
|
|
|
961
964
|
customElements.get("nine-table-sheets") || customElements.define("nine-table-sheets", fe);
|
|
962
965
|
var I, Gt, Tt, Jt;
|
|
963
966
|
const Ne = class Ne {
|
|
964
|
-
constructor(
|
|
967
|
+
constructor(r) {
|
|
965
968
|
d(this, I);
|
|
966
969
|
d(this, Gt, /* @__PURE__ */ h(() => {
|
|
967
|
-
t(this, Jt).call(this), new ResizeObserver((
|
|
968
|
-
for (let e of
|
|
970
|
+
t(this, Jt).call(this), new ResizeObserver((r) => {
|
|
971
|
+
for (let e of r)
|
|
969
972
|
t(this, I).getAttribute("auto-height") === "true" && t(this, Tt).call(this);
|
|
970
973
|
}).observe(t(this, I));
|
|
971
974
|
}, "#init"));
|
|
972
975
|
d(this, Tt, /* @__PURE__ */ h(() => {
|
|
973
976
|
var c, l;
|
|
974
|
-
const
|
|
975
|
-
if (
|
|
976
|
-
const e = parseInt(t(this, I).getAttribute("max-display-row"), 10) || 10, s = Math.max(...
|
|
977
|
+
const r = Array.from(t(this, I).shadowRoot.querySelectorAll("nine-table-sheet.active"));
|
|
978
|
+
if (r.length === 0) return;
|
|
979
|
+
const e = parseInt(t(this, I).getAttribute("max-display-row"), 10) || 10, s = Math.max(...r.map((f) => f.getRowHeight())), i = (c = t(this, I).shadowRoot.querySelector("nine-table-header")) == null ? void 0 : c.getBoundingClientRect().height, n = (l = t(this, I).shadowRoot.querySelector("nine-table-sheets-footer")) == null ? void 0 : l.getBoundingClientRect().height, a = It.SCROLLBAR_SIZE, o = e * s + i + n + a;
|
|
977
980
|
t(this, I).style.height = `${o}px`;
|
|
978
981
|
}, "#applyAutoHeight"));
|
|
979
982
|
d(this, Jt, /* @__PURE__ */ h(() => {
|
|
980
|
-
const e = Array.from(t(this, I).children).filter((c) => c.tagName === "TABLE"), s = t(this, I).getAttribute("auto-height") === "true",
|
|
981
|
-
const u = `<nine-table-sheet class="${l === 0 ? "active" : ""}" data-index="${l}"></nine-table-sheet>`, g = l <
|
|
983
|
+
const e = Array.from(t(this, I).children).filter((c) => c.tagName === "TABLE"), s = t(this, I).getAttribute("auto-height") === "true", i = e.length, n = e.map((c, l) => {
|
|
984
|
+
const u = `<nine-table-sheet class="${l === 0 ? "active" : ""}" data-index="${l}"></nine-table-sheet>`, g = l < i - 1 ? `<nine-splitter class="h" data-split-index="${l}"></nine-splitter>` : "";
|
|
982
985
|
return u + g;
|
|
983
986
|
}).join(""), a = e.map((c, l) => `<div class="nine-tab-item ${l === 0 ? "active" : ""}" data-index="${l}">Sheet ${l + 1}</div>`).join("");
|
|
984
987
|
t(this, I).shadowRoot.innerHTML = `
|
|
@@ -1079,32 +1082,32 @@ const Ne = class Ne {
|
|
|
1079
1082
|
});
|
|
1080
1083
|
});
|
|
1081
1084
|
}, "#render"));
|
|
1082
|
-
y(this, I,
|
|
1085
|
+
y(this, I, r), t(this, Gt).call(this);
|
|
1083
1086
|
}
|
|
1084
1087
|
};
|
|
1085
1088
|
I = new WeakMap(), Gt = new WeakMap(), Tt = new WeakMap(), Jt = new WeakMap(), h(Ne, "LayoutManager");
|
|
1086
1089
|
let ue = Ne;
|
|
1087
1090
|
var Ct, dt;
|
|
1088
1091
|
const We = class We {
|
|
1089
|
-
constructor(
|
|
1092
|
+
constructor(r) {
|
|
1090
1093
|
d(this, Ct);
|
|
1091
1094
|
d(this, dt, -1);
|
|
1092
1095
|
E(this, "count", /* @__PURE__ */ h(() => t(this, Ct).rawRecords.length, "count"));
|
|
1093
|
-
y(this, Ct,
|
|
1096
|
+
y(this, Ct, r);
|
|
1094
1097
|
}
|
|
1095
1098
|
get at() {
|
|
1096
1099
|
return t(this, dt);
|
|
1097
1100
|
}
|
|
1098
|
-
set at(
|
|
1099
|
-
y(this, dt, parseInt(
|
|
1101
|
+
set at(r) {
|
|
1102
|
+
y(this, dt, parseInt(r, 10)), body && !body.querySelector(`tbody.bindable tr[data-row="${t(this, dt)}"]`) && setTimeout(() => {
|
|
1100
1103
|
});
|
|
1101
1104
|
}
|
|
1102
1105
|
};
|
|
1103
1106
|
Ct = new WeakMap(), dt = new WeakMap(), h(We, "ngRow");
|
|
1104
1107
|
let ge = We;
|
|
1105
|
-
var _, k, N, ft, Qt, Y, te,
|
|
1108
|
+
var _, k, N, ft, Qt, Y, te, rt, Lt, ee, se, ut;
|
|
1106
1109
|
const O = class O {
|
|
1107
|
-
constructor(
|
|
1110
|
+
constructor(r, e) {
|
|
1108
1111
|
d(this, _);
|
|
1109
1112
|
d(this, k);
|
|
1110
1113
|
d(this, N, []);
|
|
@@ -1113,34 +1116,34 @@ const O = class O {
|
|
|
1113
1116
|
d(this, Y, []);
|
|
1114
1117
|
d(this, te, /* @__PURE__ */ h(() => {
|
|
1115
1118
|
y(this, Y, []);
|
|
1116
|
-
const
|
|
1117
|
-
Array.from(
|
|
1119
|
+
const r = t(this, _).template || [];
|
|
1120
|
+
Array.from(r).forEach((e) => {
|
|
1118
1121
|
var s;
|
|
1119
1122
|
t(this, Y).push(((s = e.getBoundingClientRect) == null ? void 0 : s.call(e).height) || 24);
|
|
1120
1123
|
}), (t(this, k).rawRecords || []).forEach((e) => {
|
|
1121
1124
|
e.__ng || (e.__ng = t(this, Lt).call(this)), e.__ng.height = t(this, Y).slice();
|
|
1122
1125
|
});
|
|
1123
1126
|
}, "#initialize"));
|
|
1124
|
-
d(this,
|
|
1125
|
-
t(this, _).shadowRoot.querySelectorAll("nine-table-sheet").forEach((
|
|
1126
|
-
|
|
1127
|
+
d(this, rt, /* @__PURE__ */ h(() => {
|
|
1128
|
+
t(this, _).shadowRoot.querySelectorAll("nine-table-sheet").forEach((r) => {
|
|
1129
|
+
r.invalidate();
|
|
1127
1130
|
});
|
|
1128
1131
|
}, "#invalidate"));
|
|
1129
|
-
E(this, "get", /* @__PURE__ */ h((
|
|
1132
|
+
E(this, "get", /* @__PURE__ */ h((r, e) => {
|
|
1130
1133
|
var n;
|
|
1131
1134
|
const s = this.getValidData();
|
|
1132
1135
|
if (!s || s.length <= 0) return;
|
|
1133
|
-
if (
|
|
1134
|
-
if (
|
|
1135
|
-
const
|
|
1136
|
+
if (r == null) return t(this, ut).call(this, s);
|
|
1137
|
+
if (r < 0 || r >= s.length) return null;
|
|
1138
|
+
const i = typeof ((n = t(this, _).fields) == null ? void 0 : n.get) == "function" ? t(this, _).fields.get() : [];
|
|
1136
1139
|
if (e != null) {
|
|
1137
|
-
const a =
|
|
1138
|
-
return a >= 0 ? s[
|
|
1140
|
+
const a = i.indexOf(e);
|
|
1141
|
+
return a >= 0 ? s[r].v[a] : null;
|
|
1139
1142
|
}
|
|
1140
|
-
return t(this, ut).call(this, s[
|
|
1143
|
+
return t(this, ut).call(this, s[r]);
|
|
1141
1144
|
}, "get"));
|
|
1142
|
-
E(this, "set", /* @__PURE__ */ h((
|
|
1143
|
-
this.clear(), this.add(
|
|
1145
|
+
E(this, "set", /* @__PURE__ */ h((r) => {
|
|
1146
|
+
this.clear(), this.add(r, !1), t(this, rt).call(this);
|
|
1144
1147
|
}, "set"));
|
|
1145
1148
|
d(this, Lt, /* @__PURE__ */ h(() => ({
|
|
1146
1149
|
rowState: O.ROW_STATE.EMPTY,
|
|
@@ -1152,84 +1155,84 @@ const O = class O {
|
|
|
1152
1155
|
_: [0, 0, 0, 0, O.ROW_STATE.EMPTY, !1, !1, !0, !1, !0, !0, !1, t(this, Y).slice(), -1, {}, {}]
|
|
1153
1156
|
}), "#getDefaultMeta"));
|
|
1154
1157
|
E(this, "reset", /* @__PURE__ */ h(() => {
|
|
1155
|
-
y(this, N, []), y(this, ft, []), t(this,
|
|
1158
|
+
y(this, N, []), y(this, ft, []), t(this, rt).call(this);
|
|
1156
1159
|
}, "reset"));
|
|
1157
1160
|
E(this, "clear", /* @__PURE__ */ h(() => {
|
|
1158
|
-
var i;
|
|
1159
|
-
t(this, k).rawRecords = [], y(this, N, []), y(this, ft, []), (i = t(this, k).viewRecords) != null && i.reset && t(this, k).viewRecords.reset();
|
|
1160
|
-
}, "clear"));
|
|
1161
|
-
d(this, ee, /* @__PURE__ */ h((i) => {
|
|
1162
1161
|
var r;
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1162
|
+
t(this, k).rawRecords = [], y(this, N, []), y(this, ft, []), (r = t(this, k).viewRecords) != null && r.reset && t(this, k).viewRecords.reset();
|
|
1163
|
+
}, "clear"));
|
|
1164
|
+
d(this, ee, /* @__PURE__ */ h((r) => {
|
|
1165
|
+
var i;
|
|
1166
|
+
Array.isArray(r) || (r = [r]);
|
|
1167
|
+
const e = typeof ((i = t(this, _).fields) == null ? void 0 : i.get) == "function" ? t(this, _).fields.get() : Object.keys(r[0] || {}), s = [];
|
|
1168
|
+
return r.forEach((n) => {
|
|
1166
1169
|
const a = { v: [] };
|
|
1167
1170
|
e.forEach((o) => {
|
|
1168
1171
|
a.v.push(n[o] !== void 0 && n[o] !== null ? n[o] : "");
|
|
1169
1172
|
}), s.push(a);
|
|
1170
1173
|
}), s;
|
|
1171
1174
|
}, "#json2Array"));
|
|
1172
|
-
d(this, se, /* @__PURE__ */ h((
|
|
1175
|
+
d(this, se, /* @__PURE__ */ h((r) => (Array.isArray(r) || (r = [r]), r.forEach((e) => {
|
|
1173
1176
|
e.__ng = t(this, Lt).call(this), e.__ng.rowid = this.nextId, e.__ng.rowState = O.ROW_STATE.INSERT, e.__ng._[0] = e.__ng.rowid;
|
|
1174
|
-
}),
|
|
1175
|
-
E(this, "add", /* @__PURE__ */ h((
|
|
1176
|
-
|
|
1177
|
-
const s = t(this, ee).call(this,
|
|
1177
|
+
}), r), "#defaultInsert"));
|
|
1178
|
+
E(this, "add", /* @__PURE__ */ h((r, e = !0) => {
|
|
1179
|
+
r === void 0 && (r = {});
|
|
1180
|
+
const s = t(this, ee).call(this, r);
|
|
1178
1181
|
t(this, k).rawRecords = t(this, k).rawRecords.concat(t(this, se).call(this, s)), this.resetRecords();
|
|
1179
|
-
const
|
|
1182
|
+
const i = this.count() - 1;
|
|
1180
1183
|
return e || s.forEach((n, a) => {
|
|
1181
|
-
const o = t(this, k).rawRecords[
|
|
1184
|
+
const o = t(this, k).rawRecords[i - a];
|
|
1182
1185
|
o && (o.__ng.rowState = O.ROW_STATE.EMPTY);
|
|
1183
|
-
}), t(this,
|
|
1186
|
+
}), t(this, rt).call(this), i;
|
|
1184
1187
|
}, "add"));
|
|
1185
|
-
E(this, "delete", /* @__PURE__ */ h((
|
|
1188
|
+
E(this, "delete", /* @__PURE__ */ h((r) => {
|
|
1186
1189
|
let e = [];
|
|
1187
|
-
Array.isArray(
|
|
1190
|
+
Array.isArray(r) ? e = r : typeof r > "u" ? e = [t(this, k).host.row.at] : e = [parseInt(r, 10)], e.sort((s, i) => i - s).forEach((s) => {
|
|
1188
1191
|
if (t(this, N)[s]) {
|
|
1189
|
-
const
|
|
1190
|
-
t(this, N)[s].__ng.rowState === O.ROW_STATE.INSERT ? t(this, k).rawRecords = t(this, k).rawRecords.filter((n) => n.__ng.rowid !==
|
|
1191
|
-
n.__ng.rowid ===
|
|
1192
|
+
const i = t(this, N)[s].__ng.rowid;
|
|
1193
|
+
t(this, N)[s].__ng.rowState === O.ROW_STATE.INSERT ? t(this, k).rawRecords = t(this, k).rawRecords.filter((n) => n.__ng.rowid !== i) : t(this, k).rawRecords.forEach((n) => {
|
|
1194
|
+
n.__ng.rowid === i && (n.__ng.deleted = !0, n.__ng.rowState = O.ROW_STATE.DELETE);
|
|
1192
1195
|
});
|
|
1193
1196
|
}
|
|
1194
|
-
}), this.resetRecords(), t(this,
|
|
1197
|
+
}), this.resetRecords(), t(this, rt).call(this);
|
|
1195
1198
|
}, "delete"));
|
|
1196
|
-
E(this, "setValue", /* @__PURE__ */ h((
|
|
1199
|
+
E(this, "setValue", /* @__PURE__ */ h((r, e, s) => {
|
|
1197
1200
|
var c;
|
|
1198
|
-
|
|
1201
|
+
r = parseInt(r, 10);
|
|
1199
1202
|
const n = (typeof ((c = t(this, _).fields) == null ? void 0 : c.get) == "function" ? t(this, _).fields.get() : []).indexOf(e);
|
|
1200
1203
|
if (n < 0) return;
|
|
1201
|
-
const a = this.getValidData()[
|
|
1204
|
+
const a = this.getValidData()[r];
|
|
1202
1205
|
if (!a) return;
|
|
1203
1206
|
const o = a.v[n];
|
|
1204
1207
|
o !== s && a.__ng.rowState !== O.ROW_STATE.INSERT && (a.__ng.o.hasOwnProperty(e) || (a.__ng.o[e] = o), a.__ng.rowState = O.ROW_STATE.UPDATE), a.v[n] = s;
|
|
1205
1208
|
}, "setValue"));
|
|
1206
1209
|
E(this, "resetRecords", /* @__PURE__ */ h(() => {
|
|
1207
|
-
y(this, ft, t(this, k).rawRecords.filter((
|
|
1208
|
-
|
|
1209
|
-
}), t(this, N).forEach((
|
|
1210
|
-
|
|
1210
|
+
y(this, ft, t(this, k).rawRecords.filter((r) => !r.__ng.deleted)), y(this, N, t(this, k).rawRecords.filter((r) => !r.__ng.deleted && !r.__ng.filtered)), t(this, k).rawRecords.forEach((r, e) => {
|
|
1211
|
+
r.__ng.rowidx = e;
|
|
1212
|
+
}), t(this, N).forEach((r, e) => {
|
|
1213
|
+
r.__ng.i = e;
|
|
1211
1214
|
});
|
|
1212
1215
|
}, "resetRecords"));
|
|
1213
1216
|
E(this, "getValidData", /* @__PURE__ */ h(() => (t(this, N).length === 0 && t(this, k).rawRecords.length > 0 && this.resetRecords(), t(this, N)), "getValidData"));
|
|
1214
|
-
d(this, ut, /* @__PURE__ */ h((
|
|
1217
|
+
d(this, ut, /* @__PURE__ */ h((r) => {
|
|
1215
1218
|
var a;
|
|
1216
|
-
if (!
|
|
1217
|
-
const e = !Array.isArray(
|
|
1219
|
+
if (!r) return r;
|
|
1220
|
+
const e = !Array.isArray(r), s = e ? [r] : r, i = typeof ((a = t(this, _).fields) == null ? void 0 : a.get) == "function" ? t(this, _).fields.get() : [], n = s.filter((o) => !o.__ng.deleted).map((o) => {
|
|
1218
1221
|
const c = {};
|
|
1219
|
-
return
|
|
1222
|
+
return i.forEach((l, f) => {
|
|
1220
1223
|
c[l] = o.v ? o.v[f] : o[l];
|
|
1221
1224
|
}), c.__ng = o.__ng, c;
|
|
1222
1225
|
});
|
|
1223
1226
|
return e ? n[0] : n;
|
|
1224
1227
|
}, "#conv"));
|
|
1225
1228
|
E(this, "count", /* @__PURE__ */ h(() => this.getValidData().length, "count"));
|
|
1226
|
-
y(this, _,
|
|
1229
|
+
y(this, _, r), y(this, k, e), t(this, te).call(this);
|
|
1227
1230
|
}
|
|
1228
1231
|
get source() {
|
|
1229
1232
|
return t(this, ut).call(this, t(this, k).rawRecords);
|
|
1230
1233
|
}
|
|
1231
|
-
set source(
|
|
1232
|
-
this.clear(), this.add(
|
|
1234
|
+
set source(r) {
|
|
1235
|
+
this.clear(), this.add(r, !1);
|
|
1233
1236
|
}
|
|
1234
1237
|
get nextId() {
|
|
1235
1238
|
return ++Ue(this, Qt)._;
|
|
@@ -1244,7 +1247,7 @@ const O = class O {
|
|
|
1244
1247
|
return this.length;
|
|
1245
1248
|
}
|
|
1246
1249
|
};
|
|
1247
|
-
_ = new WeakMap(), k = new WeakMap(), N = new WeakMap(), ft = new WeakMap(), Qt = new WeakMap(), Y = new WeakMap(), te = new WeakMap(),
|
|
1250
|
+
_ = new WeakMap(), k = new WeakMap(), N = new WeakMap(), ft = new WeakMap(), Qt = new WeakMap(), Y = new WeakMap(), te = new WeakMap(), rt = new WeakMap(), Lt = new WeakMap(), ee = new WeakMap(), se = new WeakMap(), ut = new WeakMap(), h(O, "ngData"), // 🎯 행 상태 정의 상수를 클래스 내부로 내재화
|
|
1248
1251
|
E(O, "ROW_STATE", {
|
|
1249
1252
|
EMPTY: "EMPTY",
|
|
1250
1253
|
NORMAL: "NORMAL",
|
|
@@ -1253,56 +1256,56 @@ E(O, "ROW_STATE", {
|
|
|
1253
1256
|
DELETE: "DELETE"
|
|
1254
1257
|
});
|
|
1255
1258
|
let be = O;
|
|
1256
|
-
var
|
|
1259
|
+
var it;
|
|
1257
1260
|
const Oe = class Oe {
|
|
1258
|
-
constructor(
|
|
1259
|
-
d(this,
|
|
1260
|
-
y(this,
|
|
1261
|
+
constructor(r) {
|
|
1262
|
+
d(this, it);
|
|
1263
|
+
y(this, it, r), this.row = new ge(this), this.data = new be(t(this, it), this), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.pageCnt = 25, this.viewRecords.reset = () => {
|
|
1261
1264
|
var e;
|
|
1262
|
-
(e = t(this,
|
|
1265
|
+
(e = t(this, it).view) != null && e.redraw && t(this, it).view.redraw();
|
|
1263
1266
|
}, this.setDataSource = (e) => {
|
|
1264
1267
|
this.data && this.data.reset(), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.data.set(e || []);
|
|
1265
1268
|
}, this.getRowState = (e) => {
|
|
1266
|
-
var
|
|
1269
|
+
var i, n;
|
|
1267
1270
|
const s = parseInt(e, 10);
|
|
1268
1271
|
if (!(s >= this.data.count()))
|
|
1269
|
-
return (n = (
|
|
1272
|
+
return (n = (i = this.data.getValidData()[s]) == null ? void 0 : i.__ng) == null ? void 0 : n.rowState;
|
|
1270
1273
|
}, this.getRowPosition = () => this.row.at, this.setRowPosition = (e) => {
|
|
1271
1274
|
this.row.at = e;
|
|
1272
|
-
}, this.scrollTo_V1 = (e) => (e < 0 && (e = 0), e >= this.rawRecords.length && (e = this.rawRecords.length - 1), this.viewRecords.rawIndex = e, this.viewRecords.reset && this.viewRecords.reset(), !(e <= 0 || e >= this.rawRecords.length - 1)), this.getColumn = (e, s) => this.data.get(e, s), this.setColumn = (e, s,
|
|
1273
|
-
e = parseInt(e, 10), this.data.setValue(e, s,
|
|
1275
|
+
}, this.scrollTo_V1 = (e) => (e < 0 && (e = 0), e >= this.rawRecords.length && (e = this.rawRecords.length - 1), this.viewRecords.rawIndex = e, this.viewRecords.reset && this.viewRecords.reset(), !(e <= 0 || e >= this.rawRecords.length - 1)), this.getColumn = (e, s) => this.data.get(e, s), this.setColumn = (e, s, i) => {
|
|
1276
|
+
e = parseInt(e, 10), this.data.setValue(e, s, i);
|
|
1274
1277
|
}, this.setDataSource([]);
|
|
1275
1278
|
}
|
|
1276
1279
|
};
|
|
1277
|
-
|
|
1280
|
+
it = new WeakMap(), h(Oe, "ngDataManager");
|
|
1278
1281
|
let ye = Oe;
|
|
1279
|
-
var gt, L, Ht,
|
|
1282
|
+
var gt, L, Ht, re;
|
|
1280
1283
|
const Be = class Be {
|
|
1281
1284
|
// 🎯 이제 { name: string, type: string } 객체들의 배열로 관리합니다.
|
|
1282
|
-
constructor(
|
|
1285
|
+
constructor(r) {
|
|
1283
1286
|
d(this, gt);
|
|
1284
1287
|
d(this, L, []);
|
|
1285
|
-
E(this, "add", /* @__PURE__ */ h((
|
|
1286
|
-
|
|
1287
|
-
t(this, L).some((
|
|
1288
|
+
E(this, "add", /* @__PURE__ */ h((r, e = "string") => {
|
|
1289
|
+
r.forEach((s) => {
|
|
1290
|
+
t(this, L).some((i) => i.name === s) || t(this, L).push({ name: s, type: e });
|
|
1288
1291
|
}), t(this, Ht).call(this);
|
|
1289
1292
|
}, "add"));
|
|
1290
1293
|
d(this, Ht, /* @__PURE__ */ h(() => {
|
|
1291
|
-
const
|
|
1294
|
+
const r = /* @__PURE__ */ new Map();
|
|
1292
1295
|
t(this, L).forEach((e) => {
|
|
1293
|
-
|
|
1294
|
-
}), y(this, L, Array.from(
|
|
1296
|
+
r.set(e.name, e.type);
|
|
1297
|
+
}), y(this, L, Array.from(r, ([e, s]) => ({ name: e, type: s }))), y(this, L, t(this, L).filter((e) => e.name !== "" && e.name !== "__ng")), t(this, L).sort((e, s) => e.name.length < s.name.length ? 1 : -1);
|
|
1295
1298
|
}, "#adjust"));
|
|
1296
|
-
d(this,
|
|
1299
|
+
d(this, re, /* @__PURE__ */ h(() => {
|
|
1297
1300
|
y(this, L, []), H.log(t(this, gt).querySelectorAll("table"));
|
|
1298
|
-
const
|
|
1299
|
-
if (!(!
|
|
1300
|
-
for (const e of
|
|
1301
|
-
H.log(e), $("[data-bind]", e).each((s,
|
|
1302
|
-
const n =
|
|
1301
|
+
const r = Array.from(t(this, gt).querySelectorAll("table"));
|
|
1302
|
+
if (!(!r || r.length === 0)) {
|
|
1303
|
+
for (const e of r)
|
|
1304
|
+
H.log(e), $("[data-bind]", e).each((s, i) => {
|
|
1305
|
+
const n = i.dataset.bind, a = i.getAttribute("data-type") || "string";
|
|
1303
1306
|
n && t(this, L).push({ name: n, type: a });
|
|
1304
1307
|
}), ["data-expr", "background-color", "color", "tooltip", "visible", "readonly", "enable-button", "enable-check", "class-expr", "icon-color", "icon-src"].forEach((s) => {
|
|
1305
|
-
$(`[${s}]`, e).each((
|
|
1308
|
+
$(`[${s}]`, e).each((i, n) => {
|
|
1306
1309
|
var a = n.getAttribute(s);
|
|
1307
1310
|
if (a.indexOf("data.") < 0) {
|
|
1308
1311
|
const o = a.search(/[(]/g);
|
|
@@ -1325,39 +1328,39 @@ const Be = class Be {
|
|
|
1325
1328
|
t(this, Ht).call(this);
|
|
1326
1329
|
}
|
|
1327
1330
|
}, "#init"));
|
|
1328
|
-
y(this, gt,
|
|
1331
|
+
y(this, gt, r), t(this, re).call(this);
|
|
1329
1332
|
}
|
|
1330
1333
|
// 🎯 기존에 필드 이름만 쓰던 곳들과의 호환을 위해 이름 배열만 리턴하는 메서드 유지
|
|
1331
1334
|
get() {
|
|
1332
|
-
return t(this, L).map((
|
|
1335
|
+
return t(this, L).map((r) => r.name);
|
|
1333
1336
|
}
|
|
1334
1337
|
// 🎯 내부 객체 통째로 얻기
|
|
1335
1338
|
getFields() {
|
|
1336
1339
|
return t(this, L);
|
|
1337
1340
|
}
|
|
1338
1341
|
// 🎯 특정 필드의 데이터 타입 조회
|
|
1339
|
-
getType(
|
|
1340
|
-
const e = t(this, L).find((s) => s.name ===
|
|
1342
|
+
getType(r) {
|
|
1343
|
+
const e = t(this, L).find((s) => s.name === r);
|
|
1341
1344
|
return e ? e.type : "string";
|
|
1342
1345
|
}
|
|
1343
|
-
indexOf(
|
|
1344
|
-
return t(this, L).findIndex((e) => e.name ===
|
|
1346
|
+
indexOf(r) {
|
|
1347
|
+
return t(this, L).findIndex((e) => e.name === r);
|
|
1345
1348
|
}
|
|
1346
|
-
includes(
|
|
1347
|
-
return t(this, L).some((e) => e.name ===
|
|
1349
|
+
includes(r) {
|
|
1350
|
+
return t(this, L).some((e) => e.name === r);
|
|
1348
1351
|
}
|
|
1349
1352
|
};
|
|
1350
|
-
gt = new WeakMap(), L = new WeakMap(), Ht = new WeakMap(),
|
|
1353
|
+
gt = new WeakMap(), L = new WeakMap(), Ht = new WeakMap(), re = new WeakMap(), h(Be, "ngFields");
|
|
1351
1354
|
let pe = Be;
|
|
1352
|
-
var nt,
|
|
1355
|
+
var nt, ie, ne;
|
|
1353
1356
|
const ze = class ze extends HTMLElement {
|
|
1354
1357
|
constructor() {
|
|
1355
1358
|
super();
|
|
1356
1359
|
//#created = false;
|
|
1357
1360
|
d(this, nt);
|
|
1358
|
-
d(this,
|
|
1361
|
+
d(this, ie);
|
|
1359
1362
|
d(this, ne, /* @__PURE__ */ h(() => {
|
|
1360
|
-
this.fields = new pe(this), y(this,
|
|
1363
|
+
this.fields = new pe(this), y(this, ie, new ue(this)), H.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } }));
|
|
1361
1364
|
}, "#init"));
|
|
1362
1365
|
this.attachShadow({ mode: "open" }), y(this, nt, new ye(this));
|
|
1363
1366
|
}
|
|
@@ -1380,7 +1383,7 @@ const ze = class ze extends HTMLElement {
|
|
|
1380
1383
|
return t(this, nt);
|
|
1381
1384
|
}
|
|
1382
1385
|
};
|
|
1383
|
-
nt = new WeakMap(),
|
|
1386
|
+
nt = new WeakMap(), ie = new WeakMap(), ne = new WeakMap(), h(ze, "NineTable");
|
|
1384
1387
|
let me = ze;
|
|
1385
1388
|
customElements.get("nine-table") || customElements.define("nine-table", me);
|
|
1386
1389
|
const xt = class xt extends HTMLElement {
|
|
@@ -1397,7 +1400,7 @@ const xt = class xt extends HTMLElement {
|
|
|
1397
1400
|
h(xt, "BasicCellElement"), E(xt, "_styleCache", /* @__PURE__ */ new Map()), E(xt, "_customStyleCache", /* @__PURE__ */ new Map());
|
|
1398
1401
|
let xe = xt;
|
|
1399
1402
|
var T, Mt, p, Re, qe, ke, Te, Ce;
|
|
1400
|
-
const
|
|
1403
|
+
const Pe = class Pe extends xe {
|
|
1401
1404
|
constructor() {
|
|
1402
1405
|
super();
|
|
1403
1406
|
d(this, T);
|
|
@@ -1410,13 +1413,13 @@ const De = class De extends xe {
|
|
|
1410
1413
|
E(this, "getDisplayText", /* @__PURE__ */ h((e) => {
|
|
1411
1414
|
if (t(this, p))
|
|
1412
1415
|
if (t(this, p).closest("tbody")) {
|
|
1413
|
-
const s = t(this, p).closest("tr").data,
|
|
1416
|
+
const s = t(this, p).closest("tr").data, i = parseInt(t(this, p).dataset.row);
|
|
1414
1417
|
if (!s) return "";
|
|
1415
1418
|
if (ninegrid.isNull(t(this, p).dataset.expr)) {
|
|
1416
1419
|
if (!ninegrid.isNull(t(this, p).dataset.bind))
|
|
1417
1420
|
return s[t(this, p).dataset.bind] || ninegrid.nvl(e, "");
|
|
1418
1421
|
} else try {
|
|
1419
|
-
return this.getExprValue(t(this, p).dataset.expr, s,
|
|
1422
|
+
return this.getExprValue(t(this, p).dataset.expr, s, i, t(this, p));
|
|
1420
1423
|
} catch {
|
|
1421
1424
|
console.error(t(this, p).dataset.expr, s, t(this, p).dataset.row);
|
|
1422
1425
|
}
|
|
@@ -1431,14 +1434,14 @@ const De = class De extends xe {
|
|
|
1431
1434
|
if (!(!t(this, T) || !t(this, T).template || !t(this, p).closest("tbody.bindable"))) {
|
|
1432
1435
|
var e = ninegrid.j.querySelectorAll(t(this, p)).attr("suppress");
|
|
1433
1436
|
if (e && (e = parseInt(e)), e && !isNaN(e)) {
|
|
1434
|
-
var s = t(this, p).closest("tr"),
|
|
1437
|
+
var s = t(this, p).closest("tr"), i = [];
|
|
1435
1438
|
$("th,td", s).each((m, W) => {
|
|
1436
1439
|
var C = ninegrid.j.querySelectorAll(W).attr("suppress");
|
|
1437
|
-
C && W.dataset.row && (C = parseInt(C), !isNaN(C) && C <= e &&
|
|
1438
|
-
}),
|
|
1440
|
+
C && W.dataset.row && (C = parseInt(C), !isNaN(C) && C <= e && i.push(C));
|
|
1441
|
+
}), i.sort();
|
|
1439
1442
|
var n = !1;
|
|
1440
1443
|
if (parseInt(s.sectionRowIndex / t(this, T).template.length) > 0)
|
|
1441
|
-
for (var a of
|
|
1444
|
+
for (var a of i) {
|
|
1442
1445
|
if (a > e) break;
|
|
1443
1446
|
var o = parseInt(t(this, p).dataset.row), c = o - 1, l = t(this, p).closest("tr").data, f = t(this, T).data.get(c);
|
|
1444
1447
|
t(this, p).dataset.matrixRow;
|
|
@@ -1456,12 +1459,12 @@ const De = class De extends xe {
|
|
|
1456
1459
|
}
|
|
1457
1460
|
}
|
|
1458
1461
|
}, "#resetSuppress"));
|
|
1459
|
-
E(this, "getExprValue", /* @__PURE__ */ h((e, s,
|
|
1462
|
+
E(this, "getExprValue", /* @__PURE__ */ h((e, s, i, n) => {
|
|
1460
1463
|
if (typeof e < "u")
|
|
1461
1464
|
try {
|
|
1462
|
-
|
|
1465
|
+
i = parseInt(i);
|
|
1463
1466
|
const a = e.replace("()", "");
|
|
1464
|
-
return t(this, T)[a] ? t(this, T)[a].call(this, s,
|
|
1467
|
+
return t(this, T)[a] ? t(this, T)[a].call(this, s, i, t(this, p)) : t(this, T).exprFunction(e).call(this, s, i, t(this, T).data);
|
|
1465
1468
|
} catch {
|
|
1466
1469
|
return ["NG-COMBO"].includes(this.tagName) ? "" : e;
|
|
1467
1470
|
}
|
|
@@ -1478,8 +1481,8 @@ const De = class De extends xe {
|
|
|
1478
1481
|
}
|
|
1479
1482
|
set value(e) {
|
|
1480
1483
|
var s = parseInt(t(this, p).dataset.row);
|
|
1481
|
-
const
|
|
1482
|
-
s < 0 ? t(this, T).data.setValueNF(parseInt(t(this, p).dataset.index), t(this, p).dataset.bind, e,
|
|
1484
|
+
const i = this.getAttribute("update-row-state") != "false";
|
|
1485
|
+
s < 0 ? t(this, T).data.setValueNF(parseInt(t(this, p).dataset.index), t(this, p).dataset.bind, e, i) : t(this, T).data.setValue(s, t(this, p).dataset.bind, e, i);
|
|
1483
1486
|
}
|
|
1484
1487
|
get row() {
|
|
1485
1488
|
return parseInt(t(this, p).dataset.row);
|
|
@@ -1492,9 +1495,9 @@ const De = class De extends xe {
|
|
|
1492
1495
|
return parseInt(t(this, p).dataset.row), t(this, Mt).data[e];
|
|
1493
1496
|
}
|
|
1494
1497
|
};
|
|
1495
|
-
T = new WeakMap(), Mt = new WeakMap(), p = new WeakMap(), Re = new WeakMap(), qe = new WeakMap(), ke = new WeakMap(), Te = new WeakMap(), Ce = new WeakMap(), h(
|
|
1496
|
-
let ve =
|
|
1497
|
-
const
|
|
1498
|
+
T = new WeakMap(), Mt = new WeakMap(), p = new WeakMap(), Re = new WeakMap(), qe = new WeakMap(), ke = new WeakMap(), Te = new WeakMap(), Ce = new WeakMap(), h(Pe, "CellElement");
|
|
1499
|
+
let ve = Pe;
|
|
1500
|
+
const De = class De extends ve {
|
|
1498
1501
|
constructor() {
|
|
1499
1502
|
super();
|
|
1500
1503
|
}
|
|
@@ -1505,8 +1508,8 @@ const Pe = class Pe extends ve {
|
|
|
1505
1508
|
return super.refresh();
|
|
1506
1509
|
}
|
|
1507
1510
|
};
|
|
1508
|
-
h(
|
|
1509
|
-
let we =
|
|
1511
|
+
h(De, "EditableCellElement");
|
|
1512
|
+
let we = De;
|
|
1510
1513
|
var $t, ot, bt, yt, oe, U, Le;
|
|
1511
1514
|
const je = class je extends we {
|
|
1512
1515
|
constructor() {
|
|
@@ -1556,9 +1559,9 @@ const je = class je extends we {
|
|
|
1556
1559
|
if (t(this, ot) == "number") {
|
|
1557
1560
|
let n = [];
|
|
1558
1561
|
if (t(this, U) && Number(t(this, U)) > 0 && n.push("."), t(this, yt) && Number(t(this, yt)) >= 0 && n.push("-"), !(e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105) && !n.includes(e.key) && e.preventDefault(), t(this, U) && (e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105) && e.target.selectionStart == e.target.selectionEnd) {
|
|
1559
|
-
var s = e.target.value,
|
|
1560
|
-
if (
|
|
1561
|
-
var s = s.substr(
|
|
1562
|
+
var s = e.target.value, i = s.indexOf(".");
|
|
1563
|
+
if (i >= 0) {
|
|
1564
|
+
var s = s.substr(i + 1, s.length);
|
|
1562
1565
|
s.length >= Number(t(this, U)) && e.preventDefault();
|
|
1563
1566
|
}
|
|
1564
1567
|
}
|