@updog/data-editor-wc 0.1.50 → 0.1.52
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/index.css +1 -1
- package/index.d.ts +6 -0
- package/index.js +889 -636
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -8413,6 +8413,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
|
|
|
8413
8413
|
steps: {
|
|
8414
8414
|
selectFiles: "Select files",
|
|
8415
8415
|
sheetSelection: "Select sheet",
|
|
8416
|
+
headerSelection: "Header selection",
|
|
8416
8417
|
matchColumns: "Match columns",
|
|
8417
8418
|
matchValues: "Match values",
|
|
8418
8419
|
primaryKey: "Primary key"
|
|
@@ -8432,12 +8433,15 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
|
|
|
8432
8433
|
emptyData: "The source returned no data",
|
|
8433
8434
|
fetchError: "Failed to load data"
|
|
8434
8435
|
},
|
|
8436
|
+
headerSelection: { noHeaderLabel: "My data has no header row" },
|
|
8435
8437
|
matchColumns: {
|
|
8436
8438
|
banner: "Some columns could not be automatically matched",
|
|
8437
8439
|
importedColumns: "Imported columns",
|
|
8438
8440
|
matchedCount: "{{matched}}/{{total}} matched",
|
|
8439
8441
|
targetColumns: "Target columns",
|
|
8440
8442
|
selectColumnPlaceholder: "Select column",
|
|
8443
|
+
syntheticColumn: "C{{index}}",
|
|
8444
|
+
syntheticColumnValue: "C{{index}}: {{value}}",
|
|
8441
8445
|
bestMatch: "Best match",
|
|
8442
8446
|
createColumn: "Create column",
|
|
8443
8447
|
createColumnNameLabel: "Column name",
|
|
@@ -33311,82 +33315,94 @@ function $_(e, t, n) {
|
|
|
33311
33315
|
}
|
|
33312
33316
|
//#endregion
|
|
33313
33317
|
//#region src/components/PreviewTable/index.tsx
|
|
33314
|
-
var ev = 15, tv = { width: 1 }, nv = { height: 1 }, rv = ({ headers: e, rows: t, lockedColumns: n, displayRows: r = ev, blur: i = !0, scrollbars: a = !0,
|
|
33315
|
-
let
|
|
33318
|
+
var ev = 15, tv = { width: 1 }, nv = { height: 1 }, rv = ({ headers: e, rows: t, lockedColumns: n, displayRows: r = ev, blur: i = !0, scrollbars: a = !0, selectedRow: o, onSelectRow: s, className: c }) => {
|
|
33319
|
+
let l = e ? e.length : Math.max(0, ...t.map((e) => e?.length ?? 0)), u = Array.from({ length: r }, (e, n) => t[n]), d = a === !0, f = a === !0 || a === "empty", p = (0, y.useRef)(null), m = (0, y.useRef)(null), h = (0, y.useRef)(null), g = (0, y.useRef)(null), _ = (0, y.useRef)(null), v = (0, y.useRef)(null), [b, x] = (0, y.useState)(!1), [S, C] = (0, y.useState)(!1);
|
|
33316
33320
|
(0, y.useEffect)(() => {
|
|
33317
|
-
if (!
|
|
33318
|
-
let e =
|
|
33321
|
+
if (!d) return;
|
|
33322
|
+
let e = p.current, t = h.current, n = g.current, r = _.current, i = v.current;
|
|
33319
33323
|
if (!e) return;
|
|
33320
33324
|
let a = () => {
|
|
33321
33325
|
let a = e.scrollHeight - e.clientHeight, o = e.scrollWidth - e.clientWidth;
|
|
33322
|
-
t && r && (r.style.height = a + t.clientHeight + "px"), n && i && (i.style.width = o + n.clientWidth + "px"),
|
|
33326
|
+
t && r && (r.style.height = a + t.clientHeight + "px"), n && i && (i.style.width = o + n.clientWidth + "px"), C(a > 0), x(o > 0);
|
|
33323
33327
|
}, o = new ResizeObserver(a);
|
|
33324
|
-
o.observe(e),
|
|
33328
|
+
o.observe(e), m.current && o.observe(m.current), a();
|
|
33325
33329
|
let s = (e) => {
|
|
33326
33330
|
e.preventDefault(), t && (t.scrollTop += e.deltaY), n && (n.scrollLeft += e.deltaX);
|
|
33327
33331
|
};
|
|
33328
33332
|
e.addEventListener("wheel", s, { passive: !1 });
|
|
33329
33333
|
let c = () => {
|
|
33330
33334
|
t && (e.scrollTop = t.scrollTop);
|
|
33331
|
-
},
|
|
33335
|
+
}, l = () => {
|
|
33332
33336
|
n && (e.scrollLeft = n.scrollLeft);
|
|
33333
33337
|
};
|
|
33334
|
-
return t?.addEventListener("scroll", c, { passive: !0 }), n?.addEventListener("scroll",
|
|
33335
|
-
o.disconnect(), e.removeEventListener("wheel", s), t?.removeEventListener("scroll", c), n?.removeEventListener("scroll",
|
|
33338
|
+
return t?.addEventListener("scroll", c, { passive: !0 }), n?.addEventListener("scroll", l, { passive: !0 }), () => {
|
|
33339
|
+
o.disconnect(), e.removeEventListener("wheel", s), t?.removeEventListener("scroll", c), n?.removeEventListener("scroll", l);
|
|
33336
33340
|
};
|
|
33337
|
-
}, [
|
|
33338
|
-
let
|
|
33341
|
+
}, [d]);
|
|
33342
|
+
let w = (0, y.useCallback)((e) => {
|
|
33343
|
+
s?.(Number(e.currentTarget.dataset.rowIndex));
|
|
33344
|
+
}, [s]), T = (0, y.useCallback)((e) => {
|
|
33345
|
+
e.key !== "Enter" && e.key !== " " || (e.preventDefault(), s?.(Number(e.currentTarget.dataset.rowIndex)));
|
|
33346
|
+
}, [s]), E = (0, y.useMemo)(() => ({ gridTemplateColumns: `var(--marker-width) repeat(${Math.max(l, 1)}, auto)` }), [l]);
|
|
33339
33347
|
return /* @__PURE__ */ (0, O.jsxs)("div", {
|
|
33340
|
-
className: N("updog__preview-table", a === !1 ? "updog__preview-table--scrollbars-none" : a === "empty" ? "updog__preview-table--scrollbars-empty" : "updog__preview-table--scrollbars-show",
|
|
33348
|
+
className: N("updog__preview-table", a === !1 ? "updog__preview-table--scrollbars-none" : a === "empty" ? "updog__preview-table--scrollbars-empty" : "updog__preview-table--scrollbars-show", d && !b && "updog__preview-table--no-hscroll", d && !S && "updog__preview-table--no-vscroll", c),
|
|
33341
33349
|
children: [
|
|
33342
33350
|
/* @__PURE__ */ (0, O.jsx)("div", {
|
|
33343
33351
|
className: "updog__preview-table__canvas-wrap",
|
|
33344
33352
|
children: /* @__PURE__ */ (0, O.jsx)("div", {
|
|
33345
33353
|
className: "updog__preview-table__scroll",
|
|
33346
|
-
ref:
|
|
33354
|
+
ref: p,
|
|
33347
33355
|
children: /* @__PURE__ */ (0, O.jsxs)("div", {
|
|
33348
33356
|
className: "updog__preview-table__grid",
|
|
33349
|
-
style:
|
|
33350
|
-
ref:
|
|
33351
|
-
children: [
|
|
33352
|
-
|
|
33353
|
-
|
|
33354
|
-
className:
|
|
33355
|
-
children:
|
|
33356
|
-
|
|
33357
|
-
|
|
33358
|
-
|
|
33359
|
-
|
|
33360
|
-
|
|
33361
|
-
|
|
33362
|
-
|
|
33363
|
-
|
|
33364
|
-
|
|
33365
|
-
|
|
33366
|
-
|
|
33367
|
-
|
|
33368
|
-
|
|
33369
|
-
|
|
33370
|
-
|
|
33357
|
+
style: E,
|
|
33358
|
+
ref: m,
|
|
33359
|
+
children: [e !== void 0 && /* @__PURE__ */ (0, O.jsxs)(O.Fragment, { children: [/* @__PURE__ */ (0, O.jsx)("div", { className: "updog__preview-table-marker" }), l === 0 ? /* @__PURE__ */ (0, O.jsx)("div", { className: N("updog__preview-table-th", "updog__preview-table-cell--last-col") }) : e.map((e, t) => /* @__PURE__ */ (0, O.jsxs)("div", {
|
|
33360
|
+
className: N("updog__preview-table-th", t === l - 1 && "updog__preview-table-cell--last-col"),
|
|
33361
|
+
children: [/* @__PURE__ */ (0, O.jsx)("span", {
|
|
33362
|
+
className: "updog__preview-table-th__label",
|
|
33363
|
+
children: e
|
|
33364
|
+
}), n?.[t] && /* @__PURE__ */ (0, O.jsx)(we, {
|
|
33365
|
+
size: "0.875rem",
|
|
33366
|
+
className: "updog__preview-table-th__lock-icon"
|
|
33367
|
+
})]
|
|
33368
|
+
}, t))] }), u.map((e, t) => {
|
|
33369
|
+
let n = t === r - 1, i = !!s && e !== void 0, a = o === t;
|
|
33370
|
+
return /* @__PURE__ */ (0, O.jsxs)("div", {
|
|
33371
|
+
className: N("updog__preview-table-row", i && "updog__preview-table-row--interactive", a && "updog__preview-table-row--selected"),
|
|
33372
|
+
"data-row-index": t,
|
|
33373
|
+
role: i ? "row" : void 0,
|
|
33374
|
+
tabIndex: i ? 0 : void 0,
|
|
33375
|
+
"aria-selected": i ? a : void 0,
|
|
33376
|
+
onClick: i ? w : void 0,
|
|
33377
|
+
onKeyDown: i ? T : void 0,
|
|
33378
|
+
children: [/* @__PURE__ */ (0, O.jsx)("div", {
|
|
33379
|
+
className: N("updog__preview-table-marker", n && "updog__preview-table-cell--last-row"),
|
|
33380
|
+
children: t + 1
|
|
33381
|
+
}), l === 0 ? /* @__PURE__ */ (0, O.jsx)("div", { className: N("updog__preview-table-td", "updog__preview-table-cell--last-col", n && "updog__preview-table-cell--last-row") }) : Array.from({ length: l }, (t, r) => /* @__PURE__ */ (0, O.jsx)("div", {
|
|
33382
|
+
className: N("updog__preview-table-td", r === l - 1 && "updog__preview-table-cell--last-col", n && "updog__preview-table-cell--last-row"),
|
|
33383
|
+
children: e?.[r] ?? ""
|
|
33384
|
+
}, r))]
|
|
33385
|
+
}, t);
|
|
33386
|
+
})]
|
|
33371
33387
|
})
|
|
33372
33388
|
})
|
|
33373
33389
|
}),
|
|
33374
|
-
|
|
33390
|
+
f && /* @__PURE__ */ (0, O.jsxs)(O.Fragment, { children: [
|
|
33375
33391
|
/* @__PURE__ */ (0, O.jsx)("div", {
|
|
33376
33392
|
className: "updog__preview-table__vtrack",
|
|
33377
|
-
ref:
|
|
33393
|
+
ref: h,
|
|
33378
33394
|
tabIndex: -1,
|
|
33379
33395
|
children: /* @__PURE__ */ (0, O.jsx)("div", {
|
|
33380
|
-
ref:
|
|
33396
|
+
ref: _,
|
|
33381
33397
|
style: tv
|
|
33382
33398
|
})
|
|
33383
33399
|
}),
|
|
33384
33400
|
/* @__PURE__ */ (0, O.jsx)("div", {
|
|
33385
33401
|
className: "updog__preview-table__htrack",
|
|
33386
|
-
ref:
|
|
33402
|
+
ref: g,
|
|
33387
33403
|
tabIndex: -1,
|
|
33388
33404
|
children: /* @__PURE__ */ (0, O.jsx)("div", {
|
|
33389
|
-
ref:
|
|
33405
|
+
ref: v,
|
|
33390
33406
|
style: nv
|
|
33391
33407
|
})
|
|
33392
33408
|
}),
|
|
@@ -45799,7 +45815,7 @@ var gj = ({ text: e, onSelect: t }) => /* @__PURE__ */ (0, O.jsx)(ot, {
|
|
|
45799
45815
|
return this.state.hasError ? /* @__PURE__ */ (0, O.jsx)(Dj, { error: Oj }) : this.props.children;
|
|
45800
45816
|
}
|
|
45801
45817
|
}, Aj = ({ leftSlot: e }) => {
|
|
45802
|
-
let { variant: t, setShowUploader: n } = th(), { t: r } = j(), { isFirstStep: i, isLastStep: a, nextStep: o, prevStep: s, onImport: c, parsedCsv: l, xlsxFile: u, isParsing: d, isImporting: f, steps: p, activeStepIndex: m, selectedSheet: h, handleSheetConfirmed: g, remoteSourceLoading: _ } =
|
|
45818
|
+
let { variant: t, setShowUploader: n } = th(), { t: r } = j(), { isFirstStep: i, isLastStep: a, nextStep: o, prevStep: s, onImport: c, parsedCsv: l, xlsxFile: u, isParsing: d, isImporting: f, steps: p, activeStepIndex: m, selectedSheet: h, handleSheetConfirmed: g, remoteSourceLoading: _ } = XN(), v = i && t === "editor", b = (0, y.useCallback)(() => {
|
|
45803
45819
|
n(!1);
|
|
45804
45820
|
}, [n]), x = p[m]?.id === "sheet-selection", S = (0, y.useCallback)(() => {
|
|
45805
45821
|
a ? c() : x ? g() : o();
|
|
@@ -46568,15 +46584,17 @@ var gj = ({ text: e, onSelect: t }) => /* @__PURE__ */ (0, O.jsx)(ot, {
|
|
|
46568
46584
|
}
|
|
46569
46585
|
return i;
|
|
46570
46586
|
}, Qj = () => {
|
|
46571
|
-
let { columns: e, enableCreateColumn: t, synonyms: n } = th(), { t: r } = j(), {
|
|
46572
|
-
|
|
46573
|
-
|
|
46587
|
+
let { columns: e, enableCreateColumn: t, synonyms: n } = th(), { t: r } = j(), { headers: i, columnMapping: a, updateColumnMapping: o, pendingColumns: s, setPendingColumns: c } = XN(), [l, u] = (0, y.useState)(null), d = (0, y.useRef)(null), f = (0, y.useMemo)(() => Zj(i, e, n), [
|
|
46588
|
+
i,
|
|
46589
|
+
e,
|
|
46590
|
+
n
|
|
46591
|
+
]), p = (0, y.useCallback)((e, t) => {
|
|
46574
46592
|
if (t === "action:create") {
|
|
46575
46593
|
d.current = e, u({ title: e });
|
|
46576
46594
|
return;
|
|
46577
46595
|
}
|
|
46578
46596
|
o(e, t);
|
|
46579
|
-
}, [o]),
|
|
46597
|
+
}, [o]), m = (0, y.useCallback)((e) => {
|
|
46580
46598
|
if (d.current === null) return;
|
|
46581
46599
|
let t = Math.random().toString(36).slice(2, 7), n = `${ad}${e.title}-${t}`;
|
|
46582
46600
|
c((t) => [...t, {
|
|
@@ -46584,59 +46602,64 @@ var gj = ({ text: e, onSelect: t }) => /* @__PURE__ */ (0, O.jsx)(ot, {
|
|
|
46584
46602
|
id: n,
|
|
46585
46603
|
size: 150
|
|
46586
46604
|
}]), o(d.current, n), d.current = null, u(null);
|
|
46587
|
-
}, [o, c]),
|
|
46605
|
+
}, [o, c]), h = (0, y.useCallback)(() => {
|
|
46588
46606
|
d.current = null, u(null);
|
|
46589
|
-
}, []),
|
|
46607
|
+
}, []), g = (0, y.useMemo)(() => [...e.map((e) => e.title), ...s.map((e) => e.title)], [e, s]), _ = (0, y.useMemo)(() => {
|
|
46590
46608
|
let n = {
|
|
46591
46609
|
text: r("dataEditor.uploader.matchColumns.bestMatch"),
|
|
46592
46610
|
color: "green"
|
|
46593
|
-
},
|
|
46611
|
+
}, a = {
|
|
46594
46612
|
text: r("dataEditor.uploader.matchColumns.newColumnTag"),
|
|
46595
46613
|
color: "blue"
|
|
46596
|
-
},
|
|
46597
|
-
return Object.fromEntries(
|
|
46598
|
-
let
|
|
46614
|
+
}, o = r("dataEditor.uploader.matchColumns.createColumn");
|
|
46615
|
+
return Object.fromEntries(i.map((r) => {
|
|
46616
|
+
let i = f[r], c = e.map((e) => ({
|
|
46599
46617
|
id: e.id,
|
|
46600
46618
|
text: e.title,
|
|
46601
|
-
...e.id ===
|
|
46619
|
+
...e.id === i && { tag: n }
|
|
46602
46620
|
}));
|
|
46603
46621
|
for (let e of s) c.push({
|
|
46604
46622
|
id: e.id,
|
|
46605
46623
|
text: e.title,
|
|
46606
|
-
tag:
|
|
46624
|
+
tag: a
|
|
46607
46625
|
});
|
|
46608
46626
|
return t && c.push({
|
|
46609
46627
|
id: `${r}_d`,
|
|
46610
46628
|
type: "divider"
|
|
46611
46629
|
}, {
|
|
46612
46630
|
id: qj,
|
|
46613
|
-
text:
|
|
46631
|
+
text: o,
|
|
46614
46632
|
icon: /* @__PURE__ */ (0, O.jsx)(Ae, { size: "1rem" })
|
|
46615
46633
|
}), [r, c];
|
|
46616
46634
|
}));
|
|
46617
46635
|
}, [
|
|
46618
|
-
|
|
46636
|
+
i,
|
|
46619
46637
|
e,
|
|
46620
46638
|
s,
|
|
46621
46639
|
r,
|
|
46622
|
-
t
|
|
46623
|
-
|
|
46640
|
+
t,
|
|
46641
|
+
f
|
|
46642
|
+
]), v = (0, y.useMemo)(() => i.filter((e) => a[e]).length, [i, a]);
|
|
46624
46643
|
return {
|
|
46625
|
-
headers:
|
|
46626
|
-
matchedCount:
|
|
46627
|
-
allMatched:
|
|
46644
|
+
headers: i,
|
|
46645
|
+
matchedCount: v,
|
|
46646
|
+
allMatched: v === i.length,
|
|
46628
46647
|
placeholder: r("dataEditor.uploader.matchColumns.selectColumnPlaceholder"),
|
|
46629
|
-
existingNames:
|
|
46648
|
+
existingNames: g,
|
|
46630
46649
|
createModalValues: l,
|
|
46631
46650
|
getRowData: (0, y.useCallback)((e) => ({
|
|
46632
46651
|
mappedValue: a[e],
|
|
46633
|
-
options:
|
|
46634
|
-
autoMatchId:
|
|
46635
|
-
}), [
|
|
46636
|
-
|
|
46652
|
+
options: _[e],
|
|
46653
|
+
autoMatchId: f[e]
|
|
46654
|
+
}), [
|
|
46655
|
+
a,
|
|
46656
|
+
_,
|
|
46657
|
+
f
|
|
46658
|
+
]),
|
|
46659
|
+
onSelectChange: p,
|
|
46637
46660
|
onClear: o,
|
|
46638
|
-
submitCreate:
|
|
46639
|
-
closeCreate:
|
|
46661
|
+
submitCreate: m,
|
|
46662
|
+
closeCreate: h
|
|
46640
46663
|
};
|
|
46641
46664
|
}, $j = (0, y.createContext)(null);
|
|
46642
46665
|
function eM({ children: e }) {
|
|
@@ -46780,12 +46803,208 @@ var tM = () => {
|
|
|
46780
46803
|
/* @__PURE__ */ (0, O.jsx)(aM, {})
|
|
46781
46804
|
]
|
|
46782
46805
|
}), sM = () => {
|
|
46783
|
-
let { parsedCsv: e } =
|
|
46806
|
+
let { parsedCsv: e } = XN();
|
|
46784
46807
|
return e ? /* @__PURE__ */ (0, O.jsx)(sh, { children: /* @__PURE__ */ (0, O.jsxs)(ah, { children: [/* @__PURE__ */ (0, O.jsx)("div", {
|
|
46785
46808
|
className: "updog__step-column-matching__content updog__scrollbar",
|
|
46786
46809
|
children: /* @__PURE__ */ (0, O.jsx)(eM, { children: /* @__PURE__ */ (0, O.jsx)(oM, {}) })
|
|
46787
46810
|
}), /* @__PURE__ */ (0, O.jsx)(Aj, {})] }) }) : null;
|
|
46788
|
-
}, cM = (
|
|
46811
|
+
}, cM = new Set([
|
|
46812
|
+
"true",
|
|
46813
|
+
"false",
|
|
46814
|
+
"yes",
|
|
46815
|
+
"no"
|
|
46816
|
+
]), lM = /^\d{1,4}[-/.]\d{1,2}[-/.]\d{1,4}$/, uM = /^[-+]?(\d{1,3}([ ,.]\d{3})+|\d+)([.,]\d+)?%?$/, dM = new Set([
|
|
46817
|
+
"number",
|
|
46818
|
+
"date",
|
|
46819
|
+
"bool"
|
|
46820
|
+
]);
|
|
46821
|
+
function fM(e) {
|
|
46822
|
+
if (e == null) return "empty";
|
|
46823
|
+
let t = String(e).trim();
|
|
46824
|
+
return t.length === 0 ? "empty" : cM.has(t.toLowerCase()) ? "bool" : lM.test(t) ? "date" : uM.test(t) ? "number" : "text";
|
|
46825
|
+
}
|
|
46826
|
+
function pM(e) {
|
|
46827
|
+
return e.filter((e) => e != null && String(e).trim().length > 0).length;
|
|
46828
|
+
}
|
|
46829
|
+
function mM(e) {
|
|
46830
|
+
let t = /* @__PURE__ */ new Map(), n = 0, r = 0;
|
|
46831
|
+
for (let i of e) {
|
|
46832
|
+
let e = pM(i);
|
|
46833
|
+
if (e === 0) continue;
|
|
46834
|
+
let a = (t.get(e) ?? 0) + 1;
|
|
46835
|
+
t.set(e, a), a > n && (n = a, r = e);
|
|
46836
|
+
}
|
|
46837
|
+
return r;
|
|
46838
|
+
}
|
|
46839
|
+
function hM(e) {
|
|
46840
|
+
let t = 0;
|
|
46841
|
+
for (let n of e) t = Math.max(t, n.length);
|
|
46842
|
+
return t;
|
|
46843
|
+
}
|
|
46844
|
+
function gM(e, t, n) {
|
|
46845
|
+
if (t <= 0) return 0;
|
|
46846
|
+
let r = -1, i = 0;
|
|
46847
|
+
for (let a = 0; a < e.length; a++) if (pM(e[a]) === t) {
|
|
46848
|
+
if (r < 0 && (r = a), i++, i >= n) return r;
|
|
46849
|
+
} else r = -1, i = 0;
|
|
46850
|
+
for (let n = 0; n < e.length; n++) if (pM(e[n]) === t) return n;
|
|
46851
|
+
return 0;
|
|
46852
|
+
}
|
|
46853
|
+
function _M(e, t, n, r) {
|
|
46854
|
+
let i = /* @__PURE__ */ new Map();
|
|
46855
|
+
for (let a = t; a < n; a++) {
|
|
46856
|
+
let t = fM(e[a]?.[r]);
|
|
46857
|
+
t !== "empty" && i.set(t, (i.get(t) ?? 0) + 1);
|
|
46858
|
+
}
|
|
46859
|
+
let a = "empty", o = 0;
|
|
46860
|
+
for (let [e, t] of i) t > o && (o = t, a = e);
|
|
46861
|
+
return a;
|
|
46862
|
+
}
|
|
46863
|
+
function vM(e, t, n, r) {
|
|
46864
|
+
let i = 0, a = 0;
|
|
46865
|
+
for (let o = 0; o < r; o++) {
|
|
46866
|
+
let r = _M(e, t + 1, n, o);
|
|
46867
|
+
r !== "empty" && (a++, fM(e[t]?.[o]) === "text" && dM.has(r) && i++);
|
|
46868
|
+
}
|
|
46869
|
+
return a === 0 ? 0 : i / a;
|
|
46870
|
+
}
|
|
46871
|
+
function yM(e, t, n, r) {
|
|
46872
|
+
let i = 0, a = 0;
|
|
46873
|
+
for (let o = 0; o < r; o++) {
|
|
46874
|
+
let r = _M(e, t, n, o);
|
|
46875
|
+
if (r !== "empty") for (let s = t; s < n; s++) {
|
|
46876
|
+
let t = fM(e[s]?.[o]);
|
|
46877
|
+
t !== "empty" && (a++, t === r && i++);
|
|
46878
|
+
}
|
|
46879
|
+
}
|
|
46880
|
+
return a === 0 ? 0 : i / a;
|
|
46881
|
+
}
|
|
46882
|
+
function bM(e) {
|
|
46883
|
+
let t = e.map(fM).filter((e) => e !== "empty");
|
|
46884
|
+
return t.length === 0 ? 0 : 1 - t.filter((e) => e !== "text").length / t.length;
|
|
46885
|
+
}
|
|
46886
|
+
function xM(e, t) {
|
|
46887
|
+
if (t <= 0) return 0;
|
|
46888
|
+
let n = pM(e);
|
|
46889
|
+
return Math.max(0, 1 - Math.abs(n - t) / t);
|
|
46890
|
+
}
|
|
46891
|
+
function SM(e) {
|
|
46892
|
+
let t = e.map((e) => String(e ?? "").trim().toLowerCase()).filter((e) => e.length > 0);
|
|
46893
|
+
return t.length === 0 ? 0 : new Set(t).size / t.length;
|
|
46894
|
+
}
|
|
46895
|
+
function CM(e, t, n, r, i) {
|
|
46896
|
+
return .45 * vM(e, t, n, r) + .25 * yM(e, t + 1, n, r) + .15 * bM(e[t] ?? []) + .1 * xM(e[t] ?? [], i) + .05 * SM(e[t] ?? []);
|
|
46897
|
+
}
|
|
46898
|
+
function wM(e, t = 100) {
|
|
46899
|
+
if (e.length === 0) return {
|
|
46900
|
+
headerRowIndex: 0,
|
|
46901
|
+
dataStartIndex: 0,
|
|
46902
|
+
confidence: 0,
|
|
46903
|
+
mode: "header",
|
|
46904
|
+
review: { kind: "none" }
|
|
46905
|
+
};
|
|
46906
|
+
let n = Math.min(t, e.length), r = e.slice(0, n), i = hM(r), a = mM(r), o = gM(r, a, 3), s = e[o] ?? [], c = vM(e, o, n, i), l = yM(e, o + 1, n, i), u = pM(s) > 0 && bM(s) === 0, d = Math.round(Math.max(0, CM(e, o, n, i, a)) * 100) / 100;
|
|
46907
|
+
if (u && c <= .15 && l >= .7) return {
|
|
46908
|
+
headerRowIndex: -1,
|
|
46909
|
+
dataStartIndex: o,
|
|
46910
|
+
confidence: d,
|
|
46911
|
+
mode: "no-header",
|
|
46912
|
+
review: { kind: "no-header" }
|
|
46913
|
+
};
|
|
46914
|
+
let f = d >= .55 ? { kind: "none" } : {
|
|
46915
|
+
kind: "ambiguous-row",
|
|
46916
|
+
confidence: d
|
|
46917
|
+
};
|
|
46918
|
+
return {
|
|
46919
|
+
headerRowIndex: o,
|
|
46920
|
+
dataStartIndex: o + 1,
|
|
46921
|
+
confidence: d,
|
|
46922
|
+
mode: "header",
|
|
46923
|
+
review: f
|
|
46924
|
+
};
|
|
46925
|
+
}
|
|
46926
|
+
function TM(e) {
|
|
46927
|
+
let t = /* @__PURE__ */ new Set();
|
|
46928
|
+
return e.map((e) => {
|
|
46929
|
+
let n = e, r = 2;
|
|
46930
|
+
for (; t.has(n);) n = `${e} (${r})`, r++;
|
|
46931
|
+
return t.add(n), n;
|
|
46932
|
+
});
|
|
46933
|
+
}
|
|
46934
|
+
//#endregion
|
|
46935
|
+
//#region src/components/DataUploader/components/StepHeaderSelection/context/useViewModel.tsx
|
|
46936
|
+
function EM(e, t, n, r) {
|
|
46937
|
+
return (0, y.useMemo)(() => ({
|
|
46938
|
+
sample: e,
|
|
46939
|
+
selectedRow: t,
|
|
46940
|
+
selectRow: n,
|
|
46941
|
+
noHeader: r
|
|
46942
|
+
}), [
|
|
46943
|
+
e,
|
|
46944
|
+
t,
|
|
46945
|
+
n,
|
|
46946
|
+
r
|
|
46947
|
+
]);
|
|
46948
|
+
}
|
|
46949
|
+
//#endregion
|
|
46950
|
+
//#region src/components/DataUploader/components/StepHeaderSelection/context/index.tsx
|
|
46951
|
+
var DM = (0, y.createContext)(null);
|
|
46952
|
+
function OM({ sample: e, selectedRow: t, selectRow: n, noHeader: r, children: i }) {
|
|
46953
|
+
let a = EM(e, t, n, r);
|
|
46954
|
+
return /* @__PURE__ */ (0, O.jsx)(DM.Provider, {
|
|
46955
|
+
value: a,
|
|
46956
|
+
children: i
|
|
46957
|
+
});
|
|
46958
|
+
}
|
|
46959
|
+
var kM = () => {
|
|
46960
|
+
let e = (0, y.useContext)(DM);
|
|
46961
|
+
if (!e) throw Error("useHeaderSelection must be used within HeaderSelectionProvider");
|
|
46962
|
+
return e;
|
|
46963
|
+
}, AM = () => {
|
|
46964
|
+
let { sample: e, selectedRow: t, selectRow: n, noHeader: r } = kM(), { headers: i } = XN(), { headers: a, rows: o } = (0, y.useMemo)(() => {
|
|
46965
|
+
let t = i.length;
|
|
46966
|
+
return {
|
|
46967
|
+
headers: i.map((e) => r ? e : ""),
|
|
46968
|
+
rows: e.map((e) => Array.from({ length: t }, (t, n) => String(e[n] ?? "")))
|
|
46969
|
+
};
|
|
46970
|
+
}, [
|
|
46971
|
+
e,
|
|
46972
|
+
i,
|
|
46973
|
+
r
|
|
46974
|
+
]);
|
|
46975
|
+
return /* @__PURE__ */ (0, O.jsx)(rv, {
|
|
46976
|
+
className: "updog__step-header-selection__preview",
|
|
46977
|
+
headers: a,
|
|
46978
|
+
rows: o,
|
|
46979
|
+
displayRows: e.length,
|
|
46980
|
+
blur: !1,
|
|
46981
|
+
selectedRow: r ? void 0 : t,
|
|
46982
|
+
onSelectRow: r ? void 0 : n
|
|
46983
|
+
});
|
|
46984
|
+
}, jM = () => {
|
|
46985
|
+
let { t: e } = j(), { parsedCsv: t, headerRowIndex: n, setHeaderRowIndex: r } = XN(), i = (0, y.useCallback)((e) => {
|
|
46986
|
+
r(e ? -1 : Math.max(0, t?.detection.headerRowIndex ?? 0));
|
|
46987
|
+
}, [r, t]);
|
|
46988
|
+
if (!t) return null;
|
|
46989
|
+
let a = t.rawRows.slice(0, 50), o = n < 0;
|
|
46990
|
+
return /* @__PURE__ */ (0, O.jsx)(sh, { children: /* @__PURE__ */ (0, O.jsx)(ah, { children: /* @__PURE__ */ (0, O.jsxs)(OM, {
|
|
46991
|
+
sample: a,
|
|
46992
|
+
selectedRow: o ? void 0 : n,
|
|
46993
|
+
selectRow: r,
|
|
46994
|
+
noHeader: o,
|
|
46995
|
+
children: [/* @__PURE__ */ (0, O.jsxs)("div", {
|
|
46996
|
+
className: "updog__step-header-selection__content updog__scrollbar",
|
|
46997
|
+
children: [/* @__PURE__ */ (0, O.jsx)("div", {
|
|
46998
|
+
className: "updog__step-header-selection__noHeadersWrapper",
|
|
46999
|
+
children: /* @__PURE__ */ (0, O.jsx)(jt, {
|
|
47000
|
+
checked: o,
|
|
47001
|
+
onChange: i,
|
|
47002
|
+
label: e("dataEditor.uploader.headerSelection.noHeaderLabel")
|
|
47003
|
+
})
|
|
47004
|
+
}), /* @__PURE__ */ (0, O.jsx)(AM, {})]
|
|
47005
|
+
}), /* @__PURE__ */ (0, O.jsx)(Aj, {})]
|
|
47006
|
+
}) }) });
|
|
47007
|
+
}, MM = ({ open: e, existingOptions: t, initialName: n, onClose: r, onSubmit: i }) => {
|
|
46789
47008
|
let { t: a } = j();
|
|
46790
47009
|
return /* @__PURE__ */ (0, O.jsx)(vs, {
|
|
46791
47010
|
open: e,
|
|
@@ -46798,13 +47017,13 @@ var tM = () => {
|
|
|
46798
47017
|
onSubmit: i
|
|
46799
47018
|
})
|
|
46800
47019
|
});
|
|
46801
|
-
},
|
|
47020
|
+
}, NM = [
|
|
46802
47021
|
",",
|
|
46803
47022
|
";",
|
|
46804
47023
|
"|",
|
|
46805
47024
|
"\n",
|
|
46806
47025
|
" "
|
|
46807
|
-
],
|
|
47026
|
+
], PM = (e, t, n) => {
|
|
46808
47027
|
let r = new Set(n.map((e) => e.trim().toLowerCase())), i = (e) => r.has(e.trim().toLowerCase());
|
|
46809
47028
|
if (e.trim() === "") return [];
|
|
46810
47029
|
if (i(e)) return [e.trim()];
|
|
@@ -46816,80 +47035,144 @@ var tM = () => {
|
|
|
46816
47035
|
a.push(e);
|
|
46817
47036
|
continue;
|
|
46818
47037
|
}
|
|
46819
|
-
a.push(...
|
|
47038
|
+
a.push(...FM(e, t, i));
|
|
46820
47039
|
}
|
|
46821
47040
|
}
|
|
46822
47041
|
return a;
|
|
46823
|
-
},
|
|
46824
|
-
for (let r of
|
|
47042
|
+
}, FM = (e, t, n) => {
|
|
47043
|
+
for (let r of NM) {
|
|
46825
47044
|
if (r === t || !e.includes(r)) continue;
|
|
46826
47045
|
let i = e.split(r).map((e) => e.trim()).filter((e) => e !== "");
|
|
46827
47046
|
if (i.length >= 2 && i.every(n)) return i;
|
|
46828
47047
|
}
|
|
46829
47048
|
return [e];
|
|
46830
|
-
},
|
|
46831
|
-
let
|
|
46832
|
-
for (let
|
|
46833
|
-
|
|
46834
|
-
|
|
46835
|
-
|
|
46836
|
-
|
|
46837
|
-
|
|
46838
|
-
|
|
46839
|
-
|
|
47049
|
+
}, IM = (e, t, n) => {
|
|
47050
|
+
let r = /* @__PURE__ */ new Set();
|
|
47051
|
+
for (let i of e) if (i !== "") if (n) for (let e of PM(i, n, t)) r.add(e);
|
|
47052
|
+
else r.add(i);
|
|
47053
|
+
return [...r];
|
|
47054
|
+
}, LM = (e) => !e.some((e) => e != null && String(e).trim() !== ""), RM = (e, t) => {
|
|
47055
|
+
let n = 0;
|
|
47056
|
+
for (let r = t; r < e.length; r++) n = Math.max(n, e[r].length);
|
|
47057
|
+
return n;
|
|
47058
|
+
}, zM = 50, BM = (e, t, n) => {
|
|
47059
|
+
let r = Math.min(e.length, t + zM);
|
|
47060
|
+
for (let i = t; i < r; i++) {
|
|
47061
|
+
let t = e[i];
|
|
47062
|
+
if (!t || LM(t)) continue;
|
|
47063
|
+
let r = !0;
|
|
47064
|
+
for (let e = 0; e < n; e++) {
|
|
47065
|
+
let n = t[e];
|
|
47066
|
+
if (n == null || String(n).trim() === "") {
|
|
47067
|
+
r = !1;
|
|
47068
|
+
break;
|
|
47069
|
+
}
|
|
47070
|
+
}
|
|
47071
|
+
if (r) return Array.from({ length: n }, (e, n) => String(t[n]).trim());
|
|
47072
|
+
}
|
|
47073
|
+
return Array.from({ length: n }, (n, i) => {
|
|
47074
|
+
for (let n = t; n < r; n++) {
|
|
47075
|
+
let t = e[n];
|
|
47076
|
+
if (!t || LM(t)) continue;
|
|
47077
|
+
let r = t[i], a = r == null ? "" : String(r).trim();
|
|
47078
|
+
if (a !== "") return a;
|
|
47079
|
+
}
|
|
47080
|
+
return "";
|
|
47081
|
+
});
|
|
47082
|
+
}, VM = (e, t) => t === e.headerRowIndex ? e.dataStartIndex : t + 1, HM = (e, t, n, r) => {
|
|
47083
|
+
if (t < 0) {
|
|
47084
|
+
let t = RM(e, n), i = BM(e, n, t);
|
|
47085
|
+
return Array.from({ length: t }, (e, t) => r(t, i[t]));
|
|
47086
|
+
}
|
|
47087
|
+
return TM((e[t] ?? []).map((e) => String(e ?? "").trim()));
|
|
47088
|
+
}, UM = () => ({
|
|
47089
|
+
headerRowIndex: 0,
|
|
47090
|
+
dataStartIndex: 1,
|
|
47091
|
+
confidence: 1,
|
|
47092
|
+
mode: "header",
|
|
47093
|
+
review: { kind: "none" }
|
|
47094
|
+
}), WM = (e, t) => {
|
|
47095
|
+
let n = [e];
|
|
47096
|
+
for (let r of t) n.push(e.map((e) => r[e] ?? ""));
|
|
47097
|
+
return n;
|
|
47098
|
+
}, GM = (e) => {
|
|
47099
|
+
let t = /* @__PURE__ */ new Map();
|
|
47100
|
+
for (let n = 0; n < e.length; n++) t.set(e[n], n);
|
|
47101
|
+
return t;
|
|
47102
|
+
}, KM = (e, t, n) => {
|
|
47103
|
+
let r = [];
|
|
47104
|
+
for (let i = t; i < e.length; i++) {
|
|
47105
|
+
let t = e[i];
|
|
47106
|
+
if (LM(t)) continue;
|
|
47107
|
+
let a = t[n], o = a == null ? "" : String(a);
|
|
47108
|
+
o !== "" && r.push(o);
|
|
47109
|
+
}
|
|
47110
|
+
return r;
|
|
47111
|
+
}, qM = (e, t) => {
|
|
47112
|
+
let n = {};
|
|
47113
|
+
for (let r = 0; r < t.length; r++) n[t[r]] = String(e[r] ?? "");
|
|
47114
|
+
return n;
|
|
47115
|
+
}, JM = (e, t, n, r) => {
|
|
47116
|
+
let i = [];
|
|
47117
|
+
for (let a = n; a < e.length && i.length < r; a++) LM(e[a]) || i.push(qM(e[a], t));
|
|
47118
|
+
return i;
|
|
47119
|
+
}, YM = () => {
|
|
47120
|
+
let { columns: e } = th(), { t } = j(), { parsedCsv: n, headers: r, dataStartIndex: i, columnMapping: a, valueMapping: o, autoValueMapping: s, updateValueMapping: c, multiselectDelimiters: l, setMultiselectDelimiter: u, reapplyMultiselectDelimiter: d, pendingOptions: f, addPendingOption: p } = XN(), [m, h] = (0, y.useState)({}), [g, _] = (0, y.useState)({}), [v, b] = (0, y.useState)(null), x = (0, y.useRef)(!1), S = (0, y.useMemo)(() => {
|
|
46840
47121
|
if (!n) return [];
|
|
46841
|
-
let t = [];
|
|
46842
|
-
for (let [
|
|
46843
|
-
if (!
|
|
46844
|
-
let
|
|
46845
|
-
if (!
|
|
46846
|
-
let
|
|
46847
|
-
if (
|
|
46848
|
-
let
|
|
47122
|
+
let t = [], s = GM(r);
|
|
47123
|
+
for (let [r, c] of Object.entries(a)) {
|
|
47124
|
+
if (!c) continue;
|
|
47125
|
+
let a = e.find((e) => e.id === c);
|
|
47126
|
+
if (!a?.editor) continue;
|
|
47127
|
+
let u = a.editor.type;
|
|
47128
|
+
if (u !== "select" && u !== "multiselect") continue;
|
|
47129
|
+
let d = a.editor.options, f = o[c] ?? {}, p = u === "multiselect", m = p ? l[c] ?? null : null, h = s.get(r), g = IM(h === void 0 ? [] : KM(n.rawRows, i, h), d, m).map((e) => ({
|
|
46849
47130
|
imported: e,
|
|
46850
|
-
mapped:
|
|
47131
|
+
mapped: f[e]
|
|
46851
47132
|
}));
|
|
46852
|
-
|
|
46853
|
-
let
|
|
47133
|
+
g.sort((e, t) => e.imported.localeCompare(t.imported));
|
|
47134
|
+
let _ = g.filter((e) => e.mapped !== void 0).length;
|
|
46854
47135
|
t.push({
|
|
46855
|
-
columnId:
|
|
46856
|
-
columnTitle:
|
|
46857
|
-
options:
|
|
46858
|
-
enableCustomValue:
|
|
46859
|
-
isMultiselect:
|
|
46860
|
-
delimiter:
|
|
46861
|
-
values:
|
|
46862
|
-
matchedCount:
|
|
46863
|
-
allMatched:
|
|
47136
|
+
columnId: c,
|
|
47137
|
+
columnTitle: a.title,
|
|
47138
|
+
options: d,
|
|
47139
|
+
enableCustomValue: a.editor.enableCustomValue !== !1,
|
|
47140
|
+
isMultiselect: p,
|
|
47141
|
+
delimiter: m,
|
|
47142
|
+
values: g,
|
|
47143
|
+
matchedCount: _,
|
|
47144
|
+
allMatched: _ === g.length
|
|
46864
47145
|
});
|
|
46865
47146
|
}
|
|
46866
47147
|
return t;
|
|
46867
47148
|
}, [
|
|
46868
47149
|
n,
|
|
46869
47150
|
r,
|
|
46870
|
-
e,
|
|
46871
47151
|
i,
|
|
46872
|
-
|
|
47152
|
+
a,
|
|
47153
|
+
e,
|
|
47154
|
+
o,
|
|
47155
|
+
l
|
|
46873
47156
|
]);
|
|
46874
47157
|
(0, y.useEffect)(() => {
|
|
46875
|
-
if (
|
|
46876
|
-
|
|
47158
|
+
if (x.current || S.length === 0) return;
|
|
47159
|
+
x.current = !0;
|
|
46877
47160
|
let e = {};
|
|
46878
|
-
for (let t of
|
|
46879
|
-
|
|
46880
|
-
}, [
|
|
46881
|
-
let
|
|
47161
|
+
for (let t of S) t.allMatched && (e[t.columnId] = !0);
|
|
47162
|
+
_(e);
|
|
47163
|
+
}, [S]);
|
|
47164
|
+
let C = (0, y.useMemo)(() => {
|
|
46882
47165
|
let e = {
|
|
46883
47166
|
text: t("dataEditor.uploader.matchColumns.bestMatch"),
|
|
46884
47167
|
color: "green"
|
|
46885
47168
|
}, n = t("dataEditor.uploader.matchValues.createOption"), r = {};
|
|
46886
|
-
for (let t of
|
|
46887
|
-
let i =
|
|
47169
|
+
for (let t of S) {
|
|
47170
|
+
let i = f[t.columnId] ?? [], a = {};
|
|
46888
47171
|
for (let r of t.values) {
|
|
46889
|
-
let
|
|
47172
|
+
let o = s[t.columnId]?.[r.imported], c = new Set(t.options), l = t.options.map((t) => ({
|
|
46890
47173
|
id: t,
|
|
46891
47174
|
text: t,
|
|
46892
|
-
...t ===
|
|
47175
|
+
...t === o && { tag: e }
|
|
46893
47176
|
}));
|
|
46894
47177
|
if (t.enableCustomValue) {
|
|
46895
47178
|
for (let e of i) c.has(e) || (l.push({
|
|
@@ -46905,81 +47188,81 @@ var tM = () => {
|
|
|
46905
47188
|
icon: /* @__PURE__ */ (0, O.jsx)(Ae, { size: "1rem" })
|
|
46906
47189
|
});
|
|
46907
47190
|
}
|
|
46908
|
-
|
|
47191
|
+
a[r.imported] = l;
|
|
46909
47192
|
}
|
|
46910
|
-
r[t.columnId] =
|
|
47193
|
+
r[t.columnId] = a;
|
|
46911
47194
|
}
|
|
46912
47195
|
return r;
|
|
46913
47196
|
}, [
|
|
46914
|
-
|
|
46915
|
-
|
|
46916
|
-
|
|
47197
|
+
S,
|
|
47198
|
+
s,
|
|
47199
|
+
f,
|
|
46917
47200
|
t
|
|
46918
|
-
]),
|
|
46919
|
-
let t =
|
|
47201
|
+
]), w = (0, y.useCallback)((e) => m[e] ?? !0, [m]), T = (0, y.useCallback)((e) => g[e] ?? !1, [g]), E = (0, y.useCallback)((e) => {
|
|
47202
|
+
let t = m[e.columnId] ?? !0;
|
|
46920
47203
|
return e.values.filter((e) => t || e.mapped === void 0);
|
|
46921
|
-
}, [
|
|
46922
|
-
|
|
47204
|
+
}, [m]), D = (0, y.useCallback)((e, t) => C[e]?.[t] ?? [], [C]), k = (0, y.useCallback)((e, t) => {
|
|
47205
|
+
h((n) => ({
|
|
46923
47206
|
...n,
|
|
46924
47207
|
[e]: t
|
|
46925
47208
|
}));
|
|
46926
|
-
}, []),
|
|
46927
|
-
|
|
47209
|
+
}, []), A = (0, y.useCallback)((e) => {
|
|
47210
|
+
_((t) => ({
|
|
46928
47211
|
...t,
|
|
46929
47212
|
[e]: !t[e]
|
|
46930
47213
|
}));
|
|
46931
|
-
}, []),
|
|
47214
|
+
}, []), M = (0, y.useCallback)((e, t, n) => {
|
|
46932
47215
|
if (n === "action:create-option") {
|
|
46933
|
-
|
|
47216
|
+
b({
|
|
46934
47217
|
columnId: e,
|
|
46935
47218
|
imported: t
|
|
46936
47219
|
});
|
|
46937
47220
|
return;
|
|
46938
47221
|
}
|
|
46939
|
-
|
|
46940
|
-
}, [
|
|
46941
|
-
|
|
46942
|
-
}, [
|
|
46943
|
-
|
|
46944
|
-
}, [
|
|
46945
|
-
|
|
47222
|
+
c(e, t, n);
|
|
47223
|
+
}, [c]), N = (0, y.useCallback)((e, t) => {
|
|
47224
|
+
u(e, t === "" ? null : t);
|
|
47225
|
+
}, [u]), P = (0, y.useCallback)((e) => {
|
|
47226
|
+
d(e);
|
|
47227
|
+
}, [d]), F = (0, y.useCallback)((e) => {
|
|
47228
|
+
v && (p(v.columnId, e), c(v.columnId, v.imported, e), b(null));
|
|
46946
47229
|
}, [
|
|
46947
|
-
|
|
46948
|
-
|
|
46949
|
-
|
|
46950
|
-
]),
|
|
47230
|
+
v,
|
|
47231
|
+
p,
|
|
47232
|
+
c
|
|
47233
|
+
]), I = (0, y.useCallback)(() => b(null), []);
|
|
46951
47234
|
return {
|
|
46952
|
-
sections:
|
|
46953
|
-
selectOptionsByValue:
|
|
46954
|
-
createForOptions: (0, y.useMemo)(() =>
|
|
46955
|
-
hasCreateTarget:
|
|
46956
|
-
createInitialName:
|
|
46957
|
-
isShowMatched:
|
|
46958
|
-
isCollapsed:
|
|
46959
|
-
getVisibleValues:
|
|
46960
|
-
getSelectOptions:
|
|
46961
|
-
setShowMatched:
|
|
46962
|
-
toggleCollapsed:
|
|
46963
|
-
selectValue:
|
|
46964
|
-
changeDelimiter:
|
|
46965
|
-
reapplyDelimiter:
|
|
46966
|
-
submitCreate:
|
|
46967
|
-
closeCreate:
|
|
47235
|
+
sections: S,
|
|
47236
|
+
selectOptionsByValue: C,
|
|
47237
|
+
createForOptions: (0, y.useMemo)(() => S.find((e) => e.columnId === v?.columnId)?.options ?? [], [S, v]),
|
|
47238
|
+
hasCreateTarget: v !== null,
|
|
47239
|
+
createInitialName: v?.imported ?? "",
|
|
47240
|
+
isShowMatched: w,
|
|
47241
|
+
isCollapsed: T,
|
|
47242
|
+
getVisibleValues: E,
|
|
47243
|
+
getSelectOptions: D,
|
|
47244
|
+
setShowMatched: k,
|
|
47245
|
+
toggleCollapsed: A,
|
|
47246
|
+
selectValue: M,
|
|
47247
|
+
changeDelimiter: N,
|
|
47248
|
+
reapplyDelimiter: P,
|
|
47249
|
+
submitCreate: F,
|
|
47250
|
+
closeCreate: I
|
|
46968
47251
|
};
|
|
46969
|
-
},
|
|
46970
|
-
function
|
|
46971
|
-
let t =
|
|
46972
|
-
return /* @__PURE__ */ (0, O.jsx)(
|
|
47252
|
+
}, XM = (0, y.createContext)(null);
|
|
47253
|
+
function ZM({ children: e }) {
|
|
47254
|
+
let t = YM();
|
|
47255
|
+
return /* @__PURE__ */ (0, O.jsx)(XM.Provider, {
|
|
46973
47256
|
value: t,
|
|
46974
47257
|
children: e
|
|
46975
47258
|
});
|
|
46976
47259
|
}
|
|
46977
|
-
var
|
|
46978
|
-
let e = (0, y.useContext)(
|
|
47260
|
+
var QM = () => {
|
|
47261
|
+
let e = (0, y.useContext)(XM);
|
|
46979
47262
|
if (!e) throw Error("useValueMatching must be used within ValueMatchingProvider");
|
|
46980
47263
|
return e;
|
|
46981
|
-
},
|
|
46982
|
-
let { t } = j(), { isShowMatched: n, isCollapsed: r, setShowMatched: i, toggleCollapsed: a } =
|
|
47264
|
+
}, $M = ({ section: e }) => {
|
|
47265
|
+
let { t } = j(), { isShowMatched: n, isCollapsed: r, setShowMatched: i, toggleCollapsed: a } = QM(), o = r(e.columnId), s = t(o ? "dataEditor.common.expand" : "dataEditor.common.collapse"), c = (0, y.useCallback)((t) => i(e.columnId, t), [i, e.columnId]), l = (0, y.useCallback)(() => a(e.columnId), [a, e.columnId]);
|
|
46983
47266
|
return /* @__PURE__ */ (0, O.jsxs)("header", {
|
|
46984
47267
|
className: "updog__value-matching__section-header",
|
|
46985
47268
|
children: [/* @__PURE__ */ (0, O.jsx)("div", {
|
|
@@ -47023,14 +47306,14 @@ var gM = () => {
|
|
|
47023
47306
|
})
|
|
47024
47307
|
})]
|
|
47025
47308
|
});
|
|
47026
|
-
},
|
|
47309
|
+
}, eN = {
|
|
47027
47310
|
",": ",",
|
|
47028
47311
|
";": ";",
|
|
47029
47312
|
"|": "|",
|
|
47030
47313
|
"\n": "\\n",
|
|
47031
47314
|
" ": "\\t"
|
|
47032
|
-
},
|
|
47033
|
-
let { t } = j(), { changeDelimiter: n, reapplyDelimiter: r } =
|
|
47315
|
+
}, tN = (e) => e === null ? "" : eN[e] ?? e, nN = ({ section: e }) => {
|
|
47316
|
+
let { t } = j(), { changeDelimiter: n, reapplyDelimiter: r } = QM(), i = (0, y.useRef)(e.delimiter), a = tN(e.delimiter), [o, s] = (0, y.useState)(a), { debouncedValue: c } = gc(o, 300), l = (0, y.useRef)(a);
|
|
47034
47317
|
(0, y.useEffect)(() => {
|
|
47035
47318
|
s(a), l.current = a;
|
|
47036
47319
|
}, [a]), (0, y.useEffect)(() => {
|
|
@@ -47073,8 +47356,8 @@ var gM = () => {
|
|
|
47073
47356
|
})
|
|
47074
47357
|
]
|
|
47075
47358
|
});
|
|
47076
|
-
},
|
|
47077
|
-
let { t: n } = j(), { getSelectOptions: r, selectValue: i } =
|
|
47359
|
+
}, rN = ({ section: e, val: t }) => {
|
|
47360
|
+
let { t: n } = j(), { getSelectOptions: r, selectValue: i } = QM(), a = t.mapped === void 0, o = (0, y.useCallback)((n) => i(e.columnId, t.imported, n), [
|
|
47078
47361
|
i,
|
|
47079
47362
|
e.columnId,
|
|
47080
47363
|
t.imported
|
|
@@ -47126,8 +47409,8 @@ var gM = () => {
|
|
|
47126
47409
|
})
|
|
47127
47410
|
]
|
|
47128
47411
|
});
|
|
47129
|
-
},
|
|
47130
|
-
let { t } = j(), { getVisibleValues: n } =
|
|
47412
|
+
}, iN = ({ section: e }) => {
|
|
47413
|
+
let { t } = j(), { getVisibleValues: n } = QM(), r = n(e);
|
|
47131
47414
|
return /* @__PURE__ */ (0, O.jsxs)("div", {
|
|
47132
47415
|
className: "updog__value-matching__table",
|
|
47133
47416
|
children: [r.length === 0 ? /* @__PURE__ */ (0, O.jsx)("div", {
|
|
@@ -47147,7 +47430,7 @@ var gM = () => {
|
|
|
47147
47430
|
size: "sm",
|
|
47148
47431
|
weight: "medium",
|
|
47149
47432
|
children: t("dataEditor.uploader.matchValues.importedValues")
|
|
47150
|
-
}), e.isMultiselect && /* @__PURE__ */ (0, O.jsx)(
|
|
47433
|
+
}), e.isMultiselect && /* @__PURE__ */ (0, O.jsx)(nN, { section: e })]
|
|
47151
47434
|
}),
|
|
47152
47435
|
/* @__PURE__ */ (0, O.jsx)("div", { className: "updog__value-matching__arrow-spacer" }),
|
|
47153
47436
|
/* @__PURE__ */ (0, O.jsx)(W, {
|
|
@@ -47159,25 +47442,25 @@ var gM = () => {
|
|
|
47159
47442
|
}),
|
|
47160
47443
|
/* @__PURE__ */ (0, O.jsx)("div", { className: "updog__value-matching__action" })
|
|
47161
47444
|
]
|
|
47162
|
-
}), r.map((t) => /* @__PURE__ */ (0, O.jsx)(
|
|
47445
|
+
}), r.map((t) => /* @__PURE__ */ (0, O.jsx)(rN, {
|
|
47163
47446
|
section: e,
|
|
47164
47447
|
val: t
|
|
47165
47448
|
}, t.imported))]
|
|
47166
47449
|
});
|
|
47167
|
-
},
|
|
47168
|
-
let { isCollapsed: t } =
|
|
47450
|
+
}, aN = ({ section: e }) => {
|
|
47451
|
+
let { isCollapsed: t } = QM(), n = !t(e.columnId);
|
|
47169
47452
|
return /* @__PURE__ */ (0, O.jsxs)("div", {
|
|
47170
47453
|
className: "updog__value-matching__section",
|
|
47171
|
-
children: [/* @__PURE__ */ (0, O.jsx)(
|
|
47454
|
+
children: [/* @__PURE__ */ (0, O.jsx)($M, { section: e }), /* @__PURE__ */ (0, O.jsx)("div", {
|
|
47172
47455
|
className: N("updog__value-matching__collapsible", n && "updog__value-matching__collapsible--expanded"),
|
|
47173
|
-
children: /* @__PURE__ */ (0, O.jsx)(
|
|
47456
|
+
children: /* @__PURE__ */ (0, O.jsx)(iN, { section: e })
|
|
47174
47457
|
})]
|
|
47175
47458
|
});
|
|
47176
|
-
},
|
|
47177
|
-
let { sections: e, hasCreateTarget: t, createForOptions: n, createInitialName: r, submitCreate: i, closeCreate: a } =
|
|
47459
|
+
}, oN = () => {
|
|
47460
|
+
let { sections: e, hasCreateTarget: t, createForOptions: n, createInitialName: r, submitCreate: i, closeCreate: a } = QM();
|
|
47178
47461
|
return /* @__PURE__ */ (0, O.jsxs)("div", {
|
|
47179
47462
|
className: "updog__value-matching",
|
|
47180
|
-
children: [e.map((e) => /* @__PURE__ */ (0, O.jsx)(
|
|
47463
|
+
children: [e.map((e) => /* @__PURE__ */ (0, O.jsx)(aN, { section: e }, e.columnId)), t && /* @__PURE__ */ (0, O.jsx)(MM, {
|
|
47181
47464
|
open: !0,
|
|
47182
47465
|
existingOptions: n,
|
|
47183
47466
|
initialName: r,
|
|
@@ -47185,22 +47468,26 @@ var gM = () => {
|
|
|
47185
47468
|
onSubmit: i
|
|
47186
47469
|
})]
|
|
47187
47470
|
});
|
|
47188
|
-
},
|
|
47471
|
+
}, sN = () => /* @__PURE__ */ (0, O.jsx)(sh, { children: /* @__PURE__ */ (0, O.jsxs)(ah, { children: [/* @__PURE__ */ (0, O.jsx)("div", {
|
|
47189
47472
|
className: "updog__step-match-values__content updog__scrollbar",
|
|
47190
|
-
children: /* @__PURE__ */ (0, O.jsx)(
|
|
47191
|
-
}), /* @__PURE__ */ (0, O.jsx)(Aj, {})] }) }),
|
|
47192
|
-
let { store: e } = th(), { t } = j(), { primaryKey: n, onPrimaryKeyChange: r, parsedCsv: i,
|
|
47473
|
+
children: /* @__PURE__ */ (0, O.jsx)(ZM, { children: /* @__PURE__ */ (0, O.jsx)(oN, {}) })
|
|
47474
|
+
}), /* @__PURE__ */ (0, O.jsx)(Aj, {})] }) }), cN = 20, lN = () => {
|
|
47475
|
+
let { store: e } = th(), { t } = j(), { primaryKey: n, onPrimaryKeyChange: r, parsedCsv: i, headers: a, dataStartIndex: o, columnMapping: s, primaryKeyColumns: c } = XN(), l = e.isClient(), u = (0, y.useCallback)(() => r(null), [r]), d = (0, y.useMemo)(() => {
|
|
47193
47476
|
let e = {};
|
|
47194
|
-
for (let [t, n] of Object.entries(
|
|
47477
|
+
for (let [t, n] of Object.entries(s)) n && (e[n] = t);
|
|
47195
47478
|
return e;
|
|
47196
|
-
}, [
|
|
47479
|
+
}, [s]), f = (0, y.useMemo)(() => i ? JM(i.rawRows, a, o, cN) : [], [
|
|
47480
|
+
i,
|
|
47481
|
+
a,
|
|
47482
|
+
o
|
|
47483
|
+
]);
|
|
47197
47484
|
return /* @__PURE__ */ (0, O.jsxs)("div", {
|
|
47198
47485
|
className: "updog__primary-key-selection updog__scrollbar",
|
|
47199
|
-
children: [
|
|
47486
|
+
children: [l && /* @__PURE__ */ (0, O.jsxs)(hc, {
|
|
47200
47487
|
name: "primaryKey",
|
|
47201
47488
|
value: "",
|
|
47202
47489
|
checked: n === null,
|
|
47203
|
-
onChange:
|
|
47490
|
+
onChange: u,
|
|
47204
47491
|
radioPosition: "end",
|
|
47205
47492
|
className: N("updog__primary-key-selection__card", n === null && "updog__primary-key-selection__card--selected"),
|
|
47206
47493
|
children: [/* @__PURE__ */ (0, O.jsx)(W, {
|
|
@@ -47213,8 +47500,8 @@ var gM = () => {
|
|
|
47213
47500
|
className: "updog__primary-key-selection__value-text updog__primary-key-selection__value-none",
|
|
47214
47501
|
children: t("dataEditor.uploader.primaryKey.noneHint")
|
|
47215
47502
|
})]
|
|
47216
|
-
}),
|
|
47217
|
-
let t =
|
|
47503
|
+
}), c.map((e) => {
|
|
47504
|
+
let t = d[e.id], i = t ? f.map((e) => e[t] ?? "") : [];
|
|
47218
47505
|
return /* @__PURE__ */ (0, O.jsxs)(hc, {
|
|
47219
47506
|
name: "primaryKey",
|
|
47220
47507
|
value: e.id,
|
|
@@ -47241,8 +47528,8 @@ var gM = () => {
|
|
|
47241
47528
|
}, e.id);
|
|
47242
47529
|
})]
|
|
47243
47530
|
});
|
|
47244
|
-
},
|
|
47245
|
-
let { columns: e, importFormats: t, remoteSources: n, sampleData: r } = th(), i = t === !1 ? [] : t, { t: a } = j(), { parsedCsv: o, xlsxFile: s, handleFileRemoved: c, parseFile: l, isParsing: u, remoteSourceLoading: d, remoteSourceError: f, handleRemoteSourceSelect: p } =
|
|
47531
|
+
}, uN = () => /* @__PURE__ */ (0, O.jsx)(sh, { children: /* @__PURE__ */ (0, O.jsxs)(ah, { children: [/* @__PURE__ */ (0, O.jsx)(lN, {}), /* @__PURE__ */ (0, O.jsx)(Aj, {})] }) }), dN = () => {
|
|
47532
|
+
let { columns: e, importFormats: t, remoteSources: n, sampleData: r } = th(), i = t === !1 ? [] : t, { t: a } = j(), { parsedCsv: o, xlsxFile: s, handleFileRemoved: c, parseFile: l, isParsing: u, remoteSourceLoading: d, remoteSourceError: f, handleRemoteSourceSelect: p } = XN(), m = [
|
|
47246
47533
|
{
|
|
47247
47534
|
id: "csv",
|
|
47248
47535
|
format: "csv",
|
|
@@ -47300,20 +47587,20 @@ var gM = () => {
|
|
|
47300
47587
|
}, [c]),
|
|
47301
47588
|
handleRemoteSourceSelect: p
|
|
47302
47589
|
};
|
|
47303
|
-
},
|
|
47304
|
-
function
|
|
47305
|
-
let t =
|
|
47306
|
-
return /* @__PURE__ */ (0, O.jsx)(
|
|
47590
|
+
}, fN = (0, y.createContext)(null);
|
|
47591
|
+
function pN({ children: e }) {
|
|
47592
|
+
let t = dN();
|
|
47593
|
+
return /* @__PURE__ */ (0, O.jsx)(fN.Provider, {
|
|
47307
47594
|
value: t,
|
|
47308
47595
|
children: e
|
|
47309
47596
|
});
|
|
47310
47597
|
}
|
|
47311
|
-
var
|
|
47312
|
-
let e = (0, y.useContext)(
|
|
47598
|
+
var mN = () => {
|
|
47599
|
+
let e = (0, y.useContext)(fN);
|
|
47313
47600
|
if (!e) throw Error("useSelectFiles must be used within SelectFilesProvider");
|
|
47314
47601
|
return e;
|
|
47315
|
-
},
|
|
47316
|
-
let { t: e } = j(), { exampleMenuOptions: t, onExampleDownload: n } =
|
|
47602
|
+
}, hN = () => {
|
|
47603
|
+
let { t: e } = j(), { exampleMenuOptions: t, onExampleDownload: n } = mN();
|
|
47317
47604
|
return /* @__PURE__ */ (0, O.jsx)(fc, {
|
|
47318
47605
|
options: t,
|
|
47319
47606
|
onSelect: n,
|
|
@@ -47325,7 +47612,7 @@ var MM = () => {
|
|
|
47325
47612
|
children: e("dataEditor.uploader.uploadFile.downloadExample")
|
|
47326
47613
|
})
|
|
47327
47614
|
});
|
|
47328
|
-
},
|
|
47615
|
+
}, gN = ({ source: e }) => e.icon.trimStart().startsWith("<") ? /* @__PURE__ */ (0, O.jsx)("span", {
|
|
47329
47616
|
className: "updog__remote-source-btn__icon",
|
|
47330
47617
|
dangerouslySetInnerHTML: { __html: e.icon }
|
|
47331
47618
|
}) : /* @__PURE__ */ (0, O.jsx)("span", {
|
|
@@ -47334,7 +47621,7 @@ var MM = () => {
|
|
|
47334
47621
|
src: e.icon,
|
|
47335
47622
|
alt: e.label
|
|
47336
47623
|
})
|
|
47337
|
-
}),
|
|
47624
|
+
}), _N = ({ source: e, loading: t, disabled: n, onSelect: r }) => /* @__PURE__ */ (0, O.jsx)(ot, {
|
|
47338
47625
|
variant: "filled",
|
|
47339
47626
|
color: "neutral",
|
|
47340
47627
|
size: "sm",
|
|
@@ -47344,11 +47631,11 @@ var MM = () => {
|
|
|
47344
47631
|
disabled: !t && n,
|
|
47345
47632
|
loading: t,
|
|
47346
47633
|
spinnerPosition: "start",
|
|
47347
|
-
startIcon: /* @__PURE__ */ (0, O.jsx)(
|
|
47634
|
+
startIcon: /* @__PURE__ */ (0, O.jsx)(gN, { source: e }),
|
|
47348
47635
|
title: e.description,
|
|
47349
47636
|
children: e.label
|
|
47350
|
-
}),
|
|
47351
|
-
let { t: e } = j(), { importFormats: t, remoteSources: n, remoteSourceLoading: r, remoteSourceError: i, handleRemoteSourceSelect: a } =
|
|
47637
|
+
}), vN = () => {
|
|
47638
|
+
let { t: e } = j(), { importFormats: t, remoteSources: n, remoteSourceLoading: r, remoteSourceError: i, handleRemoteSourceSelect: a } = mN(), o = n.length > 0;
|
|
47352
47639
|
return /* @__PURE__ */ (0, O.jsxs)("div", {
|
|
47353
47640
|
className: "updog__source-picker",
|
|
47354
47641
|
children: [
|
|
@@ -47375,7 +47662,7 @@ var MM = () => {
|
|
|
47375
47662
|
}),
|
|
47376
47663
|
o && /* @__PURE__ */ (0, O.jsxs)(O.Fragment, { children: [/* @__PURE__ */ (0, O.jsx)(ac, {}), /* @__PURE__ */ (0, O.jsx)("div", {
|
|
47377
47664
|
className: "updog__source-picker__sources-list",
|
|
47378
|
-
children: n.map((e) => /* @__PURE__ */ (0, O.jsx)(
|
|
47665
|
+
children: n.map((e) => /* @__PURE__ */ (0, O.jsx)(_N, {
|
|
47379
47666
|
source: e,
|
|
47380
47667
|
loading: r === e.id,
|
|
47381
47668
|
disabled: !!r,
|
|
@@ -47389,7 +47676,7 @@ var MM = () => {
|
|
|
47389
47676
|
})
|
|
47390
47677
|
]
|
|
47391
47678
|
});
|
|
47392
|
-
},
|
|
47679
|
+
}, yN = () => {
|
|
47393
47680
|
let { t: e } = j();
|
|
47394
47681
|
return /* @__PURE__ */ (0, O.jsxs)("div", {
|
|
47395
47682
|
className: "updog__uploading-state",
|
|
@@ -47402,12 +47689,12 @@ var MM = () => {
|
|
|
47402
47689
|
children: e("dataEditor.uploader.uploadFile.uploading")
|
|
47403
47690
|
})]
|
|
47404
47691
|
});
|
|
47405
|
-
},
|
|
47406
|
-
let { t: e } = j(), { isBlocked: t, isParsing: n, hasFile: r, fileName: i, open: a, onRemoveClick: o } =
|
|
47692
|
+
}, bN = () => {
|
|
47693
|
+
let { t: e } = j(), { isBlocked: t, isParsing: n, hasFile: r, fileName: i, open: a, onRemoveClick: o } = mN();
|
|
47407
47694
|
return /* @__PURE__ */ (0, O.jsx)("div", {
|
|
47408
47695
|
className: N("updog__step-select-files__upload-area", t && "updog__step-select-files__upload-area--disabled"),
|
|
47409
47696
|
onClick: t ? void 0 : a,
|
|
47410
|
-
children: n ? /* @__PURE__ */ (0, O.jsx)(
|
|
47697
|
+
children: n ? /* @__PURE__ */ (0, O.jsx)(yN, {}) : /* @__PURE__ */ (0, O.jsxs)(O.Fragment, { children: [
|
|
47411
47698
|
/* @__PURE__ */ (0, O.jsx)("div", {
|
|
47412
47699
|
className: "updog__step-select-files__icon-container",
|
|
47413
47700
|
children: r ? /* @__PURE__ */ (0, O.jsx)(oe, {
|
|
@@ -47418,7 +47705,7 @@ var MM = () => {
|
|
|
47418
47705
|
className: "updog__step-select-files__icon"
|
|
47419
47706
|
})
|
|
47420
47707
|
}),
|
|
47421
|
-
!r && /* @__PURE__ */ (0, O.jsx)(
|
|
47708
|
+
!r && /* @__PURE__ */ (0, O.jsx)(vN, {}),
|
|
47422
47709
|
r && /* @__PURE__ */ (0, O.jsxs)("div", {
|
|
47423
47710
|
className: "updog__step-select-files__info",
|
|
47424
47711
|
children: [/* @__PURE__ */ (0, O.jsx)(W, {
|
|
@@ -47435,21 +47722,21 @@ var MM = () => {
|
|
|
47435
47722
|
})
|
|
47436
47723
|
] })
|
|
47437
47724
|
});
|
|
47438
|
-
},
|
|
47439
|
-
let { getRootProps: e, getInputProps: t, isDragActive: n } =
|
|
47725
|
+
}, xN = () => {
|
|
47726
|
+
let { getRootProps: e, getInputProps: t, isDragActive: n } = mN();
|
|
47440
47727
|
return /* @__PURE__ */ (0, O.jsx)(sh, { children: /* @__PURE__ */ (0, O.jsxs)("div", {
|
|
47441
47728
|
className: "updog__step-select-files__dropzone",
|
|
47442
47729
|
...e(),
|
|
47443
47730
|
children: [
|
|
47444
47731
|
/* @__PURE__ */ (0, O.jsx)("input", { ...t() }),
|
|
47445
|
-
/* @__PURE__ */ (0, O.jsxs)(ah, { children: [/* @__PURE__ */ (0, O.jsx)(
|
|
47732
|
+
/* @__PURE__ */ (0, O.jsxs)(ah, { children: [/* @__PURE__ */ (0, O.jsx)(bN, {}), /* @__PURE__ */ (0, O.jsx)(Aj, { leftSlot: /* @__PURE__ */ (0, O.jsx)(hN, {}) })] }),
|
|
47446
47733
|
n && /* @__PURE__ */ (0, O.jsx)(oh, {})
|
|
47447
47734
|
]
|
|
47448
47735
|
}) });
|
|
47449
|
-
},
|
|
47450
|
-
let { selectedSheet: t, setSelectedSheet: n } =
|
|
47736
|
+
}, SN = () => /* @__PURE__ */ (0, O.jsx)(pN, { children: /* @__PURE__ */ (0, O.jsx)(xN, {}) }), CN = ({ preview: e }) => {
|
|
47737
|
+
let { selectedSheet: t, setSelectedSheet: n } = XN(), { t: r } = j(), i = Math.max(0, e.totalRows), a = t === e.name, o = (0, y.useMemo)(() => {
|
|
47451
47738
|
let { headers: t, rows: n } = e;
|
|
47452
|
-
return n.map((e) => t.map((t) => e[t] ?? ""));
|
|
47739
|
+
return [t, ...n.map((e) => t.map((t) => e[t] ?? ""))];
|
|
47453
47740
|
}, [e]);
|
|
47454
47741
|
return /* @__PURE__ */ (0, O.jsx)(hc, {
|
|
47455
47742
|
name: "sheetSelection",
|
|
@@ -47477,23 +47764,22 @@ var MM = () => {
|
|
|
47477
47764
|
className: "updog__sheet-preview-emptyText",
|
|
47478
47765
|
children: r("dataEditor.uploader.sheetSelection.emptySheet")
|
|
47479
47766
|
}) : /* @__PURE__ */ (0, O.jsx)(rv, {
|
|
47480
|
-
headers: e.headers,
|
|
47481
47767
|
rows: o,
|
|
47482
47768
|
scrollbars: !1
|
|
47483
47769
|
})
|
|
47484
47770
|
})]
|
|
47485
47771
|
})
|
|
47486
47772
|
});
|
|
47487
|
-
},
|
|
47488
|
-
let { sheetPreviews: e } =
|
|
47773
|
+
}, wN = () => {
|
|
47774
|
+
let { sheetPreviews: e } = XN();
|
|
47489
47775
|
return /* @__PURE__ */ (0, O.jsx)(sh, { children: /* @__PURE__ */ (0, O.jsxs)(ah, { children: [/* @__PURE__ */ (0, O.jsx)("div", {
|
|
47490
47776
|
className: "updog__sheet-preview-wrapper updog__scrollbar",
|
|
47491
47777
|
children: /* @__PURE__ */ (0, O.jsx)("div", {
|
|
47492
47778
|
className: "updog__sheet-preview-grid",
|
|
47493
|
-
children: e.map((e) => /* @__PURE__ */ (0, O.jsx)(
|
|
47779
|
+
children: e.map((e) => /* @__PURE__ */ (0, O.jsx)(CN, { preview: e }, e.name))
|
|
47494
47780
|
})
|
|
47495
47781
|
}), /* @__PURE__ */ (0, O.jsx)(Aj, {})] }) });
|
|
47496
|
-
},
|
|
47782
|
+
}, TN = (e, t, n) => {
|
|
47497
47783
|
let r = new Map(t.map((e) => [e.id, e])), i = [];
|
|
47498
47784
|
for (let [t, a] of Object.entries(e)) a && i.push({
|
|
47499
47785
|
csvHeader: t,
|
|
@@ -47501,11 +47787,11 @@ var MM = () => {
|
|
|
47501
47787
|
column: n.has(a) ? void 0 : r.get(a)
|
|
47502
47788
|
});
|
|
47503
47789
|
return i;
|
|
47504
|
-
},
|
|
47790
|
+
}, EN = (e) => {
|
|
47505
47791
|
let t = [];
|
|
47506
47792
|
for (let { csvHeader: n, column: r } of e) r?.editor?.type === "number" && t.push(n);
|
|
47507
47793
|
return t;
|
|
47508
|
-
},
|
|
47794
|
+
}, DN = (e, t, n) => {
|
|
47509
47795
|
let r = {};
|
|
47510
47796
|
for (let { csvHeader: i, columnId: a, column: o } of t) {
|
|
47511
47797
|
let t = e[i] ?? "";
|
|
@@ -47520,7 +47806,7 @@ var MM = () => {
|
|
|
47520
47806
|
continue;
|
|
47521
47807
|
}
|
|
47522
47808
|
if (s === "multiselect") {
|
|
47523
|
-
let e = n.multiselectDelimiters[a], i = o.editor.options ?? [], s = e ?
|
|
47809
|
+
let e = n.multiselectDelimiters[a], i = o.editor.options ?? [], s = e ? PM(t, e, i) : t === "" ? [] : [t], c = [], l = /* @__PURE__ */ new Set();
|
|
47524
47810
|
for (let e of s) {
|
|
47525
47811
|
let t = n.valueMapping[a]?.[e.trim()];
|
|
47526
47812
|
t !== void 0 && !l.has(t) && (l.add(t), c.push(t));
|
|
@@ -47532,88 +47818,16 @@ var MM = () => {
|
|
|
47532
47818
|
r[a] = o.transformer ? o.transformer(c) : c;
|
|
47533
47819
|
}
|
|
47534
47820
|
return r;
|
|
47535
|
-
},
|
|
47536
|
-
"true",
|
|
47537
|
-
"false",
|
|
47538
|
-
"yes",
|
|
47539
|
-
"no"
|
|
47540
|
-
]), YM = 50;
|
|
47541
|
-
function XM(e) {
|
|
47542
|
-
return !!(KM.test(e) || qM.test(e) || JM.has(e.toLowerCase()));
|
|
47543
|
-
}
|
|
47544
|
-
function ZM(e) {
|
|
47545
|
-
return e.filter((e) => e != null && String(e).trim().length > 0).length;
|
|
47546
|
-
}
|
|
47547
|
-
function QM(e) {
|
|
47548
|
-
let t = /* @__PURE__ */ new Map(), n = 0, r = 0;
|
|
47549
|
-
for (let i of e) {
|
|
47550
|
-
let e = ZM(i);
|
|
47551
|
-
if (e === 0) continue;
|
|
47552
|
-
let a = (t.get(e) ?? 0) + 1;
|
|
47553
|
-
t.set(e, a), a > n && (n = a, r = e);
|
|
47554
|
-
}
|
|
47555
|
-
return r;
|
|
47556
|
-
}
|
|
47557
|
-
function $M(e, t) {
|
|
47558
|
-
let n = e.map((e) => String(e ?? "").trim()), r = n.filter((e) => e.length > 0);
|
|
47559
|
-
if (r.length === 0) return 0;
|
|
47560
|
-
let i = r.filter((e) => XM(e)).length === 0 ? 1 : 0, a = r.length / Math.max(n.length, 1), o = new Set(r.map((e) => e.toLowerCase())).size / r.length, s = r.filter((e) => e.length <= YM).length / r.length, c = t > 0 ? 1 - Math.abs(r.length - t) / t : 0;
|
|
47561
|
-
return .3 * i + .25 * a + .2 * o + .15 * s + .1 * Math.max(0, c);
|
|
47562
|
-
}
|
|
47563
|
-
function eN(e, t = 100) {
|
|
47564
|
-
if (e.length === 0) return {
|
|
47565
|
-
headerRowIndex: 0,
|
|
47566
|
-
confidence: 0
|
|
47567
|
-
};
|
|
47568
|
-
if (e.length === 1) return {
|
|
47569
|
-
headerRowIndex: 0,
|
|
47570
|
-
confidence: 1
|
|
47571
|
-
};
|
|
47572
|
-
let n = Math.min(t, e.length), r = QM(e.slice(0, n)), i = 0, a = -1;
|
|
47573
|
-
for (let t = 0; t < n; t++) {
|
|
47574
|
-
let n = $M(e[t], r);
|
|
47575
|
-
if (n > a && (a = n, i = t), t === 0 && n > .85 && ZM(e[0]) === r) break;
|
|
47576
|
-
}
|
|
47577
|
-
return {
|
|
47578
|
-
headerRowIndex: i,
|
|
47579
|
-
confidence: Math.round(a * 100) / 100
|
|
47580
|
-
};
|
|
47581
|
-
}
|
|
47582
|
-
function tN(e) {
|
|
47583
|
-
let t = /* @__PURE__ */ new Set();
|
|
47584
|
-
return e.map((e) => {
|
|
47585
|
-
let n = e, r = 2;
|
|
47586
|
-
for (; t.has(n);) n = `${e} (${r})`, r++;
|
|
47587
|
-
return t.add(n), n;
|
|
47588
|
-
});
|
|
47589
|
-
}
|
|
47590
|
-
function nN(e) {
|
|
47591
|
-
let { headerRowIndex: t } = eN(e), n = tN((e[t] ?? []).map((e) => String(e ?? "").trim())), r = [], i = [];
|
|
47592
|
-
for (let a of e.slice(t + 1)) {
|
|
47593
|
-
if (!a.some((e) => e != null && String(e).trim() !== "")) continue;
|
|
47594
|
-
let e = {};
|
|
47595
|
-
for (let t = 0; t < n.length; t++) e[n[t]] = String(a[t] ?? "");
|
|
47596
|
-
r.push(e), i.push(a.length === n.length ? null : a.map((e) => String(e ?? "")));
|
|
47597
|
-
}
|
|
47598
|
-
return {
|
|
47599
|
-
headerRowIndex: t,
|
|
47600
|
-
headers: n,
|
|
47601
|
-
rows: r,
|
|
47602
|
-
rawCells: i
|
|
47603
|
-
};
|
|
47604
|
-
}
|
|
47605
|
-
//#endregion
|
|
47606
|
-
//#region src/components/DataUploader/utils/detectMultiValueDelimiter.ts
|
|
47607
|
-
var rN = 200, iN = (e, t, n) => {
|
|
47821
|
+
}, ON = 200, kN = (e, t, n) => {
|
|
47608
47822
|
if (n) return n;
|
|
47609
47823
|
let r = new Set(t.map((e) => e.trim().toLowerCase())), i = (e) => r.has(e.trim().toLowerCase()), a = /* @__PURE__ */ new Set(), o = [];
|
|
47610
47824
|
for (let t of e) {
|
|
47611
47825
|
let e = t.trim();
|
|
47612
|
-
if (!(e === "" || a.has(e)) && (a.add(e), o.push(e), o.length >=
|
|
47826
|
+
if (!(e === "" || a.has(e)) && (a.add(e), o.push(e), o.length >= ON)) break;
|
|
47613
47827
|
}
|
|
47614
47828
|
if (o.length === 0) return null;
|
|
47615
47829
|
let s = null, c = 0, l = 0;
|
|
47616
|
-
for (let e of
|
|
47830
|
+
for (let e of NM) {
|
|
47617
47831
|
let n = 0, r = 0;
|
|
47618
47832
|
for (let a of o) {
|
|
47619
47833
|
if (i(a) || !a.includes(e)) continue;
|
|
@@ -47626,7 +47840,7 @@ var rN = 200, iN = (e, t, n) => {
|
|
|
47626
47840
|
(n > c || n === c && n > 0 && r > l) && (s = e, c = n, l = r);
|
|
47627
47841
|
}
|
|
47628
47842
|
return c > 0 ? s : null;
|
|
47629
|
-
},
|
|
47843
|
+
}, AN = (e) => {
|
|
47630
47844
|
let t = /* @__PURE__ */ new Map();
|
|
47631
47845
|
for (let [n, r] of Object.entries(e)) {
|
|
47632
47846
|
let e = Pj(n), i = t.get(e) ?? /* @__PURE__ */ new Set();
|
|
@@ -47634,8 +47848,8 @@ var rN = 200, iN = (e, t, n) => {
|
|
|
47634
47848
|
t.set(e, i);
|
|
47635
47849
|
}
|
|
47636
47850
|
return t;
|
|
47637
|
-
},
|
|
47638
|
-
let i =
|
|
47851
|
+
}, jN = (e, t, n, r) => {
|
|
47852
|
+
let i = AN(r), a = (e, t) => i.get(Pj(e))?.has(Pj(t)) ?? !1, o = new Map(n.map((e) => [e.id, e])), s = (e, t) => (n, r) => {
|
|
47639
47853
|
if (Pj(n) === Pj(r) || a(r, n)) return;
|
|
47640
47854
|
let i = `${n} ${r}`;
|
|
47641
47855
|
t.has(i) || (t.add(i), e.push({
|
|
@@ -47655,16 +47869,16 @@ var rN = 200, iN = (e, t, n) => {
|
|
|
47655
47869
|
for (let e of Object.values(t)) for (let [t, n] of Object.entries(e)) n && u(t, n);
|
|
47656
47870
|
return c;
|
|
47657
47871
|
};
|
|
47658
|
-
function
|
|
47872
|
+
function MN(e, t, n) {
|
|
47659
47873
|
let r = e.length, i = t;
|
|
47660
|
-
return i <= 0 ? [] : r === i ? [{ cells: [...e] }] : (r < i ?
|
|
47874
|
+
return i <= 0 ? [] : r === i ? [{ cells: [...e] }] : (r < i ? NN(i, i - r) : NN(r - 1, i - 1)) > 1e3 ? [] : r < i ? PN(e, i) : FN(e, i, n);
|
|
47661
47875
|
}
|
|
47662
|
-
function
|
|
47876
|
+
function NN(e, t) {
|
|
47663
47877
|
let n = Math.min(t, e - t), r = 1;
|
|
47664
47878
|
for (let t = 1; t <= n; t++) if (r = r * (e - n + t) / t, r > 1e3) return r;
|
|
47665
47879
|
return r;
|
|
47666
47880
|
}
|
|
47667
|
-
function
|
|
47881
|
+
function PN(e, t) {
|
|
47668
47882
|
let n = e.length, r = [], i = [], a = (o) => {
|
|
47669
47883
|
if (i.length === n) {
|
|
47670
47884
|
let a = Array(t).fill("");
|
|
@@ -47676,7 +47890,7 @@ function lN(e, t) {
|
|
|
47676
47890
|
};
|
|
47677
47891
|
return a(0), r;
|
|
47678
47892
|
}
|
|
47679
|
-
function
|
|
47893
|
+
function FN(e, t, n) {
|
|
47680
47894
|
let r = e.length, i = [], a = [], o = (s) => {
|
|
47681
47895
|
if (a.length === t - 1) {
|
|
47682
47896
|
let o = [
|
|
@@ -47694,27 +47908,27 @@ function uN(e, t, n) {
|
|
|
47694
47908
|
}
|
|
47695
47909
|
//#endregion
|
|
47696
47910
|
//#region src/components/DataUploader/utils/raggedRows/pruneByValidators.ts
|
|
47697
|
-
var
|
|
47698
|
-
function
|
|
47911
|
+
var IN = {};
|
|
47912
|
+
function LN(e, t) {
|
|
47699
47913
|
for (let n of t.validators ?? []) if (n.type !== "expression") {
|
|
47700
47914
|
if (n.type === "function") {
|
|
47701
|
-
if (n.fn(e,
|
|
47915
|
+
if (n.fn(e, IN) != null) return !1;
|
|
47702
47916
|
continue;
|
|
47703
47917
|
}
|
|
47704
|
-
if (Bm(n, e,
|
|
47918
|
+
if (Bm(n, e, IN) != null) return !1;
|
|
47705
47919
|
}
|
|
47706
47920
|
return !0;
|
|
47707
47921
|
}
|
|
47708
|
-
function
|
|
47709
|
-
for (let n = 0; n < t.length; n++) if (!
|
|
47922
|
+
function RN(e, t) {
|
|
47923
|
+
for (let n = 0; n < t.length; n++) if (!LN(e.cells[n] ?? "", t[n])) return !1;
|
|
47710
47924
|
return !0;
|
|
47711
47925
|
}
|
|
47712
|
-
function
|
|
47713
|
-
return e.filter((e) =>
|
|
47926
|
+
function zN(e, t) {
|
|
47927
|
+
return e.filter((e) => RN(e, t));
|
|
47714
47928
|
}
|
|
47715
47929
|
//#endregion
|
|
47716
47930
|
//#region src/components/DataUploader/utils/raggedRows/computeDisputeSpans.ts
|
|
47717
|
-
function
|
|
47931
|
+
function BN(e) {
|
|
47718
47932
|
if (e.length <= 1) return [];
|
|
47719
47933
|
let t = e[0].cells.length, n = [], r = -1;
|
|
47720
47934
|
for (let i = 0; i < t; i++) {
|
|
@@ -47731,25 +47945,25 @@ function hN(e) {
|
|
|
47731
47945
|
}
|
|
47732
47946
|
//#endregion
|
|
47733
47947
|
//#region src/components/DataUploader/utils/raggedRows/alignRow.ts
|
|
47734
|
-
function
|
|
47735
|
-
let r =
|
|
47948
|
+
function VN(e, t, n) {
|
|
47949
|
+
let r = MN(e, t.length, n), i = zN(r, t);
|
|
47736
47950
|
return i.length === 1 ? {
|
|
47737
47951
|
kind: "confident",
|
|
47738
47952
|
alignment: i[0]
|
|
47739
47953
|
} : i.length > 1 ? {
|
|
47740
47954
|
kind: "ambiguous",
|
|
47741
47955
|
candidates: i,
|
|
47742
|
-
disputeSpans:
|
|
47956
|
+
disputeSpans: BN(i)
|
|
47743
47957
|
} : {
|
|
47744
47958
|
kind: "invalid",
|
|
47745
47959
|
candidates: r,
|
|
47746
|
-
disputeSpans:
|
|
47960
|
+
disputeSpans: BN(r)
|
|
47747
47961
|
};
|
|
47748
47962
|
}
|
|
47749
47963
|
//#endregion
|
|
47750
47964
|
//#region src/components/DataUploader/utils/raggedRows/resolveRaggedRow.ts
|
|
47751
|
-
function
|
|
47752
|
-
let r =
|
|
47965
|
+
function HN(e, t, n) {
|
|
47966
|
+
let r = VN(e, t, n);
|
|
47753
47967
|
if (r.kind === "confident") return {
|
|
47754
47968
|
cells: r.alignment.cells,
|
|
47755
47969
|
conflictColumns: []
|
|
@@ -47768,111 +47982,131 @@ function _N(e, t, n) {
|
|
|
47768
47982
|
}
|
|
47769
47983
|
//#endregion
|
|
47770
47984
|
//#region src/components/DataUploader/context/useViewModel.tsx
|
|
47771
|
-
var
|
|
47985
|
+
var UN = 5e3, WN = 15, GN = 20, KN = new Set([
|
|
47772
47986
|
"xlsx",
|
|
47773
47987
|
"xls",
|
|
47774
47988
|
"xlsb",
|
|
47775
47989
|
"ods"
|
|
47776
47990
|
]);
|
|
47777
|
-
function
|
|
47991
|
+
function qN() {
|
|
47778
47992
|
let { store: e, validator: t, columns: n, primaryKey: r, setShowUploader: i, pendingImportFile: a, setPendingImportFile: o, onColumnMatch: s, onValueMatch: c, synonyms: l, addDynamicColumns: u, scaleClient: d } = th(), { t: f } = j(), [p, m] = (0, y.useState)(0), [h, g] = (0, y.useState)(0), [_, v] = (0, y.useState)(null), [b, x] = (0, y.useState)({}), S = (0, y.useMemo)(() => {
|
|
47779
47993
|
let e = new Set(Object.values(b).filter(Boolean));
|
|
47780
47994
|
return n.filter((t) => t.unique && e.has(t.id));
|
|
47781
|
-
}, [b, n]), [C, w] = (0, y.useState)(() => r), [T, E] = (0, y.useState)(!1), [D, k] = (0, y.useState)(!1), [A, M] = (0, y.useState)(null), [N, P] = (0, y.useState)([]), [F, I] = (0, y.useState)(null), [L, R] = (0, y.useState)([]), [ee, z] = (0, y.useState)({}), [B, V] = (0, y.useState)([]), [H, te] = (0, y.useState)({}), ne = (0, y.useRef)(null), [re, ie] = (0, y.useState)(
|
|
47995
|
+
}, [b, n]), [C, w] = (0, y.useState)(() => r), [T, E] = (0, y.useState)(!1), [D, k] = (0, y.useState)(!1), [A, M] = (0, y.useState)(null), [N, P] = (0, y.useState)([]), [F, I] = (0, y.useState)(null), [L, R] = (0, y.useState)([]), [ee, z] = (0, y.useState)({}), [B, V] = (0, y.useState)([]), [H, te] = (0, y.useState)({}), ne = (0, y.useRef)(null), [re, ie] = (0, y.useState)(-1), ae = (0, y.useCallback)((e, t) => t ? f("dataEditor.uploader.matchColumns.syntheticColumnValue", {
|
|
47996
|
+
index: e + 1,
|
|
47997
|
+
value: t
|
|
47998
|
+
}) : f("dataEditor.uploader.matchColumns.syntheticColumn", { index: e + 1 }), [f]), oe = (0, y.useMemo)(() => _ ? VM(_.detection, re) : 0, [_, re]), U = (0, y.useMemo)(() => _ ? HM(_.rawRows, re, oe, ae) : [], [
|
|
47999
|
+
_,
|
|
48000
|
+
re,
|
|
48001
|
+
oe,
|
|
48002
|
+
ae
|
|
48003
|
+
]), se = (0, y.useCallback)((e) => {
|
|
47782
48004
|
D || w(e);
|
|
47783
|
-
}, [D]),
|
|
47784
|
-
|
|
47785
|
-
let
|
|
47786
|
-
(0, y.useEffect)(() => () =>
|
|
47787
|
-
let
|
|
48005
|
+
}, [D]), ce = (0, y.useRef)(null);
|
|
48006
|
+
ce.current ||= new Bh();
|
|
48007
|
+
let le = ce.current;
|
|
48008
|
+
(0, y.useEffect)(() => () => le.dispose(), [le]);
|
|
48009
|
+
let ue = (0, y.useMemo)(() => {
|
|
47788
48010
|
let e = new Set(Object.values(b).filter(Boolean));
|
|
47789
48011
|
return n.some((t) => t.editor?.type === "select" && e.has(t.id));
|
|
47790
|
-
}, [b, n]), [
|
|
48012
|
+
}, [b, n]), [de] = (0, y.useState)(() => e.getLocalRowCount() > 0), fe = (0, y.useMemo)(() => {
|
|
47791
48013
|
let e = [{
|
|
47792
48014
|
id: "select-files",
|
|
47793
48015
|
title: f("dataEditor.uploader.steps.selectFiles"),
|
|
47794
|
-
content: /* @__PURE__ */ (0, O.jsx)(
|
|
48016
|
+
content: /* @__PURE__ */ (0, O.jsx)(SN, {})
|
|
47795
48017
|
}];
|
|
47796
48018
|
return N.length > 1 && e.push({
|
|
47797
48019
|
id: "sheet-selection",
|
|
47798
48020
|
title: f("dataEditor.uploader.steps.sheetSelection"),
|
|
47799
|
-
content: /* @__PURE__ */ (0, O.jsx)(
|
|
48021
|
+
content: /* @__PURE__ */ (0, O.jsx)(wN, {})
|
|
48022
|
+
}), _ && _.detection.review.kind !== "none" && e.push({
|
|
48023
|
+
id: "header-selection",
|
|
48024
|
+
title: f("dataEditor.uploader.steps.headerSelection"),
|
|
48025
|
+
content: /* @__PURE__ */ (0, O.jsx)(jM, {})
|
|
47800
48026
|
}), e.push({
|
|
47801
48027
|
id: "column-matching",
|
|
47802
48028
|
title: f("dataEditor.uploader.steps.matchColumns"),
|
|
47803
48029
|
content: /* @__PURE__ */ (0, O.jsx)(sM, {})
|
|
47804
|
-
}),
|
|
48030
|
+
}), ue && e.push({
|
|
47805
48031
|
id: "match-values",
|
|
47806
48032
|
title: f("dataEditor.uploader.steps.matchValues"),
|
|
47807
|
-
content: /* @__PURE__ */ (0, O.jsx)(
|
|
47808
|
-
}), S.length > 0 &&
|
|
48033
|
+
content: /* @__PURE__ */ (0, O.jsx)(sN, {})
|
|
48034
|
+
}), S.length > 0 && de && e.push({
|
|
47809
48035
|
id: "primary-key",
|
|
47810
48036
|
title: f("dataEditor.uploader.steps.primaryKey"),
|
|
47811
|
-
content: /* @__PURE__ */ (0, O.jsx)(
|
|
48037
|
+
content: /* @__PURE__ */ (0, O.jsx)(uN, {})
|
|
47812
48038
|
}), e;
|
|
47813
48039
|
}, [
|
|
47814
48040
|
S.length,
|
|
47815
48041
|
N.length,
|
|
47816
|
-
|
|
47817
|
-
|
|
48042
|
+
ue,
|
|
48043
|
+
de,
|
|
48044
|
+
_,
|
|
47818
48045
|
f
|
|
47819
|
-
]),
|
|
47820
|
-
e >= 0 && e <
|
|
47821
|
-
}, [
|
|
48046
|
+
]), pe = (0, y.useCallback)((e) => {
|
|
48047
|
+
e >= 0 && e < fe.length && m(e);
|
|
48048
|
+
}, [fe.length]), me = (0, y.useCallback)(() => {
|
|
47822
48049
|
m((e) => {
|
|
47823
|
-
let t = Math.min(e + 1,
|
|
48050
|
+
let t = Math.min(e + 1, fe.length - 1);
|
|
47824
48051
|
return g((e) => Math.max(e, t)), t;
|
|
47825
48052
|
});
|
|
47826
|
-
}, [
|
|
48053
|
+
}, [fe.length]), he = (0, y.useCallback)(() => {
|
|
47827
48054
|
m((e) => Math.max(e - 1, 0));
|
|
47828
|
-
}, []),
|
|
47829
|
-
v(e), E(!1)
|
|
48055
|
+
}, []), ge = p === 0, _e = p === fe.length - 1, ve = (0, y.useCallback)((e) => {
|
|
48056
|
+
v(e), E(!1);
|
|
48057
|
+
}, []), ye = (0, y.useRef)(0);
|
|
48058
|
+
(0, y.useEffect)(() => {
|
|
48059
|
+
if (!_ || U.length === 0) return;
|
|
48060
|
+
let e = ++ye.current;
|
|
48061
|
+
Xj(U, n, s, l).then((t) => {
|
|
48062
|
+
ye.current === e && x(t);
|
|
48063
|
+
});
|
|
47830
48064
|
}, [
|
|
48065
|
+
_,
|
|
48066
|
+
U,
|
|
47831
48067
|
n,
|
|
47832
48068
|
s,
|
|
47833
48069
|
l
|
|
47834
|
-
])
|
|
47835
|
-
|
|
47836
|
-
|
|
48070
|
+
]);
|
|
48071
|
+
let be = (0, y.useCallback)(() => {
|
|
48072
|
+
le.cancel(), v(null), E(!1), x({}), V([]), te({}), ne.current = null, ie(-1), M(null), P([]), I(null), R([]);
|
|
48073
|
+
}, [le]), xe = (0, y.useCallback)((e, t, n) => {
|
|
47837
48074
|
M(e), P(t), I(t[0]), R(n), E(!1);
|
|
47838
|
-
}, []),
|
|
47839
|
-
!A || !F || (E(!0),
|
|
48075
|
+
}, []), Se = (0, y.useCallback)(() => {
|
|
48076
|
+
!A || !F || (E(!0), le.parse(A, {
|
|
47840
48077
|
format: "xlsx",
|
|
47841
48078
|
sheetName: F
|
|
47842
48079
|
}).then((e) => {
|
|
47843
48080
|
if (e.kind !== "rows") return;
|
|
47844
|
-
let t =
|
|
47845
|
-
ie(t.headerRowIndex),
|
|
48081
|
+
let t = wM(e.rows);
|
|
48082
|
+
ie(t.headerRowIndex), ve({
|
|
47846
48083
|
fileName: A.name,
|
|
47847
|
-
|
|
47848
|
-
|
|
47849
|
-
isParsing: !1,
|
|
47850
|
-
rawCells: t.rawCells,
|
|
48084
|
+
rawRows: e.rows,
|
|
48085
|
+
detection: t,
|
|
47851
48086
|
delimiter: ","
|
|
47852
|
-
}),
|
|
48087
|
+
}), me();
|
|
47853
48088
|
}).catch(() => {
|
|
47854
48089
|
E(!1);
|
|
47855
48090
|
}));
|
|
47856
48091
|
}, [
|
|
47857
48092
|
A,
|
|
47858
48093
|
F,
|
|
47859
|
-
|
|
47860
|
-
|
|
47861
|
-
|
|
47862
|
-
|
|
48094
|
+
le,
|
|
48095
|
+
ve,
|
|
48096
|
+
me,
|
|
48097
|
+
ae
|
|
48098
|
+
]), Ce = (0, y.useCallback)(async (t) => {
|
|
47863
48099
|
try {
|
|
47864
|
-
let e = await
|
|
48100
|
+
let e = await le.parse(t, { format: "csv" });
|
|
47865
48101
|
if (e.kind !== "rows") {
|
|
47866
48102
|
E(!1);
|
|
47867
48103
|
return;
|
|
47868
48104
|
}
|
|
47869
|
-
let n =
|
|
47870
|
-
if (ie(n.headerRowIndex),
|
|
48105
|
+
let n = wM(e.rows);
|
|
48106
|
+
if (ie(n.headerRowIndex), ve({
|
|
47871
48107
|
fileName: t.name,
|
|
47872
|
-
|
|
47873
|
-
|
|
47874
|
-
isParsing: !1,
|
|
47875
|
-
rawCells: n.rawCells,
|
|
48108
|
+
rawRows: e.rows,
|
|
48109
|
+
detection: n,
|
|
47876
48110
|
delimiter: e.delimiter
|
|
47877
48111
|
}), e.errors.length > 0) {
|
|
47878
48112
|
let t = e.errors.slice(0, 3).map((e) => e.row == null ? "?" : String(e.row + 1)).join(", ");
|
|
@@ -47890,20 +48124,20 @@ function SN() {
|
|
|
47890
48124
|
});
|
|
47891
48125
|
}
|
|
47892
48126
|
}, [
|
|
47893
|
-
|
|
47894
|
-
|
|
48127
|
+
le,
|
|
48128
|
+
ve,
|
|
47895
48129
|
E,
|
|
47896
48130
|
e,
|
|
47897
|
-
f
|
|
47898
|
-
|
|
48131
|
+
f,
|
|
48132
|
+
ae
|
|
48133
|
+
]), we = (0, y.useCallback)(async (t) => {
|
|
47899
48134
|
try {
|
|
47900
|
-
let e = await
|
|
48135
|
+
let e = await le.parse(t, { format: "json" });
|
|
47901
48136
|
if (e.kind !== "records") return;
|
|
47902
|
-
|
|
48137
|
+
ie(0), ve({
|
|
47903
48138
|
fileName: t.name,
|
|
47904
|
-
|
|
47905
|
-
|
|
47906
|
-
isParsing: !1
|
|
48139
|
+
rawRows: WM(e.headers, e.rows),
|
|
48140
|
+
detection: UM()
|
|
47907
48141
|
});
|
|
47908
48142
|
} catch (t) {
|
|
47909
48143
|
E(!1), e.errorHandler.handleError({
|
|
@@ -47914,19 +48148,18 @@ function SN() {
|
|
|
47914
48148
|
});
|
|
47915
48149
|
}
|
|
47916
48150
|
}, [
|
|
47917
|
-
|
|
47918
|
-
|
|
48151
|
+
le,
|
|
48152
|
+
ve,
|
|
47919
48153
|
E,
|
|
47920
48154
|
e
|
|
47921
|
-
]),
|
|
48155
|
+
]), Te = (0, y.useCallback)(async (t) => {
|
|
47922
48156
|
try {
|
|
47923
|
-
let e = await
|
|
48157
|
+
let e = await le.parse(t, { format: "xml" });
|
|
47924
48158
|
if (e.kind !== "records") return;
|
|
47925
|
-
|
|
48159
|
+
ie(0), ve({
|
|
47926
48160
|
fileName: t.name,
|
|
47927
|
-
|
|
47928
|
-
|
|
47929
|
-
isParsing: !1
|
|
48161
|
+
rawRows: WM(e.headers, e.rows),
|
|
48162
|
+
detection: UM()
|
|
47930
48163
|
});
|
|
47931
48164
|
} catch (t) {
|
|
47932
48165
|
E(!1), e.errorHandler.handleError({
|
|
@@ -47937,33 +48170,31 @@ function SN() {
|
|
|
47937
48170
|
});
|
|
47938
48171
|
}
|
|
47939
48172
|
}, [
|
|
47940
|
-
|
|
47941
|
-
|
|
48173
|
+
le,
|
|
48174
|
+
ve,
|
|
47942
48175
|
E,
|
|
47943
48176
|
e
|
|
47944
|
-
]),
|
|
47945
|
-
|
|
48177
|
+
]), Ee = (0, y.useCallback)((t) => {
|
|
48178
|
+
le.parse(t, { format: "xlsx" }).then((e) => {
|
|
47946
48179
|
if (e.kind === "sheets") {
|
|
47947
48180
|
let n = e.sheets.map((e) => {
|
|
47948
|
-
let
|
|
48181
|
+
let t = wM(e.rows), n = VM(t, t.headerRowIndex), r = HM(e.rows, t.headerRowIndex, n, ae);
|
|
47949
48182
|
return {
|
|
47950
48183
|
name: e.name,
|
|
47951
|
-
headers:
|
|
47952
|
-
rows:
|
|
48184
|
+
headers: r,
|
|
48185
|
+
rows: JM(e.rows, r, n, WN),
|
|
47953
48186
|
totalRows: e.totalRows - 1
|
|
47954
48187
|
};
|
|
47955
48188
|
});
|
|
47956
|
-
|
|
48189
|
+
xe(t, e.sheets.map((e) => e.name), n);
|
|
47957
48190
|
return;
|
|
47958
48191
|
}
|
|
47959
48192
|
if (e.kind !== "rows") return;
|
|
47960
|
-
let n =
|
|
47961
|
-
ie(n.headerRowIndex),
|
|
48193
|
+
let n = wM(e.rows);
|
|
48194
|
+
ie(n.headerRowIndex), ve({
|
|
47962
48195
|
fileName: t.name,
|
|
47963
|
-
|
|
47964
|
-
|
|
47965
|
-
isParsing: !1,
|
|
47966
|
-
rawCells: n.rawCells,
|
|
48196
|
+
rawRows: e.rows,
|
|
48197
|
+
detection: n,
|
|
47967
48198
|
delimiter: ","
|
|
47968
48199
|
});
|
|
47969
48200
|
}).catch((t) => {
|
|
@@ -47975,39 +48206,40 @@ function SN() {
|
|
|
47975
48206
|
}), E(!1);
|
|
47976
48207
|
});
|
|
47977
48208
|
}, [
|
|
47978
|
-
|
|
47979
|
-
|
|
47980
|
-
|
|
48209
|
+
le,
|
|
48210
|
+
ve,
|
|
48211
|
+
xe,
|
|
47981
48212
|
E,
|
|
47982
|
-
e
|
|
47983
|
-
|
|
48213
|
+
e,
|
|
48214
|
+
ae
|
|
48215
|
+
]), De = (0, y.useCallback)((e) => {
|
|
47984
48216
|
E(!0), ne.current = e;
|
|
47985
48217
|
let t = e.name.split(".").pop()?.toLowerCase();
|
|
47986
|
-
t &&
|
|
48218
|
+
t && KN.has(t) ? Ee(e) : t === "json" ? we(e) : t === "xml" ? Te(e) : Ce(e);
|
|
47987
48219
|
}, [
|
|
47988
|
-
|
|
47989
|
-
|
|
47990
|
-
|
|
47991
|
-
|
|
48220
|
+
Ce,
|
|
48221
|
+
we,
|
|
48222
|
+
Ee,
|
|
48223
|
+
Te,
|
|
47992
48224
|
E
|
|
47993
48225
|
]);
|
|
47994
48226
|
(0, y.useEffect)(() => {
|
|
47995
|
-
a && (
|
|
48227
|
+
a && (De(a), o(null));
|
|
47996
48228
|
}, [
|
|
47997
48229
|
a,
|
|
47998
48230
|
o,
|
|
47999
|
-
|
|
48231
|
+
De
|
|
48000
48232
|
]);
|
|
48001
|
-
let [
|
|
48002
|
-
|
|
48003
|
-
}, []),
|
|
48004
|
-
|
|
48233
|
+
let [Oe, ke] = (0, y.useState)(null), [Ae, je] = (0, y.useState)(null), Me = (0, y.useCallback)(() => {
|
|
48234
|
+
je(null);
|
|
48235
|
+
}, []), Ne = (0, y.useCallback)(async (e) => {
|
|
48236
|
+
ke(e.id), je(null);
|
|
48005
48237
|
try {
|
|
48006
48238
|
let t = await e.fetch();
|
|
48007
|
-
if (t instanceof File)
|
|
48239
|
+
if (t instanceof File) De(t);
|
|
48008
48240
|
else if (Array.isArray(t)) {
|
|
48009
48241
|
if (t.length === 0) {
|
|
48010
|
-
|
|
48242
|
+
je(f("dataEditor.uploader.remoteSources.emptyData"));
|
|
48011
48243
|
return;
|
|
48012
48244
|
}
|
|
48013
48245
|
let n = Object.keys(t[0]), r = t.map((e) => {
|
|
@@ -48018,23 +48250,22 @@ function SN() {
|
|
|
48018
48250
|
}
|
|
48019
48251
|
return t;
|
|
48020
48252
|
});
|
|
48021
|
-
|
|
48253
|
+
ie(0), ve({
|
|
48022
48254
|
fileName: e.label,
|
|
48023
|
-
|
|
48024
|
-
|
|
48025
|
-
isParsing: !1
|
|
48255
|
+
rawRows: WM(n, r),
|
|
48256
|
+
detection: UM()
|
|
48026
48257
|
});
|
|
48027
48258
|
}
|
|
48028
48259
|
} catch (e) {
|
|
48029
|
-
|
|
48260
|
+
je(e instanceof Error ? e.message : String(e));
|
|
48030
48261
|
} finally {
|
|
48031
|
-
|
|
48262
|
+
ke(null);
|
|
48032
48263
|
}
|
|
48033
48264
|
}, [
|
|
48034
|
-
|
|
48035
|
-
|
|
48265
|
+
De,
|
|
48266
|
+
ve,
|
|
48036
48267
|
f
|
|
48037
|
-
]),
|
|
48268
|
+
]), Pe = (0, y.useCallback)((e, t) => {
|
|
48038
48269
|
x((n) => {
|
|
48039
48270
|
let r = {
|
|
48040
48271
|
...n,
|
|
@@ -48043,52 +48274,50 @@ function SN() {
|
|
|
48043
48274
|
if (t) for (let n in r) n !== e && r[n] === t && (r[n] = void 0);
|
|
48044
48275
|
return r;
|
|
48045
48276
|
});
|
|
48046
|
-
}, []), [
|
|
48277
|
+
}, []), [Fe, Ie] = (0, y.useState)({}), [Le, Re] = (0, y.useState)({}), ze = (0, y.useRef)(0);
|
|
48047
48278
|
(0, y.useEffect)(() => {
|
|
48048
48279
|
if (!_) {
|
|
48049
|
-
|
|
48280
|
+
Ie({}), Re({});
|
|
48050
48281
|
return;
|
|
48051
48282
|
}
|
|
48052
48283
|
if (D) return;
|
|
48053
|
-
let e = {}, t = {};
|
|
48054
|
-
for (let [
|
|
48055
|
-
if (!
|
|
48056
|
-
let
|
|
48057
|
-
if (!
|
|
48058
|
-
let
|
|
48059
|
-
if (
|
|
48060
|
-
let
|
|
48061
|
-
|
|
48062
|
-
|
|
48063
|
-
|
|
48064
|
-
|
|
48065
|
-
|
|
48066
|
-
let
|
|
48067
|
-
|
|
48068
|
-
|
|
48069
|
-
for (let e of c) {
|
|
48070
|
-
let t = o.has(e.trim().toLowerCase()), n = r && !t ? e.split(r) : [e];
|
|
48284
|
+
let e = {}, t = {}, r = GM(U);
|
|
48285
|
+
for (let [i, a] of Object.entries(b)) {
|
|
48286
|
+
if (!a) continue;
|
|
48287
|
+
let o = n.find((e) => e.id === a);
|
|
48288
|
+
if (!o?.editor) continue;
|
|
48289
|
+
let s = o.editor.type;
|
|
48290
|
+
if (s !== "select" && s !== "multiselect") continue;
|
|
48291
|
+
let c = o.editor.options, l = r.get(i);
|
|
48292
|
+
if (l === void 0) continue;
|
|
48293
|
+
let u = KM(_.rawRows, oe, l);
|
|
48294
|
+
if (s === "multiselect") {
|
|
48295
|
+
let n = o.editor.delimiter, r = kN(u, c, n);
|
|
48296
|
+
t[a] = r;
|
|
48297
|
+
let i = new Set(c.map((e) => e.trim().toLowerCase())), s = /* @__PURE__ */ new Set();
|
|
48298
|
+
for (let e of u) {
|
|
48299
|
+
let t = i.has(e.trim().toLowerCase()), n = r && !t ? e.split(r) : [e];
|
|
48071
48300
|
for (let e of n) {
|
|
48072
48301
|
let t = e.trim();
|
|
48073
|
-
t !== "" &&
|
|
48302
|
+
t !== "" && s.add(t);
|
|
48074
48303
|
}
|
|
48075
48304
|
}
|
|
48076
|
-
e[
|
|
48077
|
-
importedValues: Array.from(
|
|
48078
|
-
options:
|
|
48305
|
+
e[a] = {
|
|
48306
|
+
importedValues: Array.from(s),
|
|
48307
|
+
options: c
|
|
48079
48308
|
};
|
|
48080
|
-
} else e[
|
|
48081
|
-
importedValues: Array.from(new Set(
|
|
48082
|
-
options:
|
|
48309
|
+
} else e[a] = {
|
|
48310
|
+
importedValues: Array.from(new Set(u)),
|
|
48311
|
+
options: c
|
|
48083
48312
|
};
|
|
48084
48313
|
}
|
|
48085
|
-
if (
|
|
48086
|
-
|
|
48314
|
+
if (Re(t), Object.keys(e).length === 0) {
|
|
48315
|
+
Ie({});
|
|
48087
48316
|
return;
|
|
48088
48317
|
}
|
|
48089
|
-
let
|
|
48318
|
+
let i = ++ze.current;
|
|
48090
48319
|
Kj(e, c, l).then((e) => {
|
|
48091
|
-
|
|
48320
|
+
ze.current === i && Ie(e);
|
|
48092
48321
|
});
|
|
48093
48322
|
}, [
|
|
48094
48323
|
_,
|
|
@@ -48096,16 +48325,18 @@ function SN() {
|
|
|
48096
48325
|
n,
|
|
48097
48326
|
c,
|
|
48098
48327
|
l,
|
|
48099
|
-
D
|
|
48328
|
+
D,
|
|
48329
|
+
U,
|
|
48330
|
+
oe
|
|
48100
48331
|
]);
|
|
48101
|
-
let
|
|
48332
|
+
let Be = (0, y.useMemo)(() => {
|
|
48102
48333
|
let e = {};
|
|
48103
|
-
for (let [t, n] of Object.entries(
|
|
48334
|
+
for (let [t, n] of Object.entries(Fe)) e[t] = {
|
|
48104
48335
|
...n,
|
|
48105
48336
|
...ee[t]
|
|
48106
48337
|
};
|
|
48107
48338
|
return e;
|
|
48108
|
-
}, [
|
|
48339
|
+
}, [Fe, ee]), Ve = (0, y.useCallback)((e, t, n) => {
|
|
48109
48340
|
z((r) => ({
|
|
48110
48341
|
...r,
|
|
48111
48342
|
[e]: {
|
|
@@ -48113,30 +48344,29 @@ function SN() {
|
|
|
48113
48344
|
[t]: n
|
|
48114
48345
|
}
|
|
48115
48346
|
}));
|
|
48116
|
-
}, []),
|
|
48117
|
-
|
|
48347
|
+
}, []), He = (0, y.useCallback)((e, t) => {
|
|
48348
|
+
Re((n) => ({
|
|
48118
48349
|
...n,
|
|
48119
48350
|
[e]: t
|
|
48120
48351
|
}));
|
|
48121
|
-
}, []),
|
|
48352
|
+
}, []), Ue = (0, y.useCallback)((e) => {
|
|
48122
48353
|
if (!_) return;
|
|
48123
48354
|
let t = Object.keys(b).find((t) => b[t] === e);
|
|
48124
48355
|
if (!t) return;
|
|
48125
48356
|
let r = n.find((t) => t.id === e);
|
|
48126
48357
|
if (r?.editor?.type !== "multiselect") return;
|
|
48127
|
-
let i =
|
|
48128
|
-
|
|
48129
|
-
|
|
48130
|
-
|
|
48131
|
-
}
|
|
48132
|
-
let a = r.editor.delimiter;
|
|
48133
|
-
Re(e, iN(i, r.editor.options, a));
|
|
48358
|
+
let i = GM(U).get(t);
|
|
48359
|
+
if (i === void 0) return;
|
|
48360
|
+
let a = KM(_.rawRows, oe, i), o = r.editor.delimiter;
|
|
48361
|
+
He(e, kN(a, r.editor.options, o));
|
|
48134
48362
|
}, [
|
|
48135
48363
|
_,
|
|
48136
48364
|
b,
|
|
48137
48365
|
n,
|
|
48138
|
-
|
|
48139
|
-
|
|
48366
|
+
He,
|
|
48367
|
+
U,
|
|
48368
|
+
oe
|
|
48369
|
+
]), We = (0, y.useCallback)((e, t) => {
|
|
48140
48370
|
te((n) => {
|
|
48141
48371
|
let r = n[e] ?? [];
|
|
48142
48372
|
return r.includes(t) ? n : {
|
|
@@ -48144,36 +48374,38 @@ function SN() {
|
|
|
48144
48374
|
[e]: [...r, t]
|
|
48145
48375
|
};
|
|
48146
48376
|
});
|
|
48147
|
-
}, []),
|
|
48377
|
+
}, []), Ge = (0, y.useCallback)((e) => {
|
|
48148
48378
|
let t = [];
|
|
48149
48379
|
for (let [r, i] of Object.entries(b)) !i || e.has(i) || n.find((e) => e.id === i)?.editor?.type === "date" && t.push(r);
|
|
48150
48380
|
return t;
|
|
48151
|
-
}, [b, n]),
|
|
48152
|
-
let e = new Set(B.map((e) => e.id)), t =
|
|
48381
|
+
}, [b, n]), Ke = (0, y.useCallback)(() => {
|
|
48382
|
+
let e = new Set(B.map((e) => e.id)), t = TN(b, n, e), i = _ ? JM(_.rawRows, U, oe, 1e3) : [], a = rp(i, EN(t)), o = cp(i, Ge(e));
|
|
48153
48383
|
return {
|
|
48154
48384
|
columnMapping: b,
|
|
48155
|
-
valueMapping:
|
|
48385
|
+
valueMapping: Be,
|
|
48156
48386
|
primaryKey: C ?? r,
|
|
48157
48387
|
selectedSheet: F ?? void 0,
|
|
48158
48388
|
headerRowIndex: re,
|
|
48159
|
-
numberFormat:
|
|
48389
|
+
numberFormat: a,
|
|
48160
48390
|
dateFormat: o,
|
|
48161
48391
|
newColumns: B
|
|
48162
48392
|
};
|
|
48163
48393
|
}, [
|
|
48164
48394
|
_,
|
|
48165
48395
|
b,
|
|
48166
|
-
|
|
48396
|
+
Be,
|
|
48167
48397
|
C,
|
|
48168
48398
|
F,
|
|
48169
48399
|
r,
|
|
48170
48400
|
re,
|
|
48401
|
+
U,
|
|
48402
|
+
oe,
|
|
48171
48403
|
B,
|
|
48172
48404
|
n,
|
|
48173
|
-
|
|
48174
|
-
]),
|
|
48405
|
+
Ge
|
|
48406
|
+
]), qe = (0, y.useCallback)(async () => {
|
|
48175
48407
|
if (!ne.current || !d?.onFileImport) return;
|
|
48176
|
-
let t = new AbortController(), n =
|
|
48408
|
+
let t = new AbortController(), n = Ke();
|
|
48177
48409
|
await d.onFileImport({
|
|
48178
48410
|
file: ne.current,
|
|
48179
48411
|
mappings: n,
|
|
@@ -48182,49 +48414,59 @@ function SN() {
|
|
|
48182
48414
|
}), e.reloadServerData();
|
|
48183
48415
|
}, [
|
|
48184
48416
|
d,
|
|
48185
|
-
|
|
48417
|
+
Ke,
|
|
48186
48418
|
e
|
|
48187
|
-
]),
|
|
48419
|
+
]), Je = (0, y.useCallback)(async () => {
|
|
48188
48420
|
if (!_ || !d?.onRowsImport) return;
|
|
48189
48421
|
let t = _;
|
|
48190
48422
|
v(null);
|
|
48191
|
-
let r = crypto.randomUUID(), i =
|
|
48423
|
+
let r = crypto.randomUUID(), i = Ke(), a = new AbortController(), o = d.importChunkSize ?? UN, s = TN(b, n, new Set(B.map((e) => e.id))), c = {
|
|
48192
48424
|
numberFormat: i.numberFormat,
|
|
48193
48425
|
dateFormat: i.dateFormat,
|
|
48194
48426
|
monthTable: op(f),
|
|
48195
|
-
valueMapping:
|
|
48196
|
-
multiselectDelimiters:
|
|
48197
|
-
}, l = t.
|
|
48198
|
-
for (;
|
|
48199
|
-
let
|
|
48200
|
-
|
|
48201
|
-
|
|
48427
|
+
valueMapping: Be,
|
|
48428
|
+
multiselectDelimiters: Le
|
|
48429
|
+
}, l = U, u = t.rawRows, p = [];
|
|
48430
|
+
for (let e = oe; e < u.length; e++) {
|
|
48431
|
+
let t = u[e];
|
|
48432
|
+
t && !LM(t) && p.push(e);
|
|
48433
|
+
}
|
|
48434
|
+
let m = 0;
|
|
48435
|
+
for (; m < p.length;) {
|
|
48436
|
+
let e = Math.min(m + o, p.length), n = [];
|
|
48437
|
+
for (let t = m; t < e; t++) {
|
|
48438
|
+
let e = qM(u[p[t]] ?? [], l);
|
|
48439
|
+
n.push(DN(e, s, c));
|
|
48440
|
+
}
|
|
48441
|
+
let f = e >= p.length, h = Math.floor(m / o);
|
|
48202
48442
|
await d.onRowsImport({
|
|
48203
48443
|
importId: r,
|
|
48204
48444
|
sourceName: t.fileName,
|
|
48205
|
-
chunkIndex:
|
|
48445
|
+
chunkIndex: h,
|
|
48206
48446
|
isLastChunk: f,
|
|
48207
48447
|
rows: n,
|
|
48208
|
-
newColumns:
|
|
48448
|
+
newColumns: h === 0 && B.length > 0 ? B : void 0,
|
|
48209
48449
|
primaryKey: i.primaryKey,
|
|
48210
48450
|
signal: a.signal
|
|
48211
48451
|
});
|
|
48212
|
-
for (let t =
|
|
48213
|
-
|
|
48452
|
+
for (let t = m; t < e; t++) u[p[t]] = void 0;
|
|
48453
|
+
m = e;
|
|
48214
48454
|
}
|
|
48215
48455
|
e.reloadServerData();
|
|
48216
48456
|
}, [
|
|
48217
48457
|
_,
|
|
48218
48458
|
d,
|
|
48219
|
-
|
|
48459
|
+
Ke,
|
|
48220
48460
|
b,
|
|
48221
48461
|
B,
|
|
48222
48462
|
n,
|
|
48223
|
-
|
|
48224
|
-
|
|
48463
|
+
U,
|
|
48464
|
+
oe,
|
|
48465
|
+
Be,
|
|
48466
|
+
Le,
|
|
48225
48467
|
e,
|
|
48226
48468
|
f
|
|
48227
|
-
]),
|
|
48469
|
+
]), W = (0, y.useCallback)(() => new Promise((r) => {
|
|
48228
48470
|
if (!_) {
|
|
48229
48471
|
r();
|
|
48230
48472
|
return;
|
|
@@ -48235,47 +48477,52 @@ function SN() {
|
|
|
48235
48477
|
B.length > 0 && u(B);
|
|
48236
48478
|
for (let [t, n] of Object.entries(H)) e.addColumnOptions(t, n);
|
|
48237
48479
|
let o = e.registerSource({ name: i.fileName });
|
|
48238
|
-
e.setSourceLoading(o, !0), e.recordLearnedSynonyms(
|
|
48239
|
-
let s =
|
|
48240
|
-
|
|
48241
|
-
|
|
48480
|
+
e.setSourceLoading(o, !0), e.recordLearnedSynonyms(jN(b, Be, [...n, ...B], Mj(jj, l)));
|
|
48481
|
+
let s = U, c = i.delimiter ?? ",", d = i.rawRows, p = [];
|
|
48482
|
+
for (let e = oe; e < d.length; e++) {
|
|
48483
|
+
let t = d[e];
|
|
48484
|
+
t && !LM(t) && p.push(e);
|
|
48485
|
+
}
|
|
48486
|
+
let m = JM(i.rawRows, s, oe, 1e3), h = TN(b, n, a), g = {
|
|
48487
|
+
numberFormat: rp(m, EN(h)),
|
|
48488
|
+
dateFormat: cp(m, Ge(a)),
|
|
48242
48489
|
monthTable: op(f),
|
|
48243
|
-
valueMapping:
|
|
48244
|
-
multiselectDelimiters:
|
|
48245
|
-
},
|
|
48490
|
+
valueMapping: Be,
|
|
48491
|
+
multiselectDelimiters: Le
|
|
48492
|
+
}, _ = s.map((e) => {
|
|
48246
48493
|
let t = b[e];
|
|
48247
48494
|
return (t ? n.find((e) => e.id === t) : void 0) ?? {
|
|
48248
48495
|
id: e,
|
|
48249
48496
|
title: e
|
|
48250
48497
|
};
|
|
48251
|
-
}),
|
|
48252
|
-
let n = Math.min(
|
|
48253
|
-
for (let e =
|
|
48254
|
-
let t = d[e], n =
|
|
48255
|
-
if (
|
|
48256
|
-
let { cells: r, conflictColumns: i } =
|
|
48498
|
+
}), v = 0, y = () => {
|
|
48499
|
+
let n = Math.min(v + UN, p.length), i = [], a = [];
|
|
48500
|
+
for (let e = v; e < n; e++) {
|
|
48501
|
+
let t = d[p[e]] ?? [], n = qM(t, s);
|
|
48502
|
+
if (t.length !== s.length) {
|
|
48503
|
+
let { cells: r, conflictColumns: i } = HN(t.map((e) => String(e ?? "")), _, c);
|
|
48257
48504
|
if (r.length) {
|
|
48258
48505
|
let e = {};
|
|
48259
|
-
for (let t = 0; t <
|
|
48260
|
-
|
|
48506
|
+
for (let t = 0; t < s.length; t++) e[s[t]] = r[t] ?? "";
|
|
48507
|
+
n = e;
|
|
48261
48508
|
}
|
|
48262
48509
|
if (i.length) {
|
|
48263
48510
|
let t = [];
|
|
48264
48511
|
for (let e of i) {
|
|
48265
|
-
let n = b[
|
|
48512
|
+
let n = b[s[e]];
|
|
48266
48513
|
n && t.push(n);
|
|
48267
48514
|
}
|
|
48268
48515
|
t.length && a.push({
|
|
48269
|
-
localIndex: e -
|
|
48516
|
+
localIndex: e - v,
|
|
48270
48517
|
columnIds: t
|
|
48271
48518
|
});
|
|
48272
48519
|
}
|
|
48273
48520
|
}
|
|
48274
|
-
i.push(
|
|
48521
|
+
i.push(DN(n, h, g));
|
|
48275
48522
|
}
|
|
48276
48523
|
let { rows: l, rowIds: u } = e.upsertRows(o, i, { anchorKey: C ?? void 0 });
|
|
48277
|
-
for (let e =
|
|
48278
|
-
|
|
48524
|
+
for (let e = v; e < n; e++) e < GN || (d[p[e]] = void 0);
|
|
48525
|
+
v = n, setTimeout(() => {
|
|
48279
48526
|
t.validateRows(l, u);
|
|
48280
48527
|
for (let { localIndex: t, columnIds: n } of a) {
|
|
48281
48528
|
let r = u[t];
|
|
@@ -48288,11 +48535,11 @@ function SN() {
|
|
|
48288
48535
|
}
|
|
48289
48536
|
}
|
|
48290
48537
|
a.length > 0 && e.notify();
|
|
48291
|
-
}, 0),
|
|
48538
|
+
}, 0), v < p.length ? setTimeout(y, 0) : e.finalizeSource(o).then(() => {
|
|
48292
48539
|
t.validateUniqueness(), r();
|
|
48293
48540
|
});
|
|
48294
48541
|
};
|
|
48295
|
-
|
|
48542
|
+
y();
|
|
48296
48543
|
}, 0);
|
|
48297
48544
|
}), [
|
|
48298
48545
|
_,
|
|
@@ -48304,43 +48551,45 @@ function SN() {
|
|
|
48304
48551
|
t,
|
|
48305
48552
|
n,
|
|
48306
48553
|
u,
|
|
48307
|
-
|
|
48308
|
-
|
|
48554
|
+
Be,
|
|
48555
|
+
Le,
|
|
48309
48556
|
l,
|
|
48310
|
-
|
|
48557
|
+
Ge,
|
|
48558
|
+
U,
|
|
48559
|
+
oe,
|
|
48311
48560
|
f
|
|
48312
48561
|
]);
|
|
48313
48562
|
return {
|
|
48314
|
-
steps:
|
|
48563
|
+
steps: fe,
|
|
48315
48564
|
activeStepIndex: p,
|
|
48316
48565
|
currentStepIndex: h,
|
|
48317
|
-
isFirstStep:
|
|
48318
|
-
isLastStep:
|
|
48319
|
-
goToStep:
|
|
48320
|
-
nextStep:
|
|
48321
|
-
prevStep:
|
|
48566
|
+
isFirstStep: ge,
|
|
48567
|
+
isLastStep: _e,
|
|
48568
|
+
goToStep: pe,
|
|
48569
|
+
nextStep: me,
|
|
48570
|
+
prevStep: he,
|
|
48322
48571
|
parsedCsv: _,
|
|
48323
48572
|
columnMapping: b,
|
|
48324
|
-
handleFileParsed:
|
|
48325
|
-
handleFileRemoved:
|
|
48326
|
-
updateColumnMapping:
|
|
48327
|
-
valueMapping:
|
|
48328
|
-
autoValueMapping:
|
|
48329
|
-
updateValueMapping:
|
|
48330
|
-
multiselectDelimiters:
|
|
48331
|
-
setMultiselectDelimiter:
|
|
48332
|
-
reapplyMultiselectDelimiter:
|
|
48573
|
+
handleFileParsed: ve,
|
|
48574
|
+
handleFileRemoved: be,
|
|
48575
|
+
updateColumnMapping: Pe,
|
|
48576
|
+
valueMapping: Be,
|
|
48577
|
+
autoValueMapping: Fe,
|
|
48578
|
+
updateValueMapping: Ve,
|
|
48579
|
+
multiselectDelimiters: Le,
|
|
48580
|
+
setMultiselectDelimiter: He,
|
|
48581
|
+
reapplyMultiselectDelimiter: Ue,
|
|
48333
48582
|
pendingOptions: H,
|
|
48334
|
-
addPendingOption:
|
|
48583
|
+
addPendingOption: We,
|
|
48335
48584
|
xlsxFile: A,
|
|
48336
48585
|
sheetNames: N,
|
|
48337
48586
|
selectedSheet: F,
|
|
48338
48587
|
setSelectedSheet: I,
|
|
48339
|
-
handleSheetConfirmed:
|
|
48340
|
-
handleXlsxMultiSheet:
|
|
48588
|
+
handleSheetConfirmed: Se,
|
|
48589
|
+
handleXlsxMultiSheet: xe,
|
|
48341
48590
|
sheetPreviews: L,
|
|
48342
48591
|
primaryKey: C,
|
|
48343
|
-
onPrimaryKeyChange:
|
|
48592
|
+
onPrimaryKeyChange: se,
|
|
48344
48593
|
primaryKeyColumns: S,
|
|
48345
48594
|
pendingColumns: B,
|
|
48346
48595
|
setPendingColumns: V,
|
|
@@ -48352,7 +48601,7 @@ function SN() {
|
|
|
48352
48601
|
k(!0);
|
|
48353
48602
|
try {
|
|
48354
48603
|
await ld(e, "importing", Infinity, async () => {
|
|
48355
|
-
d?.onFileImport ? await
|
|
48604
|
+
d?.onFileImport ? await qe() : d?.onRowsImport ? await Je() : await W();
|
|
48356
48605
|
});
|
|
48357
48606
|
} finally {
|
|
48358
48607
|
v(null), k(!1), i(!1);
|
|
@@ -48362,34 +48611,38 @@ function SN() {
|
|
|
48362
48611
|
_,
|
|
48363
48612
|
e,
|
|
48364
48613
|
d,
|
|
48365
|
-
|
|
48366
|
-
|
|
48367
|
-
|
|
48614
|
+
qe,
|
|
48615
|
+
Je,
|
|
48616
|
+
W,
|
|
48368
48617
|
i
|
|
48369
48618
|
]),
|
|
48370
|
-
parseFile:
|
|
48371
|
-
remoteSourceLoading:
|
|
48372
|
-
remoteSourceError:
|
|
48373
|
-
clearRemoteSourceError:
|
|
48374
|
-
handleRemoteSourceSelect:
|
|
48619
|
+
parseFile: De,
|
|
48620
|
+
remoteSourceLoading: Oe,
|
|
48621
|
+
remoteSourceError: Ae,
|
|
48622
|
+
clearRemoteSourceError: Me,
|
|
48623
|
+
handleRemoteSourceSelect: Ne,
|
|
48624
|
+
headerRowIndex: re,
|
|
48625
|
+
setHeaderRowIndex: ie,
|
|
48626
|
+
headers: U,
|
|
48627
|
+
dataStartIndex: oe
|
|
48375
48628
|
};
|
|
48376
48629
|
}
|
|
48377
48630
|
//#endregion
|
|
48378
48631
|
//#region src/components/DataUploader/context/index.tsx
|
|
48379
|
-
var
|
|
48380
|
-
function
|
|
48381
|
-
let t =
|
|
48382
|
-
return /* @__PURE__ */ (0, O.jsx)(
|
|
48632
|
+
var JN = (0, y.createContext)(null);
|
|
48633
|
+
function YN({ children: e }) {
|
|
48634
|
+
let t = qN();
|
|
48635
|
+
return /* @__PURE__ */ (0, O.jsx)(JN.Provider, {
|
|
48383
48636
|
value: t,
|
|
48384
48637
|
children: e
|
|
48385
48638
|
});
|
|
48386
48639
|
}
|
|
48387
|
-
var
|
|
48388
|
-
let e = (0, y.useContext)(
|
|
48640
|
+
var XN = () => {
|
|
48641
|
+
let e = (0, y.useContext)(JN);
|
|
48389
48642
|
if (!e) throw Error("useDataUploaderContext must be used within DataUploaderProvider");
|
|
48390
48643
|
return e;
|
|
48391
|
-
},
|
|
48392
|
-
let { steps: e, activeStepIndex: t, currentStepIndex: n, goToStep: r } =
|
|
48644
|
+
}, ZN = () => {
|
|
48645
|
+
let { steps: e, activeStepIndex: t, currentStepIndex: n, goToStep: r } = XN();
|
|
48393
48646
|
return /* @__PURE__ */ (0, O.jsx)(zc, {
|
|
48394
48647
|
steps: e,
|
|
48395
48648
|
activeStepIndex: t,
|
|
@@ -48397,79 +48650,79 @@ var TN = () => {
|
|
|
48397
48650
|
onStepChange: r,
|
|
48398
48651
|
isProgressive: !0
|
|
48399
48652
|
});
|
|
48400
|
-
},
|
|
48653
|
+
}, QN = () => /* @__PURE__ */ (0, O.jsx)(YN, { children: /* @__PURE__ */ (0, O.jsx)(ZN, {}) }), $N = {
|
|
48401
48654
|
kty: "EC",
|
|
48402
48655
|
crv: "P-256",
|
|
48403
48656
|
x: "wZO1Jxr21FEBDsVMzbTbF8blU2CP17c_eQY7gorO13U",
|
|
48404
48657
|
y: "Nwr-tXatJZ3DxZqpUG_gOWzmpU6szTqrEL7Gnh5UGwo"
|
|
48405
|
-
},
|
|
48658
|
+
}, eP = "updog_license_grant", tP = new Set([
|
|
48406
48659
|
"updog.tech",
|
|
48407
48660
|
"landing.updog.tech",
|
|
48408
48661
|
"demo.updog.tech"
|
|
48409
48662
|
]);
|
|
48410
|
-
function
|
|
48411
|
-
return
|
|
48663
|
+
function nP() {
|
|
48664
|
+
return tP.has(window.location.hostname);
|
|
48412
48665
|
}
|
|
48413
|
-
function
|
|
48666
|
+
function rP() {
|
|
48414
48667
|
return !1;
|
|
48415
48668
|
}
|
|
48416
|
-
function
|
|
48669
|
+
function iP() {
|
|
48417
48670
|
return "https://api.updog.tech";
|
|
48418
48671
|
}
|
|
48419
|
-
function
|
|
48672
|
+
function aP(e) {
|
|
48420
48673
|
let t = e.replace(/-/g, "+").replace(/_/g, "/"), n = t + "=".repeat((4 - t.length % 4) % 4), r = atob(n), i = new Uint8Array(r.length);
|
|
48421
48674
|
for (let e = 0; e < r.length; e++) i[e] = r.charCodeAt(e);
|
|
48422
48675
|
return i;
|
|
48423
48676
|
}
|
|
48424
|
-
async function
|
|
48677
|
+
async function oP(e) {
|
|
48425
48678
|
let t = new TextEncoder().encode(e), n = await crypto.subtle.digest("SHA-256", t);
|
|
48426
48679
|
return Array.from(new Uint8Array(n)).map((e) => e.toString(16).padStart(2, "0")).join("");
|
|
48427
48680
|
}
|
|
48428
|
-
var
|
|
48429
|
-
async function
|
|
48430
|
-
return
|
|
48681
|
+
var sP = null;
|
|
48682
|
+
async function cP() {
|
|
48683
|
+
return sP || (sP = await crypto.subtle.importKey("jwk", $N, {
|
|
48431
48684
|
name: "ECDSA",
|
|
48432
48685
|
namedCurve: "P-256"
|
|
48433
|
-
}, !1, ["verify"]),
|
|
48686
|
+
}, !1, ["verify"]), sP);
|
|
48434
48687
|
}
|
|
48435
|
-
function
|
|
48688
|
+
function lP() {
|
|
48436
48689
|
try {
|
|
48437
|
-
return localStorage.getItem(
|
|
48690
|
+
return localStorage.getItem(eP);
|
|
48438
48691
|
} catch {
|
|
48439
48692
|
return null;
|
|
48440
48693
|
}
|
|
48441
48694
|
}
|
|
48442
|
-
function
|
|
48695
|
+
function uP(e) {
|
|
48443
48696
|
try {
|
|
48444
|
-
localStorage.setItem(
|
|
48697
|
+
localStorage.setItem(eP, e);
|
|
48445
48698
|
} catch {}
|
|
48446
48699
|
}
|
|
48447
|
-
function
|
|
48700
|
+
function dP() {
|
|
48448
48701
|
try {
|
|
48449
|
-
localStorage.removeItem(
|
|
48702
|
+
localStorage.removeItem(eP);
|
|
48450
48703
|
} catch {}
|
|
48451
48704
|
}
|
|
48452
|
-
async function
|
|
48705
|
+
async function fP(e, t, n) {
|
|
48453
48706
|
let r = e.indexOf(".");
|
|
48454
48707
|
if (r === -1) return !1;
|
|
48455
|
-
let i = e.slice(0, r), a = e.slice(r + 1), o =
|
|
48708
|
+
let i = e.slice(0, r), a = e.slice(r + 1), o = aP(i), s = aP(a), c = await cP();
|
|
48456
48709
|
if (!await crypto.subtle.verify({
|
|
48457
48710
|
name: "ECDSA",
|
|
48458
48711
|
hash: "SHA-256"
|
|
48459
48712
|
}, c, new Uint8Array(s), new Uint8Array(o))) return !1;
|
|
48460
48713
|
let l = JSON.parse(new TextDecoder().decode(o));
|
|
48461
48714
|
if (l.exp <= Math.floor(Date.now() / 1e3)) return !1;
|
|
48462
|
-
let u = await
|
|
48715
|
+
let u = await oP(t);
|
|
48463
48716
|
return !(l.key !== u || l.domain !== n);
|
|
48464
48717
|
}
|
|
48465
|
-
async function
|
|
48466
|
-
let t =
|
|
48718
|
+
async function pP(e) {
|
|
48719
|
+
let t = lP();
|
|
48467
48720
|
if (!t) return {
|
|
48468
48721
|
valid: !1,
|
|
48469
48722
|
errorCode: "license.invalid"
|
|
48470
48723
|
};
|
|
48471
48724
|
try {
|
|
48472
|
-
if (await
|
|
48725
|
+
if (await fP(t, e, window.location.hostname.toLowerCase().trim())) return {
|
|
48473
48726
|
valid: !0,
|
|
48474
48727
|
errorCode: null
|
|
48475
48728
|
};
|
|
@@ -48479,23 +48732,23 @@ async function HN(e) {
|
|
|
48479
48732
|
errorCode: "license.invalid"
|
|
48480
48733
|
};
|
|
48481
48734
|
}
|
|
48482
|
-
async function
|
|
48483
|
-
if (
|
|
48735
|
+
async function mP(e, t = !0) {
|
|
48736
|
+
if (nP() || rP()) return {
|
|
48484
48737
|
valid: !0,
|
|
48485
48738
|
errorCode: null
|
|
48486
48739
|
};
|
|
48487
|
-
let n =
|
|
48740
|
+
let n = iP();
|
|
48488
48741
|
try {
|
|
48489
48742
|
let r = await fetch(`${n}/v1/validate`, { headers: { "X-API-Key": e } });
|
|
48490
48743
|
if (r.ok) {
|
|
48491
48744
|
let e = await r.json();
|
|
48492
|
-
return t && e.grant &&
|
|
48745
|
+
return t && e.grant && uP(e.grant), {
|
|
48493
48746
|
valid: !0,
|
|
48494
48747
|
errorCode: null
|
|
48495
48748
|
};
|
|
48496
48749
|
}
|
|
48497
48750
|
if (r.status >= 400 && r.status < 500) {
|
|
48498
|
-
t &&
|
|
48751
|
+
t && dP();
|
|
48499
48752
|
try {
|
|
48500
48753
|
return await r.json();
|
|
48501
48754
|
} catch {
|
|
@@ -48507,7 +48760,7 @@ async function UN(e, t = !0) {
|
|
|
48507
48760
|
}
|
|
48508
48761
|
throw Error(`Server error: ${r.status}`);
|
|
48509
48762
|
} catch {
|
|
48510
|
-
return t ?
|
|
48763
|
+
return t ? pP(e) : {
|
|
48511
48764
|
valid: !1,
|
|
48512
48765
|
errorCode: "license.invalid"
|
|
48513
48766
|
};
|
|
@@ -48515,7 +48768,7 @@ async function UN(e, t = !0) {
|
|
|
48515
48768
|
}
|
|
48516
48769
|
//#endregion
|
|
48517
48770
|
//#region src/hooks/useLicenseValidation.ts
|
|
48518
|
-
function
|
|
48771
|
+
function hP(e, t, n = !0) {
|
|
48519
48772
|
let [r, i] = (0, y.useState)({
|
|
48520
48773
|
isValidating: t,
|
|
48521
48774
|
isValid: !1,
|
|
@@ -48535,7 +48788,7 @@ function WN(e, t, n = !0) {
|
|
|
48535
48788
|
isValidating: !0,
|
|
48536
48789
|
isValid: !1,
|
|
48537
48790
|
errorCode: null
|
|
48538
|
-
}),
|
|
48791
|
+
}), mP(e, n).then((e) => {
|
|
48539
48792
|
r || i({
|
|
48540
48793
|
isValidating: !1,
|
|
48541
48794
|
isValid: e.valid,
|
|
@@ -48558,7 +48811,7 @@ function WN(e, t, n = !0) {
|
|
|
48558
48811
|
}
|
|
48559
48812
|
//#endregion
|
|
48560
48813
|
//#region src/server/auth/AuthState.ts
|
|
48561
|
-
var
|
|
48814
|
+
var gP = class {
|
|
48562
48815
|
token = null;
|
|
48563
48816
|
get() {
|
|
48564
48817
|
return this.token;
|
|
@@ -48569,13 +48822,13 @@ var GN = class {
|
|
|
48569
48822
|
clear() {
|
|
48570
48823
|
this.token = null;
|
|
48571
48824
|
}
|
|
48572
|
-
},
|
|
48825
|
+
}, _P = class extends Error {
|
|
48573
48826
|
status;
|
|
48574
48827
|
code;
|
|
48575
48828
|
constructor(e) {
|
|
48576
48829
|
super(e.message), this.name = "ScaleHttpError", this.status = e.status, this.code = e.code;
|
|
48577
48830
|
}
|
|
48578
|
-
},
|
|
48831
|
+
}, vP = class {
|
|
48579
48832
|
baseUrl;
|
|
48580
48833
|
apiKey;
|
|
48581
48834
|
auth;
|
|
@@ -48605,7 +48858,7 @@ var GN = class {
|
|
|
48605
48858
|
signal: r?.signal
|
|
48606
48859
|
});
|
|
48607
48860
|
} catch (e) {
|
|
48608
|
-
this.notify(new
|
|
48861
|
+
this.notify(new _P({
|
|
48609
48862
|
status: 0,
|
|
48610
48863
|
code: "network",
|
|
48611
48864
|
message: e instanceof Error ? e.message : String(e)
|
|
@@ -48616,7 +48869,7 @@ var GN = class {
|
|
|
48616
48869
|
try {
|
|
48617
48870
|
e = await s.json();
|
|
48618
48871
|
} catch {}
|
|
48619
|
-
this.notify(new
|
|
48872
|
+
this.notify(new _P({
|
|
48620
48873
|
status: s.status,
|
|
48621
48874
|
code: e.error ?? `http_${s.status}`,
|
|
48622
48875
|
message: e.message ?? s.statusText
|
|
@@ -48627,23 +48880,23 @@ var GN = class {
|
|
|
48627
48880
|
};
|
|
48628
48881
|
//#endregion
|
|
48629
48882
|
//#region src/server/endpoints/workspaces.ts
|
|
48630
|
-
async function
|
|
48883
|
+
async function yP(e, t) {
|
|
48631
48884
|
return e.post("/workspaces", {
|
|
48632
48885
|
primaryKey: t.primaryKey,
|
|
48633
48886
|
columns: t.columns
|
|
48634
48887
|
}, { signal: t.signal });
|
|
48635
48888
|
}
|
|
48636
|
-
async function
|
|
48889
|
+
async function bP(e) {
|
|
48637
48890
|
try {
|
|
48638
48891
|
await e.http.delete(`/workspaces/${e.workspaceId}`, { signal: e.signal });
|
|
48639
48892
|
} catch (e) {
|
|
48640
|
-
if (e instanceof
|
|
48893
|
+
if (e instanceof _P && e.status === 404) return;
|
|
48641
48894
|
throw e;
|
|
48642
48895
|
}
|
|
48643
48896
|
}
|
|
48644
48897
|
//#endregion
|
|
48645
48898
|
//#region src/server/endpoints/query.ts
|
|
48646
|
-
async function
|
|
48899
|
+
async function xP(e, t) {
|
|
48647
48900
|
let n = await e.http.post(`/workspaces/${e.workspaceId}/query`, {
|
|
48648
48901
|
page: {
|
|
48649
48902
|
limit: t.limit,
|
|
@@ -48661,12 +48914,12 @@ async function XN(e, t) {
|
|
|
48661
48914
|
}
|
|
48662
48915
|
//#endregion
|
|
48663
48916
|
//#region src/server/ScaleClient.ts
|
|
48664
|
-
var
|
|
48917
|
+
var SP = class {
|
|
48665
48918
|
disposed = !1;
|
|
48666
48919
|
constructor(e) {
|
|
48667
48920
|
this.deps = e;
|
|
48668
48921
|
}
|
|
48669
|
-
onQuery = (e) =>
|
|
48922
|
+
onQuery = (e) => xP(this.deps, e);
|
|
48670
48923
|
onEdit = async (e) => ({
|
|
48671
48924
|
rejected: !0,
|
|
48672
48925
|
reason: "Edits are not yet supported in server mode (v0)."
|
|
@@ -48683,7 +48936,7 @@ var ZN = class {
|
|
|
48683
48936
|
pageSize = void 0;
|
|
48684
48937
|
scrollSensitivity = void 0;
|
|
48685
48938
|
dispose = async () => {
|
|
48686
|
-
this.disposed || (this.disposed = !0, await
|
|
48939
|
+
this.disposed || (this.disposed = !0, await bP({
|
|
48687
48940
|
http: this.deps.http,
|
|
48688
48941
|
workspaceId: this.deps.workspaceId
|
|
48689
48942
|
}));
|
|
@@ -48691,25 +48944,25 @@ var ZN = class {
|
|
|
48691
48944
|
};
|
|
48692
48945
|
//#endregion
|
|
48693
48946
|
//#region src/server/createScaleClient.ts
|
|
48694
|
-
async function
|
|
48695
|
-
let t = new
|
|
48947
|
+
async function CP(e) {
|
|
48948
|
+
let t = new gP(), n = new vP({
|
|
48696
48949
|
baseUrl: e.url,
|
|
48697
48950
|
apiKey: e.apiKey,
|
|
48698
48951
|
auth: t,
|
|
48699
48952
|
onDegraded: e.onDegraded
|
|
48700
|
-
}), { workspaceId: r, accessToken: i } = await
|
|
48953
|
+
}), { workspaceId: r, accessToken: i } = await yP(n, {
|
|
48701
48954
|
primaryKey: e.primaryKey,
|
|
48702
48955
|
columns: e.columns,
|
|
48703
48956
|
signal: e.signal
|
|
48704
48957
|
});
|
|
48705
|
-
return t.set(i), new
|
|
48958
|
+
return t.set(i), new SP({
|
|
48706
48959
|
workspaceId: r,
|
|
48707
48960
|
http: n
|
|
48708
48961
|
});
|
|
48709
48962
|
}
|
|
48710
48963
|
//#endregion
|
|
48711
48964
|
//#region src/server/errors.ts
|
|
48712
|
-
function
|
|
48965
|
+
function wP(e, t, n) {
|
|
48713
48966
|
return {
|
|
48714
48967
|
code: e,
|
|
48715
48968
|
message: t,
|
|
@@ -48719,7 +48972,7 @@ function $N(e, t, n) {
|
|
|
48719
48972
|
}
|
|
48720
48973
|
//#endregion
|
|
48721
48974
|
//#region src/hooks/useScaleClient.ts
|
|
48722
|
-
function
|
|
48975
|
+
function TP(e) {
|
|
48723
48976
|
let [t, n] = (0, y.useState)({ status: "idle" }), r = (0, y.useRef)(e.columns), i = (0, y.useRef)(e.primaryKey);
|
|
48724
48977
|
return (0, y.useEffect)(() => {
|
|
48725
48978
|
if (!e.enabled) {
|
|
@@ -48728,7 +48981,7 @@ function eP(e) {
|
|
|
48728
48981
|
}
|
|
48729
48982
|
n({ status: "bootstrapping" });
|
|
48730
48983
|
let t = new AbortController(), a = null;
|
|
48731
|
-
return
|
|
48984
|
+
return CP({
|
|
48732
48985
|
url: e.url,
|
|
48733
48986
|
apiKey: e.apiKey,
|
|
48734
48987
|
primaryKey: i.current,
|
|
@@ -48737,7 +48990,7 @@ function eP(e) {
|
|
|
48737
48990
|
onDegraded: (e) => {
|
|
48738
48991
|
t.signal.aborted || n({
|
|
48739
48992
|
status: "failed",
|
|
48740
|
-
error:
|
|
48993
|
+
error: DP(e)
|
|
48741
48994
|
});
|
|
48742
48995
|
}
|
|
48743
48996
|
}).then((e) => {
|
|
@@ -48752,7 +49005,7 @@ function eP(e) {
|
|
|
48752
49005
|
}).catch((e) => {
|
|
48753
49006
|
t.signal.aborted || n({
|
|
48754
49007
|
status: "failed",
|
|
48755
|
-
error:
|
|
49008
|
+
error: EP(e)
|
|
48756
49009
|
});
|
|
48757
49010
|
}), () => {
|
|
48758
49011
|
t.abort(), a?.dispose().catch(() => {});
|
|
@@ -48763,30 +49016,30 @@ function eP(e) {
|
|
|
48763
49016
|
e.apiKey
|
|
48764
49017
|
]), t;
|
|
48765
49018
|
}
|
|
48766
|
-
function
|
|
48767
|
-
return e instanceof
|
|
49019
|
+
function EP(e) {
|
|
49020
|
+
return e instanceof _P ? e.status === 401 ? wP(e.code.startsWith("license.") ? e.code : "license.invalid", e.message, e) : e.status === 0 ? wP("scale.unreachable", e.message, e) : e.status >= 500 ? wP("scale.server_error", e.message, e) : wP("scale.bootstrap_failed", e.message, e) : wP("scale.bootstrap_failed", e instanceof Error ? e.message : String(e), e);
|
|
48768
49021
|
}
|
|
48769
|
-
function
|
|
48770
|
-
return e.status === 0 ?
|
|
49022
|
+
function DP(e) {
|
|
49023
|
+
return e.status === 0 ? wP("scale.unreachable", e.message, e) : e.status === 404 ? wP("scale.workspace_lost", e.message, e) : wP("scale.server_error", e.message, e);
|
|
48771
49024
|
}
|
|
48772
49025
|
//#endregion
|
|
48773
49026
|
//#region src/index.tsx
|
|
48774
|
-
function
|
|
49027
|
+
function OP(e) {
|
|
48775
49028
|
return e === !1 ? { licenseGrant: !1 } : { licenseGrant: e?.licenseGrant ?? !0 };
|
|
48776
49029
|
}
|
|
48777
|
-
function
|
|
49030
|
+
function kP(e) {
|
|
48778
49031
|
let t = (0, y.useMemo)(() => new ed(e.onError), [e.onError]);
|
|
48779
49032
|
return /* @__PURE__ */ (0, O.jsx)(kj, {
|
|
48780
49033
|
errorHandler: t,
|
|
48781
49034
|
children: /* @__PURE__ */ (0, O.jsx)(eh, {
|
|
48782
49035
|
...e,
|
|
48783
49036
|
errorHandler: t,
|
|
48784
|
-
children: e.showUploader ? /* @__PURE__ */ (0, O.jsx)(
|
|
49037
|
+
children: e.showUploader ? /* @__PURE__ */ (0, O.jsx)(QN, {}) : /* @__PURE__ */ (0, O.jsx)(Tj, {})
|
|
48785
49038
|
})
|
|
48786
49039
|
});
|
|
48787
49040
|
}
|
|
48788
|
-
function
|
|
48789
|
-
let t = e.mode ?? "modal", { t: n, rtl: r } = j(), i = r ? "rtl" : "ltr", a =
|
|
49041
|
+
function AP(e) {
|
|
49042
|
+
let t = e.mode ?? "modal", { t: n, rtl: r } = j(), i = r ? "rtl" : "ltr", a = OP(e.localStorage), o = t === "modal" ? e.open : !0, { isValidating: s, isValid: c, errorCode: l } = hP(e.apiKey, t === "modal" ? o : !0, a.licenseGrant), u = e.__server != null, d = TP({
|
|
48790
49043
|
enabled: !s && c && u,
|
|
48791
49044
|
url: e.__server?.url ?? "",
|
|
48792
49045
|
apiKey: e.apiKey,
|
|
@@ -48841,7 +49094,7 @@ function aP(e) {
|
|
|
48841
49094
|
code: e,
|
|
48842
49095
|
message: "License validation failed",
|
|
48843
49096
|
source: "license"
|
|
48844
|
-
} }), E = () => s ? w(n("dataEditor.license.loading")) : c ? u && d.status === "bootstrapping" ? w(n("dataEditor.connecting.label")) : u && d.status === "failed" ? /* @__PURE__ */ (0, O.jsx)(Dj, { error: d.error }) : /* @__PURE__ */ (0, O.jsx)(
|
|
49097
|
+
} }), E = () => s ? w(n("dataEditor.license.loading")) : c ? u && d.status === "bootstrapping" ? w(n("dataEditor.connecting.label")) : u && d.status === "failed" ? /* @__PURE__ */ (0, O.jsx)(Dj, { error: d.error }) : /* @__PURE__ */ (0, O.jsx)(kP, { ...C }) : T(l ?? "license.invalid");
|
|
48845
49098
|
return t === "inline" ? /* @__PURE__ */ (0, O.jsx)("div", {
|
|
48846
49099
|
className: "updog__data-editor updog__data-editor-inline",
|
|
48847
49100
|
dir: i,
|
|
@@ -48861,18 +49114,18 @@ function aP(e) {
|
|
|
48861
49114
|
submitText: n("dataEditor.confirmClose.action")
|
|
48862
49115
|
})] });
|
|
48863
49116
|
}
|
|
48864
|
-
function
|
|
49117
|
+
function jP(e) {
|
|
48865
49118
|
let { translations: t, rtl: n = !1, locale: r = "en", className: i, ...a } = e;
|
|
48866
49119
|
return /* @__PURE__ */ (0, O.jsx)(A, {
|
|
48867
49120
|
translations: t,
|
|
48868
49121
|
rtl: n,
|
|
48869
49122
|
locale: r,
|
|
48870
|
-
children: /* @__PURE__ */ (0, O.jsx)(
|
|
49123
|
+
children: /* @__PURE__ */ (0, O.jsx)(AP, { ...a })
|
|
48871
49124
|
});
|
|
48872
49125
|
}
|
|
48873
49126
|
//#endregion
|
|
48874
49127
|
//#region src/wc.ts
|
|
48875
|
-
var
|
|
49128
|
+
var MP = {
|
|
48876
49129
|
"api-key": {
|
|
48877
49130
|
prop: "apiKey",
|
|
48878
49131
|
type: "string"
|
|
@@ -48905,12 +49158,12 @@ var sP = {
|
|
|
48905
49158
|
prop: "mode",
|
|
48906
49159
|
type: "string"
|
|
48907
49160
|
}
|
|
48908
|
-
},
|
|
49161
|
+
}, NP = class extends HTMLElement {
|
|
48909
49162
|
_root = null;
|
|
48910
49163
|
_props = {};
|
|
48911
49164
|
_renderScheduled = !1;
|
|
48912
49165
|
static get observedAttributes() {
|
|
48913
|
-
return Object.keys(
|
|
49166
|
+
return Object.keys(MP);
|
|
48914
49167
|
}
|
|
48915
49168
|
connectedCallback() {
|
|
48916
49169
|
this._root = (0, v.createRoot)(this), this._props.mode !== "inline" && (this._props.onClose = () => {
|
|
@@ -48921,7 +49174,7 @@ var sP = {
|
|
|
48921
49174
|
this._root?.unmount(), this._root = null;
|
|
48922
49175
|
}
|
|
48923
49176
|
attributeChangedCallback(e, t, n) {
|
|
48924
|
-
let r =
|
|
49177
|
+
let r = MP[e];
|
|
48925
49178
|
r && (this._props[r.prop] = r.type === "boolean" ? n !== null : n, e === "mode" && (n === "inline" ? delete this._props.onClose : this._props.onClose = () => {
|
|
48926
49179
|
this.dispatchEvent(new CustomEvent("close", { bubbles: !0 }));
|
|
48927
49180
|
}), this._scheduleRender());
|
|
@@ -48938,11 +49191,11 @@ var sP = {
|
|
|
48938
49191
|
}
|
|
48939
49192
|
_scheduleRender() {
|
|
48940
49193
|
this._renderScheduled || (this._renderScheduled = !0, queueMicrotask(() => {
|
|
48941
|
-
this._renderScheduled = !1, this._root && this._root.render((0, y.createElement)(
|
|
49194
|
+
this._renderScheduled = !1, this._root && this._root.render((0, y.createElement)(jP, this._props));
|
|
48942
49195
|
}));
|
|
48943
49196
|
}
|
|
48944
49197
|
};
|
|
48945
|
-
for (let e of /* @__PURE__ */ "columns.primaryKey.apiKey.className.localStorage.loadData.__server.onComplete.translations.importFormats.exportFormats.remoteSources.enableDeleteRow.enableAddRow.enableCreateColumn.onColumnMatch.onValueMatch.synonyms.sampleData.rowHeight.headerHeight.locale.variant.rtl.readonly.mode.chat".split(".")) Object.defineProperty(
|
|
49198
|
+
for (let e of /* @__PURE__ */ "columns.primaryKey.apiKey.className.localStorage.loadData.__server.onComplete.translations.importFormats.exportFormats.remoteSources.enableDeleteRow.enableAddRow.enableCreateColumn.onColumnMatch.onValueMatch.synonyms.sampleData.rowHeight.headerHeight.locale.variant.rtl.readonly.mode.chat".split(".")) Object.defineProperty(NP.prototype, e, {
|
|
48946
49199
|
get() {
|
|
48947
49200
|
return this._props[e];
|
|
48948
49201
|
},
|
|
@@ -48952,7 +49205,7 @@ for (let e of /* @__PURE__ */ "columns.primaryKey.apiKey.className.localStorage.
|
|
|
48952
49205
|
enumerable: !0,
|
|
48953
49206
|
configurable: !0
|
|
48954
49207
|
});
|
|
48955
|
-
Object.defineProperty(
|
|
49208
|
+
Object.defineProperty(NP.prototype, "open", {
|
|
48956
49209
|
get() {
|
|
48957
49210
|
return this.hasAttribute("open");
|
|
48958
49211
|
},
|
|
@@ -48961,5 +49214,5 @@ Object.defineProperty(cP.prototype, "open", {
|
|
|
48961
49214
|
},
|
|
48962
49215
|
enumerable: !0,
|
|
48963
49216
|
configurable: !0
|
|
48964
|
-
}), customElements.define("updog-editor",
|
|
49217
|
+
}), customElements.define("updog-editor", NP);
|
|
48965
49218
|
//#endregion
|