@ninebone/table 0.0.294 β 0.0.295
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 +243 -243
- package/dist/nine-table.js.map +1 -1
- package/dist/nine-table.umd.js +5 -5
- package/dist/nine-table.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/nine-table.js
CHANGED
|
@@ -15,76 +15,76 @@ var ie = (m, i, e, s) => ({
|
|
|
15
15
|
}
|
|
16
16
|
});
|
|
17
17
|
import { trace as ne } from "@ninebone/util";
|
|
18
|
-
const
|
|
18
|
+
const Vt = class Vt extends ne.constructor {
|
|
19
19
|
constructor() {
|
|
20
20
|
super(), this.init("nine-table", "green");
|
|
21
21
|
}
|
|
22
22
|
};
|
|
23
|
-
c(
|
|
24
|
-
let
|
|
25
|
-
const
|
|
26
|
-
var H,
|
|
27
|
-
const
|
|
23
|
+
c(Vt, "Trace");
|
|
24
|
+
let Mt = Vt;
|
|
25
|
+
const _ = new Mt();
|
|
26
|
+
var H, I, p, D, P, B, ct, N, at;
|
|
27
|
+
const Yt = class Yt extends HTMLElement {
|
|
28
28
|
constructor() {
|
|
29
29
|
super();
|
|
30
30
|
h(this, H);
|
|
31
|
-
h(this,
|
|
31
|
+
h(this, I, !1);
|
|
32
32
|
h(this, p);
|
|
33
|
-
h(this, z);
|
|
34
33
|
h(this, D);
|
|
35
34
|
h(this, P);
|
|
35
|
+
h(this, B);
|
|
36
36
|
h(this, ct, /* @__PURE__ */ c(() => {
|
|
37
37
|
if (!t(this, H)) return;
|
|
38
38
|
const e = t(this, H).querySelector(".ng-container-body");
|
|
39
|
-
e && (b(this,
|
|
39
|
+
e && (b(this, B, new ResizeObserver(() => {
|
|
40
40
|
this.refresh();
|
|
41
|
-
})), t(this,
|
|
41
|
+
})), t(this, B).observe(e));
|
|
42
42
|
}, "#observeResize"));
|
|
43
43
|
S(this, "refresh", /* @__PURE__ */ c(() => {
|
|
44
|
-
if (!t(this, H) || !t(this, p) || t(this,
|
|
44
|
+
if (!t(this, H) || !t(this, p) || t(this, I)) return;
|
|
45
45
|
const e = t(this, p).container, s = e.querySelector("table");
|
|
46
46
|
if (!s) return;
|
|
47
|
-
const n = t(this, p).track,
|
|
47
|
+
const n = t(this, p).track, o = t(this, p).thumb, r = t(this, H).querySelector(".ng-container-bottom"), l = e.clientWidth, a = s.scrollWidth;
|
|
48
48
|
if (l !== 0 && a > l)
|
|
49
|
-
|
|
49
|
+
r && (r.style.display = "flex");
|
|
50
50
|
else {
|
|
51
|
-
|
|
51
|
+
r && (r.style.display = "none");
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
54
54
|
const d = n.clientWidth;
|
|
55
55
|
if (d <= 0) return;
|
|
56
56
|
const u = Math.max(Math.min(d * (l / a), d), 20);
|
|
57
|
-
|
|
57
|
+
o.style.width = `${u}px`;
|
|
58
58
|
const f = e.scrollLeft, g = a - l;
|
|
59
59
|
let y = 0;
|
|
60
60
|
g > 0 && (y = parseInt(f / g * (d - u), 10)), y < 0 && (y = 0);
|
|
61
61
|
const w = d - u;
|
|
62
|
-
y > w && (y = w),
|
|
62
|
+
y > w && (y = w), o.style.left = `${y}px`, _.log(y), t(this, p).left.disabled = y === 0, t(this, p).right.disabled = y >= w - 1;
|
|
63
63
|
}, "refresh"));
|
|
64
|
-
h(this,
|
|
64
|
+
h(this, N, /* @__PURE__ */ c((e) => {
|
|
65
65
|
if (!t(this, p)) return !1;
|
|
66
66
|
const s = t(this, p).container, n = s.querySelector("table");
|
|
67
67
|
if (!n) return !1;
|
|
68
|
-
const
|
|
68
|
+
const o = t(this, p).track.getBoundingClientRect(), r = t(this, p).thumb.clientWidth;
|
|
69
69
|
let l = e;
|
|
70
70
|
l < 0 && (l = 0);
|
|
71
|
-
const a =
|
|
71
|
+
const a = o.width - r;
|
|
72
72
|
l > a && (l = a), l = parseInt(l, 10), t(this, p).thumb.style.left = `${l}px`, t(this, p).left.disabled = l === 0, t(this, p).right.disabled = l >= a - 1;
|
|
73
73
|
const d = s.clientWidth, f = n.scrollWidth - d;
|
|
74
74
|
return a > 0 && f > 0 && (s.scrollLeft = l / a * f), l > 0 && l < a - 1;
|
|
75
75
|
}, "#thumbMoveTo"));
|
|
76
76
|
h(this, at, /* @__PURE__ */ c(() => {
|
|
77
77
|
const e = /* @__PURE__ */ c((n) => {
|
|
78
|
-
clearInterval(t(this,
|
|
79
|
-
const
|
|
80
|
-
t(this,
|
|
81
|
-
clearInterval(t(this,
|
|
82
|
-
const
|
|
83
|
-
t(this,
|
|
78
|
+
clearInterval(t(this, D)), clearInterval(t(this, P));
|
|
79
|
+
const o = parseInt(t(this, p).thumb.style.left || 0, 10);
|
|
80
|
+
t(this, N).call(this, o + n), b(this, D, setInterval(() => {
|
|
81
|
+
clearInterval(t(this, D)), b(this, P, setInterval(() => {
|
|
82
|
+
const r = parseInt(t(this, p).thumb.style.left || 0, 10);
|
|
83
|
+
t(this, N).call(this, r + n) || clearInterval(t(this, P));
|
|
84
84
|
}, 50));
|
|
85
85
|
}, 500));
|
|
86
86
|
}, "delayScroll"), s = /* @__PURE__ */ c(() => {
|
|
87
|
-
clearInterval(t(this,
|
|
87
|
+
clearInterval(t(this, D)), clearInterval(t(this, P));
|
|
88
88
|
}, "clearTimer");
|
|
89
89
|
["mouseup", "mouseleave", "touchend"].forEach((n) => {
|
|
90
90
|
t(this, p).left.addEventListener(n, s), t(this, p).right.addEventListener(n, s), t(this, p).track.addEventListener(n, s);
|
|
@@ -95,19 +95,19 @@ const Vt = class Vt extends HTMLElement {
|
|
|
95
95
|
}), t(this, p).left.addEventListener("touchstart", () => e(-20)), t(this, p).right.addEventListener("touchstart", () => e(20)), t(this, p).track.addEventListener("mousedown", (n) => {
|
|
96
96
|
if (n.button !== 0) return;
|
|
97
97
|
n.preventDefault();
|
|
98
|
-
const
|
|
99
|
-
t(this,
|
|
98
|
+
const o = t(this, p).track.getBoundingClientRect(), r = t(this, p).thumb.clientWidth;
|
|
99
|
+
t(this, N).call(this, n.clientX - o.left - r / 2);
|
|
100
100
|
}), t(this, p).thumb.addEventListener("mousedown", (n) => {
|
|
101
101
|
if (n.button !== 0) return;
|
|
102
|
-
n.stopPropagation(), n.preventDefault(), b(this,
|
|
103
|
-
const
|
|
104
|
-
if (!t(this,
|
|
102
|
+
n.stopPropagation(), n.preventDefault(), b(this, I, !0), this.shiftX = n.clientX - t(this, p).thumb.getBoundingClientRect().left;
|
|
103
|
+
const o = /* @__PURE__ */ c((l) => {
|
|
104
|
+
if (!t(this, I)) return;
|
|
105
105
|
const a = t(this, p).track.getBoundingClientRect();
|
|
106
|
-
t(this,
|
|
107
|
-
}, "onMouseMove"),
|
|
108
|
-
b(this,
|
|
106
|
+
t(this, N).call(this, l.clientX - a.left - this.shiftX);
|
|
107
|
+
}, "onMouseMove"), r = /* @__PURE__ */ c(() => {
|
|
108
|
+
b(this, I, !1), s(), document.removeEventListener("mousemove", o), document.removeEventListener("mouseup", r), this.refresh();
|
|
109
109
|
}, "onMouseUp");
|
|
110
|
-
document.addEventListener("mousemove",
|
|
110
|
+
document.addEventListener("mousemove", o), document.addEventListener("mouseup", r);
|
|
111
111
|
});
|
|
112
112
|
}, "#init"));
|
|
113
113
|
}
|
|
@@ -189,24 +189,24 @@ const Vt = class Vt extends HTMLElement {
|
|
|
189
189
|
left: this.querySelector(".ng-scroll-left"),
|
|
190
190
|
right: this.querySelector(".ng-scroll-right")
|
|
191
191
|
}), s.addEventListener("scroll", () => {
|
|
192
|
-
t(this,
|
|
192
|
+
t(this, I) || this.refresh();
|
|
193
193
|
}), t(this, at).call(this), t(this, ct).call(this), this.refresh();
|
|
194
194
|
}, "initWhenReady");
|
|
195
195
|
e();
|
|
196
196
|
}
|
|
197
197
|
disconnectedCallback() {
|
|
198
|
-
t(this,
|
|
198
|
+
t(this, B) && t(this, B).disconnect();
|
|
199
199
|
}
|
|
200
200
|
};
|
|
201
|
-
H = new WeakMap(),
|
|
202
|
-
let
|
|
203
|
-
customElements.get("nine-table-hscrollbar") || customElements.define("nine-table-hscrollbar",
|
|
204
|
-
var
|
|
201
|
+
H = new WeakMap(), I = new WeakMap(), p = new WeakMap(), D = new WeakMap(), P = new WeakMap(), B = new WeakMap(), ct = new WeakMap(), N = new WeakMap(), at = new WeakMap(), c(Yt, "NineTableHScrollBar");
|
|
202
|
+
let _t = Yt;
|
|
203
|
+
customElements.get("nine-table-hscrollbar") || customElements.define("nine-table-hscrollbar", _t);
|
|
204
|
+
var V, $, E, Q, tt, ht;
|
|
205
205
|
const Xt = class Xt extends HTMLElement {
|
|
206
206
|
constructor() {
|
|
207
207
|
super();
|
|
208
|
-
h(this,
|
|
209
|
-
h(this,
|
|
208
|
+
h(this, V);
|
|
209
|
+
h(this, $, !1);
|
|
210
210
|
h(this, E);
|
|
211
211
|
h(this, Q, 0);
|
|
212
212
|
h(this, tt, 0);
|
|
@@ -214,49 +214,49 @@ const Xt = class Xt extends HTMLElement {
|
|
|
214
214
|
* π― μ€ν¬λ‘€λ° μμΉ λ° μΈλΈ ν¬κΈ° κ°±μ
|
|
215
215
|
*/
|
|
216
216
|
S(this, "refresh", /* @__PURE__ */ c(() => {
|
|
217
|
-
if (!t(this,
|
|
217
|
+
if (!t(this, V) || !t(this, E) || t(this, $)) return;
|
|
218
218
|
const e = t(this, E).container, s = e.querySelector("table");
|
|
219
219
|
if (!s) return;
|
|
220
|
-
const n = t(this, E).track,
|
|
221
|
-
if (l <=
|
|
222
|
-
|
|
220
|
+
const n = t(this, E).track, o = t(this, E).thumb, r = e.clientHeight, l = s.scrollHeight;
|
|
221
|
+
if (l <= r) {
|
|
222
|
+
o.style.display = "none", t(this, E).top.disabled = !0, t(this, E).bottom.disabled = !0;
|
|
223
223
|
return;
|
|
224
224
|
} else
|
|
225
|
-
|
|
225
|
+
o.style.display = "block";
|
|
226
226
|
const a = n.clientHeight;
|
|
227
227
|
if (a <= 0) return;
|
|
228
|
-
const d = Math.max(Math.min(a * (
|
|
229
|
-
|
|
230
|
-
const u = e.scrollTop, f = l -
|
|
228
|
+
const d = Math.max(Math.min(a * (r / l), a), 20);
|
|
229
|
+
o.style.height = `${d}px`;
|
|
230
|
+
const u = e.scrollTop, f = l - r;
|
|
231
231
|
let g = 0;
|
|
232
232
|
f > 0 && (g = u / f * (a - d));
|
|
233
233
|
const y = a - d;
|
|
234
|
-
g < 0 && (g = 0), g > y && (g = y),
|
|
234
|
+
g < 0 && (g = 0), g > y && (g = y), o.style.top = `${g}px`, t(this, E).top.disabled = u <= 0, t(this, E).bottom.disabled = u >= f - 1;
|
|
235
235
|
}, "refresh"));
|
|
236
236
|
h(this, ht, /* @__PURE__ */ c(() => {
|
|
237
237
|
const e = t(this, E).container;
|
|
238
238
|
e.addEventListener("scroll", () => {
|
|
239
|
-
t(this,
|
|
239
|
+
t(this, $) || this.refresh();
|
|
240
240
|
}), t(this, E).thumb.addEventListener("mousedown", (s) => {
|
|
241
241
|
if (s.button !== 0) return;
|
|
242
|
-
s.stopPropagation(), s.preventDefault(), b(this,
|
|
243
|
-
const n = /* @__PURE__ */ c((
|
|
244
|
-
if (!t(this,
|
|
245
|
-
const l = t(this, E).track.getBoundingClientRect(), a = t(this, E).thumb.clientHeight, u = l.height - a, f =
|
|
242
|
+
s.stopPropagation(), s.preventDefault(), b(this, $, !0), b(this, Q, s.clientY), b(this, tt, e.scrollTop);
|
|
243
|
+
const n = /* @__PURE__ */ c((r) => {
|
|
244
|
+
if (!t(this, $)) return;
|
|
245
|
+
const l = t(this, E).track.getBoundingClientRect(), a = t(this, E).thumb.clientHeight, u = l.height - a, f = r.clientY - t(this, Q), g = e.clientHeight, w = table.scrollHeight - g;
|
|
246
246
|
if (u > 0 && w > 0) {
|
|
247
247
|
const L = f / u * w;
|
|
248
248
|
e.scrollTop = t(this, tt) + L;
|
|
249
249
|
}
|
|
250
250
|
this.refresh();
|
|
251
|
-
}, "onMouseMove"),
|
|
252
|
-
b(this,
|
|
251
|
+
}, "onMouseMove"), o = /* @__PURE__ */ c(() => {
|
|
252
|
+
b(this, $, !1), document.removeEventListener("mousemove", n), document.removeEventListener("mouseup", o), this.refresh();
|
|
253
253
|
}, "onMouseUp");
|
|
254
|
-
document.addEventListener("mousemove", n), document.addEventListener("mouseup",
|
|
254
|
+
document.addEventListener("mousemove", n), document.addEventListener("mouseup", o);
|
|
255
255
|
}), t(this, E).track.addEventListener("mousedown", (s) => {
|
|
256
256
|
if (s.button !== 0 || s.target === t(this, E).thumb) return;
|
|
257
|
-
const n = t(this, E).track.getBoundingClientRect(),
|
|
257
|
+
const n = t(this, E).track.getBoundingClientRect(), o = t(this, E).thumb.clientHeight, r = s.clientY - n.top - o / 2, a = n.height - o, d = e.clientHeight, f = e.querySelector("table").scrollHeight - d;
|
|
258
258
|
if (a > 0 && f > 0) {
|
|
259
|
-
const g = Math.max(0, Math.min(1,
|
|
259
|
+
const g = Math.max(0, Math.min(1, r / a));
|
|
260
260
|
e.scrollTop = g * f;
|
|
261
261
|
}
|
|
262
262
|
this.refresh();
|
|
@@ -268,7 +268,7 @@ const Xt = class Xt extends HTMLElement {
|
|
|
268
268
|
}, "#init"));
|
|
269
269
|
}
|
|
270
270
|
connectedCallback() {
|
|
271
|
-
if (b(this,
|
|
271
|
+
if (b(this, V, this.closest("nine-table-sheet") || this.getRootNode().host), !t(this, V)) return;
|
|
272
272
|
this.innerHTML = `
|
|
273
273
|
<style>
|
|
274
274
|
nine-table-vscrollbar {
|
|
@@ -333,7 +333,7 @@ const Xt = class Xt extends HTMLElement {
|
|
|
333
333
|
<button class='ng-scroll-bottom' disabled><div class='ng-scroll-icon'></div></button>
|
|
334
334
|
`;
|
|
335
335
|
const e = /* @__PURE__ */ c(() => {
|
|
336
|
-
const s = t(this,
|
|
336
|
+
const s = t(this, V).querySelector(".ng-container-body");
|
|
337
337
|
if (!s) {
|
|
338
338
|
setTimeout(e, 10);
|
|
339
339
|
return;
|
|
@@ -349,7 +349,7 @@ const Xt = class Xt extends HTMLElement {
|
|
|
349
349
|
e();
|
|
350
350
|
}
|
|
351
351
|
};
|
|
352
|
-
|
|
352
|
+
V = new WeakMap(), $ = new WeakMap(), E = new WeakMap(), Q = new WeakMap(), tt = new WeakMap(), ht = new WeakMap(), c(Xt, "NineTableVScrollBar");
|
|
353
353
|
let It = Xt;
|
|
354
354
|
customElements.get("nine-table-vscrollbar") || customElements.define("nine-table-vscrollbar", It);
|
|
355
355
|
var dt, et;
|
|
@@ -364,10 +364,10 @@ const C = class C {
|
|
|
364
364
|
* π― λ¨μΌ μλ³Έ ν
μ΄λΈμ λ°μ κΈ°λ³Έ ꡬ쑰 보μ λ° 2μ°¨μ 격μ μΈλ±μ€ μ¬μ λΆμ¬ μλ£λ λ§μ€ν° ν
μ΄λΈ λ°ν
|
|
365
365
|
*/
|
|
366
366
|
static compile(i) {
|
|
367
|
-
var n,
|
|
367
|
+
var n, o, r;
|
|
368
368
|
if (!i) return null;
|
|
369
369
|
const e = i.cloneNode(!0);
|
|
370
|
-
return t(n = C, dt).call(n, e), t(
|
|
370
|
+
return t(n = C, dt).call(n, e), t(o = C, et).call(o, e, "thead"), t(r = C, et).call(r, e, "tbody"), Array.from(e.querySelectorAll("colgroup col")).forEach((l, a) => {
|
|
371
371
|
const d = l.getAttribute("fixed");
|
|
372
372
|
d && e.querySelectorAll(`[data-col="${a}"]`).forEach((u) => {
|
|
373
373
|
u.setAttribute("fixed", d);
|
|
@@ -377,10 +377,10 @@ const C = class C {
|
|
|
377
377
|
};
|
|
378
378
|
dt = new WeakMap(), et = new WeakMap(), c(C, "TableCompiler"), h(C, dt, /* @__PURE__ */ c((i) => {
|
|
379
379
|
if (!i.querySelector("colgroup")) {
|
|
380
|
-
const e = i.querySelector("tbody tr") || i.querySelector("tr"), s = e ? e.querySelectorAll("th, td").length : 1, n = document.createElement("colgroup"),
|
|
381
|
-
for (let
|
|
380
|
+
const e = i.querySelector("tbody tr") || i.querySelector("tr"), s = e ? e.querySelectorAll("th, td").length : 1, n = document.createElement("colgroup"), o = Math.max(Math.floor(i.clientWidth / s), 100);
|
|
381
|
+
for (let r = 0; r < s; r++) {
|
|
382
382
|
const l = document.createElement("col");
|
|
383
|
-
l.setAttribute("width",
|
|
383
|
+
l.setAttribute("width", o), n.appendChild(l);
|
|
384
384
|
}
|
|
385
385
|
i.prepend(n);
|
|
386
386
|
}
|
|
@@ -390,13 +390,13 @@ dt = new WeakMap(), et = new WeakMap(), c(C, "TableCompiler"), h(C, dt, /* @__PU
|
|
|
390
390
|
}
|
|
391
391
|
i.classList.add("nine-table-element"), i.style.display = "table";
|
|
392
392
|
}, "#ensureTableStructure")), h(C, et, /* @__PURE__ */ c((i, e) => {
|
|
393
|
-
const s = Array.from(i.querySelectorAll(e + " tr")), n = Array.from(i.querySelectorAll(e + " th," + e + " td")),
|
|
394
|
-
if (
|
|
395
|
-
let
|
|
393
|
+
const s = Array.from(i.querySelectorAll(e + " tr")), n = Array.from(i.querySelectorAll(e + " th," + e + " td")), o = s.length;
|
|
394
|
+
if (o === 0 || n.length === 0) return;
|
|
395
|
+
let r = 0;
|
|
396
396
|
n.forEach((a) => {
|
|
397
|
-
|
|
397
|
+
r += a.colSpan || 1;
|
|
398
398
|
});
|
|
399
|
-
const l = Array.from(Array(
|
|
399
|
+
const l = Array.from(Array(o), () => Array(r).fill(null));
|
|
400
400
|
s.forEach((a) => {
|
|
401
401
|
const d = a.sectionRowIndex;
|
|
402
402
|
let u = 0;
|
|
@@ -409,7 +409,7 @@ dt = new WeakMap(), et = new WeakMap(), c(C, "TableCompiler"), h(C, dt, /* @__PU
|
|
|
409
409
|
const g = f.rowSpan || 1, y = f.colSpan || 1;
|
|
410
410
|
for (let w = 0; w < g; w++)
|
|
411
411
|
for (let L = 0; L < y; L++)
|
|
412
|
-
d + w <
|
|
412
|
+
d + w < o && u + L < r && (l[d + w][u + L] = w === 0 && L === 0 ? "1" : "0");
|
|
413
413
|
});
|
|
414
414
|
}), s.forEach((a) => {
|
|
415
415
|
const d = a.sectionRowIndex;
|
|
@@ -423,30 +423,30 @@ dt = new WeakMap(), et = new WeakMap(), c(C, "TableCompiler"), h(C, dt, /* @__PU
|
|
|
423
423
|
});
|
|
424
424
|
}, "#resetColIndex"));
|
|
425
425
|
let $t = C;
|
|
426
|
-
var v,
|
|
426
|
+
var v, M, R, W, Y, X, ft, ut, gt, it, bt, pt, st, yt, mt;
|
|
427
427
|
const Ut = class Ut {
|
|
428
428
|
constructor(i) {
|
|
429
429
|
h(this, v);
|
|
430
|
-
h(this,
|
|
430
|
+
h(this, M, /* @__PURE__ */ new Map());
|
|
431
431
|
// κ° μ»¨ν
μ΄λλ³ λ
립λ ν
νλ¦Ώ TR κ΄λ¦¬
|
|
432
432
|
h(this, R, null);
|
|
433
|
-
h(this,
|
|
433
|
+
h(this, W, null);
|
|
434
434
|
h(this, Y, 0);
|
|
435
|
-
h(this,
|
|
435
|
+
h(this, X, 40);
|
|
436
436
|
/**
|
|
437
437
|
* π― NineTableSheetμμ λ§μ€ν° ν
μ΄λΈμ μ λ¬λ°μ κ° μμλ³ ν
μ΄λΈ μμ± λ° ν
νλ¦Ώ μΆμΆ μΌμν
|
|
438
438
|
*/
|
|
439
439
|
// [RowManager.js μμ λ΄μ© λ°μ·]
|
|
440
440
|
S(this, "initialize", /* @__PURE__ */ c(() => {
|
|
441
|
-
b(this, R, null), t(this,
|
|
441
|
+
b(this, R, null), t(this, M).clear(), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((e) => {
|
|
442
442
|
const s = t(this, v).querySelector(e);
|
|
443
443
|
if (!s) return;
|
|
444
444
|
const n = s.querySelector("table");
|
|
445
445
|
if (!n) return;
|
|
446
|
-
const
|
|
447
|
-
if (!
|
|
448
|
-
const l = Array.from(
|
|
449
|
-
t(this,
|
|
446
|
+
const o = n.querySelector("tbody");
|
|
447
|
+
if (!o) return;
|
|
448
|
+
const l = Array.from(o.querySelectorAll("tr")).map((a) => a.cloneNode(!0));
|
|
449
|
+
t(this, M).set(e, l);
|
|
450
450
|
});
|
|
451
451
|
const i = t(this, v).querySelector(".ng-container-body");
|
|
452
452
|
if (i) {
|
|
@@ -455,22 +455,22 @@ const Ut = class Ut {
|
|
|
455
455
|
i.addEventListener("scroll", () => {
|
|
456
456
|
var n;
|
|
457
457
|
const s = i.scrollTop;
|
|
458
|
-
|
|
458
|
+
_.log(e, s), e !== s && (e = s, t(this, yt).call(this, s)), (n = t(this, v).querySelector("nine-table-vscrollbar")) == null || n.refresh();
|
|
459
459
|
});
|
|
460
460
|
}
|
|
461
461
|
}, "initialize"));
|
|
462
462
|
h(this, ft, /* @__PURE__ */ c((i, e) => {
|
|
463
|
-
const s = t(this,
|
|
463
|
+
const s = t(this, M).get(e);
|
|
464
464
|
if (!s || s.length === 0) return;
|
|
465
465
|
const n = i.querySelector("tbody");
|
|
466
466
|
if (!n) return;
|
|
467
467
|
n.querySelectorAll("tr:not(.nodata)").forEach((l) => l.remove());
|
|
468
|
-
const
|
|
469
|
-
for (let l = 0; l < t(this,
|
|
468
|
+
const o = n.querySelector("tr.nodata"), r = document.createDocumentFragment();
|
|
469
|
+
for (let l = 0; l < t(this, X); l++)
|
|
470
470
|
s.forEach((a) => {
|
|
471
|
-
|
|
471
|
+
r.appendChild(a.cloneNode(!0));
|
|
472
472
|
});
|
|
473
|
-
|
|
473
|
+
o ? o.before(r) : n.appendChild(r);
|
|
474
474
|
}, "#renderRows"));
|
|
475
475
|
/**
|
|
476
476
|
* π― ν
νλ¦Ώ TRλ€μ μ΄ λμ΄λ₯Ό μΈ‘μ νκ³ μΊμ±
|
|
@@ -478,22 +478,22 @@ const Ut = class Ut {
|
|
|
478
478
|
h(this, ut, /* @__PURE__ */ c((i) => {
|
|
479
479
|
if (t(this, R) !== null && t(this, R) > 0)
|
|
480
480
|
return t(this, R);
|
|
481
|
-
const e = t(this,
|
|
481
|
+
const e = t(this, M).get(".ng-container-body");
|
|
482
482
|
if (!e || e.length === 0) return 24;
|
|
483
483
|
const s = i.querySelector("tbody");
|
|
484
484
|
if (!s) return 24;
|
|
485
485
|
s.querySelectorAll("tr:not(.nodata)").forEach((g) => g.remove());
|
|
486
|
-
const n = s.querySelector("tr.nodata"),
|
|
486
|
+
const n = s.querySelector("tr.nodata"), o = document.createDocumentFragment();
|
|
487
487
|
e.forEach((g) => {
|
|
488
|
-
|
|
489
|
-
}), n ? n.before(
|
|
490
|
-
const
|
|
491
|
-
(l === "none" || window.getComputedStyle(
|
|
488
|
+
o.appendChild(g.cloneNode(!0));
|
|
489
|
+
}), n ? n.before(o) : s.appendChild(o);
|
|
490
|
+
const r = t(this, v), l = r.style.display, a = r.style.visibility, d = r.style.position;
|
|
491
|
+
(l === "none" || window.getComputedStyle(r).display === "none") && (r.style.display = "block", r.style.visibility = "hidden", r.style.position = "absolute");
|
|
492
492
|
let u = 0;
|
|
493
493
|
const f = s.querySelectorAll("tr:not(.nodata)");
|
|
494
494
|
return f.forEach((g) => {
|
|
495
495
|
u += g.offsetHeight || g.getBoundingClientRect().height;
|
|
496
|
-
}), f.forEach((g) => g.remove()),
|
|
496
|
+
}), f.forEach((g) => g.remove()), r.style.display = l, r.style.visibility = a, r.style.position = d, b(this, R, u > 0 ? u : 24), t(this, it).call(this), _.log(`[RowManager] Height Cached: ${t(this, R)}px | RowCount: ${t(this, X)}`), t(this, R);
|
|
497
497
|
}, "#measureAndCacheHeight"));
|
|
498
498
|
/**
|
|
499
499
|
* π― μ 체 λ°μ΄ν° κ°μ κΈ°λ°μΌλ‘ κ°μ μ€ν¬λ‘€ λμ΄ μ€μ
|
|
@@ -502,53 +502,53 @@ const Ut = class Ut {
|
|
|
502
502
|
* π― μ 체 λ°μ΄ν° κ°μ κΈ°λ°μΌλ‘ κ°μ μ€ν¬λ‘€ λμ΄ μ€μ
|
|
503
503
|
*/
|
|
504
504
|
h(this, gt, /* @__PURE__ */ c(() => {
|
|
505
|
-
var
|
|
505
|
+
var o, r, l, a;
|
|
506
506
|
if (!t(this, v).querySelector(".ng-container-body")) return;
|
|
507
|
-
const e = (typeof ((
|
|
508
|
-
[".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((d) => {
|
|
507
|
+
const e = (typeof ((o = t(this, v).data) == null ? void 0 : o.count) == "function" ? t(this, v).data.count() : null) ?? ((l = (r = t(this, v).dataManager) == null ? void 0 : r.rawRecords) == null ? void 0 : l.length) ?? ((a = t(this, v).data) == null ? void 0 : a.length) ?? 0, s = t(this, R) || 24, n = e * s;
|
|
508
|
+
_.log(`[RowManager] TotalCount: ${e} | RowHeight: ${s}px | TotalVirtualHeight: ${n}px`), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((d) => {
|
|
509
509
|
const u = t(this, v).querySelector(d), f = u == null ? void 0 : u.querySelector("table");
|
|
510
|
-
f
|
|
510
|
+
f ? (f.style.height = `${n}px`, _.log(`[RowManager] Applied height to ${d} table:`, f.style.height)) : _.log(`[RowManager] Table not found for selector: ${d}`);
|
|
511
511
|
});
|
|
512
512
|
}, "#updateVirtualScrollHeight"));
|
|
513
513
|
h(this, it, /* @__PURE__ */ c(() => {
|
|
514
514
|
if (t(this, Y) > 0 && t(this, R) > 0) {
|
|
515
515
|
const i = Math.ceil(t(this, Y) / t(this, R));
|
|
516
|
-
b(this,
|
|
516
|
+
b(this, X, i + 20);
|
|
517
517
|
} else
|
|
518
|
-
b(this,
|
|
518
|
+
b(this, X, 40);
|
|
519
519
|
}, "#updateRowCount"));
|
|
520
520
|
h(this, bt, /* @__PURE__ */ c(() => {
|
|
521
521
|
var a, d, u;
|
|
522
522
|
const i = t(this, v).querySelector(".ng-container-left table"), e = t(this, v).querySelector(".ng-container-body table"), s = t(this, v).querySelector(".ng-container-right table");
|
|
523
523
|
if (!e) return;
|
|
524
|
-
const n = i ? Array.from(i.querySelectorAll("tr")) : [],
|
|
524
|
+
const n = i ? Array.from(i.querySelectorAll("tr")) : [], o = Array.from(e.querySelectorAll("tr")), r = s ? Array.from(s.querySelectorAll("tr")) : [], l = Math.max(n.length, o.length, r.length);
|
|
525
525
|
for (let f = 0; f < l; f++) {
|
|
526
526
|
const g = [
|
|
527
527
|
((a = n[f]) == null ? void 0 : a.getBoundingClientRect().height) || 0,
|
|
528
|
-
((d =
|
|
529
|
-
((u =
|
|
528
|
+
((d = o[f]) == null ? void 0 : d.getBoundingClientRect().height) || 0,
|
|
529
|
+
((u = r[f]) == null ? void 0 : u.getBoundingClientRect().height) || 0
|
|
530
530
|
], y = Math.max(...g);
|
|
531
|
-
y > 0 && (n[f] && (n[f].style.height = `${y}px`),
|
|
531
|
+
y > 0 && (n[f] && (n[f].style.height = `${y}px`), o[f] && (o[f].style.height = `${y}px`), r[f] && (r[f].style.height = `${y}px`));
|
|
532
532
|
}
|
|
533
533
|
}, "#syncRowHeights"));
|
|
534
534
|
/**
|
|
535
535
|
* π― ResizeObserver μ€μ : μνΈ ν¬κΈ° λ³κ²½ μ ν κ°μ μ¬μ°μ λ° μ¬λ λλ§
|
|
536
536
|
*/
|
|
537
537
|
h(this, pt, /* @__PURE__ */ c(() => {
|
|
538
|
-
!t(this, v) || !(t(this, v) instanceof HTMLElement) || (b(this,
|
|
538
|
+
!t(this, v) || !(t(this, v) instanceof HTMLElement) || (b(this, W, new ResizeObserver((i) => {
|
|
539
539
|
for (const e of i) {
|
|
540
540
|
const s = e.target;
|
|
541
541
|
if (!s.classList.contains("active")) continue;
|
|
542
542
|
const n = e.contentRect.height;
|
|
543
543
|
if (n > 0) {
|
|
544
|
-
let
|
|
545
|
-
const
|
|
546
|
-
|
|
547
|
-
const l = Math.max(n -
|
|
544
|
+
let o = 0;
|
|
545
|
+
const r = s.querySelector("thead");
|
|
546
|
+
r && (o += r.offsetHeight || r.getBoundingClientRect().height);
|
|
547
|
+
const l = Math.max(n - o, 100);
|
|
548
548
|
t(this, Y) !== l && (b(this, Y, l), t(this, it).call(this), t(this, R) !== null && t(this, st).call(this));
|
|
549
549
|
}
|
|
550
550
|
}
|
|
551
|
-
})), t(this,
|
|
551
|
+
})), t(this, W).observe(t(this, v)));
|
|
552
552
|
}, "#initResizeObserver"));
|
|
553
553
|
/**
|
|
554
554
|
* π― λ°λ λ° μ’μ° κ³ μ 컨ν
μ΄λ μ 체μ κ°κ°μ λ§λ ν
νλ¦Ώ ν λΌλ μ£Όμ
|
|
@@ -563,17 +563,17 @@ const Ut = class Ut {
|
|
|
563
563
|
* π― μ€ν¬λ‘€ μμΉμ λ°λ₯Έ λ°μ΄ν° λ°μΈλ© κ°±μ
|
|
564
564
|
*/
|
|
565
565
|
h(this, yt, /* @__PURE__ */ c((i) => {
|
|
566
|
-
var
|
|
566
|
+
var r;
|
|
567
567
|
const e = t(this, R);
|
|
568
568
|
if (!e || e <= 0) return;
|
|
569
|
-
const s = ((
|
|
569
|
+
const s = ((r = t(this, M).get(".ng-container-body")) == null ? void 0 : r.length) || 1, n = Math.floor(i / e), o = Math.max(0, n);
|
|
570
570
|
[".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((l) => {
|
|
571
571
|
const a = t(this, v).querySelector(l);
|
|
572
572
|
if (!a) return;
|
|
573
573
|
const d = a.querySelector("tbody");
|
|
574
574
|
if (!d) return;
|
|
575
575
|
Array.from(d.querySelectorAll("tr:not(.nodata)")).forEach((f, g) => {
|
|
576
|
-
const y =
|
|
576
|
+
const y = o + Math.floor(g / s), w = t(this, v).getData ? t(this, v).getData(y) : null;
|
|
577
577
|
w ? (f.style.display = "", t(this, mt).call(this, f, w, y)) : f.style.display = "none";
|
|
578
578
|
});
|
|
579
579
|
});
|
|
@@ -583,12 +583,12 @@ const Ut = class Ut {
|
|
|
583
583
|
*/
|
|
584
584
|
h(this, mt, /* @__PURE__ */ c((i, e, s) => {
|
|
585
585
|
i.dataset.row = s, Array.from(i.cells).forEach((n) => {
|
|
586
|
-
const
|
|
587
|
-
|
|
586
|
+
const o = n.dataset.bind;
|
|
587
|
+
o && e[o] !== void 0 && (n.textContent = e[o]), n.dataset.row = s;
|
|
588
588
|
});
|
|
589
589
|
}, "#bindRowData"));
|
|
590
590
|
S(this, "destroy", /* @__PURE__ */ c(() => {
|
|
591
|
-
t(this,
|
|
591
|
+
t(this, W) && (t(this, W).disconnect(), b(this, W, null));
|
|
592
592
|
}, "destroy"));
|
|
593
593
|
b(this, v, i), t(this, pt).call(this);
|
|
594
594
|
}
|
|
@@ -597,42 +597,42 @@ const Ut = class Ut {
|
|
|
597
597
|
}
|
|
598
598
|
templateLength(i = ".ng-container-body") {
|
|
599
599
|
var e;
|
|
600
|
-
return ((e = t(this,
|
|
600
|
+
return ((e = t(this, M).get(i)) == null ? void 0 : e.length) || 1;
|
|
601
601
|
}
|
|
602
602
|
};
|
|
603
|
-
v = new WeakMap(),
|
|
603
|
+
v = new WeakMap(), M = new WeakMap(), R = new WeakMap(), W = new WeakMap(), Y = new WeakMap(), X = new WeakMap(), ft = new WeakMap(), ut = new WeakMap(), gt = new WeakMap(), it = new WeakMap(), bt = new WeakMap(), pt = new WeakMap(), st = new WeakMap(), yt = new WeakMap(), mt = new WeakMap(), c(Ut, "RowManager");
|
|
604
604
|
let Wt = Ut;
|
|
605
|
-
var
|
|
605
|
+
var F, Z, xt, vt, wt, St, Et;
|
|
606
606
|
const J = class J extends HTMLElement {
|
|
607
607
|
constructor() {
|
|
608
608
|
super();
|
|
609
|
-
h(this,
|
|
610
|
-
h(this,
|
|
609
|
+
h(this, F, null);
|
|
610
|
+
h(this, Z);
|
|
611
611
|
h(this, xt, /* @__PURE__ */ c(() => {
|
|
612
612
|
[
|
|
613
613
|
{ selector: ".ng-container-body", type: null },
|
|
614
614
|
{ selector: ".ng-container-left", type: "left" },
|
|
615
615
|
{ selector: ".ng-container-right", type: "right" }
|
|
616
616
|
].forEach(({ selector: s, type: n }) => {
|
|
617
|
-
const
|
|
618
|
-
if (!
|
|
619
|
-
const
|
|
620
|
-
|
|
617
|
+
const o = this.querySelector(s);
|
|
618
|
+
if (!o) return;
|
|
619
|
+
const r = t(this, wt).call(this, t(this, F), n);
|
|
620
|
+
o.innerHTML = "", o.appendChild(r);
|
|
621
621
|
});
|
|
622
622
|
}, "#renderSplitContainers"));
|
|
623
623
|
h(this, vt, /* @__PURE__ */ c(() => {
|
|
624
624
|
["left", "right"].forEach((e) => {
|
|
625
625
|
const s = this.querySelector(`.ng-container-${e}`), n = s == null ? void 0 : s.querySelector("table");
|
|
626
626
|
if (!s || !n) return;
|
|
627
|
-
let
|
|
628
|
-
n.querySelectorAll("col").forEach((
|
|
629
|
-
const l = parseInt(
|
|
630
|
-
isNaN(
|
|
631
|
-
}), s.style.flex = `0 0 ${
|
|
627
|
+
let o = 0;
|
|
628
|
+
n.querySelectorAll("col").forEach((r) => {
|
|
629
|
+
const l = parseInt(r.getAttribute("width"), 10);
|
|
630
|
+
isNaN(o) || (o += l);
|
|
631
|
+
}), s.style.flex = `0 0 ${o}px`, s.style.width = `${o}px`;
|
|
632
632
|
});
|
|
633
633
|
}, "#updateContainerWidths"));
|
|
634
634
|
S(this, "generate", /* @__PURE__ */ c((e) => {
|
|
635
|
-
e && (b(this,
|
|
635
|
+
e && (b(this, F, $t.compile(e)), t(this, F).style.display = "table", t(this, xt).call(this), t(this, vt).call(this), t(this, Z).initialize(), setTimeout(() => {
|
|
636
636
|
var s;
|
|
637
637
|
(s = this.querySelector("nine-table-hscrollbar")) == null || s.refresh();
|
|
638
638
|
}, 0));
|
|
@@ -642,15 +642,15 @@ const J = class J extends HTMLElement {
|
|
|
642
642
|
*/
|
|
643
643
|
h(this, wt, /* @__PURE__ */ c((e, s) => {
|
|
644
644
|
const n = e.cloneNode(!0);
|
|
645
|
-
return s === "left" ? n.querySelectorAll("col, th, td").forEach((
|
|
646
|
-
|
|
647
|
-
}) : s === "right" ? n.querySelectorAll("col, th, td").forEach((
|
|
648
|
-
|
|
649
|
-
}) : n.querySelectorAll("[fixed=left], [fixed=right]").forEach((
|
|
650
|
-
|
|
645
|
+
return s === "left" ? n.querySelectorAll("col, th, td").forEach((o) => {
|
|
646
|
+
o.getAttribute("fixed") !== "left" && o.remove();
|
|
647
|
+
}) : s === "right" ? n.querySelectorAll("col, th, td").forEach((o) => {
|
|
648
|
+
o.getAttribute("fixed") !== "right" && o.remove();
|
|
649
|
+
}) : n.querySelectorAll("[fixed=left], [fixed=right]").forEach((o) => {
|
|
650
|
+
o.remove();
|
|
651
651
|
}), n;
|
|
652
652
|
}, "#createSplitTable"));
|
|
653
|
-
S(this, "getRowHeight", /* @__PURE__ */ c(() => t(this,
|
|
653
|
+
S(this, "getRowHeight", /* @__PURE__ */ c(() => t(this, Z).getRowHeight(), "getRowHeight"));
|
|
654
654
|
S(this, "scrollToX", /* @__PURE__ */ c((e) => {
|
|
655
655
|
const s = this.querySelector(".ng-container-body");
|
|
656
656
|
s && (s.scrollLeft = e);
|
|
@@ -786,16 +786,16 @@ const J = class J extends HTMLElement {
|
|
|
786
786
|
</div>
|
|
787
787
|
`;
|
|
788
788
|
}, "#render"));
|
|
789
|
-
b(this,
|
|
789
|
+
b(this, Z, new Wt(this));
|
|
790
790
|
}
|
|
791
791
|
connectedCallback() {
|
|
792
792
|
t(this, St).call(this);
|
|
793
793
|
}
|
|
794
794
|
disconnectedCallback() {
|
|
795
|
-
this.innerHTML = "",
|
|
795
|
+
this.innerHTML = "", _.log("NineTableSheet destroyed.");
|
|
796
796
|
}
|
|
797
797
|
};
|
|
798
|
-
|
|
798
|
+
F = new WeakMap(), Z = new WeakMap(), xt = new WeakMap(), vt = new WeakMap(), wt = new WeakMap(), St = new WeakMap(), Et = new WeakMap(), c(J, "NineTableSheet"), S(J, "SCROLLBAR_SIZE", 16);
|
|
799
799
|
let lt = J;
|
|
800
800
|
customElements.get("nine-table-sheet") || customElements.define("nine-table-sheet", lt);
|
|
801
801
|
var Rt, nt;
|
|
@@ -805,9 +805,9 @@ const Kt = class Kt extends HTMLElement {
|
|
|
805
805
|
h(this, Rt, /* @__PURE__ */ c(() => {
|
|
806
806
|
var e;
|
|
807
807
|
(e = this.querySelector(".nine-tab-bar")) == null || e.addEventListener("click", (s) => {
|
|
808
|
-
var
|
|
809
|
-
const n = s.ctrlKey || s.metaKey || s.shiftKey,
|
|
810
|
-
t(this, nt).call(this,
|
|
808
|
+
var r;
|
|
809
|
+
const n = s.ctrlKey || s.metaKey || s.shiftKey, o = parseInt((r = s.target.closest(".nine-tab-item")) == null ? void 0 : r.dataset.index, 10);
|
|
810
|
+
t(this, nt).call(this, o, n);
|
|
811
811
|
}), t(this, nt).call(this, 0, !1);
|
|
812
812
|
}, "#init"));
|
|
813
813
|
h(this, nt, /* @__PURE__ */ c((e, s = !1) => {
|
|
@@ -819,7 +819,7 @@ const Kt = class Kt extends HTMLElement {
|
|
|
819
819
|
const w = parseInt(y.getAttribute("data-index"), 10), L = this.querySelector(`nine-splitter[data-split-index="${w}"]`), Jt = u[w + 1];
|
|
820
820
|
L && Jt && Jt.classList.contains("active") && L.style.setProperty("display", "flex");
|
|
821
821
|
});
|
|
822
|
-
}, "updateSplitters"),
|
|
822
|
+
}, "updateSplitters"), o = this.querySelector(".nine-tab-bar"), r = this.querySelector("nine-table-sheets-body"), l = o.querySelectorAll(".nine-tab-item"), a = r.querySelectorAll("nine-table-sheet");
|
|
823
823
|
if (!l[e]) return;
|
|
824
824
|
if (!s)
|
|
825
825
|
l.forEach((u, f) => {
|
|
@@ -829,14 +829,14 @@ const Kt = class Kt extends HTMLElement {
|
|
|
829
829
|
u.classList.toggle("active", g), u.style.flex = g ? "1 1 100%" : "";
|
|
830
830
|
});
|
|
831
831
|
else {
|
|
832
|
-
const u = l[e], f =
|
|
832
|
+
const u = l[e], f = o.querySelectorAll(".nine-tab-item.active");
|
|
833
833
|
if (u.classList.contains("active") && f.length <= 1)
|
|
834
834
|
return;
|
|
835
835
|
u.classList.toggle("active");
|
|
836
|
-
const g =
|
|
836
|
+
const g = r.querySelector(`nine-table-sheet[data-index="${e}"]`);
|
|
837
837
|
g && (g.classList.toggle("active"), g.classList.contains("active") || (g.style.flex = ""));
|
|
838
838
|
}
|
|
839
|
-
const d =
|
|
839
|
+
const d = r.querySelectorAll("nine-table-sheet.active");
|
|
840
840
|
d == null || d.forEach((u) => {
|
|
841
841
|
u.style.flex = d.length > 1 ? "1 1 0%" : "1 1 100%";
|
|
842
842
|
}), n();
|
|
@@ -849,29 +849,29 @@ const Kt = class Kt extends HTMLElement {
|
|
|
849
849
|
Rt = new WeakMap(), nt = new WeakMap(), c(Kt, "NineTableSheets");
|
|
850
850
|
let Ot = Kt;
|
|
851
851
|
customElements.get("nine-table-sheets") || customElements.define("nine-table-sheets", Ot);
|
|
852
|
-
var
|
|
852
|
+
var T, Tt, ot, At;
|
|
853
853
|
const Ft = class Ft {
|
|
854
854
|
constructor(i) {
|
|
855
|
-
h(this,
|
|
856
|
-
h(this,
|
|
857
|
-
t(this,
|
|
855
|
+
h(this, T);
|
|
856
|
+
h(this, Tt, /* @__PURE__ */ c(() => {
|
|
857
|
+
t(this, At).call(this), new ResizeObserver((i) => {
|
|
858
858
|
for (let e of i)
|
|
859
|
-
t(this,
|
|
860
|
-
}).observe(t(this,
|
|
859
|
+
t(this, T).getAttribute("auto-height") === "true" && t(this, ot).call(this);
|
|
860
|
+
}).observe(t(this, T));
|
|
861
861
|
}, "#init"));
|
|
862
|
-
h(this,
|
|
862
|
+
h(this, ot, /* @__PURE__ */ c(() => {
|
|
863
863
|
var a, d;
|
|
864
|
-
const i = Array.from(t(this,
|
|
864
|
+
const i = Array.from(t(this, T).shadowRoot.querySelectorAll("nine-table-sheet.active"));
|
|
865
865
|
if (i.length === 0) return;
|
|
866
|
-
const e = parseInt(t(this,
|
|
867
|
-
t(this,
|
|
866
|
+
const e = parseInt(t(this, T).getAttribute("max-display-row"), 10) || 10, s = Math.max(...i.map((u) => u.getRowHeight())), n = (a = t(this, T).shadowRoot.querySelector("nine-table-header")) == null ? void 0 : a.getBoundingClientRect().height, o = (d = t(this, T).shadowRoot.querySelector("nine-table-sheets-footer")) == null ? void 0 : d.getBoundingClientRect().height, r = lt.SCROLLBAR_SIZE, l = e * s + n + o + r;
|
|
867
|
+
t(this, T).style.height = `${l}px`;
|
|
868
868
|
}, "#applyAutoHeight"));
|
|
869
|
-
h(this,
|
|
870
|
-
const e = Array.from(t(this,
|
|
869
|
+
h(this, At, /* @__PURE__ */ c(() => {
|
|
870
|
+
const e = Array.from(t(this, T).children).filter((a) => a.tagName === "TABLE"), s = t(this, T).getAttribute("auto-height") === "true", n = e.length, o = e.map((a, d) => {
|
|
871
871
|
const f = `<nine-table-sheet class="${d === 0 ? "active" : ""}" data-index="${d}"></nine-table-sheet>`, g = d < n - 1 ? `<nine-splitter class="h" data-split-index="${d}"></nine-splitter>` : "";
|
|
872
872
|
return f + g;
|
|
873
|
-
}).join(""),
|
|
874
|
-
t(this,
|
|
873
|
+
}).join(""), r = e.map((a, d) => `<div class="nine-tab-item ${d === 0 ? "active" : ""}" data-index="${d}">Sheet ${d + 1}</div>`).join("");
|
|
874
|
+
t(this, T).shadowRoot.innerHTML = `
|
|
875
875
|
<style>
|
|
876
876
|
:host {
|
|
877
877
|
display: flex;
|
|
@@ -960,9 +960,9 @@ const Ft = class Ft {
|
|
|
960
960
|
<nine-table-body>
|
|
961
961
|
<nine-table-summary></nine-table-summary>
|
|
962
962
|
<nine-table-sheets>
|
|
963
|
-
<nine-table-sheets-body>${
|
|
963
|
+
<nine-table-sheets-body>${o}</nine-table-sheets-body>
|
|
964
964
|
<nine-table-sheets-footer>
|
|
965
|
-
<div class="nine-tab-bar">${
|
|
965
|
+
<div class="nine-tab-bar">${r}</div>
|
|
966
966
|
<div class="sheets-counter">Total : <span id="row-count">0</span></div>
|
|
967
967
|
</nine-table-sheets-footer>
|
|
968
968
|
</nine-table-sheets>
|
|
@@ -970,112 +970,112 @@ const Ft = class Ft {
|
|
|
970
970
|
</nine-table-body>
|
|
971
971
|
<nine-table-footer></nine-table-footer>
|
|
972
972
|
`;
|
|
973
|
-
const l = t(this,
|
|
973
|
+
const l = t(this, T).shadowRoot.querySelectorAll("nine-table-sheet");
|
|
974
974
|
l == null || l.forEach((a, d) => {
|
|
975
975
|
e[d] && setTimeout(() => {
|
|
976
|
-
a.generate(e[d]), s && t(this,
|
|
976
|
+
a.generate(e[d]), s && t(this, ot).call(this);
|
|
977
977
|
});
|
|
978
978
|
});
|
|
979
979
|
}, "#render"));
|
|
980
|
-
b(this,
|
|
980
|
+
b(this, T, i), t(this, Tt).call(this);
|
|
981
981
|
}
|
|
982
982
|
};
|
|
983
|
-
|
|
983
|
+
T = new WeakMap(), Tt = new WeakMap(), ot = new WeakMap(), At = new WeakMap(), c(Ft, "LayoutManager");
|
|
984
984
|
let zt = Ft;
|
|
985
|
-
var
|
|
985
|
+
var O, U;
|
|
986
986
|
const Zt = class Zt {
|
|
987
987
|
constructor(i) {
|
|
988
|
-
h(this,
|
|
989
|
-
h(this,
|
|
990
|
-
S(this, "count", /* @__PURE__ */ c(() => t(this,
|
|
991
|
-
b(this,
|
|
988
|
+
h(this, O);
|
|
989
|
+
h(this, U, -1);
|
|
990
|
+
S(this, "count", /* @__PURE__ */ c(() => t(this, O).rawRecords.length, "count"));
|
|
991
|
+
b(this, O, i);
|
|
992
992
|
}
|
|
993
993
|
get at() {
|
|
994
|
-
return t(this,
|
|
994
|
+
return t(this, U);
|
|
995
995
|
}
|
|
996
996
|
set at(i) {
|
|
997
997
|
var s, n;
|
|
998
|
-
b(this,
|
|
999
|
-
const e = ((n = (s = t(this,
|
|
1000
|
-
e && !e.querySelector(`tbody.bindable tr[data-row="${t(this,
|
|
1001
|
-
var
|
|
1002
|
-
(
|
|
998
|
+
b(this, U, parseInt(i, 10));
|
|
999
|
+
const e = ((n = (s = t(this, O).owner).querySelector) == null ? void 0 : n.call(s, ".ng-container-body")) || t(this, O).owner.body;
|
|
1000
|
+
e && !e.querySelector(`tbody.bindable tr[data-row="${t(this, U)}"]`) && setTimeout(() => {
|
|
1001
|
+
var o, r;
|
|
1002
|
+
(r = (o = t(this, O).owner).scrollTo_V1) == null || r.call(o, t(this, U));
|
|
1003
1003
|
});
|
|
1004
1004
|
}
|
|
1005
1005
|
};
|
|
1006
|
-
|
|
1006
|
+
O = new WeakMap(), U = new WeakMap(), c(Zt, "ngRow");
|
|
1007
1007
|
let Dt = Zt;
|
|
1008
|
-
var
|
|
1008
|
+
var A, x, k, j, kt, z, qt, rt, Lt, Ht, G;
|
|
1009
1009
|
const q = class q {
|
|
1010
1010
|
constructor(i, e) {
|
|
1011
|
-
h(this,
|
|
1011
|
+
h(this, A);
|
|
1012
1012
|
h(this, x);
|
|
1013
1013
|
h(this, k, []);
|
|
1014
|
-
h(this,
|
|
1014
|
+
h(this, j, []);
|
|
1015
1015
|
h(this, kt, 0);
|
|
1016
|
-
h(this,
|
|
1016
|
+
h(this, z, []);
|
|
1017
1017
|
h(this, qt, /* @__PURE__ */ c(() => {
|
|
1018
|
-
b(this,
|
|
1019
|
-
const i = t(this,
|
|
1018
|
+
b(this, z, []);
|
|
1019
|
+
const i = t(this, A).template || [];
|
|
1020
1020
|
Array.from(i).forEach((e) => {
|
|
1021
1021
|
var s;
|
|
1022
|
-
t(this,
|
|
1022
|
+
t(this, z).push(((s = e.getBoundingClientRect) == null ? void 0 : s.call(e).height) || 24);
|
|
1023
1023
|
}), (t(this, x).rawRecords || []).forEach((e) => {
|
|
1024
|
-
e.__ng || (e.__ng = t(this,
|
|
1024
|
+
e.__ng || (e.__ng = t(this, rt).call(this)), e.__ng.height = t(this, z).slice();
|
|
1025
1025
|
});
|
|
1026
1026
|
}, "#initialize"));
|
|
1027
1027
|
S(this, "set", /* @__PURE__ */ c((i) => {
|
|
1028
1028
|
this.clear(), this.add(i, !1);
|
|
1029
1029
|
}, "set"));
|
|
1030
|
-
h(this,
|
|
1030
|
+
h(this, rt, /* @__PURE__ */ c(() => ({
|
|
1031
1031
|
rowState: q.ROW_STATE.EMPTY,
|
|
1032
1032
|
deleted: !1,
|
|
1033
1033
|
filtered: !1,
|
|
1034
|
-
height: t(this,
|
|
1034
|
+
height: t(this, z).slice(),
|
|
1035
1035
|
o: {},
|
|
1036
1036
|
c: {},
|
|
1037
|
-
_: [0, 0, 0, 0, q.ROW_STATE.EMPTY, !1, !1, !0, !1, !0, !0, !1, t(this,
|
|
1037
|
+
_: [0, 0, 0, 0, q.ROW_STATE.EMPTY, !1, !1, !0, !1, !0, !0, !1, t(this, z).slice(), -1, {}, {}]
|
|
1038
1038
|
}), "#getDefaultMeta"));
|
|
1039
1039
|
S(this, "reset", /* @__PURE__ */ c(() => {
|
|
1040
|
-
b(this, k, []), b(this,
|
|
1040
|
+
b(this, k, []), b(this, j, []);
|
|
1041
1041
|
}, "reset"));
|
|
1042
1042
|
S(this, "clear", /* @__PURE__ */ c(() => {
|
|
1043
1043
|
var i;
|
|
1044
|
-
t(this, x).rawRecords = [], b(this, k, []), b(this,
|
|
1044
|
+
t(this, x).rawRecords = [], b(this, k, []), b(this, j, []), (i = t(this, x).viewRecords) != null && i.reset && t(this, x).viewRecords.reset();
|
|
1045
1045
|
}, "clear"));
|
|
1046
1046
|
h(this, Lt, /* @__PURE__ */ c((i) => {
|
|
1047
1047
|
var n;
|
|
1048
1048
|
Array.isArray(i) || (i = [i]);
|
|
1049
|
-
const e = typeof ((n = t(this,
|
|
1050
|
-
return i.forEach((
|
|
1051
|
-
const
|
|
1049
|
+
const e = typeof ((n = t(this, A).fields) == null ? void 0 : n.get) == "function" ? t(this, A).fields.get() : Object.keys(i[0] || {}), s = [];
|
|
1050
|
+
return i.forEach((o) => {
|
|
1051
|
+
const r = { v: [] };
|
|
1052
1052
|
e.forEach((l) => {
|
|
1053
|
-
|
|
1054
|
-
}), s.push(
|
|
1053
|
+
r.v.push(o[l] !== void 0 && o[l] !== null ? o[l] : "");
|
|
1054
|
+
}), s.push(r);
|
|
1055
1055
|
}), s;
|
|
1056
1056
|
}, "#json2Array"));
|
|
1057
1057
|
h(this, Ht, /* @__PURE__ */ c((i) => (Array.isArray(i) || (i = [i]), i.forEach((e) => {
|
|
1058
|
-
e.__ng = t(this,
|
|
1058
|
+
e.__ng = t(this, rt).call(this), e.__ng.rowid = this.nextId, e.__ng.rowState = q.ROW_STATE.INSERT, e.__ng._[0] = e.__ng.rowid;
|
|
1059
1059
|
}), i), "#defaultInsert"));
|
|
1060
1060
|
S(this, "add", /* @__PURE__ */ c((i, e = !0) => {
|
|
1061
|
-
var
|
|
1061
|
+
var o;
|
|
1062
1062
|
i === void 0 && (i = {});
|
|
1063
1063
|
const s = t(this, Lt).call(this, i);
|
|
1064
1064
|
t(this, x).rawRecords = t(this, x).rawRecords.concat(t(this, Ht).call(this, s)), this.resetRecords();
|
|
1065
1065
|
const n = this.count() - 1;
|
|
1066
|
-
return e || s.forEach((
|
|
1066
|
+
return e || s.forEach((r, l) => {
|
|
1067
1067
|
const a = t(this, x).rawRecords[n - l];
|
|
1068
1068
|
a && (a.__ng.rowState = q.ROW_STATE.EMPTY);
|
|
1069
|
-
}), (
|
|
1069
|
+
}), (o = t(this, x).viewRecords) != null && o.reset && t(this, x).viewRecords.reset(), n;
|
|
1070
1070
|
}, "add"));
|
|
1071
1071
|
S(this, "delete", /* @__PURE__ */ c((i) => {
|
|
1072
1072
|
var s;
|
|
1073
1073
|
let e = [];
|
|
1074
|
-
Array.isArray(i) ? e = i : typeof i > "u" ? e = [t(this, x).owner.row.at] : e = [parseInt(i, 10)], e.sort((n,
|
|
1074
|
+
Array.isArray(i) ? e = i : typeof i > "u" ? e = [t(this, x).owner.row.at] : e = [parseInt(i, 10)], e.sort((n, o) => o - n).forEach((n) => {
|
|
1075
1075
|
if (t(this, k)[n]) {
|
|
1076
|
-
const
|
|
1077
|
-
t(this, k)[n].__ng.rowState === q.ROW_STATE.INSERT ? t(this, x).rawRecords = t(this, x).rawRecords.filter((
|
|
1078
|
-
|
|
1076
|
+
const o = t(this, k)[n].__ng.rowid;
|
|
1077
|
+
t(this, k)[n].__ng.rowState === q.ROW_STATE.INSERT ? t(this, x).rawRecords = t(this, x).rawRecords.filter((r) => r.__ng.rowid !== o) : t(this, x).rawRecords.forEach((r) => {
|
|
1078
|
+
r.__ng.rowid === o && (r.__ng.deleted = !0, r.__ng.rowState = q.ROW_STATE.DELETE);
|
|
1079
1079
|
});
|
|
1080
1080
|
}
|
|
1081
1081
|
}), this.resetRecords(), (s = t(this, x).viewRecords) != null && s.reset && t(this, x).viewRecords.reset();
|
|
@@ -1083,50 +1083,50 @@ const q = class q {
|
|
|
1083
1083
|
S(this, "setValue", /* @__PURE__ */ c((i, e, s) => {
|
|
1084
1084
|
var a;
|
|
1085
1085
|
i = parseInt(i, 10);
|
|
1086
|
-
const
|
|
1087
|
-
if (
|
|
1088
|
-
const
|
|
1089
|
-
if (!
|
|
1090
|
-
const l =
|
|
1091
|
-
l !== s &&
|
|
1086
|
+
const o = (typeof ((a = t(this, A).fields) == null ? void 0 : a.get) == "function" ? t(this, A).fields.get() : []).indexOf(e);
|
|
1087
|
+
if (o < 0) return;
|
|
1088
|
+
const r = this.getValidData()[i];
|
|
1089
|
+
if (!r) return;
|
|
1090
|
+
const l = r.v[o];
|
|
1091
|
+
l !== s && r.__ng.rowState !== q.ROW_STATE.INSERT && (r.__ng.o.hasOwnProperty(e) || (r.__ng.o[e] = l), r.__ng.rowState = q.ROW_STATE.UPDATE), r.v[o] = s, t(this, x).owner.refreshData && t(this, x).owner.refreshData(i);
|
|
1092
1092
|
}, "setValue"));
|
|
1093
1093
|
S(this, "resetRecords", /* @__PURE__ */ c(() => {
|
|
1094
|
-
b(this,
|
|
1094
|
+
b(this, j, t(this, x).rawRecords.filter((i) => !i.__ng.deleted)), b(this, k, t(this, x).rawRecords.filter((i) => !i.__ng.deleted && !i.__ng.filtered)), t(this, x).rawRecords.forEach((i, e) => {
|
|
1095
1095
|
i.__ng.rowidx = e;
|
|
1096
1096
|
}), t(this, k).forEach((i, e) => {
|
|
1097
1097
|
i.__ng.i = e;
|
|
1098
1098
|
});
|
|
1099
1099
|
}, "resetRecords"));
|
|
1100
1100
|
S(this, "getValidData", /* @__PURE__ */ c(() => (t(this, k).length === 0 && t(this, x).rawRecords.length > 0 && this.resetRecords(), t(this, k)), "getValidData"));
|
|
1101
|
-
h(this,
|
|
1101
|
+
h(this, G, /* @__PURE__ */ c((i) => {
|
|
1102
1102
|
var s;
|
|
1103
1103
|
if (!i) return i;
|
|
1104
|
-
const e = typeof ((s = t(this,
|
|
1104
|
+
const e = typeof ((s = t(this, A).fields) == null ? void 0 : s.get) == "function" ? t(this, A).fields.get() : [];
|
|
1105
1105
|
return Array.isArray(i) ? i.filter((n) => !n.__ng.deleted).map((n) => {
|
|
1106
|
-
const
|
|
1107
|
-
return e.forEach((
|
|
1108
|
-
r
|
|
1109
|
-
}),
|
|
1106
|
+
const o = {};
|
|
1107
|
+
return e.forEach((r, l) => {
|
|
1108
|
+
o[r] = n.v ? n.v[l] : n[r];
|
|
1109
|
+
}), o.__ng = n.__ng, o;
|
|
1110
1110
|
}) : i;
|
|
1111
1111
|
}, "#conv2"));
|
|
1112
1112
|
S(this, "count", /* @__PURE__ */ c(() => this.getValidData().length, "count"));
|
|
1113
1113
|
S(this, "get", /* @__PURE__ */ c((i, e) => {
|
|
1114
|
-
var
|
|
1114
|
+
var o;
|
|
1115
1115
|
const s = this.getValidData();
|
|
1116
1116
|
if (!s || s.length <= 0) return;
|
|
1117
|
-
if (i == null) return t(this,
|
|
1117
|
+
if (i == null) return t(this, G).call(this, s);
|
|
1118
1118
|
if (i < 0 || i >= s.length) return null;
|
|
1119
|
-
const n = typeof ((
|
|
1119
|
+
const n = typeof ((o = t(this, A).fields) == null ? void 0 : o.get) == "function" ? t(this, A).fields.get() : [];
|
|
1120
1120
|
if (e != null) {
|
|
1121
|
-
const
|
|
1122
|
-
return
|
|
1121
|
+
const r = n.indexOf(e);
|
|
1122
|
+
return r >= 0 ? s[i].v[r] : null;
|
|
1123
1123
|
}
|
|
1124
|
-
return t(this,
|
|
1124
|
+
return t(this, G).call(this, s[i]);
|
|
1125
1125
|
}, "get"));
|
|
1126
|
-
b(this,
|
|
1126
|
+
b(this, A, i), b(this, x, e), t(this, qt).call(this);
|
|
1127
1127
|
}
|
|
1128
1128
|
get source() {
|
|
1129
|
-
return t(this,
|
|
1129
|
+
return t(this, G).call(this, t(this, x).rawRecords);
|
|
1130
1130
|
}
|
|
1131
1131
|
set source(i) {
|
|
1132
1132
|
this.clear(), this.add(i, !1);
|
|
@@ -1141,7 +1141,7 @@ const q = class q {
|
|
|
1141
1141
|
return this.length;
|
|
1142
1142
|
}
|
|
1143
1143
|
};
|
|
1144
|
-
|
|
1144
|
+
A = new WeakMap(), x = new WeakMap(), k = new WeakMap(), j = new WeakMap(), kt = new WeakMap(), z = new WeakMap(), qt = new WeakMap(), rt = new WeakMap(), Lt = new WeakMap(), Ht = new WeakMap(), G = new WeakMap(), c(q, "ngData"), // π― ν μν μ μ μμλ₯Ό ν΄λμ€ λ΄λΆλ‘ λ΄μ¬ν
|
|
1145
1145
|
S(q, "ROW_STATE", {
|
|
1146
1146
|
EMPTY: "EMPTY",
|
|
1147
1147
|
NORMAL: "NORMAL",
|
|
@@ -1158,10 +1158,10 @@ const jt = class jt {
|
|
|
1158
1158
|
}, this.setDataSource = (e) => {
|
|
1159
1159
|
this.data && this.data.reset(), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.data.set(e || []);
|
|
1160
1160
|
}, this.getRowState = (e) => {
|
|
1161
|
-
var n,
|
|
1161
|
+
var n, o;
|
|
1162
1162
|
const s = parseInt(e, 10);
|
|
1163
1163
|
if (!(s >= this.data.count()))
|
|
1164
|
-
return (
|
|
1164
|
+
return (o = (n = this.data.getValidData()[s]) == null ? void 0 : n.__ng) == null ? void 0 : o.rowState;
|
|
1165
1165
|
}, this.getRowPosition = () => this.row.at, this.setRowPosition = (e) => {
|
|
1166
1166
|
this.row.at = e;
|
|
1167
1167
|
}, this.scrollTo_V1 = (e) => (e < 0 && (e = 0), e >= this.rawRecords.length && (e = this.rawRecords.length - 1), this.viewRecords.rawIndex = e, this.viewRecords.reset && this.viewRecords.reset(), !(e <= 0 || e >= this.rawRecords.length - 1)), this.getColumn = (e, s) => this.data.get(e, s), this.setColumn = (e, s, n) => {
|
|
@@ -1171,35 +1171,35 @@ const jt = class jt {
|
|
|
1171
1171
|
};
|
|
1172
1172
|
c(jt, "ngDataManager");
|
|
1173
1173
|
let Bt = jt;
|
|
1174
|
-
var
|
|
1174
|
+
var K, Ct;
|
|
1175
1175
|
const Gt = class Gt extends HTMLElement {
|
|
1176
1176
|
constructor() {
|
|
1177
1177
|
super();
|
|
1178
1178
|
//#created = false;
|
|
1179
|
-
h(this,
|
|
1179
|
+
h(this, K);
|
|
1180
1180
|
h(this, Ct);
|
|
1181
|
-
this.attachShadow({ mode: "open" }), b(this,
|
|
1181
|
+
this.attachShadow({ mode: "open" }), b(this, K, new Bt(this));
|
|
1182
1182
|
}
|
|
1183
1183
|
connectedCallback() {
|
|
1184
|
-
b(this, Ct, new zt(this)),
|
|
1184
|
+
b(this, Ct, new zt(this)), _.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } }));
|
|
1185
1185
|
}
|
|
1186
1186
|
disconnectedCallback() {
|
|
1187
|
-
|
|
1187
|
+
_.log("NineTable disconnected.");
|
|
1188
1188
|
}
|
|
1189
1189
|
// π― μΈλΆμμ grid.data.set(...) ννλ‘ μ κ·Όν μ μλλ‘ λ°μ΄ν° λ§€λμ μ€ν
|
|
1190
1190
|
get data() {
|
|
1191
|
-
return t(this,
|
|
1191
|
+
return t(this, K).data;
|
|
1192
1192
|
}
|
|
1193
1193
|
// π― ν(row) κ΄λ ¨ μ μ΄ μ κ·Όμ μ€ν
|
|
1194
1194
|
get row() {
|
|
1195
|
-
return t(this,
|
|
1195
|
+
return t(this, K).row;
|
|
1196
1196
|
}
|
|
1197
1197
|
// π― μ 체 λ°μ΄ν° λ§€λμ μ κ·Ό νμν κ²½μ°
|
|
1198
1198
|
get dataManager() {
|
|
1199
|
-
return t(this,
|
|
1199
|
+
return t(this, K);
|
|
1200
1200
|
}
|
|
1201
1201
|
};
|
|
1202
|
-
|
|
1202
|
+
K = new WeakMap(), Ct = new WeakMap(), c(Gt, "NineTable");
|
|
1203
1203
|
let Nt = Gt;
|
|
1204
1204
|
customElements.get("nine-table") || customElements.define("nine-table", Nt);
|
|
1205
1205
|
//# sourceMappingURL=nine-table.js.map
|