@agile-team/mach-table-vue 0.19.1 → 0.24.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 +37 -111
- package/dist/MachTable-AXAVVKW5.cjs +1 -0
- package/dist/MachTable-PX2BHIPK.js +1 -0
- package/dist/{MachTable-DH0offab.d.cts → MachTable-jS92BIXm.d.cts} +3 -6
- package/dist/{MachTable-DH0offab.d.ts → MachTable-jS92BIXm.d.ts} +3 -6
- package/dist/adapters.cjs +1 -0
- package/dist/adapters.d.cts +53 -0
- package/dist/adapters.d.ts +53 -0
- package/dist/adapters.js +1 -0
- package/dist/async.cjs +1 -2
- package/dist/async.d.cts +4 -3
- package/dist/async.d.ts +4 -3
- package/dist/async.js +1 -2
- package/dist/chunk-3LIWCBSP.cjs +1 -0
- package/dist/chunk-7LXDVLDD.cjs +1 -0
- package/dist/chunk-7MRR4IDI.js +1 -0
- package/dist/chunk-CVSAWAOZ.js +1 -0
- package/dist/chunk-EGEQGM3D.cjs +1 -0
- package/dist/chunk-IS6G3WLH.js +1 -0
- package/dist/chunk-OFITMI6J.cjs +1 -0
- package/dist/chunk-SQVY5G55.js +1 -0
- package/dist/chunk-XECIDGIZ.cjs +1 -0
- package/dist/chunk-YTEW56VQ.js +1 -0
- package/dist/editors.cjs +0 -1
- package/dist/editors.js +0 -1
- package/dist/globalRegistration-bUvkfBzA.d.ts +13 -0
- package/dist/globalRegistration-oxdZVSgD.d.cts +13 -0
- package/dist/index.cjs +1 -2
- package/dist/index.d.cts +8 -60
- package/dist/index.d.ts +8 -60
- package/dist/index.js +1 -2
- package/dist/ui.cjs +1 -2
- package/dist/ui.d.cts +1 -1
- package/dist/ui.d.ts +1 -1
- package/dist/ui.js +1 -2
- package/dist/useMachTable-DXGZxgIJ.d.ts +12 -0
- package/dist/useMachTable-YH4Xj6dS.d.cts +12 -0
- package/dist/worker.cjs +0 -1
- package/dist/worker.js +0 -1
- package/dist/workflows.cjs +1 -2
- package/dist/workflows.d.cts +139 -4
- package/dist/workflows.d.ts +139 -4
- package/dist/workflows.js +1 -2
- package/package.json +13 -3
- package/dist/MachTable-7H7Z4ACQ.cjs +0 -2
- package/dist/MachTable-7H7Z4ACQ.cjs.map +0 -1
- package/dist/MachTable-CIBYH7LC.js +0 -2
- package/dist/MachTable-CIBYH7LC.js.map +0 -1
- package/dist/async.cjs.map +0 -1
- package/dist/async.js.map +0 -1
- package/dist/chunk-BW56NYGC.cjs +0 -2
- package/dist/chunk-BW56NYGC.cjs.map +0 -1
- package/dist/chunk-HBEB7H4E.js +0 -2
- package/dist/chunk-HBEB7H4E.js.map +0 -1
- package/dist/chunk-IZZT6PAH.js +0 -2
- package/dist/chunk-IZZT6PAH.js.map +0 -1
- package/dist/chunk-MCLI6WUN.cjs +0 -2
- package/dist/chunk-MCLI6WUN.cjs.map +0 -1
- package/dist/chunk-P7PVLT5L.js +0 -2
- package/dist/chunk-P7PVLT5L.js.map +0 -1
- package/dist/chunk-PPNQWKVV.cjs +0 -2
- package/dist/chunk-PPNQWKVV.cjs.map +0 -1
- package/dist/chunk-SUSVK2OW.js +0 -2
- package/dist/chunk-SUSVK2OW.js.map +0 -1
- package/dist/chunk-UST6E3TU.cjs +0 -2
- package/dist/chunk-UST6E3TU.cjs.map +0 -1
- package/dist/editors.cjs.map +0 -1
- package/dist/editors.js.map +0 -1
- package/dist/globalRegistration-BhAR-B5k.d.cts +0 -19
- package/dist/globalRegistration-DTWLNxPI.d.ts +0 -19
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/ui.cjs.map +0 -1
- package/dist/ui.js.map +0 -1
- package/dist/worker.cjs.map +0 -1
- package/dist/worker.js.map +0 -1
- package/dist/workflows-CyXKgNRx.d.ts +0 -145
- package/dist/workflows-DEOJrSuj.d.cts +0 -145
- package/dist/workflows.cjs.map +0 -1
- package/dist/workflows.js.map +0 -1
- package/dist/{MachTableToolbar-CDkTtitl.d.cts → MachTableToolbar-BUFcnsF4.d.cts} +1 -1
- package/dist/{MachTableToolbar-CDkTtitl.d.ts → MachTableToolbar-BUFcnsF4.d.ts} +1 -1
package/dist/workflows.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import{b as e,c
|
|
2
|
-
//# sourceMappingURL=workflows.js.map
|
|
1
|
+
import{a as _}from"./chunk-YTEW56VQ.js";import{computed as N,onScopeDispose as me,ref as ee,shallowRef as V,watch as be}from"vue";import{resolveSaveConflict as Se}from"@agile-team/mach-table";function j(a,n={}){let p=V([]),o=ee([]),d=ee(!1),h=V(null),f=V(null),b=N(()=>o.value.length>0),R=N(()=>[...f.value?.failures??[],...f.value?.conflicts??[]]),D=N(()=>[...new Set(R.value.map(r=>r.rowId))]),S=null,m=()=>{let r=a.api.value;if(!r||r.isDestroyed()){o.value=[],p.value=[];return}o.value=r.editing.getDirtyRowIds(),p.value=r.editing.getChanges()};be(a.api,r=>{S?.(),S=null,m(),!(!r||r.isDestroyed())&&(S=r.on("dirtyStateChanged",m))},{immediate:!0});let g=async(r,u)=>{let v=a.api.value;if(!v||v.isDestroyed())throw new Error("[MachTable] Cannot save before the grid is ready.");if(d.value)throw new Error("[MachTable] A save operation is already in progress.");d.value=!0,h.value=null,f.value=null;try{let c=await v.editing.save(r,u);return f.value=c,m(),n.onSaveSuccess?.(c.saved),n.onSaveResult?.(c),c}catch(c){throw h.value=c,n.onSaveError?.(c),c}finally{d.value=!1}},T=async(r,u)=>(await g(r,u)).saved,l=()=>{f.value=null},O=(r,u)=>{let v=f.value,c=v?.conflicts.find(C=>C.rowId===r),y=a.api.value;return!v||!c||!y||!Se(y,c,u)?!1:(f.value={...v,failures:v.failures,conflicts:v.conflicts.filter(C=>C.rowId!==r)},m(),!0)},z=r=>{let u=a.api.value?.editing.rollback(r)??!1;return m(),u},x=r=>{a.api.value?.editing.markSaved(r),m()},w=(r,u,v=!1)=>{let c=a.api.value,y=c?.rows.getById(r);return!c||!y||y.rowIndex<0?!1:(c.view.scrollToRow(y.rowIndex,"middle"),u&&v?c.editing.startCell({rowIndex:y.rowIndex,colId:u}):!0)},I=r=>{if(!b.value)return;let u=n.beforeUnloadMessage??"\u5B58\u5728\u672A\u4FDD\u5B58\u7684\u8868\u683C\u4FEE\u6539\u3002";return r.preventDefault(),r.returnValue=u,u};return n.guardBeforeUnload&&typeof window<"u"&&window.addEventListener("beforeunload",I),me(()=>{S?.(),S=null,n.guardBeforeUnload&&typeof window<"u"&&window.removeEventListener("beforeunload",I)}),{changes:p,dirtyRowIds:o,dirty:b,saving:d,saveError:h,lastSaveResult:f,saveIssues:R,failedRowIds:D,save:T,saveDetailed:g,clearSaveIssues:l,resolveConflict:O,rollback:z,markSaved:x,reveal:w,refresh:m}}import{computed as ae,isRef as we,nextTick as te,onScopeDispose as Me,ref as E,shallowRef as k,watch as $}from"vue";import{getByPath as Re,normalizeAdvancedFilterModel as le}from"@agile-team/mach-table";function re(a){return typeof a=="function"?a():we(a)?a.value:a}function J(a,n){return typeof a=="number"&&Number.isFinite(a)&&a>0?Math.floor(a):n}function De(a){return(a instanceof DOMException||typeof a=="object"&&a!=null&&"name"in a)&&a.name==="AbortError"}function W(a){let n=k([]),p=E(!1),o=k(null),d=E(J(a.initialPage,1)),h=E(J(a.pageSize,20)),f=E(0),b=k([]),R=k({}),D=k(null),S=E([]),m=k([]),g=new Set,T=new Set,l=new Map,O=a.quickFilterText??E(null),z=a.selectionScope??"preserve",x=a.mode!=="manual",w=E(!1),I=E(0),r=[...new Set((a.pageSizeOptions??[10,20,50,100]).map(e=>J(e,0)).filter(Boolean))];r.includes(h.value)||r.push(h.value),r.sort((e,t)=>e-t);let u=null,v=null,c=0,y=null,C=!1,q=!1,B=!1,M=e=>{let t=typeof a.rowKey=="function"?a.rowKey(e):Re(e,a.rowKey);if(t==null||String(t).length===0)throw new Error(`[MachTable] useMachTableQuery rowKey "${String(a.rowKey)}" returned an empty value.`);return String(t)},P=()=>{B=!0,S.value=w.value?[]:[...g],B=!1;let e=w.value?[...l.keys()]:[...g];m.value=e.flatMap(t=>{let i=l.get(t);return i===void 0||T.has(t)?[]:[i]}),I.value++},L=e=>w.value?!T.has(e):g.has(e),F=()=>{if(!u||u.isDestroyed())return;let e=n.value.filter(t=>L(M(t)));q=!0;try{u.selection.setRows(e,!0)}finally{q=!1}},Y=()=>{c++,v?.abort(),v=null,y!=null&&clearTimeout(y),y=null,p.value=!1},Z=(e,t)=>e.signal.aborted||t!==c,ne=e=>{if(!e||!Array.isArray(e.rows)||!Number.isFinite(e.total)||e.total<0)throw new TypeError("[MachTable] Remote request must resolve to { rows: TData[], total: non-negative number }.")},oe=async(e,t,i)=>{if(Z(t,i))return;ne(e);let s=[...e.rows];for(let U of s)M(U);n.value=s,f.value=Math.floor(e.total);for(let U of n.value){let H=M(U);L(H)?l.set(H,U):l.delete(H)}P(),a.onSuccess?.(e),await te(),F()},ie=(e,t,i)=>{Z(t,i)||De(e)||(o.value=e??new Error,a.onError?.(o.value))},Q=async()=>{y!=null&&clearTimeout(y),y=null,v?.abort();let e=new AbortController;v=e;let t=++c;p.value=!0,o.value=null,a.keepPreviousData===!1&&(n.value=[]);try{let i=await a.request({page:d.value,pageSize:h.value,query:re(a.query),sortModel:b.value.map(s=>({...s})),filterModel:{...R.value},advancedFilterModel:le(D.value),quickFilterText:O.value,signal:e.signal});await oe(i,e,t)}catch(i){ie(i,e,t)}finally{t===c&&(p.value=!1,v===e&&(v=null))}},K=e=>{e&&(d.value=1),y!=null&&clearTimeout(y),v&&(c++,v.abort(),v=null,p.value=!1);let t=Math.max(0,a.debounceMs??0);if(t===0){Q();return}y=setTimeout(()=>{Q()},t)},se=e=>{u=e.api,te(F)},ue=e=>{C||e.page===d.value&&e.pageSize===h.value||(d.value=e.page,h.value=e.pageSize,x&&Q())},ce=e=>{C||(b.value=e.sortModel.map(t=>({...t})),x?K(!0):d.value=1)},de=e=>{C||(R.value={...e.filterModel},D.value=le(e.advancedFilterModel),a.clearSelectionOnQueryChange!==!1&&A(),x?K(!0):d.value=1)},ve=e=>{if(q)return;let t=new Set(n.value.map(M)),i=new Set(e.selectedRows.map(M));if(w.value){for(let s of t)i.has(s)?T.delete(s):(T.add(s),l.delete(s));for(let s of e.selectedRows)l.set(M(s),s);P();return}if(z==="page")g.clear(),l.clear();else for(let s of t)g.delete(s),l.delete(s);for(let s of e.selectedRows){let U=M(s);g.add(U),l.set(U,s)}P()},fe=ae(()=>({rowData:n.value,loading:p.value,rowKey:M,manualSorting:!0,manualFiltering:!0,advancedFilterModel:D.value,quickFilterText:O.value,error:o.value,overlayErrorTemplate:o.value?()=>a.errorOverlay?.({error:o.value,retry:Q})??"Remote request failed. Please retry.":void 0,overlayNoRowsTemplate:a.emptyOverlay,pagination:{mode:"server",page:d.value,pageSize:h.value,pageSizeOptions:r,total:f.value,showTotal:!0,showPageSizeSelector:!0},onGridReady:se,onPaginationChanged:ue,onSortChanged:ce,onFilterChanged:de,onSelectionChanged:ve})),ge=async(e={})=>{e.resetPage&&(d.value=1),await Q()},ye=async()=>{d.value=1,b.value=[],R.value={},D.value=null,A(),C=!0;try{u?.sorting.setModel(null),u?.filtering.setModel(null),u?.filtering.setAdvancedModel(null)}finally{C=!1}await Q()},A=()=>{w.value=!1,g.clear(),T.clear(),l.clear(),P(),q=!0;try{u?.selection.clear()}finally{q=!1}},he=()=>{w.value=!0,g.clear(),T.clear(),l.clear();for(let e of n.value)l.set(M(e),e);P(),F()},pe=e=>{g.clear(),T.clear(),l.clear(),w.value=e.mode==="allMatching";let t=e.mode==="allMatching"?e.excludedKeys:e.selectedKeys;for(let i of t.map(String))e.mode==="allMatching"?T.add(i):g.add(i);for(let i of n.value){let s=M(i);L(s)&&l.set(s,i)}P(),F()},Te=ae(()=>(I.value,w.value?{mode:"allMatching",excludedKeys:[...T]}:{mode:"explicit",selectedKeys:[...g]}));return $(()=>re(a.query),()=>{a.clearSelectionOnQueryChange!==!1&&A(),x?K(!0):d.value=1},{deep:!0,immediate:x&&a.immediate!==!1}),$(O,()=>{a.clearSelectionOnQueryChange!==!1&&A(),x?K(!0):d.value=1}),$(S,e=>{if(B)return;w.value=!1,T.clear();let t=new Set(e.map(String));g.clear();for(let i of t)g.add(i);for(let i of[...l.keys()])t.has(i)||l.delete(i);for(let i of n.value){let s=M(i);t.has(s)&&l.set(s,i)}F(),P()},{deep:!0,flush:"sync"}),Me(()=>{Y(),u=null}),{rows:n,loading:p,error:o,page:d,pageSize:h,total:f,sortModel:b,filterModel:R,advancedFilterModel:D,selectedKeys:S,selectedRows:m,selectionState:Te,bindings:fe,reload:ge,retry:Q,reset:ye,abort:Y,clearSelection:A,selectAllMatching:he,applySelectionState:pe}}import{computed as G,onScopeDispose as Ce,ref as xe,shallowRef as Ee,watch as X}from"vue";import{createMachTableCommands as Pe}from"@agile-team/mach-table";function Qe(a={}){let n=_(),p=xe(a.initialSearch??""),o=a.query?W({...a.query,quickFilterText:a.query.quickFilterText??G(()=>p.value||null)}):null,d=j(n,a.editing),h=Ee([]),f=null,b=()=>{h.value=o?.selectedRows.value??n.api.value?.selection.getRows()??[]};X(n.api,l=>{f?.(),f=null,l&&!l.isDestroyed()&&(f=l.on("selectionChanged",b)),b()},{immediate:!0}),o&&X(o.selectedRows,b,{deep:!1});let R=async()=>{if(o)await o.reload();else{let l=n.api.value;l?.rows.isRemote()?await l.rows.reload():l?.view.refreshCells()}},D=Pe({getApi:()=>n.api.value,reload:R}),S=G(()=>o?.bindings.value??{}),m=G(()=>{if(!o)return h.value.length;let l=o.selectionState.value;return l.mode==="allMatching"?Math.max(0,o.total.value-l.excludedKeys.length):l.selectedKeys.length}),g=G(()=>o?.loading.value===!0||d.saving.value),T=G(()=>o?.error.value??d.saveError.value??null);return X(p,l=>{o||D.search(l||null)}),Ce(()=>{f?.(),f=null}),{table:n,query:o,editing:d,bindings:S,search:p,selectedRows:h,selectedCount:m,busy:g,error:T,commands:D,reload:R}}export{Qe as useMachTableController,j as useMachTableEditing,W as useMachTableQuery};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agile-team/mach-table-vue",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.24.0",
|
|
4
4
|
"description": "Official Vue 3 adapter for the MachTable enterprise data grid",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"vue",
|
|
@@ -62,6 +62,16 @@
|
|
|
62
62
|
"default": "./dist/workflows.cjs"
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
|
+
"./adapters": {
|
|
66
|
+
"import": {
|
|
67
|
+
"types": "./dist/adapters.d.ts",
|
|
68
|
+
"default": "./dist/adapters.js"
|
|
69
|
+
},
|
|
70
|
+
"require": {
|
|
71
|
+
"types": "./dist/adapters.d.cts",
|
|
72
|
+
"default": "./dist/adapters.cjs"
|
|
73
|
+
}
|
|
74
|
+
},
|
|
65
75
|
"./worker": {
|
|
66
76
|
"import": {
|
|
67
77
|
"types": "./dist/worker.d.ts",
|
|
@@ -108,7 +118,7 @@
|
|
|
108
118
|
"**/*.css"
|
|
109
119
|
],
|
|
110
120
|
"dependencies": {
|
|
111
|
-
"@agile-team/mach-table": "0.
|
|
121
|
+
"@agile-team/mach-table": "0.24.0"
|
|
112
122
|
},
|
|
113
123
|
"peerDependencies": {
|
|
114
124
|
"vue": ">=3.2.0"
|
|
@@ -122,5 +132,5 @@
|
|
|
122
132
|
"test": "vitest run",
|
|
123
133
|
"test:coverage": "vitest run --coverage"
|
|
124
134
|
},
|
|
125
|
-
"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-vue\n\
|
|
135
|
+
"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-vue\n\nMachTable 0.24 的官方 Vue 3 适配包。一个依赖即可获得 Core、泛型 `<MachTable>`、原生 slots、应用/路由配置、按需工作流、异步组件边界和自动生命周期清理。\n\n```bash\npnpm add @agile-team/mach-table-vue\n```\n\n应用入口只引入一次样式:\n\n```ts\nimport \"@agile-team/mach-table-vue/styles.css\";\n```\n\n## 局部接入\n\n```vue\n<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport { MachTable, useMachTable, type ColDef } from \"@agile-team/mach-table-vue\";\n\ninterface Row { id: string; name: string }\nconst table = useMachTable<Row>();\nconst rows = ref<Row[]>([{ id: \"1\", name: \"MachTable\" }]);\nconst columns: ColDef<Row>[] = [{ field: \"name\", flex: 1, editable: true }];\n</script>\n\n<template>\n <div style=\"height: 520px\">\n <MachTable\n :ref=\"table.ref\"\n :row-data=\"rows\"\n :column-defs=\"columns\"\n row-key=\"id\"\n enable-column-resize\n :persistence=\"{ key: 'customers:list', sections: ['columns'] }\"\n />\n </div>\n</template>\n```\n\n## 全局接入\n\n表格页面较多时,全局注册一次,页面模板直接使用 `<MachTable>`:\n\n```ts\nimport { createApp } from \"vue\";\nimport { MachTablePlugin } from \"@agile-team/mach-table-vue\";\nimport machTableConfig from \"@/config/mach-table.config\";\n\ncreateApp(App).use(MachTablePlugin, machTableConfig).mount(\"#app\");\n```\n\n需要减少首屏代码时改用异步全局插件:\n\n```ts\nimport AsyncMachTablePlugin, { preloadMachTable } from \"@agile-team/mach-table-vue/async\";\n\napp.use(AsyncMachTablePlugin, machTableConfig);\nvoid preloadMachTable(); // 可选:路由 hover 时预取\n```\n\n推荐把约定集中到独立文件:\n\n```ts\n// src/config/mach-table.config.ts\nimport { defineMachTableConfig, defineMachTablePreset } from \"@agile-team/mach-table-vue\";\n\nexport default defineMachTableConfig({\n defaults: {\n size: \"compact\",\n columnLayout: \"fit\",\n enableColumnResize: true,\n defaultColDef: { sortable: true, filter: true, resizable: true }\n },\n defaultPreset: \"list\",\n presets: {\n list: defineMachTablePreset({ stripedRows: true }),\n crud: defineMachTablePreset({ rowSelection: \"multiple\", editType: \"fullRow\" })\n }\n});\n```\n\n布局或路由可用响应式 `provideMachTableConfig()` 叠加配置,表格 props 始终拥有最高优先级。\n\n## 按需子入口\n\n```ts\nimport { useMachTableQuery, useMachTableEditing } from \"@agile-team/mach-table-vue/workflows\";\nimport { MachTableToolbar } from \"@agile-team/mach-table-vue/ui\";\nimport { vueCellRenderer } from \"@agile-team/mach-table-vue/adapters\";\nimport { createElementPlusEditors } from \"@agile-team/mach-table-vue/editors\";\nimport { createWorkerDataProcessor } from \"@agile-team/mach-table-vue/worker\";\n```\n\n- `/workflows`:请求取消、防过期覆盖、服务端分页、跨页选择、脏数据和冲突保存。\n- `/ui`:可选标准工具栏;需要全局组件时另行 `app.use(MachTableUiPlugin)`。\n- `/adapters`:自定义 Vue renderer/editor/detail/overlay 桥接。\n- `/editors`:可选 Element Plus 编辑器,Element Plus 由宿主注入。\n- `/worker`:大型本地过滤/排序的独立 Worker 能力。\n\n该包自动依赖 `@agile-team/mach-table` 并重导出 Core 类型;宿主只需提供 `vue >= 3.2`。\n\n文档:[Vue 指南](https://github.com/ChenyCHENYU/MachTable/blob/main/docs/guide/vue.md) · [企业接入](https://github.com/ChenyCHENYU/MachTable/blob/main/docs/guide/enterprise-integration.md) · [配置中心](https://github.com/ChenyCHENYU/MachTable/blob/main/docs/guide/configuration.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"
|
|
126
136
|
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkBW56NYGCcjs = require('./chunk-BW56NYGC.cjs');require('./chunk-PPNQWKVV.cjs');exports.MachTable = _chunkBW56NYGCcjs.j; exports.RobotGrid = _chunkBW56NYGCcjs.k;
|
|
2
|
-
//# sourceMappingURL=MachTable-7H7Z4ACQ.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["d:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\MachTable-7H7Z4ACQ.cjs"],"names":[],"mappings":"AAAA,iIAA+C,gCAA6B,iFAAsC","file":"D:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\MachTable-7H7Z4ACQ.cjs"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/async.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["d:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\async.cjs"],"names":[],"mappings":"AAAA,mZAAwC,gCAA6B,0BAA2C,IAAK,CAAC,CAAC,CAAC,CAAC,EAAE,4DAAM,CAAC,0BAA0B,GAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,uCAAC,CAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gCAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,iCAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAC,CAAC,CAAC,kJAAkH","file":"D:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\async.cjs","sourcesContent":[null]}
|
package/dist/async.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/async.ts"],"sourcesContent":["import { defineAsyncComponent, type App, type Component } from \"vue\";\nimport { registerGlobalMachTable, type MachTablePluginOptions } from \"./globalRegistration\";\n\n/**\n * Starts loading the Vue adapter ahead of first render. The browser and bundler\n * cache the promise, so calling this on route hover is safe and idempotent.\n */\nexport const preloadMachTable = () => import(\"./MachTable\").then(({ MachTable }) => MachTable);\n\nexport interface AsyncMachTableOptions {\n loadingComponent?: Component;\n errorComponent?: Component;\n delay?: number;\n timeout?: number;\n suspensible?: boolean;\n onError?: (error: Error, retry: () => void, fail: () => void, attempts: number) => void;\n}\n\n/** Creates a route-friendly async component with optional loading/error boundaries. */\nexport function createAsyncMachTable(options: AsyncMachTableOptions = {}) {\n return defineAsyncComponent({ loader: preloadMachTable, ...options });\n}\n\n/** Async global component used by AsyncMachTablePlugin. */\nexport const AsyncMachTable = createAsyncMachTable();\n\nexport interface AsyncMachTablePluginOptions extends MachTablePluginOptions {\n asyncComponentOptions?: AsyncMachTableOptions;\n}\n\n/**\n * Registers `<MachTable>` globally while keeping the component and Core in a\n * separate chunk until the first table is rendered.\n */\nexport const AsyncMachTablePlugin = Object.freeze({\n install(app: App, options: AsyncMachTablePluginOptions = {}): void {\n const component = options.asyncComponentOptions\n ? createAsyncMachTable(options.asyncComponentOptions)\n : AsyncMachTable;\n registerGlobalMachTable(app, component, options);\n }\n});\n\nexport type { MachTablePluginOptions } from \"./globalRegistration\";\nexport default AsyncMachTablePlugin;\n"],"mappings":"oEAAA,OAAS,wBAAAA,MAAsD,MAOxD,IAAMC,EAAmB,IAAM,OAAO,yBAAa,EAAE,KAAK,CAAC,CAAE,UAAAC,CAAU,IAAMA,CAAS,EAYtF,SAASC,EAAqBC,EAAiC,CAAC,EAAG,CACxE,OAAOC,EAAqB,CAAE,OAAQJ,EAAkB,GAAGG,CAAQ,CAAC,CACtE,CAGO,IAAME,EAAiBH,EAAqB,EAUtCI,EAAuB,OAAO,OAAO,CAChD,QAAQC,EAAUJ,EAAuC,CAAC,EAAS,CACjE,IAAMK,EAAYL,EAAQ,sBACtBD,EAAqBC,EAAQ,qBAAqB,EAClDE,EACJI,EAAwBF,EAAKC,EAAWL,CAAO,CACjD,CACF,CAAC,EAGMO,EAAQJ","names":["defineAsyncComponent","preloadMachTable","MachTable","createAsyncMachTable","options","defineAsyncComponent","AsyncMachTable","AsyncMachTablePlugin","app","component","registerGlobalMachTable","async_default"]}
|
package/dist/chunk-BW56NYGC.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkPPNQWKVVcjs = require('./chunk-PPNQWKVV.cjs');var _vue = require('vue');var _machtable = require('@agile-team/mach-table');function T(t){if(t)return t;try{return _optionalChain([_vue.getCurrentInstance.call(void 0, ), 'optionalAccess', _2 => _2.appContext])}catch (e2){return}}function G(t,e,a,o){let n=_vue.h.call(void 0, {setup:()=>()=>_vue.h.call(void 0, t,{...e})});return o&&(n.appContext=o),_vue.render.call(void 0, n,a),()=>_vue.render.call(void 0, null,a)}function D(t,e,a,o,r=!0){let i=_vue.h.call(void 0, {name:"MachTableSlot",setup:()=>()=>_vue.renderSlot.call(void 0, {default:t},"default",e())});o&&(i.appContext=o);let l=!1,u=()=>{l||_vue.render.call(void 0, i,a)};return r?queueMicrotask(u):u(),()=>{l=!0,_vue.render.call(void 0, null,a)}}function Z(t,e){let a=T(_optionalChain([e, 'optionalAccess', _3 => _3.appContext]));return o=>{let r=document.createElement("div");r.className="mach-cell-vue",r.style.width="100%";let n=_vue.shallowReactive.call(void 0, {...o}),i=G(t,n,r,a),l=!1;return{el:r,refresh:u=>(Object.assign(n,u),!0),destroy:()=>{l||(l=!0,window.setTimeout(i,0))}}}}function ee(t,e){let a=T(_optionalChain([e, 'optionalAccess', _4 => _4.appContext]));return o=>{let r=document.createElement("div");r.style.height="100%";let n=G(t,o,r,a),i=!1;return{el:r,destroy:()=>{i||(i=!0,n())}}}}function M(t,e){let a=T(_optionalChain([e, 'optionalAccess', _5 => _5.appContext]));return o=>{let r=document.createElement("div");r.className="mach-cell-vue mach-cell-vue--slot",r.style.width="100%";let n=_vue.shallowReactive.call(void 0, {...o}),i=D(t,()=>n,r,a);return{el:r,refresh:l=>(Object.assign(n,l),!0),destroy:i}}}function N(t,e){let a=T(_optionalChain([e, 'optionalAccess', _6 => _6.appContext]));return o=>{let r=document.createElement("div");r.className="mach-header-vue-slot";let n=D(t,()=>o,r,a);return{el:r,destroy:n}}}function w(t,e){let a=T(_optionalChain([e, 'optionalAccess', _7 => _7.appContext]));return o=>{let r=_vue.shallowReactive.call(void 0, {value:o.value}),n=document.createElement("div");n.className="mach-cell-vue mach-cell-vue--editor";let l=D(t,()=>({...o,value:r.value,setValue:u=>{r.value=u},commit:()=>o.api.stopEditing(!1),cancel:()=>o.api.stopEditing(!0)}),n,a,!1);return{el:n,getValue:()=>r.value,focus:()=>{_optionalChain([n, 'access', _8 => _8.querySelector, 'call', _9 => _9("input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex='-1'])"), 'optionalAccess', _10 => _10.focus, 'call', _11 => _11()])},destroy:l}}}function S(t,e){let a=T(_optionalChain([e, 'optionalAccess', _12 => _12.appContext]));return o=>{let r=document.createElement("div");r.className="mach-detail-vue-slot",r.style.height="100%";let n=D(t,()=>o,r,a);return{el:r,destroy:n}}}function C(t,e){let a=T(_optionalChain([e, 'optionalAccess', _13 => _13.appContext]));return()=>{let o=document.createElement("div");o.className="mach-overlay-vue-slot";let r=D(t,()=>({}),o,a);return{el:o,destroy:r}}}function O(t,e,a){return _nullishCoalesce(t[`${e}-${a}`], () => (t[`${e}-${a.replace(/[.\s]+/g,"-")}`]))}function P(t,e,a){return t.map((o,r)=>{if(Array.isArray(o.children)){let y=o;return{...y,children:P(y.children,e,a)}}let n=o,i=_nullishCoalesce(_nullishCoalesce(n.colId, () => (n.field)), () => (`col_${r}`)),l=_nullishCoalesce(_nullishCoalesce(O(e,"cell",i), () => ((i==="op"?e.actions:void 0))), () => (e.cell)),u=_nullishCoalesce(O(e,"header",i), () => (e.header)),g=_nullishCoalesce(O(e,"editor",i), () => (e.editor));return{...n,...l?{cellRenderer:M(l,{appContext:a})}:{},...u?{headerComponent:N(u,{appContext:a})}:{},...g?{cellEditor:w(g,{appContext:a})}:{}}})}function ne(t,e,a){let o=t.columnDefs?P(t.columnDefs,e,a):t.columnDefs;return{...t,columnDefs:o,...e.detail&&!t.detailRowRenderer?{detailRowRenderer:S(e.detail,{appContext:a})}:{},...e.loading?{overlayLoadingTemplate:C(e.loading,{appContext:a})}:{},...e.empty?{overlayNoRowsTemplate:C(e.empty,{appContext:a})}:{}}}function L(t,e){let a,o,r=t.detail?S(t.detail,{appContext:e}):void 0,n=t.loading?C(t.loading,{appContext:e}):void 0,i=t.empty?C(t.empty,{appContext:e}):void 0;return l=>(l.columnDefs!==a&&(a=l.columnDefs,o=l.columnDefs?P(l.columnDefs,t,e):l.columnDefs),{...l,columnDefs:o,...r&&!l.detailRowRenderer?{detailRowRenderer:r}:{},...n?{overlayLoadingTemplate:n}:{},...i?{overlayNoRowsTemplate:i}:{}})}var k=_machtable.GRID_OPTION_KEYS.filter(t=>!["className","ariaLabel","ariaLabelledBy","ariaDescribedBy"].includes(t)),f={};for(let t of k){let e=_machtable.GRID_OPTION_META[t].kind,a=e==="boolean"?Boolean:e==="number"?Number:e==="array"?Array:e==="function"?Function:e==="boolean-object"?[Boolean,Object]:e==="object"?Object:e==="string"?String:void 0;f[t]={type:a,default:void 0}}f.className={type:String,default:void 0};f.gridClassName={type:String,default:void 0};f.gridAriaLabel={type:String,default:void 0};f.gridAriaLabelledBy={type:String,default:void 0};f.gridAriaDescribedBy={type:String,default:void 0};f.preset={type:[String,Array,Boolean],default:void 0};function z(t){return"on"+t.charAt(0).toUpperCase()+t.slice(1)}var J=_vue.defineComponent.call(void 0, {name:"MachTable",inheritAttrs:!1,props:f,emits:[..._machtable.EVENT_TYPES],setup(t,{expose:e,attrs:a,emit:o,slots:r}){let n=t,i=_vue.ref.call(void 0, null),l=null,u=_chunkPPNQWKVVcjs.h.call(void 0, ),g=L(r,_optionalChain([_vue.getCurrentInstance.call(void 0, ), 'optionalAccess', _14 => _14.appContext])),y=null,E=new Set,R=()=>{let d={};for(let s of k){let m=n[s];m!==void 0&&(d[s]=m)}n.gridClassName!==void 0&&(d.className=n.gridClassName),n.gridAriaLabel!==void 0&&(d.ariaLabel=n.gridAriaLabel),n.gridAriaLabelledBy!==void 0&&(d.ariaLabelledBy=n.gridAriaLabelledBy),n.gridAriaDescribedBy!==void 0&&(d.ariaDescribedBy=n.gridAriaDescribedBy);let c=_chunkPPNQWKVVcjs.a.call(void 0, u.value,n.preset,d,s=>{let m=`${s.code}:${_nullishCoalesce(s.preset, () => (""))}`;E.has(m)||(E.add(m),u.value.onConfigWarning?u.value.onConfigWarning(s):console.warn(s.message))}),p=g(c.options);return y={options:p,explain:s=>s==="columnDefs"&&p.columnDefs!==c.options.columnDefs?{key:s,value:p.columnDefs,source:"Vue slots",layers:[...c.explain(s).layers,{name:"Vue slots",value:p.columnDefs}]}:c.explain(s)},y.options};return _vue.onMounted.call(void 0, ()=>{if(!i.value)return;let d=R();for(let c of _machtable.EVENT_TYPES){let p=z(c),s=d[p];d[p]=m=>{typeof s=="function"&&s(m),o(c,m)}}l=_machtable.createGrid.call(void 0, i.value,d)}),_vue.onBeforeUnmount.call(void 0, ()=>{_optionalChain([l, 'optionalAccess', _15 => _15.destroy, 'call', _16 => _16()]),l=null}),_vue.watch.call(void 0, ()=>{let d=R();return[..._machtable.GRID_OPTION_KEYS.map(c=>d[c])]},(d,c)=>{if(!l)return;let p={};d.forEach((s,m)=>{Object.is(s,c[m])||(p[_machtable.GRID_OPTION_KEYS[m]]=s)}),Object.keys(p).length>0&&l.updateOptions(p)}),e({getApi:()=>l,getResolvedConfig:()=>_nullishCoalesce(_optionalChain([y, 'optionalAccess', _17 => _17.options]), () => (R())),explainOption:d=>(_nullishCoalesce(y, () => (_chunkPPNQWKVVcjs.a.call(void 0, u.value,n.preset,{})))).explain(d)}),()=>_vue.h.call(void 0, "div",{...a,ref:i,class:["mach-vue-host",n.className,a.class]})}}),Q= exports.j =J,ue= exports.k =Q;exports.a = Z; exports.b = ee; exports.c = M; exports.d = N; exports.e = w; exports.f = S; exports.g = C; exports.h = ne; exports.i = L; exports.j = Q; exports.k = ue;
|
|
2
|
-
//# sourceMappingURL=chunk-BW56NYGC.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["d:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\chunk-BW56NYGC.cjs"],"names":[],"mappings":"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","file":"D:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\chunk-BW56NYGC.cjs","sourcesContent":[null]}
|
package/dist/chunk-HBEB7H4E.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{defineMachTableConfig as d,mergeMachTableConfig as l,normalizeMachTableConfig as t,resolveMachTableGridOptions as s}from"@agile-team/mach-table";import{computed as b,inject as a,isRef as c,provide as r,shallowRef as i}from"vue";var f=Symbol("mach-table-defaults"),o=Symbol("mach-table-config"),T=t();function h(e){return typeof e=="function"?e():c(e)?e.value:e}function m(e){return i(t(e))}function M(e){let p=a(o,i(T)),n=b(()=>l(p.value,h(e)));return r(o,n),r(f,n.value.defaults),n}function y(e){M(()=>({defaults:typeof e=="function"?e():c(e)?e.value:e}))}function v(){let e=a(o,null);return e?e.value.defaults:a(f,{})}function O(){return a(o,i(T))}export{s as a,f as b,o as c,m as d,M as e,y as f,v as g,O as h};
|
|
2
|
-
//# sourceMappingURL=chunk-HBEB7H4E.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/configuration.ts","../src/defaults.ts"],"sourcesContent":["export {\n defineMachTableConfig,\n mergeMachTableConfig,\n normalizeMachTableConfig,\n resolveMachTableGridOptions\n} from \"@agile-team/mach-table\";\nexport type {\n MachTableConfigWarning,\n MachTableOptionExplanation,\n MachTablePresetSelection,\n MachTableRuntimeConfig,\n ResolvedMachTableConfig,\n ResolvedMachTableGridOptions\n} from \"@agile-team/mach-table\";\n","import { computed, inject, isRef, provide, shallowRef, type InjectionKey, type Ref } from \"vue\";\nimport type { GridOptions } from \"@agile-team/mach-table\";\nimport {\n mergeMachTableConfig,\n normalizeMachTableConfig,\n type MachTableRuntimeConfig,\n type ResolvedMachTableConfig\n} from \"./configuration\";\n\nexport const MACH_TABLE_DEFAULTS_KEY: InjectionKey<Partial<GridOptions<any>>> = Symbol(\"mach-table-defaults\");\nexport const MACH_TABLE_CONFIG_KEY: InjectionKey<Readonly<Ref<ResolvedMachTableConfig>>> = Symbol(\"mach-table-config\");\n\nexport type MachTableConfigSource =\n | MachTableRuntimeConfig\n | Readonly<Ref<MachTableRuntimeConfig>>\n | (() => MachTableRuntimeConfig);\n\nconst EMPTY_CONFIG = normalizeMachTableConfig();\n\nfunction readSource(source: MachTableConfigSource): MachTableRuntimeConfig {\n if (typeof source === \"function\") return source();\n return isRef(source) ? source.value : source;\n}\n\nexport function createMachTableConfigRef(config: MachTableRuntimeConfig): Readonly<Ref<ResolvedMachTableConfig>> {\n return shallowRef(normalizeMachTableConfig(config));\n}\n\n/** Provides route/layout-scoped defaults, presets and diagnostics reactively. */\nexport function provideMachTableConfig(source: MachTableConfigSource): Readonly<Ref<ResolvedMachTableConfig>> {\n const parent = inject(MACH_TABLE_CONFIG_KEY, shallowRef(EMPTY_CONFIG));\n const resolved = computed(() => mergeMachTableConfig(parent.value, readSource(source)));\n provide(MACH_TABLE_CONFIG_KEY, resolved);\n // Keep the 0.x injection key available for consumers that injected it directly.\n provide(MACH_TABLE_DEFAULTS_KEY, resolved.value.defaults);\n return resolved;\n}\n\n/** Provides route/layout-scoped defaults. Per-table props always take precedence. */\nexport function provideMachTableDefaults<TData>(\n defaults: Partial<GridOptions<TData>> | Readonly<Ref<Partial<GridOptions<TData>>>> | (() => Partial<GridOptions<TData>>)\n): void {\n provideMachTableConfig(() => ({\n defaults: typeof defaults === \"function\" ? defaults() : isRef(defaults) ? defaults.value : defaults\n }));\n}\n\nexport function useMachTableDefaults<TData>(): Partial<GridOptions<TData>> {\n const config = inject(MACH_TABLE_CONFIG_KEY, null);\n if (config) return config.value.defaults as Partial<GridOptions<TData>>;\n return inject(MACH_TABLE_DEFAULTS_KEY, {}) as Partial<GridOptions<TData>>;\n}\n\nexport function useMachTableConfig(): Readonly<Ref<ResolvedMachTableConfig>> {\n return inject(MACH_TABLE_CONFIG_KEY, shallowRef(EMPTY_CONFIG));\n}\n"],"mappings":"AAAA,OACE,yBAAAA,EACA,wBAAAC,EACA,4BAAAC,EACA,+BAAAC,MACK,yBCLP,OAAS,YAAAC,EAAU,UAAAC,EAAQ,SAAAC,EAAO,WAAAC,EAAS,cAAAC,MAA+C,MASnF,IAAMC,EAAmE,OAAO,qBAAqB,EAC/FC,EAA8E,OAAO,mBAAmB,EAO/GC,EAAeC,EAAyB,EAE9C,SAASC,EAAWC,EAAuD,CACzE,OAAI,OAAOA,GAAW,WAAmBA,EAAO,EACzCC,EAAMD,CAAM,EAAIA,EAAO,MAAQA,CACxC,CAEO,SAASE,EAAyBC,EAAwE,CAC/G,OAAOC,EAAWN,EAAyBK,CAAM,CAAC,CACpD,CAGO,SAASE,EAAuBL,EAAuE,CAC5G,IAAMM,EAASC,EAAOX,EAAuBQ,EAAWP,CAAY,CAAC,EAC/DW,EAAWC,EAAS,IAAMC,EAAqBJ,EAAO,MAAOP,EAAWC,CAAM,CAAC,CAAC,EACtF,OAAAW,EAAQf,EAAuBY,CAAQ,EAEvCG,EAAQhB,EAAyBa,EAAS,MAAM,QAAQ,EACjDA,CACT,CAGO,SAASI,EACdC,EACM,CACNR,EAAuB,KAAO,CAC5B,SAAU,OAAOQ,GAAa,WAAaA,EAAS,EAAIZ,EAAMY,CAAQ,EAAIA,EAAS,MAAQA,CAC7F,EAAE,CACJ,CAEO,SAASC,GAA2D,CACzE,IAAMX,EAASI,EAAOX,EAAuB,IAAI,EACjD,OAAIO,EAAeA,EAAO,MAAM,SACzBI,EAAOZ,EAAyB,CAAC,CAAC,CAC3C,CAEO,SAASoB,GAA6D,CAC3E,OAAOR,EAAOX,EAAuBQ,EAAWP,CAAY,CAAC,CAC/D","names":["defineMachTableConfig","mergeMachTableConfig","normalizeMachTableConfig","resolveMachTableGridOptions","computed","inject","isRef","provide","shallowRef","MACH_TABLE_DEFAULTS_KEY","MACH_TABLE_CONFIG_KEY","EMPTY_CONFIG","normalizeMachTableConfig","readSource","source","isRef","createMachTableConfigRef","config","shallowRef","provideMachTableConfig","parent","inject","resolved","computed","mergeMachTableConfig","provide","provideMachTableDefaults","defaults","useMachTableDefaults","useMachTableConfig"]}
|
package/dist/chunk-IZZT6PAH.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{onScopeDispose as be,ref as Se,shallowRef as Z,watch as we}from"vue";function _(){let a=Se(null),l=Z(null),g=Z(!1),o=0;return we(a,s=>{let p=++o;if(s&&typeof s.getApi=="function"){l.value=s.getApi(),g.value=!1;let d=l.value;d&&d.whenReady().then(()=>{o===p&&l.value===d&&!d.isDestroyed()&&(g.value=!0)})}else l.value=null,g.value=!1},{flush:"post"}),be(()=>{o++,a.value=null,l.value=null,g.value=!1}),{ref:a,api:l,ready:g}}import{computed as H,onScopeDispose as Re,ref as ee,shallowRef as N,watch as Me}from"vue";import{resolveSaveConflict as De}from"@agile-team/mach-table";function ae(a,l={}){let g=N([]),o=ee([]),s=ee(!1),p=N(null),d=N(null),b=H(()=>o.value.length>0),M=H(()=>[...d.value?.failures??[],...d.value?.conflicts??[]]),D=H(()=>[...new Set(M.value.map(r=>r.rowId))]),S=null,m=()=>{let r=a.api.value;if(!r||r.isDestroyed()){o.value=[],g.value=[];return}o.value=r.getDirtyRowIds(),g.value=r.getChanges()};Me(a.api,r=>{S?.(),S=null,m(),!(!r||r.isDestroyed())&&(S=r.addEventListener("dirtyStateChanged",m))},{immediate:!0});let y=async(r,c)=>{let v=a.api.value;if(!v||v.isDestroyed())throw new Error("[MachTable] Cannot save before the grid is ready.");if(s.value)throw new Error("[MachTable] A save operation is already in progress.");s.value=!0,p.value=null,d.value=null;try{let f=await v.saveChangesDetailed(r,c);return d.value=f,m(),l.onSaveSuccess?.(f.saved),l.onSaveResult?.(f),f}catch(f){throw p.value=f,l.onSaveError?.(f),f}finally{s.value=!1}},T=async(r,c)=>(await y(r,c)).saved,n=()=>{d.value=null},Q=(r,c)=>{let v=d.value,f=v?.conflicts.find(C=>C.rowId===r),h=a.api.value;return!v||!f||!h||!De(h,f,c)?!1:(d.value={...v,failures:v.failures,conflicts:v.conflicts.filter(C=>C.rowId!==r)},m(),!0)},z=r=>{let c=a.api.value?.rollbackChanges(r)??!1;return m(),c},E=r=>{a.api.value?.markChangesSaved(r),m()},w=(r,c,v=!1)=>{let f=a.api.value,h=f?.getNodeById(r);return!f||!h||h.rowIndex<0?!1:(f.scrollToIndex(h.rowIndex,"middle"),c&&v?f.startEditingCell({rowIndex:h.rowIndex,colId:c}):!0)},U=r=>{if(!b.value)return;let c=l.beforeUnloadMessage??"\u5B58\u5728\u672A\u4FDD\u5B58\u7684\u8868\u683C\u4FEE\u6539\u3002";return r.preventDefault(),r.returnValue=c,c};return l.guardBeforeUnload&&typeof window<"u"&&window.addEventListener("beforeunload",U),Re(()=>{S?.(),S=null,l.guardBeforeUnload&&typeof window<"u"&&window.removeEventListener("beforeunload",U)}),{changes:g,dirtyRowIds:o,dirty:b,saving:s,saveError:p,lastSaveResult:d,saveIssues:M,failedRowIds:D,save:T,saveDetailed:y,clearSaveIssues:n,resolveConflict:Q,rollback:z,markSaved:E,reveal:w,refresh:m}}import{computed as te,isRef as Ce,nextTick as le,onScopeDispose as Ee,ref as x,shallowRef as O,watch as j}from"vue";import{getByPath as xe,normalizeAdvancedFilterModel as ne}from"@agile-team/mach-table";function re(a){return typeof a=="function"?a():Ce(a)?a.value:a}function $(a,l){return typeof a=="number"&&Number.isFinite(a)&&a>0?Math.floor(a):l}function Pe(a){return(a instanceof DOMException||typeof a=="object"&&a!=null&&"name"in a)&&a.name==="AbortError"}function oe(a){let l=O([]),g=x(!1),o=O(null),s=x($(a.initialPage,1)),p=x($(a.pageSize,20)),d=x(0),b=O([]),M=O({}),D=O(null),S=x([]),m=O([]),y=new Set,T=new Set,n=new Map,Q=a.quickFilterText??x(null),z=a.selectionScope??"preserve",E=a.mode!=="manual",w=x(!1),U=x(0),r=[...new Set((a.pageSizeOptions??[10,20,50,100]).map(e=>$(e,0)).filter(Boolean))];r.includes(p.value)||r.push(p.value),r.sort((e,t)=>e-t);let c=null,v=null,f=0,h=null,C=!1,A=!1,B=!1,R=e=>{let t=typeof a.rowKey=="function"?a.rowKey(e):xe(e,a.rowKey);if(t==null||String(t).length===0)throw new Error(`[MachTable] useMachTableQuery rowKey "${String(a.rowKey)}" returned an empty value.`);return String(t)},P=()=>{B=!0,S.value=w.value?[]:[...y],B=!1;let e=w.value?[...n.keys()]:[...y];m.value=e.flatMap(t=>{let i=n.get(t);return i===void 0||T.has(t)?[]:[i]}),U.value++},L=e=>w.value?!T.has(e):y.has(e),F=()=>{if(!c||c.isDestroyed())return;let e=l.value.filter(t=>L(R(t)));A=!0;try{c.setSelection(e,!0)}finally{A=!1}},W=()=>{f++,v?.abort(),v=null,h!=null&&clearTimeout(h),h=null,g.value=!1},X=(e,t)=>e.signal.aborted||t!==f,ie=e=>{if(!e||!Array.isArray(e.rows)||!Number.isFinite(e.total)||e.total<0)throw new TypeError("[MachTable] Remote request must resolve to { rows: TData[], total: non-negative number }.")},se=async(e,t,i)=>{if(X(t,i))return;ie(e);let u=[...e.rows];for(let I of u)R(I);l.value=u,d.value=Math.floor(e.total);for(let I of l.value){let V=R(I);L(V)?n.set(V,I):n.delete(V)}P(),a.onSuccess?.(e),await le(),F()},ue=(e,t,i)=>{X(t,i)||Pe(e)||(o.value=e??new Error,a.onError?.(o.value))},k=async()=>{h!=null&&clearTimeout(h),h=null,v?.abort();let e=new AbortController;v=e;let t=++f;g.value=!0,o.value=null,a.keepPreviousData===!1&&(l.value=[]);try{let i=await a.request({page:s.value,pageSize:p.value,query:re(a.query),sortModel:b.value.map(u=>({...u})),filterModel:{...M.value},advancedFilterModel:ne(D.value),quickFilterText:Q.value,signal:e.signal});await se(i,e,t)}catch(i){ue(i,e,t)}finally{t===f&&(g.value=!1,v===e&&(v=null))}},K=e=>{e&&(s.value=1),h!=null&&clearTimeout(h),v&&(f++,v.abort(),v=null,g.value=!1);let t=Math.max(0,a.debounceMs??0);if(t===0){k();return}h=setTimeout(()=>{k()},t)},de=e=>{c=e.api,le(F)},ce=e=>{C||e.page===s.value&&e.pageSize===p.value||(s.value=e.page,p.value=e.pageSize,E&&k())},fe=e=>{C||(b.value=e.sortModel.map(t=>({...t})),E?K(!0):s.value=1)},ve=e=>{C||(M.value={...e.filterModel},D.value=ne(e.advancedFilterModel),a.clearSelectionOnQueryChange!==!1&&q(),E?K(!0):s.value=1)},ge=e=>{if(A)return;let t=new Set(l.value.map(R)),i=new Set(e.selectedRows.map(R));if(w.value){for(let u of t)i.has(u)?T.delete(u):(T.add(u),n.delete(u));for(let u of e.selectedRows)n.set(R(u),u);P();return}if(z==="page")y.clear(),n.clear();else for(let u of t)y.delete(u),n.delete(u);for(let u of e.selectedRows){let I=R(u);y.add(I),n.set(I,u)}P()},Y=te(()=>({rowData:l.value,loading:g.value,rowKey:R,manualSorting:!0,manualFiltering:!0,advancedFilterModel:D.value,quickFilterText:Q.value,error:o.value,overlayErrorTemplate:o.value?()=>a.errorOverlay?.({error:o.value,retry:k})??"Remote request failed. Please retry.":void 0,overlayNoRowsTemplate:a.emptyOverlay,pagination:{mode:"server",page:s.value,pageSize:p.value,pageSizeOptions:r,total:d.value,showTotal:!0,showPageSizeSelector:!0},onGridReady:de,onPaginationChanged:ce,onSortChanged:fe,onFilterChanged:ve,onSelectionChanged:ge})),ye=async(e={})=>{e.resetPage&&(s.value=1),await k()},pe=async()=>{s.value=1,b.value=[],M.value={},D.value=null,q(),C=!0;try{c?.setSortModel(null),c?.setFilterModel(null),c?.setAdvancedFilterModel(null)}finally{C=!1}await k()},q=()=>{w.value=!1,y.clear(),T.clear(),n.clear(),P(),A=!0;try{c?.deselectAll()}finally{A=!1}},he=()=>{w.value=!0,y.clear(),T.clear(),n.clear();for(let e of l.value)n.set(R(e),e);P(),F()},Te=e=>{y.clear(),T.clear(),n.clear(),w.value=e.mode==="allMatching";let t=e.mode==="allMatching"?e.excludedKeys:e.selectedKeys;for(let i of t.map(String))e.mode==="allMatching"?T.add(i):y.add(i);for(let i of l.value){let u=R(i);L(u)&&n.set(u,i)}P(),F()},me=te(()=>(U.value,w.value?{mode:"allMatching",excludedKeys:[...T]}:{mode:"explicit",selectedKeys:[...y]}));return j(()=>re(a.query),()=>{a.clearSelectionOnQueryChange!==!1&&q(),E?K(!0):s.value=1},{deep:!0,immediate:E&&a.immediate!==!1}),j(Q,()=>{a.clearSelectionOnQueryChange!==!1&&q(),E?K(!0):s.value=1}),j(S,e=>{if(B)return;w.value=!1,T.clear();let t=new Set(e.map(String));y.clear();for(let i of t)y.add(i);for(let i of[...n.keys()])t.has(i)||n.delete(i);for(let i of l.value){let u=R(i);t.has(u)&&n.set(u,i)}F(),P()},{deep:!0,flush:"sync"}),Ee(()=>{W(),c=null}),{rows:l,loading:g,error:o,page:s,pageSize:p,total:d,sortModel:b,filterModel:M,advancedFilterModel:D,selectedKeys:S,selectedRows:m,selectionState:me,gridProps:Y,bindings:Y,reload:ye,retry:k,reset:pe,abort:W,clearSelection:q,selectAllMatching:he,applySelectionState:Te}}import{computed as G,onScopeDispose as ke,ref as Ie,shallowRef as Oe,watch as J}from"vue";import{createMachTableCommands as Qe}from"@agile-team/mach-table";function $e(a={}){let l=_(),g=Ie(a.initialSearch??""),o=a.query?oe({...a.query,quickFilterText:a.query.quickFilterText??G(()=>g.value||null)}):null,s=ae(l,a.editing),p=Oe([]),d=null,b=()=>{p.value=o?.selectedRows.value??l.api.value?.getSelectedRows()??[]};J(l.api,n=>{d?.(),d=null,n&&!n.isDestroyed()&&(d=n.addEventListener("selectionChanged",b)),b()},{immediate:!0}),o&&J(o.selectedRows,b,{deep:!1});let M=async()=>{if(o)await o.reload();else{let n=l.api.value;n?.isInfinite()?await n.reload():n?.refreshCells()}},D=Qe({getApi:()=>l.api.value,reload:M}),S=G(()=>o?.bindings.value??{}),m=G(()=>{if(!o)return p.value.length;let n=o.selectionState.value;return n.mode==="allMatching"?Math.max(0,o.total.value-n.excludedKeys.length):n.selectedKeys.length}),y=G(()=>o?.loading.value===!0||s.saving.value),T=G(()=>o?.error.value??s.saveError.value??null);return J(g,n=>{o||D.search(n||null)}),ke(()=>{d?.(),d=null}),{table:l,query:o,editing:s,bindings:S,search:g,selectedRows:p,selectedCount:m,busy:y,error:T,commands:D,reload:M}}export{_ as a,ae as b,oe as c,$e as d};
|
|
2
|
-
//# sourceMappingURL=chunk-IZZT6PAH.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/useMachTable.ts","../src/useMachTableEditing.ts","../src/useMachTableQuery.ts","../src/useMachTableController.ts"],"sourcesContent":["import { onScopeDispose, ref, shallowRef, watch, type Ref, type ShallowRef } from \"vue\";\nimport type { GridApi } from \"@agile-team/mach-table\";\nimport type { MachTableVueExposed } from \"./MachTable\";\n\nexport interface UseMachTableReturn<TData = any> {\n ref: Ref<MachTableVueExposed<TData> | null>;\n api: ShallowRef<GridApi<TData> | null>;\n ready: ShallowRef<boolean>;\n}\n\nexport function useMachTable<TData = any>(): UseMachTableReturn<TData> {\n const componentRef = ref<MachTableVueExposed<TData> | null>(null) as Ref<MachTableVueExposed<TData> | null>;\n const api = shallowRef<GridApi<TData> | null>(null);\n const ready = shallowRef(false);\n let generation = 0;\n\n watch(\n componentRef,\n (comp) => {\n const currentGeneration = ++generation;\n if (comp && typeof comp.getApi === \"function\") {\n api.value = comp.getApi();\n ready.value = false;\n const currentApi = api.value;\n if (currentApi) {\n void currentApi.whenReady().then(() => {\n if (generation === currentGeneration && api.value === currentApi && !currentApi.isDestroyed()) {\n ready.value = true;\n }\n });\n }\n } else {\n api.value = null;\n ready.value = false;\n }\n },\n { flush: \"post\" }\n );\n\n onScopeDispose(() => {\n generation++;\n componentRef.value = null;\n api.value = null;\n ready.value = false;\n });\n\n return { ref: componentRef, api, ready };\n}\n","import {\n computed,\n onScopeDispose,\n ref,\n shallowRef,\n watch,\n type ComputedRef,\n type Ref,\n type ShallowRef\n} from \"vue\";\nimport type {\n GridBatchSaveResult,\n GridChange,\n SaveChangeConflict,\n SaveChangeIssue,\n SaveChangesHandler\n} from \"@agile-team/mach-table\";\nimport { resolveSaveConflict } from \"@agile-team/mach-table\";\nimport type { UseMachTableReturn } from \"./useMachTable\";\n\nexport interface UseMachTableEditingOptions<TData = any> {\n /** Warn before closing/reloading a browser tab with unsaved changes. */\n guardBeforeUnload?: boolean;\n beforeUnloadMessage?: string;\n onSaveSuccess?(saved: readonly GridChange<TData>[]): void;\n onSaveResult?(result: GridBatchSaveResult<TData>): void;\n onSaveError?(error: unknown): void;\n}\n\nexport interface UseMachTableEditingReturn<TData = any> {\n changes: ShallowRef<GridChange<TData>[]>;\n dirtyRowIds: Ref<string[]>;\n dirty: ComputedRef<boolean>;\n saving: Ref<boolean>;\n saveError: ShallowRef<unknown | null>;\n lastSaveResult: ShallowRef<GridBatchSaveResult<TData> | null>;\n saveIssues: ComputedRef<Array<SaveChangeIssue | SaveChangeConflict<TData>>>;\n failedRowIds: ComputedRef<string[]>;\n save(handler: SaveChangesHandler<TData>, rowIds?: readonly string[]): Promise<GridChange<TData>[]>;\n saveDetailed(handler: SaveChangesHandler<TData>, rowIds?: readonly string[]): Promise<GridBatchSaveResult<TData>>;\n clearSaveIssues(): void;\n resolveConflict(rowId: string, strategy: \"acceptServer\" | \"keepLocal\"): boolean;\n rollback(rowIds?: readonly string[]): boolean;\n markSaved(rowIds?: readonly string[]): void;\n /** Scrolls to a loaded changed row and optionally opens the failed cell editor. */\n reveal(rowId: string, colId?: string, edit?: boolean): boolean;\n refresh(): void;\n}\n\n/** Reactive dirty/save workflow layered over useMachTable(). */\nexport function useMachTableEditing<TData = any>(\n table: UseMachTableReturn<TData>,\n options: UseMachTableEditingOptions<TData> = {}\n): UseMachTableEditingReturn<TData> {\n const changes = shallowRef<GridChange<TData>[]>([]);\n const dirtyRowIds = ref<string[]>([]);\n const saving = ref(false);\n const saveError = shallowRef<unknown | null>(null);\n const lastSaveResult = shallowRef<GridBatchSaveResult<TData> | null>(null);\n const dirty = computed(() => dirtyRowIds.value.length > 0);\n const saveIssues = computed(() => [\n ...(lastSaveResult.value?.failures ?? []),\n ...(lastSaveResult.value?.conflicts ?? [])\n ]);\n const failedRowIds = computed(() => [...new Set(saveIssues.value.map((issue) => issue.rowId))]);\n let removeDirtyListener: (() => void) | null = null;\n\n const refresh = (): void => {\n const api = table.api.value;\n if (!api || api.isDestroyed()) {\n dirtyRowIds.value = [];\n changes.value = [];\n return;\n }\n dirtyRowIds.value = api.getDirtyRowIds();\n changes.value = api.getChanges();\n };\n\n watch(table.api, (api) => {\n removeDirtyListener?.();\n removeDirtyListener = null;\n refresh();\n if (!api || api.isDestroyed()) return;\n removeDirtyListener = api.addEventListener(\"dirtyStateChanged\", refresh);\n }, { immediate: true });\n\n const saveDetailed = async (\n handler: SaveChangesHandler<TData>,\n rowIds?: readonly string[]\n ): Promise<GridBatchSaveResult<TData>> => {\n const api = table.api.value;\n if (!api || api.isDestroyed()) throw new Error(\"[MachTable] Cannot save before the grid is ready.\");\n if (saving.value) throw new Error(\"[MachTable] A save operation is already in progress.\");\n saving.value = true;\n saveError.value = null;\n lastSaveResult.value = null;\n try {\n const result = await api.saveChangesDetailed(handler, rowIds);\n lastSaveResult.value = result;\n refresh();\n options.onSaveSuccess?.(result.saved);\n options.onSaveResult?.(result);\n return result;\n } catch (error) {\n saveError.value = error;\n options.onSaveError?.(error);\n throw error;\n } finally {\n saving.value = false;\n }\n };\n const save = async (\n handler: SaveChangesHandler<TData>,\n rowIds?: readonly string[]\n ): Promise<GridChange<TData>[]> => (await saveDetailed(handler, rowIds)).saved;\n\n const clearSaveIssues = (): void => { lastSaveResult.value = null; };\n const resolveConflict = (rowId: string, strategy: \"acceptServer\" | \"keepLocal\"): boolean => {\n const result = lastSaveResult.value;\n const conflict = result?.conflicts.find((entry) => entry.rowId === rowId);\n const api = table.api.value;\n if (!result || !conflict || !api || !resolveSaveConflict(api, conflict, strategy)) return false;\n lastSaveResult.value = {\n ...result,\n failures: result.failures,\n conflicts: result.conflicts.filter((entry) => entry.rowId !== rowId)\n };\n refresh();\n return true;\n };\n\n const rollback = (rowIds?: readonly string[]): boolean => {\n const changed = table.api.value?.rollbackChanges(rowIds) ?? false;\n refresh();\n return changed;\n };\n const markSaved = (rowIds?: readonly string[]): void => {\n table.api.value?.markChangesSaved(rowIds);\n refresh();\n };\n const reveal = (rowId: string, colId?: string, edit = false): boolean => {\n const api = table.api.value;\n const node = api?.getNodeById(rowId);\n if (!api || !node || node.rowIndex < 0) return false;\n api.scrollToIndex(node.rowIndex, \"middle\");\n return colId && edit ? api.startEditingCell({ rowIndex: node.rowIndex, colId }) : true;\n };\n\n const onBeforeUnload = (event: BeforeUnloadEvent): string | undefined => {\n if (!dirty.value) return undefined;\n const message = options.beforeUnloadMessage ?? \"存在未保存的表格修改。\";\n event.preventDefault();\n event.returnValue = message;\n return message;\n };\n if (options.guardBeforeUnload && typeof window !== \"undefined\") {\n window.addEventListener(\"beforeunload\", onBeforeUnload);\n }\n\n onScopeDispose(() => {\n removeDirtyListener?.();\n removeDirtyListener = null;\n if (options.guardBeforeUnload && typeof window !== \"undefined\") {\n window.removeEventListener(\"beforeunload\", onBeforeUnload);\n }\n });\n\n return {\n changes,\n dirtyRowIds,\n dirty,\n saving,\n saveError,\n lastSaveResult,\n saveIssues,\n failedRowIds,\n save,\n saveDetailed,\n clearSaveIssues,\n resolveConflict,\n rollback,\n markSaved,\n reveal,\n refresh\n };\n}\n","import {\n computed,\n isRef,\n nextTick,\n onScopeDispose,\n ref,\n shallowRef,\n watch,\n type ComputedRef,\n type Ref,\n type ShallowRef\n} from \"vue\";\nimport {\n getByPath,\n normalizeAdvancedFilterModel,\n type AdvancedFilterModel,\n type FilterChangedEvent,\n type FilterModel,\n type GridApi,\n type GridOptions,\n type OverlayContent,\n type OverlayTemplate,\n type PaginationChangedEvent,\n type SelectionChangedEvent,\n type SortChangedEvent,\n type SortModel\n} from \"@agile-team/mach-table\";\n\nexport type MachTableQuerySource<TQuery> =\n | TQuery\n | Readonly<Ref<TQuery>>\n | (() => TQuery);\n\nexport interface MachTablePageRequest<TQuery> {\n page: number;\n pageSize: number;\n query: TQuery;\n sortModel: SortModel;\n filterModel: FilterModel;\n advancedFilterModel: AdvancedFilterModel | null;\n quickFilterText: string | null;\n signal: AbortSignal;\n}\n\nexport interface MachTablePageResult<TData> {\n rows: readonly TData[];\n total: number;\n}\n\nexport type MachTableRemoteSelectionState =\n | { mode: \"explicit\"; selectedKeys: string[] }\n | { mode: \"allMatching\"; excludedKeys: string[] };\n\nexport interface UseMachTableQueryOptions<TData, TQuery = Record<string, unknown>> {\n request(params: MachTablePageRequest<TQuery>): Promise<MachTablePageResult<TData>>;\n query: MachTableQuerySource<TQuery>;\n /** Stable row key used for updates and cross-page selection. */\n rowKey: string | ((row: TData) => string | number);\n initialPage?: number;\n pageSize?: number;\n pageSizeOptions?: readonly number[];\n immediate?: boolean;\n /** auto reloads when query/grid criteria change; manual waits for reload/reset. */\n mode?: \"auto\" | \"manual\";\n debounceMs?: number;\n keepPreviousData?: boolean;\n /** `query` additionally enables compact select-all-matching rules. */\n selectionScope?: \"page\" | \"preserve\" | \"query\";\n /** Defaults true: a different business/filter query cannot inherit stale selections. */\n clearSelectionOnQueryChange?: boolean;\n quickFilterText?: Ref<string | null>;\n /** Renders inside the first-class error overlay for the latest failed request. */\n errorOverlay?(context: { error: unknown; retry(): Promise<void> }): OverlayContent;\n emptyOverlay?: OverlayTemplate;\n onSuccess?(result: MachTablePageResult<TData>): void;\n onError?(error: unknown): void;\n}\n\nexport interface UseMachTableQueryReturn<TData> {\n rows: ShallowRef<TData[]>;\n loading: Ref<boolean>;\n error: ShallowRef<unknown | null>;\n page: Ref<number>;\n pageSize: Ref<number>;\n total: Ref<number>;\n sortModel: ShallowRef<SortModel>;\n filterModel: ShallowRef<FilterModel>;\n advancedFilterModel: ShallowRef<AdvancedFilterModel | null>;\n selectedKeys: Ref<string[]>;\n selectedRows: ShallowRef<TData[]>;\n selectionState: ComputedRef<MachTableRemoteSelectionState>;\n gridProps: ComputedRef<GridOptions<TData>>;\n bindings: ComputedRef<GridOptions<TData>>;\n reload(options?: { resetPage?: boolean }): Promise<void>;\n retry(): Promise<void>;\n reset(): Promise<void>;\n abort(): void;\n clearSelection(): void;\n /** Selects the complete server query without downloading every row ID. */\n selectAllMatching(): void;\n applySelectionState(state: MachTableRemoteSelectionState): void;\n}\n\nfunction readSource<T>(source: MachTableQuerySource<T>): T {\n if (typeof source === \"function\") return (source as () => T)();\n return isRef(source) ? source.value : source;\n}\n\nfunction normalizePositive(value: number | undefined, fallback: number): number {\n return typeof value === \"number\" && Number.isFinite(value) && value > 0\n ? Math.floor(value)\n : fallback;\n}\n\nfunction isAbortError(error: unknown): boolean {\n return error instanceof DOMException\n ? error.name === \"AbortError\"\n : typeof error === \"object\" && error != null && \"name\" in error && (error as { name?: unknown }).name === \"AbortError\";\n}\n\n/**\n * B-side remote-list controller: paging, sorting, filtering, cancellation,\n * stale-response protection and cross-page selection in one typed binding.\n */\nexport function useMachTableQuery<TData, TQuery = Record<string, unknown>>(\n options: UseMachTableQueryOptions<TData, TQuery>\n): UseMachTableQueryReturn<TData> {\n const rows = shallowRef<TData[]>([]);\n const loading = ref(false);\n const error = shallowRef<unknown | null>(null);\n const page = ref(normalizePositive(options.initialPage, 1));\n const pageSize = ref(normalizePositive(options.pageSize, 20));\n const total = ref(0);\n const sortModel = shallowRef<SortModel>([]);\n const filterModel = shallowRef<FilterModel>({});\n const advancedFilterModel = shallowRef<AdvancedFilterModel | null>(null);\n const selectedKeys = ref<string[]>([]);\n const selectedRows = shallowRef<TData[]>([]);\n const selectedIds = new Set<string>();\n const excludedIds = new Set<string>();\n const selectedById = new Map<string, TData>();\n const quickFilterText = options.quickFilterText ?? ref<string | null>(null);\n const selectionScope = options.selectionScope ?? \"preserve\";\n const automatic = options.mode !== \"manual\";\n const allMatching = ref(false);\n const selectionRevision = ref(0);\n const pageSizes = [...new Set((options.pageSizeOptions ?? [10, 20, 50, 100]).map((value) => normalizePositive(value, 0)).filter(Boolean))];\n if (!pageSizes.includes(pageSize.value)) pageSizes.push(pageSize.value);\n pageSizes.sort((a, b) => a - b);\n\n let api: GridApi<TData> | null = null;\n let controller: AbortController | null = null;\n let generation = 0;\n let debounceTimer: ReturnType<typeof setTimeout> | null = null;\n let suppressGridEvents = false;\n let suppressSelectionEvents = false;\n let updatingSelectedRefs = false;\n\n const rowId = (row: TData): string => {\n const value = typeof options.rowKey === \"function\"\n ? options.rowKey(row)\n : getByPath(row, options.rowKey);\n if (value == null || String(value).length === 0) {\n throw new Error(`[MachTable] useMachTableQuery rowKey \\\"${String(options.rowKey)}\\\" returned an empty value.`);\n }\n return String(value);\n };\n\n const updateSelectedRefs = (): void => {\n updatingSelectedRefs = true;\n selectedKeys.value = allMatching.value ? [] : [...selectedIds];\n updatingSelectedRefs = false;\n const ids = allMatching.value ? [...selectedById.keys()] : [...selectedIds];\n selectedRows.value = ids.flatMap((id) => {\n const row = selectedById.get(id);\n return row === undefined || excludedIds.has(id) ? [] : [row];\n });\n selectionRevision.value++;\n };\n\n const isSelectedId = (id: string): boolean => allMatching.value\n ? !excludedIds.has(id)\n : selectedIds.has(id);\n\n const syncVisibleSelection = (): void => {\n if (!api || api.isDestroyed()) return;\n const selected = rows.value.filter((row) => isSelectedId(rowId(row)));\n suppressSelectionEvents = true;\n try {\n api.setSelection(selected, true);\n } finally {\n suppressSelectionEvents = false;\n }\n };\n\n const abort = (): void => {\n generation++;\n controller?.abort();\n controller = null;\n if (debounceTimer != null) clearTimeout(debounceTimer);\n debounceTimer = null;\n loading.value = false;\n };\n\n const isStaleRequest = (activeController: AbortController, requestGeneration: number): boolean =>\n activeController.signal.aborted || requestGeneration !== generation;\n\n const validatePageResult = (result: MachTablePageResult<TData>): void => {\n if (!result || !Array.isArray(result.rows) || !Number.isFinite(result.total) || result.total < 0) {\n throw new TypeError(\"[MachTable] Remote request must resolve to { rows: TData[], total: non-negative number }.\");\n }\n };\n\n const applyPageResult = async (\n result: MachTablePageResult<TData>,\n activeController: AbortController,\n requestGeneration: number\n ): Promise<void> => {\n if (isStaleRequest(activeController, requestGeneration)) return;\n validatePageResult(result);\n const nextRows = [...result.rows];\n for (const row of nextRows) rowId(row);\n rows.value = nextRows;\n total.value = Math.floor(result.total);\n for (const row of rows.value) {\n const id = rowId(row);\n if (isSelectedId(id)) selectedById.set(id, row);\n else selectedById.delete(id);\n }\n updateSelectedRefs();\n options.onSuccess?.(result);\n await nextTick();\n syncVisibleSelection();\n };\n\n const handleRequestError = (\n requestError: unknown,\n activeController: AbortController,\n requestGeneration: number\n ): void => {\n if (isStaleRequest(activeController, requestGeneration) || isAbortError(requestError)) return;\n error.value = requestError ?? new Error();\n options.onError?.(error.value);\n };\n\n const load = async (): Promise<void> => {\n if (debounceTimer != null) clearTimeout(debounceTimer);\n debounceTimer = null;\n controller?.abort();\n const activeController = new AbortController();\n controller = activeController;\n const requestGeneration = ++generation;\n loading.value = true;\n error.value = null;\n if (options.keepPreviousData === false) rows.value = [];\n\n try {\n const result = await options.request({\n page: page.value,\n pageSize: pageSize.value,\n query: readSource(options.query),\n sortModel: sortModel.value.map((item) => ({ ...item })),\n filterModel: { ...filterModel.value },\n advancedFilterModel: normalizeAdvancedFilterModel(advancedFilterModel.value),\n quickFilterText: quickFilterText.value,\n signal: activeController.signal\n });\n await applyPageResult(result, activeController, requestGeneration);\n } catch (requestError) {\n handleRequestError(requestError, activeController, requestGeneration);\n } finally {\n if (requestGeneration === generation) {\n loading.value = false;\n if (controller === activeController) controller = null;\n }\n }\n };\n\n const scheduleLoad = (resetPage: boolean): void => {\n if (resetPage) page.value = 1;\n if (debounceTimer != null) clearTimeout(debounceTimer);\n if (controller) {\n generation++;\n controller.abort();\n controller = null;\n loading.value = false;\n }\n const delay = Math.max(0, options.debounceMs ?? 0);\n if (delay === 0) {\n void load();\n return;\n }\n debounceTimer = setTimeout(() => { void load(); }, delay);\n };\n\n const onGridReady = (event: { api: GridApi<TData> }): void => {\n api = event.api;\n void nextTick(syncVisibleSelection);\n };\n const onPaginationChanged = (event: PaginationChangedEvent<TData>): void => {\n if (suppressGridEvents) return;\n if (event.page === page.value && event.pageSize === pageSize.value) return;\n page.value = event.page;\n pageSize.value = event.pageSize;\n if (automatic) void load();\n };\n const onSortChanged = (event: SortChangedEvent<TData>): void => {\n if (suppressGridEvents) return;\n sortModel.value = event.sortModel.map((item) => ({ ...item }));\n if (automatic) scheduleLoad(true);\n else page.value = 1;\n };\n const onFilterChanged = (event: FilterChangedEvent<TData>): void => {\n if (suppressGridEvents) return;\n filterModel.value = { ...event.filterModel };\n advancedFilterModel.value = normalizeAdvancedFilterModel(event.advancedFilterModel);\n if (options.clearSelectionOnQueryChange !== false) clearSelection();\n if (automatic) scheduleLoad(true);\n else page.value = 1;\n };\n const onSelectionChanged = (event: SelectionChangedEvent<TData>): void => {\n if (suppressSelectionEvents) return;\n const visibleIds = new Set(rows.value.map(rowId));\n const nextVisibleIds = new Set(event.selectedRows.map(rowId));\n if (allMatching.value) {\n for (const id of visibleIds) {\n if (nextVisibleIds.has(id)) excludedIds.delete(id);\n else {\n excludedIds.add(id);\n selectedById.delete(id);\n }\n }\n for (const row of event.selectedRows) selectedById.set(rowId(row), row);\n updateSelectedRefs();\n return;\n }\n if (selectionScope === \"page\") {\n selectedIds.clear();\n selectedById.clear();\n } else {\n for (const id of visibleIds) {\n selectedIds.delete(id);\n selectedById.delete(id);\n }\n }\n for (const row of event.selectedRows) {\n const id = rowId(row);\n selectedIds.add(id);\n selectedById.set(id, row);\n }\n updateSelectedRefs();\n };\n\n const gridProps = computed<GridOptions<TData>>(() => ({\n rowData: rows.value,\n loading: loading.value,\n rowKey: rowId,\n manualSorting: true,\n manualFiltering: true,\n advancedFilterModel: advancedFilterModel.value,\n quickFilterText: quickFilterText.value,\n error: error.value,\n overlayErrorTemplate: error.value\n ? () => options.errorOverlay?.({ error: error.value, retry: load }) ?? \"Remote request failed. Please retry.\"\n : undefined,\n overlayNoRowsTemplate: options.emptyOverlay,\n pagination: {\n mode: \"server\",\n page: page.value,\n pageSize: pageSize.value,\n pageSizeOptions: pageSizes,\n total: total.value,\n showTotal: true,\n showPageSizeSelector: true\n },\n onGridReady,\n onPaginationChanged,\n onSortChanged,\n onFilterChanged,\n onSelectionChanged\n }));\n\n const reload = async (reloadOptions: { resetPage?: boolean } = {}): Promise<void> => {\n if (reloadOptions.resetPage) page.value = 1;\n await load();\n };\n const reset = async (): Promise<void> => {\n page.value = 1;\n sortModel.value = [];\n filterModel.value = {};\n advancedFilterModel.value = null;\n clearSelection();\n suppressGridEvents = true;\n try {\n api?.setSortModel(null);\n api?.setFilterModel(null);\n api?.setAdvancedFilterModel(null);\n } finally {\n suppressGridEvents = false;\n }\n await load();\n };\n const clearSelection = (): void => {\n allMatching.value = false;\n selectedIds.clear();\n excludedIds.clear();\n selectedById.clear();\n updateSelectedRefs();\n suppressSelectionEvents = true;\n try { api?.deselectAll(); } finally { suppressSelectionEvents = false; }\n };\n const selectAllMatching = (): void => {\n allMatching.value = true;\n selectedIds.clear();\n excludedIds.clear();\n selectedById.clear();\n for (const row of rows.value) selectedById.set(rowId(row), row);\n updateSelectedRefs();\n syncVisibleSelection();\n };\n const applySelectionState = (state: MachTableRemoteSelectionState): void => {\n selectedIds.clear();\n excludedIds.clear();\n selectedById.clear();\n allMatching.value = state.mode === \"allMatching\";\n const ids = state.mode === \"allMatching\" ? state.excludedKeys : state.selectedKeys;\n for (const id of ids.map(String)) {\n if (state.mode === \"allMatching\") excludedIds.add(id);\n else selectedIds.add(id);\n }\n for (const row of rows.value) {\n const id = rowId(row);\n if (isSelectedId(id)) selectedById.set(id, row);\n }\n updateSelectedRefs();\n syncVisibleSelection();\n };\n\n const selectionState = computed<MachTableRemoteSelectionState>(() => {\n void selectionRevision.value;\n return allMatching.value\n ? { mode: \"allMatching\", excludedKeys: [...excludedIds] }\n : { mode: \"explicit\", selectedKeys: [...selectedIds] };\n });\n\n watch(\n () => readSource(options.query),\n () => {\n if (options.clearSelectionOnQueryChange !== false) clearSelection();\n if (automatic) scheduleLoad(true);\n else page.value = 1;\n },\n { deep: true, immediate: automatic && options.immediate !== false }\n );\n watch(quickFilterText, () => {\n if (options.clearSelectionOnQueryChange !== false) clearSelection();\n if (automatic) scheduleLoad(true);\n else page.value = 1;\n });\n watch(selectedKeys, (keys) => {\n if (updatingSelectedRefs) return;\n allMatching.value = false;\n excludedIds.clear();\n const wanted = new Set(keys.map(String));\n selectedIds.clear();\n for (const id of wanted) selectedIds.add(id);\n for (const id of [...selectedById.keys()]) {\n if (!wanted.has(id)) selectedById.delete(id);\n }\n for (const row of rows.value) {\n const id = rowId(row);\n if (wanted.has(id)) selectedById.set(id, row);\n }\n syncVisibleSelection();\n updateSelectedRefs();\n }, { deep: true, flush: \"sync\" });\n\n onScopeDispose(() => {\n abort();\n api = null;\n });\n\n return {\n rows,\n loading,\n error,\n page,\n pageSize,\n total,\n sortModel,\n filterModel,\n advancedFilterModel,\n selectedKeys,\n selectedRows,\n selectionState,\n gridProps,\n bindings: gridProps,\n reload,\n retry: load,\n reset,\n abort,\n clearSelection,\n selectAllMatching,\n applySelectionState\n };\n}\n","import { computed, onScopeDispose, ref, shallowRef, watch, type ComputedRef, type Ref, type ShallowRef } from \"vue\";\nimport { createMachTableCommands, type GridOptions, type MachTableCommands } from \"@agile-team/mach-table\";\nimport { useMachTable, type UseMachTableReturn } from \"./useMachTable\";\nimport { useMachTableEditing, type UseMachTableEditingOptions, type UseMachTableEditingReturn } from \"./useMachTableEditing\";\nimport { useMachTableQuery, type UseMachTableQueryOptions, type UseMachTableQueryReturn } from \"./useMachTableQuery\";\n\nexport interface UseMachTableControllerOptions<TData, TQuery = Record<string, unknown>> {\n /** Omit for local rowData; provide for a complete remote table workflow. */\n query?: UseMachTableQueryOptions<TData, TQuery>;\n editing?: UseMachTableEditingOptions<TData>;\n initialSearch?: string;\n}\n\nexport interface UseMachTableControllerReturn<TData> {\n table: UseMachTableReturn<TData>;\n query: UseMachTableQueryReturn<TData> | null;\n editing: UseMachTableEditingReturn<TData>;\n bindings: ComputedRef<GridOptions<TData>>;\n search: Ref<string>;\n selectedRows: ShallowRef<TData[]>;\n selectedCount: ComputedRef<number>;\n busy: ComputedRef<boolean>;\n error: ComputedRef<unknown | null>;\n commands: MachTableCommands;\n reload(): Promise<void>;\n}\n\n/** One cohesive controller for API readiness, query, selection, editing and toolbar commands. */\nexport function useMachTableController<TData, TQuery = Record<string, unknown>>(\n options: UseMachTableControllerOptions<TData, TQuery> = {}\n): UseMachTableControllerReturn<TData> {\n const table = useMachTable<TData>();\n const search = ref(options.initialSearch ?? \"\");\n const query = options.query\n ? useMachTableQuery({\n ...options.query,\n quickFilterText: options.query.quickFilterText ?? computed(() => search.value || null)\n })\n : null;\n const editing = useMachTableEditing(table, options.editing);\n const selectedRows = shallowRef<TData[]>([]);\n let removeSelectionListener: (() => void) | null = null;\n\n const syncSelection = (): void => {\n selectedRows.value = query?.selectedRows.value ?? table.api.value?.getSelectedRows() ?? [];\n };\n watch(table.api, (api) => {\n removeSelectionListener?.();\n removeSelectionListener = null;\n if (api && !api.isDestroyed()) removeSelectionListener = api.addEventListener(\"selectionChanged\", syncSelection);\n syncSelection();\n }, { immediate: true });\n if (query) watch(query.selectedRows, syncSelection, { deep: false });\n\n const reload = async (): Promise<void> => {\n if (query) await query.reload();\n else {\n const api = table.api.value;\n if (api?.isInfinite()) await api.reload();\n else api?.refreshCells();\n }\n };\n const commands = createMachTableCommands<TData>({ getApi: () => table.api.value, reload });\n const bindings = computed<GridOptions<TData>>(() => query?.bindings.value ?? {});\n const selectedCount = computed(() => {\n if (!query) return selectedRows.value.length;\n const state = query.selectionState.value;\n return state.mode === \"allMatching\"\n ? Math.max(0, query.total.value - state.excludedKeys.length)\n : state.selectedKeys.length;\n });\n const busy = computed(() => query?.loading.value === true || editing.saving.value);\n const error = computed(() => query?.error.value ?? editing.saveError.value ?? null);\n\n watch(search, (value) => {\n if (!query) commands.search(value || null);\n });\n onScopeDispose(() => {\n removeSelectionListener?.();\n removeSelectionListener = null;\n });\n\n return { table, query, editing, bindings, search, selectedRows, selectedCount, busy, error, commands, reload };\n}\n"],"mappings":"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","names":["onScopeDispose","ref","shallowRef","watch","useMachTable","componentRef","api","ready","generation","comp","currentGeneration","currentApi","computed","onScopeDispose","ref","shallowRef","watch","resolveSaveConflict","useMachTableEditing","table","options","changes","dirtyRowIds","saving","saveError","lastSaveResult","dirty","saveIssues","failedRowIds","issue","removeDirtyListener","refresh","api","saveDetailed","handler","rowIds","result","error","save","clearSaveIssues","resolveConflict","rowId","strategy","conflict","entry","rollback","changed","markSaved","reveal","colId","edit","node","onBeforeUnload","event","message","computed","isRef","nextTick","onScopeDispose","ref","shallowRef","watch","getByPath","normalizeAdvancedFilterModel","readSource","source","normalizePositive","value","fallback","isAbortError","error","useMachTableQuery","options","rows","loading","page","pageSize","total","sortModel","filterModel","advancedFilterModel","selectedKeys","selectedRows","selectedIds","excludedIds","selectedById","quickFilterText","selectionScope","automatic","allMatching","selectionRevision","pageSizes","a","b","api","controller","generation","debounceTimer","suppressGridEvents","suppressSelectionEvents","updatingSelectedRefs","rowId","row","updateSelectedRefs","ids","id","isSelectedId","syncVisibleSelection","selected","abort","isStaleRequest","activeController","requestGeneration","validatePageResult","result","applyPageResult","nextRows","handleRequestError","requestError","load","item","scheduleLoad","resetPage","delay","onGridReady","event","onPaginationChanged","onSortChanged","onFilterChanged","clearSelection","onSelectionChanged","visibleIds","nextVisibleIds","gridProps","reload","reloadOptions","reset","selectAllMatching","applySelectionState","state","selectionState","keys","wanted","computed","onScopeDispose","ref","shallowRef","watch","createMachTableCommands","useMachTableController","options","table","useMachTable","search","ref","query","useMachTableQuery","computed","editing","useMachTableEditing","selectedRows","shallowRef","removeSelectionListener","syncSelection","watch","api","reload","commands","createMachTableCommands","bindings","selectedCount","state","busy","error","value","onScopeDispose"]}
|
package/dist/chunk-MCLI6WUN.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _vue = require('vue');function _(){let a=_vue.ref.call(void 0, null),l=_vue.shallowRef.call(void 0, null),g=_vue.shallowRef.call(void 0, !1),o=0;return _vue.watch.call(void 0, a,s=>{let p=++o;if(s&&typeof s.getApi=="function"){l.value=s.getApi(),g.value=!1;let d=l.value;d&&d.whenReady().then(()=>{o===p&&l.value===d&&!d.isDestroyed()&&(g.value=!0)})}else l.value=null,g.value=!1},{flush:"post"}),_vue.onScopeDispose.call(void 0, ()=>{o++,a.value=null,l.value=null,g.value=!1}),{ref:a,api:l,ready:g}}var _machtable = require('@agile-team/mach-table');function ae(a,l={}){let g=_vue.shallowRef.call(void 0, []),o=_vue.ref.call(void 0, []),s=_vue.ref.call(void 0, !1),p=_vue.shallowRef.call(void 0, null),d=_vue.shallowRef.call(void 0, null),b=_vue.computed.call(void 0, ()=>o.value.length>0),M=_vue.computed.call(void 0, ()=>[..._nullishCoalesce(_optionalChain([d, 'access', _2 => _2.value, 'optionalAccess', _3 => _3.failures]), () => ([])),..._nullishCoalesce(_optionalChain([d, 'access', _4 => _4.value, 'optionalAccess', _5 => _5.conflicts]), () => ([]))]),D=_vue.computed.call(void 0, ()=>[...new Set(M.value.map(r=>r.rowId))]),S=null,m=()=>{let r=a.api.value;if(!r||r.isDestroyed()){o.value=[],g.value=[];return}o.value=r.getDirtyRowIds(),g.value=r.getChanges()};_vue.watch.call(void 0, a.api,r=>{_optionalChain([S, 'optionalCall', _6 => _6()]),S=null,m(),!(!r||r.isDestroyed())&&(S=r.addEventListener("dirtyStateChanged",m))},{immediate:!0});let y=async(r,c)=>{let v=a.api.value;if(!v||v.isDestroyed())throw new Error("[MachTable] Cannot save before the grid is ready.");if(s.value)throw new Error("[MachTable] A save operation is already in progress.");s.value=!0,p.value=null,d.value=null;try{let f=await v.saveChangesDetailed(r,c);return d.value=f,m(),_optionalChain([l, 'access', _7 => _7.onSaveSuccess, 'optionalCall', _8 => _8(f.saved)]),_optionalChain([l, 'access', _9 => _9.onSaveResult, 'optionalCall', _10 => _10(f)]),f}catch(f){throw p.value=f,_optionalChain([l, 'access', _11 => _11.onSaveError, 'optionalCall', _12 => _12(f)]),f}finally{s.value=!1}},T=async(r,c)=>(await y(r,c)).saved,n=()=>{d.value=null},Q=(r,c)=>{let v=d.value,f=_optionalChain([v, 'optionalAccess', _13 => _13.conflicts, 'access', _14 => _14.find, 'call', _15 => _15(C=>C.rowId===r)]),h=a.api.value;return!v||!f||!h||!_machtable.resolveSaveConflict.call(void 0, h,f,c)?!1:(d.value={...v,failures:v.failures,conflicts:v.conflicts.filter(C=>C.rowId!==r)},m(),!0)},z=r=>{let c=_nullishCoalesce(_optionalChain([a, 'access', _16 => _16.api, 'access', _17 => _17.value, 'optionalAccess', _18 => _18.rollbackChanges, 'call', _19 => _19(r)]), () => (!1));return m(),c},E=r=>{_optionalChain([a, 'access', _20 => _20.api, 'access', _21 => _21.value, 'optionalAccess', _22 => _22.markChangesSaved, 'call', _23 => _23(r)]),m()},w=(r,c,v=!1)=>{let f=a.api.value,h=_optionalChain([f, 'optionalAccess', _24 => _24.getNodeById, 'call', _25 => _25(r)]);return!f||!h||h.rowIndex<0?!1:(f.scrollToIndex(h.rowIndex,"middle"),c&&v?f.startEditingCell({rowIndex:h.rowIndex,colId:c}):!0)},U=r=>{if(!b.value)return;let c=_nullishCoalesce(l.beforeUnloadMessage, () => ("\u5B58\u5728\u672A\u4FDD\u5B58\u7684\u8868\u683C\u4FEE\u6539\u3002"));return r.preventDefault(),r.returnValue=c,c};return l.guardBeforeUnload&&typeof window<"u"&&window.addEventListener("beforeunload",U),_vue.onScopeDispose.call(void 0, ()=>{_optionalChain([S, 'optionalCall', _26 => _26()]),S=null,l.guardBeforeUnload&&typeof window<"u"&&window.removeEventListener("beforeunload",U)}),{changes:g,dirtyRowIds:o,dirty:b,saving:s,saveError:p,lastSaveResult:d,saveIssues:M,failedRowIds:D,save:T,saveDetailed:y,clearSaveIssues:n,resolveConflict:Q,rollback:z,markSaved:E,reveal:w,refresh:m}}function re(a){return typeof a=="function"?a():_vue.isRef.call(void 0, a)?a.value:a}function $(a,l){return typeof a=="number"&&Number.isFinite(a)&&a>0?Math.floor(a):l}function Pe(a){return(a instanceof DOMException||typeof a=="object"&&a!=null&&"name"in a)&&a.name==="AbortError"}function oe(a){let l=_vue.shallowRef.call(void 0, []),g=_vue.ref.call(void 0, !1),o=_vue.shallowRef.call(void 0, null),s=_vue.ref.call(void 0, $(a.initialPage,1)),p=_vue.ref.call(void 0, $(a.pageSize,20)),d=_vue.ref.call(void 0, 0),b=_vue.shallowRef.call(void 0, []),M=_vue.shallowRef.call(void 0, {}),D=_vue.shallowRef.call(void 0, null),S=_vue.ref.call(void 0, []),m=_vue.shallowRef.call(void 0, []),y=new Set,T=new Set,n=new Map,Q=_nullishCoalesce(a.quickFilterText, () => (_vue.ref.call(void 0, null))),z=_nullishCoalesce(a.selectionScope, () => ("preserve")),E=a.mode!=="manual",w=_vue.ref.call(void 0, !1),U=_vue.ref.call(void 0, 0),r=[...new Set((_nullishCoalesce(a.pageSizeOptions, () => ([10,20,50,100]))).map(e=>$(e,0)).filter(Boolean))];r.includes(p.value)||r.push(p.value),r.sort((e,t)=>e-t);let c=null,v=null,f=0,h=null,C=!1,A=!1,B=!1,R=e=>{let t=typeof a.rowKey=="function"?a.rowKey(e):_machtable.getByPath.call(void 0, e,a.rowKey);if(t==null||String(t).length===0)throw new Error(`[MachTable] useMachTableQuery rowKey "${String(a.rowKey)}" returned an empty value.`);return String(t)},P=()=>{B=!0,S.value=w.value?[]:[...y],B=!1;let e=w.value?[...n.keys()]:[...y];m.value=e.flatMap(t=>{let i=n.get(t);return i===void 0||T.has(t)?[]:[i]}),U.value++},L=e=>w.value?!T.has(e):y.has(e),F=()=>{if(!c||c.isDestroyed())return;let e=l.value.filter(t=>L(R(t)));A=!0;try{c.setSelection(e,!0)}finally{A=!1}},W=()=>{f++,_optionalChain([v, 'optionalAccess', _27 => _27.abort, 'call', _28 => _28()]),v=null,h!=null&&clearTimeout(h),h=null,g.value=!1},X=(e,t)=>e.signal.aborted||t!==f,ie=e=>{if(!e||!Array.isArray(e.rows)||!Number.isFinite(e.total)||e.total<0)throw new TypeError("[MachTable] Remote request must resolve to { rows: TData[], total: non-negative number }.")},se=async(e,t,i)=>{if(X(t,i))return;ie(e);let u=[...e.rows];for(let I of u)R(I);l.value=u,d.value=Math.floor(e.total);for(let I of l.value){let V=R(I);L(V)?n.set(V,I):n.delete(V)}P(),_optionalChain([a, 'access', _29 => _29.onSuccess, 'optionalCall', _30 => _30(e)]),await _vue.nextTick.call(void 0, ),F()},ue=(e,t,i)=>{X(t,i)||Pe(e)||(o.value=_nullishCoalesce(e, () => (new Error)),_optionalChain([a, 'access', _31 => _31.onError, 'optionalCall', _32 => _32(o.value)]))},k=async()=>{h!=null&&clearTimeout(h),h=null,_optionalChain([v, 'optionalAccess', _33 => _33.abort, 'call', _34 => _34()]);let e=new AbortController;v=e;let t=++f;g.value=!0,o.value=null,a.keepPreviousData===!1&&(l.value=[]);try{let i=await a.request({page:s.value,pageSize:p.value,query:re(a.query),sortModel:b.value.map(u=>({...u})),filterModel:{...M.value},advancedFilterModel:_machtable.normalizeAdvancedFilterModel.call(void 0, D.value),quickFilterText:Q.value,signal:e.signal});await se(i,e,t)}catch(i){ue(i,e,t)}finally{t===f&&(g.value=!1,v===e&&(v=null))}},K=e=>{e&&(s.value=1),h!=null&&clearTimeout(h),v&&(f++,v.abort(),v=null,g.value=!1);let t=Math.max(0,_nullishCoalesce(a.debounceMs, () => (0)));if(t===0){k();return}h=setTimeout(()=>{k()},t)},de=e=>{c=e.api,_vue.nextTick.call(void 0, F)},ce=e=>{C||e.page===s.value&&e.pageSize===p.value||(s.value=e.page,p.value=e.pageSize,E&&k())},fe=e=>{C||(b.value=e.sortModel.map(t=>({...t})),E?K(!0):s.value=1)},ve=e=>{C||(M.value={...e.filterModel},D.value=_machtable.normalizeAdvancedFilterModel.call(void 0, e.advancedFilterModel),a.clearSelectionOnQueryChange!==!1&&q(),E?K(!0):s.value=1)},ge=e=>{if(A)return;let t=new Set(l.value.map(R)),i=new Set(e.selectedRows.map(R));if(w.value){for(let u of t)i.has(u)?T.delete(u):(T.add(u),n.delete(u));for(let u of e.selectedRows)n.set(R(u),u);P();return}if(z==="page")y.clear(),n.clear();else for(let u of t)y.delete(u),n.delete(u);for(let u of e.selectedRows){let I=R(u);y.add(I),n.set(I,u)}P()},Y=_vue.computed.call(void 0, ()=>({rowData:l.value,loading:g.value,rowKey:R,manualSorting:!0,manualFiltering:!0,advancedFilterModel:D.value,quickFilterText:Q.value,error:o.value,overlayErrorTemplate:o.value?()=>_nullishCoalesce(_optionalChain([a, 'access', _35 => _35.errorOverlay, 'optionalCall', _36 => _36({error:o.value,retry:k})]), () => ("Remote request failed. Please retry.")):void 0,overlayNoRowsTemplate:a.emptyOverlay,pagination:{mode:"server",page:s.value,pageSize:p.value,pageSizeOptions:r,total:d.value,showTotal:!0,showPageSizeSelector:!0},onGridReady:de,onPaginationChanged:ce,onSortChanged:fe,onFilterChanged:ve,onSelectionChanged:ge})),ye=async(e={})=>{e.resetPage&&(s.value=1),await k()},pe=async()=>{s.value=1,b.value=[],M.value={},D.value=null,q(),C=!0;try{_optionalChain([c, 'optionalAccess', _37 => _37.setSortModel, 'call', _38 => _38(null)]),_optionalChain([c, 'optionalAccess', _39 => _39.setFilterModel, 'call', _40 => _40(null)]),_optionalChain([c, 'optionalAccess', _41 => _41.setAdvancedFilterModel, 'call', _42 => _42(null)])}finally{C=!1}await k()},q=()=>{w.value=!1,y.clear(),T.clear(),n.clear(),P(),A=!0;try{_optionalChain([c, 'optionalAccess', _43 => _43.deselectAll, 'call', _44 => _44()])}finally{A=!1}},he=()=>{w.value=!0,y.clear(),T.clear(),n.clear();for(let e of l.value)n.set(R(e),e);P(),F()},Te=e=>{y.clear(),T.clear(),n.clear(),w.value=e.mode==="allMatching";let t=e.mode==="allMatching"?e.excludedKeys:e.selectedKeys;for(let i of t.map(String))e.mode==="allMatching"?T.add(i):y.add(i);for(let i of l.value){let u=R(i);L(u)&&n.set(u,i)}P(),F()},me=_vue.computed.call(void 0, ()=>(U.value,w.value?{mode:"allMatching",excludedKeys:[...T]}:{mode:"explicit",selectedKeys:[...y]}));return _vue.watch.call(void 0, ()=>re(a.query),()=>{a.clearSelectionOnQueryChange!==!1&&q(),E?K(!0):s.value=1},{deep:!0,immediate:E&&a.immediate!==!1}),_vue.watch.call(void 0, Q,()=>{a.clearSelectionOnQueryChange!==!1&&q(),E?K(!0):s.value=1}),_vue.watch.call(void 0, S,e=>{if(B)return;w.value=!1,T.clear();let t=new Set(e.map(String));y.clear();for(let i of t)y.add(i);for(let i of[...n.keys()])t.has(i)||n.delete(i);for(let i of l.value){let u=R(i);t.has(u)&&n.set(u,i)}F(),P()},{deep:!0,flush:"sync"}),_vue.onScopeDispose.call(void 0, ()=>{W(),c=null}),{rows:l,loading:g,error:o,page:s,pageSize:p,total:d,sortModel:b,filterModel:M,advancedFilterModel:D,selectedKeys:S,selectedRows:m,selectionState:me,gridProps:Y,bindings:Y,reload:ye,retry:k,reset:pe,abort:W,clearSelection:q,selectAllMatching:he,applySelectionState:Te}}function $e(a={}){let l=_(),g=_vue.ref.call(void 0, _nullishCoalesce(a.initialSearch, () => (""))),o=a.query?oe({...a.query,quickFilterText:_nullishCoalesce(a.query.quickFilterText, () => (_vue.computed.call(void 0, ()=>g.value||null)))}):null,s=ae(l,a.editing),p=_vue.shallowRef.call(void 0, []),d=null,b=()=>{p.value=_nullishCoalesce(_nullishCoalesce(_optionalChain([o, 'optionalAccess', _45 => _45.selectedRows, 'access', _46 => _46.value]), () => (_optionalChain([l, 'access', _47 => _47.api, 'access', _48 => _48.value, 'optionalAccess', _49 => _49.getSelectedRows, 'call', _50 => _50()]))), () => ([]))};_vue.watch.call(void 0, l.api,n=>{_optionalChain([d, 'optionalCall', _51 => _51()]),d=null,n&&!n.isDestroyed()&&(d=n.addEventListener("selectionChanged",b)),b()},{immediate:!0}),o&&_vue.watch.call(void 0, o.selectedRows,b,{deep:!1});let M=async()=>{if(o)await o.reload();else{let n=l.api.value;_optionalChain([n, 'optionalAccess', _52 => _52.isInfinite, 'call', _53 => _53()])?await n.reload():_optionalChain([n, 'optionalAccess', _54 => _54.refreshCells, 'call', _55 => _55()])}},D=_machtable.createMachTableCommands.call(void 0, {getApi:()=>l.api.value,reload:M}),S=_vue.computed.call(void 0, ()=>_nullishCoalesce(_optionalChain([o, 'optionalAccess', _56 => _56.bindings, 'access', _57 => _57.value]), () => ({}))),m=_vue.computed.call(void 0, ()=>{if(!o)return p.value.length;let n=o.selectionState.value;return n.mode==="allMatching"?Math.max(0,o.total.value-n.excludedKeys.length):n.selectedKeys.length}),y=_vue.computed.call(void 0, ()=>_optionalChain([o, 'optionalAccess', _58 => _58.loading, 'access', _59 => _59.value])===!0||s.saving.value),T=_vue.computed.call(void 0, ()=>_nullishCoalesce(_nullishCoalesce(_optionalChain([o, 'optionalAccess', _60 => _60.error, 'access', _61 => _61.value]), () => (s.saveError.value)), () => (null)));return _vue.watch.call(void 0, g,n=>{o||D.search(n||null)}),_vue.onScopeDispose.call(void 0, ()=>{_optionalChain([d, 'optionalCall', _62 => _62()]),d=null}),{table:l,query:o,editing:s,bindings:S,search:g,selectedRows:p,selectedCount:m,busy:y,error:T,commands:D,reload:M}}exports.a = _; exports.b = ae; exports.c = oe; exports.d = $e;
|
|
2
|
-
//# sourceMappingURL=chunk-MCLI6WUN.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["d:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\chunk-MCLI6WUN.cjs"],"names":[],"mappings":"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","file":"D:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\chunk-MCLI6WUN.cjs","sourcesContent":[null]}
|
package/dist/chunk-P7PVLT5L.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b as c,c as b,d as m}from"./chunk-HBEB7H4E.js";function p(e,n,o={}){let r=o.componentName??"MachTable";if(!r.trim())throw new Error("[MachTable] Global componentName must not be empty.");let i=new Set([r]),l=m(o);e.provide(b,l),e.provide(c,l.value.defaults??{}),o.registerRobotGridAlias!==!1&&i.add("RobotGrid");for(let a of i){let t=e.component(a);if(t&&t!==n)throw new Error(`[MachTable] Cannot register global component "${a}" because that name is already in use.`);t||e.component(a,n)}}export{p as a};
|
|
2
|
-
//# sourceMappingURL=chunk-P7PVLT5L.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/globalRegistration.ts"],"sourcesContent":["import type { App, Component } from \"vue\";\nimport type { MachTable } from \"./MachTable\";\nimport type { MachTableToolbar } from \"./MachTableToolbar\";\nimport { createMachTableConfigRef, MACH_TABLE_CONFIG_KEY, MACH_TABLE_DEFAULTS_KEY } from \"./defaults\";\nimport type { MachTableRuntimeConfig } from \"./configuration\";\n\ndeclare module \"vue\" {\n export interface GlobalComponents {\n MachTable: typeof MachTable;\n RobotGrid: typeof MachTable;\n MachTableToolbar: typeof MachTableToolbar;\n }\n}\n\nexport interface MachTablePluginOptions extends MachTableRuntimeConfig {\n /** Global component name. Defaults to `MachTable`. */\n componentName?: string;\n /** Also register the backwards-compatible `RobotGrid` name. Defaults to true. */\n registerRobotGridAlias?: boolean;\n}\n\nexport function registerGlobalMachTable(\n app: App,\n component: Component,\n options: MachTablePluginOptions = {}\n): void {\n const componentName = options.componentName ?? \"MachTable\";\n if (!componentName.trim()) {\n throw new Error(\"[MachTable] Global componentName must not be empty.\");\n }\n\n const names = new Set([componentName]);\n const config = createMachTableConfigRef(options);\n app.provide(MACH_TABLE_CONFIG_KEY, config);\n app.provide(MACH_TABLE_DEFAULTS_KEY, config.value.defaults ?? {});\n if (options.registerRobotGridAlias !== false) names.add(\"RobotGrid\");\n\n for (const name of names) {\n const existing = app.component(name);\n if (existing && existing !== component) {\n throw new Error(`[MachTable] Cannot register global component \\\"${name}\\\" because that name is already in use.`);\n }\n if (!existing) app.component(name, component);\n }\n}\n"],"mappings":"sDAqBO,SAASA,EACdC,EACAC,EACAC,EAAkC,CAAC,EAC7B,CACN,IAAMC,EAAgBD,EAAQ,eAAiB,YAC/C,GAAI,CAACC,EAAc,KAAK,EACtB,MAAM,IAAI,MAAM,qDAAqD,EAGvE,IAAMC,EAAQ,IAAI,IAAI,CAACD,CAAa,CAAC,EAC/BE,EAASC,EAAyBJ,CAAO,EAC/CF,EAAI,QAAQO,EAAuBF,CAAM,EACzCL,EAAI,QAAQQ,EAAyBH,EAAO,MAAM,UAAY,CAAC,CAAC,EAC5DH,EAAQ,yBAA2B,IAAOE,EAAM,IAAI,WAAW,EAEnE,QAAWK,KAAQL,EAAO,CACxB,IAAMM,EAAWV,EAAI,UAAUS,CAAI,EACnC,GAAIC,GAAYA,IAAaT,EAC3B,MAAM,IAAI,MAAM,iDAAkDQ,CAAI,wCAAyC,EAE5GC,GAAUV,EAAI,UAAUS,EAAMR,CAAS,CAC9C,CACF","names":["registerGlobalMachTable","app","component","options","componentName","names","config","createMachTableConfigRef","MACH_TABLE_CONFIG_KEY","MACH_TABLE_DEFAULTS_KEY","name","existing"]}
|
package/dist/chunk-PPNQWKVV.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _machtable = require('@agile-team/mach-table');var _vue = require('vue');var f=Symbol("mach-table-defaults"),o= exports.c =Symbol("mach-table-config"),T=_machtable.normalizeMachTableConfig.call(void 0, );function h(e){return typeof e=="function"?e():_vue.isRef.call(void 0, e)?e.value:e}function m(e){return _vue.shallowRef.call(void 0, _machtable.normalizeMachTableConfig.call(void 0, e))}function M(e){let p=_vue.inject.call(void 0, o,_vue.shallowRef.call(void 0, T)),n=_vue.computed.call(void 0, ()=>_machtable.mergeMachTableConfig.call(void 0, p.value,h(e)));return _vue.provide.call(void 0, o,n),_vue.provide.call(void 0, f,n.value.defaults),n}function y(e){M(()=>({defaults:typeof e=="function"?e():_vue.isRef.call(void 0, e)?e.value:e}))}function v(){let e=_vue.inject.call(void 0, o,null);return e?e.value.defaults:_vue.inject.call(void 0, f,{})}function O(){return _vue.inject.call(void 0, o,_vue.shallowRef.call(void 0, T))}exports.a = _machtable.resolveMachTableGridOptions; exports.b = f; exports.c = o; exports.d = m; exports.e = M; exports.f = y; exports.g = v; exports.h = O;
|
|
2
|
-
//# sourceMappingURL=chunk-PPNQWKVV.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["d:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\chunk-PPNQWKVV.cjs"],"names":[],"mappings":"AAAA,4HAAuJ,0BAAmF,IAAK,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,aAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,iDAAC,CAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAC,CAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,6BAAC,iDAAE,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,yBAAC,CAAE,CAAC,6BAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,2BAAC,CAAE,CAAC,EAAE,6CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,0BAAC,CAAE,CAAC,CAAC,CAAC,CAAC,0BAAC,CAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAC,CAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,yBAAC,CAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,yBAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,yBAAC,CAAE,CAAC,6BAAC,CAAE,CAAC,CAAC,CAAC,4JAA+D","file":"D:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\chunk-PPNQWKVV.cjs","sourcesContent":[null]}
|
package/dist/chunk-SUSVK2OW.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as v,h as V}from"./chunk-HBEB7H4E.js";import{defineComponent as $,getCurrentInstance as j,h as _,onBeforeUnmount as F,onMounted as W,ref as Y,watch as q}from"vue";import{createGrid as K,EVENT_TYPES as B,GRID_OPTION_KEYS as A,GRID_OPTION_META as U}from"@agile-team/mach-table";import{h as b,render as h,renderSlot as H,getCurrentInstance as I,shallowReactive as x}from"vue";function T(t){if(t)return t;try{return I()?.appContext}catch{return}}function G(t,e,a,o){let n=b({setup:()=>()=>b(t,{...e})});return o&&(n.appContext=o),h(n,a),()=>h(null,a)}function D(t,e,a,o,r=!0){let i=b({name:"MachTableSlot",setup:()=>()=>H({default:t},"default",e())});o&&(i.appContext=o);let l=!1,u=()=>{l||h(i,a)};return r?queueMicrotask(u):u(),()=>{l=!0,h(null,a)}}function Z(t,e){let a=T(e?.appContext);return o=>{let r=document.createElement("div");r.className="mach-cell-vue",r.style.width="100%";let n=x({...o}),i=G(t,n,r,a),l=!1;return{el:r,refresh:u=>(Object.assign(n,u),!0),destroy:()=>{l||(l=!0,window.setTimeout(i,0))}}}}function ee(t,e){let a=T(e?.appContext);return o=>{let r=document.createElement("div");r.style.height="100%";let n=G(t,o,r,a),i=!1;return{el:r,destroy:()=>{i||(i=!0,n())}}}}function M(t,e){let a=T(e?.appContext);return o=>{let r=document.createElement("div");r.className="mach-cell-vue mach-cell-vue--slot",r.style.width="100%";let n=x({...o}),i=D(t,()=>n,r,a);return{el:r,refresh:l=>(Object.assign(n,l),!0),destroy:i}}}function N(t,e){let a=T(e?.appContext);return o=>{let r=document.createElement("div");r.className="mach-header-vue-slot";let n=D(t,()=>o,r,a);return{el:r,destroy:n}}}function w(t,e){let a=T(e?.appContext);return o=>{let r=x({value:o.value}),n=document.createElement("div");n.className="mach-cell-vue mach-cell-vue--editor";let l=D(t,()=>({...o,value:r.value,setValue:u=>{r.value=u},commit:()=>o.api.stopEditing(!1),cancel:()=>o.api.stopEditing(!0)}),n,a,!1);return{el:n,getValue:()=>r.value,focus:()=>{n.querySelector("input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex='-1'])")?.focus()},destroy:l}}}function S(t,e){let a=T(e?.appContext);return o=>{let r=document.createElement("div");r.className="mach-detail-vue-slot",r.style.height="100%";let n=D(t,()=>o,r,a);return{el:r,destroy:n}}}function C(t,e){let a=T(e?.appContext);return()=>{let o=document.createElement("div");o.className="mach-overlay-vue-slot";let r=D(t,()=>({}),o,a);return{el:o,destroy:r}}}function O(t,e,a){return t[`${e}-${a}`]??t[`${e}-${a.replace(/[.\s]+/g,"-")}`]}function P(t,e,a){return t.map((o,r)=>{if(Array.isArray(o.children)){let y=o;return{...y,children:P(y.children,e,a)}}let n=o,i=n.colId??n.field??`col_${r}`,l=O(e,"cell",i)??(i==="op"?e.actions:void 0)??e.cell,u=O(e,"header",i)??e.header,g=O(e,"editor",i)??e.editor;return{...n,...l?{cellRenderer:M(l,{appContext:a})}:{},...u?{headerComponent:N(u,{appContext:a})}:{},...g?{cellEditor:w(g,{appContext:a})}:{}}})}function ne(t,e,a){let o=t.columnDefs?P(t.columnDefs,e,a):t.columnDefs;return{...t,columnDefs:o,...e.detail&&!t.detailRowRenderer?{detailRowRenderer:S(e.detail,{appContext:a})}:{},...e.loading?{overlayLoadingTemplate:C(e.loading,{appContext:a})}:{},...e.empty?{overlayNoRowsTemplate:C(e.empty,{appContext:a})}:{}}}function L(t,e){let a,o,r=t.detail?S(t.detail,{appContext:e}):void 0,n=t.loading?C(t.loading,{appContext:e}):void 0,i=t.empty?C(t.empty,{appContext:e}):void 0;return l=>(l.columnDefs!==a&&(a=l.columnDefs,o=l.columnDefs?P(l.columnDefs,t,e):l.columnDefs),{...l,columnDefs:o,...r&&!l.detailRowRenderer?{detailRowRenderer:r}:{},...n?{overlayLoadingTemplate:n}:{},...i?{overlayNoRowsTemplate:i}:{}})}var k=A.filter(t=>!["className","ariaLabel","ariaLabelledBy","ariaDescribedBy"].includes(t)),f={};for(let t of k){let e=U[t].kind,a=e==="boolean"?Boolean:e==="number"?Number:e==="array"?Array:e==="function"?Function:e==="boolean-object"?[Boolean,Object]:e==="object"?Object:e==="string"?String:void 0;f[t]={type:a,default:void 0}}f.className={type:String,default:void 0};f.gridClassName={type:String,default:void 0};f.gridAriaLabel={type:String,default:void 0};f.gridAriaLabelledBy={type:String,default:void 0};f.gridAriaDescribedBy={type:String,default:void 0};f.preset={type:[String,Array,Boolean],default:void 0};function z(t){return"on"+t.charAt(0).toUpperCase()+t.slice(1)}var J=$({name:"MachTable",inheritAttrs:!1,props:f,emits:[...B],setup(t,{expose:e,attrs:a,emit:o,slots:r}){let n=t,i=Y(null),l=null,u=V(),g=L(r,j()?.appContext),y=null,E=new Set,R=()=>{let d={};for(let s of k){let m=n[s];m!==void 0&&(d[s]=m)}n.gridClassName!==void 0&&(d.className=n.gridClassName),n.gridAriaLabel!==void 0&&(d.ariaLabel=n.gridAriaLabel),n.gridAriaLabelledBy!==void 0&&(d.ariaLabelledBy=n.gridAriaLabelledBy),n.gridAriaDescribedBy!==void 0&&(d.ariaDescribedBy=n.gridAriaDescribedBy);let c=v(u.value,n.preset,d,s=>{let m=`${s.code}:${s.preset??""}`;E.has(m)||(E.add(m),u.value.onConfigWarning?u.value.onConfigWarning(s):console.warn(s.message))}),p=g(c.options);return y={options:p,explain:s=>s==="columnDefs"&&p.columnDefs!==c.options.columnDefs?{key:s,value:p.columnDefs,source:"Vue slots",layers:[...c.explain(s).layers,{name:"Vue slots",value:p.columnDefs}]}:c.explain(s)},y.options};return W(()=>{if(!i.value)return;let d=R();for(let c of B){let p=z(c),s=d[p];d[p]=m=>{typeof s=="function"&&s(m),o(c,m)}}l=K(i.value,d)}),F(()=>{l?.destroy(),l=null}),q(()=>{let d=R();return[...A.map(c=>d[c])]},(d,c)=>{if(!l)return;let p={};d.forEach((s,m)=>{Object.is(s,c[m])||(p[A[m]]=s)}),Object.keys(p).length>0&&l.updateOptions(p)}),e({getApi:()=>l,getResolvedConfig:()=>y?.options??R(),explainOption:d=>(y??v(u.value,n.preset,{})).explain(d)}),()=>_("div",{...a,ref:i,class:["mach-vue-host",n.className,a.class]})}}),Q=J,ue=Q;export{Z as a,ee as b,M as c,N as d,w as e,S as f,C as g,ne as h,L as i,Q as j,ue as k};
|
|
2
|
-
//# sourceMappingURL=chunk-SUSVK2OW.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/MachTable.ts","../src/adapters.ts","../src/slots.ts"],"sourcesContent":["import { defineComponent, getCurrentInstance, h, onBeforeUnmount, onMounted, ref, watch, type DefineComponent } from \"vue\";\nimport {\n createGrid,\n EVENT_TYPES,\n GRID_OPTION_KEYS,\n GRID_OPTION_META\n} from \"@agile-team/mach-table\";\nimport type { GridApi, GridOptions } from \"@agile-team/mach-table\";\nimport { useMachTableConfig } from \"./defaults\";\nimport {\n resolveMachTableGridOptions,\n type MachTableOptionExplanation,\n type MachTablePresetSelection,\n type ResolvedMachTableGridOptions\n} from \"./configuration\";\nimport { createVueSlotEnhancer } from \"./slots\";\n\ntype AdapterOnlyGridOption = \"className\" | \"ariaLabel\" | \"ariaLabelledBy\" | \"ariaDescribedBy\";\n\nexport type MachTableVueProps<TData = any> = Omit<GridOptions<TData>, AdapterOnlyGridOption> & {\n /** Named application preset(s). Explicit table props still win. */\n preset?: MachTablePresetSelection;\n /** CSS class applied to the Vue host element. */\n className?: string;\n /** CSS class forwarded to MachTable's inner grid root. */\n gridClassName?: string;\n /** Accessible name forwarded to MachTable's inner role=grid element. */\n gridAriaLabel?: string;\n gridAriaLabelledBy?: string;\n gridAriaDescribedBy?: string;\n};\n\nexport interface MachTableVueExposed<TData = any> {\n getApi(): GridApi<TData> | null;\n getResolvedConfig(): GridOptions<TData>;\n explainOption(key: keyof GridOptions<TData> | string): MachTableOptionExplanation;\n}\n\nexport interface MachTableVueComponent extends DefineComponent<MachTableVueProps<any>> {\n new <TData = any>(): {\n $props: MachTableVueProps<TData>;\n $exposed: MachTableVueExposed<TData>;\n };\n}\n\nconst ADAPTER_OPTION_KEYS = GRID_OPTION_KEYS.filter(\n (key) => ![\"className\", \"ariaLabel\", \"ariaLabelledBy\", \"ariaDescribedBy\"].includes(key)\n);\n\nconst runtimeProps: Record<string, { type?: any; default: undefined }> = {};\nfor (const key of ADAPTER_OPTION_KEYS) {\n const kind = GRID_OPTION_META[key].kind;\n const type = kind === \"boolean\"\n ? Boolean\n : kind === \"number\"\n ? Number\n : kind === \"array\"\n ? Array\n : kind === \"function\"\n ? Function\n : kind === \"boolean-object\"\n ? [Boolean, Object]\n : kind === \"object\"\n ? Object\n : kind === \"string\"\n ? String\n : undefined;\n runtimeProps[key] = { type, default: undefined };\n}\nruntimeProps.className = { type: String, default: undefined };\nruntimeProps.gridClassName = { type: String, default: undefined };\nruntimeProps.gridAriaLabel = { type: String, default: undefined };\nruntimeProps.gridAriaLabelledBy = { type: String, default: undefined };\nruntimeProps.gridAriaDescribedBy = { type: String, default: undefined };\nruntimeProps.preset = { type: [String, Array, Boolean], default: undefined };\n\nfunction handlerNameOf(eventType: string): string {\n return \"on\" + eventType.charAt(0).toUpperCase() + eventType.slice(1);\n}\n\nconst MachTableImpl = defineComponent({\n name: \"MachTable\",\n inheritAttrs: false,\n props: runtimeProps,\n emits: [...EVENT_TYPES],\n setup(rawProps, { expose, attrs, emit, slots }) {\n const props = rawProps as Readonly<Record<string, any>>;\n const host = ref<HTMLDivElement | null>(null);\n let api: GridApi | null = null;\n const config = useMachTableConfig();\n const enhanceVueSlots = createVueSlotEnhancer<any>(slots, getCurrentInstance()?.appContext);\n let lastResolution: ResolvedMachTableGridOptions<any> | null = null;\n const reportedWarnings = new Set<string>();\n\n const collectOptions = (): GridOptions<any> => {\n const explicit: Record<string, unknown> = {};\n for (const key of ADAPTER_OPTION_KEYS) {\n const value = props[key];\n if (value !== undefined) explicit[key] = value;\n }\n if (props.gridClassName !== undefined) explicit.className = props.gridClassName;\n if (props.gridAriaLabel !== undefined) explicit.ariaLabel = props.gridAriaLabel;\n if (props.gridAriaLabelledBy !== undefined) explicit.ariaLabelledBy = props.gridAriaLabelledBy;\n if (props.gridAriaDescribedBy !== undefined) explicit.ariaDescribedBy = props.gridAriaDescribedBy;\n const resolution = resolveMachTableGridOptions(\n config.value,\n props.preset as MachTablePresetSelection | undefined,\n explicit as Partial<GridOptions<any>>,\n (warning) => {\n const key = `${warning.code}:${warning.preset ?? \"\"}`;\n if (reportedWarnings.has(key)) return;\n reportedWarnings.add(key);\n if (config.value.onConfigWarning) config.value.onConfigWarning(warning);\n else console.warn(warning.message);\n }\n );\n const enhancedOptions = enhanceVueSlots(resolution.options);\n lastResolution = {\n options: enhancedOptions,\n explain: (key) => {\n if (key === \"columnDefs\" && enhancedOptions.columnDefs !== resolution.options.columnDefs) {\n return {\n key,\n value: enhancedOptions.columnDefs,\n source: \"Vue slots\",\n layers: [...resolution.explain(key).layers, { name: \"Vue slots\", value: enhancedOptions.columnDefs }]\n };\n }\n return resolution.explain(key);\n }\n };\n return lastResolution.options;\n };\n\n onMounted(() => {\n if (!host.value) return;\n const options = collectOptions() as Record<string, unknown>;\n for (const type of EVENT_TYPES) {\n const handlerName = handlerNameOf(type);\n const defaultHandler = options[handlerName];\n options[handlerName] = (event: unknown) => {\n if (typeof defaultHandler === \"function\") (defaultHandler as (value: unknown) => void)(event);\n emit(type, event);\n };\n }\n api = createGrid(host.value, options as GridOptions<any>);\n });\n\n onBeforeUnmount(() => {\n api?.destroy();\n api = null;\n });\n\n watch(\n () => {\n const options = collectOptions() as Record<string, unknown>;\n return [...GRID_OPTION_KEYS.map((key) => options[key])];\n },\n (values, previous) => {\n if (!api) return;\n const changed: Record<string, unknown> = {};\n values.forEach((value, index) => {\n if (Object.is(value, previous[index])) return;\n changed[GRID_OPTION_KEYS[index]] = value;\n });\n if (Object.keys(changed).length > 0) api.updateOptions(changed as Partial<GridOptions<any>>);\n }\n );\n\n expose({\n getApi: (): GridApi | null => api,\n getResolvedConfig: (): GridOptions<any> => lastResolution?.options ?? collectOptions(),\n explainOption: (key: keyof GridOptions<any> | string): MachTableOptionExplanation =>\n (lastResolution ?? resolveMachTableGridOptions(config.value, props.preset, {})).explain(key)\n });\n\n return () => h(\"div\", {\n ...attrs,\n ref: host,\n class: [\"mach-vue-host\", props.className, attrs.class]\n });\n }\n});\n\nexport const MachTable = MachTableImpl as unknown as MachTableVueComponent;\n/** @deprecated Use MachTable. Kept as a source-compatible alias through 0.x. */\nexport const RobotGrid = MachTable;\n/** @deprecated Use MachTableVueProps. */\nexport type RobotGridVueProps<TData = any> = MachTableVueProps<TData>;\n","import {\n h,\n render,\n renderSlot,\n getCurrentInstance,\n shallowReactive,\n type AppContext,\n type Component,\n type Slot\n} from \"vue\";\nimport type {\n CellEditorFactory,\n CellEditorParams,\n CellRendererParams,\n CellRendererFn,\n DetailRowRendererParams,\n HeaderComponentParams,\n ICellRendererResult,\n OverlayTemplate\n} from \"@agile-team/mach-table\";\n\nexport type VueCellRendererProps<TData = any, TValue = any> = CellRendererParams<TData, TValue>;\n\n/**\n * 解析适配器可用的 appContext:\n * 1. 显式传入优先;\n * 2. 否则在 <script setup> 内同步调用工厂时自动捕获宿主组件上下文\n * (使单元格/明细内的 naive、EP 组件继承 ConfigProvider 的主题与国际化)。\n */\nfunction resolveAppContext(explicit?: AppContext): AppContext | undefined {\n if (explicit) return explicit;\n try {\n return getCurrentInstance()?.appContext;\n } catch {\n return undefined;\n }\n}\n\nfunction mountComponent(\n component: Component,\n props: Record<string, any>,\n host: HTMLElement,\n appContext?: AppContext\n): () => void {\n const Root = { setup: () => () => h(component, { ...props }) };\n const vnode = h(Root);\n if (appContext) vnode.appContext = appContext;\n render(vnode, host);\n return () => render(null, host);\n}\n\nfunction mountSlot(\n slot: Slot,\n props: () => Record<string, any>,\n host: HTMLElement,\n appContext?: AppContext,\n defer = true\n): () => void {\n const Root = {\n name: \"MachTableSlot\",\n setup: () => () => renderSlot({ default: slot }, \"default\", props())\n };\n const vnode = h(Root);\n if (appContext) vnode.appContext = appContext;\n let disposed = false;\n const mount = () => {\n if (disposed) return;\n render(vnode, host);\n };\n if (defer) queueMicrotask(mount);\n else mount();\n return () => {\n disposed = true;\n render(null, host);\n };\n}\n\nexport function vueCellRenderer<TData = any, TValue = any>(\n component: Component,\n options?: { appContext?: AppContext }\n): CellRendererFn {\n const appContext = resolveAppContext(options?.appContext);\n return (params: CellRendererParams<TData, TValue>) => {\n const host = document.createElement(\"div\");\n host.className = \"mach-cell-vue\";\n host.style.width = \"100%\";\n const reactiveParams = shallowReactive({ ...params }) as CellRendererParams<TData, TValue>;\n const unmount = mountComponent(component, reactiveParams as Record<string, any>, host, appContext);\n let destroyed = false;\n return {\n el: host,\n refresh: (next) => {\n Object.assign(reactiveParams, next);\n return true;\n },\n destroy: () => {\n if (destroyed) return;\n destroyed = true;\n window.setTimeout(unmount, 0);\n }\n };\n };\n}\n\nexport function vueDetailRenderer<TData = any>(\n component: Component,\n options?: { appContext?: AppContext }\n): (params: DetailRowRendererParams<TData>) => { el: HTMLElement; destroy?: () => void } {\n const appContext = resolveAppContext(options?.appContext);\n return (params) => {\n const host = document.createElement(\"div\");\n host.style.height = \"100%\";\n const unmount = mountComponent(component, params as Record<string, any>, host, appContext);\n let destroyed = false;\n return {\n el: host,\n destroy: () => {\n if (destroyed) return;\n destroyed = true;\n unmount();\n }\n };\n };\n}\n\n/** Internal/public bridge used by automatic `#cell-*` Vue slots. */\nexport function vueCellSlotRenderer<TData = any, TValue = any>(\n slot: Slot,\n options?: { appContext?: AppContext }\n): CellRendererFn {\n const appContext = resolveAppContext(options?.appContext);\n return (params: CellRendererParams<TData, TValue>) => {\n const host = document.createElement(\"div\");\n host.className = \"mach-cell-vue mach-cell-vue--slot\";\n host.style.width = \"100%\";\n const reactiveParams = shallowReactive({ ...params }) as CellRendererParams<TData, TValue>;\n const unmount = mountSlot(slot, () => reactiveParams, host, appContext);\n return {\n el: host,\n refresh: (next) => {\n Object.assign(reactiveParams, next);\n return true;\n },\n destroy: unmount\n };\n };\n}\n\nexport function vueHeaderSlotRenderer<TData = any>(\n slot: Slot,\n options?: { appContext?: AppContext }\n): (params: HeaderComponentParams<TData>) => ICellRendererResult {\n const appContext = resolveAppContext(options?.appContext);\n return (params) => {\n const host = document.createElement(\"div\");\n host.className = \"mach-header-vue-slot\";\n const unmount = mountSlot(slot, () => params, host, appContext);\n return { el: host, destroy: unmount };\n };\n}\n\nexport interface VueCellEditorSlotProps<TData = any, TValue = any>\n extends CellEditorParams<TData, TValue> {\n value: TValue;\n setValue(value: TValue): void;\n commit(): void;\n cancel(): void;\n}\n\nexport function vueCellEditorSlot<TData = any, TValue = any>(\n slot: Slot,\n options?: { appContext?: AppContext }\n): CellEditorFactory {\n const appContext = resolveAppContext(options?.appContext);\n return (params: CellEditorParams<TData, TValue>) => {\n const state = shallowReactive<{ value: TValue }>({ value: params.value });\n const host = document.createElement(\"div\");\n host.className = \"mach-cell-vue mach-cell-vue--editor\";\n const slotProps = (): VueCellEditorSlotProps<TData, TValue> => ({\n ...params,\n value: state.value,\n setValue: (value) => { state.value = value; },\n commit: () => params.api.stopEditing(false),\n cancel: () => params.api.stopEditing(true)\n });\n const unmount = mountSlot(slot, slotProps as () => Record<string, any>, host, appContext, false);\n return {\n el: host,\n getValue: () => state.value,\n focus: () => {\n const focusable = host.querySelector<HTMLElement>(\n \"input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex='-1'])\"\n );\n focusable?.focus();\n },\n destroy: unmount\n };\n };\n}\n\nexport function vueDetailSlotRenderer<TData = any>(\n slot: Slot,\n options?: { appContext?: AppContext }\n): (params: DetailRowRendererParams<TData>) => ICellRendererResult {\n const appContext = resolveAppContext(options?.appContext);\n return (params) => {\n const host = document.createElement(\"div\");\n host.className = \"mach-detail-vue-slot\";\n host.style.height = \"100%\";\n const unmount = mountSlot(slot, () => params, host, appContext);\n return { el: host, destroy: unmount };\n };\n}\n\nexport function vueOverlaySlot(\n slot: Slot,\n options?: { appContext?: AppContext }\n): OverlayTemplate {\n const appContext = resolveAppContext(options?.appContext);\n return () => {\n const host = document.createElement(\"div\");\n host.className = \"mach-overlay-vue-slot\";\n const unmount = mountSlot(slot, () => ({}), host, appContext);\n return { el: host, destroy: unmount };\n };\n}\n","import type { AppContext, Slot, Slots } from \"vue\";\nimport type {\n CellEditorParams,\n CellRendererParams,\n ColDef,\n ColDefGroup,\n DetailRowRendererParams,\n GridOptions,\n HeaderComponentParams\n} from \"@agile-team/mach-table\";\nimport {\n vueCellEditorSlot,\n vueCellSlotRenderer,\n vueDetailSlotRenderer,\n vueHeaderSlotRenderer,\n vueOverlaySlot,\n type VueCellEditorSlotProps\n} from \"./adapters\";\n\nexport interface MachTableVueSlots<TData = any> {\n cell?: (props: CellRendererParams<TData>) => any;\n header?: (props: HeaderComponentParams<TData>) => any;\n editor?: (props: VueCellEditorSlotProps<TData>) => any;\n detail?: (props: DetailRowRendererParams<TData>) => any;\n loading?: () => any;\n empty?: () => any;\n actions?: (props: CellRendererParams<TData>) => any;\n [name: `cell-${string}`]: ((props: CellRendererParams<TData>) => any) | undefined;\n [name: `header-${string}`]: ((props: HeaderComponentParams<TData>) => any) | undefined;\n [name: `editor-${string}`]: ((props: CellEditorParams<TData>) => any) | undefined;\n}\n\nfunction namedSlot(slots: Slots, prefix: string, id: string): Slot | undefined {\n return slots[`${prefix}-${id}`] ?? slots[`${prefix}-${id.replace(/[.\\s]+/g, \"-\")}`];\n}\n\nfunction enhanceColumns<TData>(\n definitions: readonly (ColDef<TData> | ColDefGroup<TData>)[],\n slots: Slots,\n appContext?: AppContext\n): (ColDef<TData> | ColDefGroup<TData>)[] {\n return definitions.map((definition, index) => {\n if (Array.isArray((definition as ColDefGroup<TData>).children)) {\n const group = definition as ColDefGroup<TData>;\n return { ...group, children: enhanceColumns(group.children, slots, appContext) };\n }\n const column = definition as ColDef<TData>;\n const id = column.colId ?? column.field ?? `col_${index}`;\n const cell = namedSlot(slots, \"cell\", id) ?? (id === \"op\" ? slots.actions : undefined) ?? slots.cell;\n const header = namedSlot(slots, \"header\", id) ?? slots.header;\n const editor = namedSlot(slots, \"editor\", id) ?? slots.editor;\n return {\n ...column,\n ...(cell ? { cellRenderer: vueCellSlotRenderer(cell, { appContext }) } : {}),\n ...(header ? { headerComponent: vueHeaderSlotRenderer(header, { appContext }) } : {}),\n ...(editor ? { cellEditor: vueCellEditorSlot(editor, { appContext }) } : {})\n };\n });\n}\n\nexport function applyVueSlots<TData>(\n options: GridOptions<TData>,\n slots: Slots,\n appContext?: AppContext\n): GridOptions<TData> {\n const columnDefs = options.columnDefs\n ? enhanceColumns(options.columnDefs, slots, appContext)\n : options.columnDefs;\n return {\n ...options,\n columnDefs,\n ...(slots.detail && !options.detailRowRenderer\n ? { detailRowRenderer: vueDetailSlotRenderer(slots.detail, { appContext }) }\n : {}),\n ...(slots.loading ? { overlayLoadingTemplate: vueOverlaySlot(slots.loading, { appContext }) } : {}),\n ...(slots.empty ? { overlayNoRowsTemplate: vueOverlaySlot(slots.empty, { appContext }) } : {})\n };\n}\n\n/** Creates a stable enhancer so unrelated reactive prop updates do not rebuild columns. */\nexport function createVueSlotEnhancer<TData>(slots: Slots, appContext?: AppContext) {\n let previousDefinitions: GridOptions<TData>[\"columnDefs\"];\n let enhancedDefinitions: GridOptions<TData>[\"columnDefs\"];\n const detailRenderer = slots.detail ? vueDetailSlotRenderer<TData>(slots.detail, { appContext }) : undefined;\n const loadingTemplate = slots.loading ? vueOverlaySlot(slots.loading, { appContext }) : undefined;\n const emptyTemplate = slots.empty ? vueOverlaySlot(slots.empty, { appContext }) : undefined;\n\n return (options: GridOptions<TData>): GridOptions<TData> => {\n if (options.columnDefs !== previousDefinitions) {\n previousDefinitions = options.columnDefs;\n enhancedDefinitions = options.columnDefs\n ? enhanceColumns(options.columnDefs, slots, appContext)\n : options.columnDefs;\n }\n return {\n ...options,\n columnDefs: enhancedDefinitions,\n ...(detailRenderer && !options.detailRowRenderer ? { detailRowRenderer: detailRenderer } : {}),\n ...(loadingTemplate ? { overlayLoadingTemplate: loadingTemplate } : {}),\n ...(emptyTemplate ? { overlayNoRowsTemplate: emptyTemplate } : {})\n };\n };\n}\n"],"mappings":"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","names":["defineComponent","getCurrentInstance","h","onBeforeUnmount","onMounted","ref","watch","createGrid","EVENT_TYPES","GRID_OPTION_KEYS","GRID_OPTION_META","h","render","renderSlot","getCurrentInstance","shallowReactive","resolveAppContext","explicit","mountComponent","component","props","host","appContext","vnode","mountSlot","slot","defer","disposed","mount","vueCellRenderer","options","params","reactiveParams","unmount","destroyed","next","vueDetailRenderer","vueCellSlotRenderer","vueHeaderSlotRenderer","vueCellEditorSlot","state","value","vueDetailSlotRenderer","vueOverlaySlot","namedSlot","slots","prefix","id","enhanceColumns","definitions","appContext","definition","index","group","column","cell","header","editor","vueCellSlotRenderer","vueHeaderSlotRenderer","vueCellEditorSlot","applyVueSlots","options","columnDefs","vueDetailSlotRenderer","vueOverlaySlot","createVueSlotEnhancer","previousDefinitions","enhancedDefinitions","detailRenderer","loadingTemplate","emptyTemplate","ADAPTER_OPTION_KEYS","GRID_OPTION_KEYS","key","runtimeProps","kind","GRID_OPTION_META","type","handlerNameOf","eventType","MachTableImpl","defineComponent","EVENT_TYPES","rawProps","expose","attrs","emit","slots","props","host","ref","api","config","useMachTableConfig","enhanceVueSlots","createVueSlotEnhancer","getCurrentInstance","lastResolution","reportedWarnings","collectOptions","explicit","value","resolution","resolveMachTableGridOptions","warning","enhancedOptions","onMounted","options","handlerName","defaultHandler","event","createGrid","onBeforeUnmount","watch","values","previous","changed","index","h","MachTable","RobotGrid"]}
|
package/dist/chunk-UST6E3TU.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkPPNQWKVVcjs = require('./chunk-PPNQWKVV.cjs');function p(e,n,o={}){let r=_nullishCoalesce(o.componentName, () => ("MachTable"));if(!r.trim())throw new Error("[MachTable] Global componentName must not be empty.");let i=new Set([r]),l=_chunkPPNQWKVVcjs.d.call(void 0, o);e.provide(_chunkPPNQWKVVcjs.c,l),e.provide(_chunkPPNQWKVVcjs.b,_nullishCoalesce(l.value.defaults, () => ({}))),o.registerRobotGridAlias!==!1&&i.add("RobotGrid");for(let a of i){let t=e.component(a);if(t&&t!==n)throw new Error(`[MachTable] Cannot register global component "${a}" because that name is already in use.`);t||e.component(a,n)}}exports.a = p;
|
|
2
|
-
//# sourceMappingURL=chunk-UST6E3TU.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["d:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\chunk-UST6E3TU.cjs"],"names":[],"mappings":"AAAA,qOAAsD,SAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAC,CAAC,CAAC,aAAa,SAAE,aAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iCAAC,CAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAC,kBAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,SAAE,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,8CAA8C,EAAE,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc","file":"D:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\chunk-UST6E3TU.cjs","sourcesContent":[null]}
|
package/dist/editors.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["d:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\editors.cjs"],"names":[],"mappings":"AAAA,2sBAA+F,SAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,uBAAO,qCAAC,CAAE,2BAAE,YAAU,CAAC,UAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,oBAAC,CAAE,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,yBAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,yBAAC,IAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,4BAAC,CAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAC,CAAC,CAAC,SAAS,SAAE,cAAY,CAAC,CAAC,kBAAC,CAAC,CAAC,WAAW,SAAE,uBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,kCAAC,CAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,mCAAmC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA","file":"D:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\editors.cjs","sourcesContent":[null]}
|
package/dist/editors.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/editors.ts"],"sourcesContent":["import {\n createApp,\n getCurrentInstance,\n h,\n render,\n shallowReactive,\n type AppContext,\n type Component,\n type VNodeChild\n} from \"vue\";\nimport type { CellEditorFactory, CellEditorParams } from \"@agile-team/mach-table\";\n\nexport interface VueCellEditorOptions<TData = any, TValue = any> {\n props?: Record<string, unknown> | ((params: CellEditorParams<TData, TValue>) => Record<string, unknown>);\n valueProp?: string;\n updateEvent?: string;\n children?: (context: {\n params: CellEditorParams<TData, TValue>;\n value: TValue;\n setValue(value: TValue): void;\n }) => VNodeChild;\n appContext?: AppContext;\n focusSelector?: string;\n className?: string;\n}\n\nfunction currentAppContext(explicit?: AppContext): AppContext | undefined {\n if (explicit) return explicit;\n try { return getCurrentInstance()?.appContext; } catch { return undefined; }\n}\n\nfunction mountEditor(component: Component, host: HTMLElement, appContext?: AppContext): () => void {\n if (appContext) {\n const vnode = h(component);\n vnode.appContext = appContext;\n render(vnode, host);\n return () => render(null, host);\n }\n const app = createApp(component);\n app.mount(host);\n return () => app.unmount();\n}\n\n/** Adapts any Vue v-model component to MachTable's editor lifecycle. */\nexport function vueCellEditor<TData = any, TValue = any>(\n component: Component,\n options: VueCellEditorOptions<TData, TValue> = {}\n): CellEditorFactory {\n const appContext = currentAppContext(options.appContext);\n const valueProp = options.valueProp ?? \"modelValue\";\n const updateEvent = options.updateEvent ?? \"onUpdate:modelValue\";\n return (params: CellEditorParams<TData, TValue>) => {\n const state = shallowReactive<{ value: TValue }>({ value: params.value });\n const host = document.createElement(\"div\");\n host.className = `mach-cell-vue mach-cell-vue--editor${options.className ? ` ${options.className}` : \"\"}`;\n host.style.width = \"100%\";\n const Root = {\n name: \"MachTableVueCellEditor\",\n setup: () => () => {\n const suppliedProps = typeof options.props === \"function\" ? options.props(params) : options.props;\n const setValue = (value: TValue) => { state.value = value; };\n return h(component, {\n ...(suppliedProps ?? {}),\n [valueProp]: state.value,\n [updateEvent]: setValue,\n style: [{ width: \"100%\" }, suppliedProps?.style]\n }, options.children ? () => options.children!({ params, value: state.value, setValue }) : undefined);\n }\n };\n const unmount = mountEditor(Root, host, appContext);\n let destroyed = false;\n return {\n el: host,\n getValue: () => state.value,\n focus: () => {\n const selector = options.focusSelector ??\n \"input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex='-1'])\";\n host.querySelector<HTMLElement>(selector)?.focus();\n },\n destroy: () => {\n if (destroyed) return;\n destroyed = true;\n unmount();\n }\n };\n };\n}\n\nexport interface ElementPlusEditorComponents {\n input?: Component;\n inputNumber?: Component;\n select?: Component;\n datePicker?: Component;\n}\n\nexport interface ElementPlusEditors {\n input?: CellEditorFactory;\n number?: CellEditorFactory;\n select?: CellEditorFactory;\n date?: CellEditorFactory;\n}\n\n/** Optional Element Plus bridge; Element Plus remains owned by the host app. */\nexport function createElementPlusEditors(\n components: ElementPlusEditorComponents,\n defaults: Partial<Record<keyof ElementPlusEditors, VueCellEditorOptions>> = {}\n): ElementPlusEditors {\n return {\n input: components.input ? vueCellEditor(components.input, defaults.input) : undefined,\n number: components.inputNumber ? vueCellEditor(components.inputNumber, defaults.number) : undefined,\n select: components.select ? vueCellEditor(components.select, { props: { teleported: true }, ...defaults.select }) : undefined,\n date: components.datePicker ? vueCellEditor(components.datePicker, {\n props: { teleported: true, valueFormat: \"YYYY-MM-DD\" },\n ...defaults.date\n }) : undefined\n };\n}\n"],"mappings":"AAAA,OACE,aAAAA,EACA,sBAAAC,EACA,KAAAC,EACA,UAAAC,EACA,mBAAAC,MAIK,MAiBP,SAASC,EAAkBC,EAA+C,CACxE,GAAIA,EAAU,OAAOA,EACrB,GAAI,CAAE,OAAOL,EAAmB,GAAG,UAAY,MAAQ,CAAE,MAAkB,CAC7E,CAEA,SAASM,EAAYC,EAAsBC,EAAmBC,EAAqC,CACjG,GAAIA,EAAY,CACd,IAAMC,EAAQT,EAAEM,CAAS,EACzB,OAAAG,EAAM,WAAaD,EACnBP,EAAOQ,EAAOF,CAAI,EACX,IAAMN,EAAO,KAAMM,CAAI,CAChC,CACA,IAAMG,EAAMZ,EAAUQ,CAAS,EAC/B,OAAAI,EAAI,MAAMH,CAAI,EACP,IAAMG,EAAI,QAAQ,CAC3B,CAGO,SAASC,EACdL,EACAM,EAA+C,CAAC,EAC7B,CACnB,IAAMJ,EAAaL,EAAkBS,EAAQ,UAAU,EACjDC,EAAYD,EAAQ,WAAa,aACjCE,EAAcF,EAAQ,aAAe,sBAC3C,OAAQG,GAA4C,CAClD,IAAMC,EAAQd,EAAmC,CAAE,MAAOa,EAAO,KAAM,CAAC,EAClER,EAAO,SAAS,cAAc,KAAK,EACzCA,EAAK,UAAY,sCAAsCK,EAAQ,UAAY,IAAIA,EAAQ,SAAS,GAAK,EAAE,GACvGL,EAAK,MAAM,MAAQ,OAcnB,IAAMU,EAAUZ,EAbH,CACX,KAAM,yBACN,MAAO,IAAM,IAAM,CACjB,IAAMa,EAAgB,OAAON,EAAQ,OAAU,WAAaA,EAAQ,MAAMG,CAAM,EAAIH,EAAQ,MACtFO,EAAYC,GAAkB,CAAEJ,EAAM,MAAQI,CAAO,EAC3D,OAAOpB,EAAEM,EAAW,CAClB,GAAIY,GAAiB,CAAC,EACtB,CAACL,CAAS,EAAGG,EAAM,MACnB,CAACF,CAAW,EAAGK,EACf,MAAO,CAAC,CAAE,MAAO,MAAO,EAAGD,GAAe,KAAK,CACjD,EAAGN,EAAQ,SAAW,IAAMA,EAAQ,SAAU,CAAE,OAAAG,EAAQ,MAAOC,EAAM,MAAO,SAAAG,CAAS,CAAC,EAAI,MAAS,CACrG,CACF,EACkCZ,EAAMC,CAAU,EAC9Ca,EAAY,GAChB,MAAO,CACL,GAAId,EACJ,SAAU,IAAMS,EAAM,MACtB,MAAO,IAAM,CACX,IAAMM,EAAWV,EAAQ,eACvB,mIACFL,EAAK,cAA2Be,CAAQ,GAAG,MAAM,CACnD,EACA,QAAS,IAAM,CACTD,IACJA,EAAY,GACZJ,EAAQ,EACV,CACF,CACF,CACF,CAiBO,SAASM,EACdC,EACAC,EAA4E,CAAC,EACzD,CACpB,MAAO,CACL,MAAOD,EAAW,MAAQb,EAAca,EAAW,MAAOC,EAAS,KAAK,EAAI,OAC5E,OAAQD,EAAW,YAAcb,EAAca,EAAW,YAAaC,EAAS,MAAM,EAAI,OAC1F,OAAQD,EAAW,OAASb,EAAca,EAAW,OAAQ,CAAE,MAAO,CAAE,WAAY,EAAK,EAAG,GAAGC,EAAS,MAAO,CAAC,EAAI,OACpH,KAAMD,EAAW,WAAab,EAAca,EAAW,WAAY,CACjE,MAAO,CAAE,WAAY,GAAM,YAAa,YAAa,EACrD,GAAGC,EAAS,IACd,CAAC,EAAI,MACP,CACF","names":["createApp","getCurrentInstance","h","render","shallowReactive","currentAppContext","explicit","mountEditor","component","host","appContext","vnode","app","vueCellEditor","options","valueProp","updateEvent","params","state","unmount","suppliedProps","setValue","value","destroyed","selector","createElementPlusEditors","components","defaults"]}
|