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