@ninebone/table 0.0.788 → 0.0.790
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 +329 -330
- package/dist/nine-table.js.map +1 -1
- package/dist/nine-table.umd.js +6 -6
- package/dist/nine-table.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/nine-table.js
CHANGED
|
@@ -3,9 +3,9 @@ var ms = (C) => {
|
|
|
3
3
|
throw TypeError(C);
|
|
4
4
|
};
|
|
5
5
|
var Ss = (C, n, e) => n in C ? ys(C, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : C[n] = e;
|
|
6
|
-
var
|
|
6
|
+
var h = (C, n) => ys(C, "name", { value: n, configurable: !0 });
|
|
7
7
|
var q = (C, n, e) => Ss(C, typeof n != "symbol" ? n + "" : n, e), Ee = (C, n, e) => n.has(C) || ms("Cannot " + e);
|
|
8
|
-
var t = (C, n, e) => (Ee(C, n, "read from private field"), e ? e.call(C) : n.get(C)),
|
|
8
|
+
var t = (C, n, e) => (Ee(C, n, "read from private field"), e ? e.call(C) : n.get(C)), d = (C, n, e) => n.has(C) ? ms("Cannot add the same private member more than once") : n instanceof WeakSet ? n.add(C) : n.set(C, e), y = (C, n, e, s) => (Ee(C, n, "write to private field"), s ? s.call(C, e) : n.set(C, e), e), V = (C, n, e) => (Ee(C, n, "access private method"), e);
|
|
9
9
|
var xs = (C, n, e, s) => ({
|
|
10
10
|
set _(r) {
|
|
11
11
|
y(C, n, r, e);
|
|
@@ -20,27 +20,27 @@ const ts = class ts extends Rs.constructor {
|
|
|
20
20
|
super(), this.init("nine-table", "green");
|
|
21
21
|
}
|
|
22
22
|
};
|
|
23
|
-
|
|
23
|
+
h(ts, "Trace");
|
|
24
24
|
let qe = ts;
|
|
25
25
|
const S = new qe();
|
|
26
26
|
var j, G, E, tt, et, st, Jt, nt, Qt;
|
|
27
27
|
const es = class es extends HTMLElement {
|
|
28
28
|
constructor() {
|
|
29
29
|
super();
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
30
|
+
d(this, j);
|
|
31
|
+
d(this, G, !1);
|
|
32
|
+
d(this, E);
|
|
33
|
+
d(this, tt);
|
|
34
|
+
d(this, et);
|
|
35
|
+
d(this, st);
|
|
36
|
+
d(this, Jt, /* @__PURE__ */ h(() => {
|
|
37
37
|
if (!t(this, j)) return;
|
|
38
38
|
const e = t(this, j).querySelector(".ng-container-body .ng-part-body");
|
|
39
39
|
e && (y(this, st, new ResizeObserver(() => {
|
|
40
40
|
this.refresh();
|
|
41
41
|
})), t(this, st).observe(e));
|
|
42
42
|
}, "#observeResize"));
|
|
43
|
-
q(this, "refresh", /* @__PURE__ */
|
|
43
|
+
q(this, "refresh", /* @__PURE__ */ h(() => {
|
|
44
44
|
if (!t(this, j) || !t(this, E) || t(this, G)) return;
|
|
45
45
|
const e = t(this, E).container, s = e.querySelector("table");
|
|
46
46
|
if (!s) return;
|
|
@@ -53,15 +53,15 @@ const es = class es extends HTMLElement {
|
|
|
53
53
|
}
|
|
54
54
|
const l = r.clientWidth;
|
|
55
55
|
if (l <= 0) return;
|
|
56
|
-
const
|
|
57
|
-
i.style.width = `${
|
|
58
|
-
const
|
|
59
|
-
let
|
|
60
|
-
b > 0 && (
|
|
61
|
-
const p = l -
|
|
62
|
-
|
|
56
|
+
const g = Math.max(Math.min(l * (a / c), l), 20);
|
|
57
|
+
i.style.width = `${g}px`;
|
|
58
|
+
const f = e.scrollLeft, b = c - a;
|
|
59
|
+
let u = 0;
|
|
60
|
+
b > 0 && (u = parseInt(f / b * (l - g), 10)), u < 0 && (u = 0);
|
|
61
|
+
const p = l - g;
|
|
62
|
+
u > p && (u = p), i.style.left = `${u}px`, t(this, E).left.disabled = u === 0, t(this, E).right.disabled = u >= p - 1;
|
|
63
63
|
}, "refresh"));
|
|
64
|
-
|
|
64
|
+
d(this, nt, /* @__PURE__ */ h((e) => {
|
|
65
65
|
if (!t(this, E)) return !1;
|
|
66
66
|
const s = t(this, E).container, r = s.querySelector("table");
|
|
67
67
|
if (!r) return !1;
|
|
@@ -70,11 +70,11 @@ const es = class es extends HTMLElement {
|
|
|
70
70
|
a < 0 && (a = 0);
|
|
71
71
|
const c = i.width - o;
|
|
72
72
|
a > c && (a = c), a = parseInt(a, 10), t(this, E).thumb.style.left = `${a}px`, t(this, E).left.disabled = a === 0, t(this, E).right.disabled = a >= c - 1;
|
|
73
|
-
const l = s.clientWidth,
|
|
74
|
-
return c > 0 &&
|
|
73
|
+
const l = s.clientWidth, f = r.scrollWidth - l;
|
|
74
|
+
return c > 0 && f > 0 && (s.scrollLeft = a / c * f), a > 0 && a < c - 1;
|
|
75
75
|
}, "#thumbMoveTo"));
|
|
76
|
-
|
|
77
|
-
const e = /* @__PURE__ */
|
|
76
|
+
d(this, Qt, /* @__PURE__ */ h(() => {
|
|
77
|
+
const e = /* @__PURE__ */ h((r) => {
|
|
78
78
|
clearInterval(t(this, tt)), clearInterval(t(this, et));
|
|
79
79
|
const i = parseInt(t(this, E).thumb.style.left || 0, 10);
|
|
80
80
|
t(this, nt).call(this, i + r), y(this, tt, setInterval(() => {
|
|
@@ -83,7 +83,7 @@ const es = class es extends HTMLElement {
|
|
|
83
83
|
t(this, nt).call(this, o + r) || clearInterval(t(this, et));
|
|
84
84
|
}, 50));
|
|
85
85
|
}, 500));
|
|
86
|
-
}, "delayScroll"), s = /* @__PURE__ */
|
|
86
|
+
}, "delayScroll"), s = /* @__PURE__ */ h(() => {
|
|
87
87
|
clearInterval(t(this, tt)), clearInterval(t(this, et));
|
|
88
88
|
}, "clearTimer");
|
|
89
89
|
["mouseup", "mouseleave", "touchend"].forEach((r) => {
|
|
@@ -100,11 +100,11 @@ const es = class es extends HTMLElement {
|
|
|
100
100
|
}), t(this, E).thumb.addEventListener("mousedown", (r) => {
|
|
101
101
|
if (r.button !== 0) return;
|
|
102
102
|
r.stopPropagation(), r.preventDefault(), y(this, G, !0), this.shiftX = r.clientX - t(this, E).thumb.getBoundingClientRect().left;
|
|
103
|
-
const i = /* @__PURE__ */
|
|
103
|
+
const i = /* @__PURE__ */ h((a) => {
|
|
104
104
|
if (!t(this, G)) return;
|
|
105
105
|
const c = t(this, E).track.getBoundingClientRect();
|
|
106
106
|
t(this, nt).call(this, a.clientX - c.left - this.shiftX);
|
|
107
|
-
}, "onMouseMove"), o = /* @__PURE__ */
|
|
107
|
+
}, "onMouseMove"), o = /* @__PURE__ */ h(() => {
|
|
108
108
|
y(this, G, !1), s(), document.removeEventListener("mousemove", i), document.removeEventListener("mouseup", o), this.refresh();
|
|
109
109
|
}, "onMouseUp");
|
|
110
110
|
document.addEventListener("mousemove", i), document.addEventListener("mouseup", o);
|
|
@@ -176,7 +176,7 @@ const es = class es extends HTMLElement {
|
|
|
176
176
|
<div class='ng-scroll-track'><div class='ng-scroll-thumb'></div></div>
|
|
177
177
|
<button class='ng-scroll-right' disabled><div class='ng-scroll-icon'></div></button>
|
|
178
178
|
`;
|
|
179
|
-
const e = /* @__PURE__ */
|
|
179
|
+
const e = /* @__PURE__ */ h(() => {
|
|
180
180
|
const s = t(this, j).querySelector(".ng-container-body .ng-part-body");
|
|
181
181
|
if (!s) {
|
|
182
182
|
setTimeout(e, 10);
|
|
@@ -198,20 +198,20 @@ const es = class es extends HTMLElement {
|
|
|
198
198
|
t(this, st) && t(this, st).disconnect();
|
|
199
199
|
}
|
|
200
200
|
};
|
|
201
|
-
j = new WeakMap(), G = new WeakMap(), E = new WeakMap(), tt = new WeakMap(), et = new WeakMap(), st = new WeakMap(), Jt = new WeakMap(), nt = new WeakMap(), Qt = new WeakMap(),
|
|
201
|
+
j = new WeakMap(), G = new WeakMap(), E = new WeakMap(), tt = new WeakMap(), et = new WeakMap(), st = new WeakMap(), Jt = new WeakMap(), nt = new WeakMap(), Qt = new WeakMap(), h(es, "NineTableHScrollBar");
|
|
202
202
|
let Ce = es;
|
|
203
203
|
customElements.get("nine-table-hscrollbar") || customElements.define("nine-table-hscrollbar", Ce);
|
|
204
204
|
var rt, ot, yt, k, kt, It, te;
|
|
205
205
|
const ss = class ss extends HTMLElement {
|
|
206
206
|
constructor() {
|
|
207
207
|
super();
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
q(this, "refresh", /* @__PURE__ */
|
|
208
|
+
d(this, rt);
|
|
209
|
+
d(this, ot);
|
|
210
|
+
d(this, yt, !1);
|
|
211
|
+
d(this, k);
|
|
212
|
+
d(this, kt, 0);
|
|
213
|
+
d(this, It, 0);
|
|
214
|
+
q(this, "refresh", /* @__PURE__ */ h(() => {
|
|
215
215
|
if (S.log("vscrollbar.refresh"), !t(this, rt) || !t(this, k)) return;
|
|
216
216
|
const e = t(this, k).container, s = t(this, k).track, r = t(this, k).thumb, i = e.clientHeight, o = t(this, rt).data.length, a = t(this, ot).getRowHeight(), c = o * a;
|
|
217
217
|
if (c <= i || o === 0) {
|
|
@@ -221,44 +221,44 @@ const ss = class ss extends HTMLElement {
|
|
|
221
221
|
this.style.display = "flex";
|
|
222
222
|
const l = s.clientHeight;
|
|
223
223
|
if (l <= 0) return;
|
|
224
|
-
const
|
|
225
|
-
r.style.height = `${
|
|
226
|
-
const
|
|
227
|
-
S.log(e,
|
|
228
|
-
let
|
|
229
|
-
b > 0 && (
|
|
230
|
-
const p = l -
|
|
231
|
-
|
|
224
|
+
const g = Math.max(Math.min(l * (i / c), l), 20);
|
|
225
|
+
r.style.height = `${g}px`;
|
|
226
|
+
const f = e.scrollTop, b = Math.max(c - i, 1);
|
|
227
|
+
S.log(e, f, b);
|
|
228
|
+
let u = 0;
|
|
229
|
+
b > 0 && (u = f / b * (l - g));
|
|
230
|
+
const p = l - g;
|
|
231
|
+
u < 0 && (u = 0), u > p && (u = p), r.style.top = `${u}px`, t(this, k).top.disabled = f <= 0, t(this, k).bottom.disabled = f >= b - 1;
|
|
232
232
|
}, "refresh"));
|
|
233
|
-
|
|
233
|
+
d(this, te, /* @__PURE__ */ h(() => {
|
|
234
234
|
S.log("nine-table-vscrollbar.#init");
|
|
235
|
-
const e = t(this, k).container, s = /* @__PURE__ */
|
|
235
|
+
const e = t(this, k).container, s = /* @__PURE__ */ h(() => {
|
|
236
236
|
const i = (t(this, rt).data.get() || []).length, o = t(this, ot).getRowHeight();
|
|
237
237
|
return i * o;
|
|
238
238
|
}, "getContentHeight");
|
|
239
239
|
t(this, k).thumb.addEventListener("mousedown", (r) => {
|
|
240
240
|
if (r.button !== 0) return;
|
|
241
241
|
r.stopPropagation(), r.preventDefault(), y(this, yt, !0), y(this, kt, r.clientY), y(this, It, e.scrollTop);
|
|
242
|
-
const i = /* @__PURE__ */
|
|
242
|
+
const i = /* @__PURE__ */ h((a) => {
|
|
243
243
|
if (!t(this, yt)) return;
|
|
244
|
-
const c = t(this, k).track.getBoundingClientRect(), l = t(this, k).thumb.clientHeight,
|
|
245
|
-
if (
|
|
246
|
-
const w = b /
|
|
244
|
+
const c = t(this, k).track.getBoundingClientRect(), l = t(this, k).thumb.clientHeight, f = c.height - l, b = a.clientY - t(this, kt), u = e.clientHeight, p = s(), x = Math.max(p - u, 1);
|
|
245
|
+
if (f > 0 && x > 0) {
|
|
246
|
+
const w = b / f * x;
|
|
247
247
|
let m = t(this, It) + w;
|
|
248
|
-
const T = Math.max(0, p -
|
|
248
|
+
const T = Math.max(0, p - u);
|
|
249
249
|
m < 0 && (m = 0), m > T && (m = T), e.scrollTop = m;
|
|
250
250
|
}
|
|
251
251
|
this.refresh();
|
|
252
|
-
}, "onMouseMove"), o = /* @__PURE__ */
|
|
252
|
+
}, "onMouseMove"), o = /* @__PURE__ */ h(() => {
|
|
253
253
|
y(this, yt, !1), document.removeEventListener("mousemove", i), document.removeEventListener("mouseup", o), this.refresh();
|
|
254
254
|
}, "onMouseUp");
|
|
255
255
|
document.addEventListener("mousemove", i), document.addEventListener("mouseup", o);
|
|
256
256
|
}), t(this, k).track.addEventListener("mousedown", (r) => {
|
|
257
257
|
if (r.button !== 0 || r.target === t(this, k).thumb) return;
|
|
258
|
-
const i = t(this, k).track.getBoundingClientRect(), o = t(this, k).thumb.clientHeight, a = r.clientY - i.top - o / 2, l = i.height - o,
|
|
258
|
+
const i = t(this, k).track.getBoundingClientRect(), o = t(this, k).thumb.clientHeight, a = r.clientY - i.top - o / 2, l = i.height - o, g = e.clientHeight, f = s(), b = Math.max(f - g, 1);
|
|
259
259
|
if (l > 0 && b > 0) {
|
|
260
|
-
const
|
|
261
|
-
e.scrollTop =
|
|
260
|
+
const u = Math.max(0, Math.min(1, a / l));
|
|
261
|
+
e.scrollTop = u * b;
|
|
262
262
|
}
|
|
263
263
|
this.refresh();
|
|
264
264
|
}), t(this, k).top.addEventListener("click", () => {
|
|
@@ -333,7 +333,7 @@ const ss = class ss extends HTMLElement {
|
|
|
333
333
|
<div class='ng-scroll-track'><div class='ng-scroll-thumb'></div></div>
|
|
334
334
|
<button class='ng-scroll-bottom' disabled><div class='ng-scroll-icon'></div></button>
|
|
335
335
|
`;
|
|
336
|
-
const e = /* @__PURE__ */
|
|
336
|
+
const e = /* @__PURE__ */ h(() => {
|
|
337
337
|
const s = t(this, ot).querySelector(".ng-container-body .ng-part-body");
|
|
338
338
|
if (!s) {
|
|
339
339
|
setTimeout(e, 10);
|
|
@@ -350,31 +350,31 @@ const ss = class ss extends HTMLElement {
|
|
|
350
350
|
e();
|
|
351
351
|
}
|
|
352
352
|
};
|
|
353
|
-
rt = new WeakMap(), ot = new WeakMap(), yt = new WeakMap(), k = new WeakMap(), kt = new WeakMap(), It = new WeakMap(), te = new WeakMap(),
|
|
353
|
+
rt = new WeakMap(), ot = new WeakMap(), yt = new WeakMap(), k = new WeakMap(), kt = new WeakMap(), It = new WeakMap(), te = new WeakMap(), h(ss, "NineTableVScrollBar");
|
|
354
354
|
let Te = ss;
|
|
355
355
|
customElements.get("nine-table-vscrollbar") || customElements.define("nine-table-vscrollbar", Te);
|
|
356
356
|
var U, A, it, Y, O, Z, at, Lt, Ye, Ve, ee, se, Mt, Ht, $t, ne, re, Nt, Ue, mt, _t, oe;
|
|
357
357
|
const ns = class ns {
|
|
358
358
|
constructor(n) {
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
359
|
+
d(this, U);
|
|
360
|
+
d(this, A);
|
|
361
|
+
d(this, it);
|
|
362
|
+
d(this, Y, /* @__PURE__ */ new Map());
|
|
363
|
+
d(this, O, null);
|
|
364
|
+
d(this, Z, null);
|
|
365
|
+
d(this, at, 0);
|
|
366
|
+
d(this, Lt, 40);
|
|
367
|
+
d(this, Ye, !1);
|
|
368
|
+
d(this, Ve, !1);
|
|
369
369
|
//#ticking = false; // 🎯 고속 스크롤 스로틀링용 플래그
|
|
370
|
-
|
|
371
|
-
q(this, "refresh", /* @__PURE__ */
|
|
370
|
+
d(this, ee, 3);
|
|
371
|
+
q(this, "refresh", /* @__PURE__ */ h(() => {
|
|
372
372
|
var e;
|
|
373
373
|
S.log("rowManager.refresh");
|
|
374
374
|
const n = t(this, A).querySelector(".ng-container-body .ng-part-body");
|
|
375
375
|
n && (t(this, Mt).call(this), t(this, Ht).call(this), t(this, mt).call(this, n.scrollTop), (e = t(this, A).querySelector("nine-table-vscrollbar")) == null || e.refresh());
|
|
376
376
|
}, "refresh"));
|
|
377
|
-
q(this, "initialize", /* @__PURE__ */
|
|
377
|
+
q(this, "initialize", /* @__PURE__ */ h(() => {
|
|
378
378
|
S.log("rowManager.initialize"), y(this, it, {
|
|
379
379
|
scrollTables: t(this, A).querySelectorAll(".ng-part-body table"),
|
|
380
380
|
firstTr: t(this, A).querySelector(".ng-container-body .ng-part-body tbody.bindable-tbody tr:not(.nodata)")
|
|
@@ -385,30 +385,29 @@ const ns = class ns {
|
|
|
385
385
|
if (!c) return;
|
|
386
386
|
const l = c.querySelector("tbody.bindable-tbody");
|
|
387
387
|
if (!l) return;
|
|
388
|
-
const
|
|
389
|
-
t(this, Y).set(o,
|
|
388
|
+
const f = Array.from(l.querySelectorAll("tr")).map((b) => b.cloneNode(!0));
|
|
389
|
+
t(this, Y).set(o, f);
|
|
390
390
|
});
|
|
391
391
|
const n = t(this, A).querySelector(".ng-container-body .ng-part-body"), e = t(this, A).querySelector(".ng-container-left .ng-part-body"), s = t(this, A).querySelector(".ng-container-right .ng-part-body"), r = t(this, A).querySelector(".ng-container-body .ng-part-header"), i = t(this, A).querySelector(".ng-container-body .ng-part-footer");
|
|
392
392
|
if (n) {
|
|
393
393
|
t(this, Mt).call(this), t(this, Nt).call(this), t(this, Ht).call(this), t(this, mt).call(this, n.scrollTop);
|
|
394
394
|
let o = !1;
|
|
395
|
-
n.scrollTop;
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
var g;
|
|
395
|
+
n.scrollTop, n.scrollLeft;
|
|
396
|
+
const a = /* @__PURE__ */ h((c) => {
|
|
397
|
+
var f;
|
|
399
398
|
if (o) return;
|
|
400
399
|
o = !0;
|
|
401
|
-
const
|
|
402
|
-
|
|
400
|
+
const l = c.scrollTop, g = c.scrollLeft;
|
|
401
|
+
n && n.scrollTop !== l && (n.scrollTop = l), e && e.scrollTop !== l && (e.scrollTop = l), s && s.scrollTop !== l && (s.scrollTop = l), r && r.scrollLeft !== g && (r.scrollLeft = g), i && i.scrollLeft !== g && (i.scrollLeft = g), t(this, mt).call(this, l), (f = t(this, A).querySelector("nine-table-vscrollbar")) == null || f.refresh(), o = !1;
|
|
403
402
|
}, "handleContainerScroll");
|
|
404
|
-
[n, e, s].forEach((
|
|
405
|
-
|
|
406
|
-
S.log(
|
|
403
|
+
[n, e, s].forEach((c) => {
|
|
404
|
+
c == null || c.addEventListener("scroll", (l) => {
|
|
405
|
+
S.log(l), S.log("rowManager.scroll event"), a(c);
|
|
407
406
|
});
|
|
408
407
|
});
|
|
409
408
|
}
|
|
410
409
|
}, "initialize"));
|
|
411
|
-
|
|
410
|
+
d(this, se, /* @__PURE__ */ h((n, e) => {
|
|
412
411
|
S.log("rowManager.#renderRows");
|
|
413
412
|
const s = t(this, Y).get(e);
|
|
414
413
|
if (!s || s.length === 0) return;
|
|
@@ -422,7 +421,7 @@ const ns = class ns {
|
|
|
422
421
|
});
|
|
423
422
|
i ? i.before(o) : r.appendChild(o), e === ".ng-container-body" && (t(this, it).firstTr = r.querySelector("tr:not(.nodata)"));
|
|
424
423
|
}, "#renderRows"));
|
|
425
|
-
|
|
424
|
+
d(this, Mt, /* @__PURE__ */ h(() => {
|
|
426
425
|
if (t(this, O) !== null && t(this, O) > 0)
|
|
427
426
|
return t(this, O);
|
|
428
427
|
const n = t(this, A).querySelector(".ng-container-body .ng-part-body");
|
|
@@ -438,18 +437,18 @@ const ns = class ns {
|
|
|
438
437
|
}), r ? r.before(i) : s.appendChild(i);
|
|
439
438
|
const o = t(this, A), a = o.style.display, c = o.style.visibility, l = o.style.position;
|
|
440
439
|
(a === "none" || window.getComputedStyle(o).display === "none") && (o.style.display = "block", o.style.visibility = "hidden", o.style.position = "absolute");
|
|
441
|
-
let
|
|
442
|
-
const
|
|
443
|
-
return
|
|
444
|
-
let
|
|
445
|
-
if (
|
|
440
|
+
let g = 0;
|
|
441
|
+
const f = s.querySelectorAll("tr");
|
|
442
|
+
return f.forEach((b) => {
|
|
443
|
+
let u = b.offsetHeight || b.getBoundingClientRect().height;
|
|
444
|
+
if (u === 0) {
|
|
446
445
|
const p = window.getComputedStyle(b);
|
|
447
|
-
|
|
446
|
+
u = parseFloat(p.height) || parseFloat(p.minHeight) || 0;
|
|
448
447
|
}
|
|
449
|
-
|
|
450
|
-
}),
|
|
448
|
+
g += u;
|
|
449
|
+
}), f.forEach((b) => b.remove()), o.style.display = a, o.style.visibility = c, o.style.position = l, g <= 0 ? -1 : (y(this, O, g), t(this, $t).call(this), t(this, O));
|
|
451
450
|
}, "#measureAndCacheHeight"));
|
|
452
|
-
|
|
451
|
+
d(this, Ht, /* @__PURE__ */ h(() => {
|
|
453
452
|
S.log("rowManager.#updateVirtualScrollHeight");
|
|
454
453
|
const e = (t(this, U).data.get() || []).length, s = t(this, O), r = e * s;
|
|
455
454
|
S.log("🔍 [VirtualHeight]", { totalCount: e, rowHeight: s, totalVirtualHeight: r }), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((i) => {
|
|
@@ -459,40 +458,40 @@ const ns = class ns {
|
|
|
459
458
|
a && (a.style.height = `${r}px`);
|
|
460
459
|
});
|
|
461
460
|
}, "#updateVirtualScrollHeight"));
|
|
462
|
-
|
|
461
|
+
d(this, $t, /* @__PURE__ */ h(() => {
|
|
463
462
|
if (t(this, at) > 0 && t(this, O) > 0) {
|
|
464
463
|
const n = Math.ceil(t(this, at) / t(this, O));
|
|
465
464
|
y(this, Lt, n + t(this, ee));
|
|
466
465
|
}
|
|
467
466
|
}, "#updateRowCount"));
|
|
468
|
-
|
|
469
|
-
var a, c, l,
|
|
467
|
+
d(this, ne, /* @__PURE__ */ h(() => {
|
|
468
|
+
var a, c, l, g, f, b;
|
|
470
469
|
const n = t(this, A).querySelector(".ng-container-left .ng-part-body table"), e = t(this, A).querySelector(".ng-container-body .ng-part-body table"), s = t(this, A).querySelector(".ng-container-right .ng-part-body table");
|
|
471
470
|
if (e) {
|
|
472
|
-
const
|
|
471
|
+
const u = n ? Array.from(n.querySelectorAll("tbody tr")) : [], p = Array.from(e.querySelectorAll("tbody tr")), x = s ? Array.from(s.querySelectorAll("tbody tr")) : [], w = Math.max(u.length, p.length, x.length);
|
|
473
472
|
for (let m = 0; m < w; m++) {
|
|
474
473
|
const T = [
|
|
475
|
-
((a =
|
|
474
|
+
((a = u[m]) == null ? void 0 : a.getBoundingClientRect().height) || 0,
|
|
476
475
|
((c = p[m]) == null ? void 0 : c.getBoundingClientRect().height) || 0,
|
|
477
476
|
((l = x[m]) == null ? void 0 : l.getBoundingClientRect().height) || 0
|
|
478
477
|
], R = Math.max(...T);
|
|
479
|
-
R > 0 && (
|
|
478
|
+
R > 0 && (u[m] && (u[m].style.height = `${R}px`), p[m] && (p[m].style.height = `${R}px`), x[m] && (x[m].style.height = `${R}px`));
|
|
480
479
|
}
|
|
481
480
|
}
|
|
482
481
|
const r = t(this, A).querySelector(".ng-container-left .ng-part-footer table"), i = t(this, A).querySelector(".ng-container-body .ng-part-footer table"), o = t(this, A).querySelector(".ng-container-right .ng-part-footer table");
|
|
483
482
|
if (i) {
|
|
484
|
-
const
|
|
483
|
+
const u = r ? Array.from(r.querySelectorAll("tfoot tr")) : [], p = Array.from(i.querySelectorAll("tfoot tr")), x = o ? Array.from(o.querySelectorAll("tfoot tr")) : [], w = Math.max(u.length, p.length, x.length);
|
|
485
484
|
for (let m = 0; m < w; m++) {
|
|
486
485
|
const T = [
|
|
487
|
-
((
|
|
488
|
-
((
|
|
486
|
+
((g = u[m]) == null ? void 0 : g.getBoundingClientRect().height) || 0,
|
|
487
|
+
((f = p[m]) == null ? void 0 : f.getBoundingClientRect().height) || 0,
|
|
489
488
|
((b = x[m]) == null ? void 0 : b.getBoundingClientRect().height) || 0
|
|
490
489
|
], R = Math.max(...T);
|
|
491
|
-
R > 0 && (
|
|
490
|
+
R > 0 && (u[m] && (u[m].style.height = `${R}px`), p[m] && (p[m].style.height = `${R}px`), x[m] && (x[m].style.height = `${R}px`));
|
|
492
491
|
}
|
|
493
492
|
}
|
|
494
493
|
}, "#syncRowHeights"));
|
|
495
|
-
|
|
494
|
+
d(this, re, /* @__PURE__ */ h(() => {
|
|
496
495
|
!t(this, A) || !(t(this, A) instanceof HTMLElement) || (y(this, Z, new ResizeObserver((n) => {
|
|
497
496
|
for (const e of n) {
|
|
498
497
|
const s = e.target;
|
|
@@ -508,13 +507,13 @@ const ns = class ns {
|
|
|
508
507
|
}
|
|
509
508
|
})), t(this, Z).observe(t(this, A)));
|
|
510
509
|
}, "#initResizeObserver"));
|
|
511
|
-
|
|
510
|
+
d(this, Nt, /* @__PURE__ */ h(() => {
|
|
512
511
|
S.log("rowManager.#renderAllContainers"), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((n) => {
|
|
513
512
|
const e = t(this, A).querySelector(n);
|
|
514
513
|
e && e.querySelector(".ng-part-body tbody.bindable-tbody") && t(this, se).call(this, e, n);
|
|
515
514
|
}), t(this, oe).call(this), t(this, ne).call(this);
|
|
516
515
|
}, "#renderAllContainers"));
|
|
517
|
-
|
|
516
|
+
d(this, Ue, /* @__PURE__ */ h((n) => {
|
|
518
517
|
[".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((e) => {
|
|
519
518
|
var l;
|
|
520
519
|
const s = t(this, A).querySelector(e);
|
|
@@ -522,33 +521,33 @@ const ns = class ns {
|
|
|
522
521
|
const r = s.querySelector(".ng-part-body tbody.bindable-tbody");
|
|
523
522
|
if (!r) return;
|
|
524
523
|
const i = Array.from(r.querySelectorAll("tr:not(.nodata)")), o = ((l = t(this, Y).get(e)) == null ? void 0 : l.length) || 1, c = (t(this, U).data.get() || []).length;
|
|
525
|
-
i.forEach((
|
|
526
|
-
const b = n + Math.floor(
|
|
524
|
+
i.forEach((g, f) => {
|
|
525
|
+
const b = n + Math.floor(f / o);
|
|
527
526
|
if (b >= c) {
|
|
528
|
-
|
|
527
|
+
g.style.visibility = "hidden";
|
|
529
528
|
return;
|
|
530
529
|
}
|
|
531
|
-
const
|
|
532
|
-
|
|
530
|
+
const u = t(this, U).data.get(b);
|
|
531
|
+
g.style.display = "", t(this, _t).call(this, g, u, b);
|
|
533
532
|
});
|
|
534
533
|
});
|
|
535
534
|
}, "#adjustBufferRows"));
|
|
536
|
-
|
|
537
|
-
var
|
|
535
|
+
d(this, mt, /* @__PURE__ */ h((n) => {
|
|
536
|
+
var f, b;
|
|
538
537
|
const e = t(this, O);
|
|
539
538
|
if (!e || e <= 0) return;
|
|
540
539
|
const s = t(this, U).data.length;
|
|
541
540
|
if (s === 0) return;
|
|
542
|
-
const r = ((
|
|
541
|
+
const r = ((f = t(this, Y).get(".ng-container-body")) == null ? void 0 : f.length) || 1, i = t(this, A).querySelector(".ng-container-body .ng-part-body");
|
|
543
542
|
S.log("bodyContainer.clientHeight", i.clientHeight);
|
|
544
543
|
const o = Math.max(0, s - Math.floor(i.clientHeight / e)), a = Math.min(o, Math.max(0, Math.floor(n / e)));
|
|
545
544
|
let c = Math.floor(a * e);
|
|
546
545
|
S.log(`📜 [Scroll Calc] maxStartIndex: ${o}, startIndex: ${a}, offsetY: ${c}`), a === o && S.log(`📜 [Scroll Inspect] scrollTop: ${n}, rowHeight: ${e}, maxStartIndex: ${o}, startIndex: ${a}, offsetY: ${c}`);
|
|
547
|
-
const l = t(this, it).firstTr,
|
|
548
|
-
(b = t(this, it)) == null || b.scrollTables.forEach((
|
|
549
|
-
|
|
550
|
-
}),
|
|
551
|
-
const p = t(this, A).querySelector(
|
|
546
|
+
const l = t(this, it).firstTr, g = l && l.dataset.row !== void 0 ? parseInt(l.dataset.row, 10) : -1;
|
|
547
|
+
(b = t(this, it)) == null || b.scrollTables.forEach((u) => {
|
|
548
|
+
u.style.transform = `translate3d(0, ${c}px, 0)`;
|
|
549
|
+
}), g !== a && (S.log(`🔄 [Row Bind Trigger] currentStartIndex(${g}) !== startIndex(${a})`), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((u) => {
|
|
550
|
+
const p = t(this, A).querySelector(u);
|
|
552
551
|
if (!p) return;
|
|
553
552
|
const x = p.querySelector(".ng-part-body tbody.bindable-tbody");
|
|
554
553
|
if (!x) return;
|
|
@@ -577,29 +576,29 @@ const ns = class ns {
|
|
|
577
576
|
cell.dataset.row = dataIndex;
|
|
578
577
|
});
|
|
579
578
|
}; */
|
|
580
|
-
|
|
579
|
+
d(this, _t, /* @__PURE__ */ h((n, e, s) => {
|
|
581
580
|
n.dataset.row = s, n.data = e, Array.from(n.cells).forEach((r, i) => {
|
|
582
581
|
r.dataset.row = s;
|
|
583
582
|
const o = Array.from(r.children).find((a) => a.tagName.toLowerCase().startsWith("cell-") || typeof a.refresh == "function");
|
|
584
583
|
o && typeof o.refresh == "function" && o.refresh();
|
|
585
584
|
});
|
|
586
585
|
}, "#bindRowData"));
|
|
587
|
-
|
|
588
|
-
var c, l,
|
|
586
|
+
d(this, oe, /* @__PURE__ */ h(() => {
|
|
587
|
+
var c, l, g;
|
|
589
588
|
S.log("rowManager.#syncHeaderHeights");
|
|
590
589
|
const n = t(this, A).querySelector(".ng-container-left .ng-part-header table"), e = t(this, A).querySelector(".ng-container-body .ng-part-header table"), s = t(this, A).querySelector(".ng-container-right .ng-part-header table");
|
|
591
590
|
if (!e) return;
|
|
592
591
|
const r = n ? Array.from(n.querySelectorAll("tr")) : [], i = Array.from(e.querySelectorAll("tr")), o = s ? Array.from(s.querySelectorAll("tr")) : [], a = Math.max(r.length, i.length, o.length);
|
|
593
|
-
for (let
|
|
592
|
+
for (let f = 0; f < a; f++) {
|
|
594
593
|
const b = [
|
|
595
|
-
((c = r[
|
|
596
|
-
((l = i[
|
|
597
|
-
((
|
|
598
|
-
],
|
|
599
|
-
|
|
594
|
+
((c = r[f]) == null ? void 0 : c.getBoundingClientRect().height) || 0,
|
|
595
|
+
((l = i[f]) == null ? void 0 : l.getBoundingClientRect().height) || 0,
|
|
596
|
+
((g = o[f]) == null ? void 0 : g.getBoundingClientRect().height) || 0
|
|
597
|
+
], u = Math.max(...b);
|
|
598
|
+
u > 0 && (r[f] && (r[f].style.height = `${u}px`), i[f] && (i[f].style.height = `${u}px`), o[f] && (o[f].style.height = `${u}px`));
|
|
600
599
|
}
|
|
601
600
|
}, "#syncHeaderHeights"));
|
|
602
|
-
q(this, "destroy", /* @__PURE__ */
|
|
601
|
+
q(this, "destroy", /* @__PURE__ */ h(() => {
|
|
603
602
|
t(this, Z) && (t(this, Z).disconnect(), y(this, Z, null));
|
|
604
603
|
}, "destroy"));
|
|
605
604
|
y(this, U, n.getRootNode().host), y(this, A, n), t(this, re).call(this);
|
|
@@ -612,7 +611,7 @@ const ns = class ns {
|
|
|
612
611
|
return ((e = t(this, Y).get(n)) == null ? void 0 : e.length) || 1;
|
|
613
612
|
}
|
|
614
613
|
};
|
|
615
|
-
U = new WeakMap(), A = new WeakMap(), it = new WeakMap(), Y = new WeakMap(), O = new WeakMap(), Z = new WeakMap(), at = new WeakMap(), Lt = new WeakMap(), Ye = new WeakMap(), Ve = new WeakMap(), ee = new WeakMap(), se = new WeakMap(), Mt = new WeakMap(), Ht = new WeakMap(), $t = new WeakMap(), ne = new WeakMap(), re = new WeakMap(), Nt = new WeakMap(), Ue = new WeakMap(), mt = new WeakMap(), _t = new WeakMap(), oe = new WeakMap(),
|
|
614
|
+
U = new WeakMap(), A = new WeakMap(), it = new WeakMap(), Y = new WeakMap(), O = new WeakMap(), Z = new WeakMap(), at = new WeakMap(), Lt = new WeakMap(), Ye = new WeakMap(), Ve = new WeakMap(), ee = new WeakMap(), se = new WeakMap(), Mt = new WeakMap(), Ht = new WeakMap(), $t = new WeakMap(), ne = new WeakMap(), re = new WeakMap(), Nt = new WeakMap(), Ue = new WeakMap(), mt = new WeakMap(), _t = new WeakMap(), oe = new WeakMap(), h(ns, "RowManager");
|
|
616
615
|
let ke = ns;
|
|
617
616
|
const ie = class ie {
|
|
618
617
|
/**
|
|
@@ -626,59 +625,59 @@ const ie = class ie {
|
|
|
626
625
|
*/
|
|
627
626
|
static compile(n) {
|
|
628
627
|
if (!n) return null;
|
|
629
|
-
const e = /* @__PURE__ */
|
|
628
|
+
const e = /* @__PURE__ */ h((a) => {
|
|
630
629
|
a.querySelectorAll("tbody td, tbody th, tfoot td, tfoot th").forEach((l) => {
|
|
631
|
-
const
|
|
630
|
+
const g = l.getAttribute("cell-type") || "renderer";
|
|
632
631
|
if (l.children.length > 0 && l.firstElementChild.tagName.includes("-")) return;
|
|
633
|
-
let
|
|
634
|
-
const b = l.getAttribute("data-bind"),
|
|
632
|
+
let f = `cell-${g}`;
|
|
633
|
+
const b = l.getAttribute("data-bind"), u = l.getAttribute("data-expr"), p = l.getAttribute("maxbyte"), x = l.getAttribute("type");
|
|
635
634
|
let w = [];
|
|
636
|
-
b && w.push(`data-bind="${b}"`),
|
|
635
|
+
b && w.push(`data-bind="${b}"`), u && w.push(`data-expr="${u}"`), p && w.push(`maxbyte="${p}"`), x && w.push(`type="${x}"`), l.innerHTML = `<${f} ${w.join(" ")}></${f}>`;
|
|
637
636
|
}), a.querySelectorAll("tbody td, tfoot td").forEach((l) => {
|
|
638
637
|
l.setAttribute("tabindex", "0");
|
|
639
638
|
});
|
|
640
|
-
}, "processCellTypes"), s = /* @__PURE__ */
|
|
639
|
+
}, "processCellTypes"), s = /* @__PURE__ */ h((a) => {
|
|
641
640
|
if (!a.querySelector("colgroup")) {
|
|
642
|
-
const c = a.querySelector("tbody tr") || a.querySelector("tr"), l = c ? c.querySelectorAll("th, td").length : 1,
|
|
641
|
+
const c = a.querySelector("tbody tr") || a.querySelector("tr"), l = c ? c.querySelectorAll("th, td").length : 1, g = document.createElement("colgroup"), f = Math.max(Math.floor(a.clientWidth / l), 100);
|
|
643
642
|
for (let b = 0; b < l; b++) {
|
|
644
|
-
const
|
|
645
|
-
|
|
643
|
+
const u = document.createElement("col");
|
|
644
|
+
u.setAttribute("width", f), g.appendChild(u);
|
|
646
645
|
}
|
|
647
|
-
a.prepend(
|
|
646
|
+
a.prepend(g);
|
|
648
647
|
}
|
|
649
648
|
if (!a.querySelector("thead")) {
|
|
650
649
|
const c = document.createElement("thead"), l = a.querySelector("colgroup");
|
|
651
650
|
l ? l.after(c) : a.prepend(c);
|
|
652
651
|
}
|
|
653
652
|
a.classList.add("nine-table-element");
|
|
654
|
-
}, "ensureTableStructure"), r = /* @__PURE__ */
|
|
655
|
-
const l = Array.from(a.querySelectorAll(c + " tr")),
|
|
656
|
-
if (
|
|
653
|
+
}, "ensureTableStructure"), r = /* @__PURE__ */ h((a, c) => {
|
|
654
|
+
const l = Array.from(a.querySelectorAll(c + " tr")), g = Array.from(a.querySelectorAll(c + " th," + c + " td")), f = l.length;
|
|
655
|
+
if (f === 0 || g.length === 0) return;
|
|
657
656
|
let b = 0;
|
|
658
|
-
|
|
657
|
+
g.forEach((p) => {
|
|
659
658
|
b += p.colSpan || 1;
|
|
660
659
|
});
|
|
661
|
-
const
|
|
660
|
+
const u = Array.from(Array(f), () => Array(b).fill(null));
|
|
662
661
|
l.forEach((p) => {
|
|
663
662
|
const x = p.sectionRowIndex;
|
|
664
663
|
let w = 0;
|
|
665
664
|
Array.from(p.querySelectorAll("th,td")).forEach((m) => {
|
|
666
|
-
for (let M = 0; M <
|
|
667
|
-
if (
|
|
665
|
+
for (let M = 0; M < u[x].length; M++)
|
|
666
|
+
if (u[x][M] === null) {
|
|
668
667
|
w = M;
|
|
669
668
|
break;
|
|
670
669
|
}
|
|
671
670
|
const T = m.rowSpan || 1, R = m.colSpan || 1;
|
|
672
671
|
for (let M = 0; M < T; M++)
|
|
673
672
|
for (let B = 0; B < R; B++)
|
|
674
|
-
x + M <
|
|
673
|
+
x + M < f && w + B < b && (u[x + M][w + B] = M === 0 && B === 0 ? "1" : "0");
|
|
675
674
|
});
|
|
676
675
|
}), l.forEach((p) => {
|
|
677
676
|
const x = p.sectionRowIndex;
|
|
678
677
|
Array.from(p.querySelectorAll("th,td")).forEach((w) => {
|
|
679
|
-
for (let m = 0; m <
|
|
680
|
-
if (
|
|
681
|
-
w.dataset.col = m,
|
|
678
|
+
for (let m = 0; m < u[x].length; m++)
|
|
679
|
+
if (u[x][m] === "1") {
|
|
680
|
+
w.dataset.col = m, u[x][m] = "0";
|
|
682
681
|
break;
|
|
683
682
|
}
|
|
684
683
|
});
|
|
@@ -686,22 +685,22 @@ const ie = class ie {
|
|
|
686
685
|
}, "resetColIndex"), i = n.cloneNode(!0);
|
|
687
686
|
return s(i), e(i), r(i, "thead"), r(i, "tbody"), r(i, "tfoot"), Array.from(i.querySelectorAll("colgroup col")).forEach((a, c) => {
|
|
688
687
|
const l = a.getAttribute("fixed");
|
|
689
|
-
l && i.querySelectorAll(`thead [data-col="${c}"], tbody [data-col="${c}"], tfoot [data-col="${c}"]`).forEach((
|
|
690
|
-
|
|
688
|
+
l && i.querySelectorAll(`thead [data-col="${c}"], tbody [data-col="${c}"], tfoot [data-col="${c}"]`).forEach((g) => {
|
|
689
|
+
g.setAttribute("fixed", l);
|
|
691
690
|
});
|
|
692
691
|
}), i;
|
|
693
692
|
}
|
|
694
693
|
// 🎯 [추가] td/th에 선언된 cell-type 속성을 읽어 커스텀 태그로 자동 감싸기
|
|
695
694
|
};
|
|
696
|
-
|
|
695
|
+
h(ie, "TableCompiler");
|
|
697
696
|
let Ie = ie;
|
|
698
697
|
var N, X, K, qt, ws;
|
|
699
698
|
const rs = class rs {
|
|
700
699
|
constructor(n) {
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
q(this, "render", /* @__PURE__ */
|
|
700
|
+
d(this, K);
|
|
701
|
+
d(this, N);
|
|
702
|
+
d(this, X, { startRow: -1, startCol: -1, endRow: -1, endCol: -1 });
|
|
703
|
+
q(this, "render", /* @__PURE__ */ h(() => {
|
|
705
704
|
const { startRow: n, startCol: e, endRow: s, endCol: r } = t(this, X);
|
|
706
705
|
S.log("🎨 [CellSelection.render] Rendering range ->", t(this, X));
|
|
707
706
|
const i = t(this, N).querySelectorAll(
|
|
@@ -719,11 +718,11 @@ const rs = class rs {
|
|
|
719
718
|
i.forEach((a) => {
|
|
720
719
|
a.querySelectorAll("tbody tr").forEach((c) => {
|
|
721
720
|
const { matrixRow: l } = V(this, K, qt).call(this, c);
|
|
722
|
-
l < 0 || c.querySelectorAll("td, th").forEach((
|
|
723
|
-
const
|
|
724
|
-
if (isNaN(
|
|
725
|
-
const b = parseInt(
|
|
726
|
-
p >= n && l <= s && x >= e &&
|
|
721
|
+
l < 0 || c.querySelectorAll("td, th").forEach((g) => {
|
|
722
|
+
const f = parseInt(g.dataset.col, 10);
|
|
723
|
+
if (isNaN(f)) return;
|
|
724
|
+
const b = parseInt(g.rowSpan || 1, 10), u = parseInt(g.colSpan || 1, 10), p = l + b - 1, x = f + u - 1;
|
|
725
|
+
p >= n && l <= s && x >= e && f <= r && (o++, g.classList.add("selected"), S.log(g, n, e, s, r), l <= n && g.classList.add("selected-top"), p >= s && g.classList.add("selected-bottom"), f <= e && g.classList.add("selected-left"), x >= r && g.classList.add("selected-right"));
|
|
727
726
|
});
|
|
728
727
|
});
|
|
729
728
|
}), S.log(`✨ [CellSelection.render] Total rendered cells marked: ${o}`);
|
|
@@ -742,19 +741,19 @@ const rs = class rs {
|
|
|
742
741
|
const l = t(this, N).querySelectorAll(
|
|
743
742
|
".ng-container-left .ng-part-body, .ng-container-body .ng-part-body, .ng-container-right .ng-part-body"
|
|
744
743
|
);
|
|
745
|
-
let
|
|
746
|
-
for (;
|
|
747
|
-
|
|
748
|
-
b.querySelectorAll("tbody tr").forEach((
|
|
749
|
-
if (
|
|
750
|
-
const { matrixRow: p } = V(this, K, qt).call(this,
|
|
751
|
-
p < 0 ||
|
|
744
|
+
let g = !0, f = 0;
|
|
745
|
+
for (; g && f < 5; )
|
|
746
|
+
g = !1, f++, l.forEach((b) => {
|
|
747
|
+
b.querySelectorAll("tbody tr").forEach((u) => {
|
|
748
|
+
if (u.classList.contains("nodata")) return;
|
|
749
|
+
const { matrixRow: p } = V(this, K, qt).call(this, u);
|
|
750
|
+
p < 0 || u.querySelectorAll("td, th").forEach((x) => {
|
|
752
751
|
const w = parseInt(x.dataset.col, 10);
|
|
753
752
|
if (isNaN(w)) return;
|
|
754
753
|
const m = parseInt(x.rowSpan || 1, 10), T = parseInt(x.colSpan || 1, 10), R = p + m - 1, M = w + T - 1;
|
|
755
754
|
if (R >= i && p <= o && M >= a && w <= c) {
|
|
756
755
|
const z = Math.min(i, p), Gt = Math.max(o, R), bs = Math.min(a, w), ps = Math.max(c, M);
|
|
757
|
-
(z !== i || Gt !== o || bs !== a || ps !== c) && (i = z, o = Gt, a = bs, c = ps,
|
|
756
|
+
(z !== i || Gt !== o || bs !== a || ps !== c) && (i = z, o = Gt, a = bs, c = ps, g = !0);
|
|
758
757
|
}
|
|
759
758
|
});
|
|
760
759
|
});
|
|
@@ -762,13 +761,13 @@ const rs = class rs {
|
|
|
762
761
|
y(this, X, { startRow: i, startCol: a, endRow: o, endCol: c }), S.log("📦 [CellSelection.setRange] Final Range ->", t(this, X)), this.render();
|
|
763
762
|
}
|
|
764
763
|
};
|
|
765
|
-
N = new WeakMap(), X = new WeakMap(), K = new WeakSet(), qt = /* @__PURE__ */
|
|
764
|
+
N = new WeakMap(), X = new WeakMap(), K = new WeakSet(), qt = /* @__PURE__ */ h(function(n) {
|
|
766
765
|
if (!n || n.classList.contains("nodata")) return { dataRow: -1, subRowIndex: -1, matrixRow: -1 };
|
|
767
766
|
const e = parseInt(n.dataset.row, 10);
|
|
768
767
|
if (isNaN(e)) return { dataRow: -1, subRowIndex: -1, matrixRow: -1 };
|
|
769
768
|
const s = n.closest("tbody"), i = Array.from(s.querySelectorAll("tr:not(.nodata)")).filter((l) => parseInt(l.dataset.row, 10) === e), o = i.indexOf(n), a = i.length > 0 ? i.length : 1, c = e * a + (o >= 0 ? o : n.sectionRowIndex % a);
|
|
770
769
|
return { dataRow: e, subRowIndex: o, matrixRow: c };
|
|
771
|
-
}, "#getMatrixRow"), ws = /* @__PURE__ */
|
|
770
|
+
}, "#getMatrixRow"), ws = /* @__PURE__ */ h(function() {
|
|
772
771
|
const n = t(this, N).querySelector(".ng-container-top");
|
|
773
772
|
if (!n) {
|
|
774
773
|
S.log("❌ [CellSelection] .ng-container-top not found!");
|
|
@@ -786,42 +785,42 @@ N = new WeakMap(), X = new WeakMap(), K = new WeakSet(), qt = /* @__PURE__ */ d(
|
|
|
786
785
|
}
|
|
787
786
|
S.log(`🖱️ [MouseDown Success] startRow: ${i}, startCol: ${o}`), t(this, N).navigation.currentCell = s;
|
|
788
787
|
let a = i, c = o;
|
|
789
|
-
const l = /* @__PURE__ */
|
|
790
|
-
const b = document.elementFromPoint(
|
|
791
|
-
let
|
|
792
|
-
if (!
|
|
788
|
+
const l = /* @__PURE__ */ h((f) => {
|
|
789
|
+
const b = document.elementFromPoint(f.clientX, f.clientY);
|
|
790
|
+
let u = b == null ? void 0 : b.closest("td, th");
|
|
791
|
+
if (!u || !t(this, N).contains(u)) {
|
|
793
792
|
const m = t(this, N).querySelectorAll(".ng-part-body tbody tr:not(.nodata) td, .ng-part-body tbody tr:not(.nodata) th");
|
|
794
793
|
for (const T of m) {
|
|
795
794
|
const R = T.getBoundingClientRect();
|
|
796
|
-
if (
|
|
797
|
-
|
|
795
|
+
if (f.clientX >= R.left && f.clientX <= R.right && f.clientY >= R.top && f.clientY <= R.bottom) {
|
|
796
|
+
u = T;
|
|
798
797
|
break;
|
|
799
798
|
}
|
|
800
799
|
}
|
|
801
800
|
}
|
|
802
|
-
if (!
|
|
803
|
-
const p =
|
|
801
|
+
if (!u || u.dataset.row === void 0 || u.dataset.col === void 0 || u.closest("tr").classList.contains("nodata")) return;
|
|
802
|
+
const p = u.closest("tr"), { matrixRow: x } = V(this, K, qt).call(this, p), w = parseInt(u.dataset.col, 10);
|
|
804
803
|
x < 0 || a === x && c === w || (a = x, c = w, this.setRange(i, o, x, w));
|
|
805
|
-
}, "onMouseMove"),
|
|
806
|
-
S.log("🖱️ [MouseUp] Drag ended."), t(this, N).style.userSelect = "", t(this, N).style.webkitUserSelect = "", document.removeEventListener("mousemove", l), document.removeEventListener("mouseup",
|
|
804
|
+
}, "onMouseMove"), g = /* @__PURE__ */ h(() => {
|
|
805
|
+
S.log("🖱️ [MouseUp] Drag ended."), t(this, N).style.userSelect = "", t(this, N).style.webkitUserSelect = "", document.removeEventListener("mousemove", l), document.removeEventListener("mouseup", g);
|
|
807
806
|
}, "onMouseUp");
|
|
808
|
-
document.addEventListener("mousemove", l), document.addEventListener("mouseup",
|
|
807
|
+
document.addEventListener("mousemove", l), document.addEventListener("mouseup", g);
|
|
809
808
|
});
|
|
810
|
-
}, "#initEvents"),
|
|
809
|
+
}, "#initEvents"), h(rs, "CellSelection");
|
|
811
810
|
let Le = rs;
|
|
812
811
|
var F, lt, ae, le, pt, He, Ot, Dt, Bt, ct, Wt, vs;
|
|
813
812
|
const os = class os {
|
|
814
813
|
constructor(n) {
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
814
|
+
d(this, pt);
|
|
815
|
+
d(this, F);
|
|
816
|
+
d(this, lt, null);
|
|
817
|
+
d(this, ae, -1);
|
|
818
|
+
d(this, le, -1);
|
|
819
|
+
d(this, Ot, /* @__PURE__ */ h((n) => {
|
|
821
820
|
const e = [];
|
|
822
821
|
return n.forEach((s) => e.push(...Array.from(s.querySelectorAll("td")))), e.length === 0 ? null : (e.sort((s, r) => parseInt(s.dataset.col, 10) - parseInt(r.dataset.col, 10)), e[e.length - 1]);
|
|
823
822
|
}, "#getMaxColCell"));
|
|
824
|
-
|
|
823
|
+
d(this, Dt, /* @__PURE__ */ h((n, e) => {
|
|
825
824
|
const s = t(this, ct).call(this, n);
|
|
826
825
|
if (s.length === 0) return e + 1;
|
|
827
826
|
let r = e + 1;
|
|
@@ -836,7 +835,7 @@ const os = class os {
|
|
|
836
835
|
}
|
|
837
836
|
return r;
|
|
838
837
|
}, "#getNextCol"));
|
|
839
|
-
|
|
838
|
+
d(this, Bt, /* @__PURE__ */ h((n, e) => {
|
|
840
839
|
const s = t(this, ct).call(this, n);
|
|
841
840
|
if (s.length === 0) return Math.max(0, e - 1);
|
|
842
841
|
let r = -1;
|
|
@@ -852,40 +851,40 @@ const os = class os {
|
|
|
852
851
|
return r;
|
|
853
852
|
}, "#getPreviousCol"));
|
|
854
853
|
// 🎯 레거시의 병합 셀(rowSpan) 블록 포용 탐색 로직 이식
|
|
855
|
-
|
|
854
|
+
d(this, ct, /* @__PURE__ */ h((n) => {
|
|
856
855
|
const e = t(this, F).querySelectorAll(
|
|
857
856
|
".ng-container-left .ng-part-body, .ng-container-body .ng-part-body, .ng-container-right .ng-part-body"
|
|
858
857
|
), s = [];
|
|
859
858
|
return e.forEach((r) => {
|
|
860
859
|
const i = Array.from(r.querySelectorAll("tbody tr:not(.nodata)"));
|
|
861
860
|
for (const o of i) {
|
|
862
|
-
const a = parseInt(o.dataset.row, 10), c = i.filter((p) => parseInt(p.dataset.row, 10) === a), l = c.length > 0 ? c.length : 1,
|
|
863
|
-
if (
|
|
861
|
+
const a = parseInt(o.dataset.row, 10), c = i.filter((p) => parseInt(p.dataset.row, 10) === a), l = c.length > 0 ? c.length : 1, g = c.indexOf(o), f = a * l + (g >= 0 ? g : 0);
|
|
862
|
+
if (f === n) {
|
|
864
863
|
s.push(o);
|
|
865
864
|
break;
|
|
866
865
|
}
|
|
867
866
|
const b = Array.from(o.querySelectorAll("td"));
|
|
868
|
-
let
|
|
867
|
+
let u = !1;
|
|
869
868
|
for (const p of b) {
|
|
870
869
|
const x = parseInt(p.rowSpan || 1, 10);
|
|
871
|
-
if (x > 1 && n >=
|
|
872
|
-
s.push(o),
|
|
870
|
+
if (x > 1 && n >= f && n < f + x) {
|
|
871
|
+
s.push(o), u = !0;
|
|
873
872
|
break;
|
|
874
873
|
}
|
|
875
874
|
}
|
|
876
|
-
if (
|
|
875
|
+
if (u) break;
|
|
877
876
|
}
|
|
878
877
|
}), s;
|
|
879
878
|
}, "#findTargetTrsByMatrix"));
|
|
880
879
|
// 🎯 rowSpan 및 colSpan 경계를 모두 충족하는 셀을 3분할 전체 영역에서 탐색
|
|
881
|
-
|
|
880
|
+
d(this, Wt, /* @__PURE__ */ h((n, e, s, r) => {
|
|
882
881
|
const i = t(this, F).querySelectorAll(
|
|
883
882
|
".ng-container-left .ng-part-body, .ng-container-body .ng-part-body, .ng-container-right .ng-part-body"
|
|
884
883
|
), o = r !== void 0 ? r : n * 1 + e;
|
|
885
884
|
for (const a of i) {
|
|
886
885
|
const c = Array.from(a.querySelectorAll("tbody tr:not(.nodata)"));
|
|
887
886
|
for (const l of c) {
|
|
888
|
-
const
|
|
887
|
+
const g = parseInt(l.dataset.row, 10), f = c.filter((w) => parseInt(w.dataset.row, 10) === g), b = f.length > 0 ? f.length : 1, u = f.indexOf(l), p = g * b + (u >= 0 ? u : 0), x = Array.from(l.querySelectorAll("td"));
|
|
889
888
|
for (const w of x) {
|
|
890
889
|
const m = parseInt(w.dataset.col, 10), T = parseInt(w.colSpan || 1, 10), R = parseInt(w.rowSpan || 1, 10);
|
|
891
890
|
if (!isNaN(m) && s >= m && s < m + T && o >= p && o < p + R && window.getComputedStyle(w).display !== "none")
|
|
@@ -908,8 +907,8 @@ const os = class os {
|
|
|
908
907
|
y(this, ae, e), y(this, le, s);
|
|
909
908
|
const r = n.closest("tr"), i = r == null ? void 0 : r.closest("tbody");
|
|
910
909
|
if (i) {
|
|
911
|
-
const a = Array.from(i.querySelectorAll("tr:not(.nodata)")).filter((
|
|
912
|
-
t(this, F).selection.setRange(
|
|
910
|
+
const a = Array.from(i.querySelectorAll("tr:not(.nodata)")).filter((f) => parseInt(f.dataset.row, 10) === e), c = a.length > 0 ? a.length : 1, l = a.indexOf(r), g = e * c + (l >= 0 ? l : 0);
|
|
911
|
+
t(this, F).selection.setRange(g, s, g, s);
|
|
913
912
|
}
|
|
914
913
|
}
|
|
915
914
|
}
|
|
@@ -918,73 +917,73 @@ const os = class os {
|
|
|
918
917
|
if (!t(this, lt)) return;
|
|
919
918
|
const e = t(this, lt), s = e.closest("tr"), r = parseInt(e.dataset.row, 10), i = parseInt(e.dataset.col, 10), o = s == null ? void 0 : s.closest("tbody");
|
|
920
919
|
if (!o) return;
|
|
921
|
-
const c = Array.from(o.querySelectorAll("tr:not(.nodata)")).filter((B) => parseInt(B.dataset.row, 10) === r), l = c.length > 0 ? c.length : 1,
|
|
922
|
-
let b =
|
|
920
|
+
const c = Array.from(o.querySelectorAll("tr:not(.nodata)")).filter((B) => parseInt(B.dataset.row, 10) === r), l = c.length > 0 ? c.length : 1, g = c.indexOf(s), f = r * l + (g >= 0 ? g : 0);
|
|
921
|
+
let b = f, u = i;
|
|
923
922
|
switch (n.code) {
|
|
924
923
|
case "Tab":
|
|
925
924
|
if (n.preventDefault(), n.shiftKey) {
|
|
926
|
-
if (
|
|
927
|
-
b =
|
|
925
|
+
if (u = t(this, Bt).call(this, f, i), u < 0 && f > 0) {
|
|
926
|
+
b = f - 1;
|
|
928
927
|
const B = t(this, ct).call(this, b), z = t(this, Ot).call(this, B);
|
|
929
|
-
|
|
928
|
+
u = z ? parseInt(z.dataset.col, 10) : 0;
|
|
930
929
|
}
|
|
931
930
|
} else {
|
|
932
|
-
|
|
933
|
-
const B = t(this, ct).call(this,
|
|
934
|
-
|
|
931
|
+
u = t(this, Dt).call(this, f, i);
|
|
932
|
+
const B = t(this, ct).call(this, f), z = t(this, Ot).call(this, B), Gt = z ? parseInt(z.dataset.col, 10) + parseInt(z.colSpan || 1, 10) : 0;
|
|
933
|
+
u >= Gt && (b = f + 1, u = 0);
|
|
935
934
|
}
|
|
936
935
|
break;
|
|
937
936
|
case "ArrowRight":
|
|
938
|
-
|
|
937
|
+
u = t(this, Dt).call(this, f, i);
|
|
939
938
|
break;
|
|
940
939
|
case "ArrowLeft":
|
|
941
|
-
|
|
940
|
+
u = t(this, Bt).call(this, f, i);
|
|
942
941
|
break;
|
|
943
942
|
case "ArrowDown":
|
|
944
|
-
n.preventDefault(), b =
|
|
943
|
+
n.preventDefault(), b = f + (e.rowSpan || 1);
|
|
945
944
|
break;
|
|
946
945
|
case "ArrowUp":
|
|
947
|
-
n.preventDefault(), b = Math.max(0,
|
|
946
|
+
n.preventDefault(), b = Math.max(0, f - (e.rowSpan || 1));
|
|
948
947
|
break;
|
|
949
948
|
}
|
|
950
949
|
const p = Math.floor(b / l), x = b % l;
|
|
951
|
-
let w = t(this, Wt).call(this, p, x,
|
|
950
|
+
let w = t(this, Wt).call(this, p, x, u, b);
|
|
952
951
|
if (w)
|
|
953
952
|
this.currentCell = w, V(this, pt, He).call(this, w);
|
|
954
953
|
else if (p !== r && p >= 0) {
|
|
955
954
|
const B = ((T = (m = t(this, F)).getRowHeight) == null ? void 0 : T.call(m)) || 40;
|
|
956
955
|
(M = (R = t(this, F)).scrollToY) == null || M.call(R, p * B), setTimeout(() => {
|
|
957
|
-
const z = t(this, Wt).call(this, p, x,
|
|
956
|
+
const z = t(this, Wt).call(this, p, x, u, b);
|
|
958
957
|
z && (this.currentCell = z, V(this, pt, He).call(this, z));
|
|
959
958
|
}, 0);
|
|
960
959
|
}
|
|
961
960
|
}
|
|
962
961
|
};
|
|
963
962
|
F = new WeakMap(), lt = new WeakMap(), ae = new WeakMap(), le = new WeakMap(), pt = new WeakSet(), // 🎯 셀이 보이지 않는 영역에 있을 때 컨테이너 스크롤을 동기화하는 함수
|
|
964
|
-
He = /* @__PURE__ */
|
|
963
|
+
He = /* @__PURE__ */ h(function(n) {
|
|
965
964
|
const e = t(this, F).querySelector(".ng-container-body .ng-part-body");
|
|
966
965
|
if (!e) return;
|
|
967
966
|
const s = n.getBoundingClientRect(), r = e.getBoundingClientRect();
|
|
968
967
|
s.top < r.top ? e.scrollTop -= r.top - s.top : s.bottom > r.bottom && (e.scrollTop += s.bottom - r.bottom), s.left < r.left ? e.scrollLeft -= r.left - s.left : s.right > r.right && (e.scrollLeft += s.right - r.right);
|
|
969
|
-
}, "#ensureCellVisible"), Ot = new WeakMap(), Dt = new WeakMap(), Bt = new WeakMap(), ct = new WeakMap(), Wt = new WeakMap(), vs = /* @__PURE__ */
|
|
968
|
+
}, "#ensureCellVisible"), Ot = new WeakMap(), Dt = new WeakMap(), Bt = new WeakMap(), ct = new WeakMap(), Wt = new WeakMap(), vs = /* @__PURE__ */ h(function() {
|
|
970
969
|
t(this, F).addEventListener("keydown", (n) => {
|
|
971
970
|
["Tab", "ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(n.code) && this.moveCell(n);
|
|
972
971
|
});
|
|
973
|
-
}, "#initEvents"),
|
|
972
|
+
}, "#initEvents"), h(os, "CellNavigation");
|
|
974
973
|
let Me = os;
|
|
975
974
|
var ce, ht, dt, zt, Pt, he, de, xt, fe, ue;
|
|
976
975
|
const Ct = class Ct extends HTMLElement {
|
|
977
976
|
constructor() {
|
|
978
977
|
super();
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
q(this, "invalidate", /* @__PURE__ */
|
|
978
|
+
d(this, ce);
|
|
979
|
+
d(this, ht, null);
|
|
980
|
+
d(this, dt);
|
|
981
|
+
d(this, zt);
|
|
982
|
+
d(this, Pt);
|
|
983
|
+
q(this, "invalidate", /* @__PURE__ */ h(() => {
|
|
985
984
|
S.log("sheet.invalidate()"), t(this, dt).refresh();
|
|
986
985
|
}, "invalidate"));
|
|
987
|
-
q(this, "generate", /* @__PURE__ */
|
|
986
|
+
q(this, "generate", /* @__PURE__ */ h((e) => {
|
|
988
987
|
if (S.log("sheet.generate()"), !e) return;
|
|
989
988
|
y(this, ht, Ie.compile(e)), t(this, he).call(this), t(this, de).call(this);
|
|
990
989
|
const s = this.querySelector(".ng-container-body .ng-part-header"), r = this.querySelector(".ng-container-body .ng-part-footer"), i = this.querySelector(".ng-nodata-overlay");
|
|
@@ -993,7 +992,7 @@ const Ct = class Ct extends HTMLElement {
|
|
|
993
992
|
(o = this.querySelector("nine-table-hscrollbar")) == null || o.refresh();
|
|
994
993
|
}, 0);
|
|
995
994
|
}, "generate"));
|
|
996
|
-
|
|
995
|
+
d(this, he, /* @__PURE__ */ h(() => {
|
|
997
996
|
[
|
|
998
997
|
{ selector: ".ng-container-body", type: null },
|
|
999
998
|
{ selector: ".ng-container-left", type: "left" },
|
|
@@ -1003,7 +1002,7 @@ const Ct = class Ct extends HTMLElement {
|
|
|
1003
1002
|
(i = this.querySelector(`${s} .ng-part-header`)) == null || i.appendChild(t(this, xt).call(this, t(this, ht), r, "header")), (o = this.querySelector(`${s} .ng-virtual-spacer`)) == null || o.before(t(this, xt).call(this, t(this, ht), r, "body")), (a = this.querySelector(`${s} .ng-part-footer`)) == null || a.appendChild(t(this, xt).call(this, t(this, ht), r, "footer"));
|
|
1004
1003
|
});
|
|
1005
1004
|
}, "#renderSplitContainers"));
|
|
1006
|
-
|
|
1005
|
+
d(this, de, /* @__PURE__ */ h(() => {
|
|
1007
1006
|
["left", "right", "body"].forEach((e) => {
|
|
1008
1007
|
const s = this.querySelector(`.ng-container-${e}`), r = s == null ? void 0 : s.querySelectorAll("table");
|
|
1009
1008
|
if (!s || !r || r.length === 0) return;
|
|
@@ -1018,12 +1017,12 @@ const Ct = class Ct extends HTMLElement {
|
|
|
1018
1017
|
}));
|
|
1019
1018
|
});
|
|
1020
1019
|
}, "#updateContainerWidths"));
|
|
1021
|
-
|
|
1020
|
+
d(this, xt, /* @__PURE__ */ h((e, s, r) => {
|
|
1022
1021
|
const i = e.cloneNode(!0), o = i.querySelector("thead"), a = i.querySelector("tbody"), c = i.querySelector("tfoot");
|
|
1023
1022
|
if (r === "header") {
|
|
1024
1023
|
if (a && a.remove(), c && c.remove(), e.querySelector("tbody")) {
|
|
1025
|
-
const
|
|
1026
|
-
|
|
1024
|
+
const g = document.createElement("tbody");
|
|
1025
|
+
g.className = "fixed-tbody", i.appendChild(g);
|
|
1027
1026
|
}
|
|
1028
1027
|
} else r === "body" ? (o && o.remove(), c && c.remove(), a && (a.className = "bindable-tbody")) : r === "footer" && (o && o.remove(), a && a.remove());
|
|
1029
1028
|
return s === "left" ? i.querySelectorAll("col, th, td, tfoot td, tfoot th").forEach((l) => {
|
|
@@ -1034,19 +1033,19 @@ const Ct = class Ct extends HTMLElement {
|
|
|
1034
1033
|
l.remove();
|
|
1035
1034
|
}), i;
|
|
1036
1035
|
}, "#createSplitTable"));
|
|
1037
|
-
q(this, "getRowHeight", /* @__PURE__ */
|
|
1038
|
-
q(this, "scrollToX", /* @__PURE__ */
|
|
1036
|
+
q(this, "getRowHeight", /* @__PURE__ */ h(() => t(this, dt).getRowHeight(), "getRowHeight"));
|
|
1037
|
+
q(this, "scrollToX", /* @__PURE__ */ h((e) => {
|
|
1039
1038
|
const s = this.querySelector(".ng-container-body .ng-part-body");
|
|
1040
1039
|
s && (s.scrollLeft = e);
|
|
1041
1040
|
}, "scrollToX"));
|
|
1042
|
-
q(this, "scrollToY", /* @__PURE__ */
|
|
1041
|
+
q(this, "scrollToY", /* @__PURE__ */ h((e) => {
|
|
1043
1042
|
const s = this.querySelector(".ng-container-body .ng-part-body");
|
|
1044
1043
|
s && (s.scrollTop = e);
|
|
1045
1044
|
}, "scrollToY"));
|
|
1046
|
-
|
|
1045
|
+
d(this, fe, /* @__PURE__ */ h(() => {
|
|
1047
1046
|
t(this, ue).call(this), y(this, zt, new Le(this)), y(this, Pt, new Me(this));
|
|
1048
1047
|
}, "#init"));
|
|
1049
|
-
|
|
1048
|
+
d(this, ue, /* @__PURE__ */ h(() => {
|
|
1050
1049
|
const e = Ct.SCROLLBAR_SIZE;
|
|
1051
1050
|
this.innerHTML = `
|
|
1052
1051
|
<style>
|
|
@@ -1263,14 +1262,14 @@ const Ct = class Ct extends HTMLElement {
|
|
|
1263
1262
|
this.innerHTML = "", S.log("NineTableSheet destroyed.");
|
|
1264
1263
|
}
|
|
1265
1264
|
};
|
|
1266
|
-
ce = new WeakMap(), ht = new WeakMap(), dt = new WeakMap(), zt = new WeakMap(), Pt = new WeakMap(), he = new WeakMap(), de = new WeakMap(), xt = new WeakMap(), fe = new WeakMap(), ue = new WeakMap(),
|
|
1265
|
+
ce = new WeakMap(), ht = new WeakMap(), dt = new WeakMap(), zt = new WeakMap(), Pt = new WeakMap(), he = new WeakMap(), de = new WeakMap(), xt = new WeakMap(), fe = new WeakMap(), ue = new WeakMap(), h(Ct, "NineTableSheet"), q(Ct, "SCROLLBAR_SIZE", 16);
|
|
1267
1266
|
let Zt = Ct;
|
|
1268
1267
|
customElements.get("nine-table-sheet") || customElements.define("nine-table-sheet", Zt);
|
|
1269
1268
|
var ge, Ft;
|
|
1270
1269
|
const is = class is extends HTMLElement {
|
|
1271
1270
|
constructor() {
|
|
1272
1271
|
super();
|
|
1273
|
-
|
|
1272
|
+
d(this, ge, /* @__PURE__ */ h(() => {
|
|
1274
1273
|
var e;
|
|
1275
1274
|
(e = this.querySelector(".nine-tab-bar")) == null || e.addEventListener("click", (s) => {
|
|
1276
1275
|
var o;
|
|
@@ -1278,35 +1277,35 @@ const is = class is extends HTMLElement {
|
|
|
1278
1277
|
t(this, Ft).call(this, i, r);
|
|
1279
1278
|
}), t(this, Ft).call(this, 0, !1);
|
|
1280
1279
|
}, "#init"));
|
|
1281
|
-
|
|
1282
|
-
const r = /* @__PURE__ */
|
|
1283
|
-
const
|
|
1284
|
-
Array.from(this.querySelectorAll("nine-splitter")).forEach((
|
|
1285
|
-
const b =
|
|
1286
|
-
b.length < 2 || b.forEach((
|
|
1287
|
-
const p = parseInt(
|
|
1280
|
+
d(this, Ft, /* @__PURE__ */ h((e, s = !1) => {
|
|
1281
|
+
const r = /* @__PURE__ */ h(() => {
|
|
1282
|
+
const g = Array.from(this.querySelectorAll("nine-table-sheet"));
|
|
1283
|
+
Array.from(this.querySelectorAll("nine-splitter")).forEach((u) => u.style.setProperty("display", "none"));
|
|
1284
|
+
const b = g.filter((u) => u.classList.contains("active"));
|
|
1285
|
+
b.length < 2 || b.forEach((u) => {
|
|
1286
|
+
const p = parseInt(u.getAttribute("data-index"), 10), x = this.querySelector(`nine-splitter[data-split-index="${p}"]`), w = g[p + 1];
|
|
1288
1287
|
x && w && w.classList.contains("active") && x.style.setProperty("display", "flex");
|
|
1289
1288
|
});
|
|
1290
1289
|
}, "updateSplitters"), i = this.querySelector(".nine-tab-bar"), o = this.querySelector("nine-table-sheets-body"), a = i.querySelectorAll(".nine-tab-item"), c = o.querySelectorAll("nine-table-sheet");
|
|
1291
1290
|
if (!a[e]) return;
|
|
1292
1291
|
if (!s)
|
|
1293
|
-
a.forEach((
|
|
1294
|
-
|
|
1295
|
-
}), c.forEach((
|
|
1296
|
-
const b =
|
|
1297
|
-
|
|
1292
|
+
a.forEach((g, f) => {
|
|
1293
|
+
g.classList.toggle("active", f === e);
|
|
1294
|
+
}), c.forEach((g, f) => {
|
|
1295
|
+
const b = f === e;
|
|
1296
|
+
g.classList.toggle("active", b), g.style.flex = b ? "1 1 100%" : "";
|
|
1298
1297
|
});
|
|
1299
1298
|
else {
|
|
1300
|
-
const
|
|
1301
|
-
if (
|
|
1299
|
+
const g = a[e], f = i.querySelectorAll(".nine-tab-item.active");
|
|
1300
|
+
if (g.classList.contains("active") && f.length <= 1)
|
|
1302
1301
|
return;
|
|
1303
|
-
|
|
1302
|
+
g.classList.toggle("active");
|
|
1304
1303
|
const b = o.querySelector(`nine-table-sheet[data-index="${e}"]`);
|
|
1305
1304
|
b && (b.classList.toggle("active"), b.classList.contains("active") || (b.style.flex = ""));
|
|
1306
1305
|
}
|
|
1307
1306
|
const l = o.querySelectorAll("nine-table-sheet.active");
|
|
1308
|
-
l == null || l.forEach((
|
|
1309
|
-
|
|
1307
|
+
l == null || l.forEach((g) => {
|
|
1308
|
+
g.style.flex = l.length > 1 ? "1 1 0%" : "1 1 100%";
|
|
1310
1309
|
}), r();
|
|
1311
1310
|
}, "#switchSheet"));
|
|
1312
1311
|
}
|
|
@@ -1314,30 +1313,30 @@ const is = class is extends HTMLElement {
|
|
|
1314
1313
|
t(this, ge).call(this);
|
|
1315
1314
|
}
|
|
1316
1315
|
};
|
|
1317
|
-
ge = new WeakMap(), Ft = new WeakMap(),
|
|
1316
|
+
ge = new WeakMap(), Ft = new WeakMap(), h(is, "NineTableSheets");
|
|
1318
1317
|
let $e = is;
|
|
1319
1318
|
customElements.get("nine-table-sheets") || customElements.define("nine-table-sheets", $e);
|
|
1320
1319
|
var _, be, jt, pe;
|
|
1321
1320
|
const as = class as {
|
|
1322
1321
|
constructor(n) {
|
|
1323
|
-
|
|
1324
|
-
|
|
1322
|
+
d(this, _);
|
|
1323
|
+
d(this, be, /* @__PURE__ */ h(() => {
|
|
1325
1324
|
t(this, pe).call(this), new ResizeObserver((n) => {
|
|
1326
1325
|
for (let e of n)
|
|
1327
1326
|
t(this, _).getAttribute("auto-height") === "true" && t(this, jt).call(this);
|
|
1328
1327
|
}).observe(t(this, _));
|
|
1329
1328
|
}, "#init"));
|
|
1330
|
-
|
|
1329
|
+
d(this, jt, /* @__PURE__ */ h(() => {
|
|
1331
1330
|
var c, l;
|
|
1332
1331
|
const n = Array.from(t(this, _).shadowRoot.querySelectorAll("nine-table-sheet.active"));
|
|
1333
1332
|
if (n.length === 0) return;
|
|
1334
|
-
const e = parseInt(t(this, _).getAttribute("max-display-row"), 10) || 10, s = Math.max(...n.map((
|
|
1333
|
+
const e = parseInt(t(this, _).getAttribute("max-display-row"), 10) || 10, s = Math.max(...n.map((g) => g.getRowHeight())), r = (c = t(this, _).shadowRoot.querySelector("nine-table-header")) == null ? void 0 : c.getBoundingClientRect().height, i = (l = t(this, _).shadowRoot.querySelector("nine-table-sheets-footer")) == null ? void 0 : l.getBoundingClientRect().height, o = Zt.SCROLLBAR_SIZE, a = e * s + r + i + o;
|
|
1335
1334
|
t(this, _).style.height = `${a}px`;
|
|
1336
1335
|
}, "#applyAutoHeight"));
|
|
1337
|
-
|
|
1336
|
+
d(this, pe, /* @__PURE__ */ h(() => {
|
|
1338
1337
|
const e = Array.from(t(this, _).children).filter((c) => c.tagName === "TABLE"), s = t(this, _).getAttribute("auto-height") === "true", r = e.length, i = e.map((c, l) => {
|
|
1339
|
-
const
|
|
1340
|
-
return
|
|
1338
|
+
const f = `<nine-table-sheet class="${l === 0 ? "active" : ""}" data-index="${l}"></nine-table-sheet>`, b = l < r - 1 ? `<nine-splitter class="h" data-split-index="${l}"></nine-splitter>` : "";
|
|
1339
|
+
return f + b;
|
|
1341
1340
|
}).join(""), o = e.map((c, l) => `<div class="nine-tab-item ${l === 0 ? "active" : ""}" data-index="${l}">Sheet ${l + 1}</div>`).join("");
|
|
1342
1341
|
t(this, _).shadowRoot.innerHTML = `
|
|
1343
1342
|
<style>
|
|
@@ -1470,14 +1469,14 @@ const as = class as {
|
|
|
1470
1469
|
y(this, _, n), t(this, be).call(this);
|
|
1471
1470
|
}
|
|
1472
1471
|
};
|
|
1473
|
-
_ = new WeakMap(), be = new WeakMap(), jt = new WeakMap(), pe = new WeakMap(),
|
|
1472
|
+
_ = new WeakMap(), be = new WeakMap(), jt = new WeakMap(), pe = new WeakMap(), h(as, "LayoutManager");
|
|
1474
1473
|
let Ne = as;
|
|
1475
1474
|
var Yt, wt;
|
|
1476
1475
|
const ls = class ls {
|
|
1477
1476
|
constructor(n) {
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
q(this, "count", /* @__PURE__ */
|
|
1477
|
+
d(this, Yt);
|
|
1478
|
+
d(this, wt, -1);
|
|
1479
|
+
q(this, "count", /* @__PURE__ */ h(() => t(this, Yt).rawRecords.length, "count"));
|
|
1481
1480
|
y(this, Yt, n);
|
|
1482
1481
|
}
|
|
1483
1482
|
get at() {
|
|
@@ -1488,18 +1487,18 @@ const ls = class ls {
|
|
|
1488
1487
|
});
|
|
1489
1488
|
}
|
|
1490
1489
|
};
|
|
1491
|
-
Yt = new WeakMap(), wt = new WeakMap(),
|
|
1490
|
+
Yt = new WeakMap(), wt = new WeakMap(), h(ls, "ngRow");
|
|
1492
1491
|
let _e = ls;
|
|
1493
1492
|
var D, I, W, vt, ye, J, me, ft, Vt, xe, we, St;
|
|
1494
1493
|
const P = class P {
|
|
1495
1494
|
constructor(n, e) {
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1495
|
+
d(this, D);
|
|
1496
|
+
d(this, I);
|
|
1497
|
+
d(this, W, []);
|
|
1498
|
+
d(this, vt, []);
|
|
1499
|
+
d(this, ye, 0);
|
|
1500
|
+
d(this, J, []);
|
|
1501
|
+
d(this, me, /* @__PURE__ */ h(() => {
|
|
1503
1502
|
y(this, J, []);
|
|
1504
1503
|
const n = t(this, D).template || [];
|
|
1505
1504
|
Array.from(n).forEach((e) => {
|
|
@@ -1509,13 +1508,13 @@ const P = class P {
|
|
|
1509
1508
|
e.__ng || (e.__ng = t(this, Vt).call(this)), e.__ng.height = t(this, J).slice();
|
|
1510
1509
|
});
|
|
1511
1510
|
}, "#initialize"));
|
|
1512
|
-
|
|
1511
|
+
d(this, ft, /* @__PURE__ */ h(() => {
|
|
1513
1512
|
const n = t(this, D).shadowRoot.querySelector("nine-table-sheets");
|
|
1514
1513
|
n == null || n.classList.toggle("nodata", this.length === 0), t(this, D).shadowRoot.querySelectorAll("nine-table-sheet").forEach((e) => {
|
|
1515
1514
|
e.invalidate();
|
|
1516
1515
|
});
|
|
1517
1516
|
}, "#invalidate"));
|
|
1518
|
-
q(this, "get", /* @__PURE__ */
|
|
1517
|
+
q(this, "get", /* @__PURE__ */ h((n, e) => {
|
|
1519
1518
|
var i;
|
|
1520
1519
|
const s = this.getValidData();
|
|
1521
1520
|
if (!s || s.length <= 0) return;
|
|
@@ -1528,10 +1527,10 @@ const P = class P {
|
|
|
1528
1527
|
}
|
|
1529
1528
|
return t(this, St).call(this, s[n]);
|
|
1530
1529
|
}, "get"));
|
|
1531
|
-
q(this, "set", /* @__PURE__ */
|
|
1530
|
+
q(this, "set", /* @__PURE__ */ h((n) => {
|
|
1532
1531
|
this.clear(), this.add(n, !1), t(this, ft).call(this);
|
|
1533
1532
|
}, "set"));
|
|
1534
|
-
|
|
1533
|
+
d(this, Vt, /* @__PURE__ */ h(() => ({
|
|
1535
1534
|
rowState: P.ROW_STATE.EMPTY,
|
|
1536
1535
|
deleted: !1,
|
|
1537
1536
|
filtered: !1,
|
|
@@ -1540,14 +1539,14 @@ const P = class P {
|
|
|
1540
1539
|
c: {},
|
|
1541
1540
|
_: [0, 0, 0, 0, P.ROW_STATE.EMPTY, !1, !1, !0, !1, !0, !0, !1, t(this, J).slice(), -1, {}, {}]
|
|
1542
1541
|
}), "#getDefaultMeta"));
|
|
1543
|
-
q(this, "reset", /* @__PURE__ */
|
|
1542
|
+
q(this, "reset", /* @__PURE__ */ h(() => {
|
|
1544
1543
|
y(this, W, []), y(this, vt, []), t(this, ft).call(this);
|
|
1545
1544
|
}, "reset"));
|
|
1546
|
-
q(this, "clear", /* @__PURE__ */
|
|
1545
|
+
q(this, "clear", /* @__PURE__ */ h(() => {
|
|
1547
1546
|
var n;
|
|
1548
1547
|
t(this, I).rawRecords = [], y(this, W, []), y(this, vt, []), (n = t(this, I).viewRecords) != null && n.reset && t(this, I).viewRecords.reset();
|
|
1549
1548
|
}, "clear"));
|
|
1550
|
-
|
|
1549
|
+
d(this, xe, /* @__PURE__ */ h((n) => {
|
|
1551
1550
|
var r;
|
|
1552
1551
|
Array.isArray(n) || (n = [n]);
|
|
1553
1552
|
const e = typeof ((r = t(this, D).fields) == null ? void 0 : r.get) == "function" ? t(this, D).fields.get() : Object.keys(n[0] || {}), s = [];
|
|
@@ -1558,10 +1557,10 @@ const P = class P {
|
|
|
1558
1557
|
}), s.push(o);
|
|
1559
1558
|
}), s;
|
|
1560
1559
|
}, "#json2Array"));
|
|
1561
|
-
|
|
1560
|
+
d(this, we, /* @__PURE__ */ h((n) => (Array.isArray(n) || (n = [n]), n.forEach((e) => {
|
|
1562
1561
|
e.__ng = t(this, Vt).call(this), e.__ng.rowid = this.nextId, e.__ng.rowState = P.ROW_STATE.INSERT, e.__ng._[0] = e.__ng.rowid;
|
|
1563
1562
|
}), n), "#defaultInsert"));
|
|
1564
|
-
q(this, "add", /* @__PURE__ */
|
|
1563
|
+
q(this, "add", /* @__PURE__ */ h((n, e = !0) => {
|
|
1565
1564
|
n === void 0 && (n = {});
|
|
1566
1565
|
const s = t(this, xe).call(this, n);
|
|
1567
1566
|
t(this, I).rawRecords = t(this, I).rawRecords.concat(t(this, we).call(this, s)), this.resetRecords();
|
|
@@ -1571,7 +1570,7 @@ const P = class P {
|
|
|
1571
1570
|
a && (a.__ng.rowState = P.ROW_STATE.EMPTY);
|
|
1572
1571
|
}), t(this, ft).call(this), r;
|
|
1573
1572
|
}, "add"));
|
|
1574
|
-
q(this, "delete", /* @__PURE__ */
|
|
1573
|
+
q(this, "delete", /* @__PURE__ */ h((n) => {
|
|
1575
1574
|
let e = [];
|
|
1576
1575
|
Array.isArray(n) ? e = n : typeof n > "u" ? e = [t(this, I).host.row.at] : e = [parseInt(n, 10)], e.sort((s, r) => r - s).forEach((s) => {
|
|
1577
1576
|
if (t(this, W)[s]) {
|
|
@@ -1582,7 +1581,7 @@ const P = class P {
|
|
|
1582
1581
|
}
|
|
1583
1582
|
}), this.resetRecords(), t(this, ft).call(this);
|
|
1584
1583
|
}, "delete"));
|
|
1585
|
-
q(this, "setValue", /* @__PURE__ */
|
|
1584
|
+
q(this, "setValue", /* @__PURE__ */ h((n, e, s) => {
|
|
1586
1585
|
var c;
|
|
1587
1586
|
n = parseInt(n, 10);
|
|
1588
1587
|
const i = (typeof ((c = t(this, D).fields) == null ? void 0 : c.get) == "function" ? t(this, D).fields.get() : []).indexOf(e);
|
|
@@ -1592,26 +1591,26 @@ const P = class P {
|
|
|
1592
1591
|
const a = o.v[i];
|
|
1593
1592
|
a !== s && o.__ng.rowState !== P.ROW_STATE.INSERT && (o.__ng.o.hasOwnProperty(e) || (o.__ng.o[e] = a), o.__ng.rowState = P.ROW_STATE.UPDATE), o.v[i] = s;
|
|
1594
1593
|
}, "setValue"));
|
|
1595
|
-
q(this, "resetRecords", /* @__PURE__ */
|
|
1594
|
+
q(this, "resetRecords", /* @__PURE__ */ h(() => {
|
|
1596
1595
|
y(this, vt, t(this, I).rawRecords.filter((n) => !n.__ng.deleted)), y(this, W, t(this, I).rawRecords.filter((n) => !n.__ng.deleted && !n.__ng.filtered)), t(this, I).rawRecords.forEach((n, e) => {
|
|
1597
1596
|
n.__ng.rowidx = e;
|
|
1598
1597
|
}), t(this, W).forEach((n, e) => {
|
|
1599
1598
|
n.__ng.i = e;
|
|
1600
1599
|
});
|
|
1601
1600
|
}, "resetRecords"));
|
|
1602
|
-
q(this, "getValidData", /* @__PURE__ */
|
|
1603
|
-
|
|
1601
|
+
q(this, "getValidData", /* @__PURE__ */ h(() => (t(this, W).length === 0 && t(this, I).rawRecords.length > 0 && this.resetRecords(), t(this, W)), "getValidData"));
|
|
1602
|
+
d(this, St, /* @__PURE__ */ h((n) => {
|
|
1604
1603
|
var o;
|
|
1605
1604
|
if (!n) return n;
|
|
1606
1605
|
const e = !Array.isArray(n), s = e ? [n] : n, r = typeof ((o = t(this, D).fields) == null ? void 0 : o.get) == "function" ? t(this, D).fields.get() : [], i = s.filter((a) => !a.__ng.deleted).map((a) => {
|
|
1607
1606
|
const c = {};
|
|
1608
|
-
return r.forEach((l,
|
|
1609
|
-
c[l] = a.v ? a.v[
|
|
1607
|
+
return r.forEach((l, g) => {
|
|
1608
|
+
c[l] = a.v ? a.v[g] : a[l];
|
|
1610
1609
|
}), c.__ng = a.__ng, c;
|
|
1611
1610
|
});
|
|
1612
1611
|
return e ? i[0] : i;
|
|
1613
1612
|
}, "#conv"));
|
|
1614
|
-
q(this, "count", /* @__PURE__ */
|
|
1613
|
+
q(this, "count", /* @__PURE__ */ h(() => this.getValidData().length, "count"));
|
|
1615
1614
|
y(this, D, n), y(this, I, e), t(this, me).call(this);
|
|
1616
1615
|
}
|
|
1617
1616
|
get source() {
|
|
@@ -1633,7 +1632,7 @@ const P = class P {
|
|
|
1633
1632
|
return this.length;
|
|
1634
1633
|
}
|
|
1635
1634
|
};
|
|
1636
|
-
D = new WeakMap(), I = new WeakMap(), W = new WeakMap(), vt = new WeakMap(), ye = new WeakMap(), J = new WeakMap(), me = new WeakMap(), ft = new WeakMap(), Vt = new WeakMap(), xe = new WeakMap(), we = new WeakMap(), St = new WeakMap(),
|
|
1635
|
+
D = new WeakMap(), I = new WeakMap(), W = new WeakMap(), vt = new WeakMap(), ye = new WeakMap(), J = new WeakMap(), me = new WeakMap(), ft = new WeakMap(), Vt = new WeakMap(), xe = new WeakMap(), we = new WeakMap(), St = new WeakMap(), h(P, "ngData"), // 🎯 행 상태 정의 상수를 클래스 내부로 내재화
|
|
1637
1636
|
q(P, "ROW_STATE", {
|
|
1638
1637
|
EMPTY: "EMPTY",
|
|
1639
1638
|
NORMAL: "NORMAL",
|
|
@@ -1645,7 +1644,7 @@ let Oe = P;
|
|
|
1645
1644
|
var ut;
|
|
1646
1645
|
const cs = class cs {
|
|
1647
1646
|
constructor(n) {
|
|
1648
|
-
|
|
1647
|
+
d(this, ut);
|
|
1649
1648
|
y(this, ut, n), this.row = new _e(this), this.data = new Oe(t(this, ut), this), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.pageCnt = 25, this.viewRecords.reset = () => {
|
|
1650
1649
|
var e;
|
|
1651
1650
|
(e = t(this, ut).view) != null && e.redraw && t(this, ut).view.redraw();
|
|
@@ -1663,26 +1662,26 @@ const cs = class cs {
|
|
|
1663
1662
|
}, this.setDataSource([]);
|
|
1664
1663
|
}
|
|
1665
1664
|
};
|
|
1666
|
-
ut = new WeakMap(),
|
|
1665
|
+
ut = new WeakMap(), h(cs, "ngDataManager");
|
|
1667
1666
|
let De = cs;
|
|
1668
1667
|
var Rt, H, Ut, ve;
|
|
1669
1668
|
const hs = class hs {
|
|
1670
1669
|
// 🎯 이제 { name: string, type: string } 객체들의 배열로 관리합니다.
|
|
1671
1670
|
constructor(n) {
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
q(this, "add", /* @__PURE__ */
|
|
1671
|
+
d(this, Rt);
|
|
1672
|
+
d(this, H, []);
|
|
1673
|
+
q(this, "add", /* @__PURE__ */ h((n, e = "string") => {
|
|
1675
1674
|
n.forEach((s) => {
|
|
1676
1675
|
t(this, H).some((r) => r.name === s) || t(this, H).push({ name: s, type: e });
|
|
1677
1676
|
}), t(this, Ut).call(this);
|
|
1678
1677
|
}, "add"));
|
|
1679
|
-
|
|
1678
|
+
d(this, Ut, /* @__PURE__ */ h(() => {
|
|
1680
1679
|
const n = /* @__PURE__ */ new Map();
|
|
1681
1680
|
t(this, H).forEach((e) => {
|
|
1682
1681
|
n.set(e.name, e.type);
|
|
1683
1682
|
}), y(this, H, Array.from(n, ([e, s]) => ({ name: e, type: s }))), y(this, H, t(this, H).filter((e) => e.name !== "" && e.name !== "__ng")), t(this, H).sort((e, s) => e.name.length < s.name.length ? 1 : -1);
|
|
1684
1683
|
}, "#adjust"));
|
|
1685
|
-
|
|
1684
|
+
d(this, ve, /* @__PURE__ */ h(() => {
|
|
1686
1685
|
y(this, H, []), S.log(t(this, Rt).querySelectorAll("table"));
|
|
1687
1686
|
const n = Array.from(t(this, Rt).querySelectorAll("table"));
|
|
1688
1687
|
if (!(!n || n.length === 0)) {
|
|
@@ -1736,16 +1735,16 @@ const hs = class hs {
|
|
|
1736
1735
|
return t(this, H).some((e) => e.name === n);
|
|
1737
1736
|
}
|
|
1738
1737
|
};
|
|
1739
|
-
Rt = new WeakMap(), H = new WeakMap(), Ut = new WeakMap(), ve = new WeakMap(),
|
|
1738
|
+
Rt = new WeakMap(), H = new WeakMap(), Ut = new WeakMap(), ve = new WeakMap(), h(hs, "ngFields");
|
|
1740
1739
|
let Be = hs;
|
|
1741
1740
|
var gt, Se, Re;
|
|
1742
1741
|
const ds = class ds extends HTMLElement {
|
|
1743
1742
|
constructor() {
|
|
1744
1743
|
super();
|
|
1745
1744
|
//#created = false;
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1745
|
+
d(this, gt);
|
|
1746
|
+
d(this, Se);
|
|
1747
|
+
d(this, Re, /* @__PURE__ */ h(() => {
|
|
1749
1748
|
this.fields = new Be(this), y(this, Se, new Ne(this)), S.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } }));
|
|
1750
1749
|
}, "#init"));
|
|
1751
1750
|
this.attachShadow({ mode: "open" }), y(this, gt, new De(this));
|
|
@@ -1769,7 +1768,7 @@ const ds = class ds extends HTMLElement {
|
|
|
1769
1768
|
return t(this, gt);
|
|
1770
1769
|
}
|
|
1771
1770
|
};
|
|
1772
|
-
gt = new WeakMap(), Se = new WeakMap(), Re = new WeakMap(),
|
|
1771
|
+
gt = new WeakMap(), Se = new WeakMap(), Re = new WeakMap(), h(ds, "NineTable");
|
|
1773
1772
|
let We = ds;
|
|
1774
1773
|
customElements.get("nine-table") || customElements.define("nine-table", We);
|
|
1775
1774
|
const Tt = class Tt extends HTMLElement {
|
|
@@ -1783,20 +1782,20 @@ const Tt = class Tt extends HTMLElement {
|
|
|
1783
1782
|
connectedCallback() {
|
|
1784
1783
|
}
|
|
1785
1784
|
};
|
|
1786
|
-
|
|
1785
|
+
h(Tt, "BasicCellElement"), q(Tt, "_styleCache", /* @__PURE__ */ new Map()), q(Tt, "_customStyleCache", /* @__PURE__ */ new Map());
|
|
1787
1786
|
let ze = Tt;
|
|
1788
1787
|
var L, Xt, v, Xe, Ke, Ge, Ze, Je;
|
|
1789
1788
|
const fs = class fs extends ze {
|
|
1790
1789
|
constructor() {
|
|
1791
1790
|
super();
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
q(this, "getDisplayText", /* @__PURE__ */
|
|
1791
|
+
d(this, L);
|
|
1792
|
+
d(this, Xt);
|
|
1793
|
+
d(this, v);
|
|
1794
|
+
d(this, Xe);
|
|
1795
|
+
d(this, Ke);
|
|
1796
|
+
d(this, Ge);
|
|
1797
|
+
d(this, Ze);
|
|
1798
|
+
q(this, "getDisplayText", /* @__PURE__ */ h((e) => {
|
|
1800
1799
|
if (t(this, v))
|
|
1801
1800
|
if (t(this, v).closest("tbody")) {
|
|
1802
1801
|
const s = t(this, v).closest("tr").data, r = parseInt(t(this, v).dataset.row);
|
|
@@ -1816,7 +1815,7 @@ const fs = class fs extends ze {
|
|
|
1816
1815
|
} catch {
|
|
1817
1816
|
}
|
|
1818
1817
|
}, "getDisplayText"));
|
|
1819
|
-
|
|
1818
|
+
d(this, Je, /* @__PURE__ */ h(() => {
|
|
1820
1819
|
if (!(!t(this, L) || !t(this, L).template || !t(this, v).closest("tbody.bindable"))) {
|
|
1821
1820
|
var e = ninegrid.j.querySelectorAll(t(this, v)).attr("suppress");
|
|
1822
1821
|
if (e && (e = parseInt(e)), e && !isNaN(e)) {
|
|
@@ -1829,10 +1828,10 @@ const fs = class fs extends ze {
|
|
|
1829
1828
|
if (parseInt(s.sectionRowIndex / t(this, L).template.length) > 0)
|
|
1830
1829
|
for (var o of r) {
|
|
1831
1830
|
if (o > e) break;
|
|
1832
|
-
var a = parseInt(t(this, v).dataset.row), c = a - 1, l = t(this, v).closest("tr").data,
|
|
1831
|
+
var a = parseInt(t(this, v).dataset.row), c = a - 1, l = t(this, v).closest("tr").data, g = t(this, L).data.get(c);
|
|
1833
1832
|
t(this, v).dataset.matrixRow;
|
|
1834
|
-
var
|
|
1835
|
-
if (b !=
|
|
1833
|
+
var f = t(this, L).body.querySelector(`tbody.bindable [suppress="${o}"][data-matrix-row="${t(this, v).dataset.matrixRow}"]`), b = f.dataset.expr ? this.getExprValue(f.dataset.expr, l, a) : l[f.dataset.bind], u = f.dataset.expr ? this.getExprValue(f.dataset.expr, g, c) : g[f.dataset.bind];
|
|
1834
|
+
if (b != u) {
|
|
1836
1835
|
i = !0;
|
|
1837
1836
|
break;
|
|
1838
1837
|
}
|
|
@@ -1845,7 +1844,7 @@ const fs = class fs extends ze {
|
|
|
1845
1844
|
}
|
|
1846
1845
|
}
|
|
1847
1846
|
}, "#resetSuppress"));
|
|
1848
|
-
q(this, "getExprValue", /* @__PURE__ */
|
|
1847
|
+
q(this, "getExprValue", /* @__PURE__ */ h((e, s, r, i) => {
|
|
1849
1848
|
if (typeof e < "u")
|
|
1850
1849
|
try {
|
|
1851
1850
|
r = parseInt(r);
|
|
@@ -1881,7 +1880,7 @@ const fs = class fs extends ze {
|
|
|
1881
1880
|
return parseInt(t(this, v).dataset.row), t(this, Xt).data[e];
|
|
1882
1881
|
}
|
|
1883
1882
|
};
|
|
1884
|
-
L = new WeakMap(), Xt = new WeakMap(), v = new WeakMap(), Xe = new WeakMap(), Ke = new WeakMap(), Ge = new WeakMap(), Ze = new WeakMap(), Je = new WeakMap(),
|
|
1883
|
+
L = new WeakMap(), Xt = new WeakMap(), v = new WeakMap(), Xe = new WeakMap(), Ke = new WeakMap(), Ge = new WeakMap(), Ze = new WeakMap(), Je = new WeakMap(), h(fs, "CellElement");
|
|
1885
1884
|
let Pe = fs;
|
|
1886
1885
|
const us = class us extends Pe {
|
|
1887
1886
|
constructor() {
|
|
@@ -1894,19 +1893,19 @@ const us = class us extends Pe {
|
|
|
1894
1893
|
return super.refresh();
|
|
1895
1894
|
}
|
|
1896
1895
|
};
|
|
1897
|
-
|
|
1896
|
+
h(us, "EditableCellElement");
|
|
1898
1897
|
let Fe = us;
|
|
1899
1898
|
var Kt, bt, At, Et, Ae, Q, Qe;
|
|
1900
1899
|
const gs = class gs extends Fe {
|
|
1901
1900
|
constructor() {
|
|
1902
1901
|
super();
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
q(this, "refresh", /* @__PURE__ */
|
|
1902
|
+
d(this, Kt);
|
|
1903
|
+
d(this, bt);
|
|
1904
|
+
d(this, At);
|
|
1905
|
+
d(this, Et);
|
|
1906
|
+
d(this, Ae);
|
|
1907
|
+
d(this, Q);
|
|
1908
|
+
q(this, "refresh", /* @__PURE__ */ h(() => {
|
|
1910
1909
|
const e = super.refresh();
|
|
1911
1910
|
t(this, Kt).value = e;
|
|
1912
1911
|
}, "refresh"));
|
|
@@ -1940,7 +1939,7 @@ const gs = class gs extends Fe {
|
|
|
1940
1939
|
if (!v) this.reset();
|
|
1941
1940
|
};
|
|
1942
1941
|
*/
|
|
1943
|
-
|
|
1942
|
+
d(this, Qe, /* @__PURE__ */ h((e) => {
|
|
1944
1943
|
if (!["Escape", "Enter", "Tab", "Home", "End", "ArrowLeft", "ArrowRight", "PageUp", "PageDown", "Backspace", "Delete"].includes(e.code)) {
|
|
1945
1944
|
if (t(this, bt) == "number") {
|
|
1946
1945
|
let i = [];
|
|
@@ -1968,7 +1967,7 @@ const gs = class gs extends Fe {
|
|
|
1968
1967
|
`, super.connectedCallback(), y(this, Kt, this.querySelector("input"));
|
|
1969
1968
|
}
|
|
1970
1969
|
};
|
|
1971
|
-
Kt = new WeakMap(), bt = new WeakMap(), At = new WeakMap(), Et = new WeakMap(), Ae = new WeakMap(), Q = new WeakMap(), Qe = new WeakMap(),
|
|
1970
|
+
Kt = new WeakMap(), bt = new WeakMap(), At = new WeakMap(), Et = new WeakMap(), Ae = new WeakMap(), Q = new WeakMap(), Qe = new WeakMap(), h(gs, "CellInputText");
|
|
1972
1971
|
let je = gs;
|
|
1973
1972
|
customElements.get("cell-input-text");
|
|
1974
1973
|
customElements.get("cell-input") || customElements.define("cell-input", je);
|