@iyulab/flex-table 0.59.0 → 0.60.0
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/CHANGELOG.md +19 -0
- package/README.md +26 -4
- package/dist/array/index.d.ts +3 -0
- package/dist/array/index.js +46 -38
- package/dist/array/source.d.ts +3 -0
- package/dist/array/types.d.ts +3 -0
- package/dist/array/view.d.ts +6 -0
- package/dist/core/fetch-all.d.ts +14 -0
- package/dist/core/source-error.d.ts +13 -1
- package/dist/fetch-all-J37bOtgc.js +86 -0
- package/dist/{flex-table-BDTykqUE.js → flex-table-kM69-hSo.js} +81 -77
- package/dist/flex-table.d.ts +22 -9
- package/dist/flex-table.js +3 -3
- package/dist/index.d.ts +2 -1
- package/dist/{locale-Cfm-vJji.js → locale-D9g0ksXq.js} +4 -2
- package/dist/locale.d.ts +1 -1
- package/dist/odata/index.d.ts +4 -0
- package/dist/odata/index.js +5 -5
- package/dist/odata/query.d.ts +7 -3
- package/dist/odata/source.d.ts +9 -0
- package/dist/odata/types.d.ts +3 -0
- package/dist/react.d.ts +2 -0
- package/dist/react.js +75 -62
- package/dist/source-DNPtWmC3.js +202 -0
- package/dist/{view-DiLr-TdY.js → view-BtoXdUGF.js} +13 -2
- package/package.json +1 -1
- package/skills/iyulab-flex-table/references/api.md +7 -3
- package/skills/iyulab-flex-table/references/react.md +2 -1
- package/dist/query-Dw4iO0ir.js +0 -37
- package/dist/source-DOue0Ti3.js +0 -223
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as e } from "./locale-
|
|
1
|
+
import { n as e } from "./locale-D9g0ksXq.js";
|
|
2
2
|
import { n as t, t as n } from "./sorting-CjfjRxwL.js";
|
|
3
3
|
import { LitElement as r, css as i, html as a, nothing as o } from "lit";
|
|
4
4
|
import { customElement as s, property as c, state as l } from "lit/decorators.js";
|
|
@@ -1203,7 +1203,7 @@ var ce = class {
|
|
|
1203
1203
|
shiftMoveRight() {
|
|
1204
1204
|
return this.activeCell ? this.setActiveWithRange(this.activeCell.row, this.activeCell.col + 1) : null;
|
|
1205
1205
|
}
|
|
1206
|
-
},
|
|
1206
|
+
}, le = class {
|
|
1207
1207
|
constructor() {
|
|
1208
1208
|
this.current = null;
|
|
1209
1209
|
}
|
|
@@ -1225,7 +1225,7 @@ var ce = class {
|
|
|
1225
1225
|
let e = this.current;
|
|
1226
1226
|
return this.current = null, e;
|
|
1227
1227
|
}
|
|
1228
|
-
},
|
|
1228
|
+
}, O = class {
|
|
1229
1229
|
constructor() {
|
|
1230
1230
|
this._selected = /* @__PURE__ */ new Set(), this._mode = "multi";
|
|
1231
1231
|
}
|
|
@@ -1292,7 +1292,7 @@ var ce = class {
|
|
|
1292
1292
|
};
|
|
1293
1293
|
//#endregion
|
|
1294
1294
|
//#region src/core/filtering.ts
|
|
1295
|
-
function
|
|
1295
|
+
function ue(e, t, n) {
|
|
1296
1296
|
if (t.length === 0) return Array.from({ length: e.length }, (e, t) => t);
|
|
1297
1297
|
let r = [];
|
|
1298
1298
|
for (let i = 0; i < e.length; i++) {
|
|
@@ -1311,9 +1311,9 @@ function le(e, t, n) {
|
|
|
1311
1311
|
}
|
|
1312
1312
|
//#endregion
|
|
1313
1313
|
//#region src/core/undo.ts
|
|
1314
|
-
var
|
|
1314
|
+
var de = 100, k = class {
|
|
1315
1315
|
constructor() {
|
|
1316
|
-
this._undoStack = [], this._redoStack = [], this._maxSize =
|
|
1316
|
+
this._undoStack = [], this._redoStack = [], this._maxSize = de;
|
|
1317
1317
|
}
|
|
1318
1318
|
get maxSize() {
|
|
1319
1319
|
return this._maxSize;
|
|
@@ -1350,7 +1350,7 @@ var ue = 100, A = class {
|
|
|
1350
1350
|
};
|
|
1351
1351
|
//#endregion
|
|
1352
1352
|
//#region src/clipboard/clipboard.ts
|
|
1353
|
-
function
|
|
1353
|
+
function fe(e, t, n) {
|
|
1354
1354
|
let r = [];
|
|
1355
1355
|
for (let i = n.startRow; i <= n.endRow; i++) {
|
|
1356
1356
|
let a = e[i], o = [];
|
|
@@ -1362,7 +1362,7 @@ function de(e, t, n) {
|
|
|
1362
1362
|
}
|
|
1363
1363
|
return _(r);
|
|
1364
1364
|
}
|
|
1365
|
-
function
|
|
1365
|
+
function A(e, t) {
|
|
1366
1366
|
if (e === "") return null;
|
|
1367
1367
|
switch (t.type) {
|
|
1368
1368
|
case "number": {
|
|
@@ -1377,19 +1377,19 @@ function j(e, t) {
|
|
|
1377
1377
|
default: return e;
|
|
1378
1378
|
}
|
|
1379
1379
|
}
|
|
1380
|
-
function
|
|
1380
|
+
function j(e) {
|
|
1381
1381
|
let t = String(e);
|
|
1382
1382
|
if (!Number.isFinite(e) || t.includes("e")) return t;
|
|
1383
1383
|
let n = new Intl.NumberFormat(u.get()).formatToParts(1.5).find((e) => e.type === "decimal")?.value;
|
|
1384
1384
|
return n && n !== "." ? t.replace(".", n) : t;
|
|
1385
1385
|
}
|
|
1386
|
-
function
|
|
1386
|
+
function pe(e) {
|
|
1387
1387
|
if (e == null || e === "") return "";
|
|
1388
1388
|
if (e instanceof Date) return Number.isNaN(e.getTime()) ? "" : `${e.getFullYear()}-${String(e.getMonth() + 1).padStart(2, "0")}-${String(e.getDate()).padStart(2, "0")}`;
|
|
1389
1389
|
let t = String(e), n = /^(\d{4}-\d{2}-\d{2})(?:$|T)/.exec(t);
|
|
1390
1390
|
return n ? n[1] : t;
|
|
1391
1391
|
}
|
|
1392
|
-
function
|
|
1392
|
+
function me(e) {
|
|
1393
1393
|
if (e == null || e === "") return "";
|
|
1394
1394
|
let t = e instanceof Date ? "" : String(e), n = /^(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2})(?::\d{2}(?:\.\d+)?)?$/.exec(t);
|
|
1395
1395
|
if (n) return `${n[1]} ${n[2]}`;
|
|
@@ -1400,7 +1400,7 @@ function pe(e) {
|
|
|
1400
1400
|
}
|
|
1401
1401
|
//#endregion
|
|
1402
1402
|
//#region src/export/xlsx-writer.ts
|
|
1403
|
-
var
|
|
1403
|
+
var he = (() => {
|
|
1404
1404
|
let e = /* @__PURE__ */ new Uint32Array(256);
|
|
1405
1405
|
for (let t = 0; t < 256; t++) {
|
|
1406
1406
|
let n = t;
|
|
@@ -1409,23 +1409,23 @@ var me = (() => {
|
|
|
1409
1409
|
}
|
|
1410
1410
|
return e;
|
|
1411
1411
|
})();
|
|
1412
|
-
function
|
|
1412
|
+
function ge(e) {
|
|
1413
1413
|
let t = 4294967295;
|
|
1414
|
-
for (let n = 0; n < e.length; n++) t =
|
|
1414
|
+
for (let n = 0; n < e.length; n++) t = he[(t ^ e[n]) & 255] ^ t >>> 8;
|
|
1415
1415
|
return (t ^ 4294967295) >>> 0;
|
|
1416
1416
|
}
|
|
1417
|
-
var
|
|
1418
|
-
function
|
|
1419
|
-
return
|
|
1417
|
+
var M = new TextEncoder();
|
|
1418
|
+
function _e(e) {
|
|
1419
|
+
return N(e.map((e) => ({
|
|
1420
1420
|
...e,
|
|
1421
1421
|
body: e.data,
|
|
1422
1422
|
method: 0
|
|
1423
1423
|
})));
|
|
1424
1424
|
}
|
|
1425
|
-
async function
|
|
1425
|
+
async function ve(e) {
|
|
1426
1426
|
let t = [];
|
|
1427
1427
|
for (let n of e) {
|
|
1428
|
-
let e = await
|
|
1428
|
+
let e = await ye(n.data);
|
|
1429
1429
|
t.push(e.length < n.data.length ? {
|
|
1430
1430
|
...n,
|
|
1431
1431
|
body: e,
|
|
@@ -1436,9 +1436,9 @@ async function _e(e) {
|
|
|
1436
1436
|
method: 0
|
|
1437
1437
|
});
|
|
1438
1438
|
}
|
|
1439
|
-
return
|
|
1439
|
+
return N(t);
|
|
1440
1440
|
}
|
|
1441
|
-
async function
|
|
1441
|
+
async function ye(e) {
|
|
1442
1442
|
let t = new CompressionStream("deflate-raw"), n = t.writable.getWriter(), r = t.readable.getReader();
|
|
1443
1443
|
n.write(e), n.close();
|
|
1444
1444
|
let i = [];
|
|
@@ -1447,52 +1447,52 @@ async function ve(e) {
|
|
|
1447
1447
|
if (e) break;
|
|
1448
1448
|
i.push(t);
|
|
1449
1449
|
}
|
|
1450
|
-
return
|
|
1450
|
+
return P(i);
|
|
1451
1451
|
}
|
|
1452
|
-
function
|
|
1452
|
+
function N(e) {
|
|
1453
1453
|
let t = [], n = [], r = 0;
|
|
1454
1454
|
for (let i of e) {
|
|
1455
|
-
let e =
|
|
1455
|
+
let e = M.encode(i.name), a = ge(i.data), o = i.data.length, s = i.body.length, c = i.method === 8 ? 20 : 10, l = new ArrayBuffer(30 + e.length), u = new DataView(l);
|
|
1456
1456
|
u.setUint32(0, 67324752, !0), u.setUint16(4, c, !0), u.setUint16(6, 0, !0), u.setUint16(8, i.method, !0), u.setUint16(10, 0, !0), u.setUint16(12, 33, !0), u.setUint32(14, a, !0), u.setUint32(18, s, !0), u.setUint32(22, o, !0), u.setUint16(26, e.length, !0), u.setUint16(28, 0, !0), new Uint8Array(l, 30).set(e), t.push(new Uint8Array(l)), t.push(i.body);
|
|
1457
1457
|
let d = new ArrayBuffer(46 + e.length), f = new DataView(d);
|
|
1458
1458
|
f.setUint32(0, 33639248, !0), f.setUint16(4, 20, !0), f.setUint16(6, c, !0), f.setUint16(8, 0, !0), f.setUint16(10, i.method, !0), f.setUint16(12, 0, !0), f.setUint16(14, 33, !0), f.setUint32(16, a, !0), f.setUint32(20, s, !0), f.setUint32(24, o, !0), f.setUint16(28, e.length, !0), f.setUint16(30, 0, !0), f.setUint16(32, 0, !0), f.setUint16(34, 0, !0), f.setUint16(36, 0, !0), f.setUint32(38, 0, !0), f.setUint32(42, r, !0), new Uint8Array(d, 46).set(e), n.push(new Uint8Array(d)), r += 30 + e.length + s;
|
|
1459
1459
|
}
|
|
1460
|
-
let i =
|
|
1461
|
-
return o.setUint32(0, 101010256, !0), o.setUint16(4, 0, !0), o.setUint16(6, 0, !0), o.setUint16(8, e.length, !0), o.setUint16(10, e.length, !0), o.setUint32(12, i.length, !0), o.setUint32(16, r, !0), o.setUint16(20, 0, !0),
|
|
1460
|
+
let i = P(n), a = /* @__PURE__ */ new ArrayBuffer(22), o = new DataView(a);
|
|
1461
|
+
return o.setUint32(0, 101010256, !0), o.setUint16(4, 0, !0), o.setUint16(6, 0, !0), o.setUint16(8, e.length, !0), o.setUint16(10, e.length, !0), o.setUint32(12, i.length, !0), o.setUint32(16, r, !0), o.setUint16(20, 0, !0), P([
|
|
1462
1462
|
...t,
|
|
1463
1463
|
i,
|
|
1464
1464
|
new Uint8Array(a)
|
|
1465
1465
|
]);
|
|
1466
1466
|
}
|
|
1467
|
-
function
|
|
1467
|
+
function P(e) {
|
|
1468
1468
|
let t = e.reduce((e, t) => e + t.length, 0), n = new Uint8Array(t), r = 0;
|
|
1469
1469
|
for (let t of e) n.set(t, r), r += t.length;
|
|
1470
1470
|
return n;
|
|
1471
1471
|
}
|
|
1472
|
-
function
|
|
1472
|
+
function F(e) {
|
|
1473
1473
|
return e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
1474
1474
|
}
|
|
1475
|
-
function
|
|
1475
|
+
function be(e) {
|
|
1476
1476
|
let t = "";
|
|
1477
1477
|
for (e++; e > 0;) t = String.fromCharCode(64 + (e % 26 || 26)) + t, e = Math.floor((e - 1) / 26);
|
|
1478
1478
|
return t;
|
|
1479
1479
|
}
|
|
1480
|
-
function
|
|
1481
|
-
return
|
|
1480
|
+
function I(e, t) {
|
|
1481
|
+
return be(t) + (e + 1);
|
|
1482
1482
|
}
|
|
1483
|
-
function
|
|
1483
|
+
function xe(e) {
|
|
1484
1484
|
let t = Date.UTC(1899, 11, 30);
|
|
1485
1485
|
return (e.getTime() - t) / 864e5;
|
|
1486
1486
|
}
|
|
1487
|
-
var
|
|
1488
|
-
function
|
|
1489
|
-
let n = [], r = t.map((e, t) => `<c r="${
|
|
1487
|
+
var Se = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Types xmlns=\"http://schemas.openxmlformats.org/package/2006/content-types\">\n <Default Extension=\"rels\" ContentType=\"application/vnd.openxmlformats-package.relationships+xml\"/>\n <Default Extension=\"xml\" ContentType=\"application/xml\"/>\n <Override PartName=\"/xl/workbook.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\"/>\n <Override PartName=\"/xl/worksheets/sheet1.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\"/>\n <Override PartName=\"/xl/styles.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\"/>\n</Types>", Ce = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\">\n <Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\" Target=\"xl/workbook.xml\"/>\n</Relationships>", we = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<workbook xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\">\n <sheets><sheet name=\"Sheet1\" sheetId=\"1\" r:id=\"rId1\"/></sheets>\n</workbook>", Te = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\">\n <Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\" Target=\"worksheets/sheet1.xml\"/>\n <Relationship Id=\"rId2\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\" Target=\"styles.xml\"/>\n</Relationships>", Ee = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<styleSheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\">\n <numFmts count=\"1\"><numFmt numFmtId=\"164\" formatCode=\"yyyy-mm-dd\"/></numFmts>\n <fonts count=\"2\">\n <font><sz val=\"11\"/><name val=\"Calibri\"/></font>\n <font><sz val=\"11\"/><b/><name val=\"Calibri\"/></font>\n </fonts>\n <fills count=\"2\">\n <fill><patternFill patternType=\"none\"/></fill>\n <fill><patternFill patternType=\"gray125\"/></fill>\n </fills>\n <borders count=\"1\"><border><left/><right/><top/><bottom/><diagonal/></border></borders>\n <cellStyleXfs count=\"1\"><xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\"/></cellStyleXfs>\n <cellXfs count=\"3\">\n <xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\" xfId=\"0\"/>\n <xf numFmtId=\"164\" fontId=\"0\" fillId=\"0\" borderId=\"0\" xfId=\"0\" applyNumberFormat=\"1\"/>\n <xf numFmtId=\"0\" fontId=\"1\" fillId=\"0\" borderId=\"0\" xfId=\"0\" applyFont=\"1\"/>\n </cellXfs>\n</styleSheet>";
|
|
1488
|
+
function De(e, t) {
|
|
1489
|
+
let n = [], r = t.map((e, t) => `<c r="${I(0, t)}" t="str" s="2"><v>${F(e.label)}</v></c>`);
|
|
1490
1490
|
return n.push(`<row r="1">${r.join("")}</row>`), e.forEach((e, r) => {
|
|
1491
1491
|
let i = t.map((t, n) => {
|
|
1492
|
-
let i =
|
|
1492
|
+
let i = I(r + 1, n), a = e[t.key];
|
|
1493
1493
|
if (a == null) return `<c r="${i}" t="str"><v></v></c>`;
|
|
1494
1494
|
let o = t.type ?? "text";
|
|
1495
|
-
return o === "number" && typeof a == "number" ? `<c r="${i}"><v>${a}</v></c>` : (o === "date" || o === "datetime") && a instanceof Date ? `<c r="${i}" s="1"><v>${
|
|
1495
|
+
return o === "number" && typeof a == "number" ? `<c r="${i}"><v>${a}</v></c>` : (o === "date" || o === "datetime") && a instanceof Date ? `<c r="${i}" s="1"><v>${xe(a).toFixed(6)}</v></c>` : o === "boolean" ? `<c r="${i}" t="b"><v>${+!!a}</v></c>` : `<c r="${i}" t="str"><v>${F(String(a))}</v></c>`;
|
|
1496
1496
|
});
|
|
1497
1497
|
n.push(`<row r="${r + 2}">${i.join("")}</row>`);
|
|
1498
1498
|
}), `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
@@ -1500,54 +1500,54 @@ function Ee(e, t) {
|
|
|
1500
1500
|
<sheetData>${n.join("")}</sheetData>
|
|
1501
1501
|
</worksheet>`;
|
|
1502
1502
|
}
|
|
1503
|
-
function De(e, t) {
|
|
1504
|
-
return ge(R(e, t));
|
|
1505
|
-
}
|
|
1506
1503
|
function Oe(e, t) {
|
|
1507
|
-
return _e(
|
|
1504
|
+
return _e(L(e, t));
|
|
1508
1505
|
}
|
|
1509
|
-
function
|
|
1510
|
-
|
|
1506
|
+
function ke(e, t) {
|
|
1507
|
+
return ve(L(e, t));
|
|
1508
|
+
}
|
|
1509
|
+
function L(e, t) {
|
|
1510
|
+
let n = De(e, t);
|
|
1511
1511
|
return [
|
|
1512
1512
|
{
|
|
1513
1513
|
name: "[Content_Types].xml",
|
|
1514
|
-
data:
|
|
1514
|
+
data: M.encode(Se)
|
|
1515
1515
|
},
|
|
1516
1516
|
{
|
|
1517
1517
|
name: "_rels/.rels",
|
|
1518
|
-
data:
|
|
1518
|
+
data: M.encode(Ce)
|
|
1519
1519
|
},
|
|
1520
1520
|
{
|
|
1521
1521
|
name: "xl/workbook.xml",
|
|
1522
|
-
data:
|
|
1522
|
+
data: M.encode(we)
|
|
1523
1523
|
},
|
|
1524
1524
|
{
|
|
1525
1525
|
name: "xl/_rels/workbook.xml.rels",
|
|
1526
|
-
data:
|
|
1526
|
+
data: M.encode(Te)
|
|
1527
1527
|
},
|
|
1528
1528
|
{
|
|
1529
1529
|
name: "xl/worksheets/sheet1.xml",
|
|
1530
|
-
data:
|
|
1530
|
+
data: M.encode(n)
|
|
1531
1531
|
},
|
|
1532
1532
|
{
|
|
1533
1533
|
name: "xl/styles.xml",
|
|
1534
|
-
data:
|
|
1534
|
+
data: M.encode(Ee)
|
|
1535
1535
|
}
|
|
1536
1536
|
];
|
|
1537
1537
|
}
|
|
1538
1538
|
//#endregion
|
|
1539
1539
|
//#region src/export/export.ts
|
|
1540
|
-
function
|
|
1540
|
+
function R(e, t, n) {
|
|
1541
1541
|
switch (n) {
|
|
1542
1542
|
case "csv": return B(e, t, ",");
|
|
1543
1543
|
case "tsv": return B(e, t, " ");
|
|
1544
1544
|
case "json": return je(e, t);
|
|
1545
|
-
case "xlsx": return
|
|
1545
|
+
case "xlsx": return Oe(e, t);
|
|
1546
1546
|
}
|
|
1547
1547
|
}
|
|
1548
|
-
async function
|
|
1549
|
-
let r = n === "xlsx" ? await
|
|
1550
|
-
return new Blob([r], { type:
|
|
1548
|
+
async function z(e, t, n) {
|
|
1549
|
+
let r = n === "xlsx" ? await ke(e, t) : R(e, t, n);
|
|
1550
|
+
return new Blob([r], { type: Pe(n) });
|
|
1551
1551
|
}
|
|
1552
1552
|
function Ae(e, t) {
|
|
1553
1553
|
return e == null ? "" : (t.type === "date" || t.type === "datetime") && e instanceof Date ? e.toISOString() : String(e);
|
|
@@ -1569,27 +1569,27 @@ function je(e, t) {
|
|
|
1569
1569
|
});
|
|
1570
1570
|
return JSON.stringify(n, null, 2);
|
|
1571
1571
|
}
|
|
1572
|
-
function
|
|
1572
|
+
function H(e, t) {
|
|
1573
1573
|
let n = URL.createObjectURL(e), r = document.createElement("a");
|
|
1574
1574
|
r.href = n, r.download = t, r.style.display = "none", document.body.appendChild(r), r.click(), document.body.removeChild(r), setTimeout(() => URL.revokeObjectURL(n), 100);
|
|
1575
1575
|
}
|
|
1576
|
-
var
|
|
1576
|
+
var Me = {
|
|
1577
1577
|
csv: "text/csv;charset=utf-8",
|
|
1578
1578
|
tsv: "text/tab-separated-values;charset=utf-8",
|
|
1579
1579
|
json: "application/json;charset=utf-8",
|
|
1580
1580
|
xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
1581
|
-
},
|
|
1581
|
+
}, Ne = {
|
|
1582
1582
|
csv: ".csv",
|
|
1583
1583
|
tsv: ".tsv",
|
|
1584
1584
|
json: ".json",
|
|
1585
1585
|
xlsx: ".xlsx"
|
|
1586
1586
|
};
|
|
1587
|
+
function Pe(e) {
|
|
1588
|
+
return Me[e];
|
|
1589
|
+
}
|
|
1587
1590
|
function Fe(e) {
|
|
1588
1591
|
return Ne[e];
|
|
1589
1592
|
}
|
|
1590
|
-
function H(e) {
|
|
1591
|
-
return Pe[e];
|
|
1592
|
-
}
|
|
1593
1593
|
//#endregion
|
|
1594
1594
|
//#region src/export/xlsx-reader.ts
|
|
1595
1595
|
function Ie(e) {
|
|
@@ -1764,7 +1764,7 @@ var K = {
|
|
|
1764
1764
|
lte: "≤"
|
|
1765
1765
|
}, q = 120, J = 40, Y = 20, X = 32, Z = 5, Ze = 200, Q = class extends r {
|
|
1766
1766
|
constructor(...e) {
|
|
1767
|
-
super(...e), this.columns = [], this._data = [], this._inUndoRedo = !1, this.clearUndoOnDataChange = !1, this.clearSelectionOnDataChange = !1, this.rowKey = "_id", this._rowHeightFromCss = X, this._targetFloor = 0, this.showRowNumbers = !1, this.theme = void 0, this.maxRows = 0, this.editable = !0, this.showFilters = !1, this.showContextMenu = !1, this.frozenRows = 0, this.emptyMessage = "", this.noMatchingMessage = "", this.error = null, this.loading = !1, this.importEnabled = !1, this.selectable = !1, this.dataMode = "client", this.footerData = null, this.stylesheets = [], this._scrollTop = 0, this._scrollLeft = 0, this._viewportHeight = 0, this._viewportWidth = 0, this._colLeftOffsets = [], this._totalRowWidth = 0, this._baseStyleSheets = [], this._activeCell = null, this._headerCol = null, this._focusedCellEl = null, this._editingCell = null, this._sortCriteria = [], this._selection = new ce(), this._editing = new
|
|
1767
|
+
super(...e), this.columns = [], this._data = [], this._inUndoRedo = !1, this.clearUndoOnDataChange = !1, this.clearSelectionOnDataChange = !1, this.rowKey = "_id", this._rowHeightFromCss = X, this._targetFloor = 0, this.showRowNumbers = !1, this.theme = void 0, this.maxRows = 0, this.editable = !0, this.showFilters = !1, this.showContextMenu = !1, this.frozenRows = 0, this.emptyMessage = "", this.noMatchingMessage = "", this.error = null, this.loading = !1, this.importEnabled = !1, this.selectable = !1, this.dataMode = "client", this.footerData = null, this.stylesheets = [], this._scrollTop = 0, this._scrollLeft = 0, this._viewportHeight = 0, this._viewportWidth = 0, this._colLeftOffsets = [], this._totalRowWidth = 0, this._baseStyleSheets = [], this._activeCell = null, this._headerCol = null, this._focusedCellEl = null, this._editingCell = null, this._sortCriteria = [], this._selection = new ce(), this._editing = new le(), this._rowSelection = new O(), this._undo = new k(), this._filters = [], this._filteredIndices = [], this._sortedIndices = [], this._openFilterKey = null, this._rowSelectionVersion = 0, this._lastCheckboxRowId = null, this._unkeyedIds = /* @__PURE__ */ new WeakMap(), this._unkeyedSeq = 0, this._visibleIdsCache = null, this._checkboxShiftPending = !1, this._autocompleteState = null, this._headerMenu = null, this._bodyContextMenu = null, this._commentPopup = null, this._viewDirty = !0, this._isDragging = !1, this._wasDrag = !1, this._resizing = null, this._resizeCleanup = null, this._wasHeaderDrag = !1, this._wasRowDrag = !1, this._colDrag = null, this._colDragIndicatorLeft = null, this._fillDrag = null, this._rowDrag = null, this._rowDragIndicatorY = null, this._findState = null, this._columnWidths = /* @__PURE__ */ new Map(), this._hostResizeObserver = null, this._comments = /* @__PURE__ */ new Map(), this._isDragOver = !1, this._editorMoving = !1, this._onEditorBlur = (e) => {
|
|
1768
1768
|
!this._editorMoving && e.currentTarget?.isConnected && this._commitEdit();
|
|
1769
1769
|
}, this._warnedUnconstrained = !1, this._onHostFocus = (e) => {
|
|
1770
1770
|
e.composedPath()[0] !== this || this._activeCell || this._headerCol !== null || this.visibleColumns.length !== 0 && this.matches(":focus-visible") && (this._visibleRowCount > 0 ? (this._selection.setActive(0, 0), this._syncActiveCell()) : this._headerCol = 0);
|
|
@@ -2165,19 +2165,23 @@ var K = {
|
|
|
2165
2165
|
}
|
|
2166
2166
|
exportToString(e, t) {
|
|
2167
2167
|
let n = this._exportSlice(t);
|
|
2168
|
-
return n ?
|
|
2168
|
+
return n ? R(n.rows, n.cols, e) : "";
|
|
2169
2169
|
}
|
|
2170
2170
|
async exportToBlob(e, t) {
|
|
2171
2171
|
let n = this._exportSlice(t) ?? {
|
|
2172
2172
|
rows: [],
|
|
2173
2173
|
cols: []
|
|
2174
2174
|
};
|
|
2175
|
-
return
|
|
2175
|
+
return z(n.rows, n.cols, e);
|
|
2176
2176
|
}
|
|
2177
|
-
async exportToFile(e, t) {
|
|
2178
|
-
|
|
2177
|
+
async exportToFile(e, t, n) {
|
|
2178
|
+
H(await this.exportToBlob(e, n), t ?? `export${Fe(e)}`);
|
|
2179
2179
|
}
|
|
2180
2180
|
_exportSlice(e) {
|
|
2181
|
+
if (e && "rows" in e && e.rows) return {
|
|
2182
|
+
rows: e.rows,
|
|
2183
|
+
cols: this.visibleColumns
|
|
2184
|
+
};
|
|
2181
2185
|
if (e?.selectionOnly) {
|
|
2182
2186
|
let e = this._selection.getEffectiveRange();
|
|
2183
2187
|
if (!e) return null;
|
|
@@ -2266,7 +2270,7 @@ var K = {
|
|
|
2266
2270
|
let a = t.get(e);
|
|
2267
2271
|
if (!a) return;
|
|
2268
2272
|
let o = this.columns.find((e) => e.key === a);
|
|
2269
|
-
r[a] = o ?
|
|
2273
|
+
r[a] = o ? A(n[i] ?? "", o) : n[i] ?? null;
|
|
2270
2274
|
}), r;
|
|
2271
2275
|
}), r = [...this.data];
|
|
2272
2276
|
this.data = n, this._undo.push({
|
|
@@ -2287,7 +2291,7 @@ var K = {
|
|
|
2287
2291
|
let a = n.get(t);
|
|
2288
2292
|
if (!a) return;
|
|
2289
2293
|
let o = this.columns.find((e) => e.key === a);
|
|
2290
|
-
r[a] = o ?
|
|
2294
|
+
r[a] = o ? A(e[i] ?? "", o) : e[i] ?? null;
|
|
2291
2295
|
}), r;
|
|
2292
2296
|
}), i = [...this.data];
|
|
2293
2297
|
this.data = r, this._undo.push({
|
|
@@ -2436,7 +2440,7 @@ var K = {
|
|
|
2436
2440
|
this._filteredIndices = Array.from({ length: this.data.length }, (e, t) => t), this._sortedIndices = this._filteredIndices;
|
|
2437
2441
|
return;
|
|
2438
2442
|
}
|
|
2439
|
-
if (this._filteredIndices =
|
|
2443
|
+
if (this._filteredIndices = ue(this.data, this._filters, (e, t, n) => {
|
|
2440
2444
|
this._emit("filter-error", {
|
|
2441
2445
|
error: e,
|
|
2442
2446
|
row: t,
|
|
@@ -2633,7 +2637,7 @@ var K = {
|
|
|
2633
2637
|
}
|
|
2634
2638
|
let t = this.shadowRoot?.querySelector(".ft-editor");
|
|
2635
2639
|
if (t) {
|
|
2636
|
-
let n =
|
|
2640
|
+
let n = A(t.value, e);
|
|
2637
2641
|
this._applyEdit(n);
|
|
2638
2642
|
} else this._cancelEdit();
|
|
2639
2643
|
}
|
|
@@ -2957,7 +2961,7 @@ var K = {
|
|
|
2957
2961
|
let e = this._selection.getEffectiveRange();
|
|
2958
2962
|
return e ? {
|
|
2959
2963
|
range: e,
|
|
2960
|
-
text:
|
|
2964
|
+
text: fe(this._sortedIndices.map((e) => this.data[e]), this.visibleColumns, e)
|
|
2961
2965
|
} : null;
|
|
2962
2966
|
}
|
|
2963
2967
|
async _copyFromMenu() {
|
|
@@ -3040,7 +3044,7 @@ var K = {
|
|
|
3040
3044
|
for (let a = 0; a < t[i].length; a++) {
|
|
3041
3045
|
let s = e.col + a;
|
|
3042
3046
|
if (s >= n.length) break;
|
|
3043
|
-
let c = n[s], l = this.data[o][c.key], u =
|
|
3047
|
+
let c = n[s], l = this.data[o][c.key], u = A(t[i][a], c);
|
|
3044
3048
|
this.data[o][c.key] = u, r.push({
|
|
3045
3049
|
row: o,
|
|
3046
3050
|
col: s,
|
|
@@ -3105,7 +3109,7 @@ var K = {
|
|
|
3105
3109
|
for (let r = e.startCol + 1; r <= e.endCol; r++) {
|
|
3106
3110
|
let e = t[r];
|
|
3107
3111
|
if (!e || !this._isCellEditable(e)) continue;
|
|
3108
|
-
let a =
|
|
3112
|
+
let a = A(o == null ? "" : String(o), e);
|
|
3109
3113
|
n.push({
|
|
3110
3114
|
row: i,
|
|
3111
3115
|
key: e.key,
|
|
@@ -3727,7 +3731,7 @@ var K = {
|
|
|
3727
3731
|
</select>
|
|
3728
3732
|
<input class="ft-filter-input ft-num-cond-input" type="text" inputmode="decimal" placeholder=${e("valuePlaceholder")}
|
|
3729
3733
|
aria-label=${e("conditionValue", { n: n === "cond1" ? 1 : 2 })}
|
|
3730
|
-
.value=${r.text ?? (r.value == null ? "" :
|
|
3734
|
+
.value=${r.text ?? (r.value == null ? "" : j(r.value))}
|
|
3731
3735
|
aria-invalid=${r.text && r.value == null ? "true" : "false"}
|
|
3732
3736
|
@input=${(e) => {
|
|
3733
3737
|
let r = e.target.value, i = this._numberFilterState.get(t) ?? this._defaultNumState();
|
|
@@ -4478,7 +4482,7 @@ var K = {
|
|
|
4478
4482
|
let n = e[t.key], r = n == null ? "" : String(n);
|
|
4479
4483
|
if (t.type === "number") return a`
|
|
4480
4484
|
<input class="ft-editor ft-editor-number" type="text" inputmode="decimal" aria-label=${t.label}
|
|
4481
|
-
.value=${typeof n == "number" ?
|
|
4485
|
+
.value=${typeof n == "number" ? j(n) : r}
|
|
4482
4486
|
@keydown=${this._onEditorKeyDown}
|
|
4483
4487
|
@blur=${this._onEditorBlur}>
|
|
4484
4488
|
`;
|
|
@@ -4596,10 +4600,10 @@ G([c({ type: Array })], Q.prototype, "columns", void 0), G([c({
|
|
|
4596
4600
|
})], Q.prototype, "maxUndoSize", null), G([l()], Q.prototype, "_scrollTop", void 0), G([l()], Q.prototype, "_scrollLeft", void 0), G([l()], Q.prototype, "_viewportHeight", void 0), G([l()], Q.prototype, "_viewportWidth", void 0), G([l()], Q.prototype, "_activeCell", void 0), G([l()], Q.prototype, "_headerCol", void 0), G([l()], Q.prototype, "_editingCell", void 0), G([l()], Q.prototype, "_sortCriteria", void 0), G([l()], Q.prototype, "_openFilterKey", void 0), G([l()], Q.prototype, "_rowSelectionVersion", void 0), G([l()], Q.prototype, "_autocompleteState", void 0), G([l()], Q.prototype, "_headerMenu", void 0), G([l()], Q.prototype, "_bodyContextMenu", void 0), G([l()], Q.prototype, "_commentPopup", void 0), G([l()], Q.prototype, "_isDragOver", void 0), Q = G([s("flex-table")], Q);
|
|
4597
4601
|
function Qe(e, t) {
|
|
4598
4602
|
if (t) {
|
|
4599
|
-
let t =
|
|
4603
|
+
let t = me(e);
|
|
4600
4604
|
return /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$/.test(t) ? t.replace(" ", "T") : void 0;
|
|
4601
4605
|
}
|
|
4602
|
-
let n =
|
|
4606
|
+
let n = pe(e);
|
|
4603
4607
|
return /^\d{4}-\d{2}-\d{2}$/.test(n) ? n : void 0;
|
|
4604
4608
|
}
|
|
4605
4609
|
function $(e) {
|
|
@@ -4610,4 +4614,4 @@ function $(e) {
|
|
|
4610
4614
|
}
|
|
4611
4615
|
}
|
|
4612
4616
|
//#endregion
|
|
4613
|
-
export {
|
|
4617
|
+
export { z as a, D as c, R as i, W as n, k as o, H as r, O as s, Q as t };
|
package/dist/flex-table.d.ts
CHANGED
|
@@ -7,6 +7,17 @@ import type { FilterPredicate } from './core/filtering.js';
|
|
|
7
7
|
import type { ColumnDefinition, DataRow, SelectionMode, DataMode } from './models/types.js';
|
|
8
8
|
import type { FlexTableEventMap } from './events.js';
|
|
9
9
|
import type { TemplateResult } from 'lit';
|
|
10
|
+
/**
|
|
11
|
+
* 표 내보내기의 대상 — 선택 범위(`selectionOnly`) 또는 바깥에서 준 행(`rows`, 예: `await source.fetchAll()`). 둘은
|
|
12
|
+
* 함께 쓰지 않는다(바깥 행에는 표의 선택 범위가 없다).
|
|
13
|
+
*/
|
|
14
|
+
export type TableExportOptions = {
|
|
15
|
+
selectionOnly?: boolean;
|
|
16
|
+
rows?: undefined;
|
|
17
|
+
} | {
|
|
18
|
+
rows: DataRow[];
|
|
19
|
+
selectionOnly?: undefined;
|
|
20
|
+
};
|
|
10
21
|
export declare class FlexTable extends LitElement {
|
|
11
22
|
static styles: import("lit").CSSResult;
|
|
12
23
|
columns: ColumnDefinition[];
|
|
@@ -313,23 +324,25 @@ export declare class FlexTable extends LitElement {
|
|
|
313
324
|
* Export table data to string in the specified format. Synchronous — XLSX comes back as an
|
|
314
325
|
* uncompressed workbook; use `exportToBlob` for a compressed one.
|
|
315
326
|
* @param options.selectionOnly - Export only the currently selected range
|
|
327
|
+
* @param options.rows - Export these rows with the table's visible columns instead of the rows it holds —
|
|
328
|
+
* a server-paged table holds one page, so pass `await source.fetchAll()` for the whole result
|
|
316
329
|
*/
|
|
317
|
-
exportToString(format: ExportFormat, options?:
|
|
318
|
-
selectionOnly?: boolean;
|
|
319
|
-
}): string | Uint8Array<ArrayBuffer>;
|
|
330
|
+
exportToString(format: ExportFormat, options?: TableExportOptions): string | Uint8Array<ArrayBuffer>;
|
|
320
331
|
/**
|
|
321
332
|
* Export table data as a `Blob` of the format's MIME type. XLSX is DEFLATE-compressed.
|
|
322
|
-
* @param options
|
|
333
|
+
* @param options - `selectionOnly` or `rows`, as for `exportToString`
|
|
323
334
|
*/
|
|
324
|
-
exportToBlob(format: ExportFormat, options?:
|
|
325
|
-
selectionOnly?: boolean;
|
|
326
|
-
}): Promise<Blob>;
|
|
335
|
+
exportToBlob(format: ExportFormat, options?: TableExportOptions): Promise<Blob>;
|
|
327
336
|
/**
|
|
328
337
|
* Export table data and trigger file download. XLSX is DEFLATE-compressed; the promise settles
|
|
329
338
|
* once the download has been handed to the browser.
|
|
339
|
+
* @param options - `selectionOnly` or `rows`, as for `exportToString`
|
|
340
|
+
*/
|
|
341
|
+
exportToFile(format: ExportFormat, filename?: string, options?: TableExportOptions): Promise<void>;
|
|
342
|
+
/**
|
|
343
|
+
* 내보낼 행·열 — 행을 받았으면 그 행 · 보이는 열(서버 페이지 표가 «조회 결과 전체» 를 내보내는 길 — 열과 형식은 표,
|
|
344
|
+
* 질의는 소스가 안다), 선택만이면 선택 범위(없으면 `null`), 아니면 정렬 순서의 전체 행 · 보이는 열.
|
|
330
345
|
*/
|
|
331
|
-
exportToFile(format: ExportFormat, filename?: string): Promise<void>;
|
|
332
|
-
/** 내보낼 행·열 — 선택만이면 선택 범위(없으면 `null`), 아니면 정렬 순서의 전체 행 · 보이는 열. */
|
|
333
346
|
private _exportSlice;
|
|
334
347
|
/**
|
|
335
348
|
* Set a comment on the cell at the given data index and column key.
|
package/dist/flex-table.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as e,
|
|
2
|
-
import { t as
|
|
3
|
-
export {
|
|
1
|
+
import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "./flex-table-kM69-hSo.js";
|
|
2
|
+
import { t as c } from "./locale-D9g0ksXq.js";
|
|
3
|
+
export { s as FlexTable, o as RowSelectionState, i as UndoStack, a as downloadBlob, r as effectiveAlign, n as exportData, e as exportDataBlob, c as flexTableLocale, t as renderCell };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { FlexTable } from './flex-table.js';
|
|
2
|
+
export type { TableExportOptions } from './flex-table.js';
|
|
2
3
|
export type { ColumnDefinition, ColumnType, ColumnAlign, DataRow, CellRenderer, CellEditor, CellValidator, SelectionMode, DataMode, CellStyle, ConditionalRule } from './models/types.js';
|
|
3
4
|
export { effectiveAlign } from './models/types.js';
|
|
4
5
|
export type { CellPosition, CellRange } from './core/selection.js';
|
|
@@ -9,7 +10,7 @@ export { RowSelectionState } from './core/row-selection.js';
|
|
|
9
10
|
export { UndoStack } from './core/undo.js';
|
|
10
11
|
export type { UndoAction } from './core/undo.js';
|
|
11
12
|
export type { ExportFormat } from './export/export.js';
|
|
12
|
-
export { exportData } from './export/export.js';
|
|
13
|
+
export { exportData, exportDataBlob, downloadBlob } from './export/export.js';
|
|
13
14
|
export { renderCell } from './renderers/cell-renderer.js';
|
|
14
15
|
export { flexTableLocale } from './locale.js';
|
|
15
16
|
export type { FlexTableMessageKey } from './locale.js';
|
|
@@ -72,7 +72,8 @@ t.register("en", {
|
|
|
72
72
|
notADateTime: "Enter a date and time as YYYY-MM-DD HH:mm",
|
|
73
73
|
notInList: "Value must be from the existing list",
|
|
74
74
|
requestFailed: "Request failed ({status})",
|
|
75
|
-
networkFailed: "Could not reach the server."
|
|
75
|
+
networkFailed: "Could not reach the server.",
|
|
76
|
+
tooManyRows: "More than {maxRows} rows match — narrow the search or filter first."
|
|
76
77
|
}), t.register("ko", {
|
|
77
78
|
showHiddenColumns: "숨긴 열 보기",
|
|
78
79
|
columnMenu: "열 메뉴",
|
|
@@ -144,7 +145,8 @@ t.register("en", {
|
|
|
144
145
|
notADateTime: "날짜와 시간을 YYYY-MM-DD HH:mm 으로 입력하세요",
|
|
145
146
|
notInList: "목록에 있는 값이어야 합니다",
|
|
146
147
|
requestFailed: "요청이 실패했습니다 ({status})",
|
|
147
|
-
networkFailed: "서버에 연결하지 못했습니다."
|
|
148
|
+
networkFailed: "서버에 연결하지 못했습니다.",
|
|
149
|
+
tooManyRows: "조건에 맞는 행이 {maxRows}개를 넘습니다 — 검색이나 필터로 먼저 좁혀 주세요."
|
|
148
150
|
});
|
|
149
151
|
var n = (e, n) => t.text(e, n);
|
|
150
152
|
//#endregion
|
package/dist/locale.d.ts
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* (아이콘 자리의 글리프)는 어느 로케일에서도 같은 것을 뜻하며, 번역하면 오히려 읽히지 않는다.
|
|
26
26
|
* 그 판단은 «번역하지 않기로 한 것»이지 «빠뜨린 것»이 아니다.
|
|
27
27
|
*/
|
|
28
|
-
export type FlexTableMessageKey = 'showHiddenColumns' | 'columnMenu' | 'cellActions' | 'noColumnsDefined' | 'addCommentPlaceholder' | 'cancel' | 'save' | 'noData' | 'noMatchingData' | 'clear' | 'blankCells' | 'emptyOnly' | 'nonEmptyOnly' | 'blankAll' | 'all' | 'contains' | 'startsWith' | 'endsWith' | 'wildcard' | 'searchPlaceholder' | 'valuePlaceholder' | 'fromPlaceholder' | 'toPlaceholder' | 'findPlaceholder' | 'findPrevious' | 'findNext' | 'matchCase' | 'wholeCell' | 'closeFind' | 'findNoResults' | 'replaceWithPlaceholder' | 'replace' | 'replaceAll' | 'findInput' | 'replaceInput' | 'filterFor' | 'filterMatchMode' | 'filterText' | 'conditionOperator' | 'conditionValue' | 'conditionJoin' | 'sortAscending' | 'sortDescending' | 'filter' | 'clearFilter' | 'hideColumn' | 'showColumn' | 'autoFitWidth' | 'wider' | 'narrower' | 'columnMenuFor' | 'columnMenuRegion' | 'copy' | 'insertRowAbove' | 'insertRowBelow' | 'deleteRow' | 'selectRow' | 'selectAllRows' | 'filterByThisValue' | 'addComment' | 'editComment' | 'deleteComment' | 'booleanTrue' | 'booleanFalse' | 'dropFileToImport' | 'notANumber' | 'notADate' | 'notADateTime' | 'notInList' | 'requestFailed' | 'networkFailed';
|
|
28
|
+
export type FlexTableMessageKey = 'showHiddenColumns' | 'columnMenu' | 'cellActions' | 'noColumnsDefined' | 'addCommentPlaceholder' | 'cancel' | 'save' | 'noData' | 'noMatchingData' | 'clear' | 'blankCells' | 'emptyOnly' | 'nonEmptyOnly' | 'blankAll' | 'all' | 'contains' | 'startsWith' | 'endsWith' | 'wildcard' | 'searchPlaceholder' | 'valuePlaceholder' | 'fromPlaceholder' | 'toPlaceholder' | 'findPlaceholder' | 'findPrevious' | 'findNext' | 'matchCase' | 'wholeCell' | 'closeFind' | 'findNoResults' | 'replaceWithPlaceholder' | 'replace' | 'replaceAll' | 'findInput' | 'replaceInput' | 'filterFor' | 'filterMatchMode' | 'filterText' | 'conditionOperator' | 'conditionValue' | 'conditionJoin' | 'sortAscending' | 'sortDescending' | 'filter' | 'clearFilter' | 'hideColumn' | 'showColumn' | 'autoFitWidth' | 'wider' | 'narrower' | 'columnMenuFor' | 'columnMenuRegion' | 'copy' | 'insertRowAbove' | 'insertRowBelow' | 'deleteRow' | 'selectRow' | 'selectAllRows' | 'filterByThisValue' | 'addComment' | 'editComment' | 'deleteComment' | 'booleanTrue' | 'booleanFalse' | 'dropFileToImport' | 'notANumber' | 'notADate' | 'notADateTime' | 'notInList' | 'requestFailed' | 'networkFailed' | 'tooManyRows';
|
|
29
29
|
/** 이 패키지의 chrome 문자열 묶음. 소비자가 `register()` 로 언어를 더하거나 문구를 덮을 수 있다. */
|
|
30
30
|
export declare const flexTableLocale: import("@iyulab/components/dist/utilities/Locale.js").LocaleNamespace<FlexTableMessageKey>;
|
|
31
31
|
/** 짧은 조회 별칭 — 렌더 코드가 읽히게 유지한다. */
|
package/dist/odata/index.d.ts
CHANGED
|
@@ -3,3 +3,7 @@ export type { ODataQueryState } from './query.js';
|
|
|
3
3
|
export { createODataSource } from './source.js';
|
|
4
4
|
export type { ODataSource, ODataSourceOptions, ODataSourceState } from './source.js';
|
|
5
5
|
export { ODataSourceController } from './controller.js';
|
|
6
|
+
export { DEFAULT_MAX_ROWS } from '../core/fetch-all.js';
|
|
7
|
+
export type { FetchAllOptions } from '../core/fetch-all.js';
|
|
8
|
+
export { SourceRequestError, RowLimitError } from '../core/source-error.js';
|
|
9
|
+
export type { SourceError, SourceErrorDetail } from '../core/source-error.js';
|
package/dist/odata/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as
|
|
1
|
+
import { c as e, l as t, n, r, s as i, t as a } from "../fetch-all-J37bOtgc.js";
|
|
2
|
+
import { t as o } from "../source-DNPtWmC3.js";
|
|
3
3
|
//#region src/odata/controller.ts
|
|
4
|
-
var
|
|
4
|
+
var s = class {
|
|
5
5
|
constructor(e, t, n = {}) {
|
|
6
|
-
this.host = e, this.source = typeof t == "string" ?
|
|
6
|
+
this.host = e, this.source = typeof t == "string" ? o(t, n) : t, e.addController(this);
|
|
7
7
|
}
|
|
8
8
|
get state() {
|
|
9
9
|
return this.source.getState();
|
|
@@ -16,4 +16,4 @@ var i = class {
|
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
18
|
//#endregion
|
|
19
|
-
export {
|
|
19
|
+
export { a as DEFAULT_MAX_ROWS, s as ODataSourceController, n as RowLimitError, r as SourceRequestError, i as buildODataQuery, e as buildSearchExpression, o as createODataSource, t as parseOrderBy };
|
package/dist/odata/query.d.ts
CHANGED
|
@@ -51,9 +51,13 @@ export declare function resolveInitialState(options: InitialSourceStateOptions):
|
|
|
51
51
|
export declare function parseOrderBy(orderBy: string): SortCriteria[];
|
|
52
52
|
/** `buildODataQuery` 가 읽는 표 상태 — `useODataSource` 가 요청마다 넘기는 것과 같은 모양. */
|
|
53
53
|
export interface ODataQueryState {
|
|
54
|
-
/** 0부터 세는 페이지 번호. */
|
|
55
|
-
page
|
|
56
|
-
|
|
54
|
+
/** 0부터 세는 페이지 번호. `pageSize` 와 함께 `$skip` 이 된다. */
|
|
55
|
+
page?: number;
|
|
56
|
+
/**
|
|
57
|
+
* 한 페이지의 행 수(`$top`). **생략하면 `$top`·`$skip` 없이** 조회 결과 전체를 묻는다 — 서버가 응답을 나누면
|
|
58
|
+
* (`@odata.nextLink`) 끝까지 따라가는 것은 부르는 쪽 몫이다(`ODataSource.fetchAll`).
|
|
59
|
+
*/
|
|
60
|
+
pageSize?: number;
|
|
57
61
|
sortCriteria?: SortCriteria[];
|
|
58
62
|
/** 정렬 기준이 비었을 때 쓰는 `$orderby` 문자열. */
|
|
59
63
|
defaultOrderBy?: string;
|