@next-bricks/advanced 0.3.0 → 0.5.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.
Files changed (41) hide show
  1. package/dist/bricks.json +3 -3
  2. package/dist/chunks/2179.69e8af07.js +2 -0
  3. package/dist/chunks/{7164.a7aa4670.js.map → 2179.69e8af07.js.map} +1 -1
  4. package/dist/chunks/4540.6f5710be.js +2 -0
  5. package/dist/chunks/4540.6f5710be.js.map +1 -0
  6. package/dist/chunks/4553.1299aaa6.js +2 -0
  7. package/dist/chunks/4553.1299aaa6.js.map +1 -0
  8. package/dist/chunks/5636.12dd2cb9.js +2 -0
  9. package/dist/chunks/5636.12dd2cb9.js.map +1 -0
  10. package/dist/chunks/6205.26d502bf.js +2 -0
  11. package/dist/chunks/{6205.4b09b6ca.js.map → 6205.26d502bf.js.map} +1 -1
  12. package/dist/chunks/7164.581bdfb9.js +2 -0
  13. package/dist/chunks/7164.581bdfb9.js.map +1 -0
  14. package/dist/chunks/8588.7062eb7d.js +2 -0
  15. package/dist/chunks/8588.7062eb7d.js.map +1 -0
  16. package/dist/chunks/eo-next-table.47f842f1.js +2 -0
  17. package/dist/chunks/eo-next-table.47f842f1.js.map +1 -0
  18. package/dist/chunks/main.5495f0c1.js +2 -0
  19. package/dist/chunks/main.5495f0c1.js.map +1 -0
  20. package/dist/examples.json +1 -1
  21. package/dist/index.7ba70857.js +2 -0
  22. package/dist/index.7ba70857.js.map +1 -0
  23. package/dist/manifest.json +75 -20
  24. package/dist/types.json +385 -7
  25. package/dist-types/next-table/Table.d.ts +21 -4
  26. package/dist-types/next-table/i18n.d.ts +12 -0
  27. package/dist-types/next-table/index.d.ts +31 -2
  28. package/dist-types/next-table/interface.d.ts +19 -1
  29. package/dist-types/next-table/utils.d.ts +7 -0
  30. package/docs/eo-next-table.md +173 -25
  31. package/package.json +2 -2
  32. package/dist/chunks/6205.4b09b6ca.js +0 -2
  33. package/dist/chunks/649.b85c932f.js +0 -2
  34. package/dist/chunks/649.b85c932f.js.map +0 -1
  35. package/dist/chunks/7164.a7aa4670.js +0 -2
  36. package/dist/chunks/eo-next-table.f4c20aee.js +0 -2
  37. package/dist/chunks/eo-next-table.f4c20aee.js.map +0 -1
  38. package/dist/chunks/main.29dcb44b.js +0 -2
  39. package/dist/chunks/main.29dcb44b.js.map +0 -1
  40. package/dist/index.bb23d2c4.js +0 -2
  41. package/dist/index.bb23d2c4.js.map +0 -1
package/dist/types.json CHANGED
@@ -1198,6 +1198,13 @@
1198
1198
  },
1199
1199
  "eo-next-table": {
1200
1200
  "properties": [
1201
+ {
1202
+ "name": "rowKey",
1203
+ "annotation": {
1204
+ "type": "keyword",
1205
+ "value": "string"
1206
+ }
1207
+ },
1201
1208
  {
1202
1209
  "name": "columns",
1203
1210
  "annotation": {
@@ -1213,25 +1220,223 @@
1213
1220
  },
1214
1221
  {
1215
1222
  "name": "dataSource",
1223
+ "annotation": {
1224
+ "type": "reference",
1225
+ "typeName": {
1226
+ "type": "identifier",
1227
+ "name": "DataSource"
1228
+ }
1229
+ }
1230
+ },
1231
+ {
1232
+ "name": "pagination",
1233
+ "annotation": {
1234
+ "type": "reference",
1235
+ "typeName": {
1236
+ "type": "identifier",
1237
+ "name": "PaginationType"
1238
+ }
1239
+ }
1240
+ },
1241
+ {
1242
+ "name": "hiddenColumns",
1216
1243
  "annotation": {
1217
1244
  "type": "array",
1218
1245
  "elementType": {
1219
- "type": "reference",
1220
- "typeName": {
1221
- "type": "identifier",
1222
- "name": "RecordType"
1246
+ "type": "parenthesizedType",
1247
+ "annotation": {
1248
+ "type": "union",
1249
+ "types": [
1250
+ {
1251
+ "type": "keyword",
1252
+ "value": "string"
1253
+ },
1254
+ {
1255
+ "type": "keyword",
1256
+ "value": "number"
1257
+ }
1258
+ ]
1223
1259
  }
1224
1260
  }
1225
1261
  }
1262
+ },
1263
+ {
1264
+ "name": "searchFields",
1265
+ "annotation": {
1266
+ "type": "array",
1267
+ "elementType": {
1268
+ "type": "parenthesizedType",
1269
+ "annotation": {
1270
+ "type": "union",
1271
+ "types": [
1272
+ {
1273
+ "type": "keyword",
1274
+ "value": "string"
1275
+ },
1276
+ {
1277
+ "type": "array",
1278
+ "elementType": {
1279
+ "type": "keyword",
1280
+ "value": "string"
1281
+ }
1282
+ }
1283
+ ]
1284
+ }
1285
+ }
1286
+ }
1287
+ }
1288
+ ],
1289
+ "events": [
1290
+ {
1291
+ "name": "page.change",
1292
+ "detail": {
1293
+ "annotation": {
1294
+ "type": "typeLiteral",
1295
+ "members": [
1296
+ {
1297
+ "type": "propertySignature",
1298
+ "key": {
1299
+ "type": "identifier",
1300
+ "name": "page"
1301
+ },
1302
+ "annotation": {
1303
+ "type": "keyword",
1304
+ "value": "number"
1305
+ },
1306
+ "computed": false
1307
+ },
1308
+ {
1309
+ "type": "propertySignature",
1310
+ "key": {
1311
+ "type": "identifier",
1312
+ "name": "pageSize"
1313
+ },
1314
+ "annotation": {
1315
+ "type": "keyword",
1316
+ "value": "number"
1317
+ },
1318
+ "computed": false
1319
+ }
1320
+ ]
1321
+ }
1322
+ }
1323
+ },
1324
+ {
1325
+ "name": "page.size.change",
1326
+ "detail": {
1327
+ "annotation": {
1328
+ "type": "typeLiteral",
1329
+ "members": [
1330
+ {
1331
+ "type": "propertySignature",
1332
+ "key": {
1333
+ "type": "identifier",
1334
+ "name": "page"
1335
+ },
1336
+ "annotation": {
1337
+ "type": "keyword",
1338
+ "value": "number"
1339
+ },
1340
+ "computed": false
1341
+ },
1342
+ {
1343
+ "type": "propertySignature",
1344
+ "key": {
1345
+ "type": "identifier",
1346
+ "name": "pageSize"
1347
+ },
1348
+ "annotation": {
1349
+ "type": "keyword",
1350
+ "value": "number"
1351
+ },
1352
+ "computed": false
1353
+ }
1354
+ ]
1355
+ }
1356
+ }
1357
+ }
1358
+ ],
1359
+ "methods": [
1360
+ {
1361
+ "name": "search",
1362
+ "params": [
1363
+ {
1364
+ "name": "params",
1365
+ "annotation": {
1366
+ "type": "typeLiteral",
1367
+ "members": [
1368
+ {
1369
+ "type": "propertySignature",
1370
+ "key": {
1371
+ "type": "identifier",
1372
+ "name": "q"
1373
+ },
1374
+ "annotation": {
1375
+ "type": "keyword",
1376
+ "value": "string"
1377
+ },
1378
+ "computed": false
1379
+ }
1380
+ ]
1381
+ }
1382
+ }
1383
+ ],
1384
+ "returns": {}
1226
1385
  }
1227
1386
  ],
1228
- "events": [],
1229
- "methods": [],
1230
1387
  "types": [
1231
1388
  {
1232
1389
  "type": "interface",
1233
1390
  "name": "Column",
1234
- "body": [],
1391
+ "body": [
1392
+ {
1393
+ "type": "propertySignature",
1394
+ "key": {
1395
+ "type": "identifier",
1396
+ "name": "headerBrick"
1397
+ },
1398
+ "annotation": {
1399
+ "type": "typeLiteral",
1400
+ "members": [
1401
+ {
1402
+ "type": "propertySignature",
1403
+ "key": {
1404
+ "type": "identifier",
1405
+ "name": "useBrick"
1406
+ },
1407
+ "annotation": {
1408
+ "type": "reference",
1409
+ "typeName": {
1410
+ "type": "identifier",
1411
+ "name": "UseBrickConf"
1412
+ }
1413
+ },
1414
+ "computed": false
1415
+ }
1416
+ ]
1417
+ },
1418
+ "optional": true,
1419
+ "computed": false,
1420
+ "description": "表头自定义展示构件"
1421
+ },
1422
+ {
1423
+ "type": "propertySignature",
1424
+ "key": {
1425
+ "type": "identifier",
1426
+ "name": "useBrick"
1427
+ },
1428
+ "annotation": {
1429
+ "type": "reference",
1430
+ "typeName": {
1431
+ "type": "identifier",
1432
+ "name": "UseBrickConf"
1433
+ }
1434
+ },
1435
+ "optional": true,
1436
+ "computed": false,
1437
+ "description": "内容自定义展示构件"
1438
+ }
1439
+ ],
1235
1440
  "extends": [
1236
1441
  {
1237
1442
  "type": "expressionWithTypeArguments",
@@ -1277,6 +1482,179 @@
1277
1482
  ]
1278
1483
  }
1279
1484
  }
1485
+ },
1486
+ {
1487
+ "type": "interface",
1488
+ "name": "DataSource",
1489
+ "body": [
1490
+ {
1491
+ "type": "propertySignature",
1492
+ "key": {
1493
+ "type": "identifier",
1494
+ "name": "list"
1495
+ },
1496
+ "annotation": {
1497
+ "type": "array",
1498
+ "elementType": {
1499
+ "type": "reference",
1500
+ "typeName": {
1501
+ "type": "identifier",
1502
+ "name": "RecordType"
1503
+ }
1504
+ }
1505
+ },
1506
+ "optional": true,
1507
+ "computed": false
1508
+ },
1509
+ {
1510
+ "type": "propertySignature",
1511
+ "key": {
1512
+ "type": "identifier",
1513
+ "name": "total"
1514
+ },
1515
+ "annotation": {
1516
+ "type": "keyword",
1517
+ "value": "number"
1518
+ },
1519
+ "optional": true,
1520
+ "computed": false
1521
+ },
1522
+ {
1523
+ "type": "propertySignature",
1524
+ "key": {
1525
+ "type": "identifier",
1526
+ "name": "page"
1527
+ },
1528
+ "annotation": {
1529
+ "type": "keyword",
1530
+ "value": "number"
1531
+ },
1532
+ "optional": true,
1533
+ "computed": false
1534
+ },
1535
+ {
1536
+ "type": "propertySignature",
1537
+ "key": {
1538
+ "type": "identifier",
1539
+ "name": "pageSize"
1540
+ },
1541
+ "annotation": {
1542
+ "type": "keyword",
1543
+ "value": "number"
1544
+ },
1545
+ "optional": true,
1546
+ "computed": false
1547
+ }
1548
+ ]
1549
+ },
1550
+ {
1551
+ "type": "typeAlias",
1552
+ "name": "PaginationType",
1553
+ "annotation": {
1554
+ "type": "union",
1555
+ "types": [
1556
+ {
1557
+ "type": "jsLiteral",
1558
+ "value": false
1559
+ },
1560
+ {
1561
+ "type": "reference",
1562
+ "typeName": {
1563
+ "type": "identifier",
1564
+ "name": "PaginationConfig"
1565
+ }
1566
+ },
1567
+ {
1568
+ "type": "keyword",
1569
+ "value": "undefined"
1570
+ }
1571
+ ]
1572
+ }
1573
+ },
1574
+ {
1575
+ "type": "interface",
1576
+ "name": "PaginationConfig",
1577
+ "body": [
1578
+ {
1579
+ "type": "propertySignature",
1580
+ "key": {
1581
+ "type": "identifier",
1582
+ "name": "showTotal"
1583
+ },
1584
+ "annotation": {
1585
+ "type": "keyword",
1586
+ "value": "boolean"
1587
+ },
1588
+ "optional": true,
1589
+ "computed": false
1590
+ }
1591
+ ],
1592
+ "extends": [
1593
+ {
1594
+ "type": "expressionWithTypeArguments",
1595
+ "expression": {
1596
+ "type": "identifier",
1597
+ "name": "Pick"
1598
+ },
1599
+ "typeParameters": {
1600
+ "type": "typeParameterInstantiation",
1601
+ "params": [
1602
+ {
1603
+ "type": "reference",
1604
+ "typeName": {
1605
+ "type": "identifier",
1606
+ "name": "TablePaginationConfig"
1607
+ }
1608
+ },
1609
+ {
1610
+ "type": "union",
1611
+ "types": [
1612
+ {
1613
+ "type": "jsLiteral",
1614
+ "value": "disabled"
1615
+ },
1616
+ {
1617
+ "type": "jsLiteral",
1618
+ "value": "hideOnSinglePage"
1619
+ },
1620
+ {
1621
+ "type": "jsLiteral",
1622
+ "value": "pageSizeOptions"
1623
+ },
1624
+ {
1625
+ "type": "jsLiteral",
1626
+ "value": "responsive"
1627
+ },
1628
+ {
1629
+ "type": "jsLiteral",
1630
+ "value": "showLessItems"
1631
+ },
1632
+ {
1633
+ "type": "jsLiteral",
1634
+ "value": "showQuickJumper"
1635
+ },
1636
+ {
1637
+ "type": "jsLiteral",
1638
+ "value": "showSizeChanger"
1639
+ },
1640
+ {
1641
+ "type": "jsLiteral",
1642
+ "value": "showTitle"
1643
+ },
1644
+ {
1645
+ "type": "jsLiteral",
1646
+ "value": "simple"
1647
+ },
1648
+ {
1649
+ "type": "jsLiteral",
1650
+ "value": "size"
1651
+ }
1652
+ ]
1653
+ }
1654
+ ]
1655
+ }
1656
+ }
1657
+ ]
1280
1658
  }
1281
1659
  ]
1282
1660
  }
@@ -1,9 +1,26 @@
1
- /// <reference types="react" resolution-mode="require"/>
2
- import { Column, RecordType } from "./interface.js";
1
+ import React from "react";
2
+ import { Column, DataSource, PaginationType } from "./interface.js";
3
3
  interface NextTableComponentProps {
4
4
  shadowRoot: ShadowRoot | null;
5
+ rowKey?: string;
5
6
  columns?: Column[];
6
- dataSource?: RecordType[];
7
+ dataSource?: DataSource;
8
+ pagination?: PaginationType;
9
+ hiddenColumns?: (string | number)[];
10
+ searchFields?: (string | string[])[];
11
+ onPageChange?: (detail: {
12
+ page: number;
13
+ pageSize: number;
14
+ }) => void;
15
+ onPageSizeChange?: (detail: {
16
+ page: number;
17
+ pageSize: number;
18
+ }) => void;
7
19
  }
8
- export declare function NextTableComponent(props: NextTableComponentProps): JSX.Element;
20
+ export interface NextTableComponentRef {
21
+ search: (params: {
22
+ q: string;
23
+ }) => void;
24
+ }
25
+ export declare const NextTableComponent: React.ForwardRefExoticComponent<NextTableComponentProps & React.RefAttributes<NextTableComponentRef>>;
9
26
  export {};
@@ -0,0 +1,12 @@
1
+ export declare enum K {
2
+ TOTAL = "TOTAL"
3
+ }
4
+ export declare const NS = "bricks/advanced/eo-next-table";
5
+ export declare const locales: {
6
+ en: Locale;
7
+ zh: Locale;
8
+ };
9
+ type Locale = {
10
+ [key in K]: string;
11
+ };
12
+ export {};
@@ -1,12 +1,41 @@
1
1
  /// <reference types="react" resolution-mode="require"/>
2
2
  import { ReactNextElement } from "@next-core/react-element";
3
3
  import "@next-core/theme";
4
- import { Column, RecordType } from "./interface.js";
4
+ import { Column, DataSource, PaginationType } from "./interface.js";
5
5
  /**
6
6
  * 大型表格
7
7
  */
8
8
  export declare class EoNextTable extends ReactNextElement {
9
+ #private;
10
+ /**
11
+ * 指定表格行的 key
12
+ */
13
+ accessor rowKey: string;
14
+ /**
15
+ * 列定义
16
+ */
9
17
  accessor columns: Column[] | undefined;
10
- accessor dataSource: RecordType[] | undefined;
18
+ /**
19
+ * 数据源
20
+ */
21
+ accessor dataSource: DataSource | undefined;
22
+ /**
23
+ * 分页配置
24
+ */
25
+ accessor pagination: PaginationType | undefined;
26
+ /**
27
+ * 隐藏的列(输入对应的 column.key)
28
+ */
29
+ accessor hiddenColumns: (string | number)[] | undefined;
30
+ /**
31
+ * 进行前端搜索的字段,支持嵌套的写法。不配置的时候默认为对所有 column.dataIndex 进行前端搜索
32
+ */
33
+ accessor searchFields: (string | string[])[] | undefined;
34
+ /**
35
+ * 前端搜索
36
+ */
37
+ search(params: {
38
+ q: string;
39
+ }): void;
11
40
  render(): JSX.Element;
12
41
  }
@@ -1,4 +1,22 @@
1
- import type { ColumnType } from "antd/es/table";
1
+ import type { ColumnType, TablePaginationConfig } from "antd/es/table";
2
+ import type { UseBrickConf } from "@next-core/types";
2
3
  export type RecordType = Record<string, any>;
3
4
  export interface Column extends ColumnType<RecordType> {
5
+ /** 表头自定义展示构件 */
6
+ headerBrick?: {
7
+ useBrick: UseBrickConf;
8
+ };
9
+ /** 内容自定义展示构件 */
10
+ useBrick?: UseBrickConf;
4
11
  }
12
+ export interface DataSource {
13
+ list?: RecordType[];
14
+ total?: number;
15
+ page?: number;
16
+ pageSize?: number;
17
+ }
18
+ interface PaginationConfig extends Pick<TablePaginationConfig, "disabled" | "hideOnSinglePage" | "pageSizeOptions" | "responsive" | "showLessItems" | "showQuickJumper" | "showSizeChanger" | "showTitle" | "simple" | "size"> {
19
+ showTotal?: boolean;
20
+ }
21
+ export type PaginationType = false | PaginationConfig | undefined;
22
+ export {};
@@ -0,0 +1,7 @@
1
+ export declare const DEFAULT_PAGE_SIZE = 20;
2
+ export declare const DEFAULT_PAGE = 1;
3
+ export declare const defaultPaginationConfig: {
4
+ showSizeChanger: boolean;
5
+ showTotal: boolean;
6
+ };
7
+ export declare function getSearchKeywords(value: unknown): string[];