@agile-team/mach-table 0.31.1 → 0.32.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/README.md +29 -1
- package/dist/adapter.cjs +1 -1
- package/dist/adapter.d.cts +20 -3
- package/dist/adapter.d.ts +20 -3
- package/dist/adapter.js +1 -1
- package/dist/analysis.cjs +3 -0
- package/dist/analysis.d.cts +60 -0
- package/dist/analysis.d.ts +60 -0
- package/dist/analysis.js +3 -0
- package/dist/{options-Bi_m5kXL.d.cts → api-pOhyuSQk.d.cts} +780 -754
- package/dist/{options-Bi_m5kXL.d.ts → api-pOhyuSQk.d.ts} +780 -754
- package/dist/{configuration-C9KYeIy1.d.ts → configuration-SYWVjGft.d.ts} +1 -1
- package/dist/{configuration-Bj_JwdTd.d.cts → configuration-gAE1eZuB.d.cts} +1 -1
- package/dist/index.cjs +5 -5
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +5 -5
- package/dist/mach-table.css +1 -1
- package/dist/multi-range.cjs +4 -0
- package/dist/multi-range.d.cts +13 -0
- package/dist/multi-range.d.ts +13 -0
- package/dist/multi-range.js +4 -0
- package/dist/ordering.cjs +1 -0
- package/dist/ordering.d.cts +93 -0
- package/dist/ordering.d.ts +93 -0
- package/dist/ordering.js +1 -0
- package/dist/preferences.cjs +1 -0
- package/dist/preferences.d.cts +71 -0
- package/dist/preferences.d.ts +71 -0
- package/dist/preferences.js +1 -0
- package/dist/server-side.cjs +1 -0
- package/dist/server-side.css +1 -0
- package/dist/server-side.css.d.ts +2 -0
- package/dist/server-side.d.cts +132 -0
- package/dist/server-side.d.ts +132 -0
- package/dist/server-side.js +1 -0
- package/dist/shared-Bi8hAuzn.d.cts +12 -0
- package/dist/shared-Bn77TiBm.d.ts +12 -0
- package/dist/workbench.cjs +1 -0
- package/dist/workbench.css +1 -0
- package/dist/workbench.css.d.ts +2 -0
- package/dist/workbench.d.cts +72 -0
- package/dist/workbench.d.ts +72 -0
- package/dist/workbench.js +1 -0
- package/dist/worker.cjs +1 -1
- package/dist/worker.d.cts +2 -2
- package/dist/worker.d.ts +2 -2
- package/dist/worker.js +1 -1
- package/package.json +72 -5
- /package/{styles → dist}/mach-table.css.d.ts +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agile-team/mach-table",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.0",
|
|
4
4
|
"description": "Enterprise-grade, framework-agnostic TypeScript data grid with virtualization, editing, grouping and extensibility",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"data-grid",
|
|
@@ -64,13 +64,80 @@
|
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
66
|
"./styles/mach-table.css": {
|
|
67
|
-
"types": "./
|
|
67
|
+
"types": "./dist/mach-table.css.d.ts",
|
|
68
68
|
"default": "./dist/mach-table.css"
|
|
69
|
+
},
|
|
70
|
+
"./workbench": {
|
|
71
|
+
"import": {
|
|
72
|
+
"types": "./dist/workbench.d.ts",
|
|
73
|
+
"default": "./dist/workbench.js"
|
|
74
|
+
},
|
|
75
|
+
"require": {
|
|
76
|
+
"types": "./dist/workbench.d.cts",
|
|
77
|
+
"default": "./dist/workbench.cjs"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"./preferences": {
|
|
81
|
+
"import": {
|
|
82
|
+
"types": "./dist/preferences.d.ts",
|
|
83
|
+
"default": "./dist/preferences.js"
|
|
84
|
+
},
|
|
85
|
+
"require": {
|
|
86
|
+
"types": "./dist/preferences.d.cts",
|
|
87
|
+
"default": "./dist/preferences.cjs"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"./ordering": {
|
|
91
|
+
"import": {
|
|
92
|
+
"types": "./dist/ordering.d.ts",
|
|
93
|
+
"default": "./dist/ordering.js"
|
|
94
|
+
},
|
|
95
|
+
"require": {
|
|
96
|
+
"types": "./dist/ordering.d.cts",
|
|
97
|
+
"default": "./dist/ordering.cjs"
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"./server-side": {
|
|
101
|
+
"import": {
|
|
102
|
+
"types": "./dist/server-side.d.ts",
|
|
103
|
+
"default": "./dist/server-side.js"
|
|
104
|
+
},
|
|
105
|
+
"require": {
|
|
106
|
+
"types": "./dist/server-side.d.cts",
|
|
107
|
+
"default": "./dist/server-side.cjs"
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
"./analysis": {
|
|
111
|
+
"import": {
|
|
112
|
+
"types": "./dist/analysis.d.ts",
|
|
113
|
+
"default": "./dist/analysis.js"
|
|
114
|
+
},
|
|
115
|
+
"require": {
|
|
116
|
+
"types": "./dist/analysis.d.cts",
|
|
117
|
+
"default": "./dist/analysis.cjs"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
"./multi-range": {
|
|
121
|
+
"import": {
|
|
122
|
+
"types": "./dist/multi-range.d.ts",
|
|
123
|
+
"default": "./dist/multi-range.js"
|
|
124
|
+
},
|
|
125
|
+
"require": {
|
|
126
|
+
"types": "./dist/multi-range.d.cts",
|
|
127
|
+
"default": "./dist/multi-range.cjs"
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
"./styles/workbench.css": {
|
|
131
|
+
"types": "./dist/workbench.css.d.ts",
|
|
132
|
+
"default": "./dist/workbench.css"
|
|
133
|
+
},
|
|
134
|
+
"./styles/server-side.css": {
|
|
135
|
+
"types": "./dist/server-side.css.d.ts",
|
|
136
|
+
"default": "./dist/server-side.css"
|
|
69
137
|
}
|
|
70
138
|
},
|
|
71
139
|
"files": [
|
|
72
|
-
"dist"
|
|
73
|
-
"styles/mach-table.css.d.ts"
|
|
140
|
+
"dist"
|
|
74
141
|
],
|
|
75
142
|
"sideEffects": [
|
|
76
143
|
"**/*.css"
|
|
@@ -81,5 +148,5 @@
|
|
|
81
148
|
"test": "vitest run",
|
|
82
149
|
"test:coverage": "vitest run --coverage"
|
|
83
150
|
},
|
|
84
|
-
"readme": "<p align=\"center\">\n <img src=\"https://raw.githubusercontent.com/ChenyCHENYU/MachTable/main/assets/mach-table-logo.svg\" alt=\"MachTable\" width=\"760\" />\n</p>\n\n# @agile-team/mach-table\n\nMachTable 0.
|
|
151
|
+
"readme": "<p align=\"center\">\n <img src=\"https://raw.githubusercontent.com/ChenyCHENYU/MachTable/main/assets/mach-table-logo.svg\" alt=\"MachTable\" width=\"760\" />\n</p>\n\n# @agile-team/mach-table\n\nMachTable 0.32.0 的框架无关 TypeScript Core:零运行时依赖,提供行列双虚拟化、领域化 API、单元格/整行编辑、树与分组、随机访问远程数据、区段隔离状态持久化和可诊断扩展系统。本版增加六个按需高级子入口,完善内部资源所有权、框架生命周期与缓存操作边界。\n\n```bash\npnpm add @agile-team/mach-table\n```\n\n```ts\nimport { createGrid, indexColumn } from \"@agile-team/mach-table\";\nimport \"@agile-team/mach-table/styles/mach-table.css\";\n\nconst api = createGrid(document.querySelector(\"#grid\")!, {\n columnDefs: [\n indexColumn({ headerName: \"序号\" }),\n { field: \"id\", headerName: \"ID\", width: 120 },\n { field: \"name\", headerName: \"名称\", flex: 1, editable: true }\n ],\n rowData: [{ id: \"1\", name: \"MachTable\" }],\n rowKey: \"id\",\n enableColumnResize: true,\n persistence: { key: \"tenant:user:customers\", sections: [\"columns\"] }\n});\n\napi.batch((grid) => {\n grid.rows.transact({ update: [{ id: \"1\", name: \"Updated\" }] });\n grid.columns.setVisible(\"internalNote\", false);\n grid.view.refreshCells({ rowIds: [\"1\"] });\n});\n\nconst saved = await api.editing.save(orderApi.saveChanges);\nconsole.table(saved.conflicts);\nconsole.info(api.diagnostics.get());\n\n// 原生宿主卸载时必须销毁;Vue/React 适配器会自动处理。\napi.destroy();\n```\n\n`persistence.sections` 同时约束进入 store 的数据与恢复范围;异步 store 写入有序,晚到加载不会覆盖加载期间的用户操作。\n\n单元格编辑通过内置对勾/取消控件显式结束,普通鼠标和焦点变化不会误提交;Enter、Escape、Tab 仍提供完整键盘路径。筛选、列设置、上下文菜单和操作菜单会继承所属表格实例的主题变量,不受宿主页面全局样式影响。\n\n编辑、粘贴、清空和填充共用已有列校验与整行校验,批量输入按行提交并合并撤销记录,异步校验不会写回已替换的数据。随机块缓存淘汰后,未保存行仍可通过编辑 API 保存或回滚;完整替换数据与重新查询会清理旧作用域的状态。\n\n`loading: true` 默认展示轻量表格骨架与本地化状态文案,空数据默认展示内置插画;需要品牌化时再通过 `overlayLoadingTemplate`、`overlayNoRowsTemplate` 覆盖,基础页面无需重复实现 loading/empty DOM。\n\n公共命令按 `rows`、`columns`、`selection`、`editing`、`filtering`、`sorting`、`pagination`、`hierarchy`、`view`、`state`、`io`、`diagnostics` 划分。完整签名见 [GridApi](https://github.com/ChenyCHENYU/MachTable/blob/main/docs/api/grid-api.md)。\n\n大型本地数据 Worker 使用独立入口:\n\n```ts\nimport { createWorkerDataProcessor } from \"@agile-team/mach-table/worker\";\n```\n\nVue/React 项目请只安装对应适配包,它会自动安装并重导出 Core:\n\n- [@agile-team/mach-table-vue](https://www.npmjs.com/package/@agile-team/mach-table-vue)\n- [@agile-team/mach-table-react](https://www.npmjs.com/package/@agile-team/mach-table-react)\n\n## 行拖拽与条件整行颜色\n\n```ts\nimport { dragColumn, type GridOptions } from \"@agile-team/mach-table\";\n\ninterface Plan { id: string; name: string; status: string }\nconst options: GridOptions<Plan> = {\n rowKey: \"id\",\n columnDefs: [dragColumn(), { field: \"name\" }, { field: \"status\" }],\n rowStyleRules: [\n { when: ({ data }) => data.status === \"pending\", tone: \"warning\" },\n { when: ({ data }) => data.status === \"failed\", tone: \"danger\" },\n { when: ({ data }) => data.status === \"done\", tone: \"success\" }\n ]\n};\n```\n\n状态码由应用定义,包内不识别业务状态。颜色规则取第一条命中结果,未命中时沿用默认样式;支持自定义背景/文字颜色、固定列、明暗主题、选择和虚拟行复用。拖拽提供主题手柄、落点线、位置浮层、边缘滚动、Esc 取消和 Alt + ↑/↓ 移动。扁平外部数据设置 `applyRowDrag: false`,由 `onRowDragEnd` 处理持久化;自动模式先完成移动再发出事件,使用 `targetIndex` 读取最终下标。树、分组及排序等自动模式限制见[完整配方](https://github.com/ChenyCHENYU/MachTable/blob/main/docs/recipes/row-presentation.md)。\n\n文档:[快速开始](https://github.com/ChenyCHENYU/MachTable/blob/main/docs/guide/getting-started.md) · [企业接入](https://github.com/ChenyCHENYU/MachTable/blob/main/docs/guide/enterprise-integration.md) · [API](https://github.com/ChenyCHENYU/MachTable/tree/main/docs/api)\n\n## 按需高级入口(0.32)\n\n仍从本包导入,无需另装高级功能包。普通根入口不加载这些实现或附加 CSS。\n\n| 子路径 | 功能 |\n| --- | --- |\n| `/workbench` | 高级过滤草稿与应用、修改差异/部分保存/冲突审阅、手动诊断 |\n| `/preferences` | 复合身份隔离、CAS、有序写入、历史版本及列 ID/类型迁移报告 |\n| `/ordering` | 多行/树移动、防环与业务约束、失败回滚、持久化撤销/重做 |\n| `/server-side` | 服务端分组/聚合、route 分页、缓存/刷新/事务及层级选择 |\n| `/multi-range` | Ctrl/Cmd 追加范围、格式化复制、校验清空及撤销 |\n| `/analysis` | Pivot、安全公式、柱/折线图和数据表回退 |\n\n```ts\nimport { mountAdvancedFilterBuilder } from \"@agile-team/mach-table/workbench\";\nimport \"@agile-team/mach-table/styles/workbench.css\";\n\nconst filters = mountAdvancedFilterBuilder(host, { api });\n// 宿主卸载时调用;表格销毁也会释放工作台。\nfilters.destroy();\n```\n\n服务端分组控件使用 `/styles/server-side.css`,分析与多范围使用 `/styles/workbench.css`。排序、偏好和纯分析计算无需附加 CSS。服务端 Store 按 route 分页,不提供全树任意显示 offset;分析只处理当前已加载数据并显示范围。排序 undo/redo 的 transport 必须一次 CAS 保存 `context.operations` 的完整批次或 `context.plan.after`,只保存首参数无法完整恢复非连续/跨父级位置。\n\n完整示例与限制:[工作台](https://github.com/ChenyCHENYU/MachTable/blob/main/docs/recipes/workbench.md) · [排序](https://github.com/ChenyCHENYU/MachTable/blob/main/docs/recipes/row-presentation.md) · [企业偏好](https://github.com/ChenyCHENYU/MachTable/blob/main/docs/recipes/enterprise-preferences.md) · [服务端 Store](https://github.com/ChenyCHENYU/MachTable/blob/main/docs/recipes/server-side-store.md) · [多范围](https://github.com/ChenyCHENYU/MachTable/blob/main/docs/recipes/multi-range.md) · [分析](https://github.com/ChenyCHENYU/MachTable/blob/main/docs/recipes/analysis.md)。\n\nSource-available © ChenyCHENYU (Agile Team). 任何使用均须事先取得书面授权。详见 [LICENSE](https://github.com/ChenyCHENYU/MachTable/blob/main/LICENSE) 与[授权流程](https://github.com/ChenyCHENYU/MachTable/blob/main/LICENSING.md)。\n"
|
|
85
152
|
}
|
|
File without changes
|