@ninebone/table 0.0.451 β 0.0.452
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 +121 -118
- package/dist/nine-table.js.map +1 -1
- package/dist/nine-table.umd.js +1 -1
- package/dist/nine-table.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/nine-table.js
CHANGED
|
@@ -4,7 +4,7 @@ var je = (R) => {
|
|
|
4
4
|
};
|
|
5
5
|
var Ye = (R, i, e) => i in R ? Pe(R, i, { enumerable: !0, configurable: !0, writable: !0, value: e }) : R[i] = e;
|
|
6
6
|
var c = (R, i) => Pe(R, "name", { value: i, configurable: !0 });
|
|
7
|
-
var
|
|
7
|
+
var w = (R, i, e) => Ye(R, typeof i != "symbol" ? i + "" : i, e), Fe = (R, i, e) => i.has(R) || je("Cannot " + e);
|
|
8
8
|
var t = (R, i, e) => (Fe(R, i, "read from private field"), e ? e.call(R) : i.get(R)), d = (R, i, e) => i.has(R) ? je("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(R) : i.set(R, e), b = (R, i, e, s) => (Fe(R, i, "write to private field"), s ? s.call(R, e) : i.set(R, e), e);
|
|
9
9
|
var Ve = (R, i, e, s) => ({
|
|
10
10
|
set _(r) {
|
|
@@ -22,29 +22,29 @@ const Ce = class Ce extends Ue.constructor {
|
|
|
22
22
|
};
|
|
23
23
|
c(Ce, "Trace");
|
|
24
24
|
let oe = Ce;
|
|
25
|
-
const
|
|
26
|
-
var B, P,
|
|
25
|
+
const U = new oe();
|
|
26
|
+
var B, P, S, X, K, Z, Mt, G, It;
|
|
27
27
|
const Le = class Le extends HTMLElement {
|
|
28
28
|
constructor() {
|
|
29
29
|
super();
|
|
30
30
|
d(this, B);
|
|
31
31
|
d(this, P, !1);
|
|
32
|
-
d(this,
|
|
33
|
-
d(this, U);
|
|
32
|
+
d(this, S);
|
|
34
33
|
d(this, X);
|
|
35
34
|
d(this, K);
|
|
35
|
+
d(this, Z);
|
|
36
36
|
d(this, Mt, /* @__PURE__ */ c(() => {
|
|
37
37
|
if (!t(this, B)) return;
|
|
38
38
|
const e = t(this, B).querySelector(".ng-container-body .ng-part-body");
|
|
39
|
-
e && (b(this,
|
|
39
|
+
e && (b(this, Z, new ResizeObserver(() => {
|
|
40
40
|
this.refresh();
|
|
41
|
-
})), t(this,
|
|
41
|
+
})), t(this, Z).observe(e));
|
|
42
42
|
}, "#observeResize"));
|
|
43
|
-
|
|
44
|
-
if (!t(this, B) || !t(this,
|
|
45
|
-
const e = t(this,
|
|
43
|
+
w(this, "refresh", /* @__PURE__ */ c(() => {
|
|
44
|
+
if (!t(this, B) || !t(this, S) || t(this, P)) return;
|
|
45
|
+
const e = t(this, S).container, s = e.querySelector("table");
|
|
46
46
|
if (!s) return;
|
|
47
|
-
const r = t(this,
|
|
47
|
+
const r = t(this, S).track, n = t(this, S).thumb, o = t(this, B).querySelector(".ng-container-bottom"), a = e.clientWidth, h = s.scrollWidth;
|
|
48
48
|
if (a !== 0 && h > a)
|
|
49
49
|
o && (o.style.display = "flex");
|
|
50
50
|
else {
|
|
@@ -59,51 +59,51 @@ const Le = class Le extends HTMLElement {
|
|
|
59
59
|
let g = 0;
|
|
60
60
|
p > 0 && (g = parseInt(u / p * (l - f), 10)), g < 0 && (g = 0);
|
|
61
61
|
const m = l - f;
|
|
62
|
-
g > m && (g = m), n.style.left = `${g}px`, t(this,
|
|
62
|
+
g > m && (g = m), n.style.left = `${g}px`, t(this, S).left.disabled = g === 0, t(this, S).right.disabled = g >= m - 1;
|
|
63
63
|
}, "refresh"));
|
|
64
|
-
d(this,
|
|
65
|
-
if (!t(this,
|
|
66
|
-
const s = t(this,
|
|
64
|
+
d(this, G, /* @__PURE__ */ c((e) => {
|
|
65
|
+
if (!t(this, S)) return !1;
|
|
66
|
+
const s = t(this, S).container, r = s.querySelector("table");
|
|
67
67
|
if (!r) return !1;
|
|
68
|
-
const n = t(this,
|
|
68
|
+
const n = t(this, S).track.getBoundingClientRect(), o = t(this, S).thumb.clientWidth;
|
|
69
69
|
let a = e;
|
|
70
70
|
a < 0 && (a = 0);
|
|
71
71
|
const h = n.width - o;
|
|
72
|
-
a > h && (a = h), a = parseInt(a, 10), t(this,
|
|
72
|
+
a > h && (a = h), a = parseInt(a, 10), t(this, S).thumb.style.left = `${a}px`, t(this, S).left.disabled = a === 0, t(this, S).right.disabled = a >= h - 1;
|
|
73
73
|
const l = s.clientWidth, u = r.scrollWidth - l;
|
|
74
74
|
return h > 0 && u > 0 && (s.scrollLeft = a / h * u), a > 0 && a < h - 1;
|
|
75
75
|
}, "#thumbMoveTo"));
|
|
76
76
|
d(this, It, /* @__PURE__ */ c(() => {
|
|
77
77
|
const e = /* @__PURE__ */ c((r) => {
|
|
78
|
-
clearInterval(t(this,
|
|
79
|
-
const n = parseInt(t(this,
|
|
80
|
-
t(this,
|
|
81
|
-
clearInterval(t(this,
|
|
82
|
-
const o = parseInt(t(this,
|
|
83
|
-
t(this,
|
|
78
|
+
clearInterval(t(this, X)), clearInterval(t(this, K));
|
|
79
|
+
const n = parseInt(t(this, S).thumb.style.left || 0, 10);
|
|
80
|
+
t(this, G).call(this, n + r), b(this, X, setInterval(() => {
|
|
81
|
+
clearInterval(t(this, X)), b(this, K, setInterval(() => {
|
|
82
|
+
const o = parseInt(t(this, S).thumb.style.left || 0, 10);
|
|
83
|
+
t(this, G).call(this, o + r) || clearInterval(t(this, K));
|
|
84
84
|
}, 50));
|
|
85
85
|
}, 500));
|
|
86
86
|
}, "delayScroll"), s = /* @__PURE__ */ c(() => {
|
|
87
|
-
clearInterval(t(this,
|
|
87
|
+
clearInterval(t(this, X)), clearInterval(t(this, K));
|
|
88
88
|
}, "clearTimer");
|
|
89
89
|
["mouseup", "mouseleave", "touchend"].forEach((r) => {
|
|
90
|
-
t(this,
|
|
91
|
-
}), t(this,
|
|
90
|
+
t(this, S).left.addEventListener(r, s), t(this, S).right.addEventListener(r, s), t(this, S).track.addEventListener(r, s);
|
|
91
|
+
}), t(this, S).left.addEventListener("mousedown", (r) => {
|
|
92
92
|
r.button === 0 && e(-20);
|
|
93
|
-
}), t(this,
|
|
93
|
+
}), t(this, S).right.addEventListener("mousedown", (r) => {
|
|
94
94
|
r.button === 0 && e(20);
|
|
95
|
-
}), t(this,
|
|
95
|
+
}), t(this, S).left.addEventListener("touchstart", () => e(-20)), t(this, S).right.addEventListener("touchstart", () => e(20)), t(this, S).track.addEventListener("mousedown", (r) => {
|
|
96
96
|
if (r.button !== 0) return;
|
|
97
97
|
r.preventDefault();
|
|
98
|
-
const n = t(this,
|
|
99
|
-
t(this,
|
|
100
|
-
}), t(this,
|
|
98
|
+
const n = t(this, S).track.getBoundingClientRect(), o = t(this, S).thumb.clientWidth;
|
|
99
|
+
t(this, G).call(this, r.clientX - n.left - o / 2);
|
|
100
|
+
}), t(this, S).thumb.addEventListener("mousedown", (r) => {
|
|
101
101
|
if (r.button !== 0) return;
|
|
102
|
-
r.stopPropagation(), r.preventDefault(), b(this, P, !0), this.shiftX = r.clientX - t(this,
|
|
102
|
+
r.stopPropagation(), r.preventDefault(), b(this, P, !0), this.shiftX = r.clientX - t(this, S).thumb.getBoundingClientRect().left;
|
|
103
103
|
const n = /* @__PURE__ */ c((a) => {
|
|
104
104
|
if (!t(this, P)) return;
|
|
105
|
-
const h = t(this,
|
|
106
|
-
t(this,
|
|
105
|
+
const h = t(this, S).track.getBoundingClientRect();
|
|
106
|
+
t(this, G).call(this, a.clientX - h.left - this.shiftX);
|
|
107
107
|
}, "onMouseMove"), o = /* @__PURE__ */ c(() => {
|
|
108
108
|
b(this, P, !1), s(), document.removeEventListener("mousemove", n), document.removeEventListener("mouseup", o), this.refresh();
|
|
109
109
|
}, "onMouseUp");
|
|
@@ -182,7 +182,7 @@ const Le = class Le extends HTMLElement {
|
|
|
182
182
|
setTimeout(e, 10);
|
|
183
183
|
return;
|
|
184
184
|
}
|
|
185
|
-
b(this,
|
|
185
|
+
b(this, S, {
|
|
186
186
|
container: s,
|
|
187
187
|
track: this.querySelector(".ng-scroll-track"),
|
|
188
188
|
thumb: this.querySelector(".ng-scroll-thumb"),
|
|
@@ -195,23 +195,23 @@ const Le = class Le extends HTMLElement {
|
|
|
195
195
|
e();
|
|
196
196
|
}
|
|
197
197
|
disconnectedCallback() {
|
|
198
|
-
t(this,
|
|
198
|
+
t(this, Z) && t(this, Z).disconnect();
|
|
199
199
|
}
|
|
200
200
|
};
|
|
201
|
-
B = new WeakMap(), P = new WeakMap(),
|
|
201
|
+
B = new WeakMap(), P = new WeakMap(), S = new WeakMap(), X = new WeakMap(), K = new WeakMap(), Z = new WeakMap(), Mt = new WeakMap(), G = new WeakMap(), It = new WeakMap(), c(Le, "NineTableHScrollBar");
|
|
202
202
|
let ae = Le;
|
|
203
203
|
customElements.get("nine-table-hscrollbar") || customElements.define("nine-table-hscrollbar", ae);
|
|
204
|
-
var j, ot,
|
|
204
|
+
var j, ot, J, q, xt, vt, _t;
|
|
205
205
|
const He = class He extends HTMLElement {
|
|
206
206
|
constructor() {
|
|
207
207
|
super();
|
|
208
208
|
d(this, j);
|
|
209
209
|
d(this, ot);
|
|
210
|
-
d(this,
|
|
210
|
+
d(this, J, !1);
|
|
211
211
|
d(this, q);
|
|
212
212
|
d(this, xt, 0);
|
|
213
213
|
d(this, vt, 0);
|
|
214
|
-
|
|
214
|
+
w(this, "refresh", /* @__PURE__ */ c(() => {
|
|
215
215
|
if (!t(this, j) || !t(this, q)) return;
|
|
216
216
|
const e = t(this, q).container, s = t(this, q).track, r = t(this, q).thumb, n = e.clientHeight, a = (t(this, j).data.get() || []).length, h = t(this, ot).getRowHeight(), l = a * h;
|
|
217
217
|
if (l <= n) {
|
|
@@ -235,12 +235,12 @@ const He = class He extends HTMLElement {
|
|
|
235
235
|
return n * o;
|
|
236
236
|
}, "getContentHeight");
|
|
237
237
|
e.addEventListener("scroll", () => {
|
|
238
|
-
t(this,
|
|
238
|
+
t(this, J) || this.refresh();
|
|
239
239
|
}), t(this, q).thumb.addEventListener("mousedown", (r) => {
|
|
240
240
|
if (r.button !== 0) return;
|
|
241
|
-
r.stopPropagation(), r.preventDefault(), b(this,
|
|
241
|
+
r.stopPropagation(), r.preventDefault(), b(this, J, !0), b(this, xt, r.clientY), b(this, vt, e.scrollTop);
|
|
242
242
|
const n = /* @__PURE__ */ c((a) => {
|
|
243
|
-
if (!t(this,
|
|
243
|
+
if (!t(this, J)) return;
|
|
244
244
|
const h = t(this, q).track.getBoundingClientRect(), l = t(this, q).thumb.clientHeight, u = h.height - l, p = a.clientY - t(this, xt), g = e.clientHeight, m = s(), v = Math.max(m - g, 1);
|
|
245
245
|
if (u > 0 && v > 0) {
|
|
246
246
|
const E = p / u * v;
|
|
@@ -250,7 +250,7 @@ const He = class He extends HTMLElement {
|
|
|
250
250
|
}
|
|
251
251
|
this.refresh();
|
|
252
252
|
}, "onMouseMove"), o = /* @__PURE__ */ c(() => {
|
|
253
|
-
b(this,
|
|
253
|
+
b(this, J, !1), document.removeEventListener("mousemove", n), document.removeEventListener("mouseup", o), this.refresh();
|
|
254
254
|
}, "onMouseUp");
|
|
255
255
|
document.addEventListener("mousemove", n), document.addEventListener("mouseup", o);
|
|
256
256
|
}), t(this, q).track.addEventListener("mousedown", (r) => {
|
|
@@ -350,10 +350,10 @@ const He = class He extends HTMLElement {
|
|
|
350
350
|
e();
|
|
351
351
|
}
|
|
352
352
|
};
|
|
353
|
-
j = new WeakMap(), ot = new WeakMap(),
|
|
353
|
+
j = new WeakMap(), ot = new WeakMap(), J = new WeakMap(), q = new WeakMap(), xt = new WeakMap(), vt = new WeakMap(), _t = new WeakMap(), c(He, "NineTableVScrollBar");
|
|
354
354
|
let le = He;
|
|
355
355
|
customElements.get("nine-table-vscrollbar") || customElements.define("nine-table-vscrollbar", le);
|
|
356
|
-
var D, A, z, H, F,
|
|
356
|
+
var D, A, z, H, F, Q, wt, at, Nt, Wt, Ot, St, Et, Bt, zt, At, Dt, lt, Rt, Pt;
|
|
357
357
|
const $e = class $e {
|
|
358
358
|
constructor(i) {
|
|
359
359
|
d(this, D);
|
|
@@ -361,16 +361,16 @@ const $e = class $e {
|
|
|
361
361
|
d(this, z, /* @__PURE__ */ new Map());
|
|
362
362
|
d(this, H, null);
|
|
363
363
|
d(this, F, null);
|
|
364
|
-
d(this,
|
|
364
|
+
d(this, Q, 0);
|
|
365
365
|
d(this, wt, 40);
|
|
366
366
|
d(this, at, !1);
|
|
367
367
|
d(this, Nt, 3);
|
|
368
|
-
|
|
368
|
+
w(this, "refresh", /* @__PURE__ */ c(() => {
|
|
369
369
|
var e;
|
|
370
370
|
const i = t(this, A).querySelector(".ng-container-body .ng-part-body");
|
|
371
371
|
i && (t(this, St).call(this), t(this, lt).call(this, i.scrollTop), (e = t(this, A).querySelector("nine-table-vscrollbar")) == null || e.refresh());
|
|
372
372
|
}, "refresh"));
|
|
373
|
-
|
|
373
|
+
w(this, "initialize", /* @__PURE__ */ c(() => {
|
|
374
374
|
b(this, H, null), t(this, z).clear(), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((r) => {
|
|
375
375
|
const n = t(this, A).querySelector(r);
|
|
376
376
|
if (!n) return;
|
|
@@ -439,8 +439,8 @@ const $e = class $e {
|
|
|
439
439
|
});
|
|
440
440
|
}, "#updateVirtualScrollHeight"));
|
|
441
441
|
d(this, Et, /* @__PURE__ */ c(() => {
|
|
442
|
-
if (t(this,
|
|
443
|
-
const i = Math.ceil(t(this,
|
|
442
|
+
if (t(this, Q) > 0 && t(this, H) > 0) {
|
|
443
|
+
const i = Math.ceil(t(this, Q) / t(this, H));
|
|
444
444
|
b(this, wt, i + t(this, Nt));
|
|
445
445
|
}
|
|
446
446
|
}, "#updateRowCount"));
|
|
@@ -482,7 +482,7 @@ const $e = class $e {
|
|
|
482
482
|
const o = s.querySelector(".ng-part-header"), a = s.querySelector(".ng-part-footer");
|
|
483
483
|
o && (n += o.offsetHeight), a && (n += a.offsetHeight);
|
|
484
484
|
const h = Math.max(r - n, 100);
|
|
485
|
-
t(this,
|
|
485
|
+
t(this, Q) !== h && (b(this, Q, h), t(this, Et).call(this), t(this, H) !== null && t(this, At).call(this));
|
|
486
486
|
}
|
|
487
487
|
}
|
|
488
488
|
})), t(this, F).observe(t(this, A)));
|
|
@@ -570,7 +570,7 @@ const $e = class $e {
|
|
|
570
570
|
g > 0 && (r[u] && (r[u].style.height = `${g}px`), n[u] && (n[u].style.height = `${g}px`), o[u] && (o[u].style.height = `${g}px`));
|
|
571
571
|
}
|
|
572
572
|
}, "#syncHeaderHeights"));
|
|
573
|
-
|
|
573
|
+
w(this, "destroy", /* @__PURE__ */ c(() => {
|
|
574
574
|
t(this, F) && (t(this, F).disconnect(), b(this, F, null));
|
|
575
575
|
}, "destroy"));
|
|
576
576
|
b(this, D, i.getRootNode().host), b(this, A, i), t(this, zt).call(this);
|
|
@@ -583,7 +583,7 @@ const $e = class $e {
|
|
|
583
583
|
return ((e = t(this, z).get(i)) == null ? void 0 : e.length) || 1;
|
|
584
584
|
}
|
|
585
585
|
};
|
|
586
|
-
D = new WeakMap(), A = new WeakMap(), z = new WeakMap(), H = new WeakMap(), F = new WeakMap(),
|
|
586
|
+
D = new WeakMap(), A = new WeakMap(), z = new WeakMap(), H = new WeakMap(), F = new WeakMap(), Q = new WeakMap(), wt = new WeakMap(), at = new WeakMap(), Nt = new WeakMap(), Wt = new WeakMap(), Ot = new WeakMap(), St = new WeakMap(), Et = new WeakMap(), Bt = new WeakMap(), zt = new WeakMap(), At = new WeakMap(), Dt = new WeakMap(), lt = new WeakMap(), Rt = new WeakMap(), Pt = new WeakMap(), c($e, "RowManager");
|
|
587
587
|
let ce = $e;
|
|
588
588
|
const jt = class jt {
|
|
589
589
|
/**
|
|
@@ -664,16 +664,16 @@ const jt = class jt {
|
|
|
664
664
|
};
|
|
665
665
|
c(jt, "TableCompiler");
|
|
666
666
|
let he = jt;
|
|
667
|
-
var Ft,
|
|
667
|
+
var Ft, tt, et, Vt, Yt, ct, Ut, Xt;
|
|
668
668
|
const yt = class yt extends HTMLElement {
|
|
669
669
|
constructor() {
|
|
670
670
|
super();
|
|
671
671
|
d(this, Ft);
|
|
672
|
-
d(this,
|
|
673
|
-
d(this,
|
|
674
|
-
|
|
672
|
+
d(this, tt, null);
|
|
673
|
+
d(this, et);
|
|
674
|
+
w(this, "invalidate", /* @__PURE__ */ c(() => {
|
|
675
675
|
var e, s;
|
|
676
|
-
t(this,
|
|
676
|
+
t(this, et).refresh(), (e = this.querySelector("nine-table-hscrollbar")) == null || e.refresh(), (s = this.querySelector("nine-table-vscrollbar")) == null || s.refresh();
|
|
677
677
|
}, "invalidate"));
|
|
678
678
|
d(this, Vt, /* @__PURE__ */ c(() => {
|
|
679
679
|
[
|
|
@@ -685,15 +685,15 @@ const yt = class yt extends HTMLElement {
|
|
|
685
685
|
if (!n) return;
|
|
686
686
|
n.innerHTML = "";
|
|
687
687
|
const o = document.createElement("div");
|
|
688
|
-
o.className = "ng-part-header", o.appendChild(t(this, ct).call(this, t(this,
|
|
688
|
+
o.className = "ng-part-header", o.appendChild(t(this, ct).call(this, t(this, tt), r, "header"));
|
|
689
689
|
const a = document.createElement("div");
|
|
690
690
|
a.className = "ng-part-body";
|
|
691
691
|
const h = document.createElement("div");
|
|
692
|
-
h.className = "ng-scroll-content", h.style.position = "relative", h.style.width = "100%", h.appendChild(t(this, ct).call(this, t(this,
|
|
692
|
+
h.className = "ng-scroll-content", h.style.position = "relative", h.style.width = "100%", h.appendChild(t(this, ct).call(this, t(this, tt), r, "body"));
|
|
693
693
|
const l = document.createElement("div");
|
|
694
694
|
l.className = "ng-virtual-spacer", l.style.width = "100%", l.style.pointerEvents = "none", h.appendChild(l), a.appendChild(h);
|
|
695
695
|
const f = document.createElement("div");
|
|
696
|
-
f.className = "ng-part-footer", f.appendChild(t(this, ct).call(this, t(this,
|
|
696
|
+
f.className = "ng-part-footer", f.appendChild(t(this, ct).call(this, t(this, tt), r, "footer")), n.appendChild(o), n.appendChild(a), n.appendChild(f);
|
|
697
697
|
});
|
|
698
698
|
}, "#renderSplitContainers"));
|
|
699
699
|
d(this, Yt, /* @__PURE__ */ c(() => {
|
|
@@ -707,8 +707,8 @@ const yt = class yt extends HTMLElement {
|
|
|
707
707
|
}), e === "body" ? s.style.flex = "1" : (s.style.flex = `0 0 ${n}px`, s.style.width = `${n}px`);
|
|
708
708
|
});
|
|
709
709
|
}, "#updateContainerWidths"));
|
|
710
|
-
|
|
711
|
-
e && (b(this,
|
|
710
|
+
w(this, "generate", /* @__PURE__ */ c((e) => {
|
|
711
|
+
e && (b(this, tt, he.compile(e)), t(this, Vt).call(this), t(this, Yt).call(this), t(this, et).initialize(), setTimeout(() => {
|
|
712
712
|
var s;
|
|
713
713
|
(s = this.querySelector("nine-table-hscrollbar")) == null || s.refresh();
|
|
714
714
|
}, 0));
|
|
@@ -729,12 +729,12 @@ const yt = class yt extends HTMLElement {
|
|
|
729
729
|
l.remove();
|
|
730
730
|
}), n;
|
|
731
731
|
}, "#createSplitTable"));
|
|
732
|
-
|
|
733
|
-
|
|
732
|
+
w(this, "getRowHeight", /* @__PURE__ */ c(() => t(this, et).getRowHeight(), "getRowHeight"));
|
|
733
|
+
w(this, "scrollToX", /* @__PURE__ */ c((e) => {
|
|
734
734
|
const s = this.querySelector(".ng-container-body .ng-part-body");
|
|
735
735
|
s && (s.scrollLeft = e);
|
|
736
736
|
}, "scrollToX"));
|
|
737
|
-
|
|
737
|
+
w(this, "scrollToY", /* @__PURE__ */ c((e) => {
|
|
738
738
|
const s = this.querySelector(".ng-container-body .ng-part-body");
|
|
739
739
|
s && (s.scrollTop = e);
|
|
740
740
|
}, "scrollToY"));
|
|
@@ -884,16 +884,16 @@ const yt = class yt extends HTMLElement {
|
|
|
884
884
|
</div>
|
|
885
885
|
`;
|
|
886
886
|
}, "#render"));
|
|
887
|
-
b(this,
|
|
887
|
+
b(this, et, new ce(this)), b(this, Ft, this.getRootNode().host);
|
|
888
888
|
}
|
|
889
889
|
connectedCallback() {
|
|
890
890
|
t(this, Ut).call(this);
|
|
891
891
|
}
|
|
892
892
|
disconnectedCallback() {
|
|
893
|
-
this.innerHTML = "",
|
|
893
|
+
this.innerHTML = "", U.log("NineTableSheet destroyed.");
|
|
894
894
|
}
|
|
895
895
|
};
|
|
896
|
-
Ft = new WeakMap(),
|
|
896
|
+
Ft = new WeakMap(), tt = new WeakMap(), et = new WeakMap(), Vt = new WeakMap(), Yt = new WeakMap(), ct = new WeakMap(), Ut = new WeakMap(), Xt = new WeakMap(), c(yt, "NineTableSheet"), w(yt, "SCROLLBAR_SIZE", 16);
|
|
897
897
|
let $t = yt;
|
|
898
898
|
customElements.get("nine-table-sheet") || customElements.define("nine-table-sheet", $t);
|
|
899
899
|
var Kt, qt;
|
|
@@ -1077,7 +1077,7 @@ const _e = class _e {
|
|
|
1077
1077
|
constructor(i) {
|
|
1078
1078
|
d(this, Tt);
|
|
1079
1079
|
d(this, ht, -1);
|
|
1080
|
-
|
|
1080
|
+
w(this, "count", /* @__PURE__ */ c(() => t(this, Tt).rawRecords.length, "count"));
|
|
1081
1081
|
b(this, Tt, i);
|
|
1082
1082
|
}
|
|
1083
1083
|
get at() {
|
|
@@ -1090,7 +1090,7 @@ const _e = class _e {
|
|
|
1090
1090
|
};
|
|
1091
1091
|
Tt = new WeakMap(), ht = new WeakMap(), c(_e, "ngRow");
|
|
1092
1092
|
let ue = _e;
|
|
1093
|
-
var I, k, _, dt, Jt, V, Qt,
|
|
1093
|
+
var I, k, _, dt, Jt, V, Qt, st, Ct, te, ee, ft;
|
|
1094
1094
|
const N = class N {
|
|
1095
1095
|
constructor(i, e) {
|
|
1096
1096
|
d(this, I);
|
|
@@ -1109,12 +1109,12 @@ const N = class N {
|
|
|
1109
1109
|
e.__ng || (e.__ng = t(this, Ct).call(this)), e.__ng.height = t(this, V).slice();
|
|
1110
1110
|
});
|
|
1111
1111
|
}, "#initialize"));
|
|
1112
|
-
d(this,
|
|
1112
|
+
d(this, st, /* @__PURE__ */ c(() => {
|
|
1113
1113
|
t(this, I).shadowRoot.querySelectorAll("nine-table-sheet").forEach((i) => {
|
|
1114
1114
|
i.invalidate();
|
|
1115
1115
|
});
|
|
1116
1116
|
}, "#invalidate"));
|
|
1117
|
-
|
|
1117
|
+
w(this, "get", /* @__PURE__ */ c((i, e) => {
|
|
1118
1118
|
var n;
|
|
1119
1119
|
const s = this.getValidData();
|
|
1120
1120
|
if (!s || s.length <= 0) return;
|
|
@@ -1127,8 +1127,8 @@ const N = class N {
|
|
|
1127
1127
|
}
|
|
1128
1128
|
return t(this, ft).call(this, s[i]);
|
|
1129
1129
|
}, "get"));
|
|
1130
|
-
|
|
1131
|
-
this.clear(), this.add(i, !1), t(this,
|
|
1130
|
+
w(this, "set", /* @__PURE__ */ c((i) => {
|
|
1131
|
+
this.clear(), this.add(i, !1), t(this, st).call(this);
|
|
1132
1132
|
}, "set"));
|
|
1133
1133
|
d(this, Ct, /* @__PURE__ */ c(() => ({
|
|
1134
1134
|
rowState: N.ROW_STATE.EMPTY,
|
|
@@ -1139,10 +1139,10 @@ const N = class N {
|
|
|
1139
1139
|
c: {},
|
|
1140
1140
|
_: [0, 0, 0, 0, N.ROW_STATE.EMPTY, !1, !1, !0, !1, !0, !0, !1, t(this, V).slice(), -1, {}, {}]
|
|
1141
1141
|
}), "#getDefaultMeta"));
|
|
1142
|
-
|
|
1143
|
-
b(this, _, []), b(this, dt, []), t(this,
|
|
1142
|
+
w(this, "reset", /* @__PURE__ */ c(() => {
|
|
1143
|
+
b(this, _, []), b(this, dt, []), t(this, st).call(this);
|
|
1144
1144
|
}, "reset"));
|
|
1145
|
-
|
|
1145
|
+
w(this, "clear", /* @__PURE__ */ c(() => {
|
|
1146
1146
|
var i;
|
|
1147
1147
|
t(this, k).rawRecords = [], b(this, _, []), b(this, dt, []), (i = t(this, k).viewRecords) != null && i.reset && t(this, k).viewRecords.reset();
|
|
1148
1148
|
}, "clear"));
|
|
@@ -1160,7 +1160,7 @@ const N = class N {
|
|
|
1160
1160
|
d(this, ee, /* @__PURE__ */ c((i) => (Array.isArray(i) || (i = [i]), i.forEach((e) => {
|
|
1161
1161
|
e.__ng = t(this, Ct).call(this), e.__ng.rowid = this.nextId, e.__ng.rowState = N.ROW_STATE.INSERT, e.__ng._[0] = e.__ng.rowid;
|
|
1162
1162
|
}), i), "#defaultInsert"));
|
|
1163
|
-
|
|
1163
|
+
w(this, "add", /* @__PURE__ */ c((i, e = !0) => {
|
|
1164
1164
|
i === void 0 && (i = {});
|
|
1165
1165
|
const s = t(this, te).call(this, i);
|
|
1166
1166
|
t(this, k).rawRecords = t(this, k).rawRecords.concat(t(this, ee).call(this, s)), this.resetRecords();
|
|
@@ -1168,9 +1168,9 @@ const N = class N {
|
|
|
1168
1168
|
return e || s.forEach((n, o) => {
|
|
1169
1169
|
const a = t(this, k).rawRecords[r - o];
|
|
1170
1170
|
a && (a.__ng.rowState = N.ROW_STATE.EMPTY);
|
|
1171
|
-
}), t(this,
|
|
1171
|
+
}), t(this, st).call(this), r;
|
|
1172
1172
|
}, "add"));
|
|
1173
|
-
|
|
1173
|
+
w(this, "delete", /* @__PURE__ */ c((i) => {
|
|
1174
1174
|
let e = [];
|
|
1175
1175
|
Array.isArray(i) ? e = i : typeof i > "u" ? e = [t(this, k).host.row.at] : e = [parseInt(i, 10)], e.sort((s, r) => r - s).forEach((s) => {
|
|
1176
1176
|
if (t(this, _)[s]) {
|
|
@@ -1179,9 +1179,9 @@ const N = class N {
|
|
|
1179
1179
|
n.__ng.rowid === r && (n.__ng.deleted = !0, n.__ng.rowState = N.ROW_STATE.DELETE);
|
|
1180
1180
|
});
|
|
1181
1181
|
}
|
|
1182
|
-
}), this.resetRecords(), t(this,
|
|
1182
|
+
}), this.resetRecords(), t(this, st).call(this);
|
|
1183
1183
|
}, "delete"));
|
|
1184
|
-
|
|
1184
|
+
w(this, "setValue", /* @__PURE__ */ c((i, e, s) => {
|
|
1185
1185
|
var h;
|
|
1186
1186
|
i = parseInt(i, 10);
|
|
1187
1187
|
const n = (typeof ((h = t(this, I).fields) == null ? void 0 : h.get) == "function" ? t(this, I).fields.get() : []).indexOf(e);
|
|
@@ -1191,14 +1191,14 @@ const N = class N {
|
|
|
1191
1191
|
const a = o.v[n];
|
|
1192
1192
|
a !== s && o.__ng.rowState !== N.ROW_STATE.INSERT && (o.__ng.o.hasOwnProperty(e) || (o.__ng.o[e] = a), o.__ng.rowState = N.ROW_STATE.UPDATE), o.v[n] = s;
|
|
1193
1193
|
}, "setValue"));
|
|
1194
|
-
|
|
1194
|
+
w(this, "resetRecords", /* @__PURE__ */ c(() => {
|
|
1195
1195
|
b(this, dt, t(this, k).rawRecords.filter((i) => !i.__ng.deleted)), b(this, _, t(this, k).rawRecords.filter((i) => !i.__ng.deleted && !i.__ng.filtered)), t(this, k).rawRecords.forEach((i, e) => {
|
|
1196
1196
|
i.__ng.rowidx = e;
|
|
1197
1197
|
}), t(this, _).forEach((i, e) => {
|
|
1198
1198
|
i.__ng.i = e;
|
|
1199
1199
|
});
|
|
1200
1200
|
}, "resetRecords"));
|
|
1201
|
-
|
|
1201
|
+
w(this, "getValidData", /* @__PURE__ */ c(() => (t(this, _).length === 0 && t(this, k).rawRecords.length > 0 && this.resetRecords(), t(this, _)), "getValidData"));
|
|
1202
1202
|
d(this, ft, /* @__PURE__ */ c((i) => {
|
|
1203
1203
|
var o;
|
|
1204
1204
|
if (!i) return i;
|
|
@@ -1210,7 +1210,7 @@ const N = class N {
|
|
|
1210
1210
|
});
|
|
1211
1211
|
return e ? n[0] : n;
|
|
1212
1212
|
}, "#conv"));
|
|
1213
|
-
|
|
1213
|
+
w(this, "count", /* @__PURE__ */ c(() => this.getValidData().length, "count"));
|
|
1214
1214
|
b(this, I, i), b(this, k, e), t(this, Qt).call(this);
|
|
1215
1215
|
}
|
|
1216
1216
|
get source() {
|
|
@@ -1229,8 +1229,8 @@ const N = class N {
|
|
|
1229
1229
|
return this.length;
|
|
1230
1230
|
}
|
|
1231
1231
|
};
|
|
1232
|
-
I = new WeakMap(), k = new WeakMap(), _ = new WeakMap(), dt = new WeakMap(), Jt = new WeakMap(), V = new WeakMap(), Qt = new WeakMap(),
|
|
1233
|
-
|
|
1232
|
+
I = new WeakMap(), k = new WeakMap(), _ = new WeakMap(), dt = new WeakMap(), Jt = new WeakMap(), V = new WeakMap(), Qt = new WeakMap(), st = new WeakMap(), Ct = new WeakMap(), te = new WeakMap(), ee = new WeakMap(), ft = new WeakMap(), c(N, "ngData"), // π― ν μν μ μ μμλ₯Ό ν΄λμ€ λ΄λΆλ‘ λ΄μ¬ν
|
|
1233
|
+
w(N, "ROW_STATE", {
|
|
1234
1234
|
EMPTY: "EMPTY",
|
|
1235
1235
|
NORMAL: "NORMAL",
|
|
1236
1236
|
INSERT: "INSERT",
|
|
@@ -1238,13 +1238,13 @@ S(N, "ROW_STATE", {
|
|
|
1238
1238
|
DELETE: "DELETE"
|
|
1239
1239
|
});
|
|
1240
1240
|
let ge = N;
|
|
1241
|
-
var
|
|
1241
|
+
var it;
|
|
1242
1242
|
const Ne = class Ne {
|
|
1243
1243
|
constructor(i) {
|
|
1244
|
-
d(this,
|
|
1245
|
-
b(this,
|
|
1244
|
+
d(this, it);
|
|
1245
|
+
b(this, it, i), this.row = new ue(this), this.data = new ge(t(this, it), this), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.pageCnt = 25, this.viewRecords.reset = () => {
|
|
1246
1246
|
var e;
|
|
1247
|
-
(e = t(this,
|
|
1247
|
+
(e = t(this, it).view) != null && e.redraw && t(this, it).view.redraw();
|
|
1248
1248
|
}, this.setDataSource = (e) => {
|
|
1249
1249
|
this.data && this.data.reset(), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.data.set(e || []);
|
|
1250
1250
|
}, this.getRowState = (e) => {
|
|
@@ -1259,7 +1259,7 @@ const Ne = class Ne {
|
|
|
1259
1259
|
}, this.setDataSource([]);
|
|
1260
1260
|
}
|
|
1261
1261
|
};
|
|
1262
|
-
|
|
1262
|
+
it = new WeakMap(), c(Ne, "ngDataManager");
|
|
1263
1263
|
let be = Ne;
|
|
1264
1264
|
var ut, L, Lt, se;
|
|
1265
1265
|
const We = class We {
|
|
@@ -1267,7 +1267,7 @@ const We = class We {
|
|
|
1267
1267
|
constructor(i) {
|
|
1268
1268
|
d(this, ut);
|
|
1269
1269
|
d(this, L, []);
|
|
1270
|
-
|
|
1270
|
+
w(this, "add", /* @__PURE__ */ c((i, e = "string") => {
|
|
1271
1271
|
i.forEach((s) => {
|
|
1272
1272
|
t(this, L).some((r) => r.name === s) || t(this, L).push({ name: s, type: e });
|
|
1273
1273
|
}), t(this, Lt).call(this);
|
|
@@ -1279,11 +1279,11 @@ const We = class We {
|
|
|
1279
1279
|
}), b(this, L, Array.from(i, ([e, s]) => ({ name: e, type: s }))), b(this, L, t(this, L).filter((e) => e.name !== "" && e.name !== "__ng")), t(this, L).sort((e, s) => e.name.length < s.name.length ? 1 : -1);
|
|
1280
1280
|
}, "#adjust"));
|
|
1281
1281
|
d(this, se, /* @__PURE__ */ c(() => {
|
|
1282
|
-
b(this, L, []),
|
|
1282
|
+
b(this, L, []), U.log(t(this, ut).querySelectorAll("table"));
|
|
1283
1283
|
const i = Array.from(t(this, ut).querySelectorAll("table"));
|
|
1284
1284
|
if (!(!i || i.length === 0)) {
|
|
1285
1285
|
for (const e of i)
|
|
1286
|
-
|
|
1286
|
+
U.log(e), $("[data-bind]", e).each((s, r) => {
|
|
1287
1287
|
const n = r.dataset.bind, o = r.getAttribute("data-type") || "string";
|
|
1288
1288
|
n && t(this, L).push({ name: n, type: o });
|
|
1289
1289
|
}), ["data-expr", "background-color", "color", "tooltip", "visible", "readonly", "enable-button", "enable-check", "class-expr", "icon-color", "icon-src"].forEach((s) => {
|
|
@@ -1334,38 +1334,38 @@ const We = class We {
|
|
|
1334
1334
|
};
|
|
1335
1335
|
ut = new WeakMap(), L = new WeakMap(), Lt = new WeakMap(), se = new WeakMap(), c(We, "ngFields");
|
|
1336
1336
|
let pe = We;
|
|
1337
|
-
var
|
|
1337
|
+
var rt, ie, re;
|
|
1338
1338
|
const Oe = class Oe extends HTMLElement {
|
|
1339
1339
|
constructor() {
|
|
1340
1340
|
super();
|
|
1341
1341
|
//#created = false;
|
|
1342
|
-
d(this,
|
|
1342
|
+
d(this, rt);
|
|
1343
1343
|
d(this, ie);
|
|
1344
1344
|
d(this, re, /* @__PURE__ */ c(() => {
|
|
1345
|
-
this.fields = new pe(this), b(this, ie, new fe(this)),
|
|
1345
|
+
this.fields = new pe(this), b(this, ie, new fe(this)), U.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } }));
|
|
1346
1346
|
}, "#init"));
|
|
1347
|
-
this.attachShadow({ mode: "open" }), b(this,
|
|
1347
|
+
this.attachShadow({ mode: "open" }), b(this, rt, new be(this));
|
|
1348
1348
|
}
|
|
1349
1349
|
connectedCallback() {
|
|
1350
1350
|
t(this, re).call(this);
|
|
1351
1351
|
}
|
|
1352
1352
|
disconnectedCallback() {
|
|
1353
|
-
|
|
1353
|
+
U.log("NineTable disconnected.");
|
|
1354
1354
|
}
|
|
1355
1355
|
// π― μΈλΆμμ grid.data.set(...) ννλ‘ μ κ·Όν μ μλλ‘ λ°μ΄ν° λ§€λμ μ€ν
|
|
1356
1356
|
get data() {
|
|
1357
|
-
return t(this,
|
|
1357
|
+
return t(this, rt).data;
|
|
1358
1358
|
}
|
|
1359
1359
|
// π― ν(row) κ΄λ ¨ μ μ΄ μ κ·Όμ μ€ν
|
|
1360
1360
|
get row() {
|
|
1361
|
-
return t(this,
|
|
1361
|
+
return t(this, rt).row;
|
|
1362
1362
|
}
|
|
1363
1363
|
// π― μ 체 λ°μ΄ν° λ§€λμ μ κ·Ό νμν κ²½μ°
|
|
1364
1364
|
get dataManager() {
|
|
1365
|
-
return t(this,
|
|
1365
|
+
return t(this, rt);
|
|
1366
1366
|
}
|
|
1367
1367
|
};
|
|
1368
|
-
|
|
1368
|
+
rt = new WeakMap(), ie = new WeakMap(), re = new WeakMap(), c(Oe, "NineTable");
|
|
1369
1369
|
let ye = Oe;
|
|
1370
1370
|
customElements.get("nine-table") || customElements.define("nine-table", ye);
|
|
1371
1371
|
const mt = class mt extends HTMLElement {
|
|
@@ -1379,7 +1379,7 @@ const mt = class mt extends HTMLElement {
|
|
|
1379
1379
|
connectedCallback() {
|
|
1380
1380
|
}
|
|
1381
1381
|
};
|
|
1382
|
-
c(mt, "BasicCellElement"),
|
|
1382
|
+
c(mt, "BasicCellElement"), w(mt, "_styleCache", /* @__PURE__ */ new Map()), w(mt, "_customStyleCache", /* @__PURE__ */ new Map());
|
|
1383
1383
|
let me = mt;
|
|
1384
1384
|
var T, Ht, y, Se, Ee, Ae, Re, qe;
|
|
1385
1385
|
const Be = class Be extends me {
|
|
@@ -1392,7 +1392,7 @@ const Be = class Be extends me {
|
|
|
1392
1392
|
d(this, Ee);
|
|
1393
1393
|
d(this, Ae);
|
|
1394
1394
|
d(this, Re);
|
|
1395
|
-
|
|
1395
|
+
w(this, "getDisplayText", /* @__PURE__ */ c((e) => {
|
|
1396
1396
|
if (t(this, y))
|
|
1397
1397
|
if (t(this, y).closest("tbody")) {
|
|
1398
1398
|
const s = t(this, y).closest("tr").data, r = parseInt(t(this, y).dataset.row);
|
|
@@ -1412,10 +1412,10 @@ const Be = class Be extends me {
|
|
|
1412
1412
|
} catch {
|
|
1413
1413
|
}
|
|
1414
1414
|
}, "getDisplayText"));
|
|
1415
|
-
|
|
1416
|
-
|
|
1415
|
+
w(this, "reset", /* @__PURE__ */ c(() => {
|
|
1416
|
+
U.log("super reset"), parseInt(t(this, y).dataset.row);
|
|
1417
1417
|
const e = t(this, Ht).data;
|
|
1418
|
-
|
|
1418
|
+
U.log(e);
|
|
1419
1419
|
}, "reset"));
|
|
1420
1420
|
d(this, qe, /* @__PURE__ */ c(() => {
|
|
1421
1421
|
if (!(!t(this, T) || !t(this, T).template || !t(this, y).closest("tbody.bindable"))) {
|
|
@@ -1446,7 +1446,7 @@ const Be = class Be extends me {
|
|
|
1446
1446
|
}
|
|
1447
1447
|
}
|
|
1448
1448
|
}, "#resetSuppress"));
|
|
1449
|
-
|
|
1449
|
+
w(this, "getExprValue", /* @__PURE__ */ c((e, s, r, n) => {
|
|
1450
1450
|
if (typeof e < "u")
|
|
1451
1451
|
try {
|
|
1452
1452
|
r = parseInt(r);
|
|
@@ -1483,6 +1483,9 @@ let xe = Be;
|
|
|
1483
1483
|
const ze = class ze extends xe {
|
|
1484
1484
|
constructor() {
|
|
1485
1485
|
super();
|
|
1486
|
+
w(this, "reset", /* @__PURE__ */ c(() => {
|
|
1487
|
+
U.log("editable reset"), super.reset();
|
|
1488
|
+
}, "reset"));
|
|
1486
1489
|
}
|
|
1487
1490
|
connectedCallback() {
|
|
1488
1491
|
super.connectedCallback();
|
|
@@ -1490,17 +1493,17 @@ const ze = class ze extends xe {
|
|
|
1490
1493
|
};
|
|
1491
1494
|
c(ze, "EditableCellElement");
|
|
1492
1495
|
let ve = ze;
|
|
1493
|
-
var ke,
|
|
1496
|
+
var ke, nt, gt, bt, ne, Y, Te;
|
|
1494
1497
|
const De = class De extends ve {
|
|
1495
1498
|
constructor() {
|
|
1496
1499
|
super();
|
|
1497
1500
|
d(this, ke);
|
|
1498
|
-
d(this,
|
|
1501
|
+
d(this, nt);
|
|
1499
1502
|
d(this, gt);
|
|
1500
1503
|
d(this, bt);
|
|
1501
1504
|
d(this, ne);
|
|
1502
1505
|
d(this, Y);
|
|
1503
|
-
|
|
1506
|
+
w(this, "reset", /* @__PURE__ */ c(() => {
|
|
1504
1507
|
super.reset(), trace.log("input reset");
|
|
1505
1508
|
}, "reset"));
|
|
1506
1509
|
/**
|
|
@@ -1535,7 +1538,7 @@ const De = class De extends ve {
|
|
|
1535
1538
|
*/
|
|
1536
1539
|
d(this, Te, /* @__PURE__ */ c((e) => {
|
|
1537
1540
|
if (!["Escape", "Enter", "Tab", "Home", "End", "ArrowLeft", "ArrowRight", "PageUp", "PageDown", "Backspace", "Delete"].includes(e.code)) {
|
|
1538
|
-
if (t(this,
|
|
1541
|
+
if (t(this, nt) == "number") {
|
|
1539
1542
|
let n = [];
|
|
1540
1543
|
if (t(this, Y) && Number(t(this, Y)) > 0 && n.push("."), t(this, bt) && Number(t(this, bt)) >= 0 && n.push("-"), !(e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105) && !n.includes(e.key) && e.preventDefault(), t(this, Y) && (e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105) && e.target.selectionStart == e.target.selectionEnd) {
|
|
1541
1544
|
var s = e.target.value, r = s.indexOf(".");
|
|
@@ -1548,7 +1551,7 @@ const De = class De extends ve {
|
|
|
1548
1551
|
t(this, gt) && ninegrid.getByteLength(e.target.value) >= Number(t(this, gt)) && e.target.selectionStart == e.target.selectionEnd && e.preventDefault();
|
|
1549
1552
|
}
|
|
1550
1553
|
}, "#onKeyDown"));
|
|
1551
|
-
if (this.applyBaseStyle(), b(this,
|
|
1554
|
+
if (this.applyBaseStyle(), b(this, nt, this.getAttribute("type") || "text"), b(this, gt, this.getAttribute("maxbyte")), b(this, bt, this.getAttribute("min")), b(this, ne, this.getAttribute("max")), b(this, Y, this.getAttribute("scale")), !["text", "number"].includes(t(this, nt))) throw `invalid type : ${t(this, nt)}`;
|
|
1552
1555
|
}
|
|
1553
1556
|
connectedCallback() {
|
|
1554
1557
|
for (var e = [], s = 0; s < this.attributes.length; s++)
|
|
@@ -1561,7 +1564,7 @@ const De = class De extends ve {
|
|
|
1561
1564
|
`, super.connectedCallback();
|
|
1562
1565
|
}
|
|
1563
1566
|
};
|
|
1564
|
-
ke = new WeakMap(),
|
|
1567
|
+
ke = new WeakMap(), nt = new WeakMap(), gt = new WeakMap(), bt = new WeakMap(), ne = new WeakMap(), Y = new WeakMap(), Te = new WeakMap(), c(De, "CellInputText");
|
|
1565
1568
|
let we = De;
|
|
1566
1569
|
customElements.get("cell-input-text");
|
|
1567
1570
|
customElements.get("cell-input") || customElements.define("cell-input", we);
|