@ninebone/table 0.0.541 β 0.0.543
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 +268 -265
- package/dist/nine-table.js.map +1 -1
- package/dist/nine-table.umd.js +10 -6
- 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 E = (R,
|
|
8
|
-
var t = (R,
|
|
9
|
-
var Ue = (R,
|
|
10
|
-
set _(
|
|
11
|
-
y(R,
|
|
5
|
+
var Xe = (R, i, e) => i in R ? Fe(R, i, { enumerable: !0, configurable: !0, writable: !0, value: e }) : R[i] = e;
|
|
6
|
+
var h = (R, i) => Fe(R, "name", { value: i, configurable: !0 });
|
|
7
|
+
var E = (R, i, e) => Xe(R, typeof i != "symbol" ? i + "" : i, e), Ye = (R, i, e) => i.has(R) || Ve("Cannot " + e);
|
|
8
|
+
var t = (R, i, e) => (Ye(R, i, "read from private field"), e ? e.call(R) : i.get(R)), d = (R, i, e) => i.has(R) ? Ve("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(R) : i.set(R, e), y = (R, i, e, s) => (Ye(R, i, "write to private field"), s ? s.call(R, e) : i.set(R, e), e);
|
|
9
|
+
var Ue = (R, i, e, s) => ({
|
|
10
|
+
set _(r) {
|
|
11
|
+
y(R, i, r, e);
|
|
12
12
|
},
|
|
13
13
|
get _() {
|
|
14
|
-
return t(R,
|
|
14
|
+
return t(R, i, s);
|
|
15
15
|
}
|
|
16
16
|
});
|
|
17
17
|
import { trace as Ke } from "@ninebone/util";
|
|
@@ -22,7 +22,7 @@ const He = class He extends Ke.constructor {
|
|
|
22
22
|
};
|
|
23
23
|
h(He, "Trace");
|
|
24
24
|
let ae = He;
|
|
25
|
-
const
|
|
25
|
+
const I = new ae();
|
|
26
26
|
var z, j, w, X, K, Z, _t, G, Nt;
|
|
27
27
|
const Me = class Me extends HTMLElement {
|
|
28
28
|
constructor() {
|
|
@@ -44,14 +44,14 @@ 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
|
|
47
|
+
const r = t(this, w).track, n = t(this, w).thumb, a = t(this, z).querySelector(".ng-container-bottom"), o = e.clientWidth, c = s.scrollWidth;
|
|
48
48
|
if (o !== 0 && c > o)
|
|
49
49
|
a && (a.style.display = "flex");
|
|
50
50
|
else {
|
|
51
51
|
a && (a.style.display = "none");
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
54
|
-
const l =
|
|
54
|
+
const l = r.clientWidth;
|
|
55
55
|
if (l <= 0) return;
|
|
56
56
|
const f = Math.max(Math.min(l * (o / c), l), 20);
|
|
57
57
|
n.style.width = `${f}px`;
|
|
@@ -63,43 +63,43 @@ const Me = class Me extends HTMLElement {
|
|
|
63
63
|
}, "refresh"));
|
|
64
64
|
d(this, G, /* @__PURE__ */ h((e) => {
|
|
65
65
|
if (!t(this, w)) return !1;
|
|
66
|
-
const s = t(this, w).container,
|
|
67
|
-
if (!
|
|
66
|
+
const s = t(this, w).container, r = s.querySelector("table");
|
|
67
|
+
if (!r) return !1;
|
|
68
68
|
const n = t(this, w).track.getBoundingClientRect(), a = t(this, w).thumb.clientWidth;
|
|
69
69
|
let o = e;
|
|
70
70
|
o < 0 && (o = 0);
|
|
71
71
|
const c = n.width - a;
|
|
72
72
|
o > c && (o = c), o = parseInt(o, 10), t(this, w).thumb.style.left = `${o}px`, t(this, w).left.disabled = o === 0, t(this, w).right.disabled = o >= c - 1;
|
|
73
|
-
const l = s.clientWidth, u =
|
|
73
|
+
const l = s.clientWidth, u = r.scrollWidth - l;
|
|
74
74
|
return c > 0 && u > 0 && (s.scrollLeft = o / c * u), o > 0 && o < c - 1;
|
|
75
75
|
}, "#thumbMoveTo"));
|
|
76
76
|
d(this, Nt, /* @__PURE__ */ h(() => {
|
|
77
|
-
const e = /* @__PURE__ */ h((
|
|
77
|
+
const e = /* @__PURE__ */ h((r) => {
|
|
78
78
|
clearInterval(t(this, X)), clearInterval(t(this, K));
|
|
79
79
|
const n = parseInt(t(this, w).thumb.style.left || 0, 10);
|
|
80
|
-
t(this, G).call(this, n +
|
|
80
|
+
t(this, G).call(this, n + r), y(this, X, setInterval(() => {
|
|
81
81
|
clearInterval(t(this, X)), y(this, K, setInterval(() => {
|
|
82
82
|
const a = parseInt(t(this, w).thumb.style.left || 0, 10);
|
|
83
|
-
t(this, G).call(this, a +
|
|
83
|
+
t(this, G).call(this, a + r) || clearInterval(t(this, K));
|
|
84
84
|
}, 50));
|
|
85
85
|
}, 500));
|
|
86
86
|
}, "delayScroll"), s = /* @__PURE__ */ h(() => {
|
|
87
87
|
clearInterval(t(this, X)), clearInterval(t(this, K));
|
|
88
88
|
}, "clearTimer");
|
|
89
|
-
["mouseup", "mouseleave", "touchend"].forEach((
|
|
90
|
-
t(this, w).left.addEventListener(
|
|
91
|
-
}), t(this, w).left.addEventListener("mousedown", (
|
|
92
|
-
|
|
93
|
-
}), t(this, w).right.addEventListener("mousedown", (
|
|
94
|
-
|
|
95
|
-
}), t(this, w).left.addEventListener("touchstart", () => e(-20)), t(this, w).right.addEventListener("touchstart", () => e(20)), t(this, w).track.addEventListener("mousedown", (
|
|
96
|
-
if (
|
|
97
|
-
|
|
89
|
+
["mouseup", "mouseleave", "touchend"].forEach((r) => {
|
|
90
|
+
t(this, w).left.addEventListener(r, s), t(this, w).right.addEventListener(r, s), t(this, w).track.addEventListener(r, s);
|
|
91
|
+
}), t(this, w).left.addEventListener("mousedown", (r) => {
|
|
92
|
+
r.button === 0 && e(-20);
|
|
93
|
+
}), t(this, w).right.addEventListener("mousedown", (r) => {
|
|
94
|
+
r.button === 0 && e(20);
|
|
95
|
+
}), t(this, w).left.addEventListener("touchstart", () => e(-20)), t(this, w).right.addEventListener("touchstart", () => e(20)), t(this, w).track.addEventListener("mousedown", (r) => {
|
|
96
|
+
if (r.button !== 0) return;
|
|
97
|
+
r.preventDefault();
|
|
98
98
|
const n = t(this, w).track.getBoundingClientRect(), a = t(this, w).thumb.clientWidth;
|
|
99
|
-
t(this, G).call(this,
|
|
100
|
-
}), t(this, w).thumb.addEventListener("mousedown", (
|
|
101
|
-
if (
|
|
102
|
-
|
|
99
|
+
t(this, G).call(this, r.clientX - n.left - a / 2);
|
|
100
|
+
}), t(this, w).thumb.addEventListener("mousedown", (r) => {
|
|
101
|
+
if (r.button !== 0) return;
|
|
102
|
+
r.stopPropagation(), r.preventDefault(), y(this, j, !0), this.shiftX = r.clientX - t(this, w).thumb.getBoundingClientRect().left;
|
|
103
103
|
const n = /* @__PURE__ */ h((o) => {
|
|
104
104
|
if (!t(this, j)) return;
|
|
105
105
|
const c = t(this, w).track.getBoundingClientRect();
|
|
@@ -213,34 +213,33 @@ const $e = class $e extends HTMLElement {
|
|
|
213
213
|
d(this, wt, 0);
|
|
214
214
|
E(this, "refresh", /* @__PURE__ */ h(() => {
|
|
215
215
|
if (!t(this, F) || !t(this, q)) return;
|
|
216
|
-
|
|
217
|
-
const e = t(this, q).container, s = t(this, q).track, i = t(this, q).thumb, n = e.clientHeight, o = (t(this, F).data.get() || []).length, c = t(this, at).getRowHeight(), l = o * c;
|
|
216
|
+
const e = t(this, q).container, s = t(this, q).track, r = t(this, q).thumb, n = e.clientHeight, o = (t(this, F).data.get() || []).length, c = t(this, at).getRowHeight(), l = o * c;
|
|
218
217
|
if (l <= n) {
|
|
219
|
-
|
|
218
|
+
r.style.display = "none", t(this, q).top.disabled = !0, t(this, q).bottom.disabled = !0;
|
|
220
219
|
return;
|
|
221
220
|
} else
|
|
222
|
-
|
|
221
|
+
r.style.display = "block";
|
|
223
222
|
const f = s.clientHeight;
|
|
224
223
|
if (f <= 0) return;
|
|
225
224
|
const u = Math.max(Math.min(f * (n / l), f), 20);
|
|
226
|
-
|
|
225
|
+
r.style.height = `${u}px`;
|
|
227
226
|
const g = e.scrollTop, b = Math.max(l - n, 1);
|
|
228
227
|
let x = 0;
|
|
229
228
|
b > 0 && (x = g / b * (f - u));
|
|
230
229
|
const v = f - u;
|
|
231
|
-
x < 0 && (x = 0), x > v && (x = v),
|
|
230
|
+
x < 0 && (x = 0), x > v && (x = v), r.style.top = `${x}px`, t(this, q).top.disabled = g <= 0, t(this, q).bottom.disabled = g >= b - 1;
|
|
232
231
|
}, "refresh"));
|
|
233
232
|
d(this, Wt, /* @__PURE__ */ h(() => {
|
|
234
|
-
|
|
233
|
+
I.log("nine-table-vscrollbar.#init");
|
|
235
234
|
const e = t(this, q).container, s = /* @__PURE__ */ h(() => {
|
|
236
235
|
const n = (t(this, F).data.get() || []).length, a = t(this, at).getRowHeight();
|
|
237
236
|
return n * a;
|
|
238
237
|
}, "getContentHeight");
|
|
239
238
|
e.addEventListener("scroll", () => {
|
|
240
239
|
t(this, J) || this.refresh();
|
|
241
|
-
}), t(this, q).thumb.addEventListener("mousedown", (
|
|
242
|
-
if (
|
|
243
|
-
|
|
240
|
+
}), t(this, q).thumb.addEventListener("mousedown", (r) => {
|
|
241
|
+
if (r.button !== 0) return;
|
|
242
|
+
r.stopPropagation(), r.preventDefault(), y(this, J, !0), y(this, vt, r.clientY), y(this, wt, e.scrollTop);
|
|
244
243
|
const n = /* @__PURE__ */ h((o) => {
|
|
245
244
|
if (!t(this, J)) return;
|
|
246
245
|
const c = t(this, q).track.getBoundingClientRect(), l = t(this, q).thumb.clientHeight, u = c.height - l, g = o.clientY - t(this, vt), b = e.clientHeight, x = s(), v = Math.max(x - b, 1);
|
|
@@ -255,9 +254,9 @@ const $e = class $e extends HTMLElement {
|
|
|
255
254
|
y(this, J, !1), document.removeEventListener("mousemove", n), document.removeEventListener("mouseup", a), this.refresh();
|
|
256
255
|
}, "onMouseUp");
|
|
257
256
|
document.addEventListener("mousemove", n), document.addEventListener("mouseup", a);
|
|
258
|
-
}), t(this, q).track.addEventListener("mousedown", (
|
|
259
|
-
if (
|
|
260
|
-
const n = t(this, q).track.getBoundingClientRect(), a = t(this, q).thumb.clientHeight, o =
|
|
257
|
+
}), t(this, q).track.addEventListener("mousedown", (r) => {
|
|
258
|
+
if (r.button !== 0 || r.target === t(this, q).thumb) return;
|
|
259
|
+
const n = t(this, q).track.getBoundingClientRect(), a = t(this, q).thumb.clientHeight, o = r.clientY - n.top - a / 2, l = n.height - a, f = e.clientHeight, u = s(), g = Math.max(u - f, 1);
|
|
261
260
|
if (l > 0 && g > 0) {
|
|
262
261
|
const b = Math.max(0, Math.min(1, o / l));
|
|
263
262
|
e.scrollTop = b * g;
|
|
@@ -355,14 +354,14 @@ const $e = class $e extends HTMLElement {
|
|
|
355
354
|
F = new WeakMap(), at = new WeakMap(), J = new WeakMap(), q = new WeakMap(), vt = new WeakMap(), wt = new WeakMap(), Wt = new WeakMap(), h($e, "NineTableVScrollBar");
|
|
356
355
|
let ce = $e;
|
|
357
356
|
customElements.get("nine-table-vscrollbar") || customElements.define("nine-table-vscrollbar", ce);
|
|
358
|
-
var D, S, Q, P,
|
|
357
|
+
var D, S, Q, P, H, V, tt, St, Ee, lt, Ot, Bt, zt, Et, At, Pt, Dt, Rt, Ae, ct, qt, jt;
|
|
359
358
|
const Ie = class Ie {
|
|
360
|
-
constructor(
|
|
359
|
+
constructor(i) {
|
|
361
360
|
d(this, D);
|
|
362
361
|
d(this, S);
|
|
363
362
|
d(this, Q);
|
|
364
363
|
d(this, P, /* @__PURE__ */ new Map());
|
|
365
|
-
d(this,
|
|
364
|
+
d(this, H, null);
|
|
366
365
|
d(this, V, null);
|
|
367
366
|
d(this, tt, 0);
|
|
368
367
|
d(this, St, 40);
|
|
@@ -371,15 +370,15 @@ const Ie = class Ie {
|
|
|
371
370
|
d(this, Ot, 3);
|
|
372
371
|
E(this, "refresh", /* @__PURE__ */ h(() => {
|
|
373
372
|
var e;
|
|
374
|
-
|
|
375
|
-
const
|
|
376
|
-
|
|
373
|
+
I.log("rowManager.refresh");
|
|
374
|
+
const i = t(this, S).querySelector(".ng-container-body .ng-part-body");
|
|
375
|
+
i && (t(this, Et).call(this), t(this, ct).call(this, i.scrollTop), (e = t(this, S).querySelector("nine-table-vscrollbar")) == null || e.refresh());
|
|
377
376
|
}, "refresh"));
|
|
378
377
|
E(this, "initialize", /* @__PURE__ */ h(() => {
|
|
379
|
-
|
|
378
|
+
I.log("rowManager.initialize"), y(this, Q, {
|
|
380
379
|
scrollTables: t(this, S).querySelectorAll(".ng-part-body table"),
|
|
381
380
|
firstTr: t(this, S).querySelector(".ng-container-body .ng-part-body tbody.bindable-tbody tr:not(.nodata)")
|
|
382
|
-
}), y(this,
|
|
381
|
+
}), y(this, H, null), t(this, P).clear(), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((a) => {
|
|
383
382
|
const o = t(this, S).querySelector(a);
|
|
384
383
|
if (!o) return;
|
|
385
384
|
const c = o.querySelector(".ng-part-body table");
|
|
@@ -389,15 +388,15 @@ const Ie = class Ie {
|
|
|
389
388
|
const u = Array.from(l.querySelectorAll("tr")).map((g) => g.cloneNode(!0));
|
|
390
389
|
t(this, P).set(a, u);
|
|
391
390
|
});
|
|
392
|
-
const
|
|
393
|
-
if (
|
|
394
|
-
t(this, zt).call(this,
|
|
391
|
+
const i = 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"), r = t(this, S).querySelector(".ng-container-body .ng-part-header"), n = t(this, S).querySelector(".ng-container-body .ng-part-footer");
|
|
392
|
+
if (i) {
|
|
393
|
+
t(this, zt).call(this, i), t(this, Rt).call(this), t(this, Et).call(this), t(this, ct).call(this, i.scrollTop);
|
|
395
394
|
let a = !1;
|
|
396
395
|
const o = /* @__PURE__ */ h((c, l, f) => {
|
|
397
396
|
var u;
|
|
398
|
-
a || (a = !0,
|
|
397
|
+
a || (a = !0, i && i.scrollTop !== c && (i.scrollTop = c), e && e.scrollTop !== c && (e.scrollTop = c), s && s.scrollTop !== c && (s.scrollTop = c), r && r.scrollLeft !== l && (r.scrollLeft = l), n && n.scrollLeft !== l && (n.scrollLeft = l), t(this, ct).call(this, c), (u = t(this, S).querySelector("nine-table-vscrollbar")) == null || u.refresh(), a = !1);
|
|
399
398
|
}, "syncScroll");
|
|
400
|
-
[
|
|
399
|
+
[i, e, s].forEach((c) => {
|
|
401
400
|
c && c.addEventListener("scroll", () => {
|
|
402
401
|
t(this, lt) || (y(this, lt, !0), requestAnimationFrame(() => {
|
|
403
402
|
o(c.scrollTop, c.scrollLeft), y(this, lt, !1);
|
|
@@ -406,62 +405,62 @@ const Ie = class Ie {
|
|
|
406
405
|
});
|
|
407
406
|
}
|
|
408
407
|
}, "initialize"));
|
|
409
|
-
d(this, Bt, /* @__PURE__ */ h((
|
|
410
|
-
|
|
408
|
+
d(this, Bt, /* @__PURE__ */ h((i, e) => {
|
|
409
|
+
I.log("rowManager.#renderRows");
|
|
411
410
|
const s = t(this, P).get(e);
|
|
412
411
|
if (!s || s.length === 0) return;
|
|
413
|
-
const
|
|
414
|
-
if (!
|
|
415
|
-
|
|
416
|
-
const n =
|
|
412
|
+
const r = i.querySelector(".ng-part-body tbody.bindable-tbody");
|
|
413
|
+
if (!r) return;
|
|
414
|
+
r.querySelectorAll("tr:not(.nodata)").forEach((o) => o.remove());
|
|
415
|
+
const n = r.querySelector("tr.nodata"), a = document.createDocumentFragment();
|
|
417
416
|
for (let o = 0; o < t(this, St); o++)
|
|
418
417
|
s.forEach((c) => {
|
|
419
418
|
a.appendChild(c.cloneNode(!0));
|
|
420
419
|
});
|
|
421
|
-
n ? n.before(a) :
|
|
420
|
+
n ? n.before(a) : r.appendChild(a), e === ".ng-container-body" && (t(this, Q).firstTr = r.querySelector("tr:not(.nodata)"));
|
|
422
421
|
}, "#renderRows"));
|
|
423
|
-
d(this, zt, /* @__PURE__ */ h((
|
|
424
|
-
if (
|
|
425
|
-
return t(this,
|
|
426
|
-
|
|
422
|
+
d(this, zt, /* @__PURE__ */ h((i) => {
|
|
423
|
+
if (I.log("rowManager.#measureAndCacheHeight"), t(this, H) !== null && t(this, H) > 0)
|
|
424
|
+
return t(this, H);
|
|
425
|
+
I.log("#measureAndCacheHeight");
|
|
427
426
|
const e = t(this, P).get(".ng-container-body");
|
|
428
427
|
if (!e || e.length === 0) return 24;
|
|
429
|
-
const s =
|
|
428
|
+
const s = i.querySelector("tbody.bindable-tbody");
|
|
430
429
|
if (!s) return 24;
|
|
431
430
|
s.querySelectorAll("tr:not(.nodata)").forEach((g) => g.remove());
|
|
432
|
-
const
|
|
431
|
+
const r = s.querySelector("tr.nodata"), n = document.createDocumentFragment();
|
|
433
432
|
e.forEach((g) => {
|
|
434
433
|
n.appendChild(g.cloneNode(!0));
|
|
435
|
-
}),
|
|
434
|
+
}), r ? r.before(n) : s.appendChild(n);
|
|
436
435
|
const a = t(this, S), o = a.style.display, c = a.style.visibility, l = a.style.position;
|
|
437
436
|
(o === "none" || window.getComputedStyle(a).display === "none") && (a.style.display = "block", a.style.visibility = "hidden", a.style.position = "absolute");
|
|
438
437
|
let f = 0;
|
|
439
438
|
const u = s.querySelectorAll("tr:not(.nodata)");
|
|
440
439
|
return u.forEach((g) => {
|
|
441
440
|
f += g.offsetHeight || g.getBoundingClientRect().height;
|
|
442
|
-
}), u.forEach((g) => g.remove()), a.style.display = o, a.style.visibility = c, a.style.position = l, y(this,
|
|
441
|
+
}), u.forEach((g) => g.remove()), a.style.display = o, a.style.visibility = c, a.style.position = l, y(this, H, f > 0 ? f : 24), t(this, At).call(this), t(this, H);
|
|
443
442
|
}, "#measureAndCacheHeight"));
|
|
444
443
|
d(this, Et, /* @__PURE__ */ h(() => {
|
|
445
|
-
|
|
446
|
-
const e = (t(this, D).data.get() || []).length, s = t(this,
|
|
444
|
+
I.log("rowManager.#updateVirtualScrollHeight");
|
|
445
|
+
const e = (t(this, D).data.get() || []).length, s = t(this, H), r = e * s;
|
|
447
446
|
[".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((n) => {
|
|
448
447
|
const a = t(this, S).querySelector(n);
|
|
449
448
|
if (!a) return;
|
|
450
449
|
const o = a.querySelector(".ng-part-body .ng-virtual-spacer");
|
|
451
|
-
o && (o.style.height = `${
|
|
450
|
+
o && (o.style.height = `${r}px`);
|
|
452
451
|
});
|
|
453
452
|
}, "#updateVirtualScrollHeight"));
|
|
454
453
|
d(this, At, /* @__PURE__ */ h(() => {
|
|
455
|
-
if (t(this, tt) > 0 && t(this,
|
|
456
|
-
const
|
|
457
|
-
y(this, St,
|
|
454
|
+
if (t(this, tt) > 0 && t(this, H) > 0) {
|
|
455
|
+
const i = Math.ceil(t(this, tt) / t(this, H));
|
|
456
|
+
y(this, St, i + t(this, Ot));
|
|
458
457
|
}
|
|
459
458
|
}, "#updateRowCount"));
|
|
460
459
|
d(this, Pt, /* @__PURE__ */ h(() => {
|
|
461
460
|
var o, c, l, f, u, g;
|
|
462
|
-
const
|
|
461
|
+
const i = 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
462
|
if (e) {
|
|
464
|
-
const b =
|
|
463
|
+
const b = i ? Array.from(i.querySelectorAll("tbody tr")) : [], x = Array.from(e.querySelectorAll("tbody tr")), v = s ? Array.from(s.querySelectorAll("tbody tr")) : [], A = Math.max(b.length, x.length, v.length);
|
|
465
464
|
for (let m = 0; m < A; m++) {
|
|
466
465
|
const W = [
|
|
467
466
|
((o = b[m]) == null ? void 0 : o.getBoundingClientRect().height) || 0,
|
|
@@ -471,9 +470,9 @@ const Ie = class Ie {
|
|
|
471
470
|
C > 0 && (b[m] && (b[m].style.height = `${C}px`), x[m] && (x[m].style.height = `${C}px`), v[m] && (v[m].style.height = `${C}px`));
|
|
472
471
|
}
|
|
473
472
|
}
|
|
474
|
-
const
|
|
473
|
+
const r = t(this, S).querySelector(".ng-container-left .ng-part-footer table"), n = t(this, S).querySelector(".ng-container-body .ng-part-footer table"), a = t(this, S).querySelector(".ng-container-right .ng-part-footer table");
|
|
475
474
|
if (n) {
|
|
476
|
-
const b =
|
|
475
|
+
const b = r ? Array.from(r.querySelectorAll("tfoot tr")) : [], x = Array.from(n.querySelectorAll("tfoot tr")), v = a ? Array.from(a.querySelectorAll("tfoot tr")) : [], A = Math.max(b.length, x.length, v.length);
|
|
477
476
|
for (let m = 0; m < A; m++) {
|
|
478
477
|
const W = [
|
|
479
478
|
((f = b[m]) == null ? void 0 : f.getBoundingClientRect().height) || 0,
|
|
@@ -485,37 +484,37 @@ const Ie = class Ie {
|
|
|
485
484
|
}
|
|
486
485
|
}, "#syncRowHeights"));
|
|
487
486
|
d(this, Dt, /* @__PURE__ */ h(() => {
|
|
488
|
-
!t(this, S) || !(t(this, S) instanceof HTMLElement) || (y(this, V, new ResizeObserver((
|
|
489
|
-
for (const e of
|
|
487
|
+
!t(this, S) || !(t(this, S) instanceof HTMLElement) || (y(this, V, new ResizeObserver((i) => {
|
|
488
|
+
for (const e of i) {
|
|
490
489
|
const s = e.target;
|
|
491
490
|
if (!s.classList.contains("active")) continue;
|
|
492
|
-
const
|
|
493
|
-
if (
|
|
491
|
+
const r = e.contentRect.height;
|
|
492
|
+
if (r > 0) {
|
|
494
493
|
let n = 0;
|
|
495
494
|
const a = s.querySelector(".ng-part-header"), o = s.querySelector(".ng-part-footer");
|
|
496
495
|
a && (n += a.offsetHeight), o && (n += o.offsetHeight);
|
|
497
|
-
const c = Math.max(
|
|
498
|
-
t(this, tt) !== c && (y(this, tt, c), t(this, At).call(this), t(this,
|
|
496
|
+
const c = Math.max(r - n, 100);
|
|
497
|
+
t(this, tt) !== c && (y(this, tt, c), t(this, At).call(this), t(this, H) !== null && (t(this, Rt).call(this), this.refresh()));
|
|
499
498
|
}
|
|
500
499
|
}
|
|
501
500
|
})), t(this, V).observe(t(this, S)));
|
|
502
501
|
}, "#initResizeObserver"));
|
|
503
502
|
d(this, Rt, /* @__PURE__ */ h(() => {
|
|
504
|
-
|
|
505
|
-
const e = t(this, S).querySelector(
|
|
506
|
-
e && e.querySelector(".ng-part-body tbody.bindable-tbody") && t(this, Bt).call(this, e,
|
|
503
|
+
I.log("rowManager.#renderAllContainers"), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((i) => {
|
|
504
|
+
const e = t(this, S).querySelector(i);
|
|
505
|
+
e && e.querySelector(".ng-part-body tbody.bindable-tbody") && t(this, Bt).call(this, e, i);
|
|
507
506
|
}), t(this, jt).call(this), t(this, Pt).call(this);
|
|
508
507
|
}, "#renderAllContainers"));
|
|
509
|
-
d(this, Ae, /* @__PURE__ */ h((
|
|
508
|
+
d(this, Ae, /* @__PURE__ */ h((i) => {
|
|
510
509
|
[".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((e) => {
|
|
511
510
|
var l;
|
|
512
511
|
const s = t(this, S).querySelector(e);
|
|
513
512
|
if (!s) return;
|
|
514
|
-
const
|
|
515
|
-
if (!
|
|
516
|
-
const n = Array.from(
|
|
513
|
+
const r = s.querySelector(".ng-part-body tbody.bindable-tbody");
|
|
514
|
+
if (!r) return;
|
|
515
|
+
const n = Array.from(r.querySelectorAll("tr:not(.nodata)")), a = ((l = t(this, P).get(e)) == null ? void 0 : l.length) || 1, c = (t(this, D).data.get() || []).length;
|
|
517
516
|
n.forEach((f, u) => {
|
|
518
|
-
const g =
|
|
517
|
+
const g = i + Math.floor(u / a);
|
|
519
518
|
if (g >= c) {
|
|
520
519
|
f.style.display = "none";
|
|
521
520
|
return;
|
|
@@ -525,20 +524,20 @@ const Ie = class Ie {
|
|
|
525
524
|
});
|
|
526
525
|
});
|
|
527
526
|
}, "#adjustBufferRows"));
|
|
528
|
-
d(this, ct, /* @__PURE__ */ h((
|
|
527
|
+
d(this, ct, /* @__PURE__ */ h((i) => {
|
|
529
528
|
var l, f;
|
|
530
|
-
const e = t(this,
|
|
529
|
+
const e = t(this, H);
|
|
531
530
|
if (!e || e <= 0) return;
|
|
532
|
-
const s = t(this, D).data.length,
|
|
531
|
+
const s = t(this, D).data.length, r = Math.max(0, Math.floor(i / e)), n = r * e, a = ((l = t(this, P).get(".ng-container-body")) == null ? void 0 : l.length) || 1, o = t(this, Q).firstTr, c = o && o.dataset.row !== void 0 ? parseInt(o.dataset.row, 10) : -1;
|
|
533
532
|
(f = t(this, Q)) == null || f.scrollTables.forEach((u) => {
|
|
534
533
|
u.style.transform = `translate3d(0, ${n}px, 0)`;
|
|
535
|
-
}), c !==
|
|
534
|
+
}), c !== r && [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((u) => {
|
|
536
535
|
const g = t(this, S).querySelector(u);
|
|
537
536
|
if (!g) return;
|
|
538
537
|
const b = g.querySelector(".ng-part-body tbody.bindable-tbody");
|
|
539
538
|
if (!b) return;
|
|
540
539
|
Array.from(b.querySelectorAll("tr:not(.nodata)")).forEach((v, A) => {
|
|
541
|
-
const m =
|
|
540
|
+
const m = r + Math.floor(A / a);
|
|
542
541
|
if (m >= s) {
|
|
543
542
|
v.style.display = "none";
|
|
544
543
|
return;
|
|
@@ -562,55 +561,55 @@ const Ie = class Ie {
|
|
|
562
561
|
cell.dataset.row = dataIndex;
|
|
563
562
|
});
|
|
564
563
|
}; */
|
|
565
|
-
d(this, qt, /* @__PURE__ */ h((
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
const a = Array.from(
|
|
564
|
+
d(this, qt, /* @__PURE__ */ h((i, e, s) => {
|
|
565
|
+
i.dataset.row = s, i.data = e, Array.from(i.cells).forEach((r, n) => {
|
|
566
|
+
r.dataset.row = s;
|
|
567
|
+
const a = Array.from(r.children).find((o) => o.tagName.toLowerCase().startsWith("cell-") || typeof o.refresh == "function");
|
|
569
568
|
a && typeof a.refresh == "function" && a.refresh();
|
|
570
569
|
});
|
|
571
570
|
}, "#bindRowData"));
|
|
572
571
|
d(this, jt, /* @__PURE__ */ h(() => {
|
|
573
572
|
var c, l, f;
|
|
574
|
-
|
|
575
|
-
const
|
|
573
|
+
I.log("rowManager.#syncHeaderHeights");
|
|
574
|
+
const i = 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");
|
|
576
575
|
if (!e) return;
|
|
577
|
-
const
|
|
576
|
+
const r = i ? Array.from(i.querySelectorAll("tr")) : [], n = Array.from(e.querySelectorAll("tr")), a = s ? Array.from(s.querySelectorAll("tr")) : [], o = Math.max(r.length, n.length, a.length);
|
|
578
577
|
for (let u = 0; u < o; u++) {
|
|
579
578
|
const g = [
|
|
580
|
-
((c =
|
|
579
|
+
((c = r[u]) == null ? void 0 : c.getBoundingClientRect().height) || 0,
|
|
581
580
|
((l = n[u]) == null ? void 0 : l.getBoundingClientRect().height) || 0,
|
|
582
581
|
((f = a[u]) == null ? void 0 : f.getBoundingClientRect().height) || 0
|
|
583
582
|
], b = Math.max(...g);
|
|
584
|
-
b > 0 && (
|
|
583
|
+
b > 0 && (r[u] && (r[u].style.height = `${b}px`), n[u] && (n[u].style.height = `${b}px`), a[u] && (a[u].style.height = `${b}px`));
|
|
585
584
|
}
|
|
586
585
|
}, "#syncHeaderHeights"));
|
|
587
586
|
E(this, "destroy", /* @__PURE__ */ h(() => {
|
|
588
587
|
t(this, V) && (t(this, V).disconnect(), y(this, V, null));
|
|
589
588
|
}, "destroy"));
|
|
590
|
-
y(this, D,
|
|
589
|
+
y(this, D, i.getRootNode().host), y(this, S, i), t(this, Dt).call(this);
|
|
591
590
|
}
|
|
592
591
|
getRowHeight() {
|
|
593
|
-
return t(this,
|
|
592
|
+
return t(this, H);
|
|
594
593
|
}
|
|
595
|
-
templateLength(
|
|
594
|
+
templateLength(i = ".ng-container-body") {
|
|
596
595
|
var e;
|
|
597
|
-
return ((e = t(this, P).get(
|
|
596
|
+
return ((e = t(this, P).get(i)) == null ? void 0 : e.length) || 1;
|
|
598
597
|
}
|
|
599
598
|
};
|
|
600
|
-
D = new WeakMap(), S = new WeakMap(), Q = new WeakMap(), P = new WeakMap(),
|
|
599
|
+
D = new WeakMap(), S = new WeakMap(), Q = new WeakMap(), P = new WeakMap(), H = new WeakMap(), V = new WeakMap(), tt = new WeakMap(), St = new WeakMap(), Ee = new WeakMap(), lt = new WeakMap(), Ot = new WeakMap(), Bt = new WeakMap(), zt = new WeakMap(), Et = new WeakMap(), At = new WeakMap(), Pt = new WeakMap(), Dt = new WeakMap(), Rt = new WeakMap(), Ae = new WeakMap(), ct = new WeakMap(), qt = new WeakMap(), jt = new WeakMap(), h(Ie, "RowManager");
|
|
601
600
|
let he = Ie;
|
|
602
601
|
const Ft = class Ft {
|
|
603
602
|
/**
|
|
604
603
|
* π― λ μ΄μμ λ΄μ μ¬λ¬ rawTables λ°°μ΄μ μΌκ΄λ‘ λ°μ λ¨μΌ λ§μ€ν° ν
νλ¦ΏμΌλ‘ μ¬μ μ»΄νμΌν©λλ€.
|
|
605
604
|
*/
|
|
606
|
-
static compileAll(
|
|
607
|
-
return Array.isArray(
|
|
605
|
+
static compileAll(i) {
|
|
606
|
+
return Array.isArray(i) ? i.map((e) => Ft.compile(e)) : [];
|
|
608
607
|
}
|
|
609
608
|
/**
|
|
610
609
|
* π― λ¨μΌ μλ³Έ ν
μ΄λΈμ λ°μ κΈ°λ³Έ ꡬ쑰 보μ λ° 2μ°¨μ 격μ μΈλ±μ€ μ¬μ λΆμ¬ μλ£λ λ§μ€ν° ν
μ΄λΈ λ°ν
|
|
611
610
|
*/
|
|
612
|
-
static compile(
|
|
613
|
-
if (!
|
|
611
|
+
static compile(i) {
|
|
612
|
+
if (!i) return null;
|
|
614
613
|
const e = /* @__PURE__ */ h((o) => {
|
|
615
614
|
o.querySelectorAll("tbody td, tbody th, tfoot td, tfoot th").forEach((l) => {
|
|
616
615
|
const f = l.getAttribute("cell-type") || "renderer";
|
|
@@ -634,7 +633,7 @@ const Ft = class Ft {
|
|
|
634
633
|
l ? l.after(c) : o.prepend(c);
|
|
635
634
|
}
|
|
636
635
|
o.classList.add("nine-table-element"), o.style.display = "table";
|
|
637
|
-
}, "ensureTableStructure"),
|
|
636
|
+
}, "ensureTableStructure"), r = /* @__PURE__ */ h((o, c) => {
|
|
638
637
|
const l = Array.from(o.querySelectorAll(c + " tr")), f = Array.from(o.querySelectorAll(c + " th," + c + " td")), u = l.length;
|
|
639
638
|
if (u === 0 || f.length === 0) return;
|
|
640
639
|
let g = 0;
|
|
@@ -666,8 +665,8 @@ const Ft = class Ft {
|
|
|
666
665
|
}
|
|
667
666
|
});
|
|
668
667
|
});
|
|
669
|
-
}, "resetColIndex"), n =
|
|
670
|
-
return s(n), e(n),
|
|
668
|
+
}, "resetColIndex"), n = i.cloneNode(!0);
|
|
669
|
+
return s(n), e(n), r(n, "thead"), r(n, "tbody"), r(n, "tfoot"), Array.from(n.querySelectorAll("colgroup col")).forEach((o, c) => {
|
|
671
670
|
const l = o.getAttribute("fixed");
|
|
672
671
|
l && n.querySelectorAll(`thead [data-col="${c}"], tbody [data-col="${c}"], tfoot [data-col="${c}"]`).forEach((f) => {
|
|
673
672
|
f.setAttribute("fixed", l);
|
|
@@ -693,28 +692,28 @@ const mt = class mt extends HTMLElement {
|
|
|
693
692
|
{ selector: ".ng-container-body", type: null },
|
|
694
693
|
{ selector: ".ng-container-left", type: "left" },
|
|
695
694
|
{ selector: ".ng-container-right", type: "right" }
|
|
696
|
-
].forEach(({ selector: s, type:
|
|
695
|
+
].forEach(({ selector: s, type: r }) => {
|
|
697
696
|
const n = this.querySelector(s);
|
|
698
697
|
if (!n) return;
|
|
699
698
|
n.innerHTML = "";
|
|
700
699
|
const a = document.createElement("div");
|
|
701
|
-
a.className = "ng-part-header", a.appendChild(t(this, ht).call(this, t(this, et),
|
|
700
|
+
a.className = "ng-part-header", a.appendChild(t(this, ht).call(this, t(this, et), r, "header"));
|
|
702
701
|
const o = document.createElement("div");
|
|
703
702
|
o.className = "ng-part-body";
|
|
704
703
|
const c = document.createElement("div");
|
|
705
|
-
c.className = "ng-scroll-content", c.style.position = "relative", c.style.width = "100%", c.appendChild(t(this, ht).call(this, t(this, et),
|
|
704
|
+
c.className = "ng-scroll-content", c.style.position = "relative", c.style.width = "100%", c.appendChild(t(this, ht).call(this, t(this, et), r, "body"));
|
|
706
705
|
const l = document.createElement("div");
|
|
707
706
|
l.className = "ng-virtual-spacer", l.style.width = "100%", l.style.pointerEvents = "none", c.appendChild(l), o.appendChild(c);
|
|
708
707
|
const f = document.createElement("div");
|
|
709
|
-
f.className = "ng-part-footer", f.appendChild(t(this, ht).call(this, t(this, et),
|
|
708
|
+
f.className = "ng-part-footer", f.appendChild(t(this, ht).call(this, t(this, et), r, "footer")), n.appendChild(a), n.appendChild(o), n.appendChild(f);
|
|
710
709
|
});
|
|
711
710
|
}, "#renderSplitContainers"));
|
|
712
711
|
d(this, Ut, /* @__PURE__ */ h(() => {
|
|
713
712
|
["left", "right", "body"].forEach((e) => {
|
|
714
|
-
const s = this.querySelector(`.ng-container-${e}`),
|
|
715
|
-
if (!s || !
|
|
713
|
+
const s = this.querySelector(`.ng-container-${e}`), r = s == null ? void 0 : s.querySelectorAll("table");
|
|
714
|
+
if (!s || !r || r.length === 0) return;
|
|
716
715
|
let n = 0;
|
|
717
|
-
|
|
716
|
+
r[0].querySelectorAll("col").forEach((a) => {
|
|
718
717
|
const o = parseInt(a.getAttribute("width"), 10);
|
|
719
718
|
isNaN(n) || (n += o);
|
|
720
719
|
}), e === "body" ? s.style.flex = "1" : (s.style.flex = `0 0 ${n}px`, s.style.width = `${n}px`);
|
|
@@ -726,14 +725,14 @@ const mt = class mt extends HTMLElement {
|
|
|
726
725
|
(s = this.querySelector("nine-table-hscrollbar")) == null || s.refresh();
|
|
727
726
|
}, 0));
|
|
728
727
|
}, "generate"));
|
|
729
|
-
d(this, ht, /* @__PURE__ */ h((e, s,
|
|
728
|
+
d(this, ht, /* @__PURE__ */ h((e, s, r) => {
|
|
730
729
|
const n = e.cloneNode(!0), a = n.querySelector("thead"), o = n.querySelector("tbody"), c = n.querySelector("tfoot");
|
|
731
|
-
if (
|
|
730
|
+
if (r === "header") {
|
|
732
731
|
if (o && o.remove(), c && c.remove(), e.querySelector("tbody")) {
|
|
733
732
|
const f = document.createElement("tbody");
|
|
734
733
|
f.className = "fixed-tbody", n.appendChild(f);
|
|
735
734
|
}
|
|
736
|
-
} else
|
|
735
|
+
} else r === "body" ? (a && a.remove(), c && c.remove(), o && (o.className = "bindable-tbody")) : r === "footer" && (a && a.remove(), o && o.remove());
|
|
737
736
|
return s === "left" ? n.querySelectorAll("col, th, td, tfoot td, tfoot th").forEach((l) => {
|
|
738
737
|
l.getAttribute("fixed") !== "left" && l.remove();
|
|
739
738
|
}) : s === "right" ? n.querySelectorAll("col, th, td, tfoot td, tfoot th").forEach((l) => {
|
|
@@ -782,6 +781,10 @@ const mt = class mt extends HTMLElement {
|
|
|
782
781
|
overflow: hidden;
|
|
783
782
|
position: relative;
|
|
784
783
|
}
|
|
784
|
+
|
|
785
|
+
nine-table-sheet .ng-part-body {
|
|
786
|
+
contain: paint layout;
|
|
787
|
+
}
|
|
785
788
|
|
|
786
789
|
/* 9λΆν μ΄ μ»¨ν
μ΄λ κ³΅ν΅ μ€νμΌ */
|
|
787
790
|
nine-table-sheet .ng-container-left,
|
|
@@ -905,7 +908,7 @@ const mt = class mt extends HTMLElement {
|
|
|
905
908
|
t(this, Xt).call(this);
|
|
906
909
|
}
|
|
907
910
|
disconnectedCallback() {
|
|
908
|
-
this.innerHTML = "",
|
|
911
|
+
this.innerHTML = "", I.log("NineTableSheet destroyed.");
|
|
909
912
|
}
|
|
910
913
|
};
|
|
911
914
|
Vt = new WeakMap(), et = new WeakMap(), st = new WeakMap(), Yt = new WeakMap(), Ut = new WeakMap(), ht = new WeakMap(), Xt = new WeakMap(), Kt = new WeakMap(), h(mt, "NineTableSheet"), E(mt, "SCROLLBAR_SIZE", 16);
|
|
@@ -919,12 +922,12 @@ const _e = class _e extends HTMLElement {
|
|
|
919
922
|
var e;
|
|
920
923
|
(e = this.querySelector(".nine-tab-bar")) == null || e.addEventListener("click", (s) => {
|
|
921
924
|
var a;
|
|
922
|
-
const
|
|
923
|
-
t(this, kt).call(this, n,
|
|
925
|
+
const r = s.ctrlKey || s.metaKey || s.shiftKey, n = parseInt((a = s.target.closest(".nine-tab-item")) == null ? void 0 : a.dataset.index, 10);
|
|
926
|
+
t(this, kt).call(this, n, r);
|
|
924
927
|
}), t(this, kt).call(this, 0, !1);
|
|
925
928
|
}, "#init"));
|
|
926
929
|
d(this, kt, /* @__PURE__ */ h((e, s = !1) => {
|
|
927
|
-
const
|
|
930
|
+
const r = /* @__PURE__ */ h(() => {
|
|
928
931
|
const f = Array.from(this.querySelectorAll("nine-table-sheet"));
|
|
929
932
|
Array.from(this.querySelectorAll("nine-splitter")).forEach((b) => b.style.setProperty("display", "none"));
|
|
930
933
|
const g = f.filter((b) => b.classList.contains("active"));
|
|
@@ -952,7 +955,7 @@ const _e = class _e extends HTMLElement {
|
|
|
952
955
|
const l = a.querySelectorAll("nine-table-sheet.active");
|
|
953
956
|
l == null || l.forEach((f) => {
|
|
954
957
|
f.style.flex = l.length > 1 ? "1 1 0%" : "1 1 100%";
|
|
955
|
-
}),
|
|
958
|
+
}), r();
|
|
956
959
|
}, "#switchSheet"));
|
|
957
960
|
}
|
|
958
961
|
connectedCallback() {
|
|
@@ -962,29 +965,29 @@ const _e = class _e extends HTMLElement {
|
|
|
962
965
|
Zt = new WeakMap(), kt = new WeakMap(), h(_e, "NineTableSheets");
|
|
963
966
|
let fe = _e;
|
|
964
967
|
customElements.get("nine-table-sheets") || customElements.define("nine-table-sheets", fe);
|
|
965
|
-
var
|
|
968
|
+
var M, Gt, Tt, Jt;
|
|
966
969
|
const Ne = class Ne {
|
|
967
|
-
constructor(
|
|
968
|
-
d(this,
|
|
970
|
+
constructor(i) {
|
|
971
|
+
d(this, M);
|
|
969
972
|
d(this, Gt, /* @__PURE__ */ h(() => {
|
|
970
|
-
t(this, Jt).call(this), new ResizeObserver((
|
|
971
|
-
for (let e of
|
|
972
|
-
t(this,
|
|
973
|
-
}).observe(t(this,
|
|
973
|
+
t(this, Jt).call(this), new ResizeObserver((i) => {
|
|
974
|
+
for (let e of i)
|
|
975
|
+
t(this, M).getAttribute("auto-height") === "true" && t(this, Tt).call(this);
|
|
976
|
+
}).observe(t(this, M));
|
|
974
977
|
}, "#init"));
|
|
975
978
|
d(this, Tt, /* @__PURE__ */ h(() => {
|
|
976
979
|
var c, l;
|
|
977
|
-
const
|
|
978
|
-
if (
|
|
979
|
-
const e = parseInt(t(this,
|
|
980
|
-
t(this,
|
|
980
|
+
const i = Array.from(t(this, M).shadowRoot.querySelectorAll("nine-table-sheet.active"));
|
|
981
|
+
if (i.length === 0) return;
|
|
982
|
+
const e = parseInt(t(this, M).getAttribute("max-display-row"), 10) || 10, s = Math.max(...i.map((f) => f.getRowHeight())), r = (c = t(this, M).shadowRoot.querySelector("nine-table-header")) == null ? void 0 : c.getBoundingClientRect().height, n = (l = t(this, M).shadowRoot.querySelector("nine-table-sheets-footer")) == null ? void 0 : l.getBoundingClientRect().height, a = It.SCROLLBAR_SIZE, o = e * s + r + n + a;
|
|
983
|
+
t(this, M).style.height = `${o}px`;
|
|
981
984
|
}, "#applyAutoHeight"));
|
|
982
985
|
d(this, Jt, /* @__PURE__ */ h(() => {
|
|
983
|
-
const e = Array.from(t(this,
|
|
984
|
-
const u = `<nine-table-sheet class="${l === 0 ? "active" : ""}" data-index="${l}"></nine-table-sheet>`, g = l <
|
|
986
|
+
const e = Array.from(t(this, M).children).filter((c) => c.tagName === "TABLE"), s = t(this, M).getAttribute("auto-height") === "true", r = e.length, n = e.map((c, l) => {
|
|
987
|
+
const u = `<nine-table-sheet class="${l === 0 ? "active" : ""}" data-index="${l}"></nine-table-sheet>`, g = l < r - 1 ? `<nine-splitter class="h" data-split-index="${l}"></nine-splitter>` : "";
|
|
985
988
|
return u + g;
|
|
986
989
|
}).join(""), a = e.map((c, l) => `<div class="nine-tab-item ${l === 0 ? "active" : ""}" data-index="${l}">Sheet ${l + 1}</div>`).join("");
|
|
987
|
-
t(this,
|
|
990
|
+
t(this, M).shadowRoot.innerHTML = `
|
|
988
991
|
<style>
|
|
989
992
|
:host {
|
|
990
993
|
display: flex;
|
|
@@ -1075,39 +1078,39 @@ const Ne = class Ne {
|
|
|
1075
1078
|
</nine-table-body>
|
|
1076
1079
|
<nine-table-footer></nine-table-footer>
|
|
1077
1080
|
`;
|
|
1078
|
-
const o = t(this,
|
|
1081
|
+
const o = t(this, M).shadowRoot.querySelectorAll("nine-table-sheet");
|
|
1079
1082
|
o == null || o.forEach((c, l) => {
|
|
1080
1083
|
e[l] && setTimeout(() => {
|
|
1081
1084
|
c.generate(e[l]), s && t(this, Tt).call(this);
|
|
1082
1085
|
});
|
|
1083
1086
|
});
|
|
1084
1087
|
}, "#render"));
|
|
1085
|
-
y(this,
|
|
1088
|
+
y(this, M, i), t(this, Gt).call(this);
|
|
1086
1089
|
}
|
|
1087
1090
|
};
|
|
1088
|
-
|
|
1091
|
+
M = new WeakMap(), Gt = new WeakMap(), Tt = new WeakMap(), Jt = new WeakMap(), h(Ne, "LayoutManager");
|
|
1089
1092
|
let ue = Ne;
|
|
1090
1093
|
var Ct, dt;
|
|
1091
1094
|
const We = class We {
|
|
1092
|
-
constructor(
|
|
1095
|
+
constructor(i) {
|
|
1093
1096
|
d(this, Ct);
|
|
1094
1097
|
d(this, dt, -1);
|
|
1095
1098
|
E(this, "count", /* @__PURE__ */ h(() => t(this, Ct).rawRecords.length, "count"));
|
|
1096
|
-
y(this, Ct,
|
|
1099
|
+
y(this, Ct, i);
|
|
1097
1100
|
}
|
|
1098
1101
|
get at() {
|
|
1099
1102
|
return t(this, dt);
|
|
1100
1103
|
}
|
|
1101
|
-
set at(
|
|
1102
|
-
y(this, dt, parseInt(
|
|
1104
|
+
set at(i) {
|
|
1105
|
+
y(this, dt, parseInt(i, 10)), body && !body.querySelector(`tbody.bindable tr[data-row="${t(this, dt)}"]`) && setTimeout(() => {
|
|
1103
1106
|
});
|
|
1104
1107
|
}
|
|
1105
1108
|
};
|
|
1106
1109
|
Ct = new WeakMap(), dt = new WeakMap(), h(We, "ngRow");
|
|
1107
1110
|
let ge = We;
|
|
1108
|
-
var _, k, N, ft, Qt, Y, te,
|
|
1111
|
+
var _, k, N, ft, Qt, Y, te, it, Lt, ee, se, ut;
|
|
1109
1112
|
const O = class O {
|
|
1110
|
-
constructor(
|
|
1113
|
+
constructor(i, e) {
|
|
1111
1114
|
d(this, _);
|
|
1112
1115
|
d(this, k);
|
|
1113
1116
|
d(this, N, []);
|
|
@@ -1116,34 +1119,34 @@ const O = class O {
|
|
|
1116
1119
|
d(this, Y, []);
|
|
1117
1120
|
d(this, te, /* @__PURE__ */ h(() => {
|
|
1118
1121
|
y(this, Y, []);
|
|
1119
|
-
const
|
|
1120
|
-
Array.from(
|
|
1122
|
+
const i = t(this, _).template || [];
|
|
1123
|
+
Array.from(i).forEach((e) => {
|
|
1121
1124
|
var s;
|
|
1122
1125
|
t(this, Y).push(((s = e.getBoundingClientRect) == null ? void 0 : s.call(e).height) || 24);
|
|
1123
1126
|
}), (t(this, k).rawRecords || []).forEach((e) => {
|
|
1124
1127
|
e.__ng || (e.__ng = t(this, Lt).call(this)), e.__ng.height = t(this, Y).slice();
|
|
1125
1128
|
});
|
|
1126
1129
|
}, "#initialize"));
|
|
1127
|
-
d(this,
|
|
1128
|
-
t(this, _).shadowRoot.querySelectorAll("nine-table-sheet").forEach((
|
|
1129
|
-
|
|
1130
|
+
d(this, it, /* @__PURE__ */ h(() => {
|
|
1131
|
+
t(this, _).shadowRoot.querySelectorAll("nine-table-sheet").forEach((i) => {
|
|
1132
|
+
i.invalidate();
|
|
1130
1133
|
});
|
|
1131
1134
|
}, "#invalidate"));
|
|
1132
|
-
E(this, "get", /* @__PURE__ */ h((
|
|
1135
|
+
E(this, "get", /* @__PURE__ */ h((i, e) => {
|
|
1133
1136
|
var n;
|
|
1134
1137
|
const s = this.getValidData();
|
|
1135
1138
|
if (!s || s.length <= 0) return;
|
|
1136
|
-
if (
|
|
1137
|
-
if (
|
|
1138
|
-
const
|
|
1139
|
+
if (i == null) return t(this, ut).call(this, s);
|
|
1140
|
+
if (i < 0 || i >= s.length) return null;
|
|
1141
|
+
const r = typeof ((n = t(this, _).fields) == null ? void 0 : n.get) == "function" ? t(this, _).fields.get() : [];
|
|
1139
1142
|
if (e != null) {
|
|
1140
|
-
const a =
|
|
1141
|
-
return a >= 0 ? s[
|
|
1143
|
+
const a = r.indexOf(e);
|
|
1144
|
+
return a >= 0 ? s[i].v[a] : null;
|
|
1142
1145
|
}
|
|
1143
|
-
return t(this, ut).call(this, s[
|
|
1146
|
+
return t(this, ut).call(this, s[i]);
|
|
1144
1147
|
}, "get"));
|
|
1145
|
-
E(this, "set", /* @__PURE__ */ h((
|
|
1146
|
-
this.clear(), this.add(
|
|
1148
|
+
E(this, "set", /* @__PURE__ */ h((i) => {
|
|
1149
|
+
this.clear(), this.add(i, !1), t(this, it).call(this);
|
|
1147
1150
|
}, "set"));
|
|
1148
1151
|
d(this, Lt, /* @__PURE__ */ h(() => ({
|
|
1149
1152
|
rowState: O.ROW_STATE.EMPTY,
|
|
@@ -1155,84 +1158,84 @@ const O = class O {
|
|
|
1155
1158
|
_: [0, 0, 0, 0, O.ROW_STATE.EMPTY, !1, !1, !0, !1, !0, !0, !1, t(this, Y).slice(), -1, {}, {}]
|
|
1156
1159
|
}), "#getDefaultMeta"));
|
|
1157
1160
|
E(this, "reset", /* @__PURE__ */ h(() => {
|
|
1158
|
-
y(this, N, []), y(this, ft, []), t(this,
|
|
1161
|
+
y(this, N, []), y(this, ft, []), t(this, it).call(this);
|
|
1159
1162
|
}, "reset"));
|
|
1160
1163
|
E(this, "clear", /* @__PURE__ */ h(() => {
|
|
1161
|
-
var r;
|
|
1162
|
-
t(this, k).rawRecords = [], y(this, N, []), y(this, ft, []), (r = t(this, k).viewRecords) != null && r.reset && t(this, k).viewRecords.reset();
|
|
1163
|
-
}, "clear"));
|
|
1164
|
-
d(this, ee, /* @__PURE__ */ h((r) => {
|
|
1165
1164
|
var i;
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1165
|
+
t(this, k).rawRecords = [], y(this, N, []), y(this, ft, []), (i = t(this, k).viewRecords) != null && i.reset && t(this, k).viewRecords.reset();
|
|
1166
|
+
}, "clear"));
|
|
1167
|
+
d(this, ee, /* @__PURE__ */ h((i) => {
|
|
1168
|
+
var r;
|
|
1169
|
+
Array.isArray(i) || (i = [i]);
|
|
1170
|
+
const e = typeof ((r = t(this, _).fields) == null ? void 0 : r.get) == "function" ? t(this, _).fields.get() : Object.keys(i[0] || {}), s = [];
|
|
1171
|
+
return i.forEach((n) => {
|
|
1169
1172
|
const a = { v: [] };
|
|
1170
1173
|
e.forEach((o) => {
|
|
1171
1174
|
a.v.push(n[o] !== void 0 && n[o] !== null ? n[o] : "");
|
|
1172
1175
|
}), s.push(a);
|
|
1173
1176
|
}), s;
|
|
1174
1177
|
}, "#json2Array"));
|
|
1175
|
-
d(this, se, /* @__PURE__ */ h((
|
|
1178
|
+
d(this, se, /* @__PURE__ */ h((i) => (Array.isArray(i) || (i = [i]), i.forEach((e) => {
|
|
1176
1179
|
e.__ng = t(this, Lt).call(this), e.__ng.rowid = this.nextId, e.__ng.rowState = O.ROW_STATE.INSERT, e.__ng._[0] = e.__ng.rowid;
|
|
1177
|
-
}),
|
|
1178
|
-
E(this, "add", /* @__PURE__ */ h((
|
|
1179
|
-
|
|
1180
|
-
const s = t(this, ee).call(this,
|
|
1180
|
+
}), i), "#defaultInsert"));
|
|
1181
|
+
E(this, "add", /* @__PURE__ */ h((i, e = !0) => {
|
|
1182
|
+
i === void 0 && (i = {});
|
|
1183
|
+
const s = t(this, ee).call(this, i);
|
|
1181
1184
|
t(this, k).rawRecords = t(this, k).rawRecords.concat(t(this, se).call(this, s)), this.resetRecords();
|
|
1182
|
-
const
|
|
1185
|
+
const r = this.count() - 1;
|
|
1183
1186
|
return e || s.forEach((n, a) => {
|
|
1184
|
-
const o = t(this, k).rawRecords[
|
|
1187
|
+
const o = t(this, k).rawRecords[r - a];
|
|
1185
1188
|
o && (o.__ng.rowState = O.ROW_STATE.EMPTY);
|
|
1186
|
-
}), t(this,
|
|
1189
|
+
}), t(this, it).call(this), r;
|
|
1187
1190
|
}, "add"));
|
|
1188
|
-
E(this, "delete", /* @__PURE__ */ h((
|
|
1191
|
+
E(this, "delete", /* @__PURE__ */ h((i) => {
|
|
1189
1192
|
let e = [];
|
|
1190
|
-
Array.isArray(
|
|
1193
|
+
Array.isArray(i) ? e = i : typeof i > "u" ? e = [t(this, k).host.row.at] : e = [parseInt(i, 10)], e.sort((s, r) => r - s).forEach((s) => {
|
|
1191
1194
|
if (t(this, N)[s]) {
|
|
1192
|
-
const
|
|
1193
|
-
t(this, N)[s].__ng.rowState === O.ROW_STATE.INSERT ? t(this, k).rawRecords = t(this, k).rawRecords.filter((n) => n.__ng.rowid !==
|
|
1194
|
-
n.__ng.rowid ===
|
|
1195
|
+
const r = t(this, N)[s].__ng.rowid;
|
|
1196
|
+
t(this, N)[s].__ng.rowState === O.ROW_STATE.INSERT ? t(this, k).rawRecords = t(this, k).rawRecords.filter((n) => n.__ng.rowid !== r) : t(this, k).rawRecords.forEach((n) => {
|
|
1197
|
+
n.__ng.rowid === r && (n.__ng.deleted = !0, n.__ng.rowState = O.ROW_STATE.DELETE);
|
|
1195
1198
|
});
|
|
1196
1199
|
}
|
|
1197
|
-
}), this.resetRecords(), t(this,
|
|
1200
|
+
}), this.resetRecords(), t(this, it).call(this);
|
|
1198
1201
|
}, "delete"));
|
|
1199
|
-
E(this, "setValue", /* @__PURE__ */ h((
|
|
1202
|
+
E(this, "setValue", /* @__PURE__ */ h((i, e, s) => {
|
|
1200
1203
|
var c;
|
|
1201
|
-
|
|
1204
|
+
i = parseInt(i, 10);
|
|
1202
1205
|
const n = (typeof ((c = t(this, _).fields) == null ? void 0 : c.get) == "function" ? t(this, _).fields.get() : []).indexOf(e);
|
|
1203
1206
|
if (n < 0) return;
|
|
1204
|
-
const a = this.getValidData()[
|
|
1207
|
+
const a = this.getValidData()[i];
|
|
1205
1208
|
if (!a) return;
|
|
1206
1209
|
const o = a.v[n];
|
|
1207
1210
|
o !== s && a.__ng.rowState !== O.ROW_STATE.INSERT && (a.__ng.o.hasOwnProperty(e) || (a.__ng.o[e] = o), a.__ng.rowState = O.ROW_STATE.UPDATE), a.v[n] = s;
|
|
1208
1211
|
}, "setValue"));
|
|
1209
1212
|
E(this, "resetRecords", /* @__PURE__ */ h(() => {
|
|
1210
|
-
y(this, ft, t(this, k).rawRecords.filter((
|
|
1211
|
-
|
|
1212
|
-
}), t(this, N).forEach((
|
|
1213
|
-
|
|
1213
|
+
y(this, ft, t(this, k).rawRecords.filter((i) => !i.__ng.deleted)), y(this, N, t(this, k).rawRecords.filter((i) => !i.__ng.deleted && !i.__ng.filtered)), t(this, k).rawRecords.forEach((i, e) => {
|
|
1214
|
+
i.__ng.rowidx = e;
|
|
1215
|
+
}), t(this, N).forEach((i, e) => {
|
|
1216
|
+
i.__ng.i = e;
|
|
1214
1217
|
});
|
|
1215
1218
|
}, "resetRecords"));
|
|
1216
1219
|
E(this, "getValidData", /* @__PURE__ */ h(() => (t(this, N).length === 0 && t(this, k).rawRecords.length > 0 && this.resetRecords(), t(this, N)), "getValidData"));
|
|
1217
|
-
d(this, ut, /* @__PURE__ */ h((
|
|
1220
|
+
d(this, ut, /* @__PURE__ */ h((i) => {
|
|
1218
1221
|
var a;
|
|
1219
|
-
if (!
|
|
1220
|
-
const e = !Array.isArray(
|
|
1222
|
+
if (!i) return i;
|
|
1223
|
+
const e = !Array.isArray(i), s = e ? [i] : i, r = typeof ((a = t(this, _).fields) == null ? void 0 : a.get) == "function" ? t(this, _).fields.get() : [], n = s.filter((o) => !o.__ng.deleted).map((o) => {
|
|
1221
1224
|
const c = {};
|
|
1222
|
-
return
|
|
1225
|
+
return r.forEach((l, f) => {
|
|
1223
1226
|
c[l] = o.v ? o.v[f] : o[l];
|
|
1224
1227
|
}), c.__ng = o.__ng, c;
|
|
1225
1228
|
});
|
|
1226
1229
|
return e ? n[0] : n;
|
|
1227
1230
|
}, "#conv"));
|
|
1228
1231
|
E(this, "count", /* @__PURE__ */ h(() => this.getValidData().length, "count"));
|
|
1229
|
-
y(this, _,
|
|
1232
|
+
y(this, _, i), y(this, k, e), t(this, te).call(this);
|
|
1230
1233
|
}
|
|
1231
1234
|
get source() {
|
|
1232
1235
|
return t(this, ut).call(this, t(this, k).rawRecords);
|
|
1233
1236
|
}
|
|
1234
|
-
set source(
|
|
1235
|
-
this.clear(), this.add(
|
|
1237
|
+
set source(i) {
|
|
1238
|
+
this.clear(), this.add(i, !1);
|
|
1236
1239
|
}
|
|
1237
1240
|
get nextId() {
|
|
1238
1241
|
return ++Ue(this, Qt)._;
|
|
@@ -1247,7 +1250,7 @@ const O = class O {
|
|
|
1247
1250
|
return this.length;
|
|
1248
1251
|
}
|
|
1249
1252
|
};
|
|
1250
|
-
_ = new WeakMap(), k = new WeakMap(), N = new WeakMap(), ft = new WeakMap(), Qt = new WeakMap(), Y = new WeakMap(), te = new WeakMap(),
|
|
1253
|
+
_ = new WeakMap(), k = new WeakMap(), N = new WeakMap(), ft = new WeakMap(), Qt = new WeakMap(), Y = new WeakMap(), te = new WeakMap(), it = new WeakMap(), Lt = new WeakMap(), ee = new WeakMap(), se = new WeakMap(), ut = new WeakMap(), h(O, "ngData"), // π― ν μν μ μ μμλ₯Ό ν΄λμ€ λ΄λΆλ‘ λ΄μ¬ν
|
|
1251
1254
|
E(O, "ROW_STATE", {
|
|
1252
1255
|
EMPTY: "EMPTY",
|
|
1253
1256
|
NORMAL: "NORMAL",
|
|
@@ -1256,56 +1259,56 @@ E(O, "ROW_STATE", {
|
|
|
1256
1259
|
DELETE: "DELETE"
|
|
1257
1260
|
});
|
|
1258
1261
|
let be = O;
|
|
1259
|
-
var
|
|
1262
|
+
var rt;
|
|
1260
1263
|
const Oe = class Oe {
|
|
1261
|
-
constructor(
|
|
1262
|
-
d(this,
|
|
1263
|
-
y(this,
|
|
1264
|
+
constructor(i) {
|
|
1265
|
+
d(this, rt);
|
|
1266
|
+
y(this, rt, i), this.row = new ge(this), this.data = new be(t(this, rt), this), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.pageCnt = 25, this.viewRecords.reset = () => {
|
|
1264
1267
|
var e;
|
|
1265
|
-
(e = t(this,
|
|
1268
|
+
(e = t(this, rt).view) != null && e.redraw && t(this, rt).view.redraw();
|
|
1266
1269
|
}, this.setDataSource = (e) => {
|
|
1267
1270
|
this.data && this.data.reset(), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.data.set(e || []);
|
|
1268
1271
|
}, this.getRowState = (e) => {
|
|
1269
|
-
var
|
|
1272
|
+
var r, n;
|
|
1270
1273
|
const s = parseInt(e, 10);
|
|
1271
1274
|
if (!(s >= this.data.count()))
|
|
1272
|
-
return (n = (
|
|
1275
|
+
return (n = (r = this.data.getValidData()[s]) == null ? void 0 : r.__ng) == null ? void 0 : n.rowState;
|
|
1273
1276
|
}, this.getRowPosition = () => this.row.at, this.setRowPosition = (e) => {
|
|
1274
1277
|
this.row.at = e;
|
|
1275
|
-
}, 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,
|
|
1276
|
-
e = parseInt(e, 10), this.data.setValue(e, s,
|
|
1278
|
+
}, 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, r) => {
|
|
1279
|
+
e = parseInt(e, 10), this.data.setValue(e, s, r);
|
|
1277
1280
|
}, this.setDataSource([]);
|
|
1278
1281
|
}
|
|
1279
1282
|
};
|
|
1280
|
-
|
|
1283
|
+
rt = new WeakMap(), h(Oe, "ngDataManager");
|
|
1281
1284
|
let ye = Oe;
|
|
1282
|
-
var gt, L, Ht,
|
|
1285
|
+
var gt, L, Ht, ie;
|
|
1283
1286
|
const Be = class Be {
|
|
1284
1287
|
// π― μ΄μ { name: string, type: string } κ°μ²΄λ€μ λ°°μ΄λ‘ κ΄λ¦¬ν©λλ€.
|
|
1285
|
-
constructor(
|
|
1288
|
+
constructor(i) {
|
|
1286
1289
|
d(this, gt);
|
|
1287
1290
|
d(this, L, []);
|
|
1288
|
-
E(this, "add", /* @__PURE__ */ h((
|
|
1289
|
-
|
|
1290
|
-
t(this, L).some((
|
|
1291
|
+
E(this, "add", /* @__PURE__ */ h((i, e = "string") => {
|
|
1292
|
+
i.forEach((s) => {
|
|
1293
|
+
t(this, L).some((r) => r.name === s) || t(this, L).push({ name: s, type: e });
|
|
1291
1294
|
}), t(this, Ht).call(this);
|
|
1292
1295
|
}, "add"));
|
|
1293
1296
|
d(this, Ht, /* @__PURE__ */ h(() => {
|
|
1294
|
-
const
|
|
1297
|
+
const i = /* @__PURE__ */ new Map();
|
|
1295
1298
|
t(this, L).forEach((e) => {
|
|
1296
|
-
|
|
1297
|
-
}), y(this, L, Array.from(
|
|
1299
|
+
i.set(e.name, e.type);
|
|
1300
|
+
}), y(this, L, Array.from(i, ([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);
|
|
1298
1301
|
}, "#adjust"));
|
|
1299
|
-
d(this,
|
|
1300
|
-
y(this, L, []),
|
|
1301
|
-
const
|
|
1302
|
-
if (!(!
|
|
1303
|
-
for (const e of
|
|
1304
|
-
|
|
1305
|
-
const n =
|
|
1302
|
+
d(this, ie, /* @__PURE__ */ h(() => {
|
|
1303
|
+
y(this, L, []), I.log(t(this, gt).querySelectorAll("table"));
|
|
1304
|
+
const i = Array.from(t(this, gt).querySelectorAll("table"));
|
|
1305
|
+
if (!(!i || i.length === 0)) {
|
|
1306
|
+
for (const e of i)
|
|
1307
|
+
I.log(e), $("[data-bind]", e).each((s, r) => {
|
|
1308
|
+
const n = r.dataset.bind, a = r.getAttribute("data-type") || "string";
|
|
1306
1309
|
n && t(this, L).push({ name: n, type: a });
|
|
1307
1310
|
}), ["data-expr", "background-color", "color", "tooltip", "visible", "readonly", "enable-button", "enable-check", "class-expr", "icon-color", "icon-src"].forEach((s) => {
|
|
1308
|
-
$(`[${s}]`, e).each((
|
|
1311
|
+
$(`[${s}]`, e).each((r, n) => {
|
|
1309
1312
|
var a = n.getAttribute(s);
|
|
1310
1313
|
if (a.indexOf("data.") < 0) {
|
|
1311
1314
|
const o = a.search(/[(]/g);
|
|
@@ -1328,39 +1331,39 @@ const Be = class Be {
|
|
|
1328
1331
|
t(this, Ht).call(this);
|
|
1329
1332
|
}
|
|
1330
1333
|
}, "#init"));
|
|
1331
|
-
y(this, gt,
|
|
1334
|
+
y(this, gt, i), t(this, ie).call(this);
|
|
1332
1335
|
}
|
|
1333
1336
|
// π― κΈ°μ‘΄μ νλ μ΄λ¦λ§ μ°λ κ³³λ€κ³Όμ νΈνμ μν΄ μ΄λ¦ λ°°μ΄λ§ 리ν΄νλ λ©μλ μ μ§
|
|
1334
1337
|
get() {
|
|
1335
|
-
return t(this, L).map((
|
|
1338
|
+
return t(this, L).map((i) => i.name);
|
|
1336
1339
|
}
|
|
1337
1340
|
// π― λ΄λΆ κ°μ²΄ ν΅μ§Έλ‘ μ»κΈ°
|
|
1338
1341
|
getFields() {
|
|
1339
1342
|
return t(this, L);
|
|
1340
1343
|
}
|
|
1341
1344
|
// π― νΉμ νλμ λ°μ΄ν° νμ
μ‘°ν
|
|
1342
|
-
getType(
|
|
1343
|
-
const e = t(this, L).find((s) => s.name ===
|
|
1345
|
+
getType(i) {
|
|
1346
|
+
const e = t(this, L).find((s) => s.name === i);
|
|
1344
1347
|
return e ? e.type : "string";
|
|
1345
1348
|
}
|
|
1346
|
-
indexOf(
|
|
1347
|
-
return t(this, L).findIndex((e) => e.name ===
|
|
1349
|
+
indexOf(i) {
|
|
1350
|
+
return t(this, L).findIndex((e) => e.name === i);
|
|
1348
1351
|
}
|
|
1349
|
-
includes(
|
|
1350
|
-
return t(this, L).some((e) => e.name ===
|
|
1352
|
+
includes(i) {
|
|
1353
|
+
return t(this, L).some((e) => e.name === i);
|
|
1351
1354
|
}
|
|
1352
1355
|
};
|
|
1353
|
-
gt = new WeakMap(), L = new WeakMap(), Ht = new WeakMap(),
|
|
1356
|
+
gt = new WeakMap(), L = new WeakMap(), Ht = new WeakMap(), ie = new WeakMap(), h(Be, "ngFields");
|
|
1354
1357
|
let pe = Be;
|
|
1355
|
-
var nt,
|
|
1358
|
+
var nt, re, ne;
|
|
1356
1359
|
const ze = class ze extends HTMLElement {
|
|
1357
1360
|
constructor() {
|
|
1358
1361
|
super();
|
|
1359
1362
|
//#created = false;
|
|
1360
1363
|
d(this, nt);
|
|
1361
|
-
d(this,
|
|
1364
|
+
d(this, re);
|
|
1362
1365
|
d(this, ne, /* @__PURE__ */ h(() => {
|
|
1363
|
-
this.fields = new pe(this), y(this,
|
|
1366
|
+
this.fields = new pe(this), y(this, re, new ue(this)), I.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } }));
|
|
1364
1367
|
}, "#init"));
|
|
1365
1368
|
this.attachShadow({ mode: "open" }), y(this, nt, new ye(this));
|
|
1366
1369
|
}
|
|
@@ -1368,7 +1371,7 @@ const ze = class ze extends HTMLElement {
|
|
|
1368
1371
|
t(this, ne).call(this);
|
|
1369
1372
|
}
|
|
1370
1373
|
disconnectedCallback() {
|
|
1371
|
-
|
|
1374
|
+
I.log("NineTable disconnected.");
|
|
1372
1375
|
}
|
|
1373
1376
|
// π― μΈλΆμμ grid.data.set(...) ννλ‘ μ κ·Όν μ μλλ‘ λ°μ΄ν° λ§€λμ μ€ν
|
|
1374
1377
|
get data() {
|
|
@@ -1383,7 +1386,7 @@ const ze = class ze extends HTMLElement {
|
|
|
1383
1386
|
return t(this, nt);
|
|
1384
1387
|
}
|
|
1385
1388
|
};
|
|
1386
|
-
nt = new WeakMap(),
|
|
1389
|
+
nt = new WeakMap(), re = new WeakMap(), ne = new WeakMap(), h(ze, "NineTable");
|
|
1387
1390
|
let me = ze;
|
|
1388
1391
|
customElements.get("nine-table") || customElements.define("nine-table", me);
|
|
1389
1392
|
const xt = class xt extends HTMLElement {
|
|
@@ -1413,13 +1416,13 @@ const Pe = class Pe extends xe {
|
|
|
1413
1416
|
E(this, "getDisplayText", /* @__PURE__ */ h((e) => {
|
|
1414
1417
|
if (t(this, p))
|
|
1415
1418
|
if (t(this, p).closest("tbody")) {
|
|
1416
|
-
const s = t(this, p).closest("tr").data,
|
|
1419
|
+
const s = t(this, p).closest("tr").data, r = parseInt(t(this, p).dataset.row);
|
|
1417
1420
|
if (!s) return "";
|
|
1418
1421
|
if (ninegrid.isNull(t(this, p).dataset.expr)) {
|
|
1419
1422
|
if (!ninegrid.isNull(t(this, p).dataset.bind))
|
|
1420
1423
|
return s[t(this, p).dataset.bind] || ninegrid.nvl(e, "");
|
|
1421
1424
|
} else try {
|
|
1422
|
-
return this.getExprValue(t(this, p).dataset.expr, s,
|
|
1425
|
+
return this.getExprValue(t(this, p).dataset.expr, s, r, t(this, p));
|
|
1423
1426
|
} catch {
|
|
1424
1427
|
console.error(t(this, p).dataset.expr, s, t(this, p).dataset.row);
|
|
1425
1428
|
}
|
|
@@ -1434,14 +1437,14 @@ const Pe = class Pe extends xe {
|
|
|
1434
1437
|
if (!(!t(this, T) || !t(this, T).template || !t(this, p).closest("tbody.bindable"))) {
|
|
1435
1438
|
var e = ninegrid.j.querySelectorAll(t(this, p)).attr("suppress");
|
|
1436
1439
|
if (e && (e = parseInt(e)), e && !isNaN(e)) {
|
|
1437
|
-
var s = t(this, p).closest("tr"),
|
|
1440
|
+
var s = t(this, p).closest("tr"), r = [];
|
|
1438
1441
|
$("th,td", s).each((m, W) => {
|
|
1439
1442
|
var C = ninegrid.j.querySelectorAll(W).attr("suppress");
|
|
1440
|
-
C && W.dataset.row && (C = parseInt(C), !isNaN(C) && C <= e &&
|
|
1441
|
-
}),
|
|
1443
|
+
C && W.dataset.row && (C = parseInt(C), !isNaN(C) && C <= e && r.push(C));
|
|
1444
|
+
}), r.sort();
|
|
1442
1445
|
var n = !1;
|
|
1443
1446
|
if (parseInt(s.sectionRowIndex / t(this, T).template.length) > 0)
|
|
1444
|
-
for (var a of
|
|
1447
|
+
for (var a of r) {
|
|
1445
1448
|
if (a > e) break;
|
|
1446
1449
|
var o = parseInt(t(this, p).dataset.row), c = o - 1, l = t(this, p).closest("tr").data, f = t(this, T).data.get(c);
|
|
1447
1450
|
t(this, p).dataset.matrixRow;
|
|
@@ -1459,12 +1462,12 @@ const Pe = class Pe extends xe {
|
|
|
1459
1462
|
}
|
|
1460
1463
|
}
|
|
1461
1464
|
}, "#resetSuppress"));
|
|
1462
|
-
E(this, "getExprValue", /* @__PURE__ */ h((e, s,
|
|
1465
|
+
E(this, "getExprValue", /* @__PURE__ */ h((e, s, r, n) => {
|
|
1463
1466
|
if (typeof e < "u")
|
|
1464
1467
|
try {
|
|
1465
|
-
|
|
1468
|
+
r = parseInt(r);
|
|
1466
1469
|
const a = e.replace("()", "");
|
|
1467
|
-
return t(this, T)[a] ? t(this, T)[a].call(this, s,
|
|
1470
|
+
return t(this, T)[a] ? t(this, T)[a].call(this, s, r, t(this, p)) : t(this, T).exprFunction(e).call(this, s, r, t(this, T).data);
|
|
1468
1471
|
} catch {
|
|
1469
1472
|
return ["NG-COMBO"].includes(this.tagName) ? "" : e;
|
|
1470
1473
|
}
|
|
@@ -1481,8 +1484,8 @@ const Pe = class Pe extends xe {
|
|
|
1481
1484
|
}
|
|
1482
1485
|
set value(e) {
|
|
1483
1486
|
var s = parseInt(t(this, p).dataset.row);
|
|
1484
|
-
const
|
|
1485
|
-
s < 0 ? t(this, T).data.setValueNF(parseInt(t(this, p).dataset.index), t(this, p).dataset.bind, e,
|
|
1487
|
+
const r = this.getAttribute("update-row-state") != "false";
|
|
1488
|
+
s < 0 ? t(this, T).data.setValueNF(parseInt(t(this, p).dataset.index), t(this, p).dataset.bind, e, r) : t(this, T).data.setValue(s, t(this, p).dataset.bind, e, r);
|
|
1486
1489
|
}
|
|
1487
1490
|
get row() {
|
|
1488
1491
|
return parseInt(t(this, p).dataset.row);
|
|
@@ -1522,7 +1525,7 @@ const je = class je extends we {
|
|
|
1522
1525
|
d(this, U);
|
|
1523
1526
|
E(this, "refresh", /* @__PURE__ */ h(() => {
|
|
1524
1527
|
const e = super.refresh();
|
|
1525
|
-
|
|
1528
|
+
I.log("::", e), t(this, $t).value = e;
|
|
1526
1529
|
}, "refresh"));
|
|
1527
1530
|
/**
|
|
1528
1531
|
dataRefresh = (v) => {
|
|
@@ -1559,9 +1562,9 @@ const je = class je extends we {
|
|
|
1559
1562
|
if (t(this, ot) == "number") {
|
|
1560
1563
|
let n = [];
|
|
1561
1564
|
if (t(this, U) && Number(t(this, U)) > 0 && n.push("."), t(this, yt) && Number(t(this, yt)) >= 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) {
|
|
1562
|
-
var s = e.target.value,
|
|
1563
|
-
if (
|
|
1564
|
-
var s = s.substr(
|
|
1565
|
+
var s = e.target.value, r = s.indexOf(".");
|
|
1566
|
+
if (r >= 0) {
|
|
1567
|
+
var s = s.substr(r + 1, s.length);
|
|
1565
1568
|
s.length >= Number(t(this, U)) && e.preventDefault();
|
|
1566
1569
|
}
|
|
1567
1570
|
}
|