@ninebone/table 0.0.548 → 0.0.549
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 +84 -78
- package/dist/nine-table.js.map +1 -1
- package/dist/nine-table.umd.js +6 -0
- package/dist/nine-table.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/nine-table.js
CHANGED
|
@@ -5,10 +5,10 @@ var Ve = (R) => {
|
|
|
5
5
|
var Xe = (R, i, e) => i in R ? Fe(R, i, { enumerable: !0, configurable: !0, writable: !0, value: e }) : R[i] = e;
|
|
6
6
|
var c = (R, i) => Fe(R, "name", { value: i, configurable: !0 });
|
|
7
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)), h = (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),
|
|
8
|
+
var t = (R, i, e) => (Ye(R, i, "read from private field"), e ? e.call(R) : i.get(R)), h = (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), p = (R, i, e, s) => (Ye(R, i, "write to private field"), s ? s.call(R, e) : i.set(R, e), e);
|
|
9
9
|
var Ue = (R, i, e, s) => ({
|
|
10
10
|
set _(r) {
|
|
11
|
-
|
|
11
|
+
p(R, i, r, e);
|
|
12
12
|
},
|
|
13
13
|
get _() {
|
|
14
14
|
return t(R, i, s);
|
|
@@ -36,7 +36,7 @@ const Me = class Me extends HTMLElement {
|
|
|
36
36
|
h(this, It, /* @__PURE__ */ c(() => {
|
|
37
37
|
if (!t(this, z)) return;
|
|
38
38
|
const e = t(this, z).querySelector(".ng-container-body .ng-part-body");
|
|
39
|
-
e && (
|
|
39
|
+
e && (p(this, Z, new ResizeObserver(() => {
|
|
40
40
|
this.refresh();
|
|
41
41
|
})), t(this, Z).observe(e));
|
|
42
42
|
}, "#observeResize"));
|
|
@@ -77,8 +77,8 @@ const Me = class Me extends HTMLElement {
|
|
|
77
77
|
const e = /* @__PURE__ */ c((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 + r),
|
|
81
|
-
clearInterval(t(this, X)),
|
|
80
|
+
t(this, G).call(this, n + r), p(this, X, setInterval(() => {
|
|
81
|
+
clearInterval(t(this, X)), p(this, K, setInterval(() => {
|
|
82
82
|
const a = parseInt(t(this, w).thumb.style.left || 0, 10);
|
|
83
83
|
t(this, G).call(this, a + r) || clearInterval(t(this, K));
|
|
84
84
|
}, 50));
|
|
@@ -99,20 +99,20 @@ const Me = class Me extends HTMLElement {
|
|
|
99
99
|
t(this, G).call(this, r.clientX - n.left - a / 2);
|
|
100
100
|
}), t(this, w).thumb.addEventListener("mousedown", (r) => {
|
|
101
101
|
if (r.button !== 0) return;
|
|
102
|
-
r.stopPropagation(), r.preventDefault(),
|
|
102
|
+
r.stopPropagation(), r.preventDefault(), p(this, j, !0), this.shiftX = r.clientX - t(this, w).thumb.getBoundingClientRect().left;
|
|
103
103
|
const n = /* @__PURE__ */ c((o) => {
|
|
104
104
|
if (!t(this, j)) return;
|
|
105
105
|
const d = t(this, w).track.getBoundingClientRect();
|
|
106
106
|
t(this, G).call(this, o.clientX - d.left - this.shiftX);
|
|
107
107
|
}, "onMouseMove"), a = /* @__PURE__ */ c(() => {
|
|
108
|
-
|
|
108
|
+
p(this, j, !1), s(), document.removeEventListener("mousemove", n), document.removeEventListener("mouseup", a), this.refresh();
|
|
109
109
|
}, "onMouseUp");
|
|
110
110
|
document.addEventListener("mousemove", n), document.addEventListener("mouseup", a);
|
|
111
111
|
});
|
|
112
112
|
}, "#init"));
|
|
113
113
|
}
|
|
114
114
|
connectedCallback() {
|
|
115
|
-
if (
|
|
115
|
+
if (p(this, z, this.closest("nine-table-sheet") || this.getRootNode().host), !t(this, z)) return;
|
|
116
116
|
this.innerHTML = `
|
|
117
117
|
<style>
|
|
118
118
|
nine-table-hscrollbar {
|
|
@@ -182,7 +182,7 @@ const Me = class Me extends HTMLElement {
|
|
|
182
182
|
setTimeout(e, 10);
|
|
183
183
|
return;
|
|
184
184
|
}
|
|
185
|
-
|
|
185
|
+
p(this, w, {
|
|
186
186
|
container: s,
|
|
187
187
|
track: this.querySelector(".ng-scroll-track"),
|
|
188
188
|
thumb: this.querySelector(".ng-scroll-thumb"),
|
|
@@ -239,7 +239,7 @@ const $e = class $e extends HTMLElement {
|
|
|
239
239
|
t(this, J) || this.refresh();
|
|
240
240
|
}), t(this, q).thumb.addEventListener("mousedown", (r) => {
|
|
241
241
|
if (r.button !== 0) return;
|
|
242
|
-
r.stopPropagation(), r.preventDefault(),
|
|
242
|
+
r.stopPropagation(), r.preventDefault(), p(this, J, !0), p(this, xt, r.clientY), p(this, vt, e.scrollTop);
|
|
243
243
|
const n = /* @__PURE__ */ c((o) => {
|
|
244
244
|
if (!t(this, J)) return;
|
|
245
245
|
const d = t(this, q).track.getBoundingClientRect(), l = t(this, q).thumb.clientHeight, u = d.height - l, b = o.clientY - t(this, xt), g = e.clientHeight, x = s(), v = Math.max(x - g, 1);
|
|
@@ -251,7 +251,7 @@ const $e = class $e extends HTMLElement {
|
|
|
251
251
|
}
|
|
252
252
|
this.refresh();
|
|
253
253
|
}, "onMouseMove"), a = /* @__PURE__ */ c(() => {
|
|
254
|
-
|
|
254
|
+
p(this, J, !1), document.removeEventListener("mousemove", n), document.removeEventListener("mouseup", a), this.refresh();
|
|
255
255
|
}, "onMouseUp");
|
|
256
256
|
document.addEventListener("mousemove", n), document.addEventListener("mouseup", a);
|
|
257
257
|
}), t(this, q).track.addEventListener("mousedown", (r) => {
|
|
@@ -270,7 +270,7 @@ const $e = class $e extends HTMLElement {
|
|
|
270
270
|
}, "#init"));
|
|
271
271
|
}
|
|
272
272
|
connectedCallback() {
|
|
273
|
-
|
|
273
|
+
p(this, F, this.getRootNode().host), p(this, at, this.closest("nine-table-sheet")), this.innerHTML = `
|
|
274
274
|
<style>
|
|
275
275
|
nine-table-vscrollbar {
|
|
276
276
|
display: flex;
|
|
@@ -340,7 +340,7 @@ const $e = class $e extends HTMLElement {
|
|
|
340
340
|
setTimeout(e, 10);
|
|
341
341
|
return;
|
|
342
342
|
}
|
|
343
|
-
|
|
343
|
+
p(this, q, {
|
|
344
344
|
container: s,
|
|
345
345
|
track: this.querySelector(".ng-scroll-track"),
|
|
346
346
|
thumb: this.querySelector(".ng-scroll-thumb"),
|
|
@@ -375,10 +375,10 @@ const Ie = class Ie {
|
|
|
375
375
|
i && (t(this, St).call(this), t(this, lt).call(this, i.scrollTop), (e = t(this, S).querySelector("nine-table-vscrollbar")) == null || e.refresh());
|
|
376
376
|
}, "refresh"));
|
|
377
377
|
E(this, "initialize", /* @__PURE__ */ c(() => {
|
|
378
|
-
N.log("rowManager.initialize"),
|
|
378
|
+
N.log("rowManager.initialize"), p(this, Q, {
|
|
379
379
|
scrollTables: t(this, S).querySelectorAll(".ng-part-body table"),
|
|
380
380
|
firstTr: t(this, S).querySelector(".ng-container-body .ng-part-body tbody.bindable-tbody tr:not(.nodata)")
|
|
381
|
-
}),
|
|
381
|
+
}), p(this, H, null), t(this, P).clear(), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((r) => {
|
|
382
382
|
const n = t(this, S).querySelector(r);
|
|
383
383
|
if (!n) return;
|
|
384
384
|
const a = n.querySelector(".ng-part-body table");
|
|
@@ -427,7 +427,7 @@ const Ie = class Ie {
|
|
|
427
427
|
const u = s.querySelectorAll("tr:not(.nodata)");
|
|
428
428
|
return u.forEach((b) => {
|
|
429
429
|
f += b.offsetHeight || b.getBoundingClientRect().height;
|
|
430
|
-
}), u.forEach((b) => b.remove()), a.style.display = o, a.style.visibility = d, a.style.position = l,
|
|
430
|
+
}), u.forEach((b) => b.remove()), a.style.display = o, a.style.visibility = d, a.style.position = l, p(this, H, f > 0 ? f : 24), t(this, Et).call(this), t(this, H);
|
|
431
431
|
}, "#measureAndCacheHeight"));
|
|
432
432
|
h(this, St, /* @__PURE__ */ c(() => {
|
|
433
433
|
N.log("rowManager.#updateVirtualScrollHeight");
|
|
@@ -442,7 +442,7 @@ const Ie = class Ie {
|
|
|
442
442
|
h(this, Et, /* @__PURE__ */ c(() => {
|
|
443
443
|
if (t(this, tt) > 0 && t(this, H) > 0) {
|
|
444
444
|
const i = Math.ceil(t(this, tt) / t(this, H));
|
|
445
|
-
|
|
445
|
+
p(this, wt, i + t(this, Wt));
|
|
446
446
|
}
|
|
447
447
|
}, "#updateRowCount"));
|
|
448
448
|
h(this, zt, /* @__PURE__ */ c(() => {
|
|
@@ -473,7 +473,7 @@ const Ie = class Ie {
|
|
|
473
473
|
}
|
|
474
474
|
}, "#syncRowHeights"));
|
|
475
475
|
h(this, Pt, /* @__PURE__ */ c(() => {
|
|
476
|
-
!t(this, S) || !(t(this, S) instanceof HTMLElement) || (
|
|
476
|
+
!t(this, S) || !(t(this, S) instanceof HTMLElement) || (p(this, V, new ResizeObserver((i) => {
|
|
477
477
|
for (const e of i) {
|
|
478
478
|
const s = e.target;
|
|
479
479
|
if (!s.classList.contains("active")) continue;
|
|
@@ -483,7 +483,7 @@ const Ie = class Ie {
|
|
|
483
483
|
const a = s.querySelector(".ng-part-header"), o = s.querySelector(".ng-part-footer");
|
|
484
484
|
a && (n += a.offsetHeight), o && (n += o.offsetHeight);
|
|
485
485
|
const d = Math.max(r - n, 100);
|
|
486
|
-
t(this, tt) !== d && (
|
|
486
|
+
t(this, tt) !== d && (p(this, tt, d), t(this, Et).call(this), t(this, H) !== null && (t(this, At).call(this), this.refresh()));
|
|
487
487
|
}
|
|
488
488
|
}
|
|
489
489
|
})), t(this, V).observe(t(this, S)));
|
|
@@ -573,9 +573,9 @@ const Ie = class Ie {
|
|
|
573
573
|
}
|
|
574
574
|
}, "#syncHeaderHeights"));
|
|
575
575
|
E(this, "destroy", /* @__PURE__ */ c(() => {
|
|
576
|
-
t(this, V) && (t(this, V).disconnect(),
|
|
576
|
+
t(this, V) && (t(this, V).disconnect(), p(this, V, null));
|
|
577
577
|
}, "destroy"));
|
|
578
|
-
|
|
578
|
+
p(this, D, i.getRootNode().host), p(this, S, i), t(this, Pt).call(this);
|
|
579
579
|
}
|
|
580
580
|
getRowHeight() {
|
|
581
581
|
return t(this, H);
|
|
@@ -641,8 +641,8 @@ const jt = class jt {
|
|
|
641
641
|
}
|
|
642
642
|
const W = m.rowSpan || 1, C = m.colSpan || 1;
|
|
643
643
|
for (let B = 0; B < W; B++)
|
|
644
|
-
for (let
|
|
645
|
-
v + B < u && A +
|
|
644
|
+
for (let pt = 0; pt < C; pt++)
|
|
645
|
+
v + B < u && A + pt < b && (g[v + B][A + pt] = B === 0 && pt === 0 ? "1" : "0");
|
|
646
646
|
});
|
|
647
647
|
}), l.forEach((x) => {
|
|
648
648
|
const v = x.sectionRowIndex;
|
|
@@ -667,7 +667,7 @@ const jt = class jt {
|
|
|
667
667
|
c(jt, "TableCompiler");
|
|
668
668
|
let he = jt;
|
|
669
669
|
var Ft, et, st, Vt, Yt, ct, Ut, Xt;
|
|
670
|
-
const
|
|
670
|
+
const yt = class yt extends HTMLElement {
|
|
671
671
|
constructor() {
|
|
672
672
|
super();
|
|
673
673
|
h(this, Ft);
|
|
@@ -709,7 +709,7 @@ const pt = class pt extends HTMLElement {
|
|
|
709
709
|
});
|
|
710
710
|
}, "#updateContainerWidths"));
|
|
711
711
|
E(this, "generate", /* @__PURE__ */ c((e) => {
|
|
712
|
-
e && (
|
|
712
|
+
e && (p(this, et, he.compile(e)), t(this, Vt).call(this), t(this, Yt).call(this), t(this, st).initialize(), setTimeout(() => {
|
|
713
713
|
var s;
|
|
714
714
|
(s = this.querySelector("nine-table-hscrollbar")) == null || s.refresh();
|
|
715
715
|
}, 0));
|
|
@@ -743,7 +743,7 @@ const pt = class pt extends HTMLElement {
|
|
|
743
743
|
t(this, Xt).call(this);
|
|
744
744
|
}, "#init"));
|
|
745
745
|
h(this, Xt, /* @__PURE__ */ c(() => {
|
|
746
|
-
const e =
|
|
746
|
+
const e = yt.SCROLLBAR_SIZE;
|
|
747
747
|
this.innerHTML = `
|
|
748
748
|
<style>
|
|
749
749
|
nine-table-sheet {
|
|
@@ -845,12 +845,18 @@ const pt = class pt extends HTMLElement {
|
|
|
845
845
|
background: #f3f4f6;
|
|
846
846
|
}
|
|
847
847
|
|
|
848
|
+
nine-table-sheet {
|
|
849
|
+
|
|
850
|
+
transition: unset !important;
|
|
851
|
+
}
|
|
852
|
+
|
|
848
853
|
nine-table-sheet table {
|
|
849
854
|
border-collapse: collapse;
|
|
850
855
|
width: 100%;
|
|
851
856
|
table-layout: fixed;
|
|
852
857
|
will-change: transform; /* 🎯 GPU 레이어로 분리하여 렌더링 떨림 방지 */
|
|
853
858
|
transform: translateZ(0); /* 🎯 강제 하드웨어 가속 트리거 */
|
|
859
|
+
transition: unset !important;
|
|
854
860
|
}
|
|
855
861
|
|
|
856
862
|
nine-table-sheet th, nine-table-sheet td {
|
|
@@ -891,7 +897,7 @@ const pt = class pt extends HTMLElement {
|
|
|
891
897
|
</div>
|
|
892
898
|
`;
|
|
893
899
|
}, "#render"));
|
|
894
|
-
|
|
900
|
+
p(this, st, new ce(this)), p(this, Ft, this.getRootNode().host);
|
|
895
901
|
}
|
|
896
902
|
connectedCallback() {
|
|
897
903
|
t(this, Ut).call(this);
|
|
@@ -900,8 +906,8 @@ const pt = class pt extends HTMLElement {
|
|
|
900
906
|
this.innerHTML = "", N.log("NineTableSheet destroyed.");
|
|
901
907
|
}
|
|
902
908
|
};
|
|
903
|
-
Ft = new WeakMap(), et = new WeakMap(), st = new WeakMap(), Vt = new WeakMap(), Yt = new WeakMap(), ct = new WeakMap(), Ut = new WeakMap(), Xt = new WeakMap(), c(
|
|
904
|
-
let $t =
|
|
909
|
+
Ft = new WeakMap(), et = new WeakMap(), st = new WeakMap(), Vt = new WeakMap(), Yt = new WeakMap(), ct = new WeakMap(), Ut = new WeakMap(), Xt = new WeakMap(), c(yt, "NineTableSheet"), E(yt, "SCROLLBAR_SIZE", 16);
|
|
910
|
+
let $t = yt;
|
|
905
911
|
customElements.get("nine-table-sheet") || customElements.define("nine-table-sheet", $t);
|
|
906
912
|
var Kt, qt;
|
|
907
913
|
const _e = class _e extends HTMLElement {
|
|
@@ -1074,7 +1080,7 @@ const Ne = class Ne {
|
|
|
1074
1080
|
});
|
|
1075
1081
|
});
|
|
1076
1082
|
}, "#render"));
|
|
1077
|
-
|
|
1083
|
+
p(this, M, i), t(this, Zt).call(this);
|
|
1078
1084
|
}
|
|
1079
1085
|
};
|
|
1080
1086
|
M = new WeakMap(), Zt = new WeakMap(), Tt = new WeakMap(), Gt = new WeakMap(), c(Ne, "LayoutManager");
|
|
@@ -1085,13 +1091,13 @@ const We = class We {
|
|
|
1085
1091
|
h(this, kt);
|
|
1086
1092
|
h(this, ht, -1);
|
|
1087
1093
|
E(this, "count", /* @__PURE__ */ c(() => t(this, kt).rawRecords.length, "count"));
|
|
1088
|
-
|
|
1094
|
+
p(this, kt, i);
|
|
1089
1095
|
}
|
|
1090
1096
|
get at() {
|
|
1091
1097
|
return t(this, ht);
|
|
1092
1098
|
}
|
|
1093
1099
|
set at(i) {
|
|
1094
|
-
|
|
1100
|
+
p(this, ht, parseInt(i, 10)), body && !body.querySelector(`tbody.bindable tr[data-row="${t(this, ht)}"]`) && setTimeout(() => {
|
|
1095
1101
|
});
|
|
1096
1102
|
}
|
|
1097
1103
|
};
|
|
@@ -1107,7 +1113,7 @@ const O = class O {
|
|
|
1107
1113
|
h(this, Jt, 0);
|
|
1108
1114
|
h(this, Y, []);
|
|
1109
1115
|
h(this, Qt, /* @__PURE__ */ c(() => {
|
|
1110
|
-
|
|
1116
|
+
p(this, Y, []);
|
|
1111
1117
|
const i = t(this, I).template || [];
|
|
1112
1118
|
Array.from(i).forEach((e) => {
|
|
1113
1119
|
var s;
|
|
@@ -1147,11 +1153,11 @@ const O = class O {
|
|
|
1147
1153
|
_: [0, 0, 0, 0, O.ROW_STATE.EMPTY, !1, !1, !0, !1, !0, !0, !1, t(this, Y).slice(), -1, {}, {}]
|
|
1148
1154
|
}), "#getDefaultMeta"));
|
|
1149
1155
|
E(this, "reset", /* @__PURE__ */ c(() => {
|
|
1150
|
-
|
|
1156
|
+
p(this, _, []), p(this, dt, []), t(this, it).call(this);
|
|
1151
1157
|
}, "reset"));
|
|
1152
1158
|
E(this, "clear", /* @__PURE__ */ c(() => {
|
|
1153
1159
|
var i;
|
|
1154
|
-
t(this, T).rawRecords = [],
|
|
1160
|
+
t(this, T).rawRecords = [], p(this, _, []), p(this, dt, []), (i = t(this, T).viewRecords) != null && i.reset && t(this, T).viewRecords.reset();
|
|
1155
1161
|
}, "clear"));
|
|
1156
1162
|
h(this, te, /* @__PURE__ */ c((i) => {
|
|
1157
1163
|
var r;
|
|
@@ -1199,7 +1205,7 @@ const O = class O {
|
|
|
1199
1205
|
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;
|
|
1200
1206
|
}, "setValue"));
|
|
1201
1207
|
E(this, "resetRecords", /* @__PURE__ */ c(() => {
|
|
1202
|
-
|
|
1208
|
+
p(this, dt, t(this, T).rawRecords.filter((i) => !i.__ng.deleted)), p(this, _, t(this, T).rawRecords.filter((i) => !i.__ng.deleted && !i.__ng.filtered)), t(this, T).rawRecords.forEach((i, e) => {
|
|
1203
1209
|
i.__ng.rowidx = e;
|
|
1204
1210
|
}), t(this, _).forEach((i, e) => {
|
|
1205
1211
|
i.__ng.i = e;
|
|
@@ -1218,7 +1224,7 @@ const O = class O {
|
|
|
1218
1224
|
return e ? n[0] : n;
|
|
1219
1225
|
}, "#conv"));
|
|
1220
1226
|
E(this, "count", /* @__PURE__ */ c(() => this.getValidData().length, "count"));
|
|
1221
|
-
|
|
1227
|
+
p(this, I, i), p(this, T, e), t(this, Qt).call(this);
|
|
1222
1228
|
}
|
|
1223
1229
|
get source() {
|
|
1224
1230
|
return t(this, ft).call(this, t(this, T).rawRecords);
|
|
@@ -1252,7 +1258,7 @@ var rt;
|
|
|
1252
1258
|
const Oe = class Oe {
|
|
1253
1259
|
constructor(i) {
|
|
1254
1260
|
h(this, rt);
|
|
1255
|
-
|
|
1261
|
+
p(this, rt, i), this.row = new ue(this), this.data = new ge(t(this, rt), this), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.pageCnt = 25, this.viewRecords.reset = () => {
|
|
1256
1262
|
var e;
|
|
1257
1263
|
(e = t(this, rt).view) != null && e.redraw && t(this, rt).view.redraw();
|
|
1258
1264
|
}, this.setDataSource = (e) => {
|
|
@@ -1286,10 +1292,10 @@ const Be = class Be {
|
|
|
1286
1292
|
const i = /* @__PURE__ */ new Map();
|
|
1287
1293
|
t(this, L).forEach((e) => {
|
|
1288
1294
|
i.set(e.name, e.type);
|
|
1289
|
-
}),
|
|
1295
|
+
}), p(this, L, Array.from(i, ([e, s]) => ({ name: e, type: s }))), p(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);
|
|
1290
1296
|
}, "#adjust"));
|
|
1291
1297
|
h(this, se, /* @__PURE__ */ c(() => {
|
|
1292
|
-
|
|
1298
|
+
p(this, L, []), N.log(t(this, ut).querySelectorAll("table"));
|
|
1293
1299
|
const i = Array.from(t(this, ut).querySelectorAll("table"));
|
|
1294
1300
|
if (!(!i || i.length === 0)) {
|
|
1295
1301
|
for (const e of i)
|
|
@@ -1320,7 +1326,7 @@ const Be = class Be {
|
|
|
1320
1326
|
t(this, Lt).call(this);
|
|
1321
1327
|
}
|
|
1322
1328
|
}, "#init"));
|
|
1323
|
-
|
|
1329
|
+
p(this, ut, i), t(this, se).call(this);
|
|
1324
1330
|
}
|
|
1325
1331
|
// 🎯 기존에 필드 이름만 쓰던 곳들과의 호환을 위해 이름 배열만 리턴하는 메서드 유지
|
|
1326
1332
|
get() {
|
|
@@ -1343,7 +1349,7 @@ const Be = class Be {
|
|
|
1343
1349
|
}
|
|
1344
1350
|
};
|
|
1345
1351
|
ut = new WeakMap(), L = new WeakMap(), Lt = new WeakMap(), se = new WeakMap(), c(Be, "ngFields");
|
|
1346
|
-
let
|
|
1352
|
+
let pe = Be;
|
|
1347
1353
|
var nt, ie, re;
|
|
1348
1354
|
const ze = class ze extends HTMLElement {
|
|
1349
1355
|
constructor() {
|
|
@@ -1352,9 +1358,9 @@ const ze = class ze extends HTMLElement {
|
|
|
1352
1358
|
h(this, nt);
|
|
1353
1359
|
h(this, ie);
|
|
1354
1360
|
h(this, re, /* @__PURE__ */ c(() => {
|
|
1355
|
-
this.fields = new
|
|
1361
|
+
this.fields = new pe(this), p(this, ie, new fe(this)), N.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } }));
|
|
1356
1362
|
}, "#init"));
|
|
1357
|
-
this.attachShadow({ mode: "open" }),
|
|
1363
|
+
this.attachShadow({ mode: "open" }), p(this, nt, new be(this));
|
|
1358
1364
|
}
|
|
1359
1365
|
connectedCallback() {
|
|
1360
1366
|
t(this, re).call(this);
|
|
@@ -1376,8 +1382,8 @@ const ze = class ze extends HTMLElement {
|
|
|
1376
1382
|
}
|
|
1377
1383
|
};
|
|
1378
1384
|
nt = new WeakMap(), ie = new WeakMap(), re = new WeakMap(), c(ze, "NineTable");
|
|
1379
|
-
let
|
|
1380
|
-
customElements.get("nine-table") || customElements.define("nine-table",
|
|
1385
|
+
let ye = ze;
|
|
1386
|
+
customElements.get("nine-table") || customElements.define("nine-table", ye);
|
|
1381
1387
|
const mt = class mt extends HTMLElement {
|
|
1382
1388
|
// 👈 커스텀 스타일용 캐시 추가
|
|
1383
1389
|
constructor() {
|
|
@@ -1391,42 +1397,42 @@ const mt = class mt extends HTMLElement {
|
|
|
1391
1397
|
};
|
|
1392
1398
|
c(mt, "BasicCellElement"), E(mt, "_styleCache", /* @__PURE__ */ new Map()), E(mt, "_customStyleCache", /* @__PURE__ */ new Map());
|
|
1393
1399
|
let me = mt;
|
|
1394
|
-
var k, Ht,
|
|
1400
|
+
var k, Ht, y, Re, qe, Te, ke, Ce;
|
|
1395
1401
|
const Pe = class Pe extends me {
|
|
1396
1402
|
constructor() {
|
|
1397
1403
|
super();
|
|
1398
1404
|
h(this, k);
|
|
1399
1405
|
h(this, Ht);
|
|
1400
|
-
h(this,
|
|
1406
|
+
h(this, y);
|
|
1401
1407
|
h(this, Re);
|
|
1402
1408
|
h(this, qe);
|
|
1403
1409
|
h(this, Te);
|
|
1404
1410
|
h(this, ke);
|
|
1405
1411
|
E(this, "getDisplayText", /* @__PURE__ */ c((e) => {
|
|
1406
|
-
if (t(this,
|
|
1407
|
-
if (t(this,
|
|
1408
|
-
const s = t(this,
|
|
1412
|
+
if (t(this, y))
|
|
1413
|
+
if (t(this, y).closest("tbody")) {
|
|
1414
|
+
const s = t(this, y).closest("tr").data, r = parseInt(t(this, y).dataset.row);
|
|
1409
1415
|
if (!s) return "";
|
|
1410
|
-
if (ninegrid.isNull(t(this,
|
|
1411
|
-
if (!ninegrid.isNull(t(this,
|
|
1412
|
-
return s[t(this,
|
|
1416
|
+
if (ninegrid.isNull(t(this, y).dataset.expr)) {
|
|
1417
|
+
if (!ninegrid.isNull(t(this, y).dataset.bind))
|
|
1418
|
+
return s[t(this, y).dataset.bind] || ninegrid.nvl(e, "");
|
|
1413
1419
|
} else try {
|
|
1414
|
-
return this.getExprValue(t(this,
|
|
1420
|
+
return this.getExprValue(t(this, y).dataset.expr, s, r, t(this, y));
|
|
1415
1421
|
} catch {
|
|
1416
|
-
console.error(t(this,
|
|
1422
|
+
console.error(t(this, y).dataset.expr, s, t(this, y).dataset.row);
|
|
1417
1423
|
}
|
|
1418
1424
|
return ninegrid.nvl(e, "");
|
|
1419
1425
|
} else
|
|
1420
1426
|
try {
|
|
1421
|
-
return t(this, k).exprFunction(t(this,
|
|
1427
|
+
return t(this, k).exprFunction(t(this, y).dataset.expr).call(this, null, -1, t(this, k).data);
|
|
1422
1428
|
} catch {
|
|
1423
1429
|
}
|
|
1424
1430
|
}, "getDisplayText"));
|
|
1425
1431
|
h(this, Ce, /* @__PURE__ */ c(() => {
|
|
1426
|
-
if (!(!t(this, k) || !t(this, k).template || !t(this,
|
|
1427
|
-
var e = ninegrid.j.querySelectorAll(t(this,
|
|
1432
|
+
if (!(!t(this, k) || !t(this, k).template || !t(this, y).closest("tbody.bindable"))) {
|
|
1433
|
+
var e = ninegrid.j.querySelectorAll(t(this, y)).attr("suppress");
|
|
1428
1434
|
if (e && (e = parseInt(e)), e && !isNaN(e)) {
|
|
1429
|
-
var s = t(this,
|
|
1435
|
+
var s = t(this, y).closest("tr"), r = [];
|
|
1430
1436
|
$("th,td", s).each((m, W) => {
|
|
1431
1437
|
var C = ninegrid.j.querySelectorAll(W).attr("suppress");
|
|
1432
1438
|
C && W.dataset.row && (C = parseInt(C), !isNaN(C) && C <= e && r.push(C));
|
|
@@ -1435,9 +1441,9 @@ const Pe = class Pe extends me {
|
|
|
1435
1441
|
if (parseInt(s.sectionRowIndex / t(this, k).template.length) > 0)
|
|
1436
1442
|
for (var a of r) {
|
|
1437
1443
|
if (a > e) break;
|
|
1438
|
-
var o = parseInt(t(this,
|
|
1439
|
-
t(this,
|
|
1440
|
-
var u = t(this, k).body.querySelector(`tbody.bindable [suppress="${a}"][data-matrix-row="${t(this,
|
|
1444
|
+
var o = parseInt(t(this, y).dataset.row), d = o - 1, l = t(this, y).closest("tr").data, f = t(this, k).data.get(d);
|
|
1445
|
+
t(this, y).dataset.matrixRow;
|
|
1446
|
+
var u = t(this, k).body.querySelector(`tbody.bindable [suppress="${a}"][data-matrix-row="${t(this, y).dataset.matrixRow}"]`), b = u.dataset.expr ? this.getExprValue(u.dataset.expr, l, o) : l[u.dataset.bind], g = u.dataset.expr ? this.getExprValue(u.dataset.expr, f, d) : f[u.dataset.bind];
|
|
1441
1447
|
if (b != g) {
|
|
1442
1448
|
n = !0;
|
|
1443
1449
|
break;
|
|
@@ -1445,9 +1451,9 @@ const Pe = class Pe extends me {
|
|
|
1445
1451
|
}
|
|
1446
1452
|
else
|
|
1447
1453
|
n = !0;
|
|
1448
|
-
n ? ninegrid.j.querySelectorAll(t(this,
|
|
1449
|
-
var x = parseInt(t(this,
|
|
1450
|
-
$(A).hasClass("suppress") && !ninegrid.j.querySelectorAll(t(this,
|
|
1454
|
+
n ? ninegrid.j.querySelectorAll(t(this, y)).removeClass("suppress") : ninegrid.j.querySelectorAll(t(this, y)).addClass("suppress"), ninegrid.j.querySelectorAll(t(this, y)).hasClass("hidden") || (n ? ninegrid.j.querySelectorAll(t(this, y)).removeClass("hidden") : ninegrid.j.querySelectorAll(t(this, y)).addClass("hidden"));
|
|
1455
|
+
var x = parseInt(t(this, y).dataset.matrixRow), v = x - 1, A = t(this, k).body.querySelector(`tbody.bindable [data-col="${t(this, y).dataset.col}"][data-matrix-row="${v}"]`);
|
|
1456
|
+
$(A).hasClass("suppress") && !ninegrid.j.querySelectorAll(t(this, y)).hasClass("suppress") ? ninegrid.j.querySelectorAll(A).removeClass("last-none-suppress").addClass("last-suppress") : !$(A).hasClass("suppress") && ninegrid.j.querySelectorAll(t(this, y)).hasClass("suppress") ? ninegrid.j.querySelectorAll(A).removeClass("last-suppress").addClass("last-none-suppress") : ninegrid.j.querySelectorAll(A).removeClass("last-none-suppress").removeClass("last-suppress");
|
|
1451
1457
|
}
|
|
1452
1458
|
}
|
|
1453
1459
|
}, "#resetSuppress"));
|
|
@@ -1456,7 +1462,7 @@ const Pe = class Pe extends me {
|
|
|
1456
1462
|
try {
|
|
1457
1463
|
r = parseInt(r);
|
|
1458
1464
|
const a = e.replace("()", "");
|
|
1459
|
-
return t(this, k)[a] ? t(this, k)[a].call(this, s, r, t(this,
|
|
1465
|
+
return t(this, k)[a] ? t(this, k)[a].call(this, s, r, t(this, y)) : t(this, k).exprFunction(e).call(this, s, r, t(this, k).data);
|
|
1460
1466
|
} catch {
|
|
1461
1467
|
return ["NG-COMBO"].includes(this.tagName) ? "" : e;
|
|
1462
1468
|
}
|
|
@@ -1465,29 +1471,29 @@ const Pe = class Pe extends me {
|
|
|
1465
1471
|
}, "getExprValue"));
|
|
1466
1472
|
}
|
|
1467
1473
|
connectedCallback() {
|
|
1468
|
-
super.connectedCallback(),
|
|
1474
|
+
super.connectedCallback(), p(this, k, this.getRootNode().host), p(this, y, this.closest("th,td")), p(this, Ht, t(this, y).closest("tr"));
|
|
1469
1475
|
}
|
|
1470
1476
|
get value() {
|
|
1471
|
-
var e = !t(this, k) || !t(this, k).dataManager || !t(this,
|
|
1477
|
+
var e = !t(this, k) || !t(this, k).dataManager || !t(this, y) || !t(this, y).dataset || !t(this, y).dataset.row || !t(this, y).dataset.bind ? "" : t(this, y).closest("tr").data[t(this, y).dataset.bind];
|
|
1472
1478
|
return e ?? "";
|
|
1473
1479
|
}
|
|
1474
1480
|
set value(e) {
|
|
1475
|
-
var s = parseInt(t(this,
|
|
1481
|
+
var s = parseInt(t(this, y).dataset.row);
|
|
1476
1482
|
const r = this.getAttribute("update-row-state") != "false";
|
|
1477
|
-
s < 0 ? t(this, k).data.setValueNF(parseInt(t(this,
|
|
1483
|
+
s < 0 ? t(this, k).data.setValueNF(parseInt(t(this, y).dataset.index), t(this, y).dataset.bind, e, r) : t(this, k).data.setValue(s, t(this, y).dataset.bind, e, r);
|
|
1478
1484
|
}
|
|
1479
1485
|
get row() {
|
|
1480
|
-
return parseInt(t(this,
|
|
1486
|
+
return parseInt(t(this, y).dataset.row);
|
|
1481
1487
|
}
|
|
1482
1488
|
get data() {
|
|
1483
|
-
return t(this,
|
|
1489
|
+
return t(this, y).closest("tr").data;
|
|
1484
1490
|
}
|
|
1485
1491
|
refresh() {
|
|
1486
|
-
const e = t(this,
|
|
1487
|
-
return parseInt(t(this,
|
|
1492
|
+
const e = t(this, y).dataset.bind;
|
|
1493
|
+
return parseInt(t(this, y).dataset.row), t(this, Ht).data[e];
|
|
1488
1494
|
}
|
|
1489
1495
|
};
|
|
1490
|
-
k = new WeakMap(), Ht = new WeakMap(),
|
|
1496
|
+
k = new WeakMap(), Ht = new WeakMap(), y = new WeakMap(), Re = new WeakMap(), qe = new WeakMap(), Te = new WeakMap(), ke = new WeakMap(), Ce = new WeakMap(), c(Pe, "CellElement");
|
|
1491
1497
|
let xe = Pe;
|
|
1492
1498
|
const De = class De extends xe {
|
|
1493
1499
|
constructor() {
|
|
@@ -1561,7 +1567,7 @@ const je = class je extends ve {
|
|
|
1561
1567
|
t(this, gt) && ninegrid.getByteLength(e.target.value) >= Number(t(this, gt)) && e.target.selectionStart == e.target.selectionEnd && e.preventDefault();
|
|
1562
1568
|
}
|
|
1563
1569
|
}, "#onKeyDown"));
|
|
1564
|
-
if (this.applyBaseStyle(),
|
|
1570
|
+
if (this.applyBaseStyle(), p(this, ot, this.getAttribute("type") || "text"), p(this, gt, this.getAttribute("maxbyte")), p(this, bt, this.getAttribute("min")), p(this, ne, this.getAttribute("max")), p(this, U, this.getAttribute("scale")), !["text", "number"].includes(t(this, ot))) throw `invalid type : ${t(this, ot)}`;
|
|
1565
1571
|
}
|
|
1566
1572
|
connectedCallback() {
|
|
1567
1573
|
for (var e = [], s = 0; s < this.attributes.length; s++)
|
|
@@ -1571,7 +1577,7 @@ const je = class je extends ve {
|
|
|
1571
1577
|
${e.join(" ")}
|
|
1572
1578
|
ondragstart="return false;"
|
|
1573
1579
|
>
|
|
1574
|
-
`, super.connectedCallback(),
|
|
1580
|
+
`, super.connectedCallback(), p(this, Mt, this.querySelector("input"));
|
|
1575
1581
|
}
|
|
1576
1582
|
};
|
|
1577
1583
|
Mt = new WeakMap(), ot = new WeakMap(), gt = new WeakMap(), bt = new WeakMap(), ne = new WeakMap(), U = new WeakMap(), Le = new WeakMap(), c(je, "CellInputText");
|