@ninebone/table 0.0.215 β 0.0.217
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 +209 -215
- package/dist/nine-table.js.map +1 -1
- package/dist/nine-table.umd.js +4 -4
- package/dist/nine-table.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/nine-table.js
CHANGED
|
@@ -5,7 +5,7 @@ var Ie = (w) => {
|
|
|
5
5
|
var Oe = (w, i, t) => i in w ? He(w, i, { enumerable: !0, configurable: !0, writable: !0, value: t }) : w[i] = t;
|
|
6
6
|
var a = (w, i) => He(w, "name", { value: i, configurable: !0 });
|
|
7
7
|
var x = (w, i, t) => Oe(w, typeof i != "symbol" ? i + "" : i, t), $e = (w, i, t) => i.has(w) || Ie("Cannot " + t);
|
|
8
|
-
var e = (w, i, t) => ($e(w, i, "read from private field"), t ? t.call(w) : i.get(w)),
|
|
8
|
+
var e = (w, i, t) => ($e(w, i, "read from private field"), t ? t.call(w) : i.get(w)), f = (w, i, t) => i.has(w) ? Ie("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(w) : i.set(w, t), p = (w, i, t, s) => ($e(w, i, "write to private field"), s ? s.call(w, t) : i.set(w, t), t);
|
|
9
9
|
var We = (w, i, t, s) => ({
|
|
10
10
|
set _(n) {
|
|
11
11
|
p(w, i, n, t);
|
|
@@ -22,30 +22,30 @@ const Te = class Te extends ze.constructor {
|
|
|
22
22
|
};
|
|
23
23
|
a(Te, "Trace");
|
|
24
24
|
let pe = Te;
|
|
25
|
-
const
|
|
26
|
-
var
|
|
25
|
+
const j = new pe();
|
|
26
|
+
var k, z, y, B, D, N, te, P, ie;
|
|
27
27
|
const Ae = class Ae extends HTMLElement {
|
|
28
28
|
constructor() {
|
|
29
29
|
super();
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
if (!e(this,
|
|
38
|
-
const t = e(this,
|
|
30
|
+
f(this, k);
|
|
31
|
+
f(this, z, !1);
|
|
32
|
+
f(this, y);
|
|
33
|
+
f(this, B);
|
|
34
|
+
f(this, D);
|
|
35
|
+
f(this, N);
|
|
36
|
+
f(this, te, /* @__PURE__ */ a(() => {
|
|
37
|
+
if (!e(this, k)) return;
|
|
38
|
+
const t = e(this, k).querySelector(".ng-container-body");
|
|
39
39
|
t && (p(this, N, new ResizeObserver(() => {
|
|
40
40
|
this.refresh();
|
|
41
41
|
})), e(this, N).observe(t));
|
|
42
42
|
}, "#observeResize"));
|
|
43
43
|
x(this, "refresh", /* @__PURE__ */ a(() => {
|
|
44
|
-
if (
|
|
44
|
+
if (!e(this, k) || !e(this, y) || e(this, z)) return;
|
|
45
45
|
const t = e(this, y).container, s = t.querySelector("table");
|
|
46
46
|
if (!s) return;
|
|
47
|
-
const n = e(this, y).track, r = e(this, y).thumb, o = e(this,
|
|
48
|
-
if (c !== 0 &&
|
|
47
|
+
const n = e(this, y).track, r = e(this, y).thumb, o = e(this, k).querySelector(".ng-container-bottom"), c = t.clientWidth, d = s.scrollWidth;
|
|
48
|
+
if (c !== 0 && d > c)
|
|
49
49
|
o && (o.style.display = "flex");
|
|
50
50
|
else {
|
|
51
51
|
o && (o.style.display = "none");
|
|
@@ -53,34 +53,28 @@ const Ae = class Ae extends HTMLElement {
|
|
|
53
53
|
}
|
|
54
54
|
const l = n.clientWidth;
|
|
55
55
|
if (l <= 0) return;
|
|
56
|
-
const
|
|
57
|
-
r.style.width = `${
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
} else
|
|
64
|
-
f = parseInt(s.style.left || 0, 10);
|
|
65
|
-
let b = parseInt(Math.abs(f) * l / h, 10);
|
|
66
|
-
b < 0 && (b = 0);
|
|
67
|
-
const m = l - d;
|
|
68
|
-
b > m && (b = m), r.style.left = `${b}px`, e(this, y).left.disabled = b === 0, e(this, y).right.disabled = b >= m - 1;
|
|
56
|
+
const h = Math.max(Math.min(l * (c / d), l), 20);
|
|
57
|
+
r.style.width = `${h}px`;
|
|
58
|
+
const u = t.scrollLeft, b = d - c;
|
|
59
|
+
let g = 0;
|
|
60
|
+
b > 0 && (g = parseInt(u / b * (l - h), 10)), g < 0 && (g = 0);
|
|
61
|
+
const m = l - h;
|
|
62
|
+
g > m && (g = m), r.style.left = `${g}px`, j.log(g), e(this, y).left.disabled = g === 0, e(this, y).right.disabled = g >= m - 1;
|
|
69
63
|
}, "refresh"));
|
|
70
|
-
|
|
64
|
+
f(this, P, /* @__PURE__ */ a((t) => {
|
|
71
65
|
if (!e(this, y)) return !1;
|
|
72
66
|
const s = e(this, y).container, n = s.querySelector("table");
|
|
73
67
|
if (!n) return !1;
|
|
74
68
|
const r = e(this, y).track.getBoundingClientRect(), o = e(this, y).thumb.clientWidth;
|
|
75
69
|
let c = t;
|
|
76
70
|
c < 0 && (c = 0);
|
|
77
|
-
const
|
|
78
|
-
c >
|
|
79
|
-
const l = s.clientWidth,
|
|
80
|
-
let
|
|
81
|
-
return -
|
|
71
|
+
const d = r.width - o;
|
|
72
|
+
c > d && (c = d), c = parseInt(c, 10), e(this, y).thumb.style.left = `${c}px`, e(this, y).left.disabled = c === 0, e(this, y).right.disabled = c >= d - 1;
|
|
73
|
+
const l = s.clientWidth, h = n.scrollWidth;
|
|
74
|
+
let u = d > 0 ? -c * (h - l) / d : 0;
|
|
75
|
+
return -u > h - l && (u = -(h - l)), -u + 5 > h - l && (u = -(h - l)), l >= h && (u = 0), n.style.transform = `translateX(${u}px)`, c > 0 && c < d - 1;
|
|
82
76
|
}, "#thumbMoveTo"));
|
|
83
|
-
|
|
77
|
+
f(this, ie, /* @__PURE__ */ a(() => {
|
|
84
78
|
const t = /* @__PURE__ */ a((n) => {
|
|
85
79
|
clearInterval(e(this, B)), clearInterval(e(this, D));
|
|
86
80
|
const r = parseInt(e(this, y).thumb.style.left || 0, 10);
|
|
@@ -106,20 +100,20 @@ const Ae = class Ae extends HTMLElement {
|
|
|
106
100
|
e(this, P).call(this, n.clientX - r.left - o / 2);
|
|
107
101
|
}), e(this, y).thumb.addEventListener("mousedown", (n) => {
|
|
108
102
|
if (n.button !== 0) return;
|
|
109
|
-
n.stopPropagation(), n.preventDefault(), p(this,
|
|
103
|
+
n.stopPropagation(), n.preventDefault(), p(this, z, !0), this.shiftX = n.clientX - e(this, y).thumb.getBoundingClientRect().left;
|
|
110
104
|
const r = /* @__PURE__ */ a((c) => {
|
|
111
|
-
if (!e(this,
|
|
112
|
-
const
|
|
113
|
-
e(this, P).call(this, c.clientX -
|
|
105
|
+
if (!e(this, z)) return;
|
|
106
|
+
const d = e(this, y).track.getBoundingClientRect();
|
|
107
|
+
e(this, P).call(this, c.clientX - d.left - this.shiftX);
|
|
114
108
|
}, "onMouseMove"), o = /* @__PURE__ */ a(() => {
|
|
115
|
-
p(this,
|
|
109
|
+
p(this, z, !1), s(), document.removeEventListener("mousemove", r), document.removeEventListener("mouseup", o), this.refresh();
|
|
116
110
|
}, "onMouseUp");
|
|
117
111
|
document.addEventListener("mousemove", r), document.addEventListener("mouseup", o);
|
|
118
112
|
});
|
|
119
113
|
}, "#init"));
|
|
120
114
|
}
|
|
121
115
|
connectedCallback() {
|
|
122
|
-
if (p(this,
|
|
116
|
+
if (p(this, k, this.closest("nine-table-sheet") || this.getRootNode().host), !e(this, k)) return;
|
|
123
117
|
this.innerHTML = `
|
|
124
118
|
<style>
|
|
125
119
|
nine-table-hscrollbar {
|
|
@@ -184,7 +178,7 @@ const Ae = class Ae extends HTMLElement {
|
|
|
184
178
|
<button class='ng-scroll-right' disabled><div class='ng-scroll-icon'></div></button>
|
|
185
179
|
`;
|
|
186
180
|
const t = /* @__PURE__ */ a(() => {
|
|
187
|
-
const s = e(this,
|
|
181
|
+
const s = e(this, k).querySelector(".ng-container-body");
|
|
188
182
|
if (!s) {
|
|
189
183
|
setTimeout(t, 10);
|
|
190
184
|
return;
|
|
@@ -203,27 +197,27 @@ const Ae = class Ae extends HTMLElement {
|
|
|
203
197
|
e(this, N) && e(this, N).disconnect();
|
|
204
198
|
}
|
|
205
199
|
};
|
|
206
|
-
|
|
200
|
+
k = new WeakMap(), z = new WeakMap(), y = new WeakMap(), B = new WeakMap(), D = new WeakMap(), N = new WeakMap(), te = new WeakMap(), P = new WeakMap(), ie = new WeakMap(), a(Ae, "NineTableHScrollBar");
|
|
207
201
|
let ye = Ae;
|
|
208
202
|
customElements.get("nine-table-hscrollbar") || customElements.define("nine-table-hscrollbar", ye);
|
|
209
|
-
var V, C, E,
|
|
203
|
+
var V, C, E, $, M, H, se, ne;
|
|
210
204
|
const qe = class qe {
|
|
211
205
|
constructor(i) {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
206
|
+
f(this, V);
|
|
207
|
+
f(this, C, []);
|
|
208
|
+
f(this, E, null);
|
|
209
|
+
f(this, $, null);
|
|
210
|
+
f(this, M, 0);
|
|
211
|
+
f(this, H, 0);
|
|
218
212
|
x(this, "getRowHeight", /* @__PURE__ */ a(() => e(this, E), "getRowHeight"));
|
|
219
|
-
|
|
213
|
+
f(this, se, /* @__PURE__ */ a(() => {
|
|
220
214
|
e(this, ne).call(this);
|
|
221
215
|
}, "#init"));
|
|
222
216
|
/**
|
|
223
217
|
* π― λ·°ν¬νΈ ν¬κΈ° λ³ν μμ μ λμ΄ κ³μ° λ° νμν ν κ°μ μ°μ Β·μΊμ±μ μκ²°
|
|
224
218
|
*/
|
|
225
|
-
|
|
226
|
-
!e(this, V) || !(e(this, V) instanceof HTMLElement) || (p(this,
|
|
219
|
+
f(this, ne, /* @__PURE__ */ a(() => {
|
|
220
|
+
!e(this, V) || !(e(this, V) instanceof HTMLElement) || (p(this, $, new ResizeObserver((i) => {
|
|
227
221
|
for (const t of i) {
|
|
228
222
|
const s = t.target;
|
|
229
223
|
if (!s.classList.contains("active"))
|
|
@@ -232,19 +226,19 @@ const qe = class qe {
|
|
|
232
226
|
if (n > 0) {
|
|
233
227
|
const r = s.clientHeight || s.getBoundingClientRect().height || n;
|
|
234
228
|
let o = 0;
|
|
235
|
-
const c = s.querySelector(".ng-container-body") || s,
|
|
236
|
-
|
|
237
|
-
const
|
|
238
|
-
if (e(this, M) !==
|
|
239
|
-
const
|
|
240
|
-
p(this, H,
|
|
241
|
-
const
|
|
242
|
-
|
|
229
|
+
const c = s.querySelector(".ng-container-body") || s, d = c.querySelector("thead"), l = c.querySelector("tfoot");
|
|
230
|
+
d && (o += d.offsetHeight || d.getBoundingClientRect().height), l && (o += l.offsetHeight || l.getBoundingClientRect().height);
|
|
231
|
+
const h = Math.max(r - o, 100);
|
|
232
|
+
if (e(this, M) !== h && (p(this, M, h), e(this, E) !== null)) {
|
|
233
|
+
const u = Math.ceil(e(this, M) / e(this, E));
|
|
234
|
+
p(this, H, u + 20), j.log(`[RowManager] Resized. Height: ${e(this, M)}px | Target Rows: ${e(this, H)}`), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((b) => {
|
|
235
|
+
const g = s.querySelector(b);
|
|
236
|
+
g && g.querySelector("tbody") && this.renderRows(g);
|
|
243
237
|
});
|
|
244
238
|
}
|
|
245
239
|
}
|
|
246
240
|
}
|
|
247
|
-
})), e(this,
|
|
241
|
+
})), e(this, $).observe(e(this, V)));
|
|
248
242
|
}, "#initResizeObserver"));
|
|
249
243
|
x(this, "initTemplate", /* @__PURE__ */ a((i) => {
|
|
250
244
|
const t = i.querySelector("tbody.bindable") || i.querySelector("tbody");
|
|
@@ -259,20 +253,20 @@ const qe = class qe {
|
|
|
259
253
|
throw new Error("[RowManager] Template TRs are empty.");
|
|
260
254
|
const t = i.querySelector("tbody.bindable") || i.querySelector("tbody");
|
|
261
255
|
if (!t) return 24;
|
|
262
|
-
t.querySelectorAll("tr:not(.nodata)").forEach((
|
|
256
|
+
t.querySelectorAll("tr:not(.nodata)").forEach((u) => u.remove());
|
|
263
257
|
const s = t.querySelector("tr.nodata"), n = document.createDocumentFragment();
|
|
264
|
-
e(this, C).forEach((
|
|
265
|
-
n.appendChild(
|
|
258
|
+
e(this, C).forEach((u) => {
|
|
259
|
+
n.appendChild(u.cloneNode(!0));
|
|
266
260
|
}), s ? s.before(n) : t.appendChild(n);
|
|
267
|
-
const r = i.closest("nine-table-sheet"), o = r ? r.style.display : "", c = r ? r.style.visibility : "",
|
|
261
|
+
const r = i.closest("nine-table-sheet"), o = r ? r.style.display : "", c = r ? r.style.visibility : "", d = r ? r.style.position : "";
|
|
268
262
|
r && (r.style.display === "none" || window.getComputedStyle(r).display === "none") && (r.style.display = "block", r.style.visibility = "hidden", r.style.position = "absolute");
|
|
269
263
|
let l = 0;
|
|
270
|
-
if (t.querySelectorAll("tr:not(.nodata)").forEach((
|
|
271
|
-
const
|
|
272
|
-
|
|
273
|
-
}), r && (r.style.display = o, r.style.visibility = c, r.style.position =
|
|
274
|
-
const
|
|
275
|
-
p(this, H,
|
|
264
|
+
if (t.querySelectorAll("tr:not(.nodata)").forEach((u, b) => {
|
|
265
|
+
const g = u.offsetHeight || u.getBoundingClientRect().height;
|
|
266
|
+
g === 0 ? l += 40 : l += g;
|
|
267
|
+
}), r && (r.style.display = o, r.style.visibility = c, r.style.position = d), p(this, E, l), e(this, M) > 0) {
|
|
268
|
+
const u = Math.ceil(e(this, M) / e(this, E));
|
|
269
|
+
p(this, H, u + 20);
|
|
276
270
|
} else
|
|
277
271
|
p(this, H, 40);
|
|
278
272
|
return console.log(`[RowManager] Template Height Cached: ${e(this, E)}px | RowCount: ${e(this, H)}`), e(this, E);
|
|
@@ -306,7 +300,7 @@ const qe = class qe {
|
|
|
306
300
|
s ? s.before(n) : t.appendChild(n), console.log(`[RowManager] Rendered ${r} sets into DOM.`);
|
|
307
301
|
}, "renderRows"));
|
|
308
302
|
x(this, "destroy", /* @__PURE__ */ a(() => {
|
|
309
|
-
e(this,
|
|
303
|
+
e(this, $) && (e(this, $).disconnect(), p(this, $, null));
|
|
310
304
|
}, "destroy"));
|
|
311
305
|
p(this, V, i), e(this, se).call(this);
|
|
312
306
|
}
|
|
@@ -314,68 +308,68 @@ const qe = class qe {
|
|
|
314
308
|
return e(this, C).length || 1;
|
|
315
309
|
}
|
|
316
310
|
};
|
|
317
|
-
V = new WeakMap(), C = new WeakMap(), E = new WeakMap(),
|
|
311
|
+
V = new WeakMap(), C = new WeakMap(), E = new WeakMap(), $ = new WeakMap(), M = new WeakMap(), H = new WeakMap(), se = new WeakMap(), ne = new WeakMap(), a(qe, "RowManager");
|
|
318
312
|
let me = qe;
|
|
319
313
|
var I, X, re, oe;
|
|
320
|
-
const
|
|
314
|
+
const Z = class Z extends HTMLElement {
|
|
321
315
|
constructor() {
|
|
322
316
|
super();
|
|
323
|
-
|
|
324
|
-
|
|
317
|
+
f(this, I, null);
|
|
318
|
+
f(this, X);
|
|
325
319
|
x(this, "generate", /* @__PURE__ */ a((t) => {
|
|
326
320
|
if (!t) return;
|
|
327
321
|
const s = /* @__PURE__ */ a((l) => {
|
|
328
|
-
const
|
|
329
|
-
if (
|
|
330
|
-
const
|
|
322
|
+
const h = /* @__PURE__ */ a((b) => {
|
|
323
|
+
if (b.querySelector("colgroup")) return;
|
|
324
|
+
const g = b.querySelector("tbody tr") || b.querySelector("tr"), m = g ? g.querySelectorAll("th, td").length : 1, S = document.createElement("colgroup"), T = Math.max(Math.floor((b.clientWidth || 600) / m), 100);
|
|
331
325
|
for (let _ = 0; _ < m; _++) {
|
|
332
326
|
const be = document.createElement("col");
|
|
333
|
-
be.setAttribute("width", T),
|
|
327
|
+
be.setAttribute("width", T), S.appendChild(be);
|
|
334
328
|
}
|
|
335
|
-
|
|
336
|
-
}, "ensureColgroup"),
|
|
337
|
-
if (
|
|
338
|
-
const
|
|
339
|
-
m ? m.after(
|
|
329
|
+
b.prepend(S);
|
|
330
|
+
}, "ensureColgroup"), u = /* @__PURE__ */ a((b) => {
|
|
331
|
+
if (b.querySelector("thead")) return;
|
|
332
|
+
const g = document.createElement("thead"), m = b.querySelector("colgroup");
|
|
333
|
+
m ? m.after(g) : b.prepend(g);
|
|
340
334
|
}, "ensureThead");
|
|
341
|
-
return
|
|
335
|
+
return h(l), u(l), l.classList.add("nine-table-element"), l;
|
|
342
336
|
}, "initializeTable"), n = t.cloneNode(!0);
|
|
343
337
|
p(this, I, s(n)), e(this, I).style.display = "table", e(this, X).initTemplate(e(this, I));
|
|
344
|
-
const r = this.querySelector(".ng-container-left"), o = this.querySelector(".ng-container-body"), c = this.querySelector(".ng-container-right"),
|
|
345
|
-
const
|
|
346
|
-
return
|
|
347
|
-
const _ =
|
|
348
|
-
(
|
|
349
|
-
}), m.reverse().forEach((
|
|
350
|
-
|
|
338
|
+
const r = this.querySelector(".ng-container-left"), o = this.querySelector(".ng-container-body"), c = this.querySelector(".ng-container-right"), d = /* @__PURE__ */ a((l, h, u = !1) => {
|
|
339
|
+
const b = l.cloneNode(!0), g = Array.from(b.querySelectorAll("colgroup col")), m = [];
|
|
340
|
+
return g.forEach((S, T) => {
|
|
341
|
+
const _ = S.getAttribute("fixed");
|
|
342
|
+
(u ? _ !== "left" && _ !== "right" : _ === h) || m.push(T);
|
|
343
|
+
}), m.reverse().forEach((S) => {
|
|
344
|
+
g[S] && g[S].remove(), b.querySelectorAll("tr").forEach((T) => {
|
|
351
345
|
const _ = T.querySelectorAll("th, td");
|
|
352
|
-
_[
|
|
346
|
+
_[S] && _[S].remove();
|
|
353
347
|
});
|
|
354
|
-
}),
|
|
348
|
+
}), b;
|
|
355
349
|
}, "filterTableByFixed");
|
|
356
350
|
if (o) {
|
|
357
|
-
const l =
|
|
351
|
+
const l = d(e(this, I), null, !0);
|
|
358
352
|
o.innerHTML = "", o.appendChild(l), e(this, X).measureAndCacheHeight(o);
|
|
359
353
|
}
|
|
360
354
|
if (r) {
|
|
361
|
-
const l =
|
|
362
|
-
let
|
|
363
|
-
l.querySelectorAll("col").forEach((
|
|
364
|
-
const
|
|
365
|
-
isNaN(
|
|
355
|
+
const l = d(e(this, I), "left", !1);
|
|
356
|
+
let h = 0;
|
|
357
|
+
l.querySelectorAll("col").forEach((b) => {
|
|
358
|
+
const g = parseInt(b.getAttribute("width"), 10);
|
|
359
|
+
isNaN(g) || (h += g);
|
|
366
360
|
}), r.innerHTML = "", r.appendChild(l);
|
|
367
|
-
const
|
|
368
|
-
r.style.flex = `0 0 ${
|
|
361
|
+
const u = h > 0 ? h : 0;
|
|
362
|
+
r.style.flex = `0 0 ${u}px`, r.style.width = `${u}px`;
|
|
369
363
|
}
|
|
370
364
|
if (c) {
|
|
371
|
-
const l =
|
|
372
|
-
let
|
|
373
|
-
l.querySelectorAll("col").forEach((
|
|
374
|
-
const
|
|
375
|
-
isNaN(
|
|
365
|
+
const l = d(e(this, I), "right", !1);
|
|
366
|
+
let h = 0;
|
|
367
|
+
l.querySelectorAll("col").forEach((b) => {
|
|
368
|
+
const g = parseInt(b.getAttribute("width"), 10);
|
|
369
|
+
isNaN(g) || (h += g);
|
|
376
370
|
}), c.innerHTML = "", c.appendChild(l);
|
|
377
|
-
const
|
|
378
|
-
c.style.flex = `0 0 ${
|
|
371
|
+
const u = h > 0 ? h : 0;
|
|
372
|
+
c.style.flex = `0 0 ${u}px`, c.style.width = `${u}px`;
|
|
379
373
|
}
|
|
380
374
|
o && o.addEventListener("scroll", () => {
|
|
381
375
|
var l;
|
|
@@ -399,21 +393,21 @@ const j = class j extends HTMLElement {
|
|
|
399
393
|
const s = this.querySelector(".ng-container-body");
|
|
400
394
|
s && (s.scrollTop = t);
|
|
401
395
|
}, "scrollToY"));
|
|
402
|
-
|
|
396
|
+
f(this, re, /* @__PURE__ */ a(() => {
|
|
403
397
|
e(this, oe).call(this), new MutationObserver((t) => {
|
|
404
398
|
const s = /* @__PURE__ */ a(() => {
|
|
405
399
|
requestAnimationFrame(() => {
|
|
406
|
-
var
|
|
400
|
+
var u, b, g;
|
|
407
401
|
const n = this.querySelector(".ng-container-left table"), r = this.querySelector(".ng-container-body table"), o = this.querySelector(".ng-container-right table");
|
|
408
402
|
if (!r) return;
|
|
409
|
-
const c = n ? Array.from(n.querySelectorAll("tr")) : [],
|
|
410
|
-
for (let m = 0; m <
|
|
411
|
-
const
|
|
412
|
-
((
|
|
413
|
-
((
|
|
414
|
-
((
|
|
415
|
-
], T = Math.max(...
|
|
416
|
-
T > 0 && (c[m] && (c[m].style.height = `${T}px`),
|
|
403
|
+
const c = n ? Array.from(n.querySelectorAll("tr")) : [], d = Array.from(r.querySelectorAll("tr")), l = o ? Array.from(o.querySelectorAll("tr")) : [], h = Math.max(c.length, d.length, l.length);
|
|
404
|
+
for (let m = 0; m < h; m++) {
|
|
405
|
+
const S = [
|
|
406
|
+
((u = c[m]) == null ? void 0 : u.getBoundingClientRect().height) || 0,
|
|
407
|
+
((b = d[m]) == null ? void 0 : b.getBoundingClientRect().height) || 0,
|
|
408
|
+
((g = l[m]) == null ? void 0 : g.getBoundingClientRect().height) || 0
|
|
409
|
+
], T = Math.max(...S);
|
|
410
|
+
T > 0 && (c[m] && (c[m].style.height = `${T}px`), d[m] && (d[m].style.height = `${T}px`), l[m] && (l[m].style.height = `${T}px`));
|
|
417
411
|
}
|
|
418
412
|
});
|
|
419
413
|
}, "syncRowHeights");
|
|
@@ -421,8 +415,8 @@ const j = class j extends HTMLElement {
|
|
|
421
415
|
n.attributeName === "class" && this.classList.contains("active") && s();
|
|
422
416
|
}).observe(this, { attributes: !0 });
|
|
423
417
|
}, "#init"));
|
|
424
|
-
|
|
425
|
-
const t =
|
|
418
|
+
f(this, oe, /* @__PURE__ */ a(() => {
|
|
419
|
+
const t = Z.SCROLLBAR_SIZE;
|
|
426
420
|
this.innerHTML = `
|
|
427
421
|
<style>
|
|
428
422
|
nine-table-sheet {
|
|
@@ -544,17 +538,17 @@ const j = class j extends HTMLElement {
|
|
|
544
538
|
e(this, re).call(this);
|
|
545
539
|
}
|
|
546
540
|
disconnectedCallback() {
|
|
547
|
-
this.innerHTML = "",
|
|
541
|
+
this.innerHTML = "", j.log("NineTableSheet destroyed.");
|
|
548
542
|
}
|
|
549
543
|
};
|
|
550
|
-
I = new WeakMap(), X = new WeakMap(), re = new WeakMap(), oe = new WeakMap(), a(
|
|
551
|
-
let ee =
|
|
544
|
+
I = new WeakMap(), X = new WeakMap(), re = new WeakMap(), oe = new WeakMap(), a(Z, "NineTableSheet"), x(Z, "SCROLLBAR_SIZE", 16);
|
|
545
|
+
let ee = Z;
|
|
552
546
|
customElements.get("nine-table-sheet") || customElements.define("nine-table-sheet", ee);
|
|
553
547
|
var le, G;
|
|
554
|
-
const
|
|
548
|
+
const Le = class Le extends HTMLElement {
|
|
555
549
|
constructor() {
|
|
556
550
|
super();
|
|
557
|
-
|
|
551
|
+
f(this, le, /* @__PURE__ */ a(() => {
|
|
558
552
|
var t;
|
|
559
553
|
(t = this.querySelector(".nine-tab-bar")) == null || t.addEventListener("click", (s) => {
|
|
560
554
|
var o;
|
|
@@ -562,35 +556,35 @@ const ke = class ke extends HTMLElement {
|
|
|
562
556
|
e(this, G).call(this, r, n);
|
|
563
557
|
}), e(this, G).call(this, 0, !1);
|
|
564
558
|
}, "#init"));
|
|
565
|
-
|
|
559
|
+
f(this, G, /* @__PURE__ */ a((t, s = !1) => {
|
|
566
560
|
const n = /* @__PURE__ */ a(() => {
|
|
567
|
-
const
|
|
568
|
-
Array.from(this.querySelectorAll("nine-splitter")).forEach((
|
|
569
|
-
const
|
|
570
|
-
|
|
571
|
-
const m = parseInt(
|
|
572
|
-
|
|
561
|
+
const h = Array.from(this.querySelectorAll("nine-table-sheet"));
|
|
562
|
+
Array.from(this.querySelectorAll("nine-splitter")).forEach((g) => g.style.setProperty("display", "none"));
|
|
563
|
+
const b = h.filter((g) => g.classList.contains("active"));
|
|
564
|
+
b.length < 2 || b.forEach((g) => {
|
|
565
|
+
const m = parseInt(g.getAttribute("data-index"), 10), S = this.querySelector(`nine-splitter[data-split-index="${m}"]`), T = h[m + 1];
|
|
566
|
+
S && T && T.classList.contains("active") && S.style.setProperty("display", "flex");
|
|
573
567
|
});
|
|
574
|
-
}, "updateSplitters"), r = this.querySelector(".nine-tab-bar"), o = this.querySelector("nine-table-sheets-body"), c = r.querySelectorAll(".nine-tab-item"),
|
|
568
|
+
}, "updateSplitters"), r = this.querySelector(".nine-tab-bar"), o = this.querySelector("nine-table-sheets-body"), c = r.querySelectorAll(".nine-tab-item"), d = o.querySelectorAll("nine-table-sheet");
|
|
575
569
|
if (!c[t]) return;
|
|
576
570
|
if (!s)
|
|
577
|
-
c.forEach((
|
|
578
|
-
|
|
579
|
-
}),
|
|
580
|
-
const
|
|
581
|
-
|
|
571
|
+
c.forEach((h, u) => {
|
|
572
|
+
h.classList.toggle("active", u === t);
|
|
573
|
+
}), d.forEach((h, u) => {
|
|
574
|
+
const b = u === t;
|
|
575
|
+
h.classList.toggle("active", b), h.style.flex = b ? "1 1 100%" : "";
|
|
582
576
|
});
|
|
583
577
|
else {
|
|
584
|
-
const
|
|
585
|
-
if (
|
|
578
|
+
const h = c[t], u = r.querySelectorAll(".nine-tab-item.active");
|
|
579
|
+
if (h.classList.contains("active") && u.length <= 1)
|
|
586
580
|
return;
|
|
587
|
-
|
|
588
|
-
const
|
|
589
|
-
|
|
581
|
+
h.classList.toggle("active");
|
|
582
|
+
const b = o.querySelector(`nine-table-sheet[data-index="${t}"]`);
|
|
583
|
+
b && (b.classList.toggle("active"), b.classList.contains("active") || (b.style.flex = ""));
|
|
590
584
|
}
|
|
591
585
|
const l = o.querySelectorAll("nine-table-sheet.active");
|
|
592
|
-
l == null || l.forEach((
|
|
593
|
-
|
|
586
|
+
l == null || l.forEach((h) => {
|
|
587
|
+
h.style.flex = l.length > 1 ? "1 1 0%" : "1 1 100%";
|
|
594
588
|
}), n();
|
|
595
589
|
}, "#switchSheet"));
|
|
596
590
|
}
|
|
@@ -598,32 +592,32 @@ const ke = class ke extends HTMLElement {
|
|
|
598
592
|
e(this, le).call(this);
|
|
599
593
|
}
|
|
600
594
|
};
|
|
601
|
-
le = new WeakMap(), G = new WeakMap(), a(
|
|
602
|
-
let we =
|
|
595
|
+
le = new WeakMap(), G = new WeakMap(), a(Le, "NineTableSheets");
|
|
596
|
+
let we = Le;
|
|
603
597
|
customElements.get("nine-table-sheets") || customElements.define("nine-table-sheets", we);
|
|
604
|
-
var
|
|
605
|
-
const
|
|
598
|
+
var R, ae, J, ce;
|
|
599
|
+
const ke = class ke {
|
|
606
600
|
constructor(i) {
|
|
607
|
-
|
|
608
|
-
|
|
601
|
+
f(this, R);
|
|
602
|
+
f(this, ae, /* @__PURE__ */ a(() => {
|
|
609
603
|
e(this, ce).call(this), new ResizeObserver((i) => {
|
|
610
604
|
for (let t of i)
|
|
611
|
-
e(this,
|
|
612
|
-
}).observe(e(this,
|
|
605
|
+
e(this, R).getAttribute("auto-height") === "true" && e(this, J).call(this);
|
|
606
|
+
}).observe(e(this, R));
|
|
613
607
|
}, "#init"));
|
|
614
|
-
|
|
615
|
-
var
|
|
616
|
-
const i = Array.from(e(this,
|
|
608
|
+
f(this, J, /* @__PURE__ */ a(() => {
|
|
609
|
+
var d, l;
|
|
610
|
+
const i = Array.from(e(this, R).shadowRoot.querySelectorAll("nine-table-sheet.active"));
|
|
617
611
|
if (i.length === 0) return;
|
|
618
|
-
const t = parseInt(e(this,
|
|
619
|
-
e(this,
|
|
612
|
+
const t = parseInt(e(this, R).getAttribute("max-display-row"), 10) || 10, s = Math.max(...i.map((h) => h.getRowHeight())), n = (d = e(this, R).shadowRoot.querySelector("nine-table-header")) == null ? void 0 : d.getBoundingClientRect().height, r = (l = e(this, R).shadowRoot.querySelector("nine-table-sheets-footer")) == null ? void 0 : l.getBoundingClientRect().height, o = ee.SCROLLBAR_SIZE, c = t * s + n + r + o;
|
|
613
|
+
e(this, R).style.height = `${c}px`;
|
|
620
614
|
}, "#applyAutoHeight"));
|
|
621
|
-
|
|
622
|
-
const t = Array.from(e(this,
|
|
623
|
-
const
|
|
624
|
-
return
|
|
625
|
-
}).join(""), o = t.map((
|
|
626
|
-
e(this,
|
|
615
|
+
f(this, ce, /* @__PURE__ */ a(() => {
|
|
616
|
+
const t = Array.from(e(this, R).children).filter((d) => d.tagName === "TABLE"), s = e(this, R).getAttribute("auto-height") === "true", n = t.length, r = t.map((d, l) => {
|
|
617
|
+
const u = `<nine-table-sheet class="${l === 0 ? "active" : ""}" data-index="${l}"></nine-table-sheet>`, b = l < n - 1 ? `<nine-splitter class="h" data-split-index="${l}"></nine-splitter>` : "";
|
|
618
|
+
return u + b;
|
|
619
|
+
}).join(""), o = t.map((d, l) => `<div class="nine-tab-item ${l === 0 ? "active" : ""}" data-index="${l}">Sheet ${l + 1}</div>`).join("");
|
|
620
|
+
e(this, R).shadowRoot.innerHTML = `
|
|
627
621
|
<style>
|
|
628
622
|
:host {
|
|
629
623
|
display: flex;
|
|
@@ -722,25 +716,25 @@ const Le = class Le {
|
|
|
722
716
|
</nine-table-body>
|
|
723
717
|
<nine-table-footer></nine-table-footer>
|
|
724
718
|
`;
|
|
725
|
-
const c = e(this,
|
|
726
|
-
c == null || c.forEach((
|
|
719
|
+
const c = e(this, R).shadowRoot.querySelectorAll("nine-table-sheet");
|
|
720
|
+
c == null || c.forEach((d, l) => {
|
|
727
721
|
t[l] && setTimeout(() => {
|
|
728
|
-
|
|
722
|
+
d.generate(t[l]), s && e(this, J).call(this);
|
|
729
723
|
});
|
|
730
724
|
});
|
|
731
725
|
}, "#render"));
|
|
732
|
-
p(this,
|
|
726
|
+
p(this, R, i), e(this, ae).call(this);
|
|
733
727
|
}
|
|
734
728
|
};
|
|
735
|
-
|
|
736
|
-
let ve =
|
|
737
|
-
var
|
|
729
|
+
R = new WeakMap(), ae = new WeakMap(), J = new WeakMap(), ce = new WeakMap(), a(ke, "LayoutManager");
|
|
730
|
+
let ve = ke;
|
|
731
|
+
var W, F;
|
|
738
732
|
const Ce = class Ce {
|
|
739
733
|
constructor(i) {
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
x(this, "count", /* @__PURE__ */ a(() => e(this,
|
|
743
|
-
p(this,
|
|
734
|
+
f(this, W);
|
|
735
|
+
f(this, F, -1);
|
|
736
|
+
x(this, "count", /* @__PURE__ */ a(() => e(this, W).rawRecords.length, "count"));
|
|
737
|
+
p(this, W, i);
|
|
744
738
|
}
|
|
745
739
|
get at() {
|
|
746
740
|
return e(this, F);
|
|
@@ -748,45 +742,45 @@ const Ce = class Ce {
|
|
|
748
742
|
set at(i) {
|
|
749
743
|
var s, n;
|
|
750
744
|
p(this, F, parseInt(i, 10));
|
|
751
|
-
const t = ((n = (s = e(this,
|
|
745
|
+
const t = ((n = (s = e(this, W).owner).querySelector) == null ? void 0 : n.call(s, ".ng-container-body")) || e(this, W).owner.body;
|
|
752
746
|
t && !t.querySelector(`tbody.bindable tr[data-row="${e(this, F)}"]`) && setTimeout(() => {
|
|
753
747
|
var r, o;
|
|
754
|
-
(o = (r = e(this,
|
|
748
|
+
(o = (r = e(this, W).owner).scrollTo_V1) == null || o.call(r, e(this, F));
|
|
755
749
|
});
|
|
756
750
|
}
|
|
757
751
|
};
|
|
758
|
-
|
|
752
|
+
W = new WeakMap(), F = new WeakMap(), a(Ce, "ngRow");
|
|
759
753
|
let xe = Ce;
|
|
760
|
-
var A, v, q, U, he,
|
|
761
|
-
const
|
|
754
|
+
var A, v, q, U, he, O, de, Q, fe, ue, K;
|
|
755
|
+
const L = class L {
|
|
762
756
|
constructor(i, t) {
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
p(this,
|
|
757
|
+
f(this, A);
|
|
758
|
+
f(this, v);
|
|
759
|
+
f(this, q, []);
|
|
760
|
+
f(this, U, []);
|
|
761
|
+
f(this, he, 0);
|
|
762
|
+
f(this, O, []);
|
|
763
|
+
f(this, de, /* @__PURE__ */ a(() => {
|
|
764
|
+
p(this, O, []);
|
|
771
765
|
const i = e(this, A).template || [];
|
|
772
766
|
Array.from(i).forEach((t) => {
|
|
773
767
|
var s;
|
|
774
|
-
e(this,
|
|
768
|
+
e(this, O).push(((s = t.getBoundingClientRect) == null ? void 0 : s.call(t).height) || 24);
|
|
775
769
|
}), (e(this, v).rawRecords || []).forEach((t) => {
|
|
776
|
-
t.__ng || (t.__ng = e(this, Q).call(this)), t.__ng.height = e(this,
|
|
770
|
+
t.__ng || (t.__ng = e(this, Q).call(this)), t.__ng.height = e(this, O).slice();
|
|
777
771
|
});
|
|
778
772
|
}, "#initialize"));
|
|
779
773
|
x(this, "set", /* @__PURE__ */ a((i) => {
|
|
780
774
|
this.clear(), this.add(i, !1);
|
|
781
775
|
}, "set"));
|
|
782
|
-
|
|
783
|
-
rowState:
|
|
776
|
+
f(this, Q, /* @__PURE__ */ a(() => ({
|
|
777
|
+
rowState: L.ROW_STATE.EMPTY,
|
|
784
778
|
deleted: !1,
|
|
785
779
|
filtered: !1,
|
|
786
|
-
height: e(this,
|
|
780
|
+
height: e(this, O).slice(),
|
|
787
781
|
o: {},
|
|
788
782
|
c: {},
|
|
789
|
-
_: [0, 0, 0, 0,
|
|
783
|
+
_: [0, 0, 0, 0, L.ROW_STATE.EMPTY, !1, !1, !0, !1, !0, !0, !1, e(this, O).slice(), -1, {}, {}]
|
|
790
784
|
}), "#getDefaultMeta"));
|
|
791
785
|
x(this, "reset", /* @__PURE__ */ a(() => {
|
|
792
786
|
p(this, q, []), p(this, U, []);
|
|
@@ -795,7 +789,7 @@ const k = class k {
|
|
|
795
789
|
var i;
|
|
796
790
|
e(this, v).rawRecords = [], p(this, q, []), p(this, U, []), (i = e(this, v).viewRecords) != null && i.reset && e(this, v).viewRecords.reset();
|
|
797
791
|
}, "clear"));
|
|
798
|
-
|
|
792
|
+
f(this, fe, /* @__PURE__ */ a((i) => {
|
|
799
793
|
var n;
|
|
800
794
|
Array.isArray(i) || (i = [i]);
|
|
801
795
|
const t = typeof ((n = e(this, A).fields) == null ? void 0 : n.get) == "function" ? e(this, A).fields.get() : Object.keys(i[0] || {}), s = [];
|
|
@@ -806,8 +800,8 @@ const k = class k {
|
|
|
806
800
|
}), s.push(o);
|
|
807
801
|
}), s;
|
|
808
802
|
}, "#json2Array"));
|
|
809
|
-
|
|
810
|
-
t.__ng = e(this, Q).call(this), t.__ng.rowid = this.nextId, t.__ng.rowState =
|
|
803
|
+
f(this, ue, /* @__PURE__ */ a((i) => (Array.isArray(i) || (i = [i]), i.forEach((t) => {
|
|
804
|
+
t.__ng = e(this, Q).call(this), t.__ng.rowid = this.nextId, t.__ng.rowState = L.ROW_STATE.INSERT, t.__ng._[0] = t.__ng.rowid;
|
|
811
805
|
}), i), "#defaultInsert"));
|
|
812
806
|
x(this, "add", /* @__PURE__ */ a((i, t = !0) => {
|
|
813
807
|
var r;
|
|
@@ -816,8 +810,8 @@ const k = class k {
|
|
|
816
810
|
e(this, v).rawRecords = e(this, v).rawRecords.concat(e(this, ue).call(this, s)), this.resetRecords();
|
|
817
811
|
const n = this.count() - 1;
|
|
818
812
|
return t || s.forEach((o, c) => {
|
|
819
|
-
const
|
|
820
|
-
|
|
813
|
+
const d = e(this, v).rawRecords[n - c];
|
|
814
|
+
d && (d.__ng.rowState = L.ROW_STATE.EMPTY);
|
|
821
815
|
}), (r = e(this, v).viewRecords) != null && r.reset && e(this, v).viewRecords.reset(), n;
|
|
822
816
|
}, "add"));
|
|
823
817
|
x(this, "delete", /* @__PURE__ */ a((i) => {
|
|
@@ -826,21 +820,21 @@ const k = class k {
|
|
|
826
820
|
Array.isArray(i) ? t = i : typeof i > "u" ? t = [e(this, v).owner.row.at] : t = [parseInt(i, 10)], t.sort((n, r) => r - n).forEach((n) => {
|
|
827
821
|
if (e(this, q)[n]) {
|
|
828
822
|
const r = e(this, q)[n].__ng.rowid;
|
|
829
|
-
e(this, q)[n].__ng.rowState ===
|
|
830
|
-
o.__ng.rowid === r && (o.__ng.deleted = !0, o.__ng.rowState =
|
|
823
|
+
e(this, q)[n].__ng.rowState === L.ROW_STATE.INSERT ? e(this, v).rawRecords = e(this, v).rawRecords.filter((o) => o.__ng.rowid !== r) : e(this, v).rawRecords.forEach((o) => {
|
|
824
|
+
o.__ng.rowid === r && (o.__ng.deleted = !0, o.__ng.rowState = L.ROW_STATE.DELETE);
|
|
831
825
|
});
|
|
832
826
|
}
|
|
833
827
|
}), this.resetRecords(), (s = e(this, v).viewRecords) != null && s.reset && e(this, v).viewRecords.reset();
|
|
834
828
|
}, "delete"));
|
|
835
829
|
x(this, "setValue", /* @__PURE__ */ a((i, t, s) => {
|
|
836
|
-
var
|
|
830
|
+
var d;
|
|
837
831
|
i = parseInt(i, 10);
|
|
838
|
-
const r = (typeof ((
|
|
832
|
+
const r = (typeof ((d = e(this, A).fields) == null ? void 0 : d.get) == "function" ? e(this, A).fields.get() : []).indexOf(t);
|
|
839
833
|
if (r < 0) return;
|
|
840
834
|
const o = this.getValidData()[i];
|
|
841
835
|
if (!o) return;
|
|
842
836
|
const c = o.v[r];
|
|
843
|
-
c !== s && o.__ng.rowState !==
|
|
837
|
+
c !== s && o.__ng.rowState !== L.ROW_STATE.INSERT && (o.__ng.o.hasOwnProperty(t) || (o.__ng.o[t] = c), o.__ng.rowState = L.ROW_STATE.UPDATE), o.v[r] = s, e(this, v).owner.refreshData && e(this, v).owner.refreshData(i);
|
|
844
838
|
}, "setValue"));
|
|
845
839
|
x(this, "resetRecords", /* @__PURE__ */ a(() => {
|
|
846
840
|
p(this, U, e(this, v).rawRecords.filter((i) => !i.__ng.deleted)), p(this, q, e(this, v).rawRecords.filter((i) => !i.__ng.deleted && !i.__ng.filtered)), e(this, v).rawRecords.forEach((i, t) => {
|
|
@@ -850,7 +844,7 @@ const k = class k {
|
|
|
850
844
|
});
|
|
851
845
|
}, "resetRecords"));
|
|
852
846
|
x(this, "getValidData", /* @__PURE__ */ a(() => (e(this, q).length === 0 && e(this, v).rawRecords.length > 0 && this.resetRecords(), e(this, q)), "getValidData"));
|
|
853
|
-
|
|
847
|
+
f(this, K, /* @__PURE__ */ a((i) => {
|
|
854
848
|
var s;
|
|
855
849
|
if (!i) return i;
|
|
856
850
|
const t = typeof ((s = e(this, A).fields) == null ? void 0 : s.get) == "function" ? e(this, A).fields.get() : [];
|
|
@@ -893,15 +887,15 @@ const k = class k {
|
|
|
893
887
|
return this.length;
|
|
894
888
|
}
|
|
895
889
|
};
|
|
896
|
-
A = new WeakMap(), v = new WeakMap(), q = new WeakMap(), U = new WeakMap(), he = new WeakMap(),
|
|
897
|
-
x(
|
|
890
|
+
A = new WeakMap(), v = new WeakMap(), q = new WeakMap(), U = new WeakMap(), he = new WeakMap(), O = new WeakMap(), de = new WeakMap(), Q = new WeakMap(), fe = new WeakMap(), ue = new WeakMap(), K = new WeakMap(), a(L, "ngData"), // π― ν μν μ μ μμλ₯Ό ν΄λμ€ λ΄λΆλ‘ λ΄μ¬ν
|
|
891
|
+
x(L, "ROW_STATE", {
|
|
898
892
|
EMPTY: "EMPTY",
|
|
899
893
|
NORMAL: "NORMAL",
|
|
900
894
|
INSERT: "INSERT",
|
|
901
895
|
UPDATE: "UPDATE",
|
|
902
896
|
DELETE: "DELETE"
|
|
903
897
|
});
|
|
904
|
-
let Re =
|
|
898
|
+
let Re = L;
|
|
905
899
|
const _e = class _e {
|
|
906
900
|
constructor(i) {
|
|
907
901
|
this.owner = i, this.row = new xe(this), this.data = new Re(i, this), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.pageCnt = 25, this.viewRecords.reset = () => {
|
|
@@ -928,15 +922,15 @@ const Me = class Me extends HTMLElement {
|
|
|
928
922
|
constructor() {
|
|
929
923
|
super();
|
|
930
924
|
//#created = false;
|
|
931
|
-
|
|
932
|
-
|
|
925
|
+
f(this, Y);
|
|
926
|
+
f(this, ge);
|
|
933
927
|
this.attachShadow({ mode: "open" }), p(this, Y, new Se(this));
|
|
934
928
|
}
|
|
935
929
|
connectedCallback() {
|
|
936
|
-
p(this, ge, new ve(this)),
|
|
930
|
+
p(this, ge, new ve(this)), j.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } }));
|
|
937
931
|
}
|
|
938
932
|
disconnectedCallback() {
|
|
939
|
-
|
|
933
|
+
j.log("NineTable disconnected.");
|
|
940
934
|
}
|
|
941
935
|
// π― μΈλΆμμ grid.data.set(...) ννλ‘ μ κ·Όν μ μλλ‘ λ°μ΄ν° λ§€λμ μ€ν
|
|
942
936
|
get data() {
|