@ninebone/table 0.0.425 β 0.0.427
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 +357 -376
- package/dist/nine-table.js.map +1 -1
- package/dist/nine-table.umd.js +15 -29
- package/dist/nine-table.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/nine-table.js
CHANGED
|
@@ -7,8 +7,8 @@ var a = (x, i) => pe(x, "name", { value: i, configurable: !0 });
|
|
|
7
7
|
var v = (x, i, e) => we(x, typeof i != "symbol" ? i + "" : i, e), xe = (x, i, e) => i.has(x) || me("Cannot " + e);
|
|
8
8
|
var t = (x, i, e) => (xe(x, i, "read from private field"), e ? e.call(x) : i.get(x)), c = (x, i, e) => i.has(x) ? me("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(x) : i.set(x, e), b = (x, i, e, s) => (xe(x, i, "write to private field"), s ? s.call(x, e) : i.set(x, e), e);
|
|
9
9
|
var ve = (x, i, e, s) => ({
|
|
10
|
-
set _(
|
|
11
|
-
b(x, i,
|
|
10
|
+
set _(o) {
|
|
11
|
+
b(x, i, o, e);
|
|
12
12
|
},
|
|
13
13
|
get _() {
|
|
14
14
|
return t(x, i, s);
|
|
@@ -22,36 +22,36 @@ const re = class re extends Se.constructor {
|
|
|
22
22
|
};
|
|
23
23
|
a(re, "Trace");
|
|
24
24
|
let jt = re;
|
|
25
|
-
const
|
|
26
|
-
var
|
|
25
|
+
const H = new jt();
|
|
26
|
+
var _, N, p, V, X, U, St, F, Et;
|
|
27
27
|
const le = class le extends HTMLElement {
|
|
28
28
|
constructor() {
|
|
29
29
|
super();
|
|
30
|
-
c(this,
|
|
31
|
-
c(this,
|
|
30
|
+
c(this, _);
|
|
31
|
+
c(this, N, !1);
|
|
32
32
|
c(this, p);
|
|
33
|
-
c(this, Y);
|
|
34
33
|
c(this, V);
|
|
35
34
|
c(this, X);
|
|
35
|
+
c(this, U);
|
|
36
36
|
c(this, St, /* @__PURE__ */ a(() => {
|
|
37
|
-
if (!t(this,
|
|
38
|
-
const e = t(this,
|
|
39
|
-
e && (b(this,
|
|
37
|
+
if (!t(this, _)) return;
|
|
38
|
+
const e = t(this, _).querySelector(".ng-container-body");
|
|
39
|
+
e && (b(this, U, new ResizeObserver(() => {
|
|
40
40
|
this.refresh();
|
|
41
|
-
})), t(this,
|
|
41
|
+
})), t(this, U).observe(e));
|
|
42
42
|
}, "#observeResize"));
|
|
43
43
|
v(this, "refresh", /* @__PURE__ */ a(() => {
|
|
44
|
-
if (!t(this,
|
|
44
|
+
if (!t(this, _) || !t(this, p) || t(this, N)) return;
|
|
45
45
|
const e = t(this, p).container, s = e.querySelector("table");
|
|
46
46
|
if (!s) return;
|
|
47
|
-
const
|
|
47
|
+
const o = t(this, p).track, r = t(this, p).thumb, n = t(this, _).querySelector(".ng-container-bottom"), l = e.clientWidth, d = s.scrollWidth;
|
|
48
48
|
if (l !== 0 && d > l)
|
|
49
|
-
|
|
49
|
+
n && (n.style.display = "flex");
|
|
50
50
|
else {
|
|
51
|
-
|
|
51
|
+
n && (n.style.display = "none");
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
54
|
-
const h =
|
|
54
|
+
const h = o.clientWidth;
|
|
55
55
|
if (h <= 0) return;
|
|
56
56
|
const f = Math.max(Math.min(h * (l / d), h), 20);
|
|
57
57
|
r.style.width = `${f}px`;
|
|
@@ -59,60 +59,60 @@ const le = class le extends HTMLElement {
|
|
|
59
59
|
let y = 0;
|
|
60
60
|
g > 0 && (y = parseInt(u / g * (h - f), 10)), y < 0 && (y = 0);
|
|
61
61
|
const m = h - f;
|
|
62
|
-
y > m && (y = m), r.style.left = `${y}px`,
|
|
62
|
+
y > m && (y = m), r.style.left = `${y}px`, H.log(y), t(this, p).left.disabled = y === 0, t(this, p).right.disabled = y >= m - 1;
|
|
63
63
|
}, "refresh"));
|
|
64
|
-
c(this,
|
|
64
|
+
c(this, F, /* @__PURE__ */ a((e) => {
|
|
65
65
|
if (!t(this, p)) return !1;
|
|
66
|
-
const s = t(this, p).container,
|
|
67
|
-
if (!
|
|
68
|
-
const r = t(this, p).track.getBoundingClientRect(),
|
|
66
|
+
const s = t(this, p).container, o = s.querySelector("table");
|
|
67
|
+
if (!o) return !1;
|
|
68
|
+
const r = t(this, p).track.getBoundingClientRect(), n = t(this, p).thumb.clientWidth;
|
|
69
69
|
let l = e;
|
|
70
70
|
l < 0 && (l = 0);
|
|
71
|
-
const d = r.width -
|
|
71
|
+
const d = r.width - n;
|
|
72
72
|
l > d && (l = d), l = parseInt(l, 10), t(this, p).thumb.style.left = `${l}px`, t(this, p).left.disabled = l === 0, t(this, p).right.disabled = l >= d - 1;
|
|
73
|
-
const h = s.clientWidth, u =
|
|
73
|
+
const h = s.clientWidth, u = o.scrollWidth - h;
|
|
74
74
|
return d > 0 && u > 0 && (s.scrollLeft = l / d * u), l > 0 && l < d - 1;
|
|
75
75
|
}, "#thumbMoveTo"));
|
|
76
76
|
c(this, Et, /* @__PURE__ */ a(() => {
|
|
77
|
-
const e = /* @__PURE__ */ a((
|
|
78
|
-
clearInterval(t(this,
|
|
77
|
+
const e = /* @__PURE__ */ a((o) => {
|
|
78
|
+
clearInterval(t(this, V)), clearInterval(t(this, X));
|
|
79
79
|
const r = parseInt(t(this, p).thumb.style.left || 0, 10);
|
|
80
|
-
t(this,
|
|
81
|
-
clearInterval(t(this,
|
|
82
|
-
const
|
|
83
|
-
t(this,
|
|
80
|
+
t(this, F).call(this, r + o), b(this, V, setInterval(() => {
|
|
81
|
+
clearInterval(t(this, V)), b(this, X, setInterval(() => {
|
|
82
|
+
const n = parseInt(t(this, p).thumb.style.left || 0, 10);
|
|
83
|
+
t(this, F).call(this, n + o) || clearInterval(t(this, X));
|
|
84
84
|
}, 50));
|
|
85
85
|
}, 500));
|
|
86
86
|
}, "delayScroll"), s = /* @__PURE__ */ a(() => {
|
|
87
|
-
clearInterval(t(this,
|
|
87
|
+
clearInterval(t(this, V)), clearInterval(t(this, X));
|
|
88
88
|
}, "clearTimer");
|
|
89
|
-
["mouseup", "mouseleave", "touchend"].forEach((
|
|
90
|
-
t(this, p).left.addEventListener(
|
|
91
|
-
}), t(this, p).left.addEventListener("mousedown", (
|
|
92
|
-
|
|
93
|
-
}), t(this, p).right.addEventListener("mousedown", (
|
|
94
|
-
|
|
95
|
-
}), t(this, p).left.addEventListener("touchstart", () => e(-20)), t(this, p).right.addEventListener("touchstart", () => e(20)), t(this, p).track.addEventListener("mousedown", (
|
|
96
|
-
if (
|
|
97
|
-
|
|
98
|
-
const r = t(this, p).track.getBoundingClientRect(),
|
|
99
|
-
t(this,
|
|
100
|
-
}), t(this, p).thumb.addEventListener("mousedown", (
|
|
101
|
-
if (
|
|
102
|
-
|
|
89
|
+
["mouseup", "mouseleave", "touchend"].forEach((o) => {
|
|
90
|
+
t(this, p).left.addEventListener(o, s), t(this, p).right.addEventListener(o, s), t(this, p).track.addEventListener(o, s);
|
|
91
|
+
}), t(this, p).left.addEventListener("mousedown", (o) => {
|
|
92
|
+
o.button === 0 && e(-20);
|
|
93
|
+
}), t(this, p).right.addEventListener("mousedown", (o) => {
|
|
94
|
+
o.button === 0 && e(20);
|
|
95
|
+
}), t(this, p).left.addEventListener("touchstart", () => e(-20)), t(this, p).right.addEventListener("touchstart", () => e(20)), t(this, p).track.addEventListener("mousedown", (o) => {
|
|
96
|
+
if (o.button !== 0) return;
|
|
97
|
+
o.preventDefault();
|
|
98
|
+
const r = t(this, p).track.getBoundingClientRect(), n = t(this, p).thumb.clientWidth;
|
|
99
|
+
t(this, F).call(this, o.clientX - r.left - n / 2);
|
|
100
|
+
}), t(this, p).thumb.addEventListener("mousedown", (o) => {
|
|
101
|
+
if (o.button !== 0) return;
|
|
102
|
+
o.stopPropagation(), o.preventDefault(), b(this, N, !0), this.shiftX = o.clientX - t(this, p).thumb.getBoundingClientRect().left;
|
|
103
103
|
const r = /* @__PURE__ */ a((l) => {
|
|
104
|
-
if (!t(this,
|
|
104
|
+
if (!t(this, N)) return;
|
|
105
105
|
const d = t(this, p).track.getBoundingClientRect();
|
|
106
|
-
t(this,
|
|
107
|
-
}, "onMouseMove"),
|
|
108
|
-
b(this,
|
|
106
|
+
t(this, F).call(this, l.clientX - d.left - this.shiftX);
|
|
107
|
+
}, "onMouseMove"), n = /* @__PURE__ */ a(() => {
|
|
108
|
+
b(this, N, !1), s(), document.removeEventListener("mousemove", r), document.removeEventListener("mouseup", n), this.refresh();
|
|
109
109
|
}, "onMouseUp");
|
|
110
|
-
document.addEventListener("mousemove", r), document.addEventListener("mouseup",
|
|
110
|
+
document.addEventListener("mousemove", r), document.addEventListener("mouseup", n);
|
|
111
111
|
});
|
|
112
112
|
}, "#init"));
|
|
113
113
|
}
|
|
114
114
|
connectedCallback() {
|
|
115
|
-
if (b(this,
|
|
115
|
+
if (b(this, _, this.closest("nine-table-sheet") || this.getRootNode().host), !t(this, _)) return;
|
|
116
116
|
this.innerHTML = `
|
|
117
117
|
<style>
|
|
118
118
|
nine-table-hscrollbar {
|
|
@@ -177,7 +177,7 @@ const le = class le extends HTMLElement {
|
|
|
177
177
|
<button class='ng-scroll-right' disabled><div class='ng-scroll-icon'></div></button>
|
|
178
178
|
`;
|
|
179
179
|
const e = /* @__PURE__ */ a(() => {
|
|
180
|
-
const s = t(this,
|
|
180
|
+
const s = t(this, _).querySelector(".ng-container-body");
|
|
181
181
|
if (!s) {
|
|
182
182
|
setTimeout(e, 10);
|
|
183
183
|
return;
|
|
@@ -189,90 +189,90 @@ const le = class le 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, N) || this.refresh();
|
|
193
193
|
}), t(this, Et).call(this), t(this, St).call(this), this.refresh();
|
|
194
194
|
}, "initWhenReady");
|
|
195
195
|
e();
|
|
196
196
|
}
|
|
197
197
|
disconnectedCallback() {
|
|
198
|
-
t(this,
|
|
198
|
+
t(this, U) && t(this, U).disconnect();
|
|
199
199
|
}
|
|
200
200
|
};
|
|
201
|
-
|
|
201
|
+
_ = new WeakMap(), N = new WeakMap(), p = new WeakMap(), V = new WeakMap(), X = new WeakMap(), U = new WeakMap(), St = new WeakMap(), F = new WeakMap(), Et = new WeakMap(), a(le, "NineTableHScrollBar");
|
|
202
202
|
let Kt = le;
|
|
203
203
|
customElements.get("nine-table-hscrollbar") || customElements.define("nine-table-hscrollbar", Kt);
|
|
204
|
-
var
|
|
204
|
+
var j, tt, B, S, ct, ht, Rt;
|
|
205
205
|
const ae = class ae extends HTMLElement {
|
|
206
206
|
constructor() {
|
|
207
207
|
super();
|
|
208
|
-
c(this,
|
|
208
|
+
c(this, j);
|
|
209
209
|
c(this, tt);
|
|
210
|
-
c(this,
|
|
211
|
-
c(this,
|
|
210
|
+
c(this, B, !1);
|
|
211
|
+
c(this, S);
|
|
212
|
+
c(this, ct, 0);
|
|
212
213
|
c(this, ht, 0);
|
|
213
|
-
c(this, dt, 0);
|
|
214
214
|
/**
|
|
215
215
|
* π― μ€ν¬λ‘€λ° μμΉ λ° μΈλΈ ν¬κΈ° κ°±μ
|
|
216
216
|
*/
|
|
217
217
|
v(this, "refresh", /* @__PURE__ */ a(() => {
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
const e = t(this, E).container, s = t(this, E).track, n = t(this, E).thumb, r = e.clientHeight, l = (t(this, _).data.get() || []).length, d = ((O = t(this, tt)) == null ? void 0 : O.getRowHeight()) || 24, h = l * d;
|
|
218
|
+
H.log("refresh", t(this, B)), H.log("refresh2");
|
|
219
|
+
const e = t(this, S).container, s = t(this, S).track, o = t(this, S).thumb, r = e.clientHeight, l = (t(this, j).data.get() || []).length, d = t(this, tt).getRowHeight(), h = l * d;
|
|
221
220
|
if (h <= r) {
|
|
222
|
-
|
|
221
|
+
o.style.display = "none", t(this, S).top.disabled = !0, t(this, S).bottom.disabled = !0;
|
|
223
222
|
return;
|
|
224
223
|
} else
|
|
225
|
-
|
|
224
|
+
o.style.display = "block";
|
|
226
225
|
const f = s.clientHeight;
|
|
227
226
|
if (f <= 0) return;
|
|
228
227
|
const u = Math.max(Math.min(f * (r / h), f), 20);
|
|
229
|
-
|
|
230
|
-
const g = e.scrollTop, y = Math.max(h - r, 1)
|
|
231
|
-
let
|
|
232
|
-
y > 0 && m
|
|
228
|
+
o.style.height = `${u}px`;
|
|
229
|
+
const g = e.scrollTop, y = Math.max(h - r, 1);
|
|
230
|
+
let m = 0;
|
|
231
|
+
y > 0 && (m = g / y * (f - u));
|
|
232
|
+
const A = f - u;
|
|
233
|
+
m < 0 && (m = 0), m > A && (m = A), o.style.top = `${m}px`, H.log("currentScrollTop", g), H.log("maxScrollTop", y), H.log("trackHeight", f), H.log("thumbHeight", u), t(this, S).top.disabled = g <= 0, t(this, S).bottom.disabled = g >= y - 1;
|
|
233
234
|
}, "refresh"));
|
|
234
235
|
c(this, Rt, /* @__PURE__ */ a(() => {
|
|
235
|
-
const e = t(this,
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
return r * o;
|
|
236
|
+
const e = t(this, S).container, s = /* @__PURE__ */ a(() => {
|
|
237
|
+
const r = (t(this, j).data.get() || []).length, n = t(this, tt).getRowHeight();
|
|
238
|
+
return r * n;
|
|
239
239
|
}, "getContentHeight");
|
|
240
240
|
e.addEventListener("scroll", () => {
|
|
241
|
-
t(this,
|
|
242
|
-
}), t(this,
|
|
243
|
-
if (
|
|
244
|
-
|
|
241
|
+
t(this, B) || this.refresh();
|
|
242
|
+
}), t(this, S).thumb.addEventListener("mousedown", (o) => {
|
|
243
|
+
if (o.button !== 0) return;
|
|
244
|
+
o.stopPropagation(), o.preventDefault(), b(this, B, !0), b(this, ct, o.clientY), b(this, ht, e.scrollTop);
|
|
245
245
|
const r = /* @__PURE__ */ a((l) => {
|
|
246
|
-
if (!t(this,
|
|
247
|
-
const d = t(this,
|
|
248
|
-
if (u > 0 &&
|
|
249
|
-
const
|
|
250
|
-
let
|
|
246
|
+
if (!t(this, B)) return;
|
|
247
|
+
const d = t(this, S).track.getBoundingClientRect(), h = t(this, S).thumb.clientHeight, u = d.height - h, g = l.clientY - t(this, ct), y = e.clientHeight, m = s(), A = Math.max(m - y, 1);
|
|
248
|
+
if (u > 0 && A > 0) {
|
|
249
|
+
const z = g / u * A;
|
|
250
|
+
let Y = t(this, ht) + z;
|
|
251
251
|
const ye = Math.max(0, m - y);
|
|
252
|
-
|
|
252
|
+
Y < 0 && (Y = 0), Y > ye && (Y = ye), e.scrollTop = Y;
|
|
253
253
|
}
|
|
254
254
|
this.refresh();
|
|
255
|
-
}, "onMouseMove"),
|
|
256
|
-
b(this,
|
|
255
|
+
}, "onMouseMove"), n = /* @__PURE__ */ a(() => {
|
|
256
|
+
b(this, B, !1), document.removeEventListener("mousemove", r), document.removeEventListener("mouseup", n), this.refresh();
|
|
257
257
|
}, "onMouseUp");
|
|
258
|
-
document.addEventListener("mousemove", r), document.addEventListener("mouseup",
|
|
259
|
-
}), t(this,
|
|
260
|
-
if (
|
|
261
|
-
const r = t(this,
|
|
258
|
+
document.addEventListener("mousemove", r), document.addEventListener("mouseup", n);
|
|
259
|
+
}), t(this, S).track.addEventListener("mousedown", (o) => {
|
|
260
|
+
if (o.button !== 0 || o.target === t(this, S).thumb) return;
|
|
261
|
+
const r = t(this, S).track.getBoundingClientRect(), n = t(this, S).thumb.clientHeight, l = o.clientY - r.top - n / 2, h = r.height - n, f = e.clientHeight, u = s(), g = Math.max(u - f, 1);
|
|
262
262
|
if (h > 0 && g > 0) {
|
|
263
263
|
const y = Math.max(0, Math.min(1, l / h));
|
|
264
264
|
e.scrollTop = y * g;
|
|
265
265
|
}
|
|
266
266
|
this.refresh();
|
|
267
|
-
}), t(this,
|
|
267
|
+
}), t(this, S).top.addEventListener("click", () => {
|
|
268
268
|
e.scrollTop -= 40;
|
|
269
|
-
}), t(this,
|
|
269
|
+
}), t(this, S).bottom.addEventListener("click", () => {
|
|
270
270
|
e.scrollTop += 40;
|
|
271
271
|
});
|
|
272
272
|
}, "#init"));
|
|
273
273
|
}
|
|
274
274
|
connectedCallback() {
|
|
275
|
-
b(this,
|
|
275
|
+
b(this, j, this.getRootNode().host), b(this, tt, this.closest("nine-table-sheet")), this.innerHTML = `
|
|
276
276
|
<style>
|
|
277
277
|
nine-table-vscrollbar {
|
|
278
278
|
display: flex;
|
|
@@ -338,15 +338,13 @@ const ae = class ae extends HTMLElement {
|
|
|
338
338
|
<button class='ng-scroll-bottom' disabled><div class='ng-scroll-icon'></div></button>
|
|
339
339
|
`;
|
|
340
340
|
const e = /* @__PURE__ */ a(() => {
|
|
341
|
-
const s = t(this,
|
|
341
|
+
const s = t(this, j).shadowRoot.querySelector(".ng-container-body");
|
|
342
342
|
if (!s) {
|
|
343
343
|
setTimeout(e, 10);
|
|
344
344
|
return;
|
|
345
345
|
}
|
|
346
|
-
b(this,
|
|
346
|
+
b(this, S, {
|
|
347
347
|
container: s,
|
|
348
|
-
leftContainer: t(this, _).shadowRoot.querySelector(".ng-container-left"),
|
|
349
|
-
rightContainer: t(this, _).shadowRoot.querySelector(".ng-container-right"),
|
|
350
348
|
track: this.querySelector(".ng-scroll-track"),
|
|
351
349
|
thumb: this.querySelector(".ng-scroll-thumb"),
|
|
352
350
|
top: this.querySelector(".ng-scroll-top"),
|
|
@@ -356,25 +354,25 @@ const ae = class ae extends HTMLElement {
|
|
|
356
354
|
e();
|
|
357
355
|
}
|
|
358
356
|
};
|
|
359
|
-
|
|
357
|
+
j = new WeakMap(), tt = new WeakMap(), B = new WeakMap(), S = new WeakMap(), ct = new WeakMap(), ht = new WeakMap(), Rt = new WeakMap(), a(ae, "NineTableVScrollBar");
|
|
360
358
|
let Zt = ae;
|
|
361
359
|
customElements.get("nine-table-vscrollbar") || customElements.define("nine-table-vscrollbar", Zt);
|
|
362
360
|
var At, et;
|
|
363
|
-
const
|
|
361
|
+
const M = class M {
|
|
364
362
|
/**
|
|
365
363
|
* π― λ μ΄μμ λ΄μ μ¬λ¬ rawTables λ°°μ΄μ μΌκ΄λ‘ λ°μ λ¨μΌ λ§μ€ν° ν
νλ¦ΏμΌλ‘ μ¬μ μ»΄νμΌν©λλ€.
|
|
366
364
|
*/
|
|
367
365
|
static compileAll(i) {
|
|
368
|
-
return Array.isArray(i) ? i.map((e) =>
|
|
366
|
+
return Array.isArray(i) ? i.map((e) => M.compile(e)) : [];
|
|
369
367
|
}
|
|
370
368
|
/**
|
|
371
369
|
* π― λ¨μΌ μλ³Έ ν
μ΄λΈμ λ°μ κΈ°λ³Έ ꡬ쑰 보μ λ° 2μ°¨μ 격μ μΈλ±μ€ μ¬μ λΆμ¬ μλ£λ λ§μ€ν° ν
μ΄λΈ λ°ν
|
|
372
370
|
*/
|
|
373
371
|
static compile(i) {
|
|
374
|
-
var
|
|
372
|
+
var o, r, n, l;
|
|
375
373
|
if (!i) return null;
|
|
376
374
|
const e = i.cloneNode(!0);
|
|
377
|
-
return t(
|
|
375
|
+
return t(o = M, At).call(o, e), t(r = M, et).call(r, e, "thead"), t(n = M, et).call(n, e, "tbody"), t(l = M, et).call(l, e, "tfoot"), Array.from(e.querySelectorAll("colgroup col")).forEach((d, h) => {
|
|
378
376
|
const f = d.getAttribute("fixed");
|
|
379
377
|
f && e.querySelectorAll(`thead [data-col="${h}"], tbody [data-col="${h}"], tfoot [data-col="${h}"]`).forEach((u) => {
|
|
380
378
|
u.setAttribute("fixed", f);
|
|
@@ -382,28 +380,28 @@ const H = class H {
|
|
|
382
380
|
}), e;
|
|
383
381
|
}
|
|
384
382
|
};
|
|
385
|
-
At = new WeakMap(), et = new WeakMap(), a(
|
|
383
|
+
At = new WeakMap(), et = new WeakMap(), a(M, "TableCompiler"), c(M, At, /* @__PURE__ */ a((i) => {
|
|
386
384
|
if (!i.querySelector("colgroup")) {
|
|
387
|
-
const e = i.querySelector("tbody tr") || i.querySelector("tr"), s = e ? e.querySelectorAll("th, td").length : 1,
|
|
388
|
-
for (let
|
|
385
|
+
const e = i.querySelector("tbody tr") || i.querySelector("tr"), s = e ? e.querySelectorAll("th, td").length : 1, o = document.createElement("colgroup"), r = Math.max(Math.floor(i.clientWidth / s), 100);
|
|
386
|
+
for (let n = 0; n < s; n++) {
|
|
389
387
|
const l = document.createElement("col");
|
|
390
|
-
l.setAttribute("width", r),
|
|
388
|
+
l.setAttribute("width", r), o.appendChild(l);
|
|
391
389
|
}
|
|
392
|
-
i.prepend(
|
|
390
|
+
i.prepend(o);
|
|
393
391
|
}
|
|
394
392
|
if (!i.querySelector("thead")) {
|
|
395
393
|
const e = document.createElement("thead"), s = i.querySelector("colgroup");
|
|
396
394
|
s ? s.after(e) : i.prepend(e);
|
|
397
395
|
}
|
|
398
396
|
i.classList.add("nine-table-element"), i.style.display = "table";
|
|
399
|
-
}, "#ensureTableStructure")), c(
|
|
400
|
-
const s = Array.from(i.querySelectorAll(e + " tr")),
|
|
401
|
-
if (r === 0 ||
|
|
402
|
-
let
|
|
403
|
-
|
|
404
|
-
|
|
397
|
+
}, "#ensureTableStructure")), c(M, et, /* @__PURE__ */ a((i, e) => {
|
|
398
|
+
const s = Array.from(i.querySelectorAll(e + " tr")), o = Array.from(i.querySelectorAll(e + " th," + e + " td")), r = s.length;
|
|
399
|
+
if (r === 0 || o.length === 0) return;
|
|
400
|
+
let n = 0;
|
|
401
|
+
o.forEach((d) => {
|
|
402
|
+
n += d.colSpan || 1;
|
|
405
403
|
});
|
|
406
|
-
const l = Array.from(Array(r), () => Array(
|
|
404
|
+
const l = Array.from(Array(r), () => Array(n).fill(null));
|
|
407
405
|
s.forEach((d) => {
|
|
408
406
|
const h = d.sectionRowIndex;
|
|
409
407
|
let f = 0;
|
|
@@ -415,8 +413,8 @@ At = new WeakMap(), et = new WeakMap(), a(H, "TableCompiler"), c(H, At, /* @__PU
|
|
|
415
413
|
}
|
|
416
414
|
const g = u.rowSpan || 1, y = u.colSpan || 1;
|
|
417
415
|
for (let m = 0; m < g; m++)
|
|
418
|
-
for (let
|
|
419
|
-
h + m < r && f +
|
|
416
|
+
for (let A = 0; A < y; A++)
|
|
417
|
+
h + m < r && f + A < n && (l[h + m][f + A] = m === 0 && A === 0 ? "1" : "0");
|
|
420
418
|
});
|
|
421
419
|
}), s.forEach((d) => {
|
|
422
420
|
const h = d.sectionRowIndex;
|
|
@@ -429,112 +427,113 @@ At = new WeakMap(), et = new WeakMap(), a(H, "TableCompiler"), c(H, At, /* @__PU
|
|
|
429
427
|
});
|
|
430
428
|
});
|
|
431
429
|
}, "#resetColIndex"));
|
|
432
|
-
let Gt =
|
|
433
|
-
var I, w, W,
|
|
430
|
+
let Gt = M;
|
|
431
|
+
var I, w, W, T, D, K, dt, it, Tt, qt, kt, ft, ut, Lt, Ct, bt, Ht, st, gt;
|
|
434
432
|
const ce = class ce {
|
|
435
433
|
constructor(i) {
|
|
436
434
|
c(this, I);
|
|
437
435
|
c(this, w);
|
|
438
436
|
c(this, W, /* @__PURE__ */ new Map());
|
|
439
|
-
c(this,
|
|
437
|
+
c(this, T, null);
|
|
440
438
|
c(this, D, null);
|
|
441
|
-
c(this,
|
|
442
|
-
c(this,
|
|
439
|
+
c(this, K, 0);
|
|
440
|
+
c(this, dt, 40);
|
|
443
441
|
c(this, it, !1);
|
|
444
|
-
c(this,
|
|
442
|
+
c(this, Tt, 3);
|
|
445
443
|
v(this, "refresh", /* @__PURE__ */ a(() => {
|
|
446
444
|
var e;
|
|
447
445
|
const i = t(this, w).querySelector(".ng-container-body");
|
|
448
446
|
i && (t(this, ft).call(this), t(this, st).call(this, i.scrollTop), (e = t(this, w).querySelector("nine-table-vscrollbar")) == null || e.refresh());
|
|
449
447
|
}, "refresh"));
|
|
450
448
|
v(this, "initialize", /* @__PURE__ */ a(() => {
|
|
451
|
-
b(this,
|
|
452
|
-
const r = t(this, w).querySelector(
|
|
449
|
+
b(this, T, null), t(this, W).clear(), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((o) => {
|
|
450
|
+
const r = t(this, w).querySelector(o);
|
|
453
451
|
if (!r) return;
|
|
454
|
-
const
|
|
455
|
-
if (!
|
|
456
|
-
const l =
|
|
452
|
+
const n = r.querySelector("table");
|
|
453
|
+
if (!n) return;
|
|
454
|
+
const l = n.querySelector("tbody.bindable-tbody");
|
|
457
455
|
if (!l) return;
|
|
458
456
|
const h = Array.from(l.querySelectorAll("tr")).map((f) => f.cloneNode(!0));
|
|
459
|
-
t(this, W).set(
|
|
457
|
+
t(this, W).set(o, h);
|
|
460
458
|
});
|
|
461
459
|
const i = t(this, w).querySelector(".ng-container-body"), e = t(this, w).querySelector(".ng-container-left"), s = t(this, w).querySelector(".ng-container-right");
|
|
462
460
|
if (i) {
|
|
463
461
|
t(this, kt).call(this, i), t(this, bt).call(this), t(this, ft).call(this), t(this, st).call(this, i.scrollTop);
|
|
464
|
-
let
|
|
465
|
-
const r = /* @__PURE__ */ a((
|
|
462
|
+
let o = i.scrollTop;
|
|
463
|
+
const r = /* @__PURE__ */ a((n) => {
|
|
466
464
|
var l;
|
|
467
|
-
e && e.scrollTop !==
|
|
465
|
+
e && e.scrollTop !== n && (e.scrollTop = n), s && s.scrollTop !== n && (s.scrollTop = n), t(this, st).call(this, n), (l = t(this, w).querySelector("nine-table-vscrollbar")) == null || l.refresh();
|
|
468
466
|
}, "syncScroll");
|
|
469
467
|
i.addEventListener("scroll", () => {
|
|
470
|
-
const
|
|
471
|
-
|
|
468
|
+
const n = i.scrollTop;
|
|
469
|
+
o !== n && (o = n, r(n));
|
|
472
470
|
});
|
|
473
471
|
}
|
|
474
472
|
}, "initialize"));
|
|
475
|
-
c(this,
|
|
473
|
+
c(this, qt, /* @__PURE__ */ a((i, e) => {
|
|
476
474
|
const s = t(this, W).get(e);
|
|
477
475
|
if (!s || s.length === 0) return;
|
|
478
|
-
const
|
|
479
|
-
if (!
|
|
480
|
-
|
|
481
|
-
const r =
|
|
482
|
-
for (let l = 0; l < t(this,
|
|
476
|
+
const o = i.querySelector("tbody.bindable-tbody");
|
|
477
|
+
if (!o) return;
|
|
478
|
+
o.querySelectorAll("tr:not(.nodata)").forEach((l) => l.remove());
|
|
479
|
+
const r = o.querySelector("tr.nodata"), n = document.createDocumentFragment();
|
|
480
|
+
for (let l = 0; l < t(this, dt); l++)
|
|
483
481
|
s.forEach((d) => {
|
|
484
|
-
|
|
482
|
+
n.appendChild(d.cloneNode(!0));
|
|
485
483
|
});
|
|
486
|
-
r ? r.before(
|
|
484
|
+
r ? r.before(n) : o.appendChild(n);
|
|
487
485
|
}, "#renderRows"));
|
|
488
486
|
c(this, kt, /* @__PURE__ */ a((i) => {
|
|
489
|
-
if (t(this,
|
|
490
|
-
return t(this,
|
|
487
|
+
if (t(this, T) !== null && t(this, T) > 0)
|
|
488
|
+
return t(this, T);
|
|
491
489
|
const e = t(this, W).get(".ng-container-body");
|
|
492
490
|
if (!e || e.length === 0) return 24;
|
|
493
491
|
const s = i.querySelector("tbody.bindable-tbody") || i.querySelector("tbody.bindable-tbody:last-of-type");
|
|
494
492
|
if (!s) return 24;
|
|
495
493
|
s.querySelectorAll("tr:not(.nodata)").forEach((g) => g.remove());
|
|
496
|
-
const
|
|
494
|
+
const o = s.querySelector("tr.nodata"), r = document.createDocumentFragment();
|
|
497
495
|
e.forEach((g) => {
|
|
498
496
|
r.appendChild(g.cloneNode(!0));
|
|
499
|
-
}),
|
|
500
|
-
const
|
|
501
|
-
(l === "none" || window.getComputedStyle(
|
|
497
|
+
}), o ? o.before(r) : s.appendChild(r);
|
|
498
|
+
const n = t(this, w), l = n.style.display, d = n.style.visibility, h = n.style.position;
|
|
499
|
+
(l === "none" || window.getComputedStyle(n).display === "none") && (n.style.display = "block", n.style.visibility = "hidden", n.style.position = "absolute");
|
|
502
500
|
let f = 0;
|
|
503
501
|
const u = s.querySelectorAll("tr:not(.nodata)");
|
|
504
502
|
return u.forEach((g) => {
|
|
505
503
|
f += g.offsetHeight || g.getBoundingClientRect().height;
|
|
506
|
-
}), u.forEach((g) => g.remove()),
|
|
504
|
+
}), u.forEach((g) => g.remove()), n.style.display = l, n.style.visibility = d, n.style.position = h, b(this, T, f > 0 ? f : 24), t(this, ut).call(this), t(this, T);
|
|
507
505
|
}, "#measureAndCacheHeight"));
|
|
506
|
+
// π― ν
μ΄λΈ λμ΄λ₯Ό μ§μ ν€μ°λ λμ , ν¬λͺ
μ€νμ΄μ λμ΄μ translateYλ‘ μ€ν¬λ‘€/μμΉ μ 립
|
|
508
507
|
c(this, ft, /* @__PURE__ */ a(() => {
|
|
509
508
|
if (!t(this, w).querySelector(".ng-container-body")) return;
|
|
510
|
-
const s = (t(this, I).data.get() || []).length,
|
|
511
|
-
[".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((
|
|
512
|
-
const l = t(this, w).querySelector(
|
|
509
|
+
const s = (t(this, I).data.get() || []).length, o = t(this, T) || 24, r = s * o;
|
|
510
|
+
[".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((n) => {
|
|
511
|
+
const l = t(this, w).querySelector(n);
|
|
513
512
|
if (!l) return;
|
|
514
513
|
const d = l.querySelector("table");
|
|
515
|
-
d && (d.style.height = "auto"
|
|
514
|
+
d && (d.style.height = "auto");
|
|
516
515
|
const h = l.querySelector(".ng-virtual-spacer");
|
|
517
516
|
h && (h.style.height = `${r}px`);
|
|
518
517
|
});
|
|
519
518
|
}, "#updateVirtualScrollHeight"));
|
|
520
519
|
c(this, ut, /* @__PURE__ */ a(() => {
|
|
521
|
-
if ((t(this, I).data.get() || []).length, t(this,
|
|
522
|
-
const e = Math.ceil(t(this,
|
|
523
|
-
b(this,
|
|
520
|
+
if ((t(this, I).data.get() || []).length, t(this, K) > 0 && t(this, T) > 0) {
|
|
521
|
+
const e = Math.ceil(t(this, K) / t(this, T));
|
|
522
|
+
b(this, dt, e + t(this, Tt));
|
|
524
523
|
}
|
|
525
524
|
}, "#updateRowCount"));
|
|
526
525
|
c(this, Lt, /* @__PURE__ */ a(() => {
|
|
527
526
|
var d, h, f;
|
|
528
527
|
const i = t(this, w).querySelector(".ng-container-left table"), e = t(this, w).querySelector(".ng-container-body table"), s = t(this, w).querySelector(".ng-container-right table");
|
|
529
528
|
if (!e) return;
|
|
530
|
-
const
|
|
529
|
+
const o = i ? Array.from(i.querySelectorAll("tr")) : [], r = Array.from(e.querySelectorAll("tr")), n = s ? Array.from(s.querySelectorAll("tr")) : [], l = Math.max(o.length, r.length, n.length);
|
|
531
530
|
for (let u = 0; u < l; u++) {
|
|
532
531
|
const g = [
|
|
533
|
-
((d =
|
|
532
|
+
((d = o[u]) == null ? void 0 : d.getBoundingClientRect().height) || 0,
|
|
534
533
|
((h = r[u]) == null ? void 0 : h.getBoundingClientRect().height) || 0,
|
|
535
|
-
((f =
|
|
534
|
+
((f = n[u]) == null ? void 0 : f.getBoundingClientRect().height) || 0
|
|
536
535
|
], y = Math.max(...g);
|
|
537
|
-
y > 0 && (
|
|
536
|
+
y > 0 && (o[u] && (o[u].style.height = `${y}px`), r[u] && (r[u].style.height = `${y}px`), n[u] && (n[u].style.height = `${y}px`));
|
|
538
537
|
}
|
|
539
538
|
}, "#syncRowHeights"));
|
|
540
539
|
c(this, Ct, /* @__PURE__ */ a(() => {
|
|
@@ -542,13 +541,13 @@ const ce = class ce {
|
|
|
542
541
|
for (const e of i) {
|
|
543
542
|
const s = e.target;
|
|
544
543
|
if (!s.classList.contains("active")) continue;
|
|
545
|
-
const
|
|
546
|
-
if (
|
|
544
|
+
const o = e.contentRect.height;
|
|
545
|
+
if (o > 0) {
|
|
547
546
|
let r = 0;
|
|
548
|
-
const
|
|
549
|
-
|
|
550
|
-
const l = Math.max(
|
|
551
|
-
t(this,
|
|
547
|
+
const n = s.querySelector("thead");
|
|
548
|
+
n && (r += n.offsetHeight || n.getBoundingClientRect().height);
|
|
549
|
+
const l = Math.max(o - r, 100);
|
|
550
|
+
t(this, K) !== l && (b(this, K, l), t(this, ut).call(this), t(this, T) !== null && t(this, bt).call(this));
|
|
552
551
|
}
|
|
553
552
|
}
|
|
554
553
|
})), t(this, D).observe(t(this, w)));
|
|
@@ -556,7 +555,7 @@ const ce = class ce {
|
|
|
556
555
|
c(this, bt, /* @__PURE__ */ a(() => {
|
|
557
556
|
[".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((i) => {
|
|
558
557
|
const e = t(this, w).querySelector(i);
|
|
559
|
-
e && e.querySelector("tbody.bindable-tbody") && t(this,
|
|
558
|
+
e && e.querySelector("tbody.bindable-tbody") && t(this, qt).call(this, e, i);
|
|
560
559
|
}), t(this, Lt).call(this);
|
|
561
560
|
}, "#renderAllContainers"));
|
|
562
561
|
c(this, Ht, /* @__PURE__ */ a((i) => {
|
|
@@ -564,11 +563,11 @@ const ce = class ce {
|
|
|
564
563
|
var h;
|
|
565
564
|
const s = t(this, w).querySelector(e);
|
|
566
565
|
if (!s) return;
|
|
567
|
-
const
|
|
568
|
-
if (!
|
|
569
|
-
const r = Array.from(
|
|
566
|
+
const o = s.querySelector("tbody.bindable-tbody");
|
|
567
|
+
if (!o) return;
|
|
568
|
+
const r = Array.from(o.querySelectorAll("tr:not(.nodata)")), n = ((h = t(this, W).get(e)) == null ? void 0 : h.length) || 1, d = (t(this, I).data.get() || []).length;
|
|
570
569
|
r.forEach((f, u) => {
|
|
571
|
-
const g = i + Math.floor(u /
|
|
570
|
+
const g = i + Math.floor(u / n);
|
|
572
571
|
if (g >= d) {
|
|
573
572
|
f.style.display = "none";
|
|
574
573
|
return;
|
|
@@ -578,33 +577,36 @@ const ce = class ce {
|
|
|
578
577
|
});
|
|
579
578
|
});
|
|
580
579
|
}, "#adjustBufferRows"));
|
|
580
|
+
// π― scrollTopμ νμ©νλ, ν
μ΄λΈμ΄ μ€ν¬λ‘€μ λ°λΌκ°μ§ μκ³ translateYλ‘ μ νν μμΉμ κ³ μ λλλ‘ μ°λ
|
|
581
581
|
c(this, st, /* @__PURE__ */ a((i) => {
|
|
582
582
|
var d;
|
|
583
|
-
const e = t(this,
|
|
583
|
+
const e = t(this, T);
|
|
584
584
|
if (!e || e <= 0) return;
|
|
585
|
-
const
|
|
586
|
-
|
|
585
|
+
const o = (t(this, I).data.get() || []).length, r = Math.max(0, Math.floor(i / e)), n = r * e, l = ((d = t(this, W).get(".ng-container-body")) == null ? void 0 : d.length) || 1;
|
|
586
|
+
[".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((h) => {
|
|
587
587
|
const f = t(this, w).querySelector(h);
|
|
588
588
|
if (!f) return;
|
|
589
|
-
const u = f.querySelector("
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
589
|
+
const u = f.querySelector("table");
|
|
590
|
+
u && (u.style.transform = `translateY(${n}px)`);
|
|
591
|
+
const g = f.querySelector("tbody.bindable-tbody");
|
|
592
|
+
if (!g) return;
|
|
593
|
+
Array.from(g.querySelectorAll("tr:not(.nodata)")).forEach((m, A) => {
|
|
594
|
+
const z = r + Math.floor(A / l);
|
|
595
|
+
if (z >= o) {
|
|
596
|
+
m.style.display = "none";
|
|
595
597
|
return;
|
|
596
598
|
}
|
|
597
|
-
const
|
|
598
|
-
|
|
599
|
+
const Y = t(this, I).data.get(z);
|
|
600
|
+
m.style.display = "", t(this, gt).call(this, m, Y, z);
|
|
599
601
|
});
|
|
600
602
|
}), t(this, it) || (b(this, it, !0), setTimeout(() => {
|
|
601
603
|
t(this, Ht).call(this, r), b(this, it, !1);
|
|
602
604
|
}, 0));
|
|
603
605
|
}, "#handleScroll"));
|
|
604
606
|
c(this, gt, /* @__PURE__ */ a((i, e, s) => {
|
|
605
|
-
i.dataset.row = s, Array.from(i.cells).forEach((
|
|
606
|
-
const
|
|
607
|
-
|
|
607
|
+
i.dataset.row = s, Array.from(i.cells).forEach((o, r) => {
|
|
608
|
+
const n = o.dataset.bind;
|
|
609
|
+
n && e && e[n] !== void 0 ? o.textContent = e[n] : o.textContent = e ? e[Object.keys(e)[r]] ?? `R${s}C${r}` : `ν ${s + 1}`, o.dataset.row = s;
|
|
608
610
|
});
|
|
609
611
|
}, "#bindRowData"));
|
|
610
612
|
v(this, "destroy", /* @__PURE__ */ a(() => {
|
|
@@ -613,87 +615,80 @@ const ce = class ce {
|
|
|
613
615
|
b(this, I, i.getRootNode().host), b(this, w, i), t(this, Ct).call(this);
|
|
614
616
|
}
|
|
615
617
|
getRowHeight() {
|
|
616
|
-
return t(this,
|
|
618
|
+
return t(this, T);
|
|
617
619
|
}
|
|
618
620
|
templateLength(i = ".ng-container-body") {
|
|
619
621
|
var e;
|
|
620
622
|
return ((e = t(this, W).get(i)) == null ? void 0 : e.length) || 1;
|
|
621
623
|
}
|
|
622
624
|
};
|
|
623
|
-
I = new WeakMap(), w = new WeakMap(), W = new WeakMap(),
|
|
625
|
+
I = new WeakMap(), w = new WeakMap(), W = new WeakMap(), T = new WeakMap(), D = new WeakMap(), K = new WeakMap(), dt = new WeakMap(), it = new WeakMap(), Tt = new WeakMap(), qt = new WeakMap(), kt = new WeakMap(), ft = new WeakMap(), ut = new WeakMap(), Lt = new WeakMap(), Ct = new WeakMap(), bt = new WeakMap(), Ht = new WeakMap(), st = new WeakMap(), gt = new WeakMap(), a(ce, "RowManager");
|
|
624
626
|
let Jt = ce;
|
|
625
|
-
var Mt,
|
|
626
|
-
const
|
|
627
|
+
var Mt, O, Z, _t, It, $t, Wt, Ot;
|
|
628
|
+
const at = class at extends HTMLElement {
|
|
627
629
|
constructor() {
|
|
628
630
|
super();
|
|
629
631
|
c(this, Mt);
|
|
630
|
-
c(this,
|
|
631
|
-
c(this,
|
|
632
|
-
/**
|
|
633
|
-
* data.set, add, delete
|
|
634
|
-
* filter, sorting : κ³ λ €λμ
|
|
635
|
-
*/
|
|
632
|
+
c(this, O, null);
|
|
633
|
+
c(this, Z);
|
|
636
634
|
v(this, "invalidate", /* @__PURE__ */ a(() => {
|
|
637
635
|
var e, s;
|
|
638
|
-
t(this,
|
|
636
|
+
t(this, Z).refresh(), (e = this.querySelector("nine-table-hscrollbar")) == null || e.refresh(), (s = this.querySelector("nine-table-vscrollbar")) == null || s.refresh();
|
|
639
637
|
}, "invalidate"));
|
|
640
638
|
c(this, _t, /* @__PURE__ */ a(() => {
|
|
641
639
|
[
|
|
642
640
|
{ selector: ".ng-container-body", type: null },
|
|
643
641
|
{ selector: ".ng-container-left", type: "left" },
|
|
644
642
|
{ selector: ".ng-container-right", type: "right" }
|
|
645
|
-
].forEach(({ selector: s, type:
|
|
643
|
+
].forEach(({ selector: s, type: o }) => {
|
|
646
644
|
const r = this.querySelector(s);
|
|
647
645
|
if (!r) return;
|
|
648
|
-
const
|
|
646
|
+
const n = t(this, $t).call(this, t(this, O), o);
|
|
649
647
|
r.innerHTML = "";
|
|
650
648
|
const l = document.createElement("div");
|
|
651
|
-
l.className = "ng-scroll-content", l.appendChild(
|
|
649
|
+
l.className = "ng-scroll-content", l.style.position = "relative", l.style.width = "100%", l.appendChild(n);
|
|
652
650
|
const d = document.createElement("div");
|
|
653
|
-
d.className = "ng-virtual-spacer", l.appendChild(d), r.appendChild(l);
|
|
651
|
+
d.className = "ng-virtual-spacer", d.style.width = "100%", d.style.pointerEvents = "none", l.appendChild(d), r.appendChild(l);
|
|
654
652
|
});
|
|
655
653
|
}, "#renderSplitContainers"));
|
|
656
|
-
c(this,
|
|
654
|
+
c(this, It, /* @__PURE__ */ a(() => {
|
|
657
655
|
["left", "right"].forEach((e) => {
|
|
658
|
-
const s = this.querySelector(`.ng-container-${e}`),
|
|
659
|
-
if (!s || !
|
|
656
|
+
const s = this.querySelector(`.ng-container-${e}`), o = s == null ? void 0 : s.querySelector("table");
|
|
657
|
+
if (!s || !o) return;
|
|
660
658
|
let r = 0;
|
|
661
|
-
|
|
662
|
-
const l = parseInt(
|
|
659
|
+
o.querySelectorAll("col").forEach((n) => {
|
|
660
|
+
const l = parseInt(n.getAttribute("width"), 10);
|
|
663
661
|
isNaN(r) || (r += l);
|
|
664
662
|
}), s.style.flex = `0 0 ${r}px`, s.style.width = `${r}px`;
|
|
665
663
|
});
|
|
666
664
|
}, "#updateContainerWidths"));
|
|
667
665
|
v(this, "generate", /* @__PURE__ */ a((e) => {
|
|
668
|
-
e && (b(this,
|
|
669
|
-
var
|
|
670
|
-
const s = (
|
|
666
|
+
e && (b(this, O, Gt.compile(e)), t(this, O).style.display = "table", t(this, O).style.position = "absolute", t(this, O).style.left = "0", t(this, O).style.top = "0", t(this, _t).call(this), t(this, It).call(this), requestAnimationFrame(() => {
|
|
667
|
+
var o;
|
|
668
|
+
const s = (o = this.querySelector("thead")) == null ? void 0 : o.getBoundingClientRect().height;
|
|
671
669
|
this.querySelectorAll("tbody.fixed-tbody").forEach((r) => {
|
|
672
670
|
r.style.top = `${s}px`;
|
|
673
671
|
});
|
|
674
|
-
}), t(this,
|
|
672
|
+
}), t(this, Z).initialize(), setTimeout(() => {
|
|
675
673
|
var s;
|
|
676
674
|
(s = this.querySelector("nine-table-hscrollbar")) == null || s.refresh();
|
|
677
675
|
}, 0));
|
|
678
676
|
}, "generate"));
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
*/
|
|
682
|
-
c(this, It, /* @__PURE__ */ a((e, s) => {
|
|
683
|
-
const n = e.cloneNode(!0), r = n.querySelector("tbody");
|
|
677
|
+
c(this, $t, /* @__PURE__ */ a((e, s) => {
|
|
678
|
+
const o = e.cloneNode(!0), r = o.querySelector("tbody");
|
|
684
679
|
if (r) {
|
|
685
|
-
const
|
|
686
|
-
|
|
680
|
+
const n = document.createElement("tbody");
|
|
681
|
+
n.className = "fixed-tbody", r.className = "bindable-tbody", r.before(n);
|
|
687
682
|
}
|
|
688
|
-
return s === "left" ?
|
|
689
|
-
|
|
690
|
-
}) : s === "right" ?
|
|
691
|
-
|
|
692
|
-
}) :
|
|
693
|
-
|
|
694
|
-
}),
|
|
683
|
+
return s === "left" ? o.querySelectorAll("col, th, td, tfoot td, tfoot th").forEach((n) => {
|
|
684
|
+
n.getAttribute("fixed") !== "left" && n.remove();
|
|
685
|
+
}) : s === "right" ? o.querySelectorAll("col, th, td, tfoot td, tfoot th").forEach((n) => {
|
|
686
|
+
n.getAttribute("fixed") !== "right" && n.remove();
|
|
687
|
+
}) : o.querySelectorAll("[fixed=left], [fixed=right]").forEach((n) => {
|
|
688
|
+
n.remove();
|
|
689
|
+
}), o;
|
|
695
690
|
}, "#createSplitTable"));
|
|
696
|
-
v(this, "getRowHeight", /* @__PURE__ */ a(() => t(this,
|
|
691
|
+
v(this, "getRowHeight", /* @__PURE__ */ a(() => t(this, Z).getRowHeight(), "getRowHeight"));
|
|
697
692
|
v(this, "scrollToX", /* @__PURE__ */ a((e) => {
|
|
698
693
|
const s = this.querySelector(".ng-container-body");
|
|
699
694
|
s && (s.scrollLeft = e);
|
|
@@ -706,7 +701,7 @@ const ct = class ct extends HTMLElement {
|
|
|
706
701
|
t(this, Ot).call(this);
|
|
707
702
|
}, "#init"));
|
|
708
703
|
c(this, Ot, /* @__PURE__ */ a(() => {
|
|
709
|
-
const e =
|
|
704
|
+
const e = at.SCROLLBAR_SIZE;
|
|
710
705
|
this.innerHTML = `
|
|
711
706
|
<style>
|
|
712
707
|
nine-table-sheet {
|
|
@@ -745,6 +740,16 @@ const ct = class ct extends HTMLElement {
|
|
|
745
740
|
scrollbar-width: none;
|
|
746
741
|
&::-webkit-scrollbar { display: none; }
|
|
747
742
|
}
|
|
743
|
+
|
|
744
|
+
nine-table-sheet thead {
|
|
745
|
+
position: sticky;
|
|
746
|
+
top: 0;
|
|
747
|
+
z-index: 3;
|
|
748
|
+
}
|
|
749
|
+
nine-table-sheet tbody.fixed-tbody {
|
|
750
|
+
position: sticky;
|
|
751
|
+
z-index: 4;
|
|
752
|
+
}
|
|
748
753
|
|
|
749
754
|
nine-table-sheet .ng-container-body {
|
|
750
755
|
display: flex;
|
|
@@ -769,18 +774,6 @@ const ct = class ct extends HTMLElement {
|
|
|
769
774
|
scrollbar-width: none;
|
|
770
775
|
&::-webkit-scrollbar { display: none; }
|
|
771
776
|
}
|
|
772
|
-
|
|
773
|
-
nine-table-sheet .ng-scroll-content {
|
|
774
|
-
position: relative;
|
|
775
|
-
width: 100%;
|
|
776
|
-
height: auto;
|
|
777
|
-
}
|
|
778
|
-
|
|
779
|
-
nine-table-sheet .ng-virtual-spacer {
|
|
780
|
-
width: 100%;
|
|
781
|
-
visibility: hidden;
|
|
782
|
-
pointer-events: none;
|
|
783
|
-
}
|
|
784
777
|
|
|
785
778
|
nine-table-sheet .ng-container-bottom {
|
|
786
779
|
display: flex;
|
|
@@ -804,20 +797,8 @@ const ct = class ct extends HTMLElement {
|
|
|
804
797
|
border-collapse: collapse;
|
|
805
798
|
width: 100%;
|
|
806
799
|
table-layout: fixed;
|
|
807
|
-
position: relative;
|
|
808
800
|
}
|
|
809
801
|
|
|
810
|
-
nine-table-sheet thead {
|
|
811
|
-
position: sticky;
|
|
812
|
-
top: 0;
|
|
813
|
-
z-index: 3;
|
|
814
|
-
}
|
|
815
|
-
|
|
816
|
-
nine-table-sheet tbody.fixed-tbody {
|
|
817
|
-
position: sticky;
|
|
818
|
-
z-index: 4;
|
|
819
|
-
}
|
|
820
|
-
|
|
821
802
|
nine-table-sheet th, nine-table-sheet td {
|
|
822
803
|
box-sizing: border-box;
|
|
823
804
|
overflow: hidden;
|
|
@@ -865,17 +846,17 @@ const ct = class ct extends HTMLElement {
|
|
|
865
846
|
</div>
|
|
866
847
|
`;
|
|
867
848
|
}, "#render"));
|
|
868
|
-
b(this,
|
|
849
|
+
b(this, Z, new Jt(this)), b(this, Mt, this.getRootNode().host);
|
|
869
850
|
}
|
|
870
851
|
connectedCallback() {
|
|
871
852
|
t(this, Wt).call(this);
|
|
872
853
|
}
|
|
873
854
|
disconnectedCallback() {
|
|
874
|
-
this.innerHTML = "",
|
|
855
|
+
this.innerHTML = "", H.log("NineTableSheet destroyed.");
|
|
875
856
|
}
|
|
876
857
|
};
|
|
877
|
-
Mt = new WeakMap(),
|
|
878
|
-
let wt =
|
|
858
|
+
Mt = new WeakMap(), O = new WeakMap(), Z = new WeakMap(), _t = new WeakMap(), It = new WeakMap(), $t = new WeakMap(), Wt = new WeakMap(), Ot = new WeakMap(), a(at, "NineTableSheet"), v(at, "SCROLLBAR_SIZE", 16);
|
|
859
|
+
let wt = at;
|
|
879
860
|
customElements.get("nine-table-sheet") || customElements.define("nine-table-sheet", wt);
|
|
880
861
|
var zt, yt;
|
|
881
862
|
const he = class he extends HTMLElement {
|
|
@@ -884,21 +865,21 @@ const he = class he extends HTMLElement {
|
|
|
884
865
|
c(this, zt, /* @__PURE__ */ a(() => {
|
|
885
866
|
var e;
|
|
886
867
|
(e = this.querySelector(".nine-tab-bar")) == null || e.addEventListener("click", (s) => {
|
|
887
|
-
var
|
|
888
|
-
const
|
|
889
|
-
t(this, yt).call(this, r,
|
|
868
|
+
var n;
|
|
869
|
+
const o = s.ctrlKey || s.metaKey || s.shiftKey, r = parseInt((n = s.target.closest(".nine-tab-item")) == null ? void 0 : n.dataset.index, 10);
|
|
870
|
+
t(this, yt).call(this, r, o);
|
|
890
871
|
}), t(this, yt).call(this, 0, !1);
|
|
891
872
|
}, "#init"));
|
|
892
873
|
c(this, yt, /* @__PURE__ */ a((e, s = !1) => {
|
|
893
|
-
const
|
|
874
|
+
const o = /* @__PURE__ */ a(() => {
|
|
894
875
|
const f = Array.from(this.querySelectorAll("nine-table-sheet"));
|
|
895
876
|
Array.from(this.querySelectorAll("nine-splitter")).forEach((y) => y.style.setProperty("display", "none"));
|
|
896
877
|
const g = f.filter((y) => y.classList.contains("active"));
|
|
897
878
|
g.length < 2 || g.forEach((y) => {
|
|
898
|
-
const m = parseInt(y.getAttribute("data-index"), 10),
|
|
899
|
-
|
|
879
|
+
const m = parseInt(y.getAttribute("data-index"), 10), A = this.querySelector(`nine-splitter[data-split-index="${m}"]`), z = f[m + 1];
|
|
880
|
+
A && z && z.classList.contains("active") && A.style.setProperty("display", "flex");
|
|
900
881
|
});
|
|
901
|
-
}, "updateSplitters"), r = this.querySelector(".nine-tab-bar"),
|
|
882
|
+
}, "updateSplitters"), r = this.querySelector(".nine-tab-bar"), n = this.querySelector("nine-table-sheets-body"), l = r.querySelectorAll(".nine-tab-item"), d = n.querySelectorAll("nine-table-sheet");
|
|
902
883
|
if (!l[e]) return;
|
|
903
884
|
if (!s)
|
|
904
885
|
l.forEach((f, u) => {
|
|
@@ -912,13 +893,13 @@ const he = class he extends HTMLElement {
|
|
|
912
893
|
if (f.classList.contains("active") && u.length <= 1)
|
|
913
894
|
return;
|
|
914
895
|
f.classList.toggle("active");
|
|
915
|
-
const g =
|
|
896
|
+
const g = n.querySelector(`nine-table-sheet[data-index="${e}"]`);
|
|
916
897
|
g && (g.classList.toggle("active"), g.classList.contains("active") || (g.style.flex = ""));
|
|
917
898
|
}
|
|
918
|
-
const h =
|
|
899
|
+
const h = n.querySelectorAll("nine-table-sheet.active");
|
|
919
900
|
h == null || h.forEach((f) => {
|
|
920
901
|
f.style.flex = h.length > 1 ? "1 1 0%" : "1 1 100%";
|
|
921
|
-
}),
|
|
902
|
+
}), o();
|
|
922
903
|
}, "#switchSheet"));
|
|
923
904
|
}
|
|
924
905
|
connectedCallback() {
|
|
@@ -928,29 +909,29 @@ const he = class he extends HTMLElement {
|
|
|
928
909
|
zt = new WeakMap(), yt = new WeakMap(), a(he, "NineTableSheets");
|
|
929
910
|
let Qt = he;
|
|
930
911
|
customElements.get("nine-table-sheets") || customElements.define("nine-table-sheets", Qt);
|
|
931
|
-
var
|
|
912
|
+
var q, Nt, pt, Bt;
|
|
932
913
|
const de = class de {
|
|
933
914
|
constructor(i) {
|
|
934
|
-
c(this,
|
|
935
|
-
c(this,
|
|
936
|
-
t(this,
|
|
915
|
+
c(this, q);
|
|
916
|
+
c(this, Nt, /* @__PURE__ */ a(() => {
|
|
917
|
+
t(this, Bt).call(this), new ResizeObserver((i) => {
|
|
937
918
|
for (let e of i)
|
|
938
|
-
t(this,
|
|
939
|
-
}).observe(t(this,
|
|
919
|
+
t(this, q).getAttribute("auto-height") === "true" && t(this, pt).call(this);
|
|
920
|
+
}).observe(t(this, q));
|
|
940
921
|
}, "#init"));
|
|
941
922
|
c(this, pt, /* @__PURE__ */ a(() => {
|
|
942
923
|
var d, h;
|
|
943
|
-
const i = Array.from(t(this,
|
|
924
|
+
const i = Array.from(t(this, q).shadowRoot.querySelectorAll("nine-table-sheet.active"));
|
|
944
925
|
if (i.length === 0) return;
|
|
945
|
-
const e = parseInt(t(this,
|
|
946
|
-
t(this,
|
|
926
|
+
const e = parseInt(t(this, q).getAttribute("max-display-row"), 10) || 10, s = Math.max(...i.map((f) => f.getRowHeight())), o = (d = t(this, q).shadowRoot.querySelector("nine-table-header")) == null ? void 0 : d.getBoundingClientRect().height, r = (h = t(this, q).shadowRoot.querySelector("nine-table-sheets-footer")) == null ? void 0 : h.getBoundingClientRect().height, n = wt.SCROLLBAR_SIZE, l = e * s + o + r + n;
|
|
927
|
+
t(this, q).style.height = `${l}px`;
|
|
947
928
|
}, "#applyAutoHeight"));
|
|
948
|
-
c(this,
|
|
949
|
-
const e = Array.from(t(this,
|
|
950
|
-
const u = `<nine-table-sheet class="${h === 0 ? "active" : ""}" data-index="${h}"></nine-table-sheet>`, g = h <
|
|
929
|
+
c(this, Bt, /* @__PURE__ */ a(() => {
|
|
930
|
+
const e = Array.from(t(this, q).children).filter((d) => d.tagName === "TABLE"), s = t(this, q).getAttribute("auto-height") === "true", o = e.length, r = e.map((d, h) => {
|
|
931
|
+
const u = `<nine-table-sheet class="${h === 0 ? "active" : ""}" data-index="${h}"></nine-table-sheet>`, g = h < o - 1 ? `<nine-splitter class="h" data-split-index="${h}"></nine-splitter>` : "";
|
|
951
932
|
return u + g;
|
|
952
|
-
}).join(""),
|
|
953
|
-
t(this,
|
|
933
|
+
}).join(""), n = e.map((d, h) => `<div class="nine-tab-item ${h === 0 ? "active" : ""}" data-index="${h}">Sheet ${h + 1}</div>`).join("");
|
|
934
|
+
t(this, q).shadowRoot.innerHTML = `
|
|
954
935
|
<style>
|
|
955
936
|
:host {
|
|
956
937
|
display: flex;
|
|
@@ -1033,7 +1014,7 @@ const de = class de {
|
|
|
1033
1014
|
<nine-table-sheets>
|
|
1034
1015
|
<nine-table-sheets-body>${r}</nine-table-sheets-body>
|
|
1035
1016
|
<nine-table-sheets-footer>
|
|
1036
|
-
<div class="nine-tab-bar">${
|
|
1017
|
+
<div class="nine-tab-bar">${n}</div>
|
|
1037
1018
|
<div class="sheets-counter">Total : <span id="row-count">0</span></div>
|
|
1038
1019
|
</nine-table-sheets-footer>
|
|
1039
1020
|
</nine-table-sheets>
|
|
@@ -1041,56 +1022,56 @@ const de = class de {
|
|
|
1041
1022
|
</nine-table-body>
|
|
1042
1023
|
<nine-table-footer></nine-table-footer>
|
|
1043
1024
|
`;
|
|
1044
|
-
const l = t(this,
|
|
1025
|
+
const l = t(this, q).shadowRoot.querySelectorAll("nine-table-sheet");
|
|
1045
1026
|
l == null || l.forEach((d, h) => {
|
|
1046
1027
|
e[h] && setTimeout(() => {
|
|
1047
1028
|
d.generate(e[h]), s && t(this, pt).call(this);
|
|
1048
1029
|
});
|
|
1049
1030
|
});
|
|
1050
1031
|
}, "#render"));
|
|
1051
|
-
b(this,
|
|
1032
|
+
b(this, q, i), t(this, Nt).call(this);
|
|
1052
1033
|
}
|
|
1053
1034
|
};
|
|
1054
|
-
|
|
1035
|
+
q = new WeakMap(), Nt = new WeakMap(), pt = new WeakMap(), Bt = new WeakMap(), a(de, "LayoutManager");
|
|
1055
1036
|
let te = de;
|
|
1056
|
-
var mt,
|
|
1037
|
+
var mt, nt;
|
|
1057
1038
|
const fe = class fe {
|
|
1058
1039
|
constructor(i) {
|
|
1059
1040
|
c(this, mt);
|
|
1060
|
-
c(this,
|
|
1041
|
+
c(this, nt, -1);
|
|
1061
1042
|
v(this, "count", /* @__PURE__ */ a(() => t(this, mt).rawRecords.length, "count"));
|
|
1062
1043
|
b(this, mt, i);
|
|
1063
1044
|
}
|
|
1064
1045
|
get at() {
|
|
1065
|
-
return t(this,
|
|
1046
|
+
return t(this, nt);
|
|
1066
1047
|
}
|
|
1067
1048
|
set at(i) {
|
|
1068
|
-
b(this,
|
|
1049
|
+
b(this, nt, parseInt(i, 10)), body && !body.querySelector(`tbody.bindable tr[data-row="${t(this, nt)}"]`) && setTimeout(() => {
|
|
1069
1050
|
});
|
|
1070
1051
|
}
|
|
1071
1052
|
};
|
|
1072
|
-
mt = new WeakMap(),
|
|
1053
|
+
mt = new WeakMap(), nt = new WeakMap(), a(fe, "ngRow");
|
|
1073
1054
|
let ee = fe;
|
|
1074
|
-
var k,
|
|
1055
|
+
var k, E, L, ot, Dt, P, Pt, G, xt, Yt, Vt, rt;
|
|
1075
1056
|
const C = class C {
|
|
1076
1057
|
constructor(i, e) {
|
|
1077
1058
|
c(this, k);
|
|
1078
|
-
c(this,
|
|
1059
|
+
c(this, E);
|
|
1079
1060
|
c(this, L, []);
|
|
1080
|
-
c(this,
|
|
1081
|
-
c(this,
|
|
1082
|
-
c(this,
|
|
1061
|
+
c(this, ot, []);
|
|
1062
|
+
c(this, Dt, 0);
|
|
1063
|
+
c(this, P, []);
|
|
1083
1064
|
c(this, Pt, /* @__PURE__ */ a(() => {
|
|
1084
|
-
b(this,
|
|
1065
|
+
b(this, P, []);
|
|
1085
1066
|
const i = t(this, k).template || [];
|
|
1086
1067
|
Array.from(i).forEach((e) => {
|
|
1087
1068
|
var s;
|
|
1088
|
-
t(this,
|
|
1089
|
-
}), (t(this,
|
|
1090
|
-
e.__ng || (e.__ng = t(this, xt).call(this)), e.__ng.height = t(this,
|
|
1069
|
+
t(this, P).push(((s = e.getBoundingClientRect) == null ? void 0 : s.call(e).height) || 24);
|
|
1070
|
+
}), (t(this, E).rawRecords || []).forEach((e) => {
|
|
1071
|
+
e.__ng || (e.__ng = t(this, xt).call(this)), e.__ng.height = t(this, P).slice();
|
|
1091
1072
|
});
|
|
1092
1073
|
}, "#initialize"));
|
|
1093
|
-
c(this,
|
|
1074
|
+
c(this, G, /* @__PURE__ */ a(() => {
|
|
1094
1075
|
t(this, k).shadowRoot.querySelectorAll("nine-table-sheet").forEach((i) => {
|
|
1095
1076
|
i.invalidate();
|
|
1096
1077
|
});
|
|
@@ -1099,43 +1080,43 @@ const C = class C {
|
|
|
1099
1080
|
var r;
|
|
1100
1081
|
const s = this.getValidData();
|
|
1101
1082
|
if (!s || s.length <= 0) return;
|
|
1102
|
-
if (i == null) return t(this,
|
|
1083
|
+
if (i == null) return t(this, rt).call(this, s);
|
|
1103
1084
|
if (i < 0 || i >= s.length) return null;
|
|
1104
|
-
const
|
|
1085
|
+
const o = typeof ((r = t(this, k).fields) == null ? void 0 : r.get) == "function" ? t(this, k).fields.get() : [];
|
|
1105
1086
|
if (e != null) {
|
|
1106
|
-
const
|
|
1107
|
-
return
|
|
1087
|
+
const n = o.indexOf(e);
|
|
1088
|
+
return n >= 0 ? s[i].v[n] : null;
|
|
1108
1089
|
}
|
|
1109
|
-
return t(this,
|
|
1090
|
+
return t(this, rt).call(this, s[i]);
|
|
1110
1091
|
}, "get"));
|
|
1111
1092
|
v(this, "set", /* @__PURE__ */ a((i) => {
|
|
1112
|
-
this.clear(), this.add(i, !1), t(this,
|
|
1093
|
+
this.clear(), this.add(i, !1), t(this, G).call(this);
|
|
1113
1094
|
}, "set"));
|
|
1114
1095
|
c(this, xt, /* @__PURE__ */ a(() => ({
|
|
1115
1096
|
rowState: C.ROW_STATE.EMPTY,
|
|
1116
1097
|
deleted: !1,
|
|
1117
1098
|
filtered: !1,
|
|
1118
|
-
height: t(this,
|
|
1099
|
+
height: t(this, P).slice(),
|
|
1119
1100
|
o: {},
|
|
1120
1101
|
c: {},
|
|
1121
|
-
_: [0, 0, 0, 0, C.ROW_STATE.EMPTY, !1, !1, !0, !1, !0, !0, !1, t(this,
|
|
1102
|
+
_: [0, 0, 0, 0, C.ROW_STATE.EMPTY, !1, !1, !0, !1, !0, !0, !1, t(this, P).slice(), -1, {}, {}]
|
|
1122
1103
|
}), "#getDefaultMeta"));
|
|
1123
1104
|
v(this, "reset", /* @__PURE__ */ a(() => {
|
|
1124
|
-
b(this, L, []), b(this,
|
|
1105
|
+
b(this, L, []), b(this, ot, []), t(this, G).call(this);
|
|
1125
1106
|
}, "reset"));
|
|
1126
1107
|
v(this, "clear", /* @__PURE__ */ a(() => {
|
|
1127
1108
|
var i;
|
|
1128
|
-
t(this,
|
|
1109
|
+
t(this, E).rawRecords = [], b(this, L, []), b(this, ot, []), (i = t(this, E).viewRecords) != null && i.reset && t(this, E).viewRecords.reset();
|
|
1129
1110
|
}, "clear"));
|
|
1130
1111
|
c(this, Yt, /* @__PURE__ */ a((i) => {
|
|
1131
|
-
var
|
|
1112
|
+
var o;
|
|
1132
1113
|
Array.isArray(i) || (i = [i]);
|
|
1133
|
-
const e = typeof ((
|
|
1114
|
+
const e = typeof ((o = t(this, k).fields) == null ? void 0 : o.get) == "function" ? t(this, k).fields.get() : Object.keys(i[0] || {}), s = [];
|
|
1134
1115
|
return i.forEach((r) => {
|
|
1135
|
-
const
|
|
1116
|
+
const n = { v: [] };
|
|
1136
1117
|
e.forEach((l) => {
|
|
1137
|
-
|
|
1138
|
-
}), s.push(
|
|
1118
|
+
n.v.push(r[l] !== void 0 && r[l] !== null ? r[l] : "");
|
|
1119
|
+
}), s.push(n);
|
|
1139
1120
|
}), s;
|
|
1140
1121
|
}, "#json2Array"));
|
|
1141
1122
|
c(this, Vt, /* @__PURE__ */ a((i) => (Array.isArray(i) || (i = [i]), i.forEach((e) => {
|
|
@@ -1144,64 +1125,64 @@ const C = class C {
|
|
|
1144
1125
|
v(this, "add", /* @__PURE__ */ a((i, e = !0) => {
|
|
1145
1126
|
i === void 0 && (i = {});
|
|
1146
1127
|
const s = t(this, Yt).call(this, i);
|
|
1147
|
-
t(this,
|
|
1148
|
-
const
|
|
1149
|
-
return e || s.forEach((r,
|
|
1150
|
-
const l = t(this,
|
|
1128
|
+
t(this, E).rawRecords = t(this, E).rawRecords.concat(t(this, Vt).call(this, s)), this.resetRecords();
|
|
1129
|
+
const o = this.count() - 1;
|
|
1130
|
+
return e || s.forEach((r, n) => {
|
|
1131
|
+
const l = t(this, E).rawRecords[o - n];
|
|
1151
1132
|
l && (l.__ng.rowState = C.ROW_STATE.EMPTY);
|
|
1152
|
-
}), t(this,
|
|
1133
|
+
}), t(this, G).call(this), o;
|
|
1153
1134
|
}, "add"));
|
|
1154
1135
|
v(this, "delete", /* @__PURE__ */ a((i) => {
|
|
1155
1136
|
let e = [];
|
|
1156
|
-
Array.isArray(i) ? e = i : typeof i > "u" ? e = [t(this,
|
|
1137
|
+
Array.isArray(i) ? e = i : typeof i > "u" ? e = [t(this, E).host.row.at] : e = [parseInt(i, 10)], e.sort((s, o) => o - s).forEach((s) => {
|
|
1157
1138
|
if (t(this, L)[s]) {
|
|
1158
|
-
const
|
|
1159
|
-
t(this, L)[s].__ng.rowState === C.ROW_STATE.INSERT ? t(this,
|
|
1160
|
-
r.__ng.rowid ===
|
|
1139
|
+
const o = t(this, L)[s].__ng.rowid;
|
|
1140
|
+
t(this, L)[s].__ng.rowState === C.ROW_STATE.INSERT ? t(this, E).rawRecords = t(this, E).rawRecords.filter((r) => r.__ng.rowid !== o) : t(this, E).rawRecords.forEach((r) => {
|
|
1141
|
+
r.__ng.rowid === o && (r.__ng.deleted = !0, r.__ng.rowState = C.ROW_STATE.DELETE);
|
|
1161
1142
|
});
|
|
1162
1143
|
}
|
|
1163
|
-
}), this.resetRecords(), t(this,
|
|
1144
|
+
}), this.resetRecords(), t(this, G).call(this);
|
|
1164
1145
|
}, "delete"));
|
|
1165
1146
|
v(this, "setValue", /* @__PURE__ */ a((i, e, s) => {
|
|
1166
1147
|
var d;
|
|
1167
1148
|
i = parseInt(i, 10);
|
|
1168
1149
|
const r = (typeof ((d = t(this, k).fields) == null ? void 0 : d.get) == "function" ? t(this, k).fields.get() : []).indexOf(e);
|
|
1169
1150
|
if (r < 0) return;
|
|
1170
|
-
const
|
|
1171
|
-
if (!
|
|
1172
|
-
const l =
|
|
1173
|
-
l !== s &&
|
|
1151
|
+
const n = this.getValidData()[i];
|
|
1152
|
+
if (!n) return;
|
|
1153
|
+
const l = n.v[r];
|
|
1154
|
+
l !== s && n.__ng.rowState !== C.ROW_STATE.INSERT && (n.__ng.o.hasOwnProperty(e) || (n.__ng.o[e] = l), n.__ng.rowState = C.ROW_STATE.UPDATE), n.v[r] = s;
|
|
1174
1155
|
}, "setValue"));
|
|
1175
1156
|
v(this, "resetRecords", /* @__PURE__ */ a(() => {
|
|
1176
|
-
b(this,
|
|
1157
|
+
b(this, ot, t(this, E).rawRecords.filter((i) => !i.__ng.deleted)), b(this, L, t(this, E).rawRecords.filter((i) => !i.__ng.deleted && !i.__ng.filtered)), t(this, E).rawRecords.forEach((i, e) => {
|
|
1177
1158
|
i.__ng.rowidx = e;
|
|
1178
1159
|
}), t(this, L).forEach((i, e) => {
|
|
1179
1160
|
i.__ng.i = e;
|
|
1180
1161
|
});
|
|
1181
1162
|
}, "resetRecords"));
|
|
1182
|
-
v(this, "getValidData", /* @__PURE__ */ a(() => (t(this, L).length === 0 && t(this,
|
|
1183
|
-
c(this,
|
|
1184
|
-
var
|
|
1163
|
+
v(this, "getValidData", /* @__PURE__ */ a(() => (t(this, L).length === 0 && t(this, E).rawRecords.length > 0 && this.resetRecords(), t(this, L)), "getValidData"));
|
|
1164
|
+
c(this, rt, /* @__PURE__ */ a((i) => {
|
|
1165
|
+
var n;
|
|
1185
1166
|
if (!i) return i;
|
|
1186
|
-
const e = !Array.isArray(i), s = e ? [i] : i,
|
|
1167
|
+
const e = !Array.isArray(i), s = e ? [i] : i, o = typeof ((n = t(this, k).fields) == null ? void 0 : n.get) == "function" ? t(this, k).fields.get() : [], r = s.filter((l) => !l.__ng.deleted).map((l) => {
|
|
1187
1168
|
const d = {};
|
|
1188
|
-
return
|
|
1169
|
+
return o.forEach((h, f) => {
|
|
1189
1170
|
d[h] = l.v ? l.v[f] : l[h];
|
|
1190
1171
|
}), d.__ng = l.__ng, d;
|
|
1191
1172
|
});
|
|
1192
1173
|
return e ? r[0] : r;
|
|
1193
1174
|
}, "#conv"));
|
|
1194
1175
|
v(this, "count", /* @__PURE__ */ a(() => this.getValidData().length, "count"));
|
|
1195
|
-
b(this, k, i), b(this,
|
|
1176
|
+
b(this, k, i), b(this, E, e), t(this, Pt).call(this);
|
|
1196
1177
|
}
|
|
1197
1178
|
get source() {
|
|
1198
|
-
return t(this,
|
|
1179
|
+
return t(this, rt).call(this, t(this, E).rawRecords);
|
|
1199
1180
|
}
|
|
1200
1181
|
set source(i) {
|
|
1201
1182
|
this.clear(), this.add(i, !1);
|
|
1202
1183
|
}
|
|
1203
1184
|
get nextId() {
|
|
1204
|
-
return ++ve(this,
|
|
1185
|
+
return ++ve(this, Dt)._;
|
|
1205
1186
|
}
|
|
1206
1187
|
get length() {
|
|
1207
1188
|
return t(this, L).length;
|
|
@@ -1210,7 +1191,7 @@ const C = class C {
|
|
|
1210
1191
|
return this.length;
|
|
1211
1192
|
}
|
|
1212
1193
|
};
|
|
1213
|
-
k = new WeakMap(),
|
|
1194
|
+
k = new WeakMap(), E = new WeakMap(), L = new WeakMap(), ot = new WeakMap(), Dt = new WeakMap(), P = new WeakMap(), Pt = new WeakMap(), G = new WeakMap(), xt = new WeakMap(), Yt = new WeakMap(), Vt = new WeakMap(), rt = new WeakMap(), a(C, "ngData"), // π― ν μν μ μ μμλ₯Ό ν΄λμ€ λ΄λΆλ‘ λ΄μ¬ν
|
|
1214
1195
|
v(C, "ROW_STATE", {
|
|
1215
1196
|
EMPTY: "EMPTY",
|
|
1216
1197
|
NORMAL: "NORMAL",
|
|
@@ -1219,71 +1200,71 @@ v(C, "ROW_STATE", {
|
|
|
1219
1200
|
DELETE: "DELETE"
|
|
1220
1201
|
});
|
|
1221
1202
|
let ie = C;
|
|
1222
|
-
var
|
|
1203
|
+
var J;
|
|
1223
1204
|
const ue = class ue {
|
|
1224
1205
|
constructor(i) {
|
|
1225
|
-
c(this,
|
|
1226
|
-
b(this,
|
|
1206
|
+
c(this, J);
|
|
1207
|
+
b(this, J, i), this.row = new ee(this), this.data = new ie(t(this, J), this), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.pageCnt = 25, this.viewRecords.reset = () => {
|
|
1227
1208
|
var e;
|
|
1228
|
-
(e = t(this,
|
|
1209
|
+
(e = t(this, J).view) != null && e.redraw && t(this, J).view.redraw();
|
|
1229
1210
|
}, this.setDataSource = (e) => {
|
|
1230
1211
|
this.data && this.data.reset(), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.data.set(e || []);
|
|
1231
1212
|
}, this.getRowState = (e) => {
|
|
1232
|
-
var
|
|
1213
|
+
var o, r;
|
|
1233
1214
|
const s = parseInt(e, 10);
|
|
1234
1215
|
if (!(s >= this.data.count()))
|
|
1235
|
-
return (r = (
|
|
1216
|
+
return (r = (o = this.data.getValidData()[s]) == null ? void 0 : o.__ng) == null ? void 0 : r.rowState;
|
|
1236
1217
|
}, this.getRowPosition = () => this.row.at, this.setRowPosition = (e) => {
|
|
1237
1218
|
this.row.at = e;
|
|
1238
|
-
}, 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,
|
|
1239
|
-
e = parseInt(e, 10), this.data.setValue(e, s,
|
|
1219
|
+
}, 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, o) => {
|
|
1220
|
+
e = parseInt(e, 10), this.data.setValue(e, s, o);
|
|
1240
1221
|
}, this.setDataSource([]);
|
|
1241
1222
|
}
|
|
1242
1223
|
};
|
|
1243
|
-
|
|
1224
|
+
J = new WeakMap(), a(ue, "ngDataManager");
|
|
1244
1225
|
let se = ue;
|
|
1245
|
-
var
|
|
1226
|
+
var lt, R, vt, Xt;
|
|
1246
1227
|
const be = class be {
|
|
1247
1228
|
// π― μ΄μ { name: string, type: string } κ°μ²΄λ€μ λ°°μ΄λ‘ κ΄λ¦¬ν©λλ€.
|
|
1248
1229
|
constructor(i) {
|
|
1249
|
-
c(this,
|
|
1250
|
-
c(this,
|
|
1230
|
+
c(this, lt);
|
|
1231
|
+
c(this, R, []);
|
|
1251
1232
|
v(this, "add", /* @__PURE__ */ a((i, e = "string") => {
|
|
1252
1233
|
i.forEach((s) => {
|
|
1253
|
-
t(this,
|
|
1234
|
+
t(this, R).some((o) => o.name === s) || t(this, R).push({ name: s, type: e });
|
|
1254
1235
|
}), t(this, vt).call(this);
|
|
1255
1236
|
}, "add"));
|
|
1256
1237
|
c(this, vt, /* @__PURE__ */ a(() => {
|
|
1257
1238
|
const i = /* @__PURE__ */ new Map();
|
|
1258
|
-
t(this,
|
|
1239
|
+
t(this, R).forEach((e) => {
|
|
1259
1240
|
i.set(e.name, e.type);
|
|
1260
|
-
}), b(this,
|
|
1241
|
+
}), b(this, R, Array.from(i, ([e, s]) => ({ name: e, type: s }))), b(this, R, t(this, R).filter((e) => e.name !== "" && e.name !== "__ng")), t(this, R).sort((e, s) => e.name.length < s.name.length ? 1 : -1);
|
|
1261
1242
|
}, "#adjust"));
|
|
1262
1243
|
c(this, Xt, /* @__PURE__ */ a(() => {
|
|
1263
|
-
b(this,
|
|
1264
|
-
const i = Array.from(t(this,
|
|
1244
|
+
b(this, R, []), H.log(t(this, lt).querySelectorAll("table"));
|
|
1245
|
+
const i = Array.from(t(this, lt).querySelectorAll("table"));
|
|
1265
1246
|
if (!(!i || i.length === 0)) {
|
|
1266
1247
|
for (const e of i)
|
|
1267
|
-
|
|
1268
|
-
const r =
|
|
1269
|
-
r && t(this,
|
|
1248
|
+
H.log(e), $("[data-bind]", e).each((s, o) => {
|
|
1249
|
+
const r = o.dataset.bind, n = o.getAttribute("data-type") || "string";
|
|
1250
|
+
r && t(this, R).push({ name: r, type: n });
|
|
1270
1251
|
}), ["data-expr", "background-color", "color", "tooltip", "visible", "readonly", "enable-button", "enable-check", "class-expr", "icon-color", "icon-src"].forEach((s) => {
|
|
1271
|
-
$(`[${s}]`, e).each((
|
|
1272
|
-
var
|
|
1273
|
-
if (
|
|
1274
|
-
const l =
|
|
1252
|
+
$(`[${s}]`, e).each((o, r) => {
|
|
1253
|
+
var n = r.getAttribute(s);
|
|
1254
|
+
if (n.indexOf("data.") < 0) {
|
|
1255
|
+
const l = n.search(/[(]/g);
|
|
1275
1256
|
if (l > 0)
|
|
1276
1257
|
try {
|
|
1277
|
-
|
|
1258
|
+
n = String(window[n.substring(0, l).trim()]);
|
|
1278
1259
|
} catch {
|
|
1279
|
-
|
|
1260
|
+
n = "";
|
|
1280
1261
|
}
|
|
1281
1262
|
}
|
|
1282
|
-
|
|
1263
|
+
n.split("data.").forEach((l) => {
|
|
1283
1264
|
if (l.trim() != "") {
|
|
1284
1265
|
const d = l.search(/[^_A-Za-z0-9]/g);
|
|
1285
1266
|
let h = "";
|
|
1286
|
-
d >= 0 ? h = l.substring(0, d) :
|
|
1267
|
+
d >= 0 ? h = l.substring(0, d) : n.startsWith("data.") && (h = l.replace("data.", "")), h && t(this, R).push({ name: h, type: "string" });
|
|
1287
1268
|
}
|
|
1288
1269
|
});
|
|
1289
1270
|
});
|
|
@@ -1291,62 +1272,62 @@ const be = class be {
|
|
|
1291
1272
|
t(this, vt).call(this);
|
|
1292
1273
|
}
|
|
1293
1274
|
}, "#init"));
|
|
1294
|
-
b(this,
|
|
1275
|
+
b(this, lt, i), t(this, Xt).call(this);
|
|
1295
1276
|
}
|
|
1296
1277
|
// π― κΈ°μ‘΄μ νλ μ΄λ¦λ§ μ°λ κ³³λ€κ³Όμ νΈνμ μν΄ μ΄λ¦ λ°°μ΄λ§ 리ν΄νλ λ©μλ μ μ§
|
|
1297
1278
|
get() {
|
|
1298
|
-
return t(this,
|
|
1279
|
+
return t(this, R).map((i) => i.name);
|
|
1299
1280
|
}
|
|
1300
1281
|
// π― λ΄λΆ κ°μ²΄ ν΅μ§Έλ‘ μ»κΈ°
|
|
1301
1282
|
getFields() {
|
|
1302
|
-
return t(this,
|
|
1283
|
+
return t(this, R);
|
|
1303
1284
|
}
|
|
1304
1285
|
// π― νΉμ νλμ λ°μ΄ν° νμ
μ‘°ν
|
|
1305
1286
|
getType(i) {
|
|
1306
|
-
const e = t(this,
|
|
1287
|
+
const e = t(this, R).find((s) => s.name === i);
|
|
1307
1288
|
return e ? e.type : "string";
|
|
1308
1289
|
}
|
|
1309
1290
|
indexOf(i) {
|
|
1310
|
-
return t(this,
|
|
1291
|
+
return t(this, R).findIndex((e) => e.name === i);
|
|
1311
1292
|
}
|
|
1312
1293
|
includes(i) {
|
|
1313
|
-
return t(this,
|
|
1294
|
+
return t(this, R).some((e) => e.name === i);
|
|
1314
1295
|
}
|
|
1315
1296
|
};
|
|
1316
|
-
|
|
1297
|
+
lt = new WeakMap(), R = new WeakMap(), vt = new WeakMap(), Xt = new WeakMap(), a(be, "ngFields");
|
|
1317
1298
|
let ne = be;
|
|
1318
|
-
var
|
|
1299
|
+
var Q, Ut, Ft;
|
|
1319
1300
|
const ge = class ge extends HTMLElement {
|
|
1320
1301
|
constructor() {
|
|
1321
1302
|
super();
|
|
1322
1303
|
//#created = false;
|
|
1323
|
-
c(this,
|
|
1304
|
+
c(this, Q);
|
|
1324
1305
|
c(this, Ut);
|
|
1325
1306
|
c(this, Ft, /* @__PURE__ */ a(() => {
|
|
1326
|
-
this.fields = new ne(this), b(this, Ut, new te(this)),
|
|
1307
|
+
this.fields = new ne(this), b(this, Ut, new te(this)), H.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } }));
|
|
1327
1308
|
}, "#init"));
|
|
1328
|
-
this.attachShadow({ mode: "open" }), b(this,
|
|
1309
|
+
this.attachShadow({ mode: "open" }), b(this, Q, new se(this));
|
|
1329
1310
|
}
|
|
1330
1311
|
connectedCallback() {
|
|
1331
1312
|
t(this, Ft).call(this);
|
|
1332
1313
|
}
|
|
1333
1314
|
disconnectedCallback() {
|
|
1334
|
-
|
|
1315
|
+
H.log("NineTable disconnected.");
|
|
1335
1316
|
}
|
|
1336
1317
|
// π― μΈλΆμμ grid.data.set(...) ννλ‘ μ κ·Όν μ μλλ‘ λ°μ΄ν° λ§€λμ μ€ν
|
|
1337
1318
|
get data() {
|
|
1338
|
-
return t(this,
|
|
1319
|
+
return t(this, Q).data;
|
|
1339
1320
|
}
|
|
1340
1321
|
// π― ν(row) κ΄λ ¨ μ μ΄ μ κ·Όμ μ€ν
|
|
1341
1322
|
get row() {
|
|
1342
|
-
return t(this,
|
|
1323
|
+
return t(this, Q).row;
|
|
1343
1324
|
}
|
|
1344
1325
|
// π― μ 체 λ°μ΄ν° λ§€λμ μ κ·Ό νμν κ²½μ°
|
|
1345
1326
|
get dataManager() {
|
|
1346
|
-
return t(this,
|
|
1327
|
+
return t(this, Q);
|
|
1347
1328
|
}
|
|
1348
1329
|
};
|
|
1349
|
-
|
|
1330
|
+
Q = new WeakMap(), Ut = new WeakMap(), Ft = new WeakMap(), a(ge, "NineTable");
|
|
1350
1331
|
let oe = ge;
|
|
1351
1332
|
customElements.get("nine-table") || customElements.define("nine-table", oe);
|
|
1352
1333
|
//# sourceMappingURL=nine-table.js.map
|