@ninebone/table 0.0.566 → 0.0.568
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 +338 -336
- package/dist/nine-table.js.map +1 -1
- package/dist/nine-table.umd.js +15 -11
- package/dist/nine-table.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/nine-table.js
CHANGED
|
@@ -2,16 +2,16 @@ var Fe = Object.defineProperty;
|
|
|
2
2
|
var Ve = (R) => {
|
|
3
3
|
throw TypeError(R);
|
|
4
4
|
};
|
|
5
|
-
var Xe = (R,
|
|
6
|
-
var h = (R,
|
|
7
|
-
var A = (R,
|
|
8
|
-
var t = (R,
|
|
9
|
-
var Ue = (R,
|
|
5
|
+
var Xe = (R, r, e) => r in R ? Fe(R, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : R[r] = e;
|
|
6
|
+
var h = (R, r) => Fe(R, "name", { value: r, configurable: !0 });
|
|
7
|
+
var A = (R, r, e) => Xe(R, typeof r != "symbol" ? r + "" : r, e), Ye = (R, r, e) => r.has(R) || Ve("Cannot " + e);
|
|
8
|
+
var t = (R, r, e) => (Ye(R, r, "read from private field"), e ? e.call(R) : r.get(R)), d = (R, r, e) => r.has(R) ? Ve("Cannot add the same private member more than once") : r instanceof WeakSet ? r.add(R) : r.set(R, e), y = (R, r, e, s) => (Ye(R, r, "write to private field"), s ? s.call(R, e) : r.set(R, e), e);
|
|
9
|
+
var Ue = (R, r, e, s) => ({
|
|
10
10
|
set _(i) {
|
|
11
|
-
|
|
11
|
+
y(R, r, i, e);
|
|
12
12
|
},
|
|
13
13
|
get _() {
|
|
14
|
-
return t(R,
|
|
14
|
+
return t(R, r, s);
|
|
15
15
|
}
|
|
16
16
|
});
|
|
17
17
|
import { trace as Ke } from "@ninebone/util";
|
|
@@ -36,7 +36,7 @@ const Me = class Me extends HTMLElement {
|
|
|
36
36
|
d(this, It, /* @__PURE__ */ h(() => {
|
|
37
37
|
if (!t(this, z)) return;
|
|
38
38
|
const e = t(this, z).querySelector(".ng-container-body .ng-part-body");
|
|
39
|
-
e && (
|
|
39
|
+
e && (y(this, Z, new ResizeObserver(() => {
|
|
40
40
|
this.refresh();
|
|
41
41
|
})), t(this, Z).observe(e));
|
|
42
42
|
}, "#observeResize"));
|
|
@@ -44,7 +44,7 @@ const Me = class Me extends HTMLElement {
|
|
|
44
44
|
if (!t(this, z) || !t(this, w) || t(this, j)) return;
|
|
45
45
|
const e = t(this, w).container, s = e.querySelector("table");
|
|
46
46
|
if (!s) return;
|
|
47
|
-
const i = t(this, w).track,
|
|
47
|
+
const i = t(this, w).track, n = t(this, w).thumb, o = t(this, z).querySelector(".ng-container-bottom"), a = e.clientWidth, c = s.scrollWidth;
|
|
48
48
|
if (a !== 0 && c > a)
|
|
49
49
|
o && (o.style.display = "flex");
|
|
50
50
|
else {
|
|
@@ -54,21 +54,21 @@ const Me = class Me extends HTMLElement {
|
|
|
54
54
|
const l = i.clientWidth;
|
|
55
55
|
if (l <= 0) return;
|
|
56
56
|
const f = Math.max(Math.min(l * (a / c), l), 20);
|
|
57
|
-
|
|
57
|
+
n.style.width = `${f}px`;
|
|
58
58
|
const u = e.scrollLeft, g = c - a;
|
|
59
59
|
let b = 0;
|
|
60
60
|
g > 0 && (b = parseInt(u / g * (l - f), 10)), b < 0 && (b = 0);
|
|
61
61
|
const m = l - f;
|
|
62
|
-
b > m && (b = m),
|
|
62
|
+
b > m && (b = m), n.style.left = `${b}px`, t(this, w).left.disabled = b === 0, t(this, w).right.disabled = b >= m - 1;
|
|
63
63
|
}, "refresh"));
|
|
64
64
|
d(this, G, /* @__PURE__ */ h((e) => {
|
|
65
65
|
if (!t(this, w)) return !1;
|
|
66
66
|
const s = t(this, w).container, i = s.querySelector("table");
|
|
67
67
|
if (!i) return !1;
|
|
68
|
-
const
|
|
68
|
+
const n = t(this, w).track.getBoundingClientRect(), o = t(this, w).thumb.clientWidth;
|
|
69
69
|
let a = e;
|
|
70
70
|
a < 0 && (a = 0);
|
|
71
|
-
const c =
|
|
71
|
+
const c = n.width - o;
|
|
72
72
|
a > c && (a = c), a = parseInt(a, 10), t(this, w).thumb.style.left = `${a}px`, t(this, w).left.disabled = a === 0, t(this, w).right.disabled = a >= c - 1;
|
|
73
73
|
const l = s.clientWidth, u = i.scrollWidth - l;
|
|
74
74
|
return c > 0 && u > 0 && (s.scrollLeft = a / c * u), a > 0 && a < c - 1;
|
|
@@ -76,9 +76,9 @@ const Me = class Me extends HTMLElement {
|
|
|
76
76
|
d(this, _t, /* @__PURE__ */ h(() => {
|
|
77
77
|
const e = /* @__PURE__ */ h((i) => {
|
|
78
78
|
clearInterval(t(this, X)), clearInterval(t(this, K));
|
|
79
|
-
const
|
|
80
|
-
t(this, G).call(this,
|
|
81
|
-
clearInterval(t(this, X)),
|
|
79
|
+
const n = parseInt(t(this, w).thumb.style.left || 0, 10);
|
|
80
|
+
t(this, G).call(this, n + i), y(this, X, setInterval(() => {
|
|
81
|
+
clearInterval(t(this, X)), y(this, K, setInterval(() => {
|
|
82
82
|
const o = parseInt(t(this, w).thumb.style.left || 0, 10);
|
|
83
83
|
t(this, G).call(this, o + i) || clearInterval(t(this, K));
|
|
84
84
|
}, 50));
|
|
@@ -95,24 +95,24 @@ const Me = class Me extends HTMLElement {
|
|
|
95
95
|
}), t(this, w).left.addEventListener("touchstart", () => e(-20)), t(this, w).right.addEventListener("touchstart", () => e(20)), t(this, w).track.addEventListener("mousedown", (i) => {
|
|
96
96
|
if (i.button !== 0) return;
|
|
97
97
|
i.preventDefault();
|
|
98
|
-
const
|
|
99
|
-
t(this, G).call(this, i.clientX -
|
|
98
|
+
const n = t(this, w).track.getBoundingClientRect(), o = t(this, w).thumb.clientWidth;
|
|
99
|
+
t(this, G).call(this, i.clientX - n.left - o / 2);
|
|
100
100
|
}), t(this, w).thumb.addEventListener("mousedown", (i) => {
|
|
101
101
|
if (i.button !== 0) return;
|
|
102
|
-
i.stopPropagation(), i.preventDefault(),
|
|
103
|
-
const
|
|
102
|
+
i.stopPropagation(), i.preventDefault(), y(this, j, !0), this.shiftX = i.clientX - t(this, w).thumb.getBoundingClientRect().left;
|
|
103
|
+
const n = /* @__PURE__ */ h((a) => {
|
|
104
104
|
if (!t(this, j)) return;
|
|
105
105
|
const c = t(this, w).track.getBoundingClientRect();
|
|
106
106
|
t(this, G).call(this, a.clientX - c.left - this.shiftX);
|
|
107
107
|
}, "onMouseMove"), o = /* @__PURE__ */ h(() => {
|
|
108
|
-
|
|
108
|
+
y(this, j, !1), s(), document.removeEventListener("mousemove", n), document.removeEventListener("mouseup", o), this.refresh();
|
|
109
109
|
}, "onMouseUp");
|
|
110
|
-
document.addEventListener("mousemove",
|
|
110
|
+
document.addEventListener("mousemove", n), document.addEventListener("mouseup", o);
|
|
111
111
|
});
|
|
112
112
|
}, "#init"));
|
|
113
113
|
}
|
|
114
114
|
connectedCallback() {
|
|
115
|
-
if (
|
|
115
|
+
if (y(this, z, this.closest("nine-table-sheet") || this.getRootNode().host), !t(this, z)) return;
|
|
116
116
|
this.innerHTML = `
|
|
117
117
|
<style>
|
|
118
118
|
nine-table-hscrollbar {
|
|
@@ -182,7 +182,7 @@ const Me = class Me extends HTMLElement {
|
|
|
182
182
|
setTimeout(e, 10);
|
|
183
183
|
return;
|
|
184
184
|
}
|
|
185
|
-
|
|
185
|
+
y(this, w, {
|
|
186
186
|
container: s,
|
|
187
187
|
track: this.querySelector(".ng-scroll-track"),
|
|
188
188
|
thumb: this.querySelector(".ng-scroll-thumb"),
|
|
@@ -201,29 +201,29 @@ const Me = class Me extends HTMLElement {
|
|
|
201
201
|
z = new WeakMap(), j = new WeakMap(), w = new WeakMap(), X = new WeakMap(), K = new WeakMap(), Z = new WeakMap(), It = new WeakMap(), G = new WeakMap(), _t = new WeakMap(), h(Me, "NineTableHScrollBar");
|
|
202
202
|
let ae = Me;
|
|
203
203
|
customElements.get("nine-table-hscrollbar") || customElements.define("nine-table-hscrollbar", ae);
|
|
204
|
-
var F,
|
|
204
|
+
var F, ot, J, q, mt, xt, Nt;
|
|
205
205
|
const $e = class $e extends HTMLElement {
|
|
206
206
|
constructor() {
|
|
207
207
|
super();
|
|
208
208
|
d(this, F);
|
|
209
|
-
d(this,
|
|
209
|
+
d(this, ot);
|
|
210
210
|
d(this, J, !1);
|
|
211
211
|
d(this, q);
|
|
212
|
+
d(this, mt, 0);
|
|
212
213
|
d(this, xt, 0);
|
|
213
|
-
d(this, vt, 0);
|
|
214
214
|
A(this, "refresh", /* @__PURE__ */ h(() => {
|
|
215
215
|
if (!t(this, F) || !t(this, q)) return;
|
|
216
|
-
const e = t(this, q).container, s = t(this, q).track, i = t(this, q).thumb,
|
|
217
|
-
if (l <=
|
|
216
|
+
const e = t(this, q).container, s = t(this, q).track, i = t(this, q).thumb, n = e.clientHeight, a = (t(this, F).data.get() || []).length, c = t(this, ot).getRowHeight(), l = a * c;
|
|
217
|
+
if (l <= n) {
|
|
218
218
|
i.style.display = "none", t(this, q).top.disabled = !0, t(this, q).bottom.disabled = !0;
|
|
219
219
|
return;
|
|
220
220
|
} else
|
|
221
221
|
i.style.display = "block";
|
|
222
222
|
const f = s.clientHeight;
|
|
223
223
|
if (f <= 0) return;
|
|
224
|
-
const u = Math.max(Math.min(f * (
|
|
224
|
+
const u = Math.max(Math.min(f * (n / l), f), 20);
|
|
225
225
|
i.style.height = `${u}px`;
|
|
226
|
-
const g = e.scrollTop, b = Math.max(l -
|
|
226
|
+
const g = e.scrollTop, b = Math.max(l - n, 1);
|
|
227
227
|
let m = 0;
|
|
228
228
|
b > 0 && (m = g / b * (f - u));
|
|
229
229
|
const v = f - u;
|
|
@@ -232,31 +232,31 @@ const $e = class $e extends HTMLElement {
|
|
|
232
232
|
d(this, Nt, /* @__PURE__ */ h(() => {
|
|
233
233
|
W.log("nine-table-vscrollbar.#init");
|
|
234
234
|
const e = t(this, q).container, s = /* @__PURE__ */ h(() => {
|
|
235
|
-
const
|
|
236
|
-
return
|
|
235
|
+
const n = (t(this, F).data.get() || []).length, o = t(this, ot).getRowHeight();
|
|
236
|
+
return n * o;
|
|
237
237
|
}, "getContentHeight");
|
|
238
238
|
e.addEventListener("scroll", () => {
|
|
239
239
|
t(this, J) || this.refresh();
|
|
240
240
|
}), t(this, q).thumb.addEventListener("mousedown", (i) => {
|
|
241
241
|
if (i.button !== 0) return;
|
|
242
|
-
i.stopPropagation(), i.preventDefault(),
|
|
243
|
-
const
|
|
242
|
+
i.stopPropagation(), i.preventDefault(), y(this, J, !0), y(this, mt, i.clientY), y(this, xt, e.scrollTop);
|
|
243
|
+
const n = /* @__PURE__ */ h((a) => {
|
|
244
244
|
if (!t(this, J)) return;
|
|
245
|
-
const c = t(this, q).track.getBoundingClientRect(), l = t(this, q).thumb.clientHeight, u = c.height - l, g = a.clientY - t(this,
|
|
245
|
+
const c = t(this, q).track.getBoundingClientRect(), l = t(this, q).thumb.clientHeight, u = c.height - l, g = a.clientY - t(this, mt), b = e.clientHeight, m = s(), v = Math.max(m - b, 1);
|
|
246
246
|
if (u > 0 && v > 0) {
|
|
247
247
|
const E = g / u * v;
|
|
248
|
-
let x = t(this,
|
|
248
|
+
let x = t(this, xt) + E;
|
|
249
249
|
const M = Math.max(0, m - b);
|
|
250
250
|
x < 0 && (x = 0), x > M && (x = M), e.scrollTop = x;
|
|
251
251
|
}
|
|
252
252
|
this.refresh();
|
|
253
253
|
}, "onMouseMove"), o = /* @__PURE__ */ h(() => {
|
|
254
|
-
|
|
254
|
+
y(this, J, !1), document.removeEventListener("mousemove", n), document.removeEventListener("mouseup", o), this.refresh();
|
|
255
255
|
}, "onMouseUp");
|
|
256
|
-
document.addEventListener("mousemove",
|
|
256
|
+
document.addEventListener("mousemove", n), document.addEventListener("mouseup", o);
|
|
257
257
|
}), t(this, q).track.addEventListener("mousedown", (i) => {
|
|
258
258
|
if (i.button !== 0 || i.target === t(this, q).thumb) return;
|
|
259
|
-
const
|
|
259
|
+
const n = t(this, q).track.getBoundingClientRect(), o = t(this, q).thumb.clientHeight, a = i.clientY - n.top - o / 2, l = n.height - o, f = e.clientHeight, u = s(), g = Math.max(u - f, 1);
|
|
260
260
|
if (l > 0 && g > 0) {
|
|
261
261
|
const b = Math.max(0, Math.min(1, a / l));
|
|
262
262
|
e.scrollTop = b * g;
|
|
@@ -270,7 +270,7 @@ const $e = class $e extends HTMLElement {
|
|
|
270
270
|
}, "#init"));
|
|
271
271
|
}
|
|
272
272
|
connectedCallback() {
|
|
273
|
-
|
|
273
|
+
y(this, F, this.getRootNode().host), y(this, ot, this.closest("nine-table-sheet")), this.innerHTML = `
|
|
274
274
|
<style>
|
|
275
275
|
nine-table-vscrollbar {
|
|
276
276
|
display: flex;
|
|
@@ -340,7 +340,7 @@ const $e = class $e extends HTMLElement {
|
|
|
340
340
|
setTimeout(e, 10);
|
|
341
341
|
return;
|
|
342
342
|
}
|
|
343
|
-
|
|
343
|
+
y(this, q, {
|
|
344
344
|
container: s,
|
|
345
345
|
track: this.querySelector(".ng-scroll-track"),
|
|
346
346
|
thumb: this.querySelector(".ng-scroll-thumb"),
|
|
@@ -351,20 +351,20 @@ const $e = class $e extends HTMLElement {
|
|
|
351
351
|
e();
|
|
352
352
|
}
|
|
353
353
|
};
|
|
354
|
-
F = new WeakMap(),
|
|
354
|
+
F = new WeakMap(), ot = new WeakMap(), J = new WeakMap(), q = new WeakMap(), mt = new WeakMap(), xt = new WeakMap(), Nt = new WeakMap(), h($e, "NineTableVScrollBar");
|
|
355
355
|
let le = $e;
|
|
356
356
|
customElements.get("nine-table-vscrollbar") || customElements.define("nine-table-vscrollbar", le);
|
|
357
|
-
var
|
|
357
|
+
var D, S, Q, P, I, V, tt, vt, Se, Ee, Wt, Ot, Bt, wt, St, zt, Pt, Et, Ae, at, At, Dt;
|
|
358
358
|
const Ie = class Ie {
|
|
359
|
-
constructor(
|
|
360
|
-
d(this,
|
|
359
|
+
constructor(r) {
|
|
360
|
+
d(this, D);
|
|
361
361
|
d(this, S);
|
|
362
362
|
d(this, Q);
|
|
363
|
-
d(this,
|
|
363
|
+
d(this, P, /* @__PURE__ */ new Map());
|
|
364
364
|
d(this, I, null);
|
|
365
365
|
d(this, V, null);
|
|
366
366
|
d(this, tt, 0);
|
|
367
|
-
d(this,
|
|
367
|
+
d(this, vt, 40);
|
|
368
368
|
d(this, Se, !1);
|
|
369
369
|
d(this, Ee, !1);
|
|
370
370
|
//#ticking = false; // 🎯 고속 스크롤 스로틀링용 플래그
|
|
@@ -372,14 +372,14 @@ const Ie = class Ie {
|
|
|
372
372
|
A(this, "refresh", /* @__PURE__ */ h(() => {
|
|
373
373
|
var e;
|
|
374
374
|
W.log("rowManager.refresh");
|
|
375
|
-
const
|
|
376
|
-
|
|
375
|
+
const r = t(this, S).querySelector(".ng-container-body .ng-part-body");
|
|
376
|
+
r && (t(this, wt).call(this), t(this, at).call(this, r.scrollTop), (e = t(this, S).querySelector("nine-table-vscrollbar")) == null || e.refresh());
|
|
377
377
|
}, "refresh"));
|
|
378
378
|
A(this, "initialize", /* @__PURE__ */ h(() => {
|
|
379
|
-
W.log("rowManager.initialize"),
|
|
379
|
+
W.log("rowManager.initialize"), y(this, Q, {
|
|
380
380
|
scrollTables: t(this, S).querySelectorAll(".ng-part-body table"),
|
|
381
381
|
firstTr: t(this, S).querySelector(".ng-container-body .ng-part-body tbody.bindable-tbody tr:not(.nodata)")
|
|
382
|
-
}),
|
|
382
|
+
}), y(this, I, null), t(this, P).clear(), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((o) => {
|
|
383
383
|
const a = t(this, S).querySelector(o);
|
|
384
384
|
if (!a) return;
|
|
385
385
|
const c = a.querySelector(".ng-part-body table");
|
|
@@ -387,81 +387,81 @@ const Ie = class Ie {
|
|
|
387
387
|
const l = c.querySelector("tbody.bindable-tbody");
|
|
388
388
|
if (!l) return;
|
|
389
389
|
const u = Array.from(l.querySelectorAll("tr")).map((g) => g.cloneNode(!0));
|
|
390
|
-
t(this,
|
|
390
|
+
t(this, P).set(o, u);
|
|
391
391
|
});
|
|
392
|
-
const
|
|
393
|
-
if (
|
|
394
|
-
t(this, Bt).call(this,
|
|
392
|
+
const r = t(this, S).querySelector(".ng-container-body .ng-part-body"), e = t(this, S).querySelector(".ng-container-left .ng-part-body"), s = t(this, S).querySelector(".ng-container-right .ng-part-body"), i = t(this, S).querySelector(".ng-container-body .ng-part-header"), n = t(this, S).querySelector(".ng-container-body .ng-part-footer");
|
|
393
|
+
if (r) {
|
|
394
|
+
t(this, Bt).call(this, r), t(this, Et).call(this), t(this, wt).call(this), t(this, at).call(this, r.scrollTop);
|
|
395
395
|
let o = !1;
|
|
396
396
|
const a = /* @__PURE__ */ h((c) => {
|
|
397
397
|
if (o) return;
|
|
398
398
|
o = !0;
|
|
399
399
|
const l = c.scrollTop, f = c.scrollLeft;
|
|
400
|
-
|
|
400
|
+
r && r.scrollTop !== l && (r.scrollTop = l), e && e.scrollTop !== l && (e.scrollTop = l), s && s.scrollTop !== l && (s.scrollTop = l), i && i.scrollLeft !== f && (i.scrollLeft = f), n && n.scrollLeft !== f && (n.scrollLeft = f), t(this, at).call(this, l), o = !1;
|
|
401
401
|
}, "handleContainerScroll");
|
|
402
|
-
[
|
|
402
|
+
[r, e, s].forEach((c) => {
|
|
403
403
|
c && c.addEventListener("scroll", () => {
|
|
404
404
|
a(c);
|
|
405
405
|
}, { passive: !0 });
|
|
406
406
|
});
|
|
407
407
|
}
|
|
408
408
|
}, "initialize"));
|
|
409
|
-
d(this, Ot, /* @__PURE__ */ h((
|
|
409
|
+
d(this, Ot, /* @__PURE__ */ h((r, e) => {
|
|
410
410
|
W.log("rowManager.#renderRows");
|
|
411
|
-
const s = t(this,
|
|
411
|
+
const s = t(this, P).get(e);
|
|
412
412
|
if (!s || s.length === 0) return;
|
|
413
|
-
const i =
|
|
413
|
+
const i = r.querySelector(".ng-part-body tbody.bindable-tbody");
|
|
414
414
|
if (!i) return;
|
|
415
415
|
i.querySelectorAll("tr:not(.nodata)").forEach((a) => a.remove());
|
|
416
|
-
const
|
|
417
|
-
for (let a = 0; a < t(this,
|
|
416
|
+
const n = i.querySelector("tr.nodata"), o = document.createDocumentFragment();
|
|
417
|
+
for (let a = 0; a < t(this, vt); a++)
|
|
418
418
|
s.forEach((c) => {
|
|
419
419
|
o.appendChild(c.cloneNode(!0));
|
|
420
420
|
});
|
|
421
|
-
|
|
421
|
+
n ? n.before(o) : i.appendChild(o), e === ".ng-container-body" && (t(this, Q).firstTr = i.querySelector("tr:not(.nodata)"));
|
|
422
422
|
}, "#renderRows"));
|
|
423
|
-
d(this, Bt, /* @__PURE__ */ h((
|
|
423
|
+
d(this, Bt, /* @__PURE__ */ h((r) => {
|
|
424
424
|
if (W.log("rowManager.#measureAndCacheHeight"), t(this, I) !== null && t(this, I) > 0)
|
|
425
425
|
return t(this, I);
|
|
426
426
|
W.log("#measureAndCacheHeight");
|
|
427
|
-
const e = t(this,
|
|
427
|
+
const e = t(this, P).get(".ng-container-body");
|
|
428
428
|
if (!e || e.length === 0) return 24;
|
|
429
|
-
const s =
|
|
429
|
+
const s = r.querySelector("tbody.bindable-tbody");
|
|
430
430
|
if (!s) return 24;
|
|
431
431
|
s.querySelectorAll("tr:not(.nodata)").forEach((g) => g.remove());
|
|
432
|
-
const i = s.querySelector("tr.nodata"),
|
|
432
|
+
const i = s.querySelector("tr.nodata"), n = document.createDocumentFragment();
|
|
433
433
|
e.forEach((g) => {
|
|
434
|
-
|
|
435
|
-
}), i ? i.before(
|
|
434
|
+
n.appendChild(g.cloneNode(!0));
|
|
435
|
+
}), i ? i.before(n) : s.appendChild(n);
|
|
436
436
|
const o = t(this, S), a = o.style.display, c = o.style.visibility, l = o.style.position;
|
|
437
437
|
(a === "none" || window.getComputedStyle(o).display === "none") && (o.style.display = "block", o.style.visibility = "hidden", o.style.position = "absolute");
|
|
438
438
|
let f = 0;
|
|
439
439
|
const u = s.querySelectorAll("tr:not(.nodata)");
|
|
440
440
|
return u.forEach((g) => {
|
|
441
441
|
f += g.offsetHeight || g.getBoundingClientRect().height;
|
|
442
|
-
}), u.forEach((g) => g.remove()), o.style.display = a, o.style.visibility = c, o.style.position = l,
|
|
442
|
+
}), u.forEach((g) => g.remove()), o.style.display = a, o.style.visibility = c, o.style.position = l, y(this, I, f > 0 ? f : 24), t(this, St).call(this), t(this, I);
|
|
443
443
|
}, "#measureAndCacheHeight"));
|
|
444
|
-
d(this,
|
|
444
|
+
d(this, wt, /* @__PURE__ */ h(() => {
|
|
445
445
|
W.log("rowManager.#updateVirtualScrollHeight");
|
|
446
|
-
const e = (t(this,
|
|
447
|
-
[".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((
|
|
448
|
-
const o = t(this, S).querySelector(
|
|
446
|
+
const e = (t(this, D).data.get() || []).length, s = t(this, I), i = e * s;
|
|
447
|
+
[".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((n) => {
|
|
448
|
+
const o = t(this, S).querySelector(n);
|
|
449
449
|
if (!o) return;
|
|
450
450
|
const a = o.querySelector(".ng-part-body .ng-virtual-spacer");
|
|
451
451
|
a && (a.style.height = `${i}px`);
|
|
452
452
|
});
|
|
453
453
|
}, "#updateVirtualScrollHeight"));
|
|
454
|
-
d(this,
|
|
454
|
+
d(this, St, /* @__PURE__ */ h(() => {
|
|
455
455
|
if (t(this, tt) > 0 && t(this, I) > 0) {
|
|
456
|
-
const
|
|
457
|
-
|
|
456
|
+
const r = Math.ceil(t(this, tt) / t(this, I));
|
|
457
|
+
y(this, vt, r + t(this, Wt));
|
|
458
458
|
}
|
|
459
459
|
}, "#updateRowCount"));
|
|
460
460
|
d(this, zt, /* @__PURE__ */ h(() => {
|
|
461
461
|
var a, c, l, f, u, g;
|
|
462
|
-
const
|
|
462
|
+
const r = t(this, S).querySelector(".ng-container-left .ng-part-body table"), e = t(this, S).querySelector(".ng-container-body .ng-part-body table"), s = t(this, S).querySelector(".ng-container-right .ng-part-body table");
|
|
463
463
|
if (e) {
|
|
464
|
-
const b =
|
|
464
|
+
const b = r ? Array.from(r.querySelectorAll("tbody tr")) : [], m = Array.from(e.querySelectorAll("tbody tr")), v = s ? Array.from(s.querySelectorAll("tbody tr")) : [], E = Math.max(b.length, m.length, v.length);
|
|
465
465
|
for (let x = 0; x < E; x++) {
|
|
466
466
|
const M = [
|
|
467
467
|
((a = b[x]) == null ? void 0 : a.getBoundingClientRect().height) || 0,
|
|
@@ -471,9 +471,9 @@ const Ie = class Ie {
|
|
|
471
471
|
T > 0 && (b[x] && (b[x].style.height = `${T}px`), m[x] && (m[x].style.height = `${T}px`), v[x] && (v[x].style.height = `${T}px`));
|
|
472
472
|
}
|
|
473
473
|
}
|
|
474
|
-
const i = t(this, S).querySelector(".ng-container-left .ng-part-footer table"),
|
|
475
|
-
if (
|
|
476
|
-
const b = i ? Array.from(i.querySelectorAll("tfoot tr")) : [], m = Array.from(
|
|
474
|
+
const i = t(this, S).querySelector(".ng-container-left .ng-part-footer table"), n = t(this, S).querySelector(".ng-container-body .ng-part-footer table"), o = t(this, S).querySelector(".ng-container-right .ng-part-footer table");
|
|
475
|
+
if (n) {
|
|
476
|
+
const b = i ? Array.from(i.querySelectorAll("tfoot tr")) : [], m = Array.from(n.querySelectorAll("tfoot tr")), v = o ? Array.from(o.querySelectorAll("tfoot tr")) : [], E = Math.max(b.length, m.length, v.length);
|
|
477
477
|
for (let x = 0; x < E; x++) {
|
|
478
478
|
const M = [
|
|
479
479
|
((f = b[x]) == null ? void 0 : f.getBoundingClientRect().height) || 0,
|
|
@@ -484,54 +484,54 @@ const Ie = class Ie {
|
|
|
484
484
|
}
|
|
485
485
|
}
|
|
486
486
|
}, "#syncRowHeights"));
|
|
487
|
-
d(this,
|
|
488
|
-
!t(this, S) || !(t(this, S) instanceof HTMLElement) || (
|
|
489
|
-
for (const e of
|
|
487
|
+
d(this, Pt, /* @__PURE__ */ h(() => {
|
|
488
|
+
!t(this, S) || !(t(this, S) instanceof HTMLElement) || (y(this, V, new ResizeObserver((r) => {
|
|
489
|
+
for (const e of r) {
|
|
490
490
|
const s = e.target;
|
|
491
491
|
if (!s.classList.contains("active")) continue;
|
|
492
492
|
const i = e.contentRect.height;
|
|
493
493
|
if (i > 0) {
|
|
494
|
-
let
|
|
494
|
+
let n = 0;
|
|
495
495
|
const o = s.querySelector(".ng-part-header"), a = s.querySelector(".ng-part-footer");
|
|
496
|
-
o && (
|
|
497
|
-
const c = Math.max(i -
|
|
498
|
-
t(this, tt) !== c && (
|
|
496
|
+
o && (n += o.offsetHeight), a && (n += a.offsetHeight);
|
|
497
|
+
const c = Math.max(i - n, 100);
|
|
498
|
+
t(this, tt) !== c && (y(this, tt, c), t(this, St).call(this), t(this, I) !== null && (t(this, Et).call(this), this.refresh()));
|
|
499
499
|
}
|
|
500
500
|
}
|
|
501
501
|
})), t(this, V).observe(t(this, S)));
|
|
502
502
|
}, "#initResizeObserver"));
|
|
503
|
-
d(this,
|
|
504
|
-
W.log("rowManager.#renderAllContainers"), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((
|
|
505
|
-
const e = t(this, S).querySelector(
|
|
506
|
-
e && e.querySelector(".ng-part-body tbody.bindable-tbody") && t(this, Ot).call(this, e,
|
|
507
|
-
}), t(this,
|
|
503
|
+
d(this, Et, /* @__PURE__ */ h(() => {
|
|
504
|
+
W.log("rowManager.#renderAllContainers"), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((r) => {
|
|
505
|
+
const e = t(this, S).querySelector(r);
|
|
506
|
+
e && e.querySelector(".ng-part-body tbody.bindable-tbody") && t(this, Ot).call(this, e, r);
|
|
507
|
+
}), t(this, Dt).call(this), t(this, zt).call(this);
|
|
508
508
|
}, "#renderAllContainers"));
|
|
509
|
-
d(this, Ae, /* @__PURE__ */ h((
|
|
509
|
+
d(this, Ae, /* @__PURE__ */ h((r) => {
|
|
510
510
|
[".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((e) => {
|
|
511
511
|
var l;
|
|
512
512
|
const s = t(this, S).querySelector(e);
|
|
513
513
|
if (!s) return;
|
|
514
514
|
const i = s.querySelector(".ng-part-body tbody.bindable-tbody");
|
|
515
515
|
if (!i) return;
|
|
516
|
-
const
|
|
517
|
-
|
|
518
|
-
const g =
|
|
516
|
+
const n = Array.from(i.querySelectorAll("tr:not(.nodata)")), o = ((l = t(this, P).get(e)) == null ? void 0 : l.length) || 1, c = (t(this, D).data.get() || []).length;
|
|
517
|
+
n.forEach((f, u) => {
|
|
518
|
+
const g = r + Math.floor(u / o);
|
|
519
519
|
if (g >= c) {
|
|
520
520
|
f.style.display = "none";
|
|
521
521
|
return;
|
|
522
522
|
}
|
|
523
|
-
const b = t(this,
|
|
524
|
-
f.style.display = "", t(this,
|
|
523
|
+
const b = t(this, D).data.get(g);
|
|
524
|
+
f.style.display = "", t(this, At).call(this, f, b, g);
|
|
525
525
|
});
|
|
526
526
|
});
|
|
527
527
|
}, "#adjustBufferRows"));
|
|
528
|
-
d(this,
|
|
528
|
+
d(this, at, /* @__PURE__ */ h((r) => {
|
|
529
529
|
var f, u;
|
|
530
530
|
const e = t(this, I);
|
|
531
531
|
if (!e || e <= 0) return;
|
|
532
|
-
const s = t(this,
|
|
532
|
+
const s = t(this, D).data.length;
|
|
533
533
|
if (s === 0) return;
|
|
534
|
-
const i = ((f = t(this,
|
|
534
|
+
const i = ((f = t(this, P).get(".ng-container-body")) == null ? void 0 : f.length) || 1, n = Math.max(0, s - 1), o = Math.min(n, Math.max(0, Math.floor(r / e))), a = Math.floor(o * e), c = t(this, Q).firstTr, l = c && c.dataset.row !== void 0 ? parseInt(c.dataset.row, 10) : -1;
|
|
535
535
|
(u = t(this, Q)) == null || u.scrollTables.forEach((g) => {
|
|
536
536
|
g.style.transform = `translate3d(0, ${a}px, 0)`;
|
|
537
537
|
}), l !== o && [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((g) => {
|
|
@@ -545,8 +545,8 @@ const Ie = class Ie {
|
|
|
545
545
|
E.style.display = "none";
|
|
546
546
|
return;
|
|
547
547
|
}
|
|
548
|
-
const T = t(this,
|
|
549
|
-
E.style.display = "", t(this,
|
|
548
|
+
const T = t(this, D).data.get(M);
|
|
549
|
+
E.style.display = "", t(this, At).call(this, E, T, M);
|
|
550
550
|
});
|
|
551
551
|
});
|
|
552
552
|
}, "#handleScroll"));
|
|
@@ -564,55 +564,55 @@ const Ie = class Ie {
|
|
|
564
564
|
cell.dataset.row = dataIndex;
|
|
565
565
|
});
|
|
566
566
|
}; */
|
|
567
|
-
d(this,
|
|
568
|
-
|
|
567
|
+
d(this, At, /* @__PURE__ */ h((r, e, s) => {
|
|
568
|
+
r.dataset.row = s, r.data = e, Array.from(r.cells).forEach((i, n) => {
|
|
569
569
|
i.dataset.row = s;
|
|
570
570
|
const o = Array.from(i.children).find((a) => a.tagName.toLowerCase().startsWith("cell-") || typeof a.refresh == "function");
|
|
571
571
|
o && typeof o.refresh == "function" && o.refresh();
|
|
572
572
|
});
|
|
573
573
|
}, "#bindRowData"));
|
|
574
|
-
d(this,
|
|
574
|
+
d(this, Dt, /* @__PURE__ */ h(() => {
|
|
575
575
|
var c, l, f;
|
|
576
576
|
W.log("rowManager.#syncHeaderHeights");
|
|
577
|
-
const
|
|
577
|
+
const r = t(this, S).querySelector(".ng-container-left .ng-part-header table"), e = t(this, S).querySelector(".ng-container-body .ng-part-header table"), s = t(this, S).querySelector(".ng-container-right .ng-part-header table");
|
|
578
578
|
if (!e) return;
|
|
579
|
-
const i =
|
|
579
|
+
const i = r ? Array.from(r.querySelectorAll("tr")) : [], n = Array.from(e.querySelectorAll("tr")), o = s ? Array.from(s.querySelectorAll("tr")) : [], a = Math.max(i.length, n.length, o.length);
|
|
580
580
|
for (let u = 0; u < a; u++) {
|
|
581
581
|
const g = [
|
|
582
582
|
((c = i[u]) == null ? void 0 : c.getBoundingClientRect().height) || 0,
|
|
583
|
-
((l =
|
|
583
|
+
((l = n[u]) == null ? void 0 : l.getBoundingClientRect().height) || 0,
|
|
584
584
|
((f = o[u]) == null ? void 0 : f.getBoundingClientRect().height) || 0
|
|
585
585
|
], b = Math.max(...g);
|
|
586
|
-
b > 0 && (i[u] && (i[u].style.height = `${b}px`),
|
|
586
|
+
b > 0 && (i[u] && (i[u].style.height = `${b}px`), n[u] && (n[u].style.height = `${b}px`), o[u] && (o[u].style.height = `${b}px`));
|
|
587
587
|
}
|
|
588
588
|
}, "#syncHeaderHeights"));
|
|
589
589
|
A(this, "destroy", /* @__PURE__ */ h(() => {
|
|
590
|
-
t(this, V) && (t(this, V).disconnect(),
|
|
590
|
+
t(this, V) && (t(this, V).disconnect(), y(this, V, null));
|
|
591
591
|
}, "destroy"));
|
|
592
|
-
|
|
592
|
+
y(this, D, r.getRootNode().host), y(this, S, r), t(this, Pt).call(this);
|
|
593
593
|
}
|
|
594
594
|
getRowHeight() {
|
|
595
595
|
return t(this, I);
|
|
596
596
|
}
|
|
597
|
-
templateLength(
|
|
597
|
+
templateLength(r = ".ng-container-body") {
|
|
598
598
|
var e;
|
|
599
|
-
return ((e = t(this,
|
|
599
|
+
return ((e = t(this, P).get(r)) == null ? void 0 : e.length) || 1;
|
|
600
600
|
}
|
|
601
601
|
};
|
|
602
|
-
|
|
602
|
+
D = new WeakMap(), S = new WeakMap(), Q = new WeakMap(), P = new WeakMap(), I = new WeakMap(), V = new WeakMap(), tt = new WeakMap(), vt = new WeakMap(), Se = new WeakMap(), Ee = new WeakMap(), Wt = new WeakMap(), Ot = new WeakMap(), Bt = new WeakMap(), wt = new WeakMap(), St = new WeakMap(), zt = new WeakMap(), Pt = new WeakMap(), Et = new WeakMap(), Ae = new WeakMap(), at = new WeakMap(), At = new WeakMap(), Dt = new WeakMap(), h(Ie, "RowManager");
|
|
603
603
|
let ce = Ie;
|
|
604
604
|
const jt = class jt {
|
|
605
605
|
/**
|
|
606
606
|
* 🎯 레이아웃 내의 여러 rawTables 배열을 일괄로 받아 단일 마스터 템플릿으로 사전 컴파일합니다.
|
|
607
607
|
*/
|
|
608
|
-
static compileAll(
|
|
609
|
-
return Array.isArray(
|
|
608
|
+
static compileAll(r) {
|
|
609
|
+
return Array.isArray(r) ? r.map((e) => jt.compile(e)) : [];
|
|
610
610
|
}
|
|
611
611
|
/**
|
|
612
612
|
* 🎯 단일 원본 테이블을 받아 기본 구조 보정 및 2차원 격자 인덱스 사전 부여 완료된 마스터 테이블 반환
|
|
613
613
|
*/
|
|
614
|
-
static compile(
|
|
615
|
-
if (!
|
|
614
|
+
static compile(r) {
|
|
615
|
+
if (!r) return null;
|
|
616
616
|
const e = /* @__PURE__ */ h((a) => {
|
|
617
617
|
a.querySelectorAll("tbody td, tbody th, tfoot td, tfoot th").forEach((l) => {
|
|
618
618
|
const f = l.getAttribute("cell-type") || "renderer";
|
|
@@ -655,8 +655,8 @@ const jt = class jt {
|
|
|
655
655
|
}
|
|
656
656
|
const M = x.rowSpan || 1, T = x.colSpan || 1;
|
|
657
657
|
for (let B = 0; B < M; B++)
|
|
658
|
-
for (let
|
|
659
|
-
v + B < u && E +
|
|
658
|
+
for (let bt = 0; bt < T; bt++)
|
|
659
|
+
v + B < u && E + bt < g && (b[v + B][E + bt] = B === 0 && bt === 0 ? "1" : "0");
|
|
660
660
|
});
|
|
661
661
|
}), l.forEach((m) => {
|
|
662
662
|
const v = m.sectionRowIndex;
|
|
@@ -668,27 +668,27 @@ const jt = class jt {
|
|
|
668
668
|
}
|
|
669
669
|
});
|
|
670
670
|
});
|
|
671
|
-
}, "resetColIndex"),
|
|
672
|
-
return s(
|
|
671
|
+
}, "resetColIndex"), n = r.cloneNode(!0);
|
|
672
|
+
return s(n), e(n), i(n, "thead"), i(n, "tbody"), i(n, "tfoot"), Array.from(n.querySelectorAll("colgroup col")).forEach((a, c) => {
|
|
673
673
|
const l = a.getAttribute("fixed");
|
|
674
|
-
l &&
|
|
674
|
+
l && n.querySelectorAll(`thead [data-col="${c}"], tbody [data-col="${c}"], tfoot [data-col="${c}"]`).forEach((f) => {
|
|
675
675
|
f.setAttribute("fixed", l);
|
|
676
676
|
});
|
|
677
|
-
}),
|
|
677
|
+
}), n;
|
|
678
678
|
}
|
|
679
679
|
// 🎯 [추가] td/th에 선언된 cell-type 속성을 읽어 커스텀 태그로 자동 감싸기
|
|
680
680
|
};
|
|
681
681
|
h(jt, "TableCompiler");
|
|
682
682
|
let he = jt;
|
|
683
|
-
var Ft,
|
|
683
|
+
var Ft, lt, et, Vt, Yt, Rt, Ut, Xt;
|
|
684
684
|
const yt = class yt extends HTMLElement {
|
|
685
685
|
constructor() {
|
|
686
686
|
super();
|
|
687
687
|
d(this, Ft);
|
|
688
|
-
d(this,
|
|
689
|
-
d(this,
|
|
688
|
+
d(this, lt, null);
|
|
689
|
+
d(this, et);
|
|
690
690
|
A(this, "invalidate", /* @__PURE__ */ h(() => {
|
|
691
|
-
t(this,
|
|
691
|
+
t(this, et).refresh();
|
|
692
692
|
}, "invalidate"));
|
|
693
693
|
d(this, Vt, /* @__PURE__ */ h(() => {
|
|
694
694
|
[
|
|
@@ -696,55 +696,53 @@ const yt = class yt extends HTMLElement {
|
|
|
696
696
|
{ selector: ".ng-container-left", type: "left" },
|
|
697
697
|
{ selector: ".ng-container-right", type: "right" }
|
|
698
698
|
].forEach(({ selector: s, type: i }) => {
|
|
699
|
-
const
|
|
700
|
-
if (!
|
|
701
|
-
|
|
702
|
-
const o = document.createElement("div");
|
|
703
|
-
o.className = "ng-part-header", o.appendChild(t(this, ct).call(this, t(this, et), i, "header"));
|
|
704
|
-
const a = document.createElement("div");
|
|
699
|
+
const n = this.querySelector(s);
|
|
700
|
+
if (!n) return;
|
|
701
|
+
n.innerHTML = "";
|
|
702
|
+
const o = this.querySelector(`${s} .ng-part-header`), a = document.createElement("div");
|
|
705
703
|
a.className = "ng-part-body";
|
|
706
704
|
const c = document.createElement("div");
|
|
707
|
-
c.className = "ng-scroll-content", c.style.position = "relative", c.style.width = "100%", c.appendChild(t(this,
|
|
705
|
+
c.className = "ng-scroll-content", c.style.position = "relative", c.style.width = "100%", c.appendChild(t(this, Rt).call(this, t(this, lt), i, "body"));
|
|
708
706
|
const l = document.createElement("div");
|
|
709
707
|
l.className = "ng-virtual-spacer", l.style.width = "100%", l.style.pointerEvents = "none", c.appendChild(l), a.appendChild(c);
|
|
710
708
|
const f = document.createElement("div");
|
|
711
|
-
f.className = "ng-part-footer", f.appendChild(t(this,
|
|
709
|
+
f.className = "ng-part-footer", f.appendChild(t(this, Rt).call(this, t(this, lt), i, "footer")), n.appendChild(o), n.appendChild(a), n.appendChild(f);
|
|
712
710
|
});
|
|
713
711
|
}, "#renderSplitContainers"));
|
|
714
712
|
d(this, Yt, /* @__PURE__ */ h(() => {
|
|
715
713
|
["left", "right", "body"].forEach((e) => {
|
|
716
714
|
const s = this.querySelector(`.ng-container-${e}`), i = s == null ? void 0 : s.querySelectorAll("table");
|
|
717
715
|
if (!s || !i || i.length === 0) return;
|
|
718
|
-
let
|
|
716
|
+
let n = 0;
|
|
719
717
|
i[0].querySelectorAll("col").forEach((o) => {
|
|
720
718
|
const a = parseInt(o.getAttribute("width"), 10);
|
|
721
|
-
isNaN(
|
|
722
|
-
}), e === "body" ? s.style.flex = "1" : (s.style.flex = `0 0 ${
|
|
719
|
+
isNaN(n) || (n += a);
|
|
720
|
+
}), e === "body" ? s.style.flex = "1" : (s.style.flex = `0 0 ${n}px`, s.style.width = `${n}px`);
|
|
723
721
|
});
|
|
724
722
|
}, "#updateContainerWidths"));
|
|
725
723
|
A(this, "generate", /* @__PURE__ */ h((e) => {
|
|
726
|
-
e && (
|
|
724
|
+
e && (y(this, lt, he.compile(e)), t(this, Vt).call(this), t(this, Yt).call(this), t(this, et).initialize(), setTimeout(() => {
|
|
727
725
|
var s;
|
|
728
726
|
(s = this.querySelector("nine-table-hscrollbar")) == null || s.refresh();
|
|
729
727
|
}, 0));
|
|
730
728
|
}, "generate"));
|
|
731
|
-
d(this,
|
|
732
|
-
const
|
|
729
|
+
d(this, Rt, /* @__PURE__ */ h((e, s, i) => {
|
|
730
|
+
const n = e.cloneNode(!0), o = n.querySelector("thead"), a = n.querySelector("tbody"), c = n.querySelector("tfoot");
|
|
733
731
|
if (i === "header") {
|
|
734
732
|
if (a && a.remove(), c && c.remove(), e.querySelector("tbody")) {
|
|
735
733
|
const f = document.createElement("tbody");
|
|
736
|
-
f.className = "fixed-tbody",
|
|
734
|
+
f.className = "fixed-tbody", n.appendChild(f);
|
|
737
735
|
}
|
|
738
736
|
} else i === "body" ? (o && o.remove(), c && c.remove(), a && (a.className = "bindable-tbody")) : i === "footer" && (o && o.remove(), a && a.remove());
|
|
739
|
-
return s === "left" ?
|
|
737
|
+
return s === "left" ? n.querySelectorAll("col, th, td, tfoot td, tfoot th").forEach((l) => {
|
|
740
738
|
l.getAttribute("fixed") !== "left" && l.remove();
|
|
741
|
-
}) : s === "right" ?
|
|
739
|
+
}) : s === "right" ? n.querySelectorAll("col, th, td, tfoot td, tfoot th").forEach((l) => {
|
|
742
740
|
l.getAttribute("fixed") !== "right" && l.remove();
|
|
743
|
-
}) :
|
|
741
|
+
}) : n.querySelectorAll("[fixed=left], [fixed=right]").forEach((l) => {
|
|
744
742
|
l.remove();
|
|
745
|
-
}),
|
|
743
|
+
}), n;
|
|
746
744
|
}, "#createSplitTable"));
|
|
747
|
-
A(this, "getRowHeight", /* @__PURE__ */ h(() => t(this,
|
|
745
|
+
A(this, "getRowHeight", /* @__PURE__ */ h(() => t(this, et).getRowHeight(), "getRowHeight"));
|
|
748
746
|
A(this, "scrollToX", /* @__PURE__ */ h((e) => {
|
|
749
747
|
const s = this.querySelector(".ng-container-body .ng-part-body");
|
|
750
748
|
s && (s.scrollLeft = e);
|
|
@@ -896,18 +894,19 @@ const yt = class yt extends HTMLElement {
|
|
|
896
894
|
|
|
897
895
|
<div class='ng-container-top'>
|
|
898
896
|
<div class='ng-container-left'></div>
|
|
899
|
-
<div class='ng-container-body'
|
|
897
|
+
<div class='ng-container-body'>
|
|
898
|
+
|
|
899
|
+
</div>
|
|
900
900
|
<div class='ng-container-right'></div>
|
|
901
901
|
<nine-table-vscrollbar></nine-table-vscrollbar>
|
|
902
|
-
</div
|
|
903
|
-
<div class='ng-container-nodata'>Data Not Found</div>
|
|
902
|
+
</div
|
|
904
903
|
<div class='ng-container-bottom'>
|
|
905
904
|
<nine-table-hscrollbar></nine-table-hscrollbar>
|
|
906
905
|
<div class='ng-scroll-edge'></div>
|
|
907
906
|
</div>
|
|
908
907
|
`;
|
|
909
908
|
}, "#render"));
|
|
910
|
-
|
|
909
|
+
y(this, et, new ce(this)), y(this, Ft, this.getRootNode().host);
|
|
911
910
|
}
|
|
912
911
|
connectedCallback() {
|
|
913
912
|
t(this, Ut).call(this);
|
|
@@ -916,7 +915,7 @@ const yt = class yt extends HTMLElement {
|
|
|
916
915
|
this.innerHTML = "", W.log("NineTableSheet destroyed.");
|
|
917
916
|
}
|
|
918
917
|
};
|
|
919
|
-
Ft = new WeakMap(),
|
|
918
|
+
Ft = new WeakMap(), lt = new WeakMap(), et = new WeakMap(), Vt = new WeakMap(), Yt = new WeakMap(), Rt = new WeakMap(), Ut = new WeakMap(), Xt = new WeakMap(), h(yt, "NineTableSheet"), A(yt, "SCROLLBAR_SIZE", 16);
|
|
920
919
|
let $t = yt;
|
|
921
920
|
customElements.get("nine-table-sheet") || customElements.define("nine-table-sheet", $t);
|
|
922
921
|
var Kt, qt;
|
|
@@ -927,8 +926,8 @@ const _e = class _e extends HTMLElement {
|
|
|
927
926
|
var e;
|
|
928
927
|
(e = this.querySelector(".nine-tab-bar")) == null || e.addEventListener("click", (s) => {
|
|
929
928
|
var o;
|
|
930
|
-
const i = s.ctrlKey || s.metaKey || s.shiftKey,
|
|
931
|
-
t(this, qt).call(this,
|
|
929
|
+
const i = s.ctrlKey || s.metaKey || s.shiftKey, n = parseInt((o = s.target.closest(".nine-tab-item")) == null ? void 0 : o.dataset.index, 10);
|
|
930
|
+
t(this, qt).call(this, n, i);
|
|
932
931
|
}), t(this, qt).call(this, 0, !1);
|
|
933
932
|
}, "#init"));
|
|
934
933
|
d(this, qt, /* @__PURE__ */ h((e, s = !1) => {
|
|
@@ -940,7 +939,7 @@ const _e = class _e extends HTMLElement {
|
|
|
940
939
|
const m = parseInt(b.getAttribute("data-index"), 10), v = this.querySelector(`nine-splitter[data-split-index="${m}"]`), E = f[m + 1];
|
|
941
940
|
v && E && E.classList.contains("active") && v.style.setProperty("display", "flex");
|
|
942
941
|
});
|
|
943
|
-
}, "updateSplitters"),
|
|
942
|
+
}, "updateSplitters"), n = this.querySelector(".nine-tab-bar"), o = this.querySelector("nine-table-sheets-body"), a = n.querySelectorAll(".nine-tab-item"), c = o.querySelectorAll("nine-table-sheet");
|
|
944
943
|
if (!a[e]) return;
|
|
945
944
|
if (!s)
|
|
946
945
|
a.forEach((f, u) => {
|
|
@@ -950,7 +949,7 @@ const _e = class _e extends HTMLElement {
|
|
|
950
949
|
f.classList.toggle("active", g), f.style.flex = g ? "1 1 100%" : "";
|
|
951
950
|
});
|
|
952
951
|
else {
|
|
953
|
-
const f = a[e], u =
|
|
952
|
+
const f = a[e], u = n.querySelectorAll(".nine-tab-item.active");
|
|
954
953
|
if (f.classList.contains("active") && u.length <= 1)
|
|
955
954
|
return;
|
|
956
955
|
f.classList.toggle("active");
|
|
@@ -972,23 +971,23 @@ let de = _e;
|
|
|
972
971
|
customElements.get("nine-table-sheets") || customElements.define("nine-table-sheets", de);
|
|
973
972
|
var H, Zt, Tt, Gt;
|
|
974
973
|
const Ne = class Ne {
|
|
975
|
-
constructor(
|
|
974
|
+
constructor(r) {
|
|
976
975
|
d(this, H);
|
|
977
976
|
d(this, Zt, /* @__PURE__ */ h(() => {
|
|
978
|
-
t(this, Gt).call(this), new ResizeObserver((
|
|
979
|
-
for (let e of
|
|
977
|
+
t(this, Gt).call(this), new ResizeObserver((r) => {
|
|
978
|
+
for (let e of r)
|
|
980
979
|
t(this, H).getAttribute("auto-height") === "true" && t(this, Tt).call(this);
|
|
981
980
|
}).observe(t(this, H));
|
|
982
981
|
}, "#init"));
|
|
983
982
|
d(this, Tt, /* @__PURE__ */ h(() => {
|
|
984
983
|
var c, l;
|
|
985
|
-
const
|
|
986
|
-
if (
|
|
987
|
-
const e = parseInt(t(this, H).getAttribute("max-display-row"), 10) || 10, s = Math.max(...
|
|
984
|
+
const r = Array.from(t(this, H).shadowRoot.querySelectorAll("nine-table-sheet.active"));
|
|
985
|
+
if (r.length === 0) return;
|
|
986
|
+
const e = parseInt(t(this, H).getAttribute("max-display-row"), 10) || 10, s = Math.max(...r.map((f) => f.getRowHeight())), i = (c = t(this, H).shadowRoot.querySelector("nine-table-header")) == null ? void 0 : c.getBoundingClientRect().height, n = (l = t(this, H).shadowRoot.querySelector("nine-table-sheets-footer")) == null ? void 0 : l.getBoundingClientRect().height, o = $t.SCROLLBAR_SIZE, a = e * s + i + n + o;
|
|
988
987
|
t(this, H).style.height = `${a}px`;
|
|
989
988
|
}, "#applyAutoHeight"));
|
|
990
989
|
d(this, Gt, /* @__PURE__ */ h(() => {
|
|
991
|
-
const e = Array.from(t(this, H).children).filter((c) => c.tagName === "TABLE"), s = t(this, H).getAttribute("auto-height") === "true", i = e.length,
|
|
990
|
+
const e = Array.from(t(this, H).children).filter((c) => c.tagName === "TABLE"), s = t(this, H).getAttribute("auto-height") === "true", i = e.length, n = e.map((c, l) => {
|
|
992
991
|
const u = `<nine-table-sheet class="${l === 0 ? "active" : ""}" data-index="${l}"></nine-table-sheet>`, g = l < i - 1 ? `<nine-splitter class="h" data-split-index="${l}"></nine-splitter>` : "";
|
|
993
992
|
return u + g;
|
|
994
993
|
}).join(""), o = e.map((c, l) => `<div class="nine-tab-item ${l === 0 ? "active" : ""}" data-index="${l}">Sheet ${l + 1}</div>`).join("");
|
|
@@ -1075,19 +1074,22 @@ const Ne = class Ne {
|
|
|
1075
1074
|
}
|
|
1076
1075
|
}
|
|
1077
1076
|
|
|
1078
|
-
nine-table-sheets.nodata
|
|
1079
|
-
|
|
1077
|
+
nine-table-sheets.nodata {
|
|
1078
|
+
.ng-container-nodata {
|
|
1079
|
+
display: block;
|
|
1080
|
+
}
|
|
1080
1081
|
.ng-part-body {
|
|
1081
1082
|
display: none;
|
|
1082
1083
|
}
|
|
1083
1084
|
}
|
|
1085
|
+
|
|
1084
1086
|
</style>
|
|
1085
1087
|
|
|
1086
1088
|
<nine-table-header></nine-table-header>
|
|
1087
1089
|
<nine-table-body>
|
|
1088
1090
|
<nine-table-summary></nine-table-summary>
|
|
1089
1091
|
<nine-table-sheets>
|
|
1090
|
-
<nine-table-sheets-body>${
|
|
1092
|
+
<nine-table-sheets-body>${n}</nine-table-sheets-body>
|
|
1091
1093
|
<nine-table-sheets-footer>
|
|
1092
1094
|
<div class="nine-tab-bar">${o}</div>
|
|
1093
1095
|
<div class="sheets-counter">Total : <span id="row-count">0</span></div>
|
|
@@ -1104,69 +1106,69 @@ const Ne = class Ne {
|
|
|
1104
1106
|
});
|
|
1105
1107
|
});
|
|
1106
1108
|
}, "#render"));
|
|
1107
|
-
|
|
1109
|
+
y(this, H, r), t(this, Zt).call(this);
|
|
1108
1110
|
}
|
|
1109
1111
|
};
|
|
1110
1112
|
H = new WeakMap(), Zt = new WeakMap(), Tt = new WeakMap(), Gt = new WeakMap(), h(Ne, "LayoutManager");
|
|
1111
1113
|
let fe = Ne;
|
|
1112
|
-
var kt,
|
|
1114
|
+
var kt, ct;
|
|
1113
1115
|
const We = class We {
|
|
1114
|
-
constructor(
|
|
1116
|
+
constructor(r) {
|
|
1115
1117
|
d(this, kt);
|
|
1116
|
-
d(this,
|
|
1118
|
+
d(this, ct, -1);
|
|
1117
1119
|
A(this, "count", /* @__PURE__ */ h(() => t(this, kt).rawRecords.length, "count"));
|
|
1118
|
-
|
|
1120
|
+
y(this, kt, r);
|
|
1119
1121
|
}
|
|
1120
1122
|
get at() {
|
|
1121
|
-
return t(this,
|
|
1123
|
+
return t(this, ct);
|
|
1122
1124
|
}
|
|
1123
|
-
set at(
|
|
1124
|
-
|
|
1125
|
+
set at(r) {
|
|
1126
|
+
y(this, ct, parseInt(r, 10)), body && !body.querySelector(`tbody.bindable tr[data-row="${t(this, ct)}"]`) && setTimeout(() => {
|
|
1125
1127
|
});
|
|
1126
1128
|
}
|
|
1127
1129
|
};
|
|
1128
|
-
kt = new WeakMap(),
|
|
1130
|
+
kt = new WeakMap(), ct = new WeakMap(), h(We, "ngRow");
|
|
1129
1131
|
let ue = We;
|
|
1130
|
-
var _, k, N,
|
|
1132
|
+
var _, k, N, ht, Jt, Y, Qt, st, Ct, te, ee, dt;
|
|
1131
1133
|
const O = class O {
|
|
1132
|
-
constructor(
|
|
1134
|
+
constructor(r, e) {
|
|
1133
1135
|
d(this, _);
|
|
1134
1136
|
d(this, k);
|
|
1135
1137
|
d(this, N, []);
|
|
1136
|
-
d(this,
|
|
1138
|
+
d(this, ht, []);
|
|
1137
1139
|
d(this, Jt, 0);
|
|
1138
1140
|
d(this, Y, []);
|
|
1139
1141
|
d(this, Qt, /* @__PURE__ */ h(() => {
|
|
1140
|
-
|
|
1141
|
-
const
|
|
1142
|
-
Array.from(
|
|
1142
|
+
y(this, Y, []);
|
|
1143
|
+
const r = t(this, _).template || [];
|
|
1144
|
+
Array.from(r).forEach((e) => {
|
|
1143
1145
|
var s;
|
|
1144
1146
|
t(this, Y).push(((s = e.getBoundingClientRect) == null ? void 0 : s.call(e).height) || 24);
|
|
1145
1147
|
}), (t(this, k).rawRecords || []).forEach((e) => {
|
|
1146
1148
|
e.__ng || (e.__ng = t(this, Ct).call(this)), e.__ng.height = t(this, Y).slice();
|
|
1147
1149
|
});
|
|
1148
1150
|
}, "#initialize"));
|
|
1149
|
-
d(this,
|
|
1150
|
-
const
|
|
1151
|
-
|
|
1151
|
+
d(this, st, /* @__PURE__ */ h(() => {
|
|
1152
|
+
const r = t(this, _).shadowRoot.querySelector("nine-table-sheets");
|
|
1153
|
+
r == null || r.classList.toggle("nodata", this.length === 0), t(this, _).shadowRoot.querySelectorAll("nine-table-sheet").forEach((e) => {
|
|
1152
1154
|
e.invalidate();
|
|
1153
1155
|
});
|
|
1154
1156
|
}, "#invalidate"));
|
|
1155
|
-
A(this, "get", /* @__PURE__ */ h((
|
|
1156
|
-
var
|
|
1157
|
+
A(this, "get", /* @__PURE__ */ h((r, e) => {
|
|
1158
|
+
var n;
|
|
1157
1159
|
const s = this.getValidData();
|
|
1158
1160
|
if (!s || s.length <= 0) return;
|
|
1159
|
-
if (
|
|
1160
|
-
if (
|
|
1161
|
-
const i = typeof ((
|
|
1161
|
+
if (r == null) return t(this, dt).call(this, s);
|
|
1162
|
+
if (r < 0 || r >= s.length) return null;
|
|
1163
|
+
const i = typeof ((n = t(this, _).fields) == null ? void 0 : n.get) == "function" ? t(this, _).fields.get() : [];
|
|
1162
1164
|
if (e != null) {
|
|
1163
1165
|
const o = i.indexOf(e);
|
|
1164
|
-
return o >= 0 ? s[
|
|
1166
|
+
return o >= 0 ? s[r].v[o] : null;
|
|
1165
1167
|
}
|
|
1166
|
-
return t(this,
|
|
1168
|
+
return t(this, dt).call(this, s[r]);
|
|
1167
1169
|
}, "get"));
|
|
1168
|
-
A(this, "set", /* @__PURE__ */ h((
|
|
1169
|
-
this.clear(), this.add(
|
|
1170
|
+
A(this, "set", /* @__PURE__ */ h((r) => {
|
|
1171
|
+
this.clear(), this.add(r, !1), t(this, st).call(this);
|
|
1170
1172
|
}, "set"));
|
|
1171
1173
|
d(this, Ct, /* @__PURE__ */ h(() => ({
|
|
1172
1174
|
rowState: O.ROW_STATE.EMPTY,
|
|
@@ -1178,84 +1180,84 @@ const O = class O {
|
|
|
1178
1180
|
_: [0, 0, 0, 0, O.ROW_STATE.EMPTY, !1, !1, !0, !1, !0, !0, !1, t(this, Y).slice(), -1, {}, {}]
|
|
1179
1181
|
}), "#getDefaultMeta"));
|
|
1180
1182
|
A(this, "reset", /* @__PURE__ */ h(() => {
|
|
1181
|
-
|
|
1183
|
+
y(this, N, []), y(this, ht, []), t(this, st).call(this);
|
|
1182
1184
|
}, "reset"));
|
|
1183
1185
|
A(this, "clear", /* @__PURE__ */ h(() => {
|
|
1184
|
-
var
|
|
1185
|
-
t(this, k).rawRecords = [],
|
|
1186
|
+
var r;
|
|
1187
|
+
t(this, k).rawRecords = [], y(this, N, []), y(this, ht, []), (r = t(this, k).viewRecords) != null && r.reset && t(this, k).viewRecords.reset();
|
|
1186
1188
|
}, "clear"));
|
|
1187
|
-
d(this, te, /* @__PURE__ */ h((
|
|
1189
|
+
d(this, te, /* @__PURE__ */ h((r) => {
|
|
1188
1190
|
var i;
|
|
1189
|
-
Array.isArray(
|
|
1190
|
-
const e = typeof ((i = t(this, _).fields) == null ? void 0 : i.get) == "function" ? t(this, _).fields.get() : Object.keys(
|
|
1191
|
-
return
|
|
1191
|
+
Array.isArray(r) || (r = [r]);
|
|
1192
|
+
const e = typeof ((i = t(this, _).fields) == null ? void 0 : i.get) == "function" ? t(this, _).fields.get() : Object.keys(r[0] || {}), s = [];
|
|
1193
|
+
return r.forEach((n) => {
|
|
1192
1194
|
const o = { v: [] };
|
|
1193
1195
|
e.forEach((a) => {
|
|
1194
|
-
o.v.push(
|
|
1196
|
+
o.v.push(n[a] !== void 0 && n[a] !== null ? n[a] : "");
|
|
1195
1197
|
}), s.push(o);
|
|
1196
1198
|
}), s;
|
|
1197
1199
|
}, "#json2Array"));
|
|
1198
|
-
d(this, ee, /* @__PURE__ */ h((
|
|
1200
|
+
d(this, ee, /* @__PURE__ */ h((r) => (Array.isArray(r) || (r = [r]), r.forEach((e) => {
|
|
1199
1201
|
e.__ng = t(this, Ct).call(this), e.__ng.rowid = this.nextId, e.__ng.rowState = O.ROW_STATE.INSERT, e.__ng._[0] = e.__ng.rowid;
|
|
1200
|
-
}),
|
|
1201
|
-
A(this, "add", /* @__PURE__ */ h((
|
|
1202
|
-
|
|
1203
|
-
const s = t(this, te).call(this,
|
|
1202
|
+
}), r), "#defaultInsert"));
|
|
1203
|
+
A(this, "add", /* @__PURE__ */ h((r, e = !0) => {
|
|
1204
|
+
r === void 0 && (r = {});
|
|
1205
|
+
const s = t(this, te).call(this, r);
|
|
1204
1206
|
t(this, k).rawRecords = t(this, k).rawRecords.concat(t(this, ee).call(this, s)), this.resetRecords();
|
|
1205
1207
|
const i = this.count() - 1;
|
|
1206
|
-
return e || s.forEach((
|
|
1208
|
+
return e || s.forEach((n, o) => {
|
|
1207
1209
|
const a = t(this, k).rawRecords[i - o];
|
|
1208
1210
|
a && (a.__ng.rowState = O.ROW_STATE.EMPTY);
|
|
1209
|
-
}), t(this,
|
|
1211
|
+
}), t(this, st).call(this), i;
|
|
1210
1212
|
}, "add"));
|
|
1211
|
-
A(this, "delete", /* @__PURE__ */ h((
|
|
1213
|
+
A(this, "delete", /* @__PURE__ */ h((r) => {
|
|
1212
1214
|
let e = [];
|
|
1213
|
-
Array.isArray(
|
|
1215
|
+
Array.isArray(r) ? e = r : typeof r > "u" ? e = [t(this, k).host.row.at] : e = [parseInt(r, 10)], e.sort((s, i) => i - s).forEach((s) => {
|
|
1214
1216
|
if (t(this, N)[s]) {
|
|
1215
1217
|
const i = t(this, N)[s].__ng.rowid;
|
|
1216
|
-
t(this, N)[s].__ng.rowState === O.ROW_STATE.INSERT ? t(this, k).rawRecords = t(this, k).rawRecords.filter((
|
|
1217
|
-
|
|
1218
|
+
t(this, N)[s].__ng.rowState === O.ROW_STATE.INSERT ? t(this, k).rawRecords = t(this, k).rawRecords.filter((n) => n.__ng.rowid !== i) : t(this, k).rawRecords.forEach((n) => {
|
|
1219
|
+
n.__ng.rowid === i && (n.__ng.deleted = !0, n.__ng.rowState = O.ROW_STATE.DELETE);
|
|
1218
1220
|
});
|
|
1219
1221
|
}
|
|
1220
|
-
}), this.resetRecords(), t(this,
|
|
1222
|
+
}), this.resetRecords(), t(this, st).call(this);
|
|
1221
1223
|
}, "delete"));
|
|
1222
|
-
A(this, "setValue", /* @__PURE__ */ h((
|
|
1224
|
+
A(this, "setValue", /* @__PURE__ */ h((r, e, s) => {
|
|
1223
1225
|
var c;
|
|
1224
|
-
|
|
1225
|
-
const
|
|
1226
|
-
if (
|
|
1227
|
-
const o = this.getValidData()[
|
|
1226
|
+
r = parseInt(r, 10);
|
|
1227
|
+
const n = (typeof ((c = t(this, _).fields) == null ? void 0 : c.get) == "function" ? t(this, _).fields.get() : []).indexOf(e);
|
|
1228
|
+
if (n < 0) return;
|
|
1229
|
+
const o = this.getValidData()[r];
|
|
1228
1230
|
if (!o) return;
|
|
1229
|
-
const a = o.v[
|
|
1230
|
-
a !== s && o.__ng.rowState !== O.ROW_STATE.INSERT && (o.__ng.o.hasOwnProperty(e) || (o.__ng.o[e] = a), o.__ng.rowState = O.ROW_STATE.UPDATE), o.v[
|
|
1231
|
+
const a = o.v[n];
|
|
1232
|
+
a !== s && o.__ng.rowState !== O.ROW_STATE.INSERT && (o.__ng.o.hasOwnProperty(e) || (o.__ng.o[e] = a), o.__ng.rowState = O.ROW_STATE.UPDATE), o.v[n] = s;
|
|
1231
1233
|
}, "setValue"));
|
|
1232
1234
|
A(this, "resetRecords", /* @__PURE__ */ h(() => {
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
}), t(this, N).forEach((
|
|
1236
|
-
|
|
1235
|
+
y(this, ht, t(this, k).rawRecords.filter((r) => !r.__ng.deleted)), y(this, N, t(this, k).rawRecords.filter((r) => !r.__ng.deleted && !r.__ng.filtered)), t(this, k).rawRecords.forEach((r, e) => {
|
|
1236
|
+
r.__ng.rowidx = e;
|
|
1237
|
+
}), t(this, N).forEach((r, e) => {
|
|
1238
|
+
r.__ng.i = e;
|
|
1237
1239
|
});
|
|
1238
1240
|
}, "resetRecords"));
|
|
1239
1241
|
A(this, "getValidData", /* @__PURE__ */ h(() => (t(this, N).length === 0 && t(this, k).rawRecords.length > 0 && this.resetRecords(), t(this, N)), "getValidData"));
|
|
1240
|
-
d(this,
|
|
1242
|
+
d(this, dt, /* @__PURE__ */ h((r) => {
|
|
1241
1243
|
var o;
|
|
1242
|
-
if (!
|
|
1243
|
-
const e = !Array.isArray(
|
|
1244
|
+
if (!r) return r;
|
|
1245
|
+
const e = !Array.isArray(r), s = e ? [r] : r, i = typeof ((o = t(this, _).fields) == null ? void 0 : o.get) == "function" ? t(this, _).fields.get() : [], n = s.filter((a) => !a.__ng.deleted).map((a) => {
|
|
1244
1246
|
const c = {};
|
|
1245
1247
|
return i.forEach((l, f) => {
|
|
1246
1248
|
c[l] = a.v ? a.v[f] : a[l];
|
|
1247
1249
|
}), c.__ng = a.__ng, c;
|
|
1248
1250
|
});
|
|
1249
|
-
return e ?
|
|
1251
|
+
return e ? n[0] : n;
|
|
1250
1252
|
}, "#conv"));
|
|
1251
1253
|
A(this, "count", /* @__PURE__ */ h(() => this.getValidData().length, "count"));
|
|
1252
|
-
|
|
1254
|
+
y(this, _, r), y(this, k, e), t(this, Qt).call(this);
|
|
1253
1255
|
}
|
|
1254
1256
|
get source() {
|
|
1255
|
-
return t(this,
|
|
1257
|
+
return t(this, dt).call(this, t(this, k).rawRecords);
|
|
1256
1258
|
}
|
|
1257
|
-
set source(
|
|
1258
|
-
this.clear(), this.add(
|
|
1259
|
+
set source(r) {
|
|
1260
|
+
this.clear(), this.add(r, !1);
|
|
1259
1261
|
}
|
|
1260
1262
|
get nextId() {
|
|
1261
1263
|
return ++Ue(this, Jt)._;
|
|
@@ -1270,7 +1272,7 @@ const O = class O {
|
|
|
1270
1272
|
return this.length;
|
|
1271
1273
|
}
|
|
1272
1274
|
};
|
|
1273
|
-
_ = new WeakMap(), k = new WeakMap(), N = new WeakMap(),
|
|
1275
|
+
_ = new WeakMap(), k = new WeakMap(), N = new WeakMap(), ht = new WeakMap(), Jt = new WeakMap(), Y = new WeakMap(), Qt = new WeakMap(), st = new WeakMap(), Ct = new WeakMap(), te = new WeakMap(), ee = new WeakMap(), dt = new WeakMap(), h(O, "ngData"), // 🎯 행 상태 정의 상수를 클래스 내부로 내재화
|
|
1274
1276
|
A(O, "ROW_STATE", {
|
|
1275
1277
|
EMPTY: "EMPTY",
|
|
1276
1278
|
NORMAL: "NORMAL",
|
|
@@ -1279,20 +1281,20 @@ A(O, "ROW_STATE", {
|
|
|
1279
1281
|
DELETE: "DELETE"
|
|
1280
1282
|
});
|
|
1281
1283
|
let ge = O;
|
|
1282
|
-
var
|
|
1284
|
+
var rt;
|
|
1283
1285
|
const Oe = class Oe {
|
|
1284
|
-
constructor(
|
|
1285
|
-
d(this,
|
|
1286
|
-
|
|
1286
|
+
constructor(r) {
|
|
1287
|
+
d(this, rt);
|
|
1288
|
+
y(this, rt, r), this.row = new ue(this), this.data = new ge(t(this, rt), this), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.pageCnt = 25, this.viewRecords.reset = () => {
|
|
1287
1289
|
var e;
|
|
1288
|
-
(e = t(this,
|
|
1290
|
+
(e = t(this, rt).view) != null && e.redraw && t(this, rt).view.redraw();
|
|
1289
1291
|
}, this.setDataSource = (e) => {
|
|
1290
1292
|
this.data && this.data.reset(), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.data.set(e || []);
|
|
1291
1293
|
}, this.getRowState = (e) => {
|
|
1292
|
-
var i,
|
|
1294
|
+
var i, n;
|
|
1293
1295
|
const s = parseInt(e, 10);
|
|
1294
1296
|
if (!(s >= this.data.count()))
|
|
1295
|
-
return (
|
|
1297
|
+
return (n = (i = this.data.getValidData()[s]) == null ? void 0 : i.__ng) == null ? void 0 : n.rowState;
|
|
1296
1298
|
}, this.getRowPosition = () => this.row.at, this.setRowPosition = (e) => {
|
|
1297
1299
|
this.row.at = e;
|
|
1298
1300
|
}, 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, i) => {
|
|
@@ -1300,36 +1302,36 @@ const Oe = class Oe {
|
|
|
1300
1302
|
}, this.setDataSource([]);
|
|
1301
1303
|
}
|
|
1302
1304
|
};
|
|
1303
|
-
|
|
1305
|
+
rt = new WeakMap(), h(Oe, "ngDataManager");
|
|
1304
1306
|
let be = Oe;
|
|
1305
|
-
var
|
|
1307
|
+
var ft, L, Lt, se;
|
|
1306
1308
|
const Be = class Be {
|
|
1307
1309
|
// 🎯 이제 { name: string, type: string } 객체들의 배열로 관리합니다.
|
|
1308
|
-
constructor(
|
|
1309
|
-
d(this,
|
|
1310
|
+
constructor(r) {
|
|
1311
|
+
d(this, ft);
|
|
1310
1312
|
d(this, L, []);
|
|
1311
|
-
A(this, "add", /* @__PURE__ */ h((
|
|
1312
|
-
|
|
1313
|
+
A(this, "add", /* @__PURE__ */ h((r, e = "string") => {
|
|
1314
|
+
r.forEach((s) => {
|
|
1313
1315
|
t(this, L).some((i) => i.name === s) || t(this, L).push({ name: s, type: e });
|
|
1314
1316
|
}), t(this, Lt).call(this);
|
|
1315
1317
|
}, "add"));
|
|
1316
1318
|
d(this, Lt, /* @__PURE__ */ h(() => {
|
|
1317
|
-
const
|
|
1319
|
+
const r = /* @__PURE__ */ new Map();
|
|
1318
1320
|
t(this, L).forEach((e) => {
|
|
1319
|
-
|
|
1320
|
-
}),
|
|
1321
|
+
r.set(e.name, e.type);
|
|
1322
|
+
}), y(this, L, Array.from(r, ([e, s]) => ({ name: e, type: s }))), y(this, L, t(this, L).filter((e) => e.name !== "" && e.name !== "__ng")), t(this, L).sort((e, s) => e.name.length < s.name.length ? 1 : -1);
|
|
1321
1323
|
}, "#adjust"));
|
|
1322
1324
|
d(this, se, /* @__PURE__ */ h(() => {
|
|
1323
|
-
|
|
1324
|
-
const
|
|
1325
|
-
if (!(!
|
|
1326
|
-
for (const e of
|
|
1325
|
+
y(this, L, []), W.log(t(this, ft).querySelectorAll("table"));
|
|
1326
|
+
const r = Array.from(t(this, ft).querySelectorAll("table"));
|
|
1327
|
+
if (!(!r || r.length === 0)) {
|
|
1328
|
+
for (const e of r)
|
|
1327
1329
|
W.log(e), $("[data-bind]", e).each((s, i) => {
|
|
1328
|
-
const
|
|
1329
|
-
|
|
1330
|
+
const n = i.dataset.bind, o = i.getAttribute("data-type") || "string";
|
|
1331
|
+
n && t(this, L).push({ name: n, type: o });
|
|
1330
1332
|
}), ["data-expr", "background-color", "color", "tooltip", "visible", "readonly", "enable-button", "enable-check", "class-expr", "icon-color", "icon-src"].forEach((s) => {
|
|
1331
|
-
$(`[${s}]`, e).each((i,
|
|
1332
|
-
var o =
|
|
1333
|
+
$(`[${s}]`, e).each((i, n) => {
|
|
1334
|
+
var o = n.getAttribute(s);
|
|
1333
1335
|
if (o.indexOf("data.") < 0) {
|
|
1334
1336
|
const a = o.search(/[(]/g);
|
|
1335
1337
|
if (a > 0)
|
|
@@ -1351,41 +1353,41 @@ const Be = class Be {
|
|
|
1351
1353
|
t(this, Lt).call(this);
|
|
1352
1354
|
}
|
|
1353
1355
|
}, "#init"));
|
|
1354
|
-
|
|
1356
|
+
y(this, ft, r), t(this, se).call(this);
|
|
1355
1357
|
}
|
|
1356
1358
|
// 🎯 기존에 필드 이름만 쓰던 곳들과의 호환을 위해 이름 배열만 리턴하는 메서드 유지
|
|
1357
1359
|
get() {
|
|
1358
|
-
return t(this, L).map((
|
|
1360
|
+
return t(this, L).map((r) => r.name);
|
|
1359
1361
|
}
|
|
1360
1362
|
// 🎯 내부 객체 통째로 얻기
|
|
1361
1363
|
getFields() {
|
|
1362
1364
|
return t(this, L);
|
|
1363
1365
|
}
|
|
1364
1366
|
// 🎯 특정 필드의 데이터 타입 조회
|
|
1365
|
-
getType(
|
|
1366
|
-
const e = t(this, L).find((s) => s.name ===
|
|
1367
|
+
getType(r) {
|
|
1368
|
+
const e = t(this, L).find((s) => s.name === r);
|
|
1367
1369
|
return e ? e.type : "string";
|
|
1368
1370
|
}
|
|
1369
|
-
indexOf(
|
|
1370
|
-
return t(this, L).findIndex((e) => e.name ===
|
|
1371
|
+
indexOf(r) {
|
|
1372
|
+
return t(this, L).findIndex((e) => e.name === r);
|
|
1371
1373
|
}
|
|
1372
|
-
includes(
|
|
1373
|
-
return t(this, L).some((e) => e.name ===
|
|
1374
|
+
includes(r) {
|
|
1375
|
+
return t(this, L).some((e) => e.name === r);
|
|
1374
1376
|
}
|
|
1375
1377
|
};
|
|
1376
|
-
|
|
1377
|
-
let
|
|
1378
|
-
var
|
|
1378
|
+
ft = new WeakMap(), L = new WeakMap(), Lt = new WeakMap(), se = new WeakMap(), h(Be, "ngFields");
|
|
1379
|
+
let ye = Be;
|
|
1380
|
+
var it, re, ie;
|
|
1379
1381
|
const ze = class ze extends HTMLElement {
|
|
1380
1382
|
constructor() {
|
|
1381
1383
|
super();
|
|
1382
1384
|
//#created = false;
|
|
1383
|
-
d(this,
|
|
1384
|
-
d(this,
|
|
1385
|
+
d(this, it);
|
|
1386
|
+
d(this, re);
|
|
1385
1387
|
d(this, ie, /* @__PURE__ */ h(() => {
|
|
1386
|
-
this.fields = new
|
|
1388
|
+
this.fields = new ye(this), y(this, re, new fe(this)), W.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } }));
|
|
1387
1389
|
}, "#init"));
|
|
1388
|
-
this.attachShadow({ mode: "open" }),
|
|
1390
|
+
this.attachShadow({ mode: "open" }), y(this, it, new be(this));
|
|
1389
1391
|
}
|
|
1390
1392
|
connectedCallback() {
|
|
1391
1393
|
t(this, ie).call(this);
|
|
@@ -1395,21 +1397,21 @@ const ze = class ze extends HTMLElement {
|
|
|
1395
1397
|
}
|
|
1396
1398
|
// 🎯 외부에서 grid.data.set(...) 형태로 접근할 수 있도록 데이터 매니저 오픈
|
|
1397
1399
|
get data() {
|
|
1398
|
-
return t(this,
|
|
1400
|
+
return t(this, it).data;
|
|
1399
1401
|
}
|
|
1400
1402
|
// 🎯 행(row) 관련 제어 접근자 오픈
|
|
1401
1403
|
get row() {
|
|
1402
|
-
return t(this,
|
|
1404
|
+
return t(this, it).row;
|
|
1403
1405
|
}
|
|
1404
1406
|
// 🎯 전체 데이터 매니저 접근 필요할 경우
|
|
1405
1407
|
get dataManager() {
|
|
1406
|
-
return t(this,
|
|
1408
|
+
return t(this, it);
|
|
1407
1409
|
}
|
|
1408
1410
|
};
|
|
1409
|
-
|
|
1410
|
-
let
|
|
1411
|
-
customElements.get("nine-table") || customElements.define("nine-table",
|
|
1412
|
-
const
|
|
1411
|
+
it = new WeakMap(), re = new WeakMap(), ie = new WeakMap(), h(ze, "NineTable");
|
|
1412
|
+
let pe = ze;
|
|
1413
|
+
customElements.get("nine-table") || customElements.define("nine-table", pe);
|
|
1414
|
+
const pt = class pt extends HTMLElement {
|
|
1413
1415
|
// 👈 커스텀 스타일용 캐시 추가
|
|
1414
1416
|
constructor() {
|
|
1415
1417
|
super();
|
|
@@ -1420,74 +1422,74 @@ const mt = class mt extends HTMLElement {
|
|
|
1420
1422
|
connectedCallback() {
|
|
1421
1423
|
}
|
|
1422
1424
|
};
|
|
1423
|
-
h(
|
|
1424
|
-
let me =
|
|
1425
|
-
var C, Ht,
|
|
1426
|
-
const
|
|
1425
|
+
h(pt, "BasicCellElement"), A(pt, "_styleCache", /* @__PURE__ */ new Map()), A(pt, "_customStyleCache", /* @__PURE__ */ new Map());
|
|
1426
|
+
let me = pt;
|
|
1427
|
+
var C, Ht, p, Re, qe, Te, ke, Ce;
|
|
1428
|
+
const Pe = class Pe extends me {
|
|
1427
1429
|
constructor() {
|
|
1428
1430
|
super();
|
|
1429
1431
|
d(this, C);
|
|
1430
1432
|
d(this, Ht);
|
|
1431
|
-
d(this,
|
|
1433
|
+
d(this, p);
|
|
1432
1434
|
d(this, Re);
|
|
1433
1435
|
d(this, qe);
|
|
1434
1436
|
d(this, Te);
|
|
1435
1437
|
d(this, ke);
|
|
1436
1438
|
A(this, "getDisplayText", /* @__PURE__ */ h((e) => {
|
|
1437
|
-
if (t(this,
|
|
1438
|
-
if (t(this,
|
|
1439
|
-
const s = t(this,
|
|
1439
|
+
if (t(this, p))
|
|
1440
|
+
if (t(this, p).closest("tbody")) {
|
|
1441
|
+
const s = t(this, p).closest("tr").data, i = parseInt(t(this, p).dataset.row);
|
|
1440
1442
|
if (!s) return "";
|
|
1441
|
-
if (ninegrid.isNull(t(this,
|
|
1442
|
-
if (!ninegrid.isNull(t(this,
|
|
1443
|
-
return s[t(this,
|
|
1443
|
+
if (ninegrid.isNull(t(this, p).dataset.expr)) {
|
|
1444
|
+
if (!ninegrid.isNull(t(this, p).dataset.bind))
|
|
1445
|
+
return s[t(this, p).dataset.bind] || ninegrid.nvl(e, "");
|
|
1444
1446
|
} else try {
|
|
1445
|
-
return this.getExprValue(t(this,
|
|
1447
|
+
return this.getExprValue(t(this, p).dataset.expr, s, i, t(this, p));
|
|
1446
1448
|
} catch {
|
|
1447
|
-
console.error(t(this,
|
|
1449
|
+
console.error(t(this, p).dataset.expr, s, t(this, p).dataset.row);
|
|
1448
1450
|
}
|
|
1449
1451
|
return ninegrid.nvl(e, "");
|
|
1450
1452
|
} else
|
|
1451
1453
|
try {
|
|
1452
|
-
return t(this, C).exprFunction(t(this,
|
|
1454
|
+
return t(this, C).exprFunction(t(this, p).dataset.expr).call(this, null, -1, t(this, C).data);
|
|
1453
1455
|
} catch {
|
|
1454
1456
|
}
|
|
1455
1457
|
}, "getDisplayText"));
|
|
1456
1458
|
d(this, Ce, /* @__PURE__ */ h(() => {
|
|
1457
|
-
if (!(!t(this, C) || !t(this, C).template || !t(this,
|
|
1458
|
-
var e = ninegrid.j.querySelectorAll(t(this,
|
|
1459
|
+
if (!(!t(this, C) || !t(this, C).template || !t(this, p).closest("tbody.bindable"))) {
|
|
1460
|
+
var e = ninegrid.j.querySelectorAll(t(this, p)).attr("suppress");
|
|
1459
1461
|
if (e && (e = parseInt(e)), e && !isNaN(e)) {
|
|
1460
|
-
var s = t(this,
|
|
1462
|
+
var s = t(this, p).closest("tr"), i = [];
|
|
1461
1463
|
$("th,td", s).each((x, M) => {
|
|
1462
1464
|
var T = ninegrid.j.querySelectorAll(M).attr("suppress");
|
|
1463
1465
|
T && M.dataset.row && (T = parseInt(T), !isNaN(T) && T <= e && i.push(T));
|
|
1464
1466
|
}), i.sort();
|
|
1465
|
-
var
|
|
1467
|
+
var n = !1;
|
|
1466
1468
|
if (parseInt(s.sectionRowIndex / t(this, C).template.length) > 0)
|
|
1467
1469
|
for (var o of i) {
|
|
1468
1470
|
if (o > e) break;
|
|
1469
|
-
var a = parseInt(t(this,
|
|
1470
|
-
t(this,
|
|
1471
|
-
var u = t(this, C).body.querySelector(`tbody.bindable [suppress="${o}"][data-matrix-row="${t(this,
|
|
1471
|
+
var a = parseInt(t(this, p).dataset.row), c = a - 1, l = t(this, p).closest("tr").data, f = t(this, C).data.get(c);
|
|
1472
|
+
t(this, p).dataset.matrixRow;
|
|
1473
|
+
var u = t(this, C).body.querySelector(`tbody.bindable [suppress="${o}"][data-matrix-row="${t(this, p).dataset.matrixRow}"]`), g = u.dataset.expr ? this.getExprValue(u.dataset.expr, l, a) : l[u.dataset.bind], b = u.dataset.expr ? this.getExprValue(u.dataset.expr, f, c) : f[u.dataset.bind];
|
|
1472
1474
|
if (g != b) {
|
|
1473
|
-
|
|
1475
|
+
n = !0;
|
|
1474
1476
|
break;
|
|
1475
1477
|
}
|
|
1476
1478
|
}
|
|
1477
1479
|
else
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
var m = parseInt(t(this,
|
|
1481
|
-
$(E).hasClass("suppress") && !ninegrid.j.querySelectorAll(t(this,
|
|
1480
|
+
n = !0;
|
|
1481
|
+
n ? ninegrid.j.querySelectorAll(t(this, p)).removeClass("suppress") : ninegrid.j.querySelectorAll(t(this, p)).addClass("suppress"), ninegrid.j.querySelectorAll(t(this, p)).hasClass("hidden") || (n ? ninegrid.j.querySelectorAll(t(this, p)).removeClass("hidden") : ninegrid.j.querySelectorAll(t(this, p)).addClass("hidden"));
|
|
1482
|
+
var m = parseInt(t(this, p).dataset.matrixRow), v = m - 1, E = t(this, C).body.querySelector(`tbody.bindable [data-col="${t(this, p).dataset.col}"][data-matrix-row="${v}"]`);
|
|
1483
|
+
$(E).hasClass("suppress") && !ninegrid.j.querySelectorAll(t(this, p)).hasClass("suppress") ? ninegrid.j.querySelectorAll(E).removeClass("last-none-suppress").addClass("last-suppress") : !$(E).hasClass("suppress") && ninegrid.j.querySelectorAll(t(this, p)).hasClass("suppress") ? ninegrid.j.querySelectorAll(E).removeClass("last-suppress").addClass("last-none-suppress") : ninegrid.j.querySelectorAll(E).removeClass("last-none-suppress").removeClass("last-suppress");
|
|
1482
1484
|
}
|
|
1483
1485
|
}
|
|
1484
1486
|
}, "#resetSuppress"));
|
|
1485
|
-
A(this, "getExprValue", /* @__PURE__ */ h((e, s, i,
|
|
1487
|
+
A(this, "getExprValue", /* @__PURE__ */ h((e, s, i, n) => {
|
|
1486
1488
|
if (typeof e < "u")
|
|
1487
1489
|
try {
|
|
1488
1490
|
i = parseInt(i);
|
|
1489
1491
|
const o = e.replace("()", "");
|
|
1490
|
-
return t(this, C)[o] ? t(this, C)[o].call(this, s, i, t(this,
|
|
1492
|
+
return t(this, C)[o] ? t(this, C)[o].call(this, s, i, t(this, p)) : t(this, C).exprFunction(e).call(this, s, i, t(this, C).data);
|
|
1491
1493
|
} catch {
|
|
1492
1494
|
return ["NG-COMBO"].includes(this.tagName) ? "" : e;
|
|
1493
1495
|
}
|
|
@@ -1496,31 +1498,31 @@ const De = class De extends me {
|
|
|
1496
1498
|
}, "getExprValue"));
|
|
1497
1499
|
}
|
|
1498
1500
|
connectedCallback() {
|
|
1499
|
-
super.connectedCallback(),
|
|
1501
|
+
super.connectedCallback(), y(this, C, this.getRootNode().host), y(this, p, this.closest("th,td")), y(this, Ht, t(this, p).closest("tr"));
|
|
1500
1502
|
}
|
|
1501
1503
|
get value() {
|
|
1502
|
-
var e = !t(this, C) || !t(this, C).dataManager || !t(this,
|
|
1504
|
+
var e = !t(this, C) || !t(this, C).dataManager || !t(this, p) || !t(this, p).dataset || !t(this, p).dataset.row || !t(this, p).dataset.bind ? "" : t(this, p).closest("tr").data[t(this, p).dataset.bind];
|
|
1503
1505
|
return e ?? "";
|
|
1504
1506
|
}
|
|
1505
1507
|
set value(e) {
|
|
1506
|
-
var s = parseInt(t(this,
|
|
1508
|
+
var s = parseInt(t(this, p).dataset.row);
|
|
1507
1509
|
const i = this.getAttribute("update-row-state") != "false";
|
|
1508
|
-
s < 0 ? t(this, C).data.setValueNF(parseInt(t(this,
|
|
1510
|
+
s < 0 ? t(this, C).data.setValueNF(parseInt(t(this, p).dataset.index), t(this, p).dataset.bind, e, i) : t(this, C).data.setValue(s, t(this, p).dataset.bind, e, i);
|
|
1509
1511
|
}
|
|
1510
1512
|
get row() {
|
|
1511
|
-
return parseInt(t(this,
|
|
1513
|
+
return parseInt(t(this, p).dataset.row);
|
|
1512
1514
|
}
|
|
1513
1515
|
get data() {
|
|
1514
|
-
return t(this,
|
|
1516
|
+
return t(this, p).closest("tr").data;
|
|
1515
1517
|
}
|
|
1516
1518
|
refresh() {
|
|
1517
|
-
const e = t(this,
|
|
1518
|
-
return parseInt(t(this,
|
|
1519
|
+
const e = t(this, p).dataset.bind;
|
|
1520
|
+
return parseInt(t(this, p).dataset.row), t(this, Ht).data[e];
|
|
1519
1521
|
}
|
|
1520
1522
|
};
|
|
1521
|
-
C = new WeakMap(), Ht = new WeakMap(),
|
|
1522
|
-
let xe =
|
|
1523
|
-
const
|
|
1523
|
+
C = new WeakMap(), Ht = new WeakMap(), p = new WeakMap(), Re = new WeakMap(), qe = new WeakMap(), Te = new WeakMap(), ke = new WeakMap(), Ce = new WeakMap(), h(Pe, "CellElement");
|
|
1524
|
+
let xe = Pe;
|
|
1525
|
+
const De = class De extends xe {
|
|
1524
1526
|
constructor() {
|
|
1525
1527
|
super();
|
|
1526
1528
|
}
|
|
@@ -1531,17 +1533,17 @@ const Pe = class Pe extends xe {
|
|
|
1531
1533
|
return super.refresh();
|
|
1532
1534
|
}
|
|
1533
1535
|
};
|
|
1534
|
-
h(
|
|
1535
|
-
let ve =
|
|
1536
|
-
var Mt,
|
|
1536
|
+
h(De, "EditableCellElement");
|
|
1537
|
+
let ve = De;
|
|
1538
|
+
var Mt, nt, ut, gt, ne, U, Le;
|
|
1537
1539
|
const je = class je extends ve {
|
|
1538
1540
|
constructor() {
|
|
1539
1541
|
super();
|
|
1540
1542
|
d(this, Mt);
|
|
1541
|
-
d(this,
|
|
1543
|
+
d(this, nt);
|
|
1544
|
+
d(this, ut);
|
|
1542
1545
|
d(this, gt);
|
|
1543
|
-
d(this,
|
|
1544
|
-
d(this, re);
|
|
1546
|
+
d(this, ne);
|
|
1545
1547
|
d(this, U);
|
|
1546
1548
|
A(this, "refresh", /* @__PURE__ */ h(() => {
|
|
1547
1549
|
const e = super.refresh();
|
|
@@ -1579,9 +1581,9 @@ const je = class je extends ve {
|
|
|
1579
1581
|
*/
|
|
1580
1582
|
d(this, Le, /* @__PURE__ */ h((e) => {
|
|
1581
1583
|
if (!["Escape", "Enter", "Tab", "Home", "End", "ArrowLeft", "ArrowRight", "PageUp", "PageDown", "Backspace", "Delete"].includes(e.code)) {
|
|
1582
|
-
if (t(this,
|
|
1583
|
-
let
|
|
1584
|
-
if (t(this, U) && Number(t(this, U)) > 0 &&
|
|
1584
|
+
if (t(this, nt) == "number") {
|
|
1585
|
+
let n = [];
|
|
1586
|
+
if (t(this, U) && Number(t(this, U)) > 0 && n.push("."), t(this, gt) && Number(t(this, gt)) >= 0 && n.push("-"), !(e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105) && !n.includes(e.key) && e.preventDefault(), t(this, U) && (e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105) && e.target.selectionStart == e.target.selectionEnd) {
|
|
1585
1587
|
var s = e.target.value, i = s.indexOf(".");
|
|
1586
1588
|
if (i >= 0) {
|
|
1587
1589
|
var s = s.substr(i + 1, s.length);
|
|
@@ -1589,10 +1591,10 @@ const je = class je extends ve {
|
|
|
1589
1591
|
}
|
|
1590
1592
|
}
|
|
1591
1593
|
}
|
|
1592
|
-
t(this,
|
|
1594
|
+
t(this, ut) && ninegrid.getByteLength(e.target.value) >= Number(t(this, ut)) && e.target.selectionStart == e.target.selectionEnd && e.preventDefault();
|
|
1593
1595
|
}
|
|
1594
1596
|
}, "#onKeyDown"));
|
|
1595
|
-
if (this.applyBaseStyle(),
|
|
1597
|
+
if (this.applyBaseStyle(), y(this, nt, this.getAttribute("type") || "text"), y(this, ut, this.getAttribute("maxbyte")), y(this, gt, this.getAttribute("min")), y(this, ne, this.getAttribute("max")), y(this, U, this.getAttribute("scale")), !["text", "number"].includes(t(this, nt))) throw `invalid type : ${t(this, nt)}`;
|
|
1596
1598
|
}
|
|
1597
1599
|
connectedCallback() {
|
|
1598
1600
|
for (var e = [], s = 0; s < this.attributes.length; s++)
|
|
@@ -1602,10 +1604,10 @@ const je = class je extends ve {
|
|
|
1602
1604
|
${e.join(" ")}
|
|
1603
1605
|
ondragstart="return false;"
|
|
1604
1606
|
>
|
|
1605
|
-
`, super.connectedCallback(),
|
|
1607
|
+
`, super.connectedCallback(), y(this, Mt, this.querySelector("input"));
|
|
1606
1608
|
}
|
|
1607
1609
|
};
|
|
1608
|
-
Mt = new WeakMap(),
|
|
1610
|
+
Mt = new WeakMap(), nt = new WeakMap(), ut = new WeakMap(), gt = new WeakMap(), ne = new WeakMap(), U = new WeakMap(), Le = new WeakMap(), h(je, "CellInputText");
|
|
1609
1611
|
let we = je;
|
|
1610
1612
|
customElements.get("cell-input-text");
|
|
1611
1613
|
customElements.get("cell-input") || customElements.define("cell-input", we);
|