@ninebone/table 0.0.806 → 0.0.808
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 +488 -486
- 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
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
throw TypeError(
|
|
1
|
+
var ms = Object.defineProperty;
|
|
2
|
+
var xs = (q) => {
|
|
3
|
+
throw TypeError(q);
|
|
4
4
|
};
|
|
5
|
-
var
|
|
6
|
-
var h = (
|
|
7
|
-
var E = (
|
|
8
|
-
var t = (
|
|
9
|
-
var
|
|
5
|
+
var Rs = (q, s, e) => s in q ? ms(q, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : q[s] = e;
|
|
6
|
+
var h = (q, s) => ms(q, "name", { value: s, configurable: !0 });
|
|
7
|
+
var E = (q, s, e) => Rs(q, typeof s != "symbol" ? s + "" : s, e), Te = (q, s, e) => s.has(q) || xs("Cannot " + e);
|
|
8
|
+
var t = (q, s, e) => (Te(q, s, "read from private field"), e ? e.call(q) : s.get(q)), d = (q, s, e) => s.has(q) ? xs("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(q) : s.set(q, e), p = (q, s, e, n) => (Te(q, s, "write to private field"), n ? n.call(q, e) : s.set(q, e), e), V = (q, s, e) => (Te(q, s, "access private method"), e);
|
|
9
|
+
var ws = (q, s, e, n) => ({
|
|
10
10
|
set _(r) {
|
|
11
|
-
|
|
11
|
+
p(q, s, r, e);
|
|
12
12
|
},
|
|
13
13
|
get _() {
|
|
14
|
-
return t(
|
|
14
|
+
return t(q, s, n);
|
|
15
15
|
}
|
|
16
16
|
});
|
|
17
|
-
import { trace as
|
|
18
|
-
const
|
|
17
|
+
import { trace as As } from "@ninebone/util";
|
|
18
|
+
const es = class es extends As.constructor {
|
|
19
19
|
constructor() {
|
|
20
20
|
super(), this.init("nine-table", "green");
|
|
21
21
|
}
|
|
22
22
|
};
|
|
23
|
-
h(
|
|
24
|
-
let
|
|
25
|
-
const
|
|
26
|
-
var j,
|
|
27
|
-
const
|
|
23
|
+
h(es, "Trace");
|
|
24
|
+
let Ce = es;
|
|
25
|
+
const T = new Ce();
|
|
26
|
+
var j, G, A, tt, et, st, Jt, nt, Qt;
|
|
27
|
+
const ss = class ss extends HTMLElement {
|
|
28
28
|
constructor() {
|
|
29
29
|
super();
|
|
30
30
|
d(this, j);
|
|
31
|
-
d(this,
|
|
31
|
+
d(this, G, !1);
|
|
32
32
|
d(this, A);
|
|
33
|
-
d(this, Q);
|
|
34
33
|
d(this, tt);
|
|
35
34
|
d(this, et);
|
|
36
|
-
d(this,
|
|
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
|
-
e && (
|
|
39
|
+
e && (p(this, st, new ResizeObserver(() => {
|
|
40
40
|
this.refresh();
|
|
41
|
-
})), t(this,
|
|
41
|
+
})), t(this, st).observe(e));
|
|
42
42
|
}, "#observeResize"));
|
|
43
43
|
E(this, "refresh", /* @__PURE__ */ h(() => {
|
|
44
|
-
if (!t(this, j) || !t(this, A) || t(this,
|
|
44
|
+
if (!t(this, j) || !t(this, A) || t(this, G)) return;
|
|
45
45
|
const e = t(this, A).container, n = e.querySelector("table");
|
|
46
46
|
if (!n) return;
|
|
47
47
|
const r = t(this, A).track, i = t(this, A).thumb, o = t(this, j).querySelector(".ng-container-bottom"), a = e.clientWidth, c = n.scrollWidth;
|
|
@@ -53,15 +53,15 @@ const ts = class ts extends HTMLElement {
|
|
|
53
53
|
}
|
|
54
54
|
const l = r.clientWidth;
|
|
55
55
|
if (l <= 0) return;
|
|
56
|
-
const
|
|
57
|
-
i.style.width = `${
|
|
56
|
+
const u = Math.max(Math.min(l * (a / c), l), 20);
|
|
57
|
+
i.style.width = `${u}px`;
|
|
58
58
|
const f = e.scrollLeft, b = c - a;
|
|
59
|
-
let
|
|
60
|
-
b > 0 && (
|
|
61
|
-
const
|
|
62
|
-
|
|
59
|
+
let g = 0;
|
|
60
|
+
b > 0 && (g = parseInt(f / b * (l - u), 10)), g < 0 && (g = 0);
|
|
61
|
+
const y = l - u;
|
|
62
|
+
g > y && (g = y), i.style.left = `${g}px`, t(this, A).left.disabled = g === 0, t(this, A).right.disabled = g >= y - 1;
|
|
63
63
|
}, "refresh"));
|
|
64
|
-
d(this,
|
|
64
|
+
d(this, nt, /* @__PURE__ */ h((e) => {
|
|
65
65
|
if (!t(this, A)) return !1;
|
|
66
66
|
const n = t(this, A).container, r = n.querySelector("table");
|
|
67
67
|
if (!r) return !1;
|
|
@@ -69,22 +69,22 @@ const ts = class ts extends HTMLElement {
|
|
|
69
69
|
let a = e;
|
|
70
70
|
a < 0 && (a = 0);
|
|
71
71
|
const c = i.width - o;
|
|
72
|
-
a > c && (a = c), a = parseInt(a, 10), t(this, A).thumb.style.left = `${a}px`,
|
|
72
|
+
a > c && (a = c), a = parseInt(a, 10), t(this, A).thumb.style.left = `${a}px`, T.log("1111=========="), t(this, A).left.disabled = a === 0, t(this, A).right.disabled = a >= c - 1;
|
|
73
73
|
const l = n.clientWidth, f = r.scrollWidth - l;
|
|
74
74
|
return c > 0 && f > 0 && (n.scrollLeft = a / c * f), a > 0 && a < c - 1;
|
|
75
75
|
}, "#thumbMoveTo"));
|
|
76
|
-
d(this,
|
|
76
|
+
d(this, Qt, /* @__PURE__ */ h(() => {
|
|
77
77
|
const e = /* @__PURE__ */ h((r) => {
|
|
78
|
-
clearInterval(t(this,
|
|
78
|
+
clearInterval(t(this, tt)), clearInterval(t(this, et));
|
|
79
79
|
const i = parseInt(t(this, A).thumb.style.left || 0, 10);
|
|
80
|
-
t(this,
|
|
81
|
-
clearInterval(t(this,
|
|
80
|
+
t(this, nt).call(this, i + r), p(this, tt, setInterval(() => {
|
|
81
|
+
clearInterval(t(this, tt)), p(this, et, setInterval(() => {
|
|
82
82
|
const o = parseInt(t(this, A).thumb.style.left || 0, 10);
|
|
83
|
-
t(this,
|
|
83
|
+
t(this, nt).call(this, o + r) || clearInterval(t(this, et));
|
|
84
84
|
}, 50));
|
|
85
85
|
}, 500));
|
|
86
86
|
}, "delayScroll"), n = /* @__PURE__ */ h(() => {
|
|
87
|
-
clearInterval(t(this,
|
|
87
|
+
clearInterval(t(this, tt)), clearInterval(t(this, et));
|
|
88
88
|
}, "clearTimer");
|
|
89
89
|
["mouseup", "mouseleave", "touchend"].forEach((r) => {
|
|
90
90
|
t(this, A).left.addEventListener(r, n), t(this, A).right.addEventListener(r, n), t(this, A).track.addEventListener(r, n);
|
|
@@ -96,23 +96,23 @@ const ts = class ts extends HTMLElement {
|
|
|
96
96
|
if (r.button !== 0) return;
|
|
97
97
|
r.preventDefault();
|
|
98
98
|
const i = t(this, A).track.getBoundingClientRect(), o = t(this, A).thumb.clientWidth;
|
|
99
|
-
t(this,
|
|
99
|
+
t(this, nt).call(this, r.clientX - i.left - o / 2);
|
|
100
100
|
}), t(this, A).thumb.addEventListener("mousedown", (r) => {
|
|
101
101
|
if (r.button !== 0) return;
|
|
102
|
-
r.stopPropagation(), r.preventDefault(),
|
|
102
|
+
r.stopPropagation(), r.preventDefault(), p(this, G, !0), this.shiftX = r.clientX - t(this, A).thumb.getBoundingClientRect().left;
|
|
103
103
|
const i = /* @__PURE__ */ h((a) => {
|
|
104
|
-
if (!t(this,
|
|
104
|
+
if (!t(this, G)) return;
|
|
105
105
|
const c = t(this, A).track.getBoundingClientRect();
|
|
106
|
-
t(this,
|
|
106
|
+
t(this, nt).call(this, a.clientX - c.left - this.shiftX);
|
|
107
107
|
}, "onMouseMove"), o = /* @__PURE__ */ h(() => {
|
|
108
|
-
|
|
108
|
+
p(this, G, !1), n(), document.removeEventListener("mousemove", i), document.removeEventListener("mouseup", o), this.refresh();
|
|
109
109
|
}, "onMouseUp");
|
|
110
110
|
document.addEventListener("mousemove", i), document.addEventListener("mouseup", o);
|
|
111
111
|
});
|
|
112
112
|
}, "#init"));
|
|
113
113
|
}
|
|
114
114
|
connectedCallback() {
|
|
115
|
-
if (
|
|
115
|
+
if (p(this, j, this.closest("nine-table-sheet") || this.getRootNode().host), !t(this, j)) return;
|
|
116
116
|
this.innerHTML = `
|
|
117
117
|
<style>
|
|
118
118
|
nine-table-hscrollbar {
|
|
@@ -182,38 +182,38 @@ const ts = class ts extends HTMLElement {
|
|
|
182
182
|
setTimeout(e, 10);
|
|
183
183
|
return;
|
|
184
184
|
}
|
|
185
|
-
|
|
185
|
+
p(this, A, {
|
|
186
186
|
container: n,
|
|
187
187
|
track: this.querySelector(".ng-scroll-track"),
|
|
188
188
|
thumb: this.querySelector(".ng-scroll-thumb"),
|
|
189
189
|
left: this.querySelector(".ng-scroll-left"),
|
|
190
190
|
right: this.querySelector(".ng-scroll-right")
|
|
191
191
|
}), n.addEventListener("scroll", () => {
|
|
192
|
-
t(this,
|
|
193
|
-
}), t(this,
|
|
192
|
+
t(this, G) || this.refresh();
|
|
193
|
+
}), t(this, Qt).call(this), t(this, Jt).call(this), this.refresh();
|
|
194
194
|
}, "initWhenReady");
|
|
195
195
|
e();
|
|
196
196
|
}
|
|
197
197
|
disconnectedCallback() {
|
|
198
|
-
t(this,
|
|
198
|
+
t(this, st) && t(this, st).disconnect();
|
|
199
199
|
}
|
|
200
200
|
};
|
|
201
|
-
j = new WeakMap(),
|
|
202
|
-
let
|
|
203
|
-
customElements.get("nine-table-hscrollbar") || customElements.define("nine-table-hscrollbar",
|
|
204
|
-
var
|
|
205
|
-
const
|
|
201
|
+
j = new WeakMap(), G = new WeakMap(), A = new WeakMap(), tt = new WeakMap(), et = new WeakMap(), st = new WeakMap(), Jt = new WeakMap(), nt = new WeakMap(), Qt = new WeakMap(), h(ss, "NineTableHScrollBar");
|
|
202
|
+
let ke = ss;
|
|
203
|
+
customElements.get("nine-table-hscrollbar") || customElements.define("nine-table-hscrollbar", ke);
|
|
204
|
+
var rt, ot, mt, k, Lt, It, te;
|
|
205
|
+
const ns = class ns extends HTMLElement {
|
|
206
206
|
constructor() {
|
|
207
207
|
super();
|
|
208
|
-
d(this, nt);
|
|
209
208
|
d(this, rt);
|
|
210
|
-
d(this,
|
|
209
|
+
d(this, ot);
|
|
210
|
+
d(this, mt, !1);
|
|
211
211
|
d(this, k);
|
|
212
|
-
d(this, kt, 0);
|
|
213
212
|
d(this, Lt, 0);
|
|
213
|
+
d(this, It, 0);
|
|
214
214
|
E(this, "refresh", /* @__PURE__ */ h(() => {
|
|
215
|
-
if (
|
|
216
|
-
const e = t(this, k).container, n = t(this, k).track, r = t(this, k).thumb, i = e.clientHeight, o = t(this,
|
|
215
|
+
if (!t(this, rt) || !t(this, k)) return;
|
|
216
|
+
const e = t(this, k).container, n = 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) {
|
|
218
218
|
this.style.display = "none";
|
|
219
219
|
return;
|
|
@@ -221,44 +221,43 @@ const es = class es extends HTMLElement {
|
|
|
221
221
|
this.style.display = "flex";
|
|
222
222
|
const l = n.clientHeight;
|
|
223
223
|
if (l <= 0) return;
|
|
224
|
-
const
|
|
225
|
-
r.style.height = `${
|
|
224
|
+
const u = Math.max(Math.min(l * (i / c), l), 20);
|
|
225
|
+
r.style.height = `${u}px`;
|
|
226
226
|
const f = e.scrollTop, b = Math.max(c - i, 1);
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
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;
|
|
227
|
+
let g = 0;
|
|
228
|
+
b > 0 && (g = f / b * (l - u));
|
|
229
|
+
const y = l - u;
|
|
230
|
+
g < 0 && (g = 0), g > y && (g = y), r.style.top = `${g}px`, t(this, k).top.disabled = f <= 0, t(this, k).bottom.disabled = f >= b - 1;
|
|
232
231
|
}, "refresh"));
|
|
233
|
-
d(this,
|
|
234
|
-
|
|
232
|
+
d(this, te, /* @__PURE__ */ h(() => {
|
|
233
|
+
T.log("nine-table-vscrollbar.#init");
|
|
235
234
|
const e = t(this, k).container, n = /* @__PURE__ */ h(() => {
|
|
236
|
-
const i = (t(this,
|
|
235
|
+
const i = (t(this, rt).data.get() || []).length, o = t(this, ot).getRowHeight();
|
|
237
236
|
return i * o;
|
|
238
237
|
}, "getContentHeight");
|
|
239
238
|
t(this, k).thumb.addEventListener("mousedown", (r) => {
|
|
240
239
|
if (r.button !== 0) return;
|
|
241
|
-
r.stopPropagation(), r.preventDefault(),
|
|
240
|
+
r.stopPropagation(), r.preventDefault(), p(this, mt, !0), p(this, Lt, r.clientY), p(this, It, e.scrollTop);
|
|
242
241
|
const i = /* @__PURE__ */ h((a) => {
|
|
243
|
-
if (!t(this,
|
|
244
|
-
const c = t(this, k).track.getBoundingClientRect(), l = t(this, k).thumb.clientHeight, f = c.height - l, b = a.clientY - t(this,
|
|
242
|
+
if (!t(this, mt)) return;
|
|
243
|
+
const c = t(this, k).track.getBoundingClientRect(), l = t(this, k).thumb.clientHeight, f = c.height - l, b = a.clientY - t(this, Lt), g = e.clientHeight, y = n(), x = Math.max(y - g, 1);
|
|
245
244
|
if (f > 0 && x > 0) {
|
|
246
245
|
const w = b / f * x;
|
|
247
|
-
let m = t(this,
|
|
248
|
-
const
|
|
249
|
-
m < 0 && (m = 0), m >
|
|
246
|
+
let m = t(this, It) + w;
|
|
247
|
+
const C = Math.max(0, y - g);
|
|
248
|
+
m < 0 && (m = 0), m > C && (m = C), e.scrollTop = m;
|
|
250
249
|
}
|
|
251
250
|
this.refresh();
|
|
252
251
|
}, "onMouseMove"), o = /* @__PURE__ */ h(() => {
|
|
253
|
-
|
|
252
|
+
p(this, mt, !1), document.removeEventListener("mousemove", i), document.removeEventListener("mouseup", o), this.refresh();
|
|
254
253
|
}, "onMouseUp");
|
|
255
254
|
document.addEventListener("mousemove", i), document.addEventListener("mouseup", o);
|
|
256
255
|
}), t(this, k).track.addEventListener("mousedown", (r) => {
|
|
257
256
|
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,
|
|
257
|
+
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, f = n(), b = Math.max(f - u, 1);
|
|
259
258
|
if (l > 0 && b > 0) {
|
|
260
|
-
const
|
|
261
|
-
e.scrollTop =
|
|
259
|
+
const g = Math.max(0, Math.min(1, a / l));
|
|
260
|
+
e.scrollTop = g * b;
|
|
262
261
|
}
|
|
263
262
|
this.refresh();
|
|
264
263
|
}), t(this, k).top.addEventListener("click", () => {
|
|
@@ -269,7 +268,7 @@ const es = class es extends HTMLElement {
|
|
|
269
268
|
}, "#init"));
|
|
270
269
|
}
|
|
271
270
|
connectedCallback() {
|
|
272
|
-
|
|
271
|
+
p(this, rt, this.getRootNode().host), p(this, ot, this.closest("nine-table-sheet")), this.innerHTML = `
|
|
273
272
|
<style>
|
|
274
273
|
nine-table-vscrollbar {
|
|
275
274
|
display: flex;
|
|
@@ -334,51 +333,53 @@ const es = class es extends HTMLElement {
|
|
|
334
333
|
<button class='ng-scroll-bottom' disabled><div class='ng-scroll-icon'></div></button>
|
|
335
334
|
`;
|
|
336
335
|
const e = /* @__PURE__ */ h(() => {
|
|
337
|
-
const n = t(this,
|
|
336
|
+
const n = t(this, ot).querySelector(".ng-container-body .ng-part-body");
|
|
338
337
|
if (!n) {
|
|
339
338
|
setTimeout(e, 10);
|
|
340
339
|
return;
|
|
341
340
|
}
|
|
342
|
-
|
|
341
|
+
p(this, k, {
|
|
343
342
|
container: n,
|
|
344
343
|
track: this.querySelector(".ng-scroll-track"),
|
|
345
344
|
thumb: this.querySelector(".ng-scroll-thumb"),
|
|
346
345
|
top: this.querySelector(".ng-scroll-top"),
|
|
347
346
|
bottom: this.querySelector(".ng-scroll-bottom")
|
|
348
|
-
}), t(this,
|
|
347
|
+
}), t(this, te).call(this), this.refresh();
|
|
349
348
|
}, "initWhenReady");
|
|
350
349
|
e();
|
|
351
350
|
}
|
|
352
351
|
};
|
|
353
|
-
|
|
354
|
-
let
|
|
355
|
-
customElements.get("nine-table-vscrollbar") || customElements.define("nine-table-vscrollbar",
|
|
356
|
-
var
|
|
357
|
-
const
|
|
352
|
+
rt = new WeakMap(), ot = new WeakMap(), mt = new WeakMap(), k = new WeakMap(), Lt = new WeakMap(), It = new WeakMap(), te = new WeakMap(), h(ns, "NineTableVScrollBar");
|
|
353
|
+
let Le = ns;
|
|
354
|
+
customElements.get("nine-table-vscrollbar") || customElements.define("nine-table-vscrollbar", Le);
|
|
355
|
+
var it, R, at, Y, O, Z, lt, Mt, Ue, Xe, ee, se, U, ne, Ht, $t, Nt, re, oe, _t, xt, ie, ae;
|
|
356
|
+
const rs = class rs {
|
|
358
357
|
constructor(s) {
|
|
359
|
-
d(this, ot);
|
|
360
|
-
d(this, R);
|
|
361
358
|
d(this, it);
|
|
359
|
+
d(this, R);
|
|
360
|
+
d(this, at);
|
|
362
361
|
d(this, Y, /* @__PURE__ */ new Map());
|
|
363
362
|
d(this, O, null);
|
|
364
|
-
d(this,
|
|
365
|
-
d(this,
|
|
366
|
-
d(this,
|
|
367
|
-
d(this,
|
|
368
|
-
d(this,
|
|
363
|
+
d(this, Z, null);
|
|
364
|
+
d(this, lt, 0);
|
|
365
|
+
d(this, Mt, 40);
|
|
366
|
+
d(this, Ue, !1);
|
|
367
|
+
d(this, Xe, !1);
|
|
369
368
|
//#ticking = false; // 🎯 고속 스크롤 스로틀링용 플래그
|
|
370
|
-
d(this,
|
|
369
|
+
d(this, ee, 3);
|
|
370
|
+
d(this, se, 3);
|
|
371
|
+
d(this, U, 0);
|
|
371
372
|
E(this, "refresh", /* @__PURE__ */ h(() => {
|
|
372
373
|
var e;
|
|
373
|
-
|
|
374
|
+
T.log("rowManager.refresh");
|
|
374
375
|
const s = t(this, R).querySelector(".ng-container-body .ng-part-body");
|
|
375
|
-
s && (t(this,
|
|
376
|
+
s && (t(this, Ht).call(this), t(this, $t).call(this), t(this, xt).call(this, s.scrollTop), (e = t(this, R).querySelector("nine-table-vscrollbar")) == null || e.refresh());
|
|
376
377
|
}, "refresh"));
|
|
377
378
|
E(this, "initialize", /* @__PURE__ */ h(() => {
|
|
378
|
-
|
|
379
|
+
T.log("rowManager.initialize"), p(this, at, {
|
|
379
380
|
scrollTables: t(this, R).querySelectorAll(".ng-part-body table"),
|
|
380
381
|
firstTr: t(this, R).querySelector(".ng-container-body .ng-part-body tbody.bindable-tbody tr:not(.nodata)")
|
|
381
|
-
}),
|
|
382
|
+
}), p(this, O, null), t(this, Y).clear(), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((o) => {
|
|
382
383
|
const a = t(this, R).querySelector(o);
|
|
383
384
|
if (!a) return;
|
|
384
385
|
const c = a.querySelector(".ng-part-body table");
|
|
@@ -390,14 +391,15 @@ const ss = class ss {
|
|
|
390
391
|
});
|
|
391
392
|
const s = t(this, R).querySelector(".ng-container-body .ng-part-body"), e = t(this, R).querySelector(".ng-container-left .ng-part-body"), n = t(this, R).querySelector(".ng-container-right .ng-part-body"), r = t(this, R).querySelector(".ng-container-body .ng-part-header"), i = t(this, R).querySelector(".ng-container-body .ng-part-footer");
|
|
392
393
|
if (s) {
|
|
393
|
-
t(this,
|
|
394
|
+
t(this, Ht).call(this), t(this, _t).call(this), t(this, $t).call(this), t(this, xt).call(this, s.scrollTop);
|
|
394
395
|
let o = !1;
|
|
396
|
+
p(this, U, s.scrollLeft);
|
|
395
397
|
const a = /* @__PURE__ */ h((c) => {
|
|
396
|
-
var
|
|
398
|
+
var b;
|
|
397
399
|
if (o) return;
|
|
398
400
|
o = !0;
|
|
399
|
-
const l = c.scrollTop,
|
|
400
|
-
s && s.scrollTop !== l && (s.scrollTop = l), e && e.scrollTop !== l && (e.scrollTop = l), n && n.scrollTop !== l && (n.scrollTop = l), r && r.scrollLeft !==
|
|
401
|
+
const l = c.scrollTop, u = c.scrollLeft;
|
|
402
|
+
s && s.scrollTop !== l && (s.scrollTop = l), e && e.scrollTop !== l && (e.scrollTop = l), n && n.scrollTop !== l && (n.scrollTop = l), Math.abs(u - t(this, U)) >= t(this, se) ? (r && r.scrollLeft !== u && (r.scrollLeft = u), i && i.scrollLeft !== u && (i.scrollLeft = u), p(this, U, u)) : r && r.scrollLeft !== t(this, U) && (r.scrollLeft = t(this, U), i && (i.scrollLeft = t(this, U))), t(this, xt).call(this, l), (b = t(this, R).querySelector("nine-table-vscrollbar")) == null || b.refresh(), o = !1;
|
|
401
403
|
}, "handleContainerScroll");
|
|
402
404
|
s == null || s.addEventListener("scroll", (c) => {
|
|
403
405
|
a(s);
|
|
@@ -405,31 +407,31 @@ const ss = class ss {
|
|
|
405
407
|
c == null || c.addEventListener("scroll", (l) => {
|
|
406
408
|
if (o) return;
|
|
407
409
|
o = !0;
|
|
408
|
-
const
|
|
409
|
-
s && s.scrollTop !==
|
|
410
|
+
const u = c.scrollTop;
|
|
411
|
+
s && s.scrollTop !== u && (s.scrollTop = u), o = !1;
|
|
410
412
|
});
|
|
411
413
|
});
|
|
412
414
|
}
|
|
413
415
|
}, "initialize"));
|
|
414
|
-
d(this,
|
|
415
|
-
|
|
416
|
+
d(this, ne, /* @__PURE__ */ h((s, e) => {
|
|
417
|
+
T.log("rowManager.#renderRows");
|
|
416
418
|
const n = t(this, Y).get(e);
|
|
417
419
|
if (!n || n.length === 0) return;
|
|
418
420
|
const r = s.querySelector(".ng-part-body tbody.bindable-tbody");
|
|
419
421
|
if (!r) return;
|
|
420
422
|
r.querySelectorAll("tr:not(.nodata)").forEach((a) => a.remove());
|
|
421
423
|
const i = r.querySelector("tr.nodata"), o = document.createDocumentFragment();
|
|
422
|
-
for (let a = 0; a < t(this,
|
|
424
|
+
for (let a = 0; a < t(this, Mt); a++)
|
|
423
425
|
n.forEach((c) => {
|
|
424
426
|
o.appendChild(c.cloneNode(!0));
|
|
425
427
|
});
|
|
426
|
-
i ? i.before(o) : r.appendChild(o), e === ".ng-container-body" && (t(this,
|
|
428
|
+
i ? i.before(o) : r.appendChild(o), e === ".ng-container-body" && (t(this, at).firstTr = r.querySelector("tr:not(.nodata)"));
|
|
427
429
|
}, "#renderRows"));
|
|
428
|
-
d(this,
|
|
430
|
+
d(this, Ht, /* @__PURE__ */ h(() => {
|
|
429
431
|
if (t(this, O) !== null && t(this, O) > 0)
|
|
430
432
|
return t(this, O);
|
|
431
433
|
const s = t(this, R).querySelector(".ng-container-body .ng-part-body");
|
|
432
|
-
|
|
434
|
+
T.log("rowManager.#measureAndCacheHeight");
|
|
433
435
|
const e = t(this, Y).get(".ng-container-body");
|
|
434
436
|
if (!e || e.length === 0) throw new Error("invalid dom");
|
|
435
437
|
const n = s.querySelector("tbody.bindable-tbody");
|
|
@@ -441,20 +443,20 @@ const ss = class ss {
|
|
|
441
443
|
}), r ? r.before(i) : n.appendChild(i);
|
|
442
444
|
const o = t(this, R), a = o.style.display, c = o.style.visibility, l = o.style.position;
|
|
443
445
|
(a === "none" || window.getComputedStyle(o).display === "none") && (o.style.display = "block", o.style.visibility = "hidden", o.style.position = "absolute");
|
|
444
|
-
let
|
|
446
|
+
let u = 0;
|
|
445
447
|
const f = n.querySelectorAll("tr");
|
|
446
448
|
return f.forEach((b) => {
|
|
447
|
-
let
|
|
448
|
-
if (
|
|
449
|
-
const
|
|
450
|
-
|
|
449
|
+
let g = b.offsetHeight || b.getBoundingClientRect().height;
|
|
450
|
+
if (g === 0) {
|
|
451
|
+
const y = window.getComputedStyle(b);
|
|
452
|
+
g = parseFloat(y.height) || parseFloat(y.minHeight) || 0;
|
|
451
453
|
}
|
|
452
|
-
|
|
453
|
-
}), f.forEach((b) => b.remove()), o.style.display = a, o.style.visibility = c, o.style.position = l,
|
|
454
|
+
u += g;
|
|
455
|
+
}), f.forEach((b) => b.remove()), o.style.display = a, o.style.visibility = c, o.style.position = l, u <= 0 ? -1 : (p(this, O, u), t(this, Nt).call(this), t(this, O));
|
|
454
456
|
}, "#measureAndCacheHeight"));
|
|
455
|
-
d(this,
|
|
456
|
-
|
|
457
|
-
const e = (t(this,
|
|
457
|
+
d(this, $t, /* @__PURE__ */ h(() => {
|
|
458
|
+
T.log("rowManager.#updateVirtualScrollHeight");
|
|
459
|
+
const e = (t(this, it).data.get() || []).length, n = t(this, O), r = e * n;
|
|
458
460
|
[".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((i) => {
|
|
459
461
|
const o = t(this, R).querySelector(i);
|
|
460
462
|
if (!o) return;
|
|
@@ -462,41 +464,41 @@ const ss = class ss {
|
|
|
462
464
|
a && (a.style.height = `${r}px`);
|
|
463
465
|
});
|
|
464
466
|
}, "#updateVirtualScrollHeight"));
|
|
465
|
-
d(this,
|
|
466
|
-
if (t(this,
|
|
467
|
-
const s = Math.ceil(t(this,
|
|
468
|
-
|
|
467
|
+
d(this, Nt, /* @__PURE__ */ h(() => {
|
|
468
|
+
if (t(this, lt) > 0 && t(this, O) > 0) {
|
|
469
|
+
const s = Math.ceil(t(this, lt) / t(this, O));
|
|
470
|
+
p(this, Mt, s + t(this, ee));
|
|
469
471
|
}
|
|
470
472
|
}, "#updateRowCount"));
|
|
471
|
-
d(this,
|
|
472
|
-
var a, c, l,
|
|
473
|
+
d(this, re, /* @__PURE__ */ h(() => {
|
|
474
|
+
var a, c, l, u, f, b;
|
|
473
475
|
const s = t(this, R).querySelector(".ng-container-left .ng-part-body table"), e = t(this, R).querySelector(".ng-container-body .ng-part-body table"), n = t(this, R).querySelector(".ng-container-right .ng-part-body table");
|
|
474
476
|
if (e) {
|
|
475
|
-
const
|
|
477
|
+
const g = s ? Array.from(s.querySelectorAll("tbody tr")) : [], y = Array.from(e.querySelectorAll("tbody tr")), x = n ? Array.from(n.querySelectorAll("tbody tr")) : [], w = Math.max(g.length, y.length, x.length);
|
|
476
478
|
for (let m = 0; m < w; m++) {
|
|
477
|
-
const
|
|
478
|
-
((a =
|
|
479
|
-
((c =
|
|
479
|
+
const C = [
|
|
480
|
+
((a = g[m]) == null ? void 0 : a.getBoundingClientRect().height) || 0,
|
|
481
|
+
((c = y[m]) == null ? void 0 : c.getBoundingClientRect().height) || 0,
|
|
480
482
|
((l = x[m]) == null ? void 0 : l.getBoundingClientRect().height) || 0
|
|
481
|
-
], S = Math.max(...
|
|
482
|
-
S > 0 && (
|
|
483
|
+
], S = Math.max(...C);
|
|
484
|
+
S > 0 && (g[m] && (g[m].style.height = `${S}px`), y[m] && (y[m].style.height = `${S}px`), x[m] && (x[m].style.height = `${S}px`));
|
|
483
485
|
}
|
|
484
486
|
}
|
|
485
487
|
const r = t(this, R).querySelector(".ng-container-left .ng-part-footer table"), i = t(this, R).querySelector(".ng-container-body .ng-part-footer table"), o = t(this, R).querySelector(".ng-container-right .ng-part-footer table");
|
|
486
488
|
if (i) {
|
|
487
|
-
const
|
|
489
|
+
const g = r ? Array.from(r.querySelectorAll("tfoot tr")) : [], y = Array.from(i.querySelectorAll("tfoot tr")), x = o ? Array.from(o.querySelectorAll("tfoot tr")) : [], w = Math.max(g.length, y.length, x.length);
|
|
488
490
|
for (let m = 0; m < w; m++) {
|
|
489
|
-
const
|
|
490
|
-
((
|
|
491
|
-
((f =
|
|
491
|
+
const C = [
|
|
492
|
+
((u = g[m]) == null ? void 0 : u.getBoundingClientRect().height) || 0,
|
|
493
|
+
((f = y[m]) == null ? void 0 : f.getBoundingClientRect().height) || 0,
|
|
492
494
|
((b = x[m]) == null ? void 0 : b.getBoundingClientRect().height) || 0
|
|
493
|
-
], S = Math.max(...
|
|
494
|
-
S > 0 && (
|
|
495
|
+
], S = Math.max(...C);
|
|
496
|
+
S > 0 && (g[m] && (g[m].style.height = `${S}px`), y[m] && (y[m].style.height = `${S}px`), x[m] && (x[m].style.height = `${S}px`));
|
|
495
497
|
}
|
|
496
498
|
}
|
|
497
499
|
}, "#syncRowHeights"));
|
|
498
|
-
d(this,
|
|
499
|
-
!t(this, R) || !(t(this, R) instanceof HTMLElement) || (
|
|
500
|
+
d(this, oe, /* @__PURE__ */ h(() => {
|
|
501
|
+
!t(this, R) || !(t(this, R) instanceof HTMLElement) || (p(this, Z, new ResizeObserver((s) => {
|
|
500
502
|
for (const e of s) {
|
|
501
503
|
const n = e.target;
|
|
502
504
|
if (!n.classList.contains("active")) continue;
|
|
@@ -506,41 +508,41 @@ const ss = class ss {
|
|
|
506
508
|
const o = n.querySelector(".ng-part-header"), a = n.querySelector(".ng-part-footer");
|
|
507
509
|
o && (i += o.offsetHeight), a && (i += a.offsetHeight);
|
|
508
510
|
const c = Math.max(r - i, 100);
|
|
509
|
-
t(this,
|
|
511
|
+
t(this, lt) !== c && (p(this, lt, c), t(this, Nt).call(this), t(this, O) !== null && (t(this, _t).call(this), this.refresh()));
|
|
510
512
|
}
|
|
511
513
|
}
|
|
512
|
-
})), t(this,
|
|
514
|
+
})), t(this, Z).observe(t(this, R)));
|
|
513
515
|
}, "#initResizeObserver"));
|
|
514
|
-
d(this,
|
|
515
|
-
|
|
516
|
+
d(this, _t, /* @__PURE__ */ h(() => {
|
|
517
|
+
T.log("rowManager.#renderAllContainers"), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((s) => {
|
|
516
518
|
const e = t(this, R).querySelector(s);
|
|
517
|
-
e && e.querySelector(".ng-part-body tbody.bindable-tbody") && t(this,
|
|
518
|
-
}), t(this,
|
|
519
|
+
e && e.querySelector(".ng-part-body tbody.bindable-tbody") && t(this, ne).call(this, e, s);
|
|
520
|
+
}), t(this, ae).call(this), t(this, re).call(this);
|
|
519
521
|
}, "#renderAllContainers"));
|
|
520
|
-
d(this,
|
|
522
|
+
d(this, xt, /* @__PURE__ */ h((s) => {
|
|
521
523
|
var f, b;
|
|
522
524
|
const e = t(this, O);
|
|
523
525
|
if (!e || e <= 0) return;
|
|
524
|
-
const n = t(this,
|
|
526
|
+
const n = t(this, it).data.length;
|
|
525
527
|
if (n === 0) return;
|
|
526
528
|
const r = ((f = t(this, Y).get(".ng-container-body")) == null ? void 0 : f.length) || 1, i = t(this, R).querySelector(".ng-container-body .ng-part-body"), o = Math.max(0, n - Math.floor(i.clientHeight / e)), a = Math.min(o, Math.max(0, Math.floor(s / e)));
|
|
527
529
|
let c = Math.floor(a * e);
|
|
528
|
-
const l = t(this,
|
|
529
|
-
(b = t(this,
|
|
530
|
-
|
|
531
|
-
}),
|
|
532
|
-
const
|
|
533
|
-
if (!
|
|
534
|
-
const x =
|
|
530
|
+
const l = t(this, at).firstTr, u = l && l.dataset.row !== void 0 ? parseInt(l.dataset.row, 10) : -1;
|
|
531
|
+
(b = t(this, at)) == null || b.scrollTables.forEach((g) => {
|
|
532
|
+
g.style.transform = `translate3d(0, ${c}px, 0)`;
|
|
533
|
+
}), u !== a && [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((g) => {
|
|
534
|
+
const y = t(this, R).querySelector(g);
|
|
535
|
+
if (!y) return;
|
|
536
|
+
const x = y.querySelector(".ng-part-body tbody.bindable-tbody");
|
|
535
537
|
if (!x) return;
|
|
536
|
-
Array.from(x.querySelectorAll("tr:not(.nodata)")).forEach((m,
|
|
537
|
-
const S = a + Math.floor(
|
|
538
|
+
Array.from(x.querySelectorAll("tr:not(.nodata)")).forEach((m, C) => {
|
|
539
|
+
const S = a + Math.floor(C / r);
|
|
538
540
|
if (S >= n) {
|
|
539
541
|
m.style.display = "none";
|
|
540
542
|
return;
|
|
541
543
|
}
|
|
542
|
-
const M = t(this,
|
|
543
|
-
m.style.display = "", t(this,
|
|
544
|
+
const M = t(this, it).data.get(S);
|
|
545
|
+
m.style.display = "", t(this, ie).call(this, m, M, S);
|
|
544
546
|
});
|
|
545
547
|
});
|
|
546
548
|
}, "#handleScroll"));
|
|
@@ -558,16 +560,16 @@ const ss = class ss {
|
|
|
558
560
|
cell.dataset.row = dataIndex;
|
|
559
561
|
});
|
|
560
562
|
}; */
|
|
561
|
-
d(this,
|
|
563
|
+
d(this, ie, /* @__PURE__ */ h((s, e, n) => {
|
|
562
564
|
s.dataset.row = n, s.data = e, Array.from(s.cells).forEach((r, i) => {
|
|
563
565
|
r.dataset.row = n;
|
|
564
566
|
const o = Array.from(r.children).find((a) => a.tagName.toLowerCase().startsWith("cell-") || typeof a.refresh == "function");
|
|
565
567
|
o && typeof o.refresh == "function" && o.refresh();
|
|
566
568
|
});
|
|
567
569
|
}, "#bindRowData"));
|
|
568
|
-
d(this,
|
|
569
|
-
var c, l,
|
|
570
|
-
|
|
570
|
+
d(this, ae, /* @__PURE__ */ h(() => {
|
|
571
|
+
var c, l, u;
|
|
572
|
+
T.log("rowManager.#syncHeaderHeights");
|
|
571
573
|
const s = t(this, R).querySelector(".ng-container-left .ng-part-header table"), e = t(this, R).querySelector(".ng-container-body .ng-part-header table"), n = t(this, R).querySelector(".ng-container-right .ng-part-header table");
|
|
572
574
|
if (!e) return;
|
|
573
575
|
const r = s ? Array.from(s.querySelectorAll("tr")) : [], i = Array.from(e.querySelectorAll("tr")), o = n ? Array.from(n.querySelectorAll("tr")) : [], a = Math.max(r.length, i.length, o.length);
|
|
@@ -575,15 +577,15 @@ const ss = class ss {
|
|
|
575
577
|
const b = [
|
|
576
578
|
((c = r[f]) == null ? void 0 : c.getBoundingClientRect().height) || 0,
|
|
577
579
|
((l = i[f]) == null ? void 0 : l.getBoundingClientRect().height) || 0,
|
|
578
|
-
((
|
|
579
|
-
],
|
|
580
|
-
|
|
580
|
+
((u = o[f]) == null ? void 0 : u.getBoundingClientRect().height) || 0
|
|
581
|
+
], g = Math.max(...b);
|
|
582
|
+
g > 0 && (r[f] && (r[f].style.height = `${g}px`), i[f] && (i[f].style.height = `${g}px`), o[f] && (o[f].style.height = `${g}px`));
|
|
581
583
|
}
|
|
582
584
|
}, "#syncHeaderHeights"));
|
|
583
585
|
E(this, "destroy", /* @__PURE__ */ h(() => {
|
|
584
|
-
t(this,
|
|
586
|
+
t(this, Z) && (t(this, Z).disconnect(), p(this, Z, null));
|
|
585
587
|
}, "destroy"));
|
|
586
|
-
|
|
588
|
+
p(this, it, s.getRootNode().host), p(this, R, s), t(this, oe).call(this);
|
|
587
589
|
}
|
|
588
590
|
getRowHeight() {
|
|
589
591
|
return t(this, O);
|
|
@@ -593,14 +595,14 @@ const ss = class ss {
|
|
|
593
595
|
return ((e = t(this, Y).get(s)) == null ? void 0 : e.length) || 1;
|
|
594
596
|
}
|
|
595
597
|
};
|
|
596
|
-
|
|
597
|
-
let
|
|
598
|
-
const
|
|
598
|
+
it = new WeakMap(), R = new WeakMap(), at = new WeakMap(), Y = new WeakMap(), O = new WeakMap(), Z = new WeakMap(), lt = new WeakMap(), Mt = new WeakMap(), Ue = new WeakMap(), Xe = new WeakMap(), ee = new WeakMap(), se = new WeakMap(), U = new WeakMap(), ne = new WeakMap(), Ht = new WeakMap(), $t = new WeakMap(), Nt = new WeakMap(), re = new WeakMap(), oe = new WeakMap(), _t = new WeakMap(), xt = new WeakMap(), ie = new WeakMap(), ae = new WeakMap(), h(rs, "RowManager");
|
|
599
|
+
let Ie = rs;
|
|
600
|
+
const le = class le {
|
|
599
601
|
/**
|
|
600
602
|
* 🎯 레이아웃 내의 여러 rawTables 배열을 일괄로 받아 단일 마스터 템플릿으로 사전 컴파일합니다.
|
|
601
603
|
*/
|
|
602
604
|
static compileAll(s) {
|
|
603
|
-
return Array.isArray(s) ? s.map((e) =>
|
|
605
|
+
return Array.isArray(s) ? s.map((e) => le.compile(e)) : [];
|
|
604
606
|
}
|
|
605
607
|
/**
|
|
606
608
|
* 🎯 단일 원본 테이블을 받아 기본 구조 보정 및 2차원 격자 인덱스 사전 부여 완료된 마스터 테이블 반환
|
|
@@ -609,23 +611,23 @@ const ie = class ie {
|
|
|
609
611
|
if (!s) return null;
|
|
610
612
|
const e = /* @__PURE__ */ h((a) => {
|
|
611
613
|
a.querySelectorAll("tbody td, tbody th, tfoot td, tfoot th").forEach((l) => {
|
|
612
|
-
const
|
|
614
|
+
const u = l.getAttribute("cell-type") || "renderer";
|
|
613
615
|
if (l.children.length > 0 && l.firstElementChild.tagName.includes("-")) return;
|
|
614
|
-
let f = `cell-${
|
|
615
|
-
const b = l.getAttribute("data-bind"),
|
|
616
|
+
let f = `cell-${u}`;
|
|
617
|
+
const b = l.getAttribute("data-bind"), g = l.getAttribute("data-expr"), y = l.getAttribute("maxbyte"), x = l.getAttribute("type");
|
|
616
618
|
let w = [];
|
|
617
|
-
b && w.push(`data-bind="${b}"`),
|
|
619
|
+
b && w.push(`data-bind="${b}"`), g && w.push(`data-expr="${g}"`), y && w.push(`maxbyte="${y}"`), x && w.push(`type="${x}"`), l.innerHTML = `<${f} ${w.join(" ")}></${f}>`;
|
|
618
620
|
}), a.querySelectorAll("tbody td, tfoot td").forEach((l) => {
|
|
619
621
|
l.setAttribute("tabindex", "0");
|
|
620
622
|
});
|
|
621
623
|
}, "processCellTypes"), n = /* @__PURE__ */ h((a) => {
|
|
622
624
|
if (!a.querySelector("colgroup")) {
|
|
623
|
-
const c = a.querySelector("tbody tr") || a.querySelector("tr"), l = c ? c.querySelectorAll("th, td").length : 1,
|
|
625
|
+
const c = a.querySelector("tbody tr") || a.querySelector("tr"), l = c ? c.querySelectorAll("th, td").length : 1, u = document.createElement("colgroup"), f = Math.max(Math.floor(a.clientWidth / l), 100);
|
|
624
626
|
for (let b = 0; b < l; b++) {
|
|
625
|
-
const
|
|
626
|
-
|
|
627
|
+
const g = document.createElement("col");
|
|
628
|
+
g.setAttribute("width", f), u.appendChild(g);
|
|
627
629
|
}
|
|
628
|
-
a.prepend(
|
|
630
|
+
a.prepend(u);
|
|
629
631
|
}
|
|
630
632
|
if (!a.querySelector("thead")) {
|
|
631
633
|
const c = document.createElement("thead"), l = a.querySelector("colgroup");
|
|
@@ -633,33 +635,33 @@ const ie = class ie {
|
|
|
633
635
|
}
|
|
634
636
|
a.classList.add("nine-table-element");
|
|
635
637
|
}, "ensureTableStructure"), r = /* @__PURE__ */ h((a, c) => {
|
|
636
|
-
const l = Array.from(a.querySelectorAll(c + " tr")),
|
|
637
|
-
if (f === 0 ||
|
|
638
|
+
const l = Array.from(a.querySelectorAll(c + " tr")), u = Array.from(a.querySelectorAll(c + " th," + c + " td")), f = l.length;
|
|
639
|
+
if (f === 0 || u.length === 0) return;
|
|
638
640
|
let b = 0;
|
|
639
|
-
|
|
640
|
-
b +=
|
|
641
|
+
u.forEach((y) => {
|
|
642
|
+
b += y.colSpan || 1;
|
|
641
643
|
});
|
|
642
|
-
const
|
|
643
|
-
l.forEach((
|
|
644
|
-
const x =
|
|
644
|
+
const g = Array.from(Array(f), () => Array(b).fill(null));
|
|
645
|
+
l.forEach((y) => {
|
|
646
|
+
const x = y.sectionRowIndex;
|
|
645
647
|
let w = 0;
|
|
646
|
-
Array.from(
|
|
647
|
-
for (let M = 0; M <
|
|
648
|
-
if (
|
|
648
|
+
Array.from(y.querySelectorAll("th,td")).forEach((m) => {
|
|
649
|
+
for (let M = 0; M < g[x].length; M++)
|
|
650
|
+
if (g[x][M] === null) {
|
|
649
651
|
w = M;
|
|
650
652
|
break;
|
|
651
653
|
}
|
|
652
|
-
const
|
|
653
|
-
for (let M = 0; M <
|
|
654
|
+
const C = m.rowSpan || 1, S = m.colSpan || 1;
|
|
655
|
+
for (let M = 0; M < C; M++)
|
|
654
656
|
for (let W = 0; W < S; W++)
|
|
655
|
-
x + M < f && w + W < b && (
|
|
657
|
+
x + M < f && w + W < b && (g[x + M][w + W] = M === 0 && W === 0 ? "1" : "0");
|
|
656
658
|
});
|
|
657
|
-
}), l.forEach((
|
|
658
|
-
const x =
|
|
659
|
-
Array.from(
|
|
660
|
-
for (let m = 0; m <
|
|
661
|
-
if (
|
|
662
|
-
w.dataset.col = m,
|
|
659
|
+
}), l.forEach((y) => {
|
|
660
|
+
const x = y.sectionRowIndex;
|
|
661
|
+
Array.from(y.querySelectorAll("th,td")).forEach((w) => {
|
|
662
|
+
for (let m = 0; m < g[x].length; m++)
|
|
663
|
+
if (g[x][m] === "1") {
|
|
664
|
+
w.dataset.col = m, g[x][m] = "0";
|
|
663
665
|
break;
|
|
664
666
|
}
|
|
665
667
|
});
|
|
@@ -667,24 +669,24 @@ const ie = class ie {
|
|
|
667
669
|
}, "resetColIndex"), i = s.cloneNode(!0);
|
|
668
670
|
return n(i), e(i), r(i, "thead"), r(i, "tbody"), r(i, "tfoot"), Array.from(i.querySelectorAll("colgroup col")).forEach((a, c) => {
|
|
669
671
|
const l = a.getAttribute("fixed");
|
|
670
|
-
l && i.querySelectorAll(`thead [data-col="${c}"], tbody [data-col="${c}"], tfoot [data-col="${c}"]`).forEach((
|
|
671
|
-
|
|
672
|
+
l && i.querySelectorAll(`thead [data-col="${c}"], tbody [data-col="${c}"], tfoot [data-col="${c}"]`).forEach((u) => {
|
|
673
|
+
u.setAttribute("fixed", l);
|
|
672
674
|
});
|
|
673
675
|
}), i;
|
|
674
676
|
}
|
|
675
677
|
// 🎯 [추가] td/th에 선언된 cell-type 속성을 읽어 커스텀 태그로 자동 감싸기
|
|
676
678
|
};
|
|
677
|
-
h(
|
|
678
|
-
let
|
|
679
|
-
var N,
|
|
680
|
-
const
|
|
679
|
+
h(le, "TableCompiler");
|
|
680
|
+
let Me = le;
|
|
681
|
+
var N, X, K, Tt, vs;
|
|
682
|
+
const os = class os {
|
|
681
683
|
constructor(s) {
|
|
682
|
-
d(this,
|
|
684
|
+
d(this, K);
|
|
683
685
|
d(this, N);
|
|
684
|
-
d(this,
|
|
686
|
+
d(this, X, { startRow: -1, startCol: -1, endRow: -1, endCol: -1 });
|
|
685
687
|
E(this, "render", /* @__PURE__ */ h(() => {
|
|
686
|
-
const { startRow: s, startCol: e, endRow: n, endCol: r } = t(this,
|
|
687
|
-
|
|
688
|
+
const { startRow: s, startCol: e, endRow: n, endCol: r } = t(this, X);
|
|
689
|
+
T.log("🎨 [CellSelection.render] Rendering range ->", t(this, X));
|
|
688
690
|
const i = t(this, N).querySelectorAll(
|
|
689
691
|
".ng-container-left .ng-part-body, .ng-container-body .ng-part-body, .ng-container-right .ng-part-body"
|
|
690
692
|
);
|
|
@@ -693,66 +695,66 @@ const ns = class ns {
|
|
|
693
695
|
c.classList.remove("selected", "selected-top", "selected-bottom", "selected-left", "selected-right");
|
|
694
696
|
});
|
|
695
697
|
}), s < 0 || e < 0) {
|
|
696
|
-
|
|
698
|
+
T.log("⚠️ [CellSelection.render] Range is invalid (< 0), skipping render.");
|
|
697
699
|
return;
|
|
698
700
|
}
|
|
699
701
|
let o = 0;
|
|
700
702
|
i.forEach((a) => {
|
|
701
703
|
a.querySelectorAll("tbody tr").forEach((c) => {
|
|
702
|
-
const { matrixRow: l } = V(this,
|
|
703
|
-
l < 0 || c.querySelectorAll("td, th").forEach((
|
|
704
|
-
const f = parseInt(
|
|
704
|
+
const { matrixRow: l } = V(this, K, Tt).call(this, c);
|
|
705
|
+
l < 0 || c.querySelectorAll("td, th").forEach((u) => {
|
|
706
|
+
const f = parseInt(u.dataset.col, 10);
|
|
705
707
|
if (isNaN(f)) return;
|
|
706
|
-
const b = parseInt(
|
|
707
|
-
|
|
708
|
+
const b = parseInt(u.rowSpan || 1, 10), g = parseInt(u.colSpan || 1, 10), y = l + b - 1, x = f + g - 1;
|
|
709
|
+
y >= s && l <= n && x >= e && f <= r && (o++, u.classList.add("selected"), T.log(u, s, e, n, r), l <= s && u.classList.add("selected-top"), y >= n && u.classList.add("selected-bottom"), f <= e && u.classList.add("selected-left"), x >= r && u.classList.add("selected-right"));
|
|
708
710
|
});
|
|
709
711
|
});
|
|
710
|
-
}),
|
|
712
|
+
}), T.log(`✨ [CellSelection.render] Total rendered cells marked: ${o}`);
|
|
711
713
|
}, "render"));
|
|
712
|
-
|
|
714
|
+
p(this, N, s), V(this, K, vs).call(this), t(this, N).querySelectorAll(
|
|
713
715
|
".ng-container-left .ng-part-body, .ng-container-body .ng-part-body, .ng-container-right .ng-part-body"
|
|
714
716
|
).forEach((n) => {
|
|
715
717
|
n.addEventListener("scroll", () => {
|
|
716
|
-
t(this,
|
|
718
|
+
t(this, X).startRow >= 0 && t(this, X).startCol >= 0 && this.render();
|
|
717
719
|
});
|
|
718
|
-
}),
|
|
720
|
+
}), T.log("🎯 [CellSelection] Initialized");
|
|
719
721
|
}
|
|
720
722
|
setRange(s, e, n, r) {
|
|
721
|
-
|
|
723
|
+
T.log(`🔍 [CellSelection.setRange] Input -> startRow: ${s}, startCol: ${e}, endRow: ${n}, endCol: ${r}`);
|
|
722
724
|
let i = Math.min(s, n), o = Math.max(s, n), a = Math.min(e, r), c = Math.max(e, r);
|
|
723
725
|
const l = t(this, N).querySelectorAll(
|
|
724
726
|
".ng-container-left .ng-part-body, .ng-container-body .ng-part-body, .ng-container-right .ng-part-body"
|
|
725
727
|
);
|
|
726
|
-
let
|
|
727
|
-
for (;
|
|
728
|
-
|
|
729
|
-
b.querySelectorAll("tbody tr").forEach((
|
|
730
|
-
if (
|
|
731
|
-
const { matrixRow:
|
|
732
|
-
|
|
728
|
+
let u = !0, f = 0;
|
|
729
|
+
for (; u && f < 5; )
|
|
730
|
+
u = !1, f++, l.forEach((b) => {
|
|
731
|
+
b.querySelectorAll("tbody tr").forEach((g) => {
|
|
732
|
+
if (g.classList.contains("nodata")) return;
|
|
733
|
+
const { matrixRow: y } = V(this, K, Tt).call(this, g);
|
|
734
|
+
y < 0 || g.querySelectorAll("td, th").forEach((x) => {
|
|
733
735
|
const w = parseInt(x.dataset.col, 10);
|
|
734
736
|
if (isNaN(w)) return;
|
|
735
|
-
const m = parseInt(x.rowSpan || 1, 10),
|
|
736
|
-
if (S >= i &&
|
|
737
|
-
const B = Math.min(i,
|
|
738
|
-
(B !== i ||
|
|
737
|
+
const m = parseInt(x.rowSpan || 1, 10), C = parseInt(x.colSpan || 1, 10), S = y + m - 1, M = w + C - 1;
|
|
738
|
+
if (S >= i && y <= o && M >= a && w <= c) {
|
|
739
|
+
const B = Math.min(i, y), Gt = Math.max(o, S), ps = Math.min(a, w), ys = Math.max(c, M);
|
|
740
|
+
(B !== i || Gt !== o || ps !== a || ys !== c) && (i = B, o = Gt, a = ps, c = ys, u = !0);
|
|
739
741
|
}
|
|
740
742
|
});
|
|
741
743
|
});
|
|
742
744
|
});
|
|
743
|
-
|
|
745
|
+
p(this, X, { startRow: i, startCol: a, endRow: o, endCol: c }), T.log("📦 [CellSelection.setRange] Final Range ->", t(this, X)), this.render();
|
|
744
746
|
}
|
|
745
747
|
};
|
|
746
|
-
N = new WeakMap(),
|
|
748
|
+
N = new WeakMap(), X = new WeakMap(), K = new WeakSet(), Tt = /* @__PURE__ */ h(function(s) {
|
|
747
749
|
if (!s || s.classList.contains("nodata")) return { dataRow: -1, subRowIndex: -1, matrixRow: -1 };
|
|
748
750
|
const e = parseInt(s.dataset.row, 10);
|
|
749
751
|
if (isNaN(e)) return { dataRow: -1, subRowIndex: -1, matrixRow: -1 };
|
|
750
752
|
const n = s.closest("tbody"), i = Array.from(n.querySelectorAll("tr:not(.nodata)")).filter((l) => parseInt(l.dataset.row, 10) === e), o = i.indexOf(s), a = i.length > 0 ? i.length : 1, c = e * a + (o >= 0 ? o : s.sectionRowIndex % a);
|
|
751
753
|
return { dataRow: e, subRowIndex: o, matrixRow: c };
|
|
752
|
-
}, "#getMatrixRow"),
|
|
754
|
+
}, "#getMatrixRow"), vs = /* @__PURE__ */ h(function() {
|
|
753
755
|
const s = t(this, N).querySelector(".ng-container-top");
|
|
754
756
|
if (!s) {
|
|
755
|
-
|
|
757
|
+
T.log("❌ [CellSelection] .ng-container-top not found!");
|
|
756
758
|
return;
|
|
757
759
|
}
|
|
758
760
|
s.addEventListener("mousedown", (e) => {
|
|
@@ -760,50 +762,50 @@ N = new WeakMap(), U = new WeakMap(), X = new WeakSet(), qt = /* @__PURE__ */ h(
|
|
|
760
762
|
const n = e.target.closest("td, th");
|
|
761
763
|
if (!n || n.dataset.row === void 0 || n.dataset.col === void 0 || n.closest("tr").classList.contains("nodata")) return;
|
|
762
764
|
t(this, N).style.userSelect = "none", t(this, N).style.webkitUserSelect = "none";
|
|
763
|
-
const r = n.closest("tr"), { matrixRow: i } = V(this,
|
|
765
|
+
const r = n.closest("tr"), { matrixRow: i } = V(this, K, Tt).call(this, r), o = parseInt(n.dataset.col, 10);
|
|
764
766
|
if (i < 0) {
|
|
765
767
|
t(this, N).style.userSelect = "", t(this, N).style.webkitUserSelect = "";
|
|
766
768
|
return;
|
|
767
769
|
}
|
|
768
|
-
|
|
770
|
+
T.log(`🖱️ [MouseDown Success] startRow: ${i}, startCol: ${o}`), t(this, N).navigation.currentCell = n;
|
|
769
771
|
let a = i, c = o;
|
|
770
772
|
const l = /* @__PURE__ */ h((f) => {
|
|
771
773
|
const b = document.elementFromPoint(f.clientX, f.clientY);
|
|
772
|
-
let
|
|
773
|
-
if (!
|
|
774
|
+
let g = b == null ? void 0 : b.closest("td, th");
|
|
775
|
+
if (!g || !t(this, N).contains(g)) {
|
|
774
776
|
const m = t(this, N).querySelectorAll(".ng-part-body tbody tr:not(.nodata) td, .ng-part-body tbody tr:not(.nodata) th");
|
|
775
|
-
for (const
|
|
776
|
-
const S =
|
|
777
|
+
for (const C of m) {
|
|
778
|
+
const S = C.getBoundingClientRect();
|
|
777
779
|
if (f.clientX >= S.left && f.clientX <= S.right && f.clientY >= S.top && f.clientY <= S.bottom) {
|
|
778
|
-
|
|
780
|
+
g = C;
|
|
779
781
|
break;
|
|
780
782
|
}
|
|
781
783
|
}
|
|
782
784
|
}
|
|
783
|
-
if (!
|
|
784
|
-
const
|
|
785
|
+
if (!g || g.dataset.row === void 0 || g.dataset.col === void 0 || g.closest("tr").classList.contains("nodata")) return;
|
|
786
|
+
const y = g.closest("tr"), { matrixRow: x } = V(this, K, Tt).call(this, y), w = parseInt(g.dataset.col, 10);
|
|
785
787
|
x < 0 || a === x && c === w || (a = x, c = w, this.setRange(i, o, x, w));
|
|
786
|
-
}, "onMouseMove"),
|
|
787
|
-
|
|
788
|
+
}, "onMouseMove"), u = /* @__PURE__ */ h(() => {
|
|
789
|
+
T.log("🖱️ [MouseUp] Drag ended."), t(this, N).style.userSelect = "", t(this, N).style.webkitUserSelect = "", document.removeEventListener("mousemove", l), document.removeEventListener("mouseup", u);
|
|
788
790
|
}, "onMouseUp");
|
|
789
|
-
document.addEventListener("mousemove", l), document.addEventListener("mouseup",
|
|
791
|
+
document.addEventListener("mousemove", l), document.addEventListener("mouseup", u);
|
|
790
792
|
});
|
|
791
|
-
}, "#initEvents"), h(
|
|
792
|
-
let
|
|
793
|
-
var F,
|
|
794
|
-
const
|
|
793
|
+
}, "#initEvents"), h(os, "CellSelection");
|
|
794
|
+
let He = os;
|
|
795
|
+
var F, ct, ce, he, yt, Ne, Ot, Dt, Wt, ht, zt, Ss;
|
|
796
|
+
const is = class is {
|
|
795
797
|
constructor(s) {
|
|
796
|
-
d(this,
|
|
798
|
+
d(this, yt);
|
|
797
799
|
d(this, F);
|
|
798
|
-
d(this,
|
|
799
|
-
d(this,
|
|
800
|
-
d(this,
|
|
801
|
-
d(this,
|
|
800
|
+
d(this, ct, null);
|
|
801
|
+
d(this, ce, -1);
|
|
802
|
+
d(this, he, -1);
|
|
803
|
+
d(this, Ot, /* @__PURE__ */ h((s) => {
|
|
802
804
|
const e = [];
|
|
803
805
|
return s.forEach((n) => e.push(...Array.from(n.querySelectorAll("td")))), e.length === 0 ? null : (e.sort((n, r) => parseInt(n.dataset.col, 10) - parseInt(r.dataset.col, 10)), e[e.length - 1]);
|
|
804
806
|
}, "#getMaxColCell"));
|
|
805
|
-
d(this,
|
|
806
|
-
const n = t(this,
|
|
807
|
+
d(this, Dt, /* @__PURE__ */ h((s, e) => {
|
|
808
|
+
const n = t(this, ht).call(this, s);
|
|
807
809
|
if (n.length === 0) return e + 1;
|
|
808
810
|
let r = e + 1;
|
|
809
811
|
const i = [];
|
|
@@ -817,8 +819,8 @@ const rs = class rs {
|
|
|
817
819
|
}
|
|
818
820
|
return r;
|
|
819
821
|
}, "#getNextCol"));
|
|
820
|
-
d(this,
|
|
821
|
-
const n = t(this,
|
|
822
|
+
d(this, Wt, /* @__PURE__ */ h((s, e) => {
|
|
823
|
+
const n = t(this, ht).call(this, s);
|
|
822
824
|
if (n.length === 0) return Math.max(0, e - 1);
|
|
823
825
|
let r = -1;
|
|
824
826
|
const i = [];
|
|
@@ -833,93 +835,93 @@ const rs = class rs {
|
|
|
833
835
|
return r;
|
|
834
836
|
}, "#getPreviousCol"));
|
|
835
837
|
// 🎯 레거시의 병합 셀(rowSpan) 블록 포용 탐색 로직 이식
|
|
836
|
-
d(this,
|
|
838
|
+
d(this, ht, /* @__PURE__ */ h((s) => {
|
|
837
839
|
const e = t(this, F).querySelectorAll(
|
|
838
840
|
".ng-container-left .ng-part-body, .ng-container-body .ng-part-body, .ng-container-right .ng-part-body"
|
|
839
841
|
), n = [];
|
|
840
842
|
return e.forEach((r) => {
|
|
841
843
|
const i = Array.from(r.querySelectorAll("tbody tr:not(.nodata)"));
|
|
842
844
|
for (const o of i) {
|
|
843
|
-
const a = parseInt(o.dataset.row, 10), c = i.filter((
|
|
845
|
+
const a = parseInt(o.dataset.row, 10), c = i.filter((y) => parseInt(y.dataset.row, 10) === a), l = c.length > 0 ? c.length : 1, u = c.indexOf(o), f = a * l + (u >= 0 ? u : 0);
|
|
844
846
|
if (f === s) {
|
|
845
847
|
n.push(o);
|
|
846
848
|
break;
|
|
847
849
|
}
|
|
848
850
|
const b = Array.from(o.querySelectorAll("td"));
|
|
849
|
-
let
|
|
850
|
-
for (const
|
|
851
|
-
const x = parseInt(
|
|
851
|
+
let g = !1;
|
|
852
|
+
for (const y of b) {
|
|
853
|
+
const x = parseInt(y.rowSpan || 1, 10);
|
|
852
854
|
if (x > 1 && s >= f && s < f + x) {
|
|
853
|
-
n.push(o),
|
|
855
|
+
n.push(o), g = !0;
|
|
854
856
|
break;
|
|
855
857
|
}
|
|
856
858
|
}
|
|
857
|
-
if (
|
|
859
|
+
if (g) break;
|
|
858
860
|
}
|
|
859
861
|
}), n;
|
|
860
862
|
}, "#findTargetTrsByMatrix"));
|
|
861
863
|
// 🎯 rowSpan 및 colSpan 경계를 모두 충족하는 셀을 3분할 전체 영역에서 탐색
|
|
862
|
-
d(this,
|
|
864
|
+
d(this, zt, /* @__PURE__ */ h((s, e, n, r) => {
|
|
863
865
|
const i = t(this, F).querySelectorAll(
|
|
864
866
|
".ng-container-left .ng-part-body, .ng-container-body .ng-part-body, .ng-container-right .ng-part-body"
|
|
865
867
|
), o = r !== void 0 ? r : s * 1 + e;
|
|
866
868
|
for (const a of i) {
|
|
867
869
|
const c = Array.from(a.querySelectorAll("tbody tr:not(.nodata)"));
|
|
868
870
|
for (const l of c) {
|
|
869
|
-
const
|
|
871
|
+
const u = parseInt(l.dataset.row, 10), f = c.filter((w) => parseInt(w.dataset.row, 10) === u), b = f.length > 0 ? f.length : 1, g = f.indexOf(l), y = u * b + (g >= 0 ? g : 0), x = Array.from(l.querySelectorAll("td"));
|
|
870
872
|
for (const w of x) {
|
|
871
|
-
const m = parseInt(w.dataset.col, 10),
|
|
872
|
-
if (!isNaN(m) && n >= m && n < m +
|
|
873
|
+
const m = parseInt(w.dataset.col, 10), C = parseInt(w.colSpan || 1, 10), S = parseInt(w.rowSpan || 1, 10);
|
|
874
|
+
if (!isNaN(m) && n >= m && n < m + C && o >= y && o < y + S && window.getComputedStyle(w).display !== "none")
|
|
873
875
|
return w;
|
|
874
876
|
}
|
|
875
877
|
}
|
|
876
878
|
}
|
|
877
879
|
return null;
|
|
878
880
|
}, "#getNearElement"));
|
|
879
|
-
|
|
881
|
+
p(this, F, s), V(this, yt, Ss).call(this), T.log("🎯 [CellNavigation] Initialized");
|
|
880
882
|
}
|
|
881
883
|
get currentCell() {
|
|
882
|
-
return t(this,
|
|
884
|
+
return t(this, ct);
|
|
883
885
|
}
|
|
884
886
|
set currentCell(s) {
|
|
885
887
|
if (!s) return;
|
|
886
|
-
|
|
888
|
+
p(this, ct, s), s.focus({ preventScroll: !0 });
|
|
887
889
|
const e = parseInt(s.dataset.row, 10), n = parseInt(s.dataset.col, 10);
|
|
888
890
|
if (!isNaN(e) && !isNaN(n)) {
|
|
889
|
-
|
|
891
|
+
p(this, ce, e), p(this, he, n);
|
|
890
892
|
const r = s.closest("tr"), i = r == null ? void 0 : r.closest("tbody");
|
|
891
893
|
if (i) {
|
|
892
|
-
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),
|
|
893
|
-
t(this, F).selection.setRange(
|
|
894
|
+
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), u = e * c + (l >= 0 ? l : 0);
|
|
895
|
+
t(this, F).selection.setRange(u, n, u, n);
|
|
894
896
|
}
|
|
895
897
|
}
|
|
896
898
|
}
|
|
897
899
|
moveCell(s) {
|
|
898
|
-
var m,
|
|
899
|
-
if (!t(this,
|
|
900
|
-
const e = t(this,
|
|
900
|
+
var m, C, S, M;
|
|
901
|
+
if (!t(this, ct)) return;
|
|
902
|
+
const e = t(this, ct), n = e.closest("tr"), r = parseInt(e.dataset.row, 10), i = parseInt(e.dataset.col, 10), o = n == null ? void 0 : n.closest("tbody");
|
|
901
903
|
if (!o) return;
|
|
902
|
-
const c = Array.from(o.querySelectorAll("tr:not(.nodata)")).filter((W) => parseInt(W.dataset.row, 10) === r), l = c.length > 0 ? c.length : 1,
|
|
903
|
-
let b = f,
|
|
904
|
+
const c = Array.from(o.querySelectorAll("tr:not(.nodata)")).filter((W) => parseInt(W.dataset.row, 10) === r), l = c.length > 0 ? c.length : 1, u = c.indexOf(n), f = r * l + (u >= 0 ? u : 0);
|
|
905
|
+
let b = f, g = i;
|
|
904
906
|
switch (s.code) {
|
|
905
907
|
case "Tab":
|
|
906
908
|
if (s.preventDefault(), s.shiftKey) {
|
|
907
|
-
if (
|
|
909
|
+
if (g = t(this, Wt).call(this, f, i), g < 0 && f > 0) {
|
|
908
910
|
b = f - 1;
|
|
909
|
-
const W = t(this,
|
|
910
|
-
|
|
911
|
+
const W = t(this, ht).call(this, b), B = t(this, Ot).call(this, W);
|
|
912
|
+
g = B ? parseInt(B.dataset.col, 10) : 0;
|
|
911
913
|
}
|
|
912
914
|
} else {
|
|
913
|
-
|
|
914
|
-
const W = t(this,
|
|
915
|
-
|
|
915
|
+
g = t(this, Dt).call(this, f, i);
|
|
916
|
+
const W = t(this, ht).call(this, f), B = t(this, Ot).call(this, W), Gt = B ? parseInt(B.dataset.col, 10) + parseInt(B.colSpan || 1, 10) : 0;
|
|
917
|
+
g >= Gt && (b = f + 1, g = 0);
|
|
916
918
|
}
|
|
917
919
|
break;
|
|
918
920
|
case "ArrowRight":
|
|
919
|
-
|
|
921
|
+
g = t(this, Dt).call(this, f, i);
|
|
920
922
|
break;
|
|
921
923
|
case "ArrowLeft":
|
|
922
|
-
|
|
924
|
+
g = t(this, Wt).call(this, f, i);
|
|
923
925
|
break;
|
|
924
926
|
case "ArrowDown":
|
|
925
927
|
s.preventDefault(), b = f + (e.rowSpan || 1);
|
|
@@ -928,63 +930,63 @@ const rs = class rs {
|
|
|
928
930
|
s.preventDefault(), b = Math.max(0, f - (e.rowSpan || 1));
|
|
929
931
|
break;
|
|
930
932
|
}
|
|
931
|
-
const
|
|
932
|
-
let w = t(this,
|
|
933
|
+
const y = Math.floor(b / l), x = b % l;
|
|
934
|
+
let w = t(this, zt).call(this, y, x, g, b);
|
|
933
935
|
if (w)
|
|
934
|
-
this.currentCell = w, V(this,
|
|
935
|
-
else if (
|
|
936
|
-
const W = ((
|
|
937
|
-
(M = (S = t(this, F)).scrollToY) == null || M.call(S,
|
|
938
|
-
const B = t(this,
|
|
939
|
-
B && (this.currentCell = B, V(this,
|
|
936
|
+
this.currentCell = w, V(this, yt, Ne).call(this, w);
|
|
937
|
+
else if (y !== r && y >= 0) {
|
|
938
|
+
const W = ((C = (m = t(this, F)).getRowHeight) == null ? void 0 : C.call(m)) || 40;
|
|
939
|
+
(M = (S = t(this, F)).scrollToY) == null || M.call(S, y * W), setTimeout(() => {
|
|
940
|
+
const B = t(this, zt).call(this, y, x, g, b);
|
|
941
|
+
B && (this.currentCell = B, V(this, yt, Ne).call(this, B));
|
|
940
942
|
}, 0);
|
|
941
943
|
}
|
|
942
944
|
}
|
|
943
945
|
};
|
|
944
|
-
F = new WeakMap(),
|
|
945
|
-
|
|
946
|
+
F = new WeakMap(), ct = new WeakMap(), ce = new WeakMap(), he = new WeakMap(), yt = new WeakSet(), // 🎯 셀이 보이지 않는 영역에 있을 때 컨테이너 스크롤을 동기화하는 함수
|
|
947
|
+
Ne = /* @__PURE__ */ h(function(s) {
|
|
946
948
|
const e = t(this, F).querySelector(".ng-container-body .ng-part-body");
|
|
947
949
|
if (!e) return;
|
|
948
950
|
const n = s.getBoundingClientRect(), r = e.getBoundingClientRect();
|
|
949
951
|
n.top < r.top ? e.scrollTop -= r.top - n.top : n.bottom > r.bottom && (e.scrollTop += n.bottom - r.bottom), n.left < r.left ? e.scrollLeft -= r.left - n.left : n.right > r.right && (e.scrollLeft += n.right - r.right);
|
|
950
|
-
}, "#ensureCellVisible"),
|
|
952
|
+
}, "#ensureCellVisible"), Ot = new WeakMap(), Dt = new WeakMap(), Wt = new WeakMap(), ht = new WeakMap(), zt = new WeakMap(), Ss = /* @__PURE__ */ h(function() {
|
|
951
953
|
t(this, F).addEventListener("keydown", (s) => {
|
|
952
954
|
["Tab", "ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(s.code) && this.moveCell(s);
|
|
953
955
|
});
|
|
954
|
-
}, "#initEvents"), h(
|
|
955
|
-
let
|
|
956
|
-
var
|
|
956
|
+
}, "#initEvents"), h(is, "CellNavigation");
|
|
957
|
+
let $e = is;
|
|
958
|
+
var de, dt, ft, Bt, Pt, fe, ue, wt, ge, be;
|
|
957
959
|
const Ct = class Ct extends HTMLElement {
|
|
958
960
|
constructor() {
|
|
959
961
|
super();
|
|
960
|
-
d(this,
|
|
961
|
-
d(this,
|
|
962
|
-
d(this,
|
|
963
|
-
d(this, zt);
|
|
962
|
+
d(this, de);
|
|
963
|
+
d(this, dt, null);
|
|
964
|
+
d(this, ft);
|
|
964
965
|
d(this, Bt);
|
|
966
|
+
d(this, Pt);
|
|
965
967
|
E(this, "invalidate", /* @__PURE__ */ h(() => {
|
|
966
|
-
|
|
968
|
+
T.log("sheet.invalidate()"), t(this, ft).refresh();
|
|
967
969
|
}, "invalidate"));
|
|
968
970
|
E(this, "generate", /* @__PURE__ */ h((e) => {
|
|
969
|
-
if (
|
|
970
|
-
|
|
971
|
+
if (T.log("sheet.generate()"), !e) return;
|
|
972
|
+
p(this, dt, Me.compile(e)), t(this, fe).call(this), t(this, ue).call(this);
|
|
971
973
|
const n = this.querySelector(".ng-container-body .ng-part-header"), r = this.querySelector(".ng-container-body .ng-part-footer"), i = this.querySelector(".ng-nodata-overlay");
|
|
972
|
-
n && i && (i.style.top = `${n.offsetHeight}px`), r && i && (i.style.bottom = `${r.offsetHeight}px`), t(this,
|
|
974
|
+
n && i && (i.style.top = `${n.offsetHeight}px`), r && i && (i.style.bottom = `${r.offsetHeight}px`), t(this, ft).initialize(), setTimeout(() => {
|
|
973
975
|
var o;
|
|
974
976
|
(o = this.querySelector("nine-table-hscrollbar")) == null || o.refresh();
|
|
975
977
|
}, 0);
|
|
976
978
|
}, "generate"));
|
|
977
|
-
d(this,
|
|
979
|
+
d(this, fe, /* @__PURE__ */ h(() => {
|
|
978
980
|
[
|
|
979
981
|
{ selector: ".ng-container-body", type: null },
|
|
980
982
|
{ selector: ".ng-container-left", type: "left" },
|
|
981
983
|
{ selector: ".ng-container-right", type: "right" }
|
|
982
984
|
].forEach(({ selector: n, type: r }) => {
|
|
983
985
|
var i, o, a;
|
|
984
|
-
(i = this.querySelector(`${n} .ng-part-header`)) == null || i.appendChild(t(this,
|
|
986
|
+
(i = this.querySelector(`${n} .ng-part-header`)) == null || i.appendChild(t(this, wt).call(this, t(this, dt), r, "header")), (o = this.querySelector(`${n} .ng-virtual-spacer`)) == null || o.before(t(this, wt).call(this, t(this, dt), r, "body")), (a = this.querySelector(`${n} .ng-part-footer`)) == null || a.appendChild(t(this, wt).call(this, t(this, dt), r, "footer"));
|
|
985
987
|
});
|
|
986
988
|
}, "#renderSplitContainers"));
|
|
987
|
-
d(this,
|
|
989
|
+
d(this, ue, /* @__PURE__ */ h(() => {
|
|
988
990
|
["left", "right", "body"].forEach((e) => {
|
|
989
991
|
const n = this.querySelector(`.ng-container-${e}`), r = n == null ? void 0 : n.querySelectorAll("table");
|
|
990
992
|
if (!n || !r || r.length === 0) return;
|
|
@@ -999,12 +1001,12 @@ const Ct = class Ct extends HTMLElement {
|
|
|
999
1001
|
}));
|
|
1000
1002
|
});
|
|
1001
1003
|
}, "#updateContainerWidths"));
|
|
1002
|
-
d(this,
|
|
1004
|
+
d(this, wt, /* @__PURE__ */ h((e, n, r) => {
|
|
1003
1005
|
const i = e.cloneNode(!0), o = i.querySelector("thead"), a = i.querySelector("tbody"), c = i.querySelector("tfoot");
|
|
1004
1006
|
if (r === "header") {
|
|
1005
1007
|
if (a && a.remove(), c && c.remove(), e.querySelector("tbody")) {
|
|
1006
|
-
const
|
|
1007
|
-
|
|
1008
|
+
const u = document.createElement("tbody");
|
|
1009
|
+
u.className = "fixed-tbody", i.appendChild(u);
|
|
1008
1010
|
}
|
|
1009
1011
|
} else r === "body" ? (o && o.remove(), c && c.remove(), a && (a.className = "bindable-tbody")) : r === "footer" && (o && o.remove(), a && a.remove());
|
|
1010
1012
|
return n === "left" ? i.querySelectorAll("col, th, td, tfoot td, tfoot th").forEach((l) => {
|
|
@@ -1015,7 +1017,7 @@ const Ct = class Ct extends HTMLElement {
|
|
|
1015
1017
|
l.remove();
|
|
1016
1018
|
}), i;
|
|
1017
1019
|
}, "#createSplitTable"));
|
|
1018
|
-
E(this, "getRowHeight", /* @__PURE__ */ h(() => t(this,
|
|
1020
|
+
E(this, "getRowHeight", /* @__PURE__ */ h(() => t(this, ft).getRowHeight(), "getRowHeight"));
|
|
1019
1021
|
E(this, "scrollToX", /* @__PURE__ */ h((e) => {
|
|
1020
1022
|
const n = this.querySelector(".ng-container-body .ng-part-body");
|
|
1021
1023
|
n && (n.scrollLeft = e);
|
|
@@ -1024,10 +1026,10 @@ const Ct = class Ct extends HTMLElement {
|
|
|
1024
1026
|
const n = this.querySelector(".ng-container-body .ng-part-body");
|
|
1025
1027
|
n && (n.scrollTop = e);
|
|
1026
1028
|
}, "scrollToY"));
|
|
1027
|
-
d(this,
|
|
1028
|
-
t(this,
|
|
1029
|
+
d(this, ge, /* @__PURE__ */ h(() => {
|
|
1030
|
+
t(this, be).call(this), p(this, Bt, new He(this)), p(this, Pt, new $e(this));
|
|
1029
1031
|
}, "#init"));
|
|
1030
|
-
d(this,
|
|
1032
|
+
d(this, be, /* @__PURE__ */ h(() => {
|
|
1031
1033
|
const e = Ct.SCROLLBAR_SIZE;
|
|
1032
1034
|
this.innerHTML = `
|
|
1033
1035
|
<style>
|
|
@@ -1229,93 +1231,93 @@ const Ct = class Ct extends HTMLElement {
|
|
|
1229
1231
|
</div>
|
|
1230
1232
|
`;
|
|
1231
1233
|
}, "#render"));
|
|
1232
|
-
|
|
1234
|
+
p(this, ft, new Ie(this)), p(this, de, this.getRootNode().host);
|
|
1233
1235
|
}
|
|
1234
1236
|
connectedCallback() {
|
|
1235
|
-
t(this,
|
|
1237
|
+
t(this, ge).call(this);
|
|
1236
1238
|
}
|
|
1237
1239
|
get selection() {
|
|
1238
|
-
return t(this,
|
|
1240
|
+
return t(this, Bt);
|
|
1239
1241
|
}
|
|
1240
1242
|
get navigation() {
|
|
1241
|
-
return t(this,
|
|
1243
|
+
return t(this, Pt);
|
|
1242
1244
|
}
|
|
1243
1245
|
disconnectedCallback() {
|
|
1244
|
-
this.innerHTML = "",
|
|
1246
|
+
this.innerHTML = "", T.log("NineTableSheet destroyed.");
|
|
1245
1247
|
}
|
|
1246
1248
|
};
|
|
1247
|
-
|
|
1248
|
-
let
|
|
1249
|
-
customElements.get("nine-table-sheet") || customElements.define("nine-table-sheet",
|
|
1250
|
-
var
|
|
1251
|
-
const
|
|
1249
|
+
de = new WeakMap(), dt = new WeakMap(), ft = new WeakMap(), Bt = new WeakMap(), Pt = new WeakMap(), fe = new WeakMap(), ue = new WeakMap(), wt = new WeakMap(), ge = new WeakMap(), be = new WeakMap(), h(Ct, "NineTableSheet"), E(Ct, "SCROLLBAR_SIZE", 16);
|
|
1250
|
+
let Zt = Ct;
|
|
1251
|
+
customElements.get("nine-table-sheet") || customElements.define("nine-table-sheet", Zt);
|
|
1252
|
+
var pe, Ft;
|
|
1253
|
+
const as = class as extends HTMLElement {
|
|
1252
1254
|
constructor() {
|
|
1253
1255
|
super();
|
|
1254
|
-
d(this,
|
|
1256
|
+
d(this, pe, /* @__PURE__ */ h(() => {
|
|
1255
1257
|
var e;
|
|
1256
1258
|
(e = this.querySelector(".nine-tab-bar")) == null || e.addEventListener("click", (n) => {
|
|
1257
1259
|
var o;
|
|
1258
1260
|
const r = n.ctrlKey || n.metaKey || n.shiftKey, i = parseInt((o = n.target.closest(".nine-tab-item")) == null ? void 0 : o.dataset.index, 10);
|
|
1259
|
-
t(this,
|
|
1260
|
-
}), t(this,
|
|
1261
|
+
t(this, Ft).call(this, i, r);
|
|
1262
|
+
}), t(this, Ft).call(this, 0, !1);
|
|
1261
1263
|
}, "#init"));
|
|
1262
|
-
d(this,
|
|
1264
|
+
d(this, Ft, /* @__PURE__ */ h((e, n = !1) => {
|
|
1263
1265
|
const r = /* @__PURE__ */ h(() => {
|
|
1264
|
-
const
|
|
1265
|
-
Array.from(this.querySelectorAll("nine-splitter")).forEach((
|
|
1266
|
-
const b =
|
|
1267
|
-
b.length < 2 || b.forEach((
|
|
1268
|
-
const
|
|
1266
|
+
const u = Array.from(this.querySelectorAll("nine-table-sheet"));
|
|
1267
|
+
Array.from(this.querySelectorAll("nine-splitter")).forEach((g) => g.style.setProperty("display", "none"));
|
|
1268
|
+
const b = u.filter((g) => g.classList.contains("active"));
|
|
1269
|
+
b.length < 2 || b.forEach((g) => {
|
|
1270
|
+
const y = parseInt(g.getAttribute("data-index"), 10), x = this.querySelector(`nine-splitter[data-split-index="${y}"]`), w = u[y + 1];
|
|
1269
1271
|
x && w && w.classList.contains("active") && x.style.setProperty("display", "flex");
|
|
1270
1272
|
});
|
|
1271
1273
|
}, "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");
|
|
1272
1274
|
if (!a[e]) return;
|
|
1273
1275
|
if (!n)
|
|
1274
|
-
a.forEach((
|
|
1275
|
-
|
|
1276
|
-
}), c.forEach((
|
|
1276
|
+
a.forEach((u, f) => {
|
|
1277
|
+
u.classList.toggle("active", f === e);
|
|
1278
|
+
}), c.forEach((u, f) => {
|
|
1277
1279
|
const b = f === e;
|
|
1278
|
-
|
|
1280
|
+
u.classList.toggle("active", b), u.style.flex = b ? "1 1 100%" : "";
|
|
1279
1281
|
});
|
|
1280
1282
|
else {
|
|
1281
|
-
const
|
|
1282
|
-
if (
|
|
1283
|
+
const u = a[e], f = i.querySelectorAll(".nine-tab-item.active");
|
|
1284
|
+
if (u.classList.contains("active") && f.length <= 1)
|
|
1283
1285
|
return;
|
|
1284
|
-
|
|
1286
|
+
u.classList.toggle("active");
|
|
1285
1287
|
const b = o.querySelector(`nine-table-sheet[data-index="${e}"]`);
|
|
1286
1288
|
b && (b.classList.toggle("active"), b.classList.contains("active") || (b.style.flex = ""));
|
|
1287
1289
|
}
|
|
1288
1290
|
const l = o.querySelectorAll("nine-table-sheet.active");
|
|
1289
|
-
l == null || l.forEach((
|
|
1290
|
-
|
|
1291
|
+
l == null || l.forEach((u) => {
|
|
1292
|
+
u.style.flex = l.length > 1 ? "1 1 0%" : "1 1 100%";
|
|
1291
1293
|
}), r();
|
|
1292
1294
|
}, "#switchSheet"));
|
|
1293
1295
|
}
|
|
1294
1296
|
connectedCallback() {
|
|
1295
|
-
t(this,
|
|
1297
|
+
t(this, pe).call(this);
|
|
1296
1298
|
}
|
|
1297
1299
|
};
|
|
1298
|
-
|
|
1299
|
-
let
|
|
1300
|
-
customElements.get("nine-table-sheets") || customElements.define("nine-table-sheets",
|
|
1301
|
-
var _,
|
|
1302
|
-
const
|
|
1300
|
+
pe = new WeakMap(), Ft = new WeakMap(), h(as, "NineTableSheets");
|
|
1301
|
+
let _e = as;
|
|
1302
|
+
customElements.get("nine-table-sheets") || customElements.define("nine-table-sheets", _e);
|
|
1303
|
+
var _, ye, jt, me;
|
|
1304
|
+
const ls = class ls {
|
|
1303
1305
|
constructor(s) {
|
|
1304
1306
|
d(this, _);
|
|
1305
|
-
d(this,
|
|
1306
|
-
t(this,
|
|
1307
|
+
d(this, ye, /* @__PURE__ */ h(() => {
|
|
1308
|
+
t(this, me).call(this), new ResizeObserver((s) => {
|
|
1307
1309
|
for (let e of s)
|
|
1308
|
-
t(this, _).getAttribute("auto-height") === "true" && t(this,
|
|
1310
|
+
t(this, _).getAttribute("auto-height") === "true" && t(this, jt).call(this);
|
|
1309
1311
|
}).observe(t(this, _));
|
|
1310
1312
|
}, "#init"));
|
|
1311
|
-
d(this,
|
|
1313
|
+
d(this, jt, /* @__PURE__ */ h(() => {
|
|
1312
1314
|
var c, l;
|
|
1313
1315
|
const s = Array.from(t(this, _).shadowRoot.querySelectorAll("nine-table-sheet.active"));
|
|
1314
1316
|
if (s.length === 0) return;
|
|
1315
|
-
const e = parseInt(t(this, _).getAttribute("max-display-row"), 10) || 10, n = Math.max(...s.map((
|
|
1317
|
+
const e = parseInt(t(this, _).getAttribute("max-display-row"), 10) || 10, n = Math.max(...s.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 * n + r + i + o;
|
|
1316
1318
|
t(this, _).style.height = `${a}px`;
|
|
1317
1319
|
}, "#applyAutoHeight"));
|
|
1318
|
-
d(this,
|
|
1320
|
+
d(this, me, /* @__PURE__ */ h(() => {
|
|
1319
1321
|
const e = Array.from(t(this, _).children).filter((c) => c.tagName === "TABLE"), n = t(this, _).getAttribute("auto-height") === "true", r = e.length, i = e.map((c, l) => {
|
|
1320
1322
|
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>` : "";
|
|
1321
1323
|
return f + b;
|
|
@@ -1444,53 +1446,53 @@ const is = class is {
|
|
|
1444
1446
|
const a = t(this, _).shadowRoot.querySelectorAll("nine-table-sheet");
|
|
1445
1447
|
a == null || a.forEach((c, l) => {
|
|
1446
1448
|
e[l] && setTimeout(() => {
|
|
1447
|
-
c.generate(e[l]), n && t(this,
|
|
1449
|
+
c.generate(e[l]), n && t(this, jt).call(this);
|
|
1448
1450
|
});
|
|
1449
1451
|
});
|
|
1450
1452
|
}, "#render"));
|
|
1451
|
-
|
|
1453
|
+
p(this, _, s), t(this, ye).call(this);
|
|
1452
1454
|
}
|
|
1453
1455
|
};
|
|
1454
|
-
_ = new WeakMap(),
|
|
1455
|
-
let
|
|
1456
|
-
var
|
|
1457
|
-
const
|
|
1456
|
+
_ = new WeakMap(), ye = new WeakMap(), jt = new WeakMap(), me = new WeakMap(), h(ls, "LayoutManager");
|
|
1457
|
+
let Oe = ls;
|
|
1458
|
+
var Vt, vt;
|
|
1459
|
+
const cs = class cs {
|
|
1458
1460
|
constructor(s) {
|
|
1459
|
-
d(this,
|
|
1460
|
-
d(this,
|
|
1461
|
-
E(this, "count", /* @__PURE__ */ h(() => t(this,
|
|
1462
|
-
|
|
1461
|
+
d(this, Vt);
|
|
1462
|
+
d(this, vt, -1);
|
|
1463
|
+
E(this, "count", /* @__PURE__ */ h(() => t(this, Vt).rawRecords.length, "count"));
|
|
1464
|
+
p(this, Vt, s);
|
|
1463
1465
|
}
|
|
1464
1466
|
get at() {
|
|
1465
|
-
return t(this,
|
|
1467
|
+
return t(this, vt);
|
|
1466
1468
|
}
|
|
1467
1469
|
set at(s) {
|
|
1468
|
-
|
|
1470
|
+
p(this, vt, parseInt(s, 10)), body && !body.querySelector(`tbody.bindable tr[data-row="${t(this, vt)}"]`) && setTimeout(() => {
|
|
1469
1471
|
});
|
|
1470
1472
|
}
|
|
1471
1473
|
};
|
|
1472
|
-
|
|
1473
|
-
let
|
|
1474
|
-
var D, L, z,
|
|
1474
|
+
Vt = new WeakMap(), vt = new WeakMap(), h(cs, "ngRow");
|
|
1475
|
+
let De = cs;
|
|
1476
|
+
var D, L, z, St, xe, J, we, ut, Yt, ve, Se, Rt;
|
|
1475
1477
|
const P = class P {
|
|
1476
1478
|
constructor(s, e) {
|
|
1477
1479
|
d(this, D);
|
|
1478
1480
|
d(this, L);
|
|
1479
1481
|
d(this, z, []);
|
|
1480
|
-
d(this,
|
|
1481
|
-
d(this,
|
|
1482
|
-
d(this,
|
|
1483
|
-
d(this,
|
|
1484
|
-
|
|
1482
|
+
d(this, St, []);
|
|
1483
|
+
d(this, xe, 0);
|
|
1484
|
+
d(this, J, []);
|
|
1485
|
+
d(this, we, /* @__PURE__ */ h(() => {
|
|
1486
|
+
p(this, J, []);
|
|
1485
1487
|
const s = t(this, D).template || [];
|
|
1486
1488
|
Array.from(s).forEach((e) => {
|
|
1487
1489
|
var n;
|
|
1488
|
-
t(this,
|
|
1490
|
+
t(this, J).push(((n = e.getBoundingClientRect) == null ? void 0 : n.call(e).height) || 24);
|
|
1489
1491
|
}), (t(this, L).rawRecords || []).forEach((e) => {
|
|
1490
|
-
e.__ng || (e.__ng = t(this,
|
|
1492
|
+
e.__ng || (e.__ng = t(this, Yt).call(this)), e.__ng.height = t(this, J).slice();
|
|
1491
1493
|
});
|
|
1492
1494
|
}, "#initialize"));
|
|
1493
|
-
d(this,
|
|
1495
|
+
d(this, ut, /* @__PURE__ */ h(() => {
|
|
1494
1496
|
const s = t(this, D).shadowRoot.querySelector("nine-table-sheets");
|
|
1495
1497
|
s == null || s.classList.toggle("nodata", this.length === 0), t(this, D).shadowRoot.querySelectorAll("nine-table-sheet").forEach((e) => {
|
|
1496
1498
|
e.invalidate();
|
|
@@ -1500,35 +1502,35 @@ const P = class P {
|
|
|
1500
1502
|
var i;
|
|
1501
1503
|
const n = this.getValidData();
|
|
1502
1504
|
if (!n || n.length <= 0) return;
|
|
1503
|
-
if (s == null) return t(this,
|
|
1505
|
+
if (s == null) return t(this, Rt).call(this, n);
|
|
1504
1506
|
if (s < 0 || s >= n.length) return null;
|
|
1505
1507
|
const r = typeof ((i = t(this, D).fields) == null ? void 0 : i.get) == "function" ? t(this, D).fields.get() : [];
|
|
1506
1508
|
if (e != null) {
|
|
1507
1509
|
const o = r.indexOf(e);
|
|
1508
1510
|
return o >= 0 ? n[s].v[o] : null;
|
|
1509
1511
|
}
|
|
1510
|
-
return t(this,
|
|
1512
|
+
return t(this, Rt).call(this, n[s]);
|
|
1511
1513
|
}, "get"));
|
|
1512
1514
|
E(this, "set", /* @__PURE__ */ h((s) => {
|
|
1513
|
-
this.clear(), this.add(s, !1), t(this,
|
|
1515
|
+
this.clear(), this.add(s, !1), t(this, ut).call(this);
|
|
1514
1516
|
}, "set"));
|
|
1515
|
-
d(this,
|
|
1517
|
+
d(this, Yt, /* @__PURE__ */ h(() => ({
|
|
1516
1518
|
rowState: P.ROW_STATE.EMPTY,
|
|
1517
1519
|
deleted: !1,
|
|
1518
1520
|
filtered: !1,
|
|
1519
|
-
height: t(this,
|
|
1521
|
+
height: t(this, J).slice(),
|
|
1520
1522
|
o: {},
|
|
1521
1523
|
c: {},
|
|
1522
|
-
_: [0, 0, 0, 0, P.ROW_STATE.EMPTY, !1, !1, !0, !1, !0, !0, !1, t(this,
|
|
1524
|
+
_: [0, 0, 0, 0, P.ROW_STATE.EMPTY, !1, !1, !0, !1, !0, !0, !1, t(this, J).slice(), -1, {}, {}]
|
|
1523
1525
|
}), "#getDefaultMeta"));
|
|
1524
1526
|
E(this, "reset", /* @__PURE__ */ h(() => {
|
|
1525
|
-
|
|
1527
|
+
p(this, z, []), p(this, St, []), t(this, ut).call(this);
|
|
1526
1528
|
}, "reset"));
|
|
1527
1529
|
E(this, "clear", /* @__PURE__ */ h(() => {
|
|
1528
1530
|
var s;
|
|
1529
|
-
t(this, L).rawRecords = [],
|
|
1531
|
+
t(this, L).rawRecords = [], p(this, z, []), p(this, St, []), (s = t(this, L).viewRecords) != null && s.reset && t(this, L).viewRecords.reset();
|
|
1530
1532
|
}, "clear"));
|
|
1531
|
-
d(this,
|
|
1533
|
+
d(this, ve, /* @__PURE__ */ h((s) => {
|
|
1532
1534
|
var r;
|
|
1533
1535
|
Array.isArray(s) || (s = [s]);
|
|
1534
1536
|
const e = typeof ((r = t(this, D).fields) == null ? void 0 : r.get) == "function" ? t(this, D).fields.get() : Object.keys(s[0] || {}), n = [];
|
|
@@ -1539,18 +1541,18 @@ const P = class P {
|
|
|
1539
1541
|
}), n.push(o);
|
|
1540
1542
|
}), n;
|
|
1541
1543
|
}, "#json2Array"));
|
|
1542
|
-
d(this,
|
|
1543
|
-
e.__ng = t(this,
|
|
1544
|
+
d(this, Se, /* @__PURE__ */ h((s) => (Array.isArray(s) || (s = [s]), s.forEach((e) => {
|
|
1545
|
+
e.__ng = t(this, Yt).call(this), e.__ng.rowid = this.nextId, e.__ng.rowState = P.ROW_STATE.INSERT, e.__ng._[0] = e.__ng.rowid;
|
|
1544
1546
|
}), s), "#defaultInsert"));
|
|
1545
1547
|
E(this, "add", /* @__PURE__ */ h((s, e = !0) => {
|
|
1546
1548
|
s === void 0 && (s = {});
|
|
1547
|
-
const n = t(this,
|
|
1548
|
-
t(this, L).rawRecords = t(this, L).rawRecords.concat(t(this,
|
|
1549
|
+
const n = t(this, ve).call(this, s);
|
|
1550
|
+
t(this, L).rawRecords = t(this, L).rawRecords.concat(t(this, Se).call(this, n)), this.resetRecords();
|
|
1549
1551
|
const r = this.count() - 1;
|
|
1550
1552
|
return e || n.forEach((i, o) => {
|
|
1551
1553
|
const a = t(this, L).rawRecords[r - o];
|
|
1552
1554
|
a && (a.__ng.rowState = P.ROW_STATE.EMPTY);
|
|
1553
|
-
}), t(this,
|
|
1555
|
+
}), t(this, ut).call(this), r;
|
|
1554
1556
|
}, "add"));
|
|
1555
1557
|
E(this, "delete", /* @__PURE__ */ h((s) => {
|
|
1556
1558
|
let e = [];
|
|
@@ -1561,7 +1563,7 @@ const P = class P {
|
|
|
1561
1563
|
i.__ng.rowid === r && (i.__ng.deleted = !0, i.__ng.rowState = P.ROW_STATE.DELETE);
|
|
1562
1564
|
});
|
|
1563
1565
|
}
|
|
1564
|
-
}), this.resetRecords(), t(this,
|
|
1566
|
+
}), this.resetRecords(), t(this, ut).call(this);
|
|
1565
1567
|
}, "delete"));
|
|
1566
1568
|
E(this, "setValue", /* @__PURE__ */ h((s, e, n) => {
|
|
1567
1569
|
var c;
|
|
@@ -1574,35 +1576,35 @@ const P = class P {
|
|
|
1574
1576
|
a !== n && 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] = n;
|
|
1575
1577
|
}, "setValue"));
|
|
1576
1578
|
E(this, "resetRecords", /* @__PURE__ */ h(() => {
|
|
1577
|
-
|
|
1579
|
+
p(this, St, t(this, L).rawRecords.filter((s) => !s.__ng.deleted)), p(this, z, t(this, L).rawRecords.filter((s) => !s.__ng.deleted && !s.__ng.filtered)), t(this, L).rawRecords.forEach((s, e) => {
|
|
1578
1580
|
s.__ng.rowidx = e;
|
|
1579
1581
|
}), t(this, z).forEach((s, e) => {
|
|
1580
1582
|
s.__ng.i = e;
|
|
1581
1583
|
});
|
|
1582
1584
|
}, "resetRecords"));
|
|
1583
1585
|
E(this, "getValidData", /* @__PURE__ */ h(() => (t(this, z).length === 0 && t(this, L).rawRecords.length > 0 && this.resetRecords(), t(this, z)), "getValidData"));
|
|
1584
|
-
d(this,
|
|
1586
|
+
d(this, Rt, /* @__PURE__ */ h((s) => {
|
|
1585
1587
|
var o;
|
|
1586
1588
|
if (!s) return s;
|
|
1587
1589
|
const e = !Array.isArray(s), n = e ? [s] : s, r = typeof ((o = t(this, D).fields) == null ? void 0 : o.get) == "function" ? t(this, D).fields.get() : [], i = n.filter((a) => !a.__ng.deleted).map((a) => {
|
|
1588
1590
|
const c = {};
|
|
1589
|
-
return r.forEach((l,
|
|
1590
|
-
c[l] = a.v ? a.v[
|
|
1591
|
+
return r.forEach((l, u) => {
|
|
1592
|
+
c[l] = a.v ? a.v[u] : a[l];
|
|
1591
1593
|
}), c.__ng = a.__ng, c;
|
|
1592
1594
|
});
|
|
1593
1595
|
return e ? i[0] : i;
|
|
1594
1596
|
}, "#conv"));
|
|
1595
1597
|
E(this, "count", /* @__PURE__ */ h(() => this.getValidData().length, "count"));
|
|
1596
|
-
|
|
1598
|
+
p(this, D, s), p(this, L, e), t(this, we).call(this);
|
|
1597
1599
|
}
|
|
1598
1600
|
get source() {
|
|
1599
|
-
return t(this,
|
|
1601
|
+
return t(this, Rt).call(this, t(this, L).rawRecords);
|
|
1600
1602
|
}
|
|
1601
1603
|
set source(s) {
|
|
1602
1604
|
this.clear(), this.add(s, !1);
|
|
1603
1605
|
}
|
|
1604
1606
|
get nextId() {
|
|
1605
|
-
return ++
|
|
1607
|
+
return ++ws(this, xe)._;
|
|
1606
1608
|
}
|
|
1607
1609
|
get count() {
|
|
1608
1610
|
return t(this, z).length;
|
|
@@ -1614,7 +1616,7 @@ const P = class P {
|
|
|
1614
1616
|
return this.length;
|
|
1615
1617
|
}
|
|
1616
1618
|
};
|
|
1617
|
-
D = new WeakMap(), L = new WeakMap(), z = new WeakMap(),
|
|
1619
|
+
D = new WeakMap(), L = new WeakMap(), z = new WeakMap(), St = new WeakMap(), xe = new WeakMap(), J = new WeakMap(), we = new WeakMap(), ut = new WeakMap(), Yt = new WeakMap(), ve = new WeakMap(), Se = new WeakMap(), Rt = new WeakMap(), h(P, "ngData"), // 🎯 행 상태 정의 상수를 클래스 내부로 내재화
|
|
1618
1620
|
E(P, "ROW_STATE", {
|
|
1619
1621
|
EMPTY: "EMPTY",
|
|
1620
1622
|
NORMAL: "NORMAL",
|
|
@@ -1622,14 +1624,14 @@ E(P, "ROW_STATE", {
|
|
|
1622
1624
|
UPDATE: "UPDATE",
|
|
1623
1625
|
DELETE: "DELETE"
|
|
1624
1626
|
});
|
|
1625
|
-
let
|
|
1626
|
-
var
|
|
1627
|
-
const
|
|
1627
|
+
let We = P;
|
|
1628
|
+
var gt;
|
|
1629
|
+
const hs = class hs {
|
|
1628
1630
|
constructor(s) {
|
|
1629
|
-
d(this,
|
|
1630
|
-
|
|
1631
|
+
d(this, gt);
|
|
1632
|
+
p(this, gt, s), this.row = new De(this), this.data = new We(t(this, gt), this), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.pageCnt = 25, this.viewRecords.reset = () => {
|
|
1631
1633
|
var e;
|
|
1632
|
-
(e = t(this,
|
|
1634
|
+
(e = t(this, gt).view) != null && e.redraw && t(this, gt).view.redraw();
|
|
1633
1635
|
}, this.setDataSource = (e) => {
|
|
1634
1636
|
this.data && this.data.reset(), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.data.set(e || []);
|
|
1635
1637
|
}, this.getRowState = (e) => {
|
|
@@ -1644,31 +1646,31 @@ const ls = class ls {
|
|
|
1644
1646
|
}, this.setDataSource([]);
|
|
1645
1647
|
}
|
|
1646
1648
|
};
|
|
1647
|
-
|
|
1648
|
-
let
|
|
1649
|
-
var
|
|
1650
|
-
const
|
|
1649
|
+
gt = new WeakMap(), h(hs, "ngDataManager");
|
|
1650
|
+
let ze = hs;
|
|
1651
|
+
var At, H, Ut, Re;
|
|
1652
|
+
const ds = class ds {
|
|
1651
1653
|
// 🎯 이제 { name: string, type: string } 객체들의 배열로 관리합니다.
|
|
1652
1654
|
constructor(s) {
|
|
1653
|
-
d(this,
|
|
1655
|
+
d(this, At);
|
|
1654
1656
|
d(this, H, []);
|
|
1655
1657
|
E(this, "add", /* @__PURE__ */ h((s, e = "string") => {
|
|
1656
1658
|
s.forEach((n) => {
|
|
1657
1659
|
t(this, H).some((r) => r.name === n) || t(this, H).push({ name: n, type: e });
|
|
1658
|
-
}), t(this,
|
|
1660
|
+
}), t(this, Ut).call(this);
|
|
1659
1661
|
}, "add"));
|
|
1660
|
-
d(this,
|
|
1662
|
+
d(this, Ut, /* @__PURE__ */ h(() => {
|
|
1661
1663
|
const s = /* @__PURE__ */ new Map();
|
|
1662
1664
|
t(this, H).forEach((e) => {
|
|
1663
1665
|
s.set(e.name, e.type);
|
|
1664
|
-
}),
|
|
1666
|
+
}), p(this, H, Array.from(s, ([e, n]) => ({ name: e, type: n }))), p(this, H, t(this, H).filter((e) => e.name !== "" && e.name !== "__ng")), t(this, H).sort((e, n) => e.name.length < n.name.length ? 1 : -1);
|
|
1665
1667
|
}, "#adjust"));
|
|
1666
|
-
d(this,
|
|
1667
|
-
|
|
1668
|
-
const s = Array.from(t(this,
|
|
1668
|
+
d(this, Re, /* @__PURE__ */ h(() => {
|
|
1669
|
+
p(this, H, []), T.log(t(this, At).querySelectorAll("table"));
|
|
1670
|
+
const s = Array.from(t(this, At).querySelectorAll("table"));
|
|
1669
1671
|
if (!(!s || s.length === 0)) {
|
|
1670
1672
|
for (const e of s)
|
|
1671
|
-
|
|
1673
|
+
T.log(e), $("[data-bind]", e).each((n, r) => {
|
|
1672
1674
|
const i = r.dataset.bind, o = r.getAttribute("data-type") || "string";
|
|
1673
1675
|
i && t(this, H).push({ name: i, type: o });
|
|
1674
1676
|
}), ["data-expr", "background-color", "color", "tooltip", "visible", "readonly", "enable-button", "enable-check", "class-expr", "icon-color", "icon-src"].forEach((n) => {
|
|
@@ -1692,10 +1694,10 @@ const cs = class cs {
|
|
|
1692
1694
|
});
|
|
1693
1695
|
});
|
|
1694
1696
|
});
|
|
1695
|
-
t(this,
|
|
1697
|
+
t(this, Ut).call(this);
|
|
1696
1698
|
}
|
|
1697
1699
|
}, "#init"));
|
|
1698
|
-
|
|
1700
|
+
p(this, At, s), t(this, Re).call(this);
|
|
1699
1701
|
}
|
|
1700
1702
|
// 🎯 기존에 필드 이름만 쓰던 곳들과의 호환을 위해 이름 배열만 리턴하는 메서드 유지
|
|
1701
1703
|
get() {
|
|
@@ -1717,43 +1719,43 @@ const cs = class cs {
|
|
|
1717
1719
|
return t(this, H).some((e) => e.name === s);
|
|
1718
1720
|
}
|
|
1719
1721
|
};
|
|
1720
|
-
|
|
1721
|
-
let
|
|
1722
|
-
var
|
|
1723
|
-
const
|
|
1722
|
+
At = new WeakMap(), H = new WeakMap(), Ut = new WeakMap(), Re = new WeakMap(), h(ds, "ngFields");
|
|
1723
|
+
let Be = ds;
|
|
1724
|
+
var bt, Ae, Ee;
|
|
1725
|
+
const fs = class fs extends HTMLElement {
|
|
1724
1726
|
constructor() {
|
|
1725
1727
|
super();
|
|
1726
1728
|
//#created = false;
|
|
1727
|
-
d(this,
|
|
1728
|
-
d(this,
|
|
1729
|
-
d(this,
|
|
1730
|
-
this.fields = new
|
|
1729
|
+
d(this, bt);
|
|
1730
|
+
d(this, Ae);
|
|
1731
|
+
d(this, Ee, /* @__PURE__ */ h(() => {
|
|
1732
|
+
this.fields = new Be(this), p(this, Ae, new Oe(this)), T.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } }));
|
|
1731
1733
|
}, "#init"));
|
|
1732
|
-
this.attachShadow({ mode: "open" }),
|
|
1734
|
+
this.attachShadow({ mode: "open" }), p(this, bt, new ze(this));
|
|
1733
1735
|
}
|
|
1734
1736
|
connectedCallback() {
|
|
1735
|
-
t(this,
|
|
1737
|
+
t(this, Ee).call(this);
|
|
1736
1738
|
}
|
|
1737
1739
|
disconnectedCallback() {
|
|
1738
|
-
|
|
1740
|
+
T.log("NineTable disconnected.");
|
|
1739
1741
|
}
|
|
1740
1742
|
// 🎯 외부에서 grid.data.set(...) 형태로 접근할 수 있도록 데이터 매니저 오픈
|
|
1741
1743
|
get data() {
|
|
1742
|
-
return t(this,
|
|
1744
|
+
return t(this, bt).data;
|
|
1743
1745
|
}
|
|
1744
1746
|
// 🎯 행(row) 관련 제어 접근자 오픈
|
|
1745
1747
|
get row() {
|
|
1746
|
-
return t(this,
|
|
1748
|
+
return t(this, bt).row;
|
|
1747
1749
|
}
|
|
1748
1750
|
// 🎯 전체 데이터 매니저 접근 필요할 경우
|
|
1749
1751
|
get dataManager() {
|
|
1750
|
-
return t(this,
|
|
1752
|
+
return t(this, bt);
|
|
1751
1753
|
}
|
|
1752
1754
|
};
|
|
1753
|
-
|
|
1754
|
-
let
|
|
1755
|
-
customElements.get("nine-table") || customElements.define("nine-table",
|
|
1756
|
-
const
|
|
1755
|
+
bt = new WeakMap(), Ae = new WeakMap(), Ee = new WeakMap(), h(fs, "NineTable");
|
|
1756
|
+
let Pe = fs;
|
|
1757
|
+
customElements.get("nine-table") || customElements.define("nine-table", Pe);
|
|
1758
|
+
const kt = class kt extends HTMLElement {
|
|
1757
1759
|
// 👈 커스텀 스타일용 캐시 추가
|
|
1758
1760
|
constructor() {
|
|
1759
1761
|
super();
|
|
@@ -1764,19 +1766,19 @@ const Tt = class Tt extends HTMLElement {
|
|
|
1764
1766
|
connectedCallback() {
|
|
1765
1767
|
}
|
|
1766
1768
|
};
|
|
1767
|
-
h(
|
|
1768
|
-
let
|
|
1769
|
-
var I,
|
|
1770
|
-
const
|
|
1769
|
+
h(kt, "BasicCellElement"), E(kt, "_styleCache", /* @__PURE__ */ new Map()), E(kt, "_customStyleCache", /* @__PURE__ */ new Map());
|
|
1770
|
+
let Fe = kt;
|
|
1771
|
+
var I, Xt, v, Ke, Ge, Ze, Je, Qe;
|
|
1772
|
+
const us = class us extends Fe {
|
|
1771
1773
|
constructor() {
|
|
1772
1774
|
super();
|
|
1773
1775
|
d(this, I);
|
|
1774
|
-
d(this,
|
|
1776
|
+
d(this, Xt);
|
|
1775
1777
|
d(this, v);
|
|
1776
|
-
d(this, Ue);
|
|
1777
|
-
d(this, Xe);
|
|
1778
1778
|
d(this, Ke);
|
|
1779
1779
|
d(this, Ge);
|
|
1780
|
+
d(this, Ze);
|
|
1781
|
+
d(this, Je);
|
|
1780
1782
|
E(this, "getDisplayText", /* @__PURE__ */ h((e) => {
|
|
1781
1783
|
if (t(this, v))
|
|
1782
1784
|
if (t(this, v).closest("tbody")) {
|
|
@@ -1797,23 +1799,23 @@ const ds = class ds extends Be {
|
|
|
1797
1799
|
} catch {
|
|
1798
1800
|
}
|
|
1799
1801
|
}, "getDisplayText"));
|
|
1800
|
-
d(this,
|
|
1802
|
+
d(this, Qe, /* @__PURE__ */ h(() => {
|
|
1801
1803
|
if (!(!t(this, I) || !t(this, I).template || !t(this, v).closest("tbody.bindable"))) {
|
|
1802
1804
|
var e = ninegrid.j.querySelectorAll(t(this, v)).attr("suppress");
|
|
1803
1805
|
if (e && (e = parseInt(e)), e && !isNaN(e)) {
|
|
1804
1806
|
var n = t(this, v).closest("tr"), r = [];
|
|
1805
|
-
$("th,td", n).each((m,
|
|
1806
|
-
var S = ninegrid.j.querySelectorAll(
|
|
1807
|
-
S &&
|
|
1807
|
+
$("th,td", n).each((m, C) => {
|
|
1808
|
+
var S = ninegrid.j.querySelectorAll(C).attr("suppress");
|
|
1809
|
+
S && C.dataset.row && (S = parseInt(S), !isNaN(S) && S <= e && r.push(S));
|
|
1808
1810
|
}), r.sort();
|
|
1809
1811
|
var i = !1;
|
|
1810
1812
|
if (parseInt(n.sectionRowIndex / t(this, I).template.length) > 0)
|
|
1811
1813
|
for (var o of r) {
|
|
1812
1814
|
if (o > e) break;
|
|
1813
|
-
var a = parseInt(t(this, v).dataset.row), c = a - 1, l = t(this, v).closest("tr").data,
|
|
1815
|
+
var a = parseInt(t(this, v).dataset.row), c = a - 1, l = t(this, v).closest("tr").data, u = t(this, I).data.get(c);
|
|
1814
1816
|
t(this, v).dataset.matrixRow;
|
|
1815
|
-
var f = t(this, I).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],
|
|
1816
|
-
if (b !=
|
|
1817
|
+
var f = t(this, I).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], g = f.dataset.expr ? this.getExprValue(f.dataset.expr, u, c) : u[f.dataset.bind];
|
|
1818
|
+
if (b != g) {
|
|
1817
1819
|
i = !0;
|
|
1818
1820
|
break;
|
|
1819
1821
|
}
|
|
@@ -1821,7 +1823,7 @@ const ds = class ds extends Be {
|
|
|
1821
1823
|
else
|
|
1822
1824
|
i = !0;
|
|
1823
1825
|
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"));
|
|
1824
|
-
var
|
|
1826
|
+
var y = parseInt(t(this, v).dataset.matrixRow), x = y - 1, w = t(this, I).body.querySelector(`tbody.bindable [data-col="${t(this, v).dataset.col}"][data-matrix-row="${x}"]`);
|
|
1825
1827
|
$(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");
|
|
1826
1828
|
}
|
|
1827
1829
|
}
|
|
@@ -1840,7 +1842,7 @@ const ds = class ds extends Be {
|
|
|
1840
1842
|
}, "getExprValue"));
|
|
1841
1843
|
}
|
|
1842
1844
|
connectedCallback() {
|
|
1843
|
-
super.connectedCallback(),
|
|
1845
|
+
super.connectedCallback(), p(this, I, this.getRootNode().host), p(this, v, this.closest("th,td")), p(this, Xt, t(this, v).closest("tr"));
|
|
1844
1846
|
}
|
|
1845
1847
|
get value() {
|
|
1846
1848
|
var e = !t(this, I) || !t(this, I).dataManager || !t(this, v) || !t(this, v).dataset || !t(this, v).dataset.row || !t(this, v).dataset.bind ? "" : t(this, v).closest("tr").data[t(this, v).dataset.bind];
|
|
@@ -1859,12 +1861,12 @@ const ds = class ds extends Be {
|
|
|
1859
1861
|
}
|
|
1860
1862
|
refresh() {
|
|
1861
1863
|
const e = t(this, v).dataset.bind;
|
|
1862
|
-
return parseInt(t(this, v).dataset.row), t(this,
|
|
1864
|
+
return parseInt(t(this, v).dataset.row), t(this, Xt).data[e];
|
|
1863
1865
|
}
|
|
1864
1866
|
};
|
|
1865
|
-
I = new WeakMap(),
|
|
1866
|
-
let
|
|
1867
|
-
const
|
|
1867
|
+
I = new WeakMap(), Xt = new WeakMap(), v = new WeakMap(), Ke = new WeakMap(), Ge = new WeakMap(), Ze = new WeakMap(), Je = new WeakMap(), Qe = new WeakMap(), h(us, "CellElement");
|
|
1868
|
+
let je = us;
|
|
1869
|
+
const gs = class gs extends je {
|
|
1868
1870
|
constructor() {
|
|
1869
1871
|
super();
|
|
1870
1872
|
}
|
|
@@ -1875,21 +1877,21 @@ const fs = class fs extends Pe {
|
|
|
1875
1877
|
return super.refresh();
|
|
1876
1878
|
}
|
|
1877
1879
|
};
|
|
1878
|
-
h(
|
|
1879
|
-
let
|
|
1880
|
-
var
|
|
1881
|
-
const
|
|
1880
|
+
h(gs, "EditableCellElement");
|
|
1881
|
+
let Ve = gs;
|
|
1882
|
+
var Kt, pt, Et, qt, qe, Q, ts;
|
|
1883
|
+
const bs = class bs extends Ve {
|
|
1882
1884
|
constructor() {
|
|
1883
1885
|
super();
|
|
1884
|
-
d(this,
|
|
1885
|
-
d(this,
|
|
1886
|
-
d(this, At);
|
|
1886
|
+
d(this, Kt);
|
|
1887
|
+
d(this, pt);
|
|
1887
1888
|
d(this, Et);
|
|
1888
|
-
d(this,
|
|
1889
|
-
d(this,
|
|
1889
|
+
d(this, qt);
|
|
1890
|
+
d(this, qe);
|
|
1891
|
+
d(this, Q);
|
|
1890
1892
|
E(this, "refresh", /* @__PURE__ */ h(() => {
|
|
1891
1893
|
const e = super.refresh();
|
|
1892
|
-
t(this,
|
|
1894
|
+
t(this, Kt).value = e;
|
|
1893
1895
|
}, "refresh"));
|
|
1894
1896
|
/**
|
|
1895
1897
|
dataRefresh = (v) => {
|
|
@@ -1921,22 +1923,22 @@ const us = class us extends Fe {
|
|
|
1921
1923
|
if (!v) this.reset();
|
|
1922
1924
|
};
|
|
1923
1925
|
*/
|
|
1924
|
-
d(this,
|
|
1926
|
+
d(this, ts, /* @__PURE__ */ h((e) => {
|
|
1925
1927
|
if (!["Escape", "Enter", "Tab", "Home", "End", "ArrowLeft", "ArrowRight", "PageUp", "PageDown", "Backspace", "Delete"].includes(e.code)) {
|
|
1926
|
-
if (t(this,
|
|
1928
|
+
if (t(this, pt) == "number") {
|
|
1927
1929
|
let i = [];
|
|
1928
|
-
if (t(this,
|
|
1930
|
+
if (t(this, Q) && Number(t(this, Q)) > 0 && i.push("."), t(this, qt) && Number(t(this, qt)) >= 0 && i.push("-"), !(e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105) && !i.includes(e.key) && e.preventDefault(), t(this, Q) && (e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105) && e.target.selectionStart == e.target.selectionEnd) {
|
|
1929
1931
|
var n = e.target.value, r = n.indexOf(".");
|
|
1930
1932
|
if (r >= 0) {
|
|
1931
1933
|
var n = n.substr(r + 1, n.length);
|
|
1932
|
-
n.length >= Number(t(this,
|
|
1934
|
+
n.length >= Number(t(this, Q)) && e.preventDefault();
|
|
1933
1935
|
}
|
|
1934
1936
|
}
|
|
1935
1937
|
}
|
|
1936
|
-
t(this,
|
|
1938
|
+
t(this, Et) && ninegrid.getByteLength(e.target.value) >= Number(t(this, Et)) && e.target.selectionStart == e.target.selectionEnd && e.preventDefault();
|
|
1937
1939
|
}
|
|
1938
1940
|
}, "#onKeyDown"));
|
|
1939
|
-
if (this.applyBaseStyle(),
|
|
1941
|
+
if (this.applyBaseStyle(), p(this, pt, this.getAttribute("type") || "text"), p(this, Et, this.getAttribute("maxbyte")), p(this, qt, this.getAttribute("min")), p(this, qe, this.getAttribute("max")), p(this, Q, this.getAttribute("scale")), !["text", "number"].includes(t(this, pt))) throw `invalid type : ${t(this, pt)}`;
|
|
1940
1942
|
}
|
|
1941
1943
|
connectedCallback() {
|
|
1942
1944
|
for (var e = [], n = 0; n < this.attributes.length; n++)
|
|
@@ -1946,11 +1948,11 @@ const us = class us extends Fe {
|
|
|
1946
1948
|
${e.join(" ")}
|
|
1947
1949
|
ondragstart="return false;"
|
|
1948
1950
|
>
|
|
1949
|
-
`, super.connectedCallback(),
|
|
1951
|
+
`, super.connectedCallback(), p(this, Kt, this.querySelector("input"));
|
|
1950
1952
|
}
|
|
1951
1953
|
};
|
|
1952
|
-
|
|
1953
|
-
let
|
|
1954
|
+
Kt = new WeakMap(), pt = new WeakMap(), Et = new WeakMap(), qt = new WeakMap(), qe = new WeakMap(), Q = new WeakMap(), ts = new WeakMap(), h(bs, "CellInputText");
|
|
1955
|
+
let Ye = bs;
|
|
1954
1956
|
customElements.get("cell-input-text");
|
|
1955
|
-
customElements.get("cell-input") || customElements.define("cell-input",
|
|
1957
|
+
customElements.get("cell-input") || customElements.define("cell-input", Ye);
|
|
1956
1958
|
//# sourceMappingURL=nine-table.js.map
|