@ninebone/table 0.0.448 → 0.0.450
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 +260 -277
- package/dist/nine-table.js.map +1 -1
- package/dist/nine-table.umd.js +6 -6
- package/dist/nine-table.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/nine-table.js
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
1
|
+
var ze = Object.defineProperty;
|
|
2
|
+
var Pe = (R) => {
|
|
3
3
|
throw TypeError(R);
|
|
4
4
|
};
|
|
5
|
-
var Ve = (R, i, e) => i in R ?
|
|
6
|
-
var c = (R, i) =>
|
|
7
|
-
var S = (R, i, e) => Ve(R, typeof i != "symbol" ? i + "" : i, e), je = (R, i, e) => i.has(R) ||
|
|
8
|
-
var t = (R, i, e) => (je(R, i, "read from private field"), e ? e.call(R) : i.get(R)), d = (R, i, e) => i.has(R) ?
|
|
5
|
+
var Ve = (R, i, e) => i in R ? ze(R, i, { enumerable: !0, configurable: !0, writable: !0, value: e }) : R[i] = e;
|
|
6
|
+
var c = (R, i) => ze(R, "name", { value: i, configurable: !0 });
|
|
7
|
+
var S = (R, i, e) => Ve(R, typeof i != "symbol" ? i + "" : i, e), je = (R, i, e) => i.has(R) || Pe("Cannot " + e);
|
|
8
|
+
var t = (R, i, e) => (je(R, i, "read from private field"), e ? e.call(R) : i.get(R)), d = (R, i, e) => i.has(R) ? Pe("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(R) : i.set(R, e), y = (R, i, e, s) => (je(R, i, "write to private field"), s ? s.call(R, e) : i.set(R, e), e);
|
|
9
9
|
var Fe = (R, i, e, s) => ({
|
|
10
|
-
set _(
|
|
11
|
-
y(R, i,
|
|
10
|
+
set _(r) {
|
|
11
|
+
y(R, i, r, e);
|
|
12
12
|
},
|
|
13
13
|
get _() {
|
|
14
14
|
return t(R, i, s);
|
|
15
15
|
}
|
|
16
16
|
});
|
|
17
17
|
import { trace as Ye } from "@ninebone/util";
|
|
18
|
-
const
|
|
18
|
+
const Te = class Te extends Ye.constructor {
|
|
19
19
|
constructor() {
|
|
20
20
|
super(), this.init("nine-table", "green");
|
|
21
21
|
}
|
|
22
22
|
};
|
|
23
|
-
c(
|
|
24
|
-
let
|
|
25
|
-
const
|
|
26
|
-
var B,
|
|
27
|
-
const
|
|
23
|
+
c(Te, "Trace");
|
|
24
|
+
let ne = Te;
|
|
25
|
+
const nt = new ne();
|
|
26
|
+
var B, P, w, U, X, K, $t, Z, Mt;
|
|
27
|
+
const Ce = class Ce extends HTMLElement {
|
|
28
28
|
constructor() {
|
|
29
29
|
super();
|
|
30
30
|
d(this, B);
|
|
31
|
-
d(this,
|
|
31
|
+
d(this, P, !1);
|
|
32
32
|
d(this, w);
|
|
33
33
|
d(this, U);
|
|
34
34
|
d(this, X);
|
|
@@ -41,73 +41,73 @@ const Te = class Te extends HTMLElement {
|
|
|
41
41
|
})), t(this, K).observe(e));
|
|
42
42
|
}, "#observeResize"));
|
|
43
43
|
S(this, "refresh", /* @__PURE__ */ c(() => {
|
|
44
|
-
if (!t(this, B) || !t(this, w) || t(this,
|
|
44
|
+
if (!t(this, B) || !t(this, w) || t(this, P)) 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, o = t(this, B).querySelector(".ng-container-bottom"), a = e.clientWidth, h = s.scrollWidth;
|
|
48
48
|
if (a !== 0 && h > a)
|
|
49
49
|
o && (o.style.display = "flex");
|
|
50
50
|
else {
|
|
51
51
|
o && (o.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 * (a / h), l), 20);
|
|
57
|
-
|
|
57
|
+
n.style.width = `${f}px`;
|
|
58
58
|
const u = e.scrollLeft, b = h - a;
|
|
59
59
|
let g = 0;
|
|
60
60
|
b > 0 && (g = parseInt(u / b * (l - f), 10)), g < 0 && (g = 0);
|
|
61
61
|
const m = l - f;
|
|
62
|
-
g > m && (g = m),
|
|
62
|
+
g > m && (g = m), n.style.left = `${g}px`, t(this, w).left.disabled = g === 0, t(this, w).right.disabled = g >= m - 1;
|
|
63
63
|
}, "refresh"));
|
|
64
64
|
d(this, Z, /* @__PURE__ */ c((e) => {
|
|
65
65
|
if (!t(this, w)) return !1;
|
|
66
|
-
const s = t(this, w).container,
|
|
67
|
-
if (!
|
|
68
|
-
const
|
|
66
|
+
const s = t(this, w).container, r = s.querySelector("table");
|
|
67
|
+
if (!r) return !1;
|
|
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 h =
|
|
71
|
+
const h = n.width - o;
|
|
72
72
|
a > h && (a = h), 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 >= h - 1;
|
|
73
|
-
const l = s.clientWidth, u =
|
|
73
|
+
const l = s.clientWidth, u = r.scrollWidth - l;
|
|
74
74
|
return h > 0 && u > 0 && (s.scrollLeft = a / h * u), a > 0 && a < h - 1;
|
|
75
75
|
}, "#thumbMoveTo"));
|
|
76
76
|
d(this, Mt, /* @__PURE__ */ c(() => {
|
|
77
|
-
const e = /* @__PURE__ */ c((
|
|
77
|
+
const e = /* @__PURE__ */ c((r) => {
|
|
78
78
|
clearInterval(t(this, U)), clearInterval(t(this, X));
|
|
79
|
-
const
|
|
80
|
-
t(this, Z).call(this,
|
|
79
|
+
const n = parseInt(t(this, w).thumb.style.left || 0, 10);
|
|
80
|
+
t(this, Z).call(this, n + r), y(this, U, setInterval(() => {
|
|
81
81
|
clearInterval(t(this, U)), y(this, X, setInterval(() => {
|
|
82
82
|
const o = parseInt(t(this, w).thumb.style.left || 0, 10);
|
|
83
|
-
t(this, Z).call(this, o +
|
|
83
|
+
t(this, Z).call(this, o + r) || clearInterval(t(this, X));
|
|
84
84
|
}, 50));
|
|
85
85
|
}, 500));
|
|
86
86
|
}, "delayScroll"), s = /* @__PURE__ */ c(() => {
|
|
87
87
|
clearInterval(t(this, U)), clearInterval(t(this, X));
|
|
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
|
-
|
|
98
|
-
const
|
|
99
|
-
t(this, Z).call(this,
|
|
100
|
-
}), t(this, w).thumb.addEventListener("mousedown", (
|
|
101
|
-
if (
|
|
102
|
-
|
|
103
|
-
const
|
|
104
|
-
if (!t(this,
|
|
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
|
+
const n = t(this, w).track.getBoundingClientRect(), o = t(this, w).thumb.clientWidth;
|
|
99
|
+
t(this, Z).call(this, r.clientX - n.left - o / 2);
|
|
100
|
+
}), t(this, w).thumb.addEventListener("mousedown", (r) => {
|
|
101
|
+
if (r.button !== 0) return;
|
|
102
|
+
r.stopPropagation(), r.preventDefault(), y(this, P, !0), this.shiftX = r.clientX - t(this, w).thumb.getBoundingClientRect().left;
|
|
103
|
+
const n = /* @__PURE__ */ c((a) => {
|
|
104
|
+
if (!t(this, P)) return;
|
|
105
105
|
const h = t(this, w).track.getBoundingClientRect();
|
|
106
106
|
t(this, Z).call(this, a.clientX - h.left - this.shiftX);
|
|
107
107
|
}, "onMouseMove"), o = /* @__PURE__ */ c(() => {
|
|
108
|
-
y(this,
|
|
108
|
+
y(this, P, !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
|
}
|
|
@@ -189,7 +189,7 @@ const Te = class Te extends HTMLElement {
|
|
|
189
189
|
left: this.querySelector(".ng-scroll-left"),
|
|
190
190
|
right: this.querySelector(".ng-scroll-right")
|
|
191
191
|
}), s.addEventListener("scroll", () => {
|
|
192
|
-
t(this,
|
|
192
|
+
t(this, P) || this.refresh();
|
|
193
193
|
}), t(this, Mt).call(this), t(this, $t).call(this), this.refresh();
|
|
194
194
|
}, "initWhenReady");
|
|
195
195
|
e();
|
|
@@ -198,8 +198,8 @@ const Te = class Te extends HTMLElement {
|
|
|
198
198
|
t(this, K) && t(this, K).disconnect();
|
|
199
199
|
}
|
|
200
200
|
};
|
|
201
|
-
B = new WeakMap(),
|
|
202
|
-
let oe =
|
|
201
|
+
B = new WeakMap(), P = new WeakMap(), w = new WeakMap(), U = new WeakMap(), X = new WeakMap(), K = new WeakMap(), $t = new WeakMap(), Z = new WeakMap(), Mt = new WeakMap(), c(Ce, "NineTableHScrollBar");
|
|
202
|
+
let oe = Ce;
|
|
203
203
|
customElements.get("nine-table-hscrollbar") || customElements.define("nine-table-hscrollbar", oe);
|
|
204
204
|
var j, ot, G, q, xt, vt, It;
|
|
205
205
|
const Le = class Le extends HTMLElement {
|
|
@@ -213,33 +213,33 @@ const Le = class Le extends HTMLElement {
|
|
|
213
213
|
d(this, vt, 0);
|
|
214
214
|
S(this, "refresh", /* @__PURE__ */ c(() => {
|
|
215
215
|
if (!t(this, j) || !t(this, q)) return;
|
|
216
|
-
const e = t(this, q).container, s = t(this, q).track,
|
|
217
|
-
if (l <=
|
|
218
|
-
|
|
216
|
+
const e = t(this, q).container, s = t(this, q).track, r = t(this, q).thumb, n = e.clientHeight, a = (t(this, j).data.get() || []).length, h = t(this, ot).getRowHeight(), l = a * h;
|
|
217
|
+
if (l <= n) {
|
|
218
|
+
r.style.display = "none", t(this, q).top.disabled = !0, t(this, q).bottom.disabled = !0;
|
|
219
219
|
return;
|
|
220
220
|
} else
|
|
221
|
-
|
|
221
|
+
r.style.display = "block";
|
|
222
222
|
const f = s.clientHeight;
|
|
223
223
|
if (f <= 0) return;
|
|
224
|
-
const u = Math.max(Math.min(f * (
|
|
225
|
-
|
|
226
|
-
const b = e.scrollTop, g = Math.max(l -
|
|
224
|
+
const u = Math.max(Math.min(f * (n / l), f), 20);
|
|
225
|
+
r.style.height = `${u}px`;
|
|
226
|
+
const b = e.scrollTop, g = Math.max(l - n, 1);
|
|
227
227
|
let m = 0;
|
|
228
228
|
g > 0 && (m = b / g * (f - u));
|
|
229
229
|
const v = f - u;
|
|
230
|
-
m < 0 && (m = 0), m > v && (m = v),
|
|
230
|
+
m < 0 && (m = 0), m > v && (m = v), r.style.top = `${m}px`, t(this, q).top.disabled = b <= 0, t(this, q).bottom.disabled = b >= g - 1;
|
|
231
231
|
}, "refresh"));
|
|
232
232
|
d(this, It, /* @__PURE__ */ c(() => {
|
|
233
233
|
const e = t(this, q).container, s = /* @__PURE__ */ c(() => {
|
|
234
|
-
const
|
|
235
|
-
return
|
|
234
|
+
const n = (t(this, j).data.get() || []).length, o = t(this, ot).getRowHeight();
|
|
235
|
+
return n * o;
|
|
236
236
|
}, "getContentHeight");
|
|
237
237
|
e.addEventListener("scroll", () => {
|
|
238
238
|
t(this, G) || this.refresh();
|
|
239
|
-
}), t(this, q).thumb.addEventListener("mousedown", (
|
|
240
|
-
if (
|
|
241
|
-
|
|
242
|
-
const
|
|
239
|
+
}), t(this, q).thumb.addEventListener("mousedown", (r) => {
|
|
240
|
+
if (r.button !== 0) return;
|
|
241
|
+
r.stopPropagation(), r.preventDefault(), y(this, G, !0), y(this, xt, r.clientY), y(this, vt, e.scrollTop);
|
|
242
|
+
const n = /* @__PURE__ */ c((a) => {
|
|
243
243
|
if (!t(this, G)) return;
|
|
244
244
|
const h = t(this, q).track.getBoundingClientRect(), l = t(this, q).thumb.clientHeight, u = h.height - l, b = a.clientY - t(this, xt), g = e.clientHeight, m = s(), v = Math.max(m - g, 1);
|
|
245
245
|
if (u > 0 && v > 0) {
|
|
@@ -250,12 +250,12 @@ const Le = class Le extends HTMLElement {
|
|
|
250
250
|
}
|
|
251
251
|
this.refresh();
|
|
252
252
|
}, "onMouseMove"), o = /* @__PURE__ */ c(() => {
|
|
253
|
-
y(this, G, !1), document.removeEventListener("mousemove",
|
|
253
|
+
y(this, G, !1), document.removeEventListener("mousemove", n), document.removeEventListener("mouseup", o), this.refresh();
|
|
254
254
|
}, "onMouseUp");
|
|
255
|
-
document.addEventListener("mousemove",
|
|
256
|
-
}), t(this, q).track.addEventListener("mousedown", (
|
|
257
|
-
if (
|
|
258
|
-
const
|
|
255
|
+
document.addEventListener("mousemove", n), document.addEventListener("mouseup", o);
|
|
256
|
+
}), t(this, q).track.addEventListener("mousedown", (r) => {
|
|
257
|
+
if (r.button !== 0 || r.target === t(this, q).thumb) return;
|
|
258
|
+
const n = t(this, q).track.getBoundingClientRect(), o = t(this, q).thumb.clientHeight, a = r.clientY - n.top - o / 2, l = n.height - o, f = e.clientHeight, u = s(), b = Math.max(u - f, 1);
|
|
259
259
|
if (l > 0 && b > 0) {
|
|
260
260
|
const g = Math.max(0, Math.min(1, a / l));
|
|
261
261
|
e.scrollTop = g * b;
|
|
@@ -353,12 +353,12 @@ const Le = class Le extends HTMLElement {
|
|
|
353
353
|
j = new WeakMap(), ot = new WeakMap(), G = new WeakMap(), q = new WeakMap(), xt = new WeakMap(), vt = new WeakMap(), It = new WeakMap(), c(Le, "NineTableVScrollBar");
|
|
354
354
|
let ae = Le;
|
|
355
355
|
customElements.get("nine-table-vscrollbar") || customElements.define("nine-table-vscrollbar", ae);
|
|
356
|
-
var
|
|
356
|
+
var z, A, D, H, F, J, wt, at, _t, Nt, Wt, St, Et, Ot, Bt, At, Dt, lt, Rt, zt;
|
|
357
357
|
const He = class He {
|
|
358
358
|
constructor(i) {
|
|
359
|
-
d(this,
|
|
359
|
+
d(this, z);
|
|
360
360
|
d(this, A);
|
|
361
|
-
d(this,
|
|
361
|
+
d(this, D, /* @__PURE__ */ new Map());
|
|
362
362
|
d(this, H, null);
|
|
363
363
|
d(this, F, null);
|
|
364
364
|
d(this, J, 0);
|
|
@@ -371,56 +371,56 @@ const He = class He {
|
|
|
371
371
|
i && (t(this, St).call(this), t(this, lt).call(this, i.scrollTop), (e = t(this, A).querySelector("nine-table-vscrollbar")) == null || e.refresh());
|
|
372
372
|
}, "refresh"));
|
|
373
373
|
S(this, "initialize", /* @__PURE__ */ c(() => {
|
|
374
|
-
y(this, H, null), t(this,
|
|
375
|
-
const
|
|
376
|
-
if (!
|
|
377
|
-
const o =
|
|
374
|
+
y(this, H, null), t(this, D).clear(), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((r) => {
|
|
375
|
+
const n = t(this, A).querySelector(r);
|
|
376
|
+
if (!n) return;
|
|
377
|
+
const o = n.querySelector(".ng-part-body table");
|
|
378
378
|
if (!o) return;
|
|
379
379
|
const a = o.querySelector("tbody.bindable-tbody");
|
|
380
380
|
if (!a) return;
|
|
381
381
|
const l = Array.from(a.querySelectorAll("tr")).map((f) => f.cloneNode(!0));
|
|
382
|
-
t(this,
|
|
382
|
+
t(this, D).set(r, l);
|
|
383
383
|
});
|
|
384
384
|
const i = t(this, A).querySelector(".ng-container-body .ng-part-body"), e = t(this, A).querySelector(".ng-container-left .ng-part-body"), s = t(this, A).querySelector(".ng-container-right .ng-part-body");
|
|
385
385
|
if (i) {
|
|
386
386
|
t(this, Wt).call(this, i), t(this, At).call(this), t(this, St).call(this), t(this, lt).call(this, i.scrollTop);
|
|
387
|
-
let
|
|
388
|
-
const
|
|
387
|
+
let r = !1;
|
|
388
|
+
const n = /* @__PURE__ */ c((o, a) => {
|
|
389
389
|
var h;
|
|
390
|
-
|
|
390
|
+
r || (r = !0, i && i.scrollTop !== o && (i.scrollTop = o), e && e.scrollTop !== o && (e.scrollTop = o), s && s.scrollTop !== o && (s.scrollTop = o), t(this, lt).call(this, o), (h = t(this, A).querySelector("nine-table-vscrollbar")) == null || h.refresh(), r = !1);
|
|
391
391
|
}, "syncScroll");
|
|
392
392
|
[i, e, s].forEach((o) => {
|
|
393
393
|
o && o.addEventListener("scroll", () => {
|
|
394
|
-
|
|
394
|
+
n(o.scrollTop);
|
|
395
395
|
});
|
|
396
396
|
});
|
|
397
397
|
}
|
|
398
398
|
}, "initialize"));
|
|
399
399
|
d(this, Nt, /* @__PURE__ */ c((i, e) => {
|
|
400
|
-
const s = t(this,
|
|
400
|
+
const s = t(this, D).get(e);
|
|
401
401
|
if (!s || s.length === 0) return;
|
|
402
|
-
const
|
|
403
|
-
if (!
|
|
404
|
-
|
|
405
|
-
const
|
|
402
|
+
const r = i.querySelector(".ng-part-body tbody.bindable-tbody");
|
|
403
|
+
if (!r) return;
|
|
404
|
+
r.querySelectorAll("tr:not(.nodata)").forEach((a) => a.remove());
|
|
405
|
+
const n = r.querySelector("tr.nodata"), o = document.createDocumentFragment();
|
|
406
406
|
for (let a = 0; a < t(this, wt); a++)
|
|
407
407
|
s.forEach((h) => {
|
|
408
408
|
o.appendChild(h.cloneNode(!0));
|
|
409
409
|
});
|
|
410
|
-
|
|
410
|
+
n ? n.before(o) : r.appendChild(o);
|
|
411
411
|
}, "#renderRows"));
|
|
412
412
|
d(this, Wt, /* @__PURE__ */ c((i) => {
|
|
413
413
|
if (t(this, H) !== null && t(this, H) > 0)
|
|
414
414
|
return t(this, H);
|
|
415
|
-
const e = t(this,
|
|
415
|
+
const e = t(this, D).get(".ng-container-body");
|
|
416
416
|
if (!e || e.length === 0) return 24;
|
|
417
417
|
const s = i.querySelector("tbody.bindable-tbody");
|
|
418
418
|
if (!s) return 24;
|
|
419
419
|
s.querySelectorAll("tr:not(.nodata)").forEach((b) => b.remove());
|
|
420
|
-
const
|
|
420
|
+
const r = s.querySelector("tr.nodata"), n = document.createDocumentFragment();
|
|
421
421
|
e.forEach((b) => {
|
|
422
|
-
|
|
423
|
-
}),
|
|
422
|
+
n.appendChild(b.cloneNode(!0));
|
|
423
|
+
}), r ? r.before(n) : s.appendChild(n);
|
|
424
424
|
const o = t(this, A), a = o.style.display, h = o.style.visibility, l = o.style.position;
|
|
425
425
|
(a === "none" || window.getComputedStyle(o).display === "none") && (o.style.display = "block", o.style.visibility = "hidden", o.style.position = "absolute");
|
|
426
426
|
let f = 0;
|
|
@@ -430,12 +430,12 @@ const He = class He {
|
|
|
430
430
|
}), u.forEach((b) => b.remove()), o.style.display = a, o.style.visibility = h, o.style.position = l, y(this, H, f > 0 ? f : 24), t(this, Et).call(this), t(this, H);
|
|
431
431
|
}, "#measureAndCacheHeight"));
|
|
432
432
|
d(this, St, /* @__PURE__ */ c(() => {
|
|
433
|
-
const e = (t(this,
|
|
434
|
-
[".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((
|
|
435
|
-
const o = t(this, A).querySelector(
|
|
433
|
+
const e = (t(this, z).data.get() || []).length, s = t(this, H) || 24, r = e * s;
|
|
434
|
+
[".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((n) => {
|
|
435
|
+
const o = t(this, A).querySelector(n);
|
|
436
436
|
if (!o) return;
|
|
437
437
|
const a = o.querySelector(".ng-part-body .ng-virtual-spacer");
|
|
438
|
-
a && (a.style.height = `${
|
|
438
|
+
a && (a.style.height = `${r}px`);
|
|
439
439
|
});
|
|
440
440
|
}, "#updateVirtualScrollHeight"));
|
|
441
441
|
d(this, Et, /* @__PURE__ */ c(() => {
|
|
@@ -454,20 +454,20 @@ const He = class He {
|
|
|
454
454
|
((a = g[x]) == null ? void 0 : a.getBoundingClientRect().height) || 0,
|
|
455
455
|
((h = m[x]) == null ? void 0 : h.getBoundingClientRect().height) || 0,
|
|
456
456
|
((l = v[x]) == null ? void 0 : l.getBoundingClientRect().height) || 0
|
|
457
|
-
],
|
|
458
|
-
|
|
457
|
+
], C = Math.max(...W);
|
|
458
|
+
C > 0 && (g[x] && (g[x].style.height = `${C}px`), m[x] && (m[x].style.height = `${C}px`), v[x] && (v[x].style.height = `${C}px`));
|
|
459
459
|
}
|
|
460
460
|
}
|
|
461
|
-
const
|
|
462
|
-
if (
|
|
463
|
-
const g =
|
|
461
|
+
const r = t(this, A).querySelector(".ng-container-left .ng-part-footer table"), n = t(this, A).querySelector(".ng-container-body .ng-part-footer table"), o = t(this, A).querySelector(".ng-container-right .ng-part-footer table");
|
|
462
|
+
if (n) {
|
|
463
|
+
const g = r ? Array.from(r.querySelectorAll("tfoot tr")) : [], m = Array.from(n.querySelectorAll("tfoot tr")), v = o ? Array.from(o.querySelectorAll("tfoot tr")) : [], E = Math.max(g.length, m.length, v.length);
|
|
464
464
|
for (let x = 0; x < E; x++) {
|
|
465
465
|
const W = [
|
|
466
466
|
((f = g[x]) == null ? void 0 : f.getBoundingClientRect().height) || 0,
|
|
467
467
|
((u = m[x]) == null ? void 0 : u.getBoundingClientRect().height) || 0,
|
|
468
468
|
((b = v[x]) == null ? void 0 : b.getBoundingClientRect().height) || 0
|
|
469
|
-
],
|
|
470
|
-
|
|
469
|
+
], C = Math.max(...W);
|
|
470
|
+
C > 0 && (g[x] && (g[x].style.height = `${C}px`), m[x] && (m[x].style.height = `${C}px`), v[x] && (v[x].style.height = `${C}px`));
|
|
471
471
|
}
|
|
472
472
|
}
|
|
473
473
|
}, "#syncRowHeights"));
|
|
@@ -476,12 +476,12 @@ const He = class He {
|
|
|
476
476
|
for (const e of i) {
|
|
477
477
|
const s = e.target;
|
|
478
478
|
if (!s.classList.contains("active")) continue;
|
|
479
|
-
const
|
|
480
|
-
if (
|
|
481
|
-
let
|
|
479
|
+
const r = e.contentRect.height;
|
|
480
|
+
if (r > 0) {
|
|
481
|
+
let n = 0;
|
|
482
482
|
const o = s.querySelector(".ng-part-header"), a = s.querySelector(".ng-part-footer");
|
|
483
|
-
o && (
|
|
484
|
-
const h = Math.max(
|
|
483
|
+
o && (n += o.offsetHeight), a && (n += a.offsetHeight);
|
|
484
|
+
const h = Math.max(r - n, 100);
|
|
485
485
|
t(this, J) !== h && (y(this, J, h), t(this, Et).call(this), t(this, H) !== null && t(this, At).call(this));
|
|
486
486
|
}
|
|
487
487
|
}
|
|
@@ -491,23 +491,23 @@ const He = class He {
|
|
|
491
491
|
[".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((i) => {
|
|
492
492
|
const e = t(this, A).querySelector(i);
|
|
493
493
|
e && e.querySelector(".ng-part-body tbody.bindable-tbody") && t(this, Nt).call(this, e, i);
|
|
494
|
-
}), t(this,
|
|
494
|
+
}), t(this, zt).call(this), t(this, Ot).call(this);
|
|
495
495
|
}, "#renderAllContainers"));
|
|
496
|
-
d(this,
|
|
496
|
+
d(this, Dt, /* @__PURE__ */ c((i) => {
|
|
497
497
|
[".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((e) => {
|
|
498
498
|
var l;
|
|
499
499
|
const s = t(this, A).querySelector(e);
|
|
500
500
|
if (!s) return;
|
|
501
|
-
const
|
|
502
|
-
if (!
|
|
503
|
-
const
|
|
504
|
-
|
|
501
|
+
const r = s.querySelector(".ng-part-body tbody.bindable-tbody");
|
|
502
|
+
if (!r) return;
|
|
503
|
+
const n = Array.from(r.querySelectorAll("tr:not(.nodata)")), o = ((l = t(this, D).get(e)) == null ? void 0 : l.length) || 1, h = (t(this, z).data.get() || []).length;
|
|
504
|
+
n.forEach((f, u) => {
|
|
505
505
|
const b = i + Math.floor(u / o);
|
|
506
506
|
if (b >= h) {
|
|
507
507
|
f.style.display = "none";
|
|
508
508
|
return;
|
|
509
509
|
}
|
|
510
|
-
const g = t(this,
|
|
510
|
+
const g = t(this, z).data.get(b);
|
|
511
511
|
f.style.display = "", t(this, Rt).call(this, f, g, b);
|
|
512
512
|
});
|
|
513
513
|
});
|
|
@@ -516,23 +516,23 @@ const He = class He {
|
|
|
516
516
|
var h;
|
|
517
517
|
const e = t(this, H);
|
|
518
518
|
if (!e || e <= 0) return;
|
|
519
|
-
const
|
|
519
|
+
const r = (t(this, z).data.get() || []).length, n = Math.max(0, Math.floor(i / e)), o = n * e, a = ((h = t(this, D).get(".ng-container-body")) == null ? void 0 : h.length) || 1;
|
|
520
520
|
[".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((l) => {
|
|
521
521
|
const f = t(this, A).querySelector(l);
|
|
522
522
|
if (!f) return;
|
|
523
523
|
const u = f.querySelector(".ng-part-body tbody.bindable-tbody");
|
|
524
524
|
if (!u) return;
|
|
525
525
|
u.style.transform = `translateY(${o}px)`, Array.from(u.querySelectorAll("tr:not(.nodata)")).forEach((g, m) => {
|
|
526
|
-
const v =
|
|
527
|
-
if (v >=
|
|
526
|
+
const v = n + Math.floor(m / a);
|
|
527
|
+
if (v >= r) {
|
|
528
528
|
g.style.display = "none";
|
|
529
529
|
return;
|
|
530
530
|
}
|
|
531
|
-
const E = t(this,
|
|
531
|
+
const E = t(this, z).data.get(v);
|
|
532
532
|
g.style.display = "", t(this, Rt).call(this, g, E, v);
|
|
533
533
|
});
|
|
534
534
|
}), t(this, at) || (y(this, at, !0), setTimeout(() => {
|
|
535
|
-
t(this,
|
|
535
|
+
t(this, Dt).call(this, n), y(this, at, !1);
|
|
536
536
|
}, 0));
|
|
537
537
|
}, "#handleScroll"));
|
|
538
538
|
/**
|
|
@@ -550,47 +550,47 @@ const He = class He {
|
|
|
550
550
|
});
|
|
551
551
|
}; */
|
|
552
552
|
d(this, Rt, /* @__PURE__ */ c((i, e, s) => {
|
|
553
|
-
i.dataset.row = s, i.data = e, Array.from(i.cells).forEach((
|
|
554
|
-
|
|
555
|
-
const o = Array.from(
|
|
553
|
+
i.dataset.row = s, i.data = e, Array.from(i.cells).forEach((r, n) => {
|
|
554
|
+
r.dataset.row = s, r.querySelector(':scope > [is^="cell-"], :scope > [class*="cell-"], :scope > cell-');
|
|
555
|
+
const o = Array.from(r.children).find((a) => a.tagName.toLowerCase().startsWith("cell-") || typeof a.reset == "function");
|
|
556
556
|
o && typeof o.reset == "function" && o.reset();
|
|
557
557
|
});
|
|
558
558
|
}, "#bindRowData"));
|
|
559
|
-
d(this,
|
|
559
|
+
d(this, zt, /* @__PURE__ */ c(() => {
|
|
560
560
|
var h, l, f;
|
|
561
561
|
const i = t(this, A).querySelector(".ng-container-left .ng-part-header table"), e = t(this, A).querySelector(".ng-container-body .ng-part-header table"), s = t(this, A).querySelector(".ng-container-right .ng-part-header table");
|
|
562
562
|
if (!e) return;
|
|
563
|
-
const
|
|
563
|
+
const r = i ? Array.from(i.querySelectorAll("tr")) : [], n = Array.from(e.querySelectorAll("tr")), o = s ? Array.from(s.querySelectorAll("tr")) : [], a = Math.max(r.length, n.length, o.length);
|
|
564
564
|
for (let u = 0; u < a; u++) {
|
|
565
565
|
const b = [
|
|
566
|
-
((h =
|
|
567
|
-
((l =
|
|
566
|
+
((h = r[u]) == null ? void 0 : h.getBoundingClientRect().height) || 0,
|
|
567
|
+
((l = n[u]) == null ? void 0 : l.getBoundingClientRect().height) || 0,
|
|
568
568
|
((f = o[u]) == null ? void 0 : f.getBoundingClientRect().height) || 0
|
|
569
569
|
], g = Math.max(...b);
|
|
570
|
-
g > 0 && (
|
|
570
|
+
g > 0 && (r[u] && (r[u].style.height = `${g}px`), n[u] && (n[u].style.height = `${g}px`), o[u] && (o[u].style.height = `${g}px`));
|
|
571
571
|
}
|
|
572
572
|
}, "#syncHeaderHeights"));
|
|
573
573
|
S(this, "destroy", /* @__PURE__ */ c(() => {
|
|
574
574
|
t(this, F) && (t(this, F).disconnect(), y(this, F, null));
|
|
575
575
|
}, "destroy"));
|
|
576
|
-
y(this,
|
|
576
|
+
y(this, z, i.getRootNode().host), y(this, A, i), t(this, Bt).call(this);
|
|
577
577
|
}
|
|
578
578
|
getRowHeight() {
|
|
579
579
|
return t(this, H);
|
|
580
580
|
}
|
|
581
581
|
templateLength(i = ".ng-container-body") {
|
|
582
582
|
var e;
|
|
583
|
-
return ((e = t(this,
|
|
583
|
+
return ((e = t(this, D).get(i)) == null ? void 0 : e.length) || 1;
|
|
584
584
|
}
|
|
585
585
|
};
|
|
586
|
-
|
|
586
|
+
z = new WeakMap(), A = new WeakMap(), D = new WeakMap(), H = new WeakMap(), F = new WeakMap(), J = new WeakMap(), wt = new WeakMap(), at = new WeakMap(), _t = new WeakMap(), Nt = new WeakMap(), Wt = new WeakMap(), St = new WeakMap(), Et = new WeakMap(), Ot = new WeakMap(), Bt = new WeakMap(), At = new WeakMap(), Dt = new WeakMap(), lt = new WeakMap(), Rt = new WeakMap(), zt = new WeakMap(), c(He, "RowManager");
|
|
587
587
|
let le = He;
|
|
588
|
-
const
|
|
588
|
+
const Pt = class Pt {
|
|
589
589
|
/**
|
|
590
590
|
* 🎯 레이아웃 내의 여러 rawTables 배열을 일괄로 받아 단일 마스터 템플릿으로 사전 컴파일합니다.
|
|
591
591
|
*/
|
|
592
592
|
static compileAll(i) {
|
|
593
|
-
return Array.isArray(i) ? i.map((e) =>
|
|
593
|
+
return Array.isArray(i) ? i.map((e) => Pt.compile(e)) : [];
|
|
594
594
|
}
|
|
595
595
|
/**
|
|
596
596
|
* 🎯 단일 원본 테이블을 받아 기본 구조 보정 및 2차원 격자 인덱스 사전 부여 완료된 마스터 테이블 반환
|
|
@@ -620,7 +620,7 @@ const zt = class zt {
|
|
|
620
620
|
l ? l.after(h) : a.prepend(h);
|
|
621
621
|
}
|
|
622
622
|
a.classList.add("nine-table-element"), a.style.display = "table";
|
|
623
|
-
}, "ensureTableStructure"),
|
|
623
|
+
}, "ensureTableStructure"), r = /* @__PURE__ */ c((a, h) => {
|
|
624
624
|
const l = Array.from(a.querySelectorAll(h + " tr")), f = Array.from(a.querySelectorAll(h + " th," + h + " td")), u = l.length;
|
|
625
625
|
if (u === 0 || f.length === 0) return;
|
|
626
626
|
let b = 0;
|
|
@@ -637,9 +637,9 @@ const zt = class zt {
|
|
|
637
637
|
E = O;
|
|
638
638
|
break;
|
|
639
639
|
}
|
|
640
|
-
const W = x.rowSpan || 1,
|
|
640
|
+
const W = x.rowSpan || 1, C = x.colSpan || 1;
|
|
641
641
|
for (let O = 0; O < W; O++)
|
|
642
|
-
for (let yt = 0; yt <
|
|
642
|
+
for (let yt = 0; yt < C; yt++)
|
|
643
643
|
v + O < u && E + yt < b && (g[v + O][E + yt] = O === 0 && yt === 0 ? "1" : "0");
|
|
644
644
|
});
|
|
645
645
|
}), l.forEach((m) => {
|
|
@@ -652,18 +652,18 @@ const zt = class zt {
|
|
|
652
652
|
}
|
|
653
653
|
});
|
|
654
654
|
});
|
|
655
|
-
}, "resetColIndex"),
|
|
656
|
-
return s(
|
|
655
|
+
}, "resetColIndex"), n = i.cloneNode(!0);
|
|
656
|
+
return s(n), e(n), r(n, "thead"), r(n, "tbody"), r(n, "tfoot"), Array.from(n.querySelectorAll("colgroup col")).forEach((a, h) => {
|
|
657
657
|
const l = a.getAttribute("fixed");
|
|
658
|
-
l &&
|
|
658
|
+
l && n.querySelectorAll(`thead [data-col="${h}"], tbody [data-col="${h}"], tfoot [data-col="${h}"]`).forEach((f) => {
|
|
659
659
|
f.setAttribute("fixed", l);
|
|
660
660
|
});
|
|
661
|
-
}),
|
|
661
|
+
}), n;
|
|
662
662
|
}
|
|
663
663
|
// 🎯 [추가] td/th에 선언된 cell-type 속성을 읽어 커스텀 태그로 자동 감싸기
|
|
664
664
|
};
|
|
665
|
-
c(
|
|
666
|
-
let ce =
|
|
665
|
+
c(Pt, "TableCompiler");
|
|
666
|
+
let ce = Pt;
|
|
667
667
|
var jt, Q, tt, Ft, Vt, ct, Yt, Ut;
|
|
668
668
|
const pt = class pt extends HTMLElement {
|
|
669
669
|
constructor() {
|
|
@@ -680,31 +680,31 @@ const pt = class pt extends HTMLElement {
|
|
|
680
680
|
{ selector: ".ng-container-body", type: null },
|
|
681
681
|
{ selector: ".ng-container-left", type: "left" },
|
|
682
682
|
{ selector: ".ng-container-right", type: "right" }
|
|
683
|
-
].forEach(({ selector: s, type:
|
|
684
|
-
const
|
|
685
|
-
if (!
|
|
686
|
-
|
|
683
|
+
].forEach(({ selector: s, type: r }) => {
|
|
684
|
+
const n = this.querySelector(s);
|
|
685
|
+
if (!n) return;
|
|
686
|
+
n.innerHTML = "";
|
|
687
687
|
const o = document.createElement("div");
|
|
688
|
-
o.className = "ng-part-header", o.appendChild(t(this, ct).call(this, t(this, Q),
|
|
688
|
+
o.className = "ng-part-header", o.appendChild(t(this, ct).call(this, t(this, Q), r, "header"));
|
|
689
689
|
const a = document.createElement("div");
|
|
690
690
|
a.className = "ng-part-body";
|
|
691
691
|
const h = document.createElement("div");
|
|
692
|
-
h.className = "ng-scroll-content", h.style.position = "relative", h.style.width = "100%", h.appendChild(t(this, ct).call(this, t(this, Q),
|
|
692
|
+
h.className = "ng-scroll-content", h.style.position = "relative", h.style.width = "100%", h.appendChild(t(this, ct).call(this, t(this, Q), r, "body"));
|
|
693
693
|
const l = document.createElement("div");
|
|
694
694
|
l.className = "ng-virtual-spacer", l.style.width = "100%", l.style.pointerEvents = "none", h.appendChild(l), a.appendChild(h);
|
|
695
695
|
const f = document.createElement("div");
|
|
696
|
-
f.className = "ng-part-footer", f.appendChild(t(this, ct).call(this, t(this, Q),
|
|
696
|
+
f.className = "ng-part-footer", f.appendChild(t(this, ct).call(this, t(this, Q), r, "footer")), n.appendChild(o), n.appendChild(a), n.appendChild(f);
|
|
697
697
|
});
|
|
698
698
|
}, "#renderSplitContainers"));
|
|
699
699
|
d(this, Vt, /* @__PURE__ */ c(() => {
|
|
700
700
|
["left", "right", "body"].forEach((e) => {
|
|
701
|
-
const s = this.querySelector(`.ng-container-${e}`),
|
|
702
|
-
if (!s || !
|
|
703
|
-
let
|
|
704
|
-
|
|
701
|
+
const s = this.querySelector(`.ng-container-${e}`), r = s == null ? void 0 : s.querySelectorAll("table");
|
|
702
|
+
if (!s || !r || r.length === 0) return;
|
|
703
|
+
let n = 0;
|
|
704
|
+
r[0].querySelectorAll("col").forEach((o) => {
|
|
705
705
|
const a = parseInt(o.getAttribute("width"), 10);
|
|
706
|
-
isNaN(
|
|
707
|
-
}), e === "body" ? s.style.flex = "1" : (s.style.flex = `0 0 ${
|
|
706
|
+
isNaN(n) || (n += a);
|
|
707
|
+
}), e === "body" ? s.style.flex = "1" : (s.style.flex = `0 0 ${n}px`, s.style.width = `${n}px`);
|
|
708
708
|
});
|
|
709
709
|
}, "#updateContainerWidths"));
|
|
710
710
|
S(this, "generate", /* @__PURE__ */ c((e) => {
|
|
@@ -713,21 +713,21 @@ const pt = class pt extends HTMLElement {
|
|
|
713
713
|
(s = this.querySelector("nine-table-hscrollbar")) == null || s.refresh();
|
|
714
714
|
}, 0));
|
|
715
715
|
}, "generate"));
|
|
716
|
-
d(this, ct, /* @__PURE__ */ c((e, s,
|
|
717
|
-
const
|
|
718
|
-
if (
|
|
716
|
+
d(this, ct, /* @__PURE__ */ c((e, s, r) => {
|
|
717
|
+
const n = e.cloneNode(!0), o = n.querySelector("thead"), a = n.querySelector("tbody"), h = n.querySelector("tfoot");
|
|
718
|
+
if (r === "header") {
|
|
719
719
|
if (a && a.remove(), h && h.remove(), e.querySelector("tbody")) {
|
|
720
720
|
const f = document.createElement("tbody");
|
|
721
|
-
f.className = "fixed-tbody",
|
|
721
|
+
f.className = "fixed-tbody", n.appendChild(f);
|
|
722
722
|
}
|
|
723
|
-
} else
|
|
724
|
-
return s === "left" ?
|
|
723
|
+
} else r === "body" ? (o && o.remove(), h && h.remove(), a && (a.className = "bindable-tbody")) : r === "footer" && (o && o.remove(), a && a.remove());
|
|
724
|
+
return s === "left" ? n.querySelectorAll("col, th, td, tfoot td, tfoot th").forEach((l) => {
|
|
725
725
|
l.getAttribute("fixed") !== "left" && l.remove();
|
|
726
|
-
}) : s === "right" ?
|
|
726
|
+
}) : s === "right" ? n.querySelectorAll("col, th, td, tfoot td, tfoot th").forEach((l) => {
|
|
727
727
|
l.getAttribute("fixed") !== "right" && l.remove();
|
|
728
|
-
}) :
|
|
728
|
+
}) : n.querySelectorAll("[fixed=left], [fixed=right]").forEach((l) => {
|
|
729
729
|
l.remove();
|
|
730
|
-
}),
|
|
730
|
+
}), n;
|
|
731
731
|
}, "#createSplitTable"));
|
|
732
732
|
S(this, "getRowHeight", /* @__PURE__ */ c(() => t(this, tt).getRowHeight(), "getRowHeight"));
|
|
733
733
|
S(this, "scrollToX", /* @__PURE__ */ c((e) => {
|
|
@@ -890,7 +890,7 @@ const pt = class pt extends HTMLElement {
|
|
|
890
890
|
t(this, Yt).call(this);
|
|
891
891
|
}
|
|
892
892
|
disconnectedCallback() {
|
|
893
|
-
this.innerHTML = "",
|
|
893
|
+
this.innerHTML = "", nt.log("NineTableSheet destroyed.");
|
|
894
894
|
}
|
|
895
895
|
};
|
|
896
896
|
jt = new WeakMap(), Q = new WeakMap(), tt = new WeakMap(), Ft = new WeakMap(), Vt = new WeakMap(), ct = new WeakMap(), Yt = new WeakMap(), Ut = new WeakMap(), c(pt, "NineTableSheet"), S(pt, "SCROLLBAR_SIZE", 16);
|
|
@@ -904,12 +904,12 @@ const $e = class $e extends HTMLElement {
|
|
|
904
904
|
var e;
|
|
905
905
|
(e = this.querySelector(".nine-tab-bar")) == null || e.addEventListener("click", (s) => {
|
|
906
906
|
var o;
|
|
907
|
-
const
|
|
908
|
-
t(this, qt).call(this,
|
|
907
|
+
const r = s.ctrlKey || s.metaKey || s.shiftKey, n = parseInt((o = s.target.closest(".nine-tab-item")) == null ? void 0 : o.dataset.index, 10);
|
|
908
|
+
t(this, qt).call(this, n, r);
|
|
909
909
|
}), t(this, qt).call(this, 0, !1);
|
|
910
910
|
}, "#init"));
|
|
911
911
|
d(this, qt, /* @__PURE__ */ c((e, s = !1) => {
|
|
912
|
-
const
|
|
912
|
+
const r = /* @__PURE__ */ c(() => {
|
|
913
913
|
const f = Array.from(this.querySelectorAll("nine-table-sheet"));
|
|
914
914
|
Array.from(this.querySelectorAll("nine-splitter")).forEach((g) => g.style.setProperty("display", "none"));
|
|
915
915
|
const b = f.filter((g) => g.classList.contains("active"));
|
|
@@ -917,7 +917,7 @@ const $e = class $e extends HTMLElement {
|
|
|
917
917
|
const m = parseInt(g.getAttribute("data-index"), 10), v = this.querySelector(`nine-splitter[data-split-index="${m}"]`), E = f[m + 1];
|
|
918
918
|
v && E && E.classList.contains("active") && v.style.setProperty("display", "flex");
|
|
919
919
|
});
|
|
920
|
-
}, "updateSplitters"),
|
|
920
|
+
}, "updateSplitters"), n = this.querySelector(".nine-tab-bar"), o = this.querySelector("nine-table-sheets-body"), a = n.querySelectorAll(".nine-tab-item"), h = o.querySelectorAll("nine-table-sheet");
|
|
921
921
|
if (!a[e]) return;
|
|
922
922
|
if (!s)
|
|
923
923
|
a.forEach((f, u) => {
|
|
@@ -927,7 +927,7 @@ const $e = class $e extends HTMLElement {
|
|
|
927
927
|
f.classList.toggle("active", b), f.style.flex = b ? "1 1 100%" : "";
|
|
928
928
|
});
|
|
929
929
|
else {
|
|
930
|
-
const f = a[e], u =
|
|
930
|
+
const f = a[e], u = n.querySelectorAll(".nine-tab-item.active");
|
|
931
931
|
if (f.classList.contains("active") && u.length <= 1)
|
|
932
932
|
return;
|
|
933
933
|
f.classList.toggle("active");
|
|
@@ -937,7 +937,7 @@ const $e = class $e extends HTMLElement {
|
|
|
937
937
|
const l = o.querySelectorAll("nine-table-sheet.active");
|
|
938
938
|
l == null || l.forEach((f) => {
|
|
939
939
|
f.style.flex = l.length > 1 ? "1 1 0%" : "1 1 100%";
|
|
940
|
-
}),
|
|
940
|
+
}), r();
|
|
941
941
|
}, "#switchSheet"));
|
|
942
942
|
}
|
|
943
943
|
connectedCallback() {
|
|
@@ -961,12 +961,12 @@ const Me = class Me {
|
|
|
961
961
|
var h, l;
|
|
962
962
|
const i = Array.from(t(this, M).shadowRoot.querySelectorAll("nine-table-sheet.active"));
|
|
963
963
|
if (i.length === 0) return;
|
|
964
|
-
const e = parseInt(t(this, M).getAttribute("max-display-row"), 10) || 10, s = Math.max(...i.map((f) => f.getRowHeight())),
|
|
964
|
+
const e = parseInt(t(this, M).getAttribute("max-display-row"), 10) || 10, s = Math.max(...i.map((f) => f.getRowHeight())), r = (h = t(this, M).shadowRoot.querySelector("nine-table-header")) == null ? void 0 : h.getBoundingClientRect().height, n = (l = t(this, M).shadowRoot.querySelector("nine-table-sheets-footer")) == null ? void 0 : l.getBoundingClientRect().height, o = Ht.SCROLLBAR_SIZE, a = e * s + r + n + o;
|
|
965
965
|
t(this, M).style.height = `${a}px`;
|
|
966
966
|
}, "#applyAutoHeight"));
|
|
967
967
|
d(this, Zt, /* @__PURE__ */ c(() => {
|
|
968
|
-
const e = Array.from(t(this, M).children).filter((h) => h.tagName === "TABLE"), s = t(this, M).getAttribute("auto-height") === "true",
|
|
969
|
-
const u = `<nine-table-sheet class="${l === 0 ? "active" : ""}" data-index="${l}"></nine-table-sheet>`, b = l <
|
|
968
|
+
const e = Array.from(t(this, M).children).filter((h) => h.tagName === "TABLE"), s = t(this, M).getAttribute("auto-height") === "true", r = e.length, n = e.map((h, l) => {
|
|
969
|
+
const u = `<nine-table-sheet class="${l === 0 ? "active" : ""}" data-index="${l}"></nine-table-sheet>`, b = l < r - 1 ? `<nine-splitter class="h" data-split-index="${l}"></nine-splitter>` : "";
|
|
970
970
|
return u + b;
|
|
971
971
|
}).join(""), o = e.map((h, l) => `<div class="nine-tab-item ${l === 0 ? "active" : ""}" data-index="${l}">Sheet ${l + 1}</div>`).join("");
|
|
972
972
|
t(this, M).shadowRoot.innerHTML = `
|
|
@@ -1050,7 +1050,7 @@ const Me = class Me {
|
|
|
1050
1050
|
<nine-table-body>
|
|
1051
1051
|
<nine-table-summary></nine-table-summary>
|
|
1052
1052
|
<nine-table-sheets>
|
|
1053
|
-
<nine-table-sheets-body>${
|
|
1053
|
+
<nine-table-sheets-body>${n}</nine-table-sheets-body>
|
|
1054
1054
|
<nine-table-sheets-footer>
|
|
1055
1055
|
<div class="nine-tab-bar">${o}</div>
|
|
1056
1056
|
<div class="sheets-counter">Total : <span id="row-count">0</span></div>
|
|
@@ -1072,13 +1072,13 @@ const Me = class Me {
|
|
|
1072
1072
|
};
|
|
1073
1073
|
M = new WeakMap(), Kt = new WeakMap(), kt = new WeakMap(), Zt = new WeakMap(), c(Me, "LayoutManager");
|
|
1074
1074
|
let de = Me;
|
|
1075
|
-
var
|
|
1075
|
+
var Tt, ht;
|
|
1076
1076
|
const Ie = class Ie {
|
|
1077
1077
|
constructor(i) {
|
|
1078
|
-
d(this,
|
|
1078
|
+
d(this, Tt);
|
|
1079
1079
|
d(this, ht, -1);
|
|
1080
|
-
S(this, "count", /* @__PURE__ */ c(() => t(this,
|
|
1081
|
-
y(this,
|
|
1080
|
+
S(this, "count", /* @__PURE__ */ c(() => t(this, Tt).rawRecords.length, "count"));
|
|
1081
|
+
y(this, Tt, i);
|
|
1082
1082
|
}
|
|
1083
1083
|
get at() {
|
|
1084
1084
|
return t(this, ht);
|
|
@@ -1088,13 +1088,13 @@ const Ie = class Ie {
|
|
|
1088
1088
|
});
|
|
1089
1089
|
}
|
|
1090
1090
|
};
|
|
1091
|
-
|
|
1091
|
+
Tt = new WeakMap(), ht = new WeakMap(), c(Ie, "ngRow");
|
|
1092
1092
|
let fe = Ie;
|
|
1093
|
-
var I,
|
|
1093
|
+
var I, T, _, dt, Gt, V, Jt, et, Ct, Qt, te, ft;
|
|
1094
1094
|
const N = class N {
|
|
1095
1095
|
constructor(i, e) {
|
|
1096
1096
|
d(this, I);
|
|
1097
|
-
d(this,
|
|
1097
|
+
d(this, T);
|
|
1098
1098
|
d(this, _, []);
|
|
1099
1099
|
d(this, dt, []);
|
|
1100
1100
|
d(this, Gt, 0);
|
|
@@ -1105,8 +1105,8 @@ const N = class N {
|
|
|
1105
1105
|
Array.from(i).forEach((e) => {
|
|
1106
1106
|
var s;
|
|
1107
1107
|
t(this, V).push(((s = e.getBoundingClientRect) == null ? void 0 : s.call(e).height) || 24);
|
|
1108
|
-
}), (t(this,
|
|
1109
|
-
e.__ng || (e.__ng = t(this,
|
|
1108
|
+
}), (t(this, T).rawRecords || []).forEach((e) => {
|
|
1109
|
+
e.__ng || (e.__ng = t(this, Ct).call(this)), e.__ng.height = t(this, V).slice();
|
|
1110
1110
|
});
|
|
1111
1111
|
}, "#initialize"));
|
|
1112
1112
|
d(this, et, /* @__PURE__ */ c(() => {
|
|
@@ -1115,14 +1115,14 @@ const N = class N {
|
|
|
1115
1115
|
});
|
|
1116
1116
|
}, "#invalidate"));
|
|
1117
1117
|
S(this, "get", /* @__PURE__ */ c((i, e) => {
|
|
1118
|
-
var
|
|
1118
|
+
var n;
|
|
1119
1119
|
const s = this.getValidData();
|
|
1120
1120
|
if (!s || s.length <= 0) return;
|
|
1121
1121
|
if (i == null) return t(this, ft).call(this, s);
|
|
1122
1122
|
if (i < 0 || i >= s.length) return null;
|
|
1123
|
-
const
|
|
1123
|
+
const r = typeof ((n = t(this, I).fields) == null ? void 0 : n.get) == "function" ? t(this, I).fields.get() : [];
|
|
1124
1124
|
if (e != null) {
|
|
1125
|
-
const o =
|
|
1125
|
+
const o = r.indexOf(e);
|
|
1126
1126
|
return o >= 0 ? s[i].v[o] : null;
|
|
1127
1127
|
}
|
|
1128
1128
|
return t(this, ft).call(this, s[i]);
|
|
@@ -1130,7 +1130,7 @@ const N = class N {
|
|
|
1130
1130
|
S(this, "set", /* @__PURE__ */ c((i) => {
|
|
1131
1131
|
this.clear(), this.add(i, !1), t(this, et).call(this);
|
|
1132
1132
|
}, "set"));
|
|
1133
|
-
d(this,
|
|
1133
|
+
d(this, Ct, /* @__PURE__ */ c(() => ({
|
|
1134
1134
|
rowState: N.ROW_STATE.EMPTY,
|
|
1135
1135
|
deleted: !1,
|
|
1136
1136
|
filtered: !1,
|
|
@@ -1144,39 +1144,39 @@ const N = class N {
|
|
|
1144
1144
|
}, "reset"));
|
|
1145
1145
|
S(this, "clear", /* @__PURE__ */ c(() => {
|
|
1146
1146
|
var i;
|
|
1147
|
-
t(this,
|
|
1147
|
+
t(this, T).rawRecords = [], y(this, _, []), y(this, dt, []), (i = t(this, T).viewRecords) != null && i.reset && t(this, T).viewRecords.reset();
|
|
1148
1148
|
}, "clear"));
|
|
1149
1149
|
d(this, Qt, /* @__PURE__ */ c((i) => {
|
|
1150
|
-
var
|
|
1150
|
+
var r;
|
|
1151
1151
|
Array.isArray(i) || (i = [i]);
|
|
1152
|
-
const e = typeof ((
|
|
1153
|
-
return i.forEach((
|
|
1152
|
+
const e = typeof ((r = t(this, I).fields) == null ? void 0 : r.get) == "function" ? t(this, I).fields.get() : Object.keys(i[0] || {}), s = [];
|
|
1153
|
+
return i.forEach((n) => {
|
|
1154
1154
|
const o = { v: [] };
|
|
1155
1155
|
e.forEach((a) => {
|
|
1156
|
-
o.v.push(
|
|
1156
|
+
o.v.push(n[a] !== void 0 && n[a] !== null ? n[a] : "");
|
|
1157
1157
|
}), s.push(o);
|
|
1158
1158
|
}), s;
|
|
1159
1159
|
}, "#json2Array"));
|
|
1160
1160
|
d(this, te, /* @__PURE__ */ c((i) => (Array.isArray(i) || (i = [i]), i.forEach((e) => {
|
|
1161
|
-
e.__ng = t(this,
|
|
1161
|
+
e.__ng = t(this, Ct).call(this), e.__ng.rowid = this.nextId, e.__ng.rowState = N.ROW_STATE.INSERT, e.__ng._[0] = e.__ng.rowid;
|
|
1162
1162
|
}), i), "#defaultInsert"));
|
|
1163
1163
|
S(this, "add", /* @__PURE__ */ c((i, e = !0) => {
|
|
1164
1164
|
i === void 0 && (i = {});
|
|
1165
1165
|
const s = t(this, Qt).call(this, i);
|
|
1166
|
-
t(this,
|
|
1167
|
-
const
|
|
1168
|
-
return e || s.forEach((
|
|
1169
|
-
const a = t(this,
|
|
1166
|
+
t(this, T).rawRecords = t(this, T).rawRecords.concat(t(this, te).call(this, s)), this.resetRecords();
|
|
1167
|
+
const r = this.count() - 1;
|
|
1168
|
+
return e || s.forEach((n, o) => {
|
|
1169
|
+
const a = t(this, T).rawRecords[r - o];
|
|
1170
1170
|
a && (a.__ng.rowState = N.ROW_STATE.EMPTY);
|
|
1171
|
-
}), t(this, et).call(this),
|
|
1171
|
+
}), t(this, et).call(this), r;
|
|
1172
1172
|
}, "add"));
|
|
1173
1173
|
S(this, "delete", /* @__PURE__ */ c((i) => {
|
|
1174
1174
|
let e = [];
|
|
1175
|
-
Array.isArray(i) ? e = i : typeof i > "u" ? e = [t(this,
|
|
1175
|
+
Array.isArray(i) ? e = i : typeof i > "u" ? e = [t(this, T).host.row.at] : e = [parseInt(i, 10)], e.sort((s, r) => r - s).forEach((s) => {
|
|
1176
1176
|
if (t(this, _)[s]) {
|
|
1177
|
-
const
|
|
1178
|
-
t(this, _)[s].__ng.rowState === N.ROW_STATE.INSERT ? t(this,
|
|
1179
|
-
|
|
1177
|
+
const r = t(this, _)[s].__ng.rowid;
|
|
1178
|
+
t(this, _)[s].__ng.rowState === N.ROW_STATE.INSERT ? t(this, T).rawRecords = t(this, T).rawRecords.filter((n) => n.__ng.rowid !== r) : t(this, T).rawRecords.forEach((n) => {
|
|
1179
|
+
n.__ng.rowid === r && (n.__ng.deleted = !0, n.__ng.rowState = N.ROW_STATE.DELETE);
|
|
1180
1180
|
});
|
|
1181
1181
|
}
|
|
1182
1182
|
}), this.resetRecords(), t(this, et).call(this);
|
|
@@ -1184,37 +1184,37 @@ const N = class N {
|
|
|
1184
1184
|
S(this, "setValue", /* @__PURE__ */ c((i, e, s) => {
|
|
1185
1185
|
var h;
|
|
1186
1186
|
i = parseInt(i, 10);
|
|
1187
|
-
const
|
|
1188
|
-
if (
|
|
1187
|
+
const n = (typeof ((h = t(this, I).fields) == null ? void 0 : h.get) == "function" ? t(this, I).fields.get() : []).indexOf(e);
|
|
1188
|
+
if (n < 0) return;
|
|
1189
1189
|
const o = this.getValidData()[i];
|
|
1190
1190
|
if (!o) return;
|
|
1191
|
-
const a = o.v[
|
|
1192
|
-
a !== s && o.__ng.rowState !== N.ROW_STATE.INSERT && (o.__ng.o.hasOwnProperty(e) || (o.__ng.o[e] = a), o.__ng.rowState = N.ROW_STATE.UPDATE), o.v[
|
|
1191
|
+
const a = o.v[n];
|
|
1192
|
+
a !== s && o.__ng.rowState !== N.ROW_STATE.INSERT && (o.__ng.o.hasOwnProperty(e) || (o.__ng.o[e] = a), o.__ng.rowState = N.ROW_STATE.UPDATE), o.v[n] = s;
|
|
1193
1193
|
}, "setValue"));
|
|
1194
1194
|
S(this, "resetRecords", /* @__PURE__ */ c(() => {
|
|
1195
|
-
y(this, dt, t(this,
|
|
1195
|
+
y(this, dt, t(this, T).rawRecords.filter((i) => !i.__ng.deleted)), y(this, _, t(this, T).rawRecords.filter((i) => !i.__ng.deleted && !i.__ng.filtered)), t(this, T).rawRecords.forEach((i, e) => {
|
|
1196
1196
|
i.__ng.rowidx = e;
|
|
1197
1197
|
}), t(this, _).forEach((i, e) => {
|
|
1198
1198
|
i.__ng.i = e;
|
|
1199
1199
|
});
|
|
1200
1200
|
}, "resetRecords"));
|
|
1201
|
-
S(this, "getValidData", /* @__PURE__ */ c(() => (t(this, _).length === 0 && t(this,
|
|
1201
|
+
S(this, "getValidData", /* @__PURE__ */ c(() => (t(this, _).length === 0 && t(this, T).rawRecords.length > 0 && this.resetRecords(), t(this, _)), "getValidData"));
|
|
1202
1202
|
d(this, ft, /* @__PURE__ */ c((i) => {
|
|
1203
1203
|
var o;
|
|
1204
1204
|
if (!i) return i;
|
|
1205
|
-
const e = !Array.isArray(i), s = e ? [i] : i,
|
|
1205
|
+
const e = !Array.isArray(i), s = e ? [i] : i, r = typeof ((o = t(this, I).fields) == null ? void 0 : o.get) == "function" ? t(this, I).fields.get() : [], n = s.filter((a) => !a.__ng.deleted).map((a) => {
|
|
1206
1206
|
const h = {};
|
|
1207
|
-
return
|
|
1207
|
+
return r.forEach((l, f) => {
|
|
1208
1208
|
h[l] = a.v ? a.v[f] : a[l];
|
|
1209
1209
|
}), h.__ng = a.__ng, h;
|
|
1210
1210
|
});
|
|
1211
|
-
return e ?
|
|
1211
|
+
return e ? n[0] : n;
|
|
1212
1212
|
}, "#conv"));
|
|
1213
1213
|
S(this, "count", /* @__PURE__ */ c(() => this.getValidData().length, "count"));
|
|
1214
|
-
y(this, I, i), y(this,
|
|
1214
|
+
y(this, I, i), y(this, T, e), t(this, Jt).call(this);
|
|
1215
1215
|
}
|
|
1216
1216
|
get source() {
|
|
1217
|
-
return t(this, ft).call(this, t(this,
|
|
1217
|
+
return t(this, ft).call(this, t(this, T).rawRecords);
|
|
1218
1218
|
}
|
|
1219
1219
|
set source(i) {
|
|
1220
1220
|
this.clear(), this.add(i, !1);
|
|
@@ -1229,7 +1229,7 @@ const N = class N {
|
|
|
1229
1229
|
return this.length;
|
|
1230
1230
|
}
|
|
1231
1231
|
};
|
|
1232
|
-
I = new WeakMap(),
|
|
1232
|
+
I = new WeakMap(), T = new WeakMap(), _ = new WeakMap(), dt = new WeakMap(), Gt = new WeakMap(), V = new WeakMap(), Jt = new WeakMap(), et = new WeakMap(), Ct = new WeakMap(), Qt = new WeakMap(), te = new WeakMap(), ft = new WeakMap(), c(N, "ngData"), // 🎯 행 상태 정의 상수를 클래스 내부로 내재화
|
|
1233
1233
|
S(N, "ROW_STATE", {
|
|
1234
1234
|
EMPTY: "EMPTY",
|
|
1235
1235
|
NORMAL: "NORMAL",
|
|
@@ -1248,14 +1248,14 @@ const _e = class _e {
|
|
|
1248
1248
|
}, this.setDataSource = (e) => {
|
|
1249
1249
|
this.data && this.data.reset(), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.data.set(e || []);
|
|
1250
1250
|
}, this.getRowState = (e) => {
|
|
1251
|
-
var
|
|
1251
|
+
var r, n;
|
|
1252
1252
|
const s = parseInt(e, 10);
|
|
1253
1253
|
if (!(s >= this.data.count()))
|
|
1254
|
-
return (
|
|
1254
|
+
return (n = (r = this.data.getValidData()[s]) == null ? void 0 : r.__ng) == null ? void 0 : n.rowState;
|
|
1255
1255
|
}, this.getRowPosition = () => this.row.at, this.setRowPosition = (e) => {
|
|
1256
1256
|
this.row.at = e;
|
|
1257
|
-
}, 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,
|
|
1258
|
-
e = parseInt(e, 10), this.data.setValue(e, s,
|
|
1257
|
+
}, 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) => {
|
|
1258
|
+
e = parseInt(e, 10), this.data.setValue(e, s, r);
|
|
1259
1259
|
}, this.setDataSource([]);
|
|
1260
1260
|
}
|
|
1261
1261
|
};
|
|
@@ -1269,7 +1269,7 @@ const Ne = class Ne {
|
|
|
1269
1269
|
d(this, L, []);
|
|
1270
1270
|
S(this, "add", /* @__PURE__ */ c((i, e = "string") => {
|
|
1271
1271
|
i.forEach((s) => {
|
|
1272
|
-
t(this, L).some((
|
|
1272
|
+
t(this, L).some((r) => r.name === s) || t(this, L).push({ name: s, type: e });
|
|
1273
1273
|
}), t(this, Lt).call(this);
|
|
1274
1274
|
}, "add"));
|
|
1275
1275
|
d(this, Lt, /* @__PURE__ */ c(() => {
|
|
@@ -1279,16 +1279,16 @@ const Ne = class Ne {
|
|
|
1279
1279
|
}), 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);
|
|
1280
1280
|
}, "#adjust"));
|
|
1281
1281
|
d(this, ee, /* @__PURE__ */ c(() => {
|
|
1282
|
-
y(this, L, []),
|
|
1282
|
+
y(this, L, []), nt.log(t(this, ut).querySelectorAll("table"));
|
|
1283
1283
|
const i = Array.from(t(this, ut).querySelectorAll("table"));
|
|
1284
1284
|
if (!(!i || i.length === 0)) {
|
|
1285
1285
|
for (const e of i)
|
|
1286
|
-
|
|
1287
|
-
const
|
|
1288
|
-
|
|
1286
|
+
nt.log(e), $("[data-bind]", e).each((s, r) => {
|
|
1287
|
+
const n = r.dataset.bind, o = r.getAttribute("data-type") || "string";
|
|
1288
|
+
n && t(this, L).push({ name: n, type: o });
|
|
1289
1289
|
}), ["data-expr", "background-color", "color", "tooltip", "visible", "readonly", "enable-button", "enable-check", "class-expr", "icon-color", "icon-src"].forEach((s) => {
|
|
1290
|
-
$(`[${s}]`, e).each((
|
|
1291
|
-
var o =
|
|
1290
|
+
$(`[${s}]`, e).each((r, n) => {
|
|
1291
|
+
var o = n.getAttribute(s);
|
|
1292
1292
|
if (o.indexOf("data.") < 0) {
|
|
1293
1293
|
const a = o.search(/[(]/g);
|
|
1294
1294
|
if (a > 0)
|
|
@@ -1342,7 +1342,7 @@ const We = class We extends HTMLElement {
|
|
|
1342
1342
|
d(this, it);
|
|
1343
1343
|
d(this, se);
|
|
1344
1344
|
d(this, ie, /* @__PURE__ */ c(() => {
|
|
1345
|
-
this.fields = new be(this), y(this, se, new de(this)),
|
|
1345
|
+
this.fields = new be(this), y(this, se, new de(this)), nt.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } }));
|
|
1346
1346
|
}, "#init"));
|
|
1347
1347
|
this.attachShadow({ mode: "open" }), y(this, it, new ge(this));
|
|
1348
1348
|
}
|
|
@@ -1350,7 +1350,7 @@ const We = class We extends HTMLElement {
|
|
|
1350
1350
|
t(this, ie).call(this);
|
|
1351
1351
|
}
|
|
1352
1352
|
disconnectedCallback() {
|
|
1353
|
-
|
|
1353
|
+
nt.log("NineTable disconnected.");
|
|
1354
1354
|
}
|
|
1355
1355
|
// 🎯 외부에서 grid.data.set(...) 형태로 접근할 수 있도록 데이터 매니저 오픈
|
|
1356
1356
|
get data() {
|
|
@@ -1374,24 +1374,7 @@ const mt = class mt extends HTMLElement {
|
|
|
1374
1374
|
super();
|
|
1375
1375
|
}
|
|
1376
1376
|
applyBaseStyle() {
|
|
1377
|
-
|
|
1378
|
-
if (!ngElement._styleCache.has(i)) {
|
|
1379
|
-
const s = new CSSStyleSheet();
|
|
1380
|
-
ngElement._styleCache.set(i, s);
|
|
1381
|
-
const n = `https://cdn.jsdelivr.net/npm/@ninebone/grid@0.0.448/dist/css/${i}.css`;
|
|
1382
|
-
fetch(n).then((r) => r.text()).then((r) => s.replaceSync(r)).catch((r) => console.error("Base CSS Load Error:", r));
|
|
1383
|
-
}
|
|
1384
|
-
const e = [ngElement._styleCache.get(i)];
|
|
1385
|
-
if (nine.cssPath) {
|
|
1386
|
-
if (!ngElement._customStyleCache.has(i)) {
|
|
1387
|
-
const s = new CSSStyleSheet();
|
|
1388
|
-
ngElement._customStyleCache.set(i, s);
|
|
1389
|
-
const n = `${nine.cssPath}/ninegrid/${i}.css`;
|
|
1390
|
-
fetch(n).then((r) => r.text()).then((r) => s.replaceSync(r)).catch((r) => console.error("Custom CSS Load Error:", r));
|
|
1391
|
-
}
|
|
1392
|
-
e.push(ngElement._customStyleCache.get(i));
|
|
1393
|
-
}
|
|
1394
|
-
this.shadowRoot.adoptedStyleSheets = e;
|
|
1377
|
+
this.constructor.name;
|
|
1395
1378
|
}
|
|
1396
1379
|
connectedCallback() {
|
|
1397
1380
|
}
|
|
@@ -1411,13 +1394,13 @@ const Oe = class Oe extends pe {
|
|
|
1411
1394
|
S(this, "getDisplayText", /* @__PURE__ */ c((e) => {
|
|
1412
1395
|
if (t(this, p))
|
|
1413
1396
|
if (t(this, p).closest("tbody")) {
|
|
1414
|
-
const s = t(this, p).closest("tr").data,
|
|
1397
|
+
const s = t(this, p).closest("tr").data, r = parseInt(t(this, p).dataset.row);
|
|
1415
1398
|
if (!s) return "";
|
|
1416
1399
|
if (ninegrid.isNull(t(this, p).dataset.expr)) {
|
|
1417
1400
|
if (!ninegrid.isNull(t(this, p).dataset.bind))
|
|
1418
1401
|
return s[t(this, p).dataset.bind] || ninegrid.nvl(e, "");
|
|
1419
1402
|
} else try {
|
|
1420
|
-
return this.getExprValue(t(this, p).dataset.expr, s,
|
|
1403
|
+
return this.getExprValue(t(this, p).dataset.expr, s, r, t(this, p));
|
|
1421
1404
|
} catch {
|
|
1422
1405
|
console.error(t(this, p).dataset.expr, s, t(this, p).dataset.row);
|
|
1423
1406
|
}
|
|
@@ -1431,43 +1414,43 @@ const Oe = class Oe extends pe {
|
|
|
1431
1414
|
S(this, "reset", /* @__PURE__ */ c(() => {
|
|
1432
1415
|
parseInt(t(this, p).dataset.row);
|
|
1433
1416
|
var e = t(this, p).closest("tr"), s = e.data;
|
|
1434
|
-
|
|
1417
|
+
nt.log(s);
|
|
1435
1418
|
}, "reset"));
|
|
1436
1419
|
d(this, Re, /* @__PURE__ */ c(() => {
|
|
1437
1420
|
if (!(!t(this, k) || !t(this, k).template || !t(this, p).closest("tbody.bindable"))) {
|
|
1438
1421
|
var e = ninegrid.j.querySelectorAll(t(this, p)).attr("suppress");
|
|
1439
1422
|
if (e && (e = parseInt(e)), e && !isNaN(e)) {
|
|
1440
|
-
var s = t(this, p).closest("tr"),
|
|
1423
|
+
var s = t(this, p).closest("tr"), r = [];
|
|
1441
1424
|
$("th,td", s).each((x, W) => {
|
|
1442
|
-
var
|
|
1443
|
-
|
|
1444
|
-
}),
|
|
1445
|
-
var
|
|
1425
|
+
var C = ninegrid.j.querySelectorAll(W).attr("suppress");
|
|
1426
|
+
C && W.dataset.row && (C = parseInt(C), !isNaN(C) && C <= e && r.push(C));
|
|
1427
|
+
}), r.sort();
|
|
1428
|
+
var n = !1;
|
|
1446
1429
|
if (parseInt(s.sectionRowIndex / t(this, k).template.length) > 0)
|
|
1447
|
-
for (var o of
|
|
1430
|
+
for (var o of r) {
|
|
1448
1431
|
if (o > e) break;
|
|
1449
1432
|
var a = parseInt(t(this, p).dataset.row), h = a - 1, l = t(this, p).closest("tr").data, f = t(this, k).data.get(h);
|
|
1450
1433
|
t(this, p).dataset.matrixRow;
|
|
1451
1434
|
var u = t(this, k).body.querySelector(`tbody.bindable [suppress="${o}"][data-matrix-row="${t(this, p).dataset.matrixRow}"]`), b = u.dataset.expr ? this.getExprValue(u.dataset.expr, l, a) : l[u.dataset.bind], g = u.dataset.expr ? this.getExprValue(u.dataset.expr, f, h) : f[u.dataset.bind];
|
|
1452
1435
|
if (b != g) {
|
|
1453
|
-
|
|
1436
|
+
n = !0;
|
|
1454
1437
|
break;
|
|
1455
1438
|
}
|
|
1456
1439
|
}
|
|
1457
1440
|
else
|
|
1458
|
-
|
|
1459
|
-
|
|
1441
|
+
n = !0;
|
|
1442
|
+
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"));
|
|
1460
1443
|
var m = parseInt(t(this, p).dataset.matrixRow), v = m - 1, E = t(this, k).body.querySelector(`tbody.bindable [data-col="${t(this, p).dataset.col}"][data-matrix-row="${v}"]`);
|
|
1461
1444
|
$(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");
|
|
1462
1445
|
}
|
|
1463
1446
|
}
|
|
1464
1447
|
}, "#resetSuppress"));
|
|
1465
|
-
S(this, "getExprValue", /* @__PURE__ */ c((e, s,
|
|
1448
|
+
S(this, "getExprValue", /* @__PURE__ */ c((e, s, r, n) => {
|
|
1466
1449
|
if (typeof e < "u")
|
|
1467
1450
|
try {
|
|
1468
|
-
|
|
1451
|
+
r = parseInt(r);
|
|
1469
1452
|
const o = e.replace("()", "");
|
|
1470
|
-
return t(this, k)[o] ? t(this, k)[o].call(this, s,
|
|
1453
|
+
return t(this, k)[o] ? t(this, k)[o].call(this, s, r, t(this, p)) : t(this, k).exprFunction(e).call(this, s, r, t(this, k).data);
|
|
1471
1454
|
} catch {
|
|
1472
1455
|
return ["NG-COMBO"].includes(this.tagName) ? "" : e;
|
|
1473
1456
|
}
|
|
@@ -1478,7 +1461,7 @@ const Oe = class Oe extends pe {
|
|
|
1478
1461
|
connectedCallback() {
|
|
1479
1462
|
super.connectedCallback();
|
|
1480
1463
|
let e = this.getRootNode().host;
|
|
1481
|
-
e && e.tagName != "NINE-GRID" && (e = e.getRootNode().host), y(this, k, this.getRootNode().host), y(this, p, this.closest("th,td")),
|
|
1464
|
+
e && e.tagName != "NINE-GRID" && (e = e.getRootNode().host), y(this, k, this.getRootNode().host), y(this, p, this.closest("th,td")), nt.log(t(this, k), t(this, p));
|
|
1482
1465
|
}
|
|
1483
1466
|
get value() {
|
|
1484
1467
|
var e = !t(this, k) || !t(this, k).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];
|
|
@@ -1486,8 +1469,8 @@ const Oe = class Oe extends pe {
|
|
|
1486
1469
|
}
|
|
1487
1470
|
set value(e) {
|
|
1488
1471
|
var s = parseInt(t(this, p).dataset.row);
|
|
1489
|
-
const
|
|
1490
|
-
s < 0 ? t(this, k).data.setValueNF(parseInt(t(this, p).dataset.index), t(this, p).dataset.bind, e,
|
|
1472
|
+
const r = this.getAttribute("update-row-state") != "false";
|
|
1473
|
+
s < 0 ? t(this, k).data.setValueNF(parseInt(t(this, p).dataset.index), t(this, p).dataset.bind, e, r) : t(this, k).data.setValue(s, t(this, p).dataset.bind, e, r);
|
|
1491
1474
|
}
|
|
1492
1475
|
get row() {
|
|
1493
1476
|
return parseInt(t(this, p).dataset.row);
|
|
@@ -1508,15 +1491,15 @@ const Be = class Be extends me {
|
|
|
1508
1491
|
};
|
|
1509
1492
|
c(Be, "EditableCellElement");
|
|
1510
1493
|
let xe = Be;
|
|
1511
|
-
var qe,
|
|
1512
|
-
const
|
|
1494
|
+
var qe, rt, gt, bt, re, Y, ke;
|
|
1495
|
+
const De = class De extends xe {
|
|
1513
1496
|
constructor() {
|
|
1514
1497
|
super();
|
|
1515
1498
|
d(this, qe);
|
|
1516
|
-
d(this,
|
|
1499
|
+
d(this, rt);
|
|
1517
1500
|
d(this, gt);
|
|
1518
1501
|
d(this, bt);
|
|
1519
|
-
d(this,
|
|
1502
|
+
d(this, re);
|
|
1520
1503
|
d(this, Y);
|
|
1521
1504
|
/**
|
|
1522
1505
|
dataRefresh = (v) => {
|
|
@@ -1550,12 +1533,12 @@ const Pe = class Pe extends xe {
|
|
|
1550
1533
|
*/
|
|
1551
1534
|
d(this, ke, /* @__PURE__ */ c((e) => {
|
|
1552
1535
|
if (!["Escape", "Enter", "Tab", "Home", "End", "ArrowLeft", "ArrowRight", "PageUp", "PageDown", "Backspace", "Delete"].includes(e.code)) {
|
|
1553
|
-
if (t(this,
|
|
1554
|
-
let
|
|
1555
|
-
if (t(this, Y) && Number(t(this, Y)) > 0 &&
|
|
1556
|
-
var s = e.target.value,
|
|
1557
|
-
if (
|
|
1558
|
-
var s = s.substr(
|
|
1536
|
+
if (t(this, rt) == "number") {
|
|
1537
|
+
let n = [];
|
|
1538
|
+
if (t(this, Y) && Number(t(this, Y)) > 0 && n.push("."), t(this, bt) && Number(t(this, bt)) >= 0 && n.push("-"), !(e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105) && !n.includes(e.key) && e.preventDefault(), t(this, Y) && (e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105) && e.target.selectionStart == e.target.selectionEnd) {
|
|
1539
|
+
var s = e.target.value, r = s.indexOf(".");
|
|
1540
|
+
if (r >= 0) {
|
|
1541
|
+
var s = s.substr(r + 1, s.length);
|
|
1559
1542
|
s.length >= Number(t(this, Y)) && e.preventDefault();
|
|
1560
1543
|
}
|
|
1561
1544
|
}
|
|
@@ -1563,12 +1546,12 @@ const Pe = class Pe extends xe {
|
|
|
1563
1546
|
t(this, gt) && ninegrid.getByteLength(e.target.value) >= Number(t(this, gt)) && e.target.selectionStart == e.target.selectionEnd && e.preventDefault();
|
|
1564
1547
|
}
|
|
1565
1548
|
}, "#onKeyDown"));
|
|
1566
|
-
if (this.applyBaseStyle(), y(this,
|
|
1549
|
+
if (this.applyBaseStyle(), y(this, rt, this.getAttribute("type") || "text"), y(this, gt, this.getAttribute("maxbyte")), y(this, bt, this.getAttribute("min")), y(this, re, this.getAttribute("max")), y(this, Y, this.getAttribute("scale")), !["text", "number"].includes(t(this, rt))) throw `invalid type : ${t(this, rt)}`;
|
|
1567
1550
|
}
|
|
1568
1551
|
connectedCallback() {
|
|
1569
1552
|
for (var e = [], s = 0; s < this.attributes.length; s++)
|
|
1570
1553
|
["type", "maxlength", "maxbyte", "min", "max", "step", "scale", "text-align"].includes(this.attributes[s].name) && e.push(`${this.attributes[s].name}="${this.attributes[s].value}"`);
|
|
1571
|
-
this.
|
|
1554
|
+
this.innerHTML = `
|
|
1572
1555
|
<input type="text"
|
|
1573
1556
|
${e.join(" ")}
|
|
1574
1557
|
ondragstart="return false;"
|
|
@@ -1576,8 +1559,8 @@ const Pe = class Pe extends xe {
|
|
|
1576
1559
|
`, super.connectedCallback();
|
|
1577
1560
|
}
|
|
1578
1561
|
};
|
|
1579
|
-
qe = new WeakMap(),
|
|
1580
|
-
let ve =
|
|
1562
|
+
qe = new WeakMap(), rt = new WeakMap(), gt = new WeakMap(), bt = new WeakMap(), re = new WeakMap(), Y = new WeakMap(), ke = new WeakMap(), c(De, "CellInputText");
|
|
1563
|
+
let ve = De;
|
|
1581
1564
|
customElements.get("cell-input-text");
|
|
1582
1565
|
customElements.get("cell-input") || customElements.define("cell-input", ve);
|
|
1583
1566
|
//# sourceMappingURL=nine-table.js.map
|