@aplus-frontend/ui 7.19.1 → 7.19.3

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),ne=require("@ag-grid-community/locale"),co=require("@aplus-frontend/antdv"),po=require("@aplus-frontend/antdv/es/theme/internal"),l=require("ag-grid-community"),fo=require("ag-grid-vue3"),c=require("lodash-unified"),F=require("../ap-grid/constants.js"),mo=require("../ap-table/context.js"),go=require("../ap-table/hooks/use-table-paging-ng.js"),So=require("../ap-table/utils.js");require("../config-provider/index.js");require("../utils/index.js");const wo=require("../utils/retry.js"),Co=require("../utils/slot.js"),ho=require("../ap-form/index.js");require("./components/empty/index.vue.js");require("./components/loading/index.vue.js");require("./components/row/index.vue.js");const re=require("./context.js"),yo=require("./hooks/use-columns.js"),vo=require("./hooks/use-columns-def.js"),Ro=require("./hooks/use-pinned-row.js"),bo=require("./hooks/use-row-selection.js"),ko=require("./hooks/use-search-form.js"),xo=require("./hooks/use-selection-col-def.js"),Bo=require("./hooks/use-virtual-config.js"),Fo=require("./style/index.js"),qo=require("./theme.js"),b=require("./utils.js"),Mo=require("../config-provider/hooks/use-namespace.js"),Io=require("../config-provider/hooks/use-locale.js"),Eo=require("../config-provider/hooks/use-global-config.js"),To=require("../utils/is.js"),Ao=require("./components/row/index.vue2.js"),No=require("./components/loading/index.vue2.js"),zo=require("./components/empty/index.vue2.js"),_o=o.defineComponent({name:"AgGrid",__name:"index",props:{dropdownPrefixCls:{},bordered:{type:Boolean},locale:{},onChange:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{},showSorterTooltip:{type:[Boolean,Object]},prefixCls:{},rowKey:{type:[String,Function],default:"key"},tableLayout:{},title:{},id:{},showHeader:{type:Boolean},components:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean]},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean},indentSize:{},expandIconColumnIndex:{},showExpandColumn:{type:Boolean},expandedRowClassName:{},childrenColumnName:{},rowExpandable:{},transformCellText:{},rowHoverable:{type:Boolean},columns:{},rowSelection:{type:[Boolean,Object]},card:{type:Boolean},params:{},request:{},defaultData:{},dataSource:{},onLoadingChange:{},onShownColumnsChange:{},searchForm:{type:[Boolean,Object],default:void 0},beforeSearchSubmit:{},pagination:{type:[Boolean,Object],default:void 0},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},tableStyle:{},manual:{type:Boolean,default:void 0},size:{default:"mini"},adaptive:{type:Boolean},columnResizable:{type:Boolean,default:!1},loading:{type:Boolean,default:void 0},summary:{},rowHeight:{},getRowHeight:{},advanceRenderer:{type:Boolean},browserTooltips:{type:Boolean},virtual:{type:[Boolean,Object],default:void 0},onRowClicked:{},onScrollEnd:{},rowClassName:{},rowClassRules:{},autoHeight:{type:Boolean},onUpdate:{},customRow:{},theme:{},emptyComponent:{},emptyText:{},onColumnResized:{},animateRows:{type:Boolean,default:!0},plugins:{default:()=>[]}},setup(le,{expose:ae}){const se={"zh-cn":ne.AG_GRID_LOCALE_CN,en:ne.AG_GRID_LOCALE_EN};l.ModuleRegistry.registerModules([l.ValidationModule,l.ColumnAutoSizeModule,l.PinnedRowModule,l.RowAutoHeightModule,l.RowStyleModule,l.CellSpanModule,l.CellStyleModule,l.TooltipModule,l.RowSelectionModule,l.LocaleModule,l.ValueCacheModule,l.GridStateModule,l.ColumnApiModule,l.RowApiModule,l.CellApiModule,l.RenderApiModule,l.EventApiModule,l.ScrollApiModule,l.ClientSideRowModelApiModule,l.ClientSideRowModelModule]);const n=le,q=o.useSlots(),{e:M,b:d,be:ue}=Mo.useNamespace("ag-grid"),{lang:V}=Io.useLocale(),ie=Fo.default("ag-grid"),y=o.ref(n.size),ce=qo.useTheme(y,o.toRef(n,"rowHeight"),o.toRef(n,"theme")),de=Bo.default(o.toRef(n,"virtual")),{rowPinnedGridConfig:D,getRowPinnedCellClass:pe}=Ro.usePinnedRow(o.toRef(n,"summary")),fe=Eo.useGlobalConfig("apGrid"),u=o.ref(),[,me]=po.useToken();let v=!!n.dataSource;async function I(e,t={}){const r=await b.runPipelineHooks(n.plugins,e,a=>a.beforeApplyColumnState?.bind(a));u.value.applyColumnState({state:r,...t})}const O=ko.useSearchForm(n),{shownColumns:w,columns:G,columnKeys:ge,getTargetColumnByKey:Se,defaultSortOrder:k}=yo.useColumns(n),{defaultColDef:we,columnDefs:K,gridWrapperRef:Ce}=vo.useColumnsDef(G,n,pe,q.headerCell),he={asc:"ascend",desc:"descend"},L={ascend:"asc",descend:"desc"};function ye(){const e=k.value;return e?{[e.colKey]:L[e.order]}:{}}function ve(){const e=H.value,t=k.value;if(t&&e.includes(t.field))return t}const x=o.ref(ye());re.useProvideSorter({sorter:x,setSorter(e){x.value=e}});function Re(){const e=u.value.getColumns()?.filter(p=>p.getSort()!=null),t=o.unref(x)||{};let r=e?.[0];const a=Object.keys(t);if(a.length&&a.every(p=>t[p]===null)){const p=Object.keys(t)[0];p&&(r=u.value?.getColumn(p))}if(!r)return;const i=r.getColDef(),g=r.getSort(),S=Se(i.colId);U(void 0,void 0,{column:i,field:S?.field??i.field??i.colId,order:g?he[g]:null})}const H=o.computed(()=>So.recursionApColumns(o.unref(w),e=>{if(e.sorter===!0)return e.field??e.dataIndex??e.key}).filter(Boolean)),be=()=>{x.value={};const e=u.value;if(!e)return;const t=e.getColumnState()?.map(r=>({...r,sort:null}));I(t)},E=o.ref({});re.useProvideExpandable({expandable:E});function ke(e){const t=e.columnGroup;t&&(E.value={...E.value,[t.getGroupId()]:t.isExpanded()})}const T=o.ref(!0),xe=o.computed(()=>To.isDef(n.manual)?n.manual:Co.getValidVNodeList(q.searchFormExtra?.()||[]).some(t=>t.type?.name==="ApView")),{formRef:C,submit:A,reset:N,data:f,tableProps:W,handleTableChangeOptional:U,submitWith:$,refresh:j,getPaging:Be,setPaging:Fe,setDataSource:qe,getLastParams:Me}=go.useTablePaging({async request(e){if(v=!1,h.value&&!h.value.preserveSelectedRowKeys&&c.isUndefined(n.dataSource)&&!T.value&&P(),T.value&&(T.value=!1),!c.isUndefined(n.dataSource)){const r=e.pageSize*(e.current-1);return{data:(n.pagination===!1?n.dataSource:n.dataSource.slice(r,r+e.pageSize))||[],total:n.dataSource.length||0}}const t=await n.request?.(e);return{data:t?.data||[],total:t?.total||0}},namespace:"ap-grid",filterFields:o.ref([]),params:o.toRef(n,"params"),defaultData:n.defaultData,manual:o.unref(xe),formatParams:n.beforeSearchSubmit,pagination:n.pagination,sortFields:H,onClickReset:be,defaultSortOrder:ve()}),h=o.computed(()=>{const e=n.rowSelection||fe.value?.rowSelection;if(e)return e===!0?F.DEFAULT_ROW_SELECTION_CONFIG:{...F.DEFAULT_ROW_SELECTION_CONFIG,...e}}),Ie=xo.default(n,w),Ee=o.computed(()=>c.isUndefined(n.dataSource)?f.records:n.dataSource),{select:Te,unSelect:Ae,selectedRows:z,selectedRowKeys:Ne,clearAll:ze,selectMultiByKeys:_e,selectMulti:Pe,unSelectMulti:Ve}=bo.default({...h.value,dataSource:Ee,rowKey:n.rowKey}),De={checkbox:"multiRow",radio:"singleRow"},Oe=o.computed(()=>{const e=h.value;if(!e)return;const{type:t="checkbox",disabled:r}=e;return{mode:De[t],isRowSelectable:a=>r?!r(a.data):!0,hideDisabledCheckboxes:e.hideDisabled??!1}});function _(e){return c.isFunction(n.rowKey)?n.rowKey(e):e[n.rowKey]}const B=({api:e=u.value})=>{if(n.onUpdate?.(),!h.value)return;const t=z.value||[];v=!1;const r=[];e.forEachNode(a=>{const m=a.data,i=_(m),g=a.isSelected();t.find(S=>_(S)===i)?!g&&r.push(a):g&&a.setSelected(!1)}),e.setNodesSelected({nodes:r,newValue:!0}),setTimeout(()=>{v=!0},0)},Ge=e=>{v&&(e.node.isSelected()?Te(e.data):Ae(e.data),c.isFunction(h.value?.tooltip)&&e.api.refreshCells({rowNodes:[e.node],columns:["ag-Grid-SelectionColumn"],force:!0}))},Ke=()=>{v=!0;const e=u.value;if(!e||!k.value)return;const t=e.getColumnState(),{colKey:r,order:a}=k.value,m=t.map(i=>({...i,sort:i.colId===r?L[a]:null}));I(m)},P=()=>{ze(),u.value?.deselectAll()};function Le(e){_e(e),o.nextTick(()=>{B({})})}const He=o.computed(()=>{const e=n.customRow;return e?{isFullWidthRow:e.isCustomRow,fullWidthCellRenderer:Ao.default,fullWidthCellRendererParams:{render:e.render}}:{}});function We(e){Pe(e),o.nextTick(()=>{B({})})}function Ue(e){Ve(e),o.nextTick(()=>{B({})})}function J(e=!1){const t=e?"getFieldsValueTransformed":"getFieldsValue";return C.value?.apForm?.[t]?.(!0)}function Q(e){C.value?.apForm?.setFieldsValue?.(e)}function X(){return C.value?.getSorterItems()||[]}function Y(e){C.value?.setSorterItems(e)}function Z(){C.value?.resetSorterItems()}function ee(e){return e&&String(e)}function $e(e){const t=u.value;if(!t)return;const r=t.getColumnState()||[],a=e.map(s=>s.key?String(s.key):s.key).filter(Boolean),m=r.map(s=>{if(!ge.value.includes(s.colId))return s;const R=!a.includes(s.colId),oe={...s,hide:R},te=e.find(io=>ee(io.key)===s.colId);return te&&(oe.pinned=te.fixed||null),oe}),i=new Map(e.map((s,R)=>[ee(s.key),R])),g=m.filter(s=>i.has(s.colId)).sort((s,R)=>i.get(s.colId)-i.get(R.colId)),S=[];let p=0;for(const s of m)i.has(s.colId)?S.push(g[p++]):S.push(s);I(S,{applyOrder:!0})}mo.useProvideApTable({columns:o.computed(()=>w.value),columnsBackup:o.computed(()=>G.value),size:o.computed(()=>F.sizeMap[y.value]),updateColumns(e){w.value=e,n.onShownColumnsChange?.(e),wo.retryUntil(()=>u.value?.getColumnState(),()=>{$e(e)},{interval:17,check:t=>!!(t&&t.length>0)})},updateSize(e){y.value=F.sizeReverseMap[e]},renderConfig:o.computed(()=>({className:ue("table-header","title"),color:me.value.colorTextTertiary})),dataSource:o.computed(()=>o.unref(f).records),getSearchFormValues:J,setSearchFormValues:Q,submit:A,submitWith:$,reset:N,refresh:j,getSearchFormSorterItems:X,setSearchFormSorterItems:Y,resetSearchFormSorterItems:Z,getLastParams:Me});const je=o.computed(()=>(c.isUndefined(n.loading)?f.loading:n.loading)||K.value.length===0),Je=o.computed(()=>[d(),n.card?null:d("wrapper"),d("adaptive"),d(`size-${y.value}`),n.autoHeight&&f.records.length?d("auto-height"):null,ie.value].filter(Boolean)),Qe=o.computed(()=>({height:"100%",...n.tableStyle||{}})),Xe=(e,t)=>{U({current:e,pageSize:t})};function Ye(e){const t=e.data;return _(t)}function Ze(e,t){(c.isFunction(e)?u.value?.ensureNodeVisible:u.value?.ensureIndexVisible)?.(e,t)}function eo(e,t){u.value?.ensureColumnVisible(e,t)}function oo(e){n.onRowClicked?.(e.data,e.event)}function to(e){n.onScrollEnd?.(e.direction)}function no(e){return u.value?.refreshCells(e)}function ro(e){return u.value?.redrawRows(e)}function lo({finished:e,column:t}){!e||!t||(b.runEffectHooks(n.plugins,r=>r.onColumnResized?.bind(r),t.getColId(),t.getActualWidth()),n.onColumnResized?.(t.getColId(),t.getActualWidth()))}const ao=e=>{const t=[D.value.getRowClass?.(e)];if(!e.node.rowPinned){const r=c.isFunction(n.rowClassName)?n.rowClassName(e.data,e.rowIndex):n.rowClassName;t.push(r)}return t.flat().filter(Boolean)},so=({api:e})=>{u.value=e,b.runEffectHooks(n.plugins,t=>t.init?.bind(t),e)},uo=(e,t,r)=>{b.runEffectHooks(n.plugins,a=>a.searchParamsChange?.bind(this),t),n.searchForm&&n.searchForm.onValuesChange?.(e,t,r)};return o.watch(()=>n.dataSource,e=>{o.nextTick(()=>{qe(e,!0)})},{immediate:!0,deep:!0}),o.watch(()=>n.size,e=>{y.value=e}),o.watch(()=>o.unref(f).loading,e=>{n.onLoadingChange?.(e)}),ae({submit:A,reset:N,refresh:j,submitWith:$,setSearchFormValues:Q,getSearchFormValues:J,getShowColumns:()=>o.unref(w),rowSelection:{selectedRows:o.computed(()=>z.value),setSelectedRowKeys:Le,setSelectedRows:We,clearAll:P,unSelectRows:Ue},scrollToRow:Ze,scrollToColumn:eo,getDataSource:()=>o.unref(f.records),getPaging:Be,setPaging:Fe,getSearchFormSorterItems:X,setSearchFormSorterItems:Y,resetSearchFormSorterItems:Z,refreshCells:no,redrawRows:ro,_internalGridApi:o.computed(()=>u.value)}),(e,t)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(Je.value),style:o.normalizeStyle(e.wrapperStyle)},[o.unref(c.isUndefined)(e.dataSource)&&e.searchForm!==!1&&o.unref(O).length>0?(o.openBlock(),o.createElementBlock("div",{key:0,class:o.normalizeClass(e.card?o.unref(M)("search-wrapper"):null),style:o.normalizeStyle(e.searchFormWrapperStyle)},[o.createVNode(o.unref(ho.ApForm).SearchForm,o.mergeProps(o.unref(c.omit)(e.searchForm||{},["onValuesChange"]),{ref_key:"formRef",ref:C,"custom-reset":"","submit-loading":o.unref(W).loading,onSubmit:o.unref(A),onReset:o.unref(N),onValuesChange:uo}),o.createSlots({default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(O),r=>(o.openBlock(),o.createBlock(o.resolveDynamicComponent(r.renderNode),{key:r.dataIndex}))),128))]),_:2},[q.searchFormExtra?{name:"extra",fn:o.withCtx(()=>[o.renderSlot(e.$slots,"searchFormExtra")]),key:"0"}:void 0]),1040,["submit-loading","onSubmit","onReset"])],6)):o.createCommentVNode("",!0),o.createElementVNode("div",{class:o.normalizeClass([o.unref(M)("table-wrapper"),e.card?o.unref(M)("table-wrapper-card"):null]),style:o.normalizeStyle(e.tableWrapperStyle)},[o.createElementVNode("div",{class:o.normalizeClass(o.unref(d)("header-wrapper"))},[o.renderSlot(e.$slots,"title",{selectedRows:o.unref(z),selectedRowKeys:o.unref(Ne),shownColumns:o.unref(w),clearAll:P})],2),o.createElementVNode("div",{ref_key:"gridWrapperRef",ref:Ce,class:o.normalizeClass(o.unref(d)("grid-wrapper"))},[(o.openBlock(),o.createBlock(o.unref(fo.AgGridVue),o.mergeProps(o.unref(b.mergeProps)(o.unref(de),o.unref(D),He.value),{key:o.unref(V),"animate-rows":e.animateRows,"get-row-class":ao,style:Qe.value,"row-data":o.unref(f).records,"column-defs":o.unref(K),"default-col-def":o.unref(we),"suppress-loading-overlay":"","row-selection":Oe.value,"selection-column-def":o.unref(Ie),"get-row-id":Ye,"get-row-height":n.getRowHeight,theme:o.unref(ce),"tooltip-show-delay":500,"enable-browser-tooltips":e.browserTooltips,"tooltip-interaction":"","row-class-rules":e.rowClassRules,"no-rows-overlay-component":zo.default,"no-rows-overlay-component-params":{emptyComponent:e.emptyComponent,emptyText:e.emptyText},"loading-overlay-component":No.default,loading:je.value,"suppress-cell-focus":"","tab-to-next-cell":()=>!1,"enable-cell-span":"","dom-layout":e.autoHeight?"autoHeight":"normal","locale-text":se[o.unref(V)],onSortChanged:Re,onGridReady:so,onRowDataUpdated:B,onRowSelected:Ge,onFirstDataRendered:Ke,onRowClicked:oo,onBodyScrollEnd:to,onColumnResized:lo,onColumnGroupOpened:ke}),null,16,["animate-rows","style","row-data","column-defs","default-col-def","row-selection","selection-column-def","get-row-height","theme","enable-browser-tooltips","row-class-rules","no-rows-overlay-component-params","loading","dom-layout","locale-text"]))],2),o.createElementVNode("div",{class:o.normalizeClass(o.unref(d)("pagination-wrapper"))},[e.pagination!==!1?(o.openBlock(),o.createBlock(o.unref(co.Pagination),o.mergeProps({key:0,class:o.unref(d)("pagination")},o.unref(W).pagination,{onChange:Xe}),null,16,["class"])):o.createCommentVNode("",!0)],2)],6)],6))}});exports.default=_o;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),ne=require("@ag-grid-community/locale"),co=require("@aplus-frontend/antdv"),po=require("@aplus-frontend/antdv/es/theme/internal"),a=require("ag-grid-community"),fo=require("ag-grid-vue3"),d=require("lodash-unified"),F=require("../ap-grid/constants.js"),mo=require("../ap-table/context.js"),go=require("../ap-table/hooks/use-table-paging-ng.js"),wo=require("../ap-table/utils.js");require("../config-provider/index.js");require("../utils/index.js");const So=require("../utils/retry.js"),Co=require("../utils/slot.js"),ho=require("../ap-form/index.js");require("./components/empty/index.vue.js");require("./components/loading/index.vue.js");require("./components/row/index.vue.js");const re=require("./context.js"),yo=require("./hooks/use-columns.js"),vo=require("./hooks/use-columns-def.js"),Ro=require("./hooks/use-pinned-row.js"),bo=require("./hooks/use-row-selection.js"),ko=require("./hooks/use-search-form.js"),xo=require("./hooks/use-selection-col-def.js"),Bo=require("./hooks/use-virtual-config.js"),Fo=require("./style/index.js"),qo=require("./theme.js"),b=require("./utils.js"),Mo=require("../config-provider/hooks/use-namespace.js"),Eo=require("../config-provider/hooks/use-locale.js"),Io=require("../config-provider/hooks/use-global-config.js"),To=require("../utils/is.js"),Ao=require("./components/row/index.vue2.js"),No=require("./components/loading/index.vue2.js"),zo=require("./components/empty/index.vue2.js"),_o=o.defineComponent({name:"AgGrid",__name:"index",props:{dropdownPrefixCls:{},bordered:{type:Boolean},locale:{},onChange:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{},showSorterTooltip:{type:[Boolean,Object]},prefixCls:{},rowKey:{type:[String,Function],default:"key"},tableLayout:{},title:{},id:{},showHeader:{type:Boolean},components:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean]},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean},indentSize:{},expandIconColumnIndex:{},showExpandColumn:{type:Boolean},expandedRowClassName:{},childrenColumnName:{},rowExpandable:{},transformCellText:{},rowHoverable:{type:Boolean},columns:{},rowSelection:{type:[Boolean,Object]},card:{type:Boolean},params:{},request:{},defaultData:{},dataSource:{},onLoadingChange:{},onShownColumnsChange:{},searchForm:{type:[Boolean,Object],default:void 0},beforeSearchSubmit:{},pagination:{type:[Boolean,Object],default:void 0},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},tableStyle:{},manual:{type:Boolean,default:void 0},size:{default:"mini"},adaptive:{type:Boolean},columnResizable:{type:Boolean,default:!1},loading:{type:Boolean,default:void 0},summary:{},rowHeight:{},getRowHeight:{},advanceRenderer:{type:Boolean},browserTooltips:{type:Boolean},virtual:{type:[Boolean,Object],default:void 0},onRowClicked:{},onScrollEnd:{},rowClassName:{},rowClassRules:{},autoHeight:{type:Boolean},onUpdate:{},customRow:{},theme:{},emptyComponent:{},emptyText:{},onColumnResized:{},animateRows:{type:Boolean,default:!0},plugins:{default:()=>[]}},setup(le,{expose:ae}){const se={"zh-cn":ne.AG_GRID_LOCALE_CN,en:ne.AG_GRID_LOCALE_EN};a.ModuleRegistry.registerModules([a.ValidationModule,a.ColumnAutoSizeModule,a.PinnedRowModule,a.RowAutoHeightModule,a.RowStyleModule,a.CellSpanModule,a.CellStyleModule,a.TooltipModule,a.RowSelectionModule,a.LocaleModule,a.ValueCacheModule,a.GridStateModule,a.ColumnApiModule,a.RowApiModule,a.CellApiModule,a.RenderApiModule,a.EventApiModule,a.ScrollApiModule,a.ClientSideRowModelApiModule,a.ClientSideRowModelModule]);const t=le,q=o.useSlots(),{e:M,b:p,be:ue}=Mo.useNamespace("ag-grid"),{lang:V}=Eo.useLocale(),ie=Fo.default("ag-grid"),y=o.ref(t.size),ce=qo.useTheme(y,o.toRef(t,"rowHeight"),o.toRef(t,"theme")),de=Bo.default(o.toRef(t,"virtual")),{rowPinnedGridConfig:D,getRowPinnedCellClass:pe}=Ro.usePinnedRow(o.toRef(t,"summary")),fe=Io.useGlobalConfig("apGrid"),u=o.ref(),[,me]=po.useToken();let v=!!t.dataSource;async function E(e,n={}){const r=await b.runPipelineHooks(t.plugins,e,l=>l.beforeApplyColumnState?.bind(l));u.value.applyColumnState({state:r,...n})}const O=ko.useSearchForm(t),{shownColumns:S,columns:G,columnKeys:ge,getTargetColumnByKey:we,defaultSortOrder:k}=yo.useColumns(t),{defaultColDef:Se,columnDefs:K,gridWrapperRef:Ce}=vo.useColumnsDef(G,t,pe,q.headerCell),he={asc:"ascend",desc:"descend"},L={ascend:"asc",descend:"desc"};function ye(){const e=k.value;return e?{[e.colKey]:L[e.order]}:{}}function ve(){const e=H.value,n=k.value;if(n&&e.includes(n.field))return n}const x=o.ref(ye());re.useProvideSorter({sorter:x,setSorter(e){x.value=e}});function Re(){const e=u.value.getColumns()?.filter(f=>f.getSort()!=null),n=o.unref(x)||{};let r=e?.[0];const l=Object.keys(n);if(l.length&&l.every(f=>n[f]===null)){const f=Object.keys(n)[0];f&&(r=u.value?.getColumn(f))}if(!r)return;const i=r.getColDef(),g=r.getSort(),w=we(i.colId);U(void 0,void 0,{column:i,field:w?.field??i.field??i.colId,order:g?he[g]:null})}const H=o.computed(()=>wo.recursionApColumns(o.unref(S),e=>{if(e.sorter===!0)return e.field??e.dataIndex??e.key}).filter(Boolean)),be=()=>{x.value={};const e=u.value;if(!e)return;const n=e.getColumnState()?.map(r=>({...r,sort:null}));E(n)},I=o.ref({});re.useProvideExpandable({expandable:I});function ke(e){const n=e.columnGroup;n&&(I.value={...I.value,[n.getGroupId()]:n.isExpanded()})}const T=o.ref(!0),xe=o.computed(()=>To.isDef(t.manual)?t.manual:Co.getValidVNodeList(q.searchFormExtra?.()||[]).some(n=>n.type?.name==="ApView")),{formRef:C,submit:A,reset:N,data:m,tableProps:W,handleTableChangeOptional:U,submitWith:$,refresh:j,getPaging:Be,setPaging:Fe,setDataSource:qe,getLastParams:Me}=go.useTablePaging({async request(e){if(v=!1,h.value&&!h.value.preserveSelectedRowKeys&&d.isUndefined(t.dataSource)&&!T.value&&P(),T.value&&(T.value=!1),!d.isUndefined(t.dataSource)){const r=e.pageSize*(e.current-1);return{data:(t.pagination===!1?t.dataSource:t.dataSource.slice(r,r+e.pageSize))||[],total:t.dataSource.length||0}}const n=await t.request?.(e);return{data:n?.data||[],total:n?.total||0}},namespace:"ap-grid",filterFields:o.ref([]),params:o.toRef(t,"params"),defaultData:t.defaultData,manual:o.unref(xe),formatParams:t.beforeSearchSubmit,pagination:t.pagination,sortFields:H,onClickReset:be,defaultSortOrder:ve()}),h=o.computed(()=>{const e=t.rowSelection||fe.value?.rowSelection;if(e)return e===!0?F.DEFAULT_ROW_SELECTION_CONFIG:{...F.DEFAULT_ROW_SELECTION_CONFIG,...e}}),Ee=xo.default(t,S),Ie=o.computed(()=>d.isUndefined(t.dataSource)?m.records:t.dataSource),{select:Te,unSelect:Ae,selectedRows:z,selectedRowKeys:Ne,clearAll:ze,selectMultiByKeys:_e,selectMulti:Pe,unSelectMulti:Ve}=bo.default({...h.value,dataSource:Ie,rowKey:t.rowKey}),De={checkbox:"multiRow",radio:"singleRow"},Oe=o.computed(()=>{const e=h.value;if(!e)return;const{type:n="checkbox",disabled:r}=e;return{mode:De[n],isRowSelectable:l=>r?!r(l.data):!0,hideDisabledCheckboxes:e.hideDisabled??!1}});function _(e){return d.isFunction(t.rowKey)?t.rowKey(e):e[t.rowKey]}const B=({api:e=u.value})=>{if(t.onUpdate?.(),!h.value)return;const n=z.value||[];v=!1;const r=[];e.forEachNode(l=>{const c=l.data,i=_(c),g=l.isSelected();n.find(w=>_(w)===i)?!g&&r.push(l):g&&l.setSelected(!1)}),e.setNodesSelected({nodes:r,newValue:!0}),setTimeout(()=>{v=!0},0)},Ge=e=>{v&&(e.node.isSelected()?Te(e.data):Ae(e.data),d.isFunction(h.value?.tooltip)&&e.api.refreshCells({rowNodes:[e.node],columns:["ag-Grid-SelectionColumn"],force:!0}))},Ke=()=>{v=!0;const e=u.value;if(!e||!k.value)return;const n=e.getColumnState(),{colKey:r,order:l}=k.value,c=n.map(i=>({...i,sort:i.colId===r?L[l]:null}));E(c)},P=()=>{ze(),u.value?.deselectAll()};function Le(e){_e(e),o.nextTick(()=>{B({})})}const He=o.computed(()=>{const e=t.customRow;return e?{isFullWidthRow:e.isCustomRow,fullWidthCellRenderer:Ao.default,fullWidthCellRendererParams:{render:e.render}}:{}});function We(e){Pe(e),o.nextTick(()=>{B({})})}function Ue(e){Ve(e),o.nextTick(()=>{B({})})}function J(e=!1){const n=e?"getFieldsValueTransformed":"getFieldsValue";return C.value?.apForm?.[n]?.(!0)}function Q(e){C.value?.apForm?.setFieldsValue?.(e)}function X(){return C.value?.getSorterItems()||[]}function Y(e){C.value?.setSorterItems(e)}function Z(){C.value?.resetSorterItems()}function ee(e){return e&&String(e)}function $e(e){const n=u.value;if(!n)return;const r=n.getColumnState()||[],l=e.map(s=>s.key?String(s.key):s.key).filter(Boolean),c=r.map(s=>{if(!ge.value.includes(s.colId))return s;const R=!l.includes(s.colId),oe={...s,hide:R},te=e.find(io=>ee(io.key)===s.colId);return te&&(oe.pinned=te.fixed||null),oe}),i=new Map(e.map((s,R)=>[ee(s.key),R])),g=c.filter(s=>i.has(s.colId)).sort((s,R)=>i.get(s.colId)-i.get(R.colId)),w=[];let f=0;for(const s of c)i.has(s.colId)?w.push(g[f++]):w.push(s);E(w,{applyOrder:!0})}mo.useProvideApTable({columns:o.computed(()=>S.value),columnsBackup:o.computed(()=>G.value),size:o.computed(()=>F.sizeMap[y.value]),updateColumns(e){S.value=e,t.onShownColumnsChange?.(e),So.retryUntil(()=>u.value?.getColumnState(),()=>{$e(e)},{interval:17,check:n=>!!(n&&n.length>0)})},updateSize(e){y.value=F.sizeReverseMap[e]},renderConfig:o.computed(()=>({className:ue("table-header","title"),color:me.value.colorTextTertiary})),dataSource:o.computed(()=>o.unref(m).records),getSearchFormValues:J,setSearchFormValues:Q,submit:A,submitWith:$,reset:N,refresh:j,getSearchFormSorterItems:X,setSearchFormSorterItems:Y,resetSearchFormSorterItems:Z,getLastParams:Me});const je=o.computed(()=>(d.isUndefined(t.loading)?m.loading:t.loading)||K.value.length===0),Je=o.computed(()=>[p(),t.card?null:p("wrapper"),p("adaptive"),p(`size-${y.value}`),t.autoHeight&&m.records.length?p("auto-height"):null,ie.value].filter(Boolean)),Qe=o.computed(()=>({height:"100%",...t.tableStyle||{}})),Xe=(e,n)=>{U({current:e,pageSize:n})};function Ye(e){const n=e.data;return _(n)}function Ze(e,n){(d.isFunction(e)?u.value?.ensureNodeVisible:u.value?.ensureIndexVisible)?.(e,n)}function eo(e,n){u.value?.ensureColumnVisible(e,n)}function oo(e){t.onRowClicked?.(e.data,e.event)}function to(e){t.onScrollEnd?.(e.direction)}function no(e){return u.value?.refreshCells(e)}function ro(e){return u.value?.redrawRows(e)}function lo({finished:e,columns:n,source:r}){if(!e||r!=="uiColumnResized")return;const l=(n||[]).map(c=>({key:c.getColId(),width:c.getActualWidth()}));b.runEffectHooks(t.plugins,c=>c.onColumnResized?.bind(c),l),t.onColumnResized?.(l)}const ao=e=>{const n=[D.value.getRowClass?.(e)];if(!e.node.rowPinned){const r=d.isFunction(t.rowClassName)?t.rowClassName(e.data,e.rowIndex):t.rowClassName;n.push(r)}return n.flat().filter(Boolean)},so=({api:e})=>{u.value=e,b.runEffectHooks(t.plugins,n=>n.init?.bind(n),e)},uo=(e,n,r)=>{b.runEffectHooks(t.plugins,l=>l.searchParamsChange?.bind(this),n),t.searchForm&&t.searchForm.onValuesChange?.(e,n,r)};return o.watch(()=>t.dataSource,e=>{o.nextTick(()=>{qe(e,!0)})},{immediate:!0,deep:!0}),o.watch(()=>t.size,e=>{y.value=e}),o.watch(()=>o.unref(m).loading,e=>{t.onLoadingChange?.(e)}),ae({submit:A,reset:N,refresh:j,submitWith:$,setSearchFormValues:Q,getSearchFormValues:J,getShowColumns:()=>o.unref(S),rowSelection:{selectedRows:o.computed(()=>z.value),setSelectedRowKeys:Le,setSelectedRows:We,clearAll:P,unSelectRows:Ue},scrollToRow:Ze,scrollToColumn:eo,getDataSource:()=>o.unref(m.records),getPaging:Be,setPaging:Fe,getSearchFormSorterItems:X,setSearchFormSorterItems:Y,resetSearchFormSorterItems:Z,refreshCells:no,redrawRows:ro,_internalGridApi:o.computed(()=>u.value)}),(e,n)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(Je.value),style:o.normalizeStyle(e.wrapperStyle)},[o.unref(d.isUndefined)(e.dataSource)&&e.searchForm!==!1&&o.unref(O).length>0?(o.openBlock(),o.createElementBlock("div",{key:0,class:o.normalizeClass(e.card?o.unref(M)("search-wrapper"):null),style:o.normalizeStyle(e.searchFormWrapperStyle)},[o.createVNode(o.unref(ho.ApForm).SearchForm,o.mergeProps(o.unref(d.omit)(e.searchForm||{},["onValuesChange"]),{ref_key:"formRef",ref:C,"custom-reset":"","submit-loading":o.unref(W).loading,onSubmit:o.unref(A),onReset:o.unref(N),onValuesChange:uo}),o.createSlots({default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(O),r=>(o.openBlock(),o.createBlock(o.resolveDynamicComponent(r.renderNode),{key:r.dataIndex}))),128))]),_:2},[q.searchFormExtra?{name:"extra",fn:o.withCtx(()=>[o.renderSlot(e.$slots,"searchFormExtra")]),key:"0"}:void 0]),1040,["submit-loading","onSubmit","onReset"])],6)):o.createCommentVNode("",!0),o.createElementVNode("div",{class:o.normalizeClass([o.unref(M)("table-wrapper"),e.card?o.unref(M)("table-wrapper-card"):null]),style:o.normalizeStyle(e.tableWrapperStyle)},[o.createElementVNode("div",{class:o.normalizeClass(o.unref(p)("header-wrapper"))},[o.renderSlot(e.$slots,"title",{selectedRows:o.unref(z),selectedRowKeys:o.unref(Ne),shownColumns:o.unref(S),clearAll:P})],2),o.createElementVNode("div",{ref_key:"gridWrapperRef",ref:Ce,class:o.normalizeClass(o.unref(p)("grid-wrapper"))},[(o.openBlock(),o.createBlock(o.unref(fo.AgGridVue),o.mergeProps(o.unref(b.mergeProps)(o.unref(de),o.unref(D),He.value),{key:o.unref(V),"animate-rows":e.animateRows,"get-row-class":ao,style:Qe.value,"row-data":o.unref(m).records,"column-defs":o.unref(K),"default-col-def":o.unref(Se),"suppress-loading-overlay":"","row-selection":Oe.value,"selection-column-def":o.unref(Ee),"get-row-id":Ye,"get-row-height":t.getRowHeight,theme:o.unref(ce),"tooltip-show-delay":500,"enable-browser-tooltips":e.browserTooltips,"tooltip-interaction":"","row-class-rules":e.rowClassRules,"no-rows-overlay-component":zo.default,"no-rows-overlay-component-params":{emptyComponent:e.emptyComponent,emptyText:e.emptyText},"loading-overlay-component":No.default,loading:je.value,"suppress-cell-focus":"","tab-to-next-cell":()=>!1,"enable-cell-span":"","dom-layout":e.autoHeight?"autoHeight":"normal","locale-text":se[o.unref(V)],onSortChanged:Re,onGridReady:so,onRowDataUpdated:B,onRowSelected:Ge,onFirstDataRendered:Ke,onRowClicked:oo,onBodyScrollEnd:to,onColumnResized:lo,onColumnGroupOpened:ke}),null,16,["animate-rows","style","row-data","column-defs","default-col-def","row-selection","selection-column-def","get-row-height","theme","enable-browser-tooltips","row-class-rules","no-rows-overlay-component-params","loading","dom-layout","locale-text"]))],2),o.createElementVNode("div",{class:o.normalizeClass(o.unref(p)("pagination-wrapper"))},[e.pagination!==!1?(o.openBlock(),o.createBlock(o.unref(co.Pagination),o.mergeProps({key:0,class:o.unref(p)("pagination")},o.unref(W).pagination,{onChange:Xe}),null,16,["class"])):o.createCommentVNode("",!0)],2)],6)],6))}});exports.default=_o;
@@ -364,7 +364,7 @@ export type AgGridProps<RecordType = any, ParamsType = any> = Omit<TableProps<Re
364
364
  * @param width
365
365
  * @returns
366
366
  */
367
- onColumnResized?: (key: string, width: number) => void;
367
+ onColumnResized?: (changes: AgGridColumnResizedOption[]) => void;
368
368
  /**
369
369
  * 是否允许行动画(默认为true)
370
370
  * @description 详见https://www.ag-grid.com/vue-data-grid/row-animation/
@@ -525,6 +525,10 @@ export type AgGridSlots<RecordType> = {
525
525
  column: Omit<AgColumn, keyof AgGridColumnType> & AgGridColumnType;
526
526
  }) => void;
527
527
  };
528
+ export type AgGridColumnResizedOption = {
529
+ key: string;
530
+ width: number;
531
+ };
528
532
  export interface AgGridPluginType {
529
533
  /**
530
534
  * AgGrid 初始化完成
@@ -553,9 +557,8 @@ export interface AgGridPluginType {
553
557
  searchParamsChange?: (params: Recordable) => void;
554
558
  /**
555
559
  * 列宽拖动变化后
556
- * @param key 列唯一标识
557
- * @param width 当前列宽
560
+ * @param changes 变更,可能是批量的
558
561
  * @returns
559
562
  */
560
- onColumnResized?: (key: string, width: number) => void;
563
+ onColumnResized?: (changes: AgGridColumnResizedOption[]) => void;
561
564
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),q=require("@ant-design/icons-vue"),N=require("@aplus-frontend/antdv"),b=require("lodash-unified");require("../../config-provider/index.js");const B=require("../../config-provider/hooks/use-token.js");require("../../hooks/index.js");const T=require("../../utils/warning.js");require("./ap-tag.vue2.js");const W=require("./style/group.js"),g=require("./utils.js"),z=require("../../config-provider/hooks/use-locale.js"),S=require("../../config-provider/hooks/use-namespace.js"),P=require("../../hooks/useResize.js"),D=require("./ap-tag.vue.js"),R=e.defineComponent({__name:"ap-tag-group",props:{list:{default:()=>[]},space:{default:4},ellipsisColor:{},ellipsis:{default:()=>({})}},setup(f){const{t:v}=z.useLocale(),o=f,{token:h}=B.useToken(),y=T.useDevWarning("ApTagGroup"),{b:p}=S.useNamespace("tag-group"),x=W.default("tag-group"),n=e.ref(),{observe:k,unobserve:w}=P.useResize(),r=e.computed(()=>({...{iconColor:h.value?.textColor1,symbol:"icon",text:v("ap.common.more")},...o.ellipsis})),C=e.computed(()=>r.value.tooltip&&typeof r.value.tooltip=="object"?b.omit(r.value.tooltip,["trigger","title"]):{}),a=e.computed(()=>e.unref(u)<o.list.length),u=e.ref(0),_=e.computed(()=>o.list.map(t=>t.text).join("、")),E=e.computed(()=>[p(),x.value].filter(Boolean)),d=()=>{let t=0,l=0;if(!n.value)return;const i=n.value.offsetWidth;for(let s of o.list){const c=s.size==="small"?8:12,m=g.getTextWidth(s.size==="large"?14:12,s.text)+c+o.space;if(t+=m,t>i){t-=m;break}l++}if(l<o.list.length){const c=g.getTextWidth(12,r.value.text);o.ellipsis.symbol==="icon"?t+=16:t+=c,t>i&&l--}u.value=l};e.watch(()=>o.list,(t,l)=>{t!==l&&e.nextTick(()=>{d()})},{immediate:!0});const V=()=>{d()};return e.onMounted(()=>{[["ellipsisColor","ellipse.color"]].forEach(([t,l])=>{y.deprecated(!o[t],t,l)}),n.value&&k(n.value,V)}),e.onUnmounted(()=>{n.value&&w(n.value)}),(t,l)=>(e.openBlock(),e.createBlock(e.unref(N.Tooltip),e.mergeProps({trigger:"hover"},C.value),{title:e.withCtx(()=>[e.renderSlot(t.$slots,"tooltip",{tags:t.list},()=>[e.createTextVNode(e.toDisplayString(_.value),1)])]),default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:n,class:e.normalizeClass(E.value),style:e.normalizeStyle({pointerEvents:a.value?"auto":"none"})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.list,(i,s)=>(e.openBlock(),e.createBlock(D.default,e.mergeProps({ref_for:!0},i,{key:s,style:{display:s>=u.value?"none":"inline-flex",marginRight:`${t.space}px`}}),null,16,["style"]))),128)),a.value&&r.value.symbol==="icon"?(e.openBlock(),e.createBlock(e.unref(q),{key:0,style:e.normalizeStyle({color:t.ellipsisColor||r.value.iconColor,cursor:"pointer"})},{component:e.withCtx(()=>[...l[0]||(l[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"16",height:"16",viewBox:"0 0 16 16"},[e.createElementVNode("defs",null,[e.createElementVNode("clipPath",{id:"master_svg0_1133_24991"},[e.createElementVNode("rect",{x:"0",y:"0",width:"16",height:"16",rx:"0"})])]),e.createElementVNode("g",{"clip-path":"url(#master_svg0_1133_24991)"},[e.createElementVNode("g",null,[e.createElementVNode("ellipse",{cx:"8",cy:"8",rx:"1",ry:"1",fill:"currentColor","fill-opacity":"1"})]),e.createElementVNode("g",null,[e.createElementVNode("ellipse",{cx:"3.25",cy:"8",rx:"1",ry:"1",fill:"currentColor","fill-opacity":"1"})]),e.createElementVNode("g",null,[e.createElementVNode("ellipse",{cx:"12.75",cy:"8",rx:"1",ry:"1",fill:"currentColor","fill-opacity":"1"})])])],-1)])]),_:1},8,["style"])):a.value&&r.value.symbol==="text"?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(p)("ellipsis-text")),style:{cursor:"pointer"}},e.toDisplayString(r.value.text),3)):e.createCommentVNode("",!0)],6)]),_:3},16))}});exports.default=R;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),q=require("@ant-design/icons-vue"),v=require("@aplus-frontend/antdv"),_=require("lodash-unified");require("../../config-provider/index.js");const T=require("../../config-provider/hooks/use-token.js");require("../../hooks/index.js");const W=require("../../utils/warning.js");require("./ap-tag.vue2.js");const b=require("./style/group.js"),y=require("./utils.js"),S=require("../../config-provider/hooks/use-locale.js"),z=require("../../config-provider/hooks/use-namespace.js"),D=require("../../hooks/useResize.js"),P=require("./ap-tag.vue.js"),G=e.defineComponent({__name:"ap-tag-group",props:{list:{default:()=>[]},space:{default:4},ellipsisColor:{},ellipsis:{default:()=>({isWrapGroup:!0})}},setup(h){const{t:k}=S.useLocale(),o=h,{token:x}=T.useToken(),C=W.useDevWarning("ApTagGroup"),{b:a}=z.useNamespace("tag-group"),w=b.default("tag-group"),s=e.ref(),{observe:E,unobserve:V}=D.useResize(),r=e.computed(()=>({...{iconColor:x.value?.textColor1,symbol:"icon",text:k("ap.common.more")},...o.ellipsis})),d=e.computed(()=>r.value.tooltip&&typeof r.value.tooltip=="object"?_.omit(r.value.tooltip,["trigger","title"]):{}),u=e.computed(()=>e.unref(c)<o.list.length),c=e.ref(0),m=e.computed(()=>o.list.map(t=>t.text).join("、")),N=e.computed(()=>[a(),w.value].filter(Boolean)),g=()=>{let t=0,l=0;if(!s.value)return;const i=s.value.offsetWidth;for(let n of o.list){const p=n.size==="small"?8:12,f=y.getTextWidth(n.size==="large"?14:12,n.text)+p+o.space;if(t+=f,t>i){t-=f;break}l++}if(l<o.list.length){const p=y.getTextWidth(12,r.value.text);o.ellipsis.symbol==="icon"?t+=16:t+=p,t>i&&l--}c.value=l};e.watch(()=>o.list,(t,l)=>{t!==l&&e.nextTick(()=>{g()})},{immediate:!0});const B=()=>{g()};return e.onMounted(()=>{[["ellipsisColor","ellipse.color"]].forEach(([t,l])=>{C.deprecated(!o[t],t,l)}),s.value&&E(s.value,B)}),e.onUnmounted(()=>{s.value&&V(s.value)}),(t,l)=>(e.openBlock(),e.createBlock(e.unref(v.Tooltip),e.mergeProps({trigger:"hover"},d.value),e.createSlots({default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:s,class:e.normalizeClass(N.value),style:e.normalizeStyle({pointerEvents:u.value?"auto":"none"})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.list,(i,n)=>(e.openBlock(),e.createBlock(P.default,e.mergeProps({ref_for:!0},i,{key:n,style:{display:n>=c.value?"none":"inline-flex",marginRight:`${t.space}px`}}),null,16,["style"]))),128)),u.value&&r.value.symbol==="icon"?(e.openBlock(),e.createBlock(e.unref(q),{key:0,style:e.normalizeStyle({color:t.ellipsisColor||r.value.iconColor,cursor:"pointer"})},{component:e.withCtx(()=>[...l[0]||(l[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"16",height:"16",viewBox:"0 0 16 16"},[e.createElementVNode("defs",null,[e.createElementVNode("clipPath",{id:"master_svg0_1133_24991"},[e.createElementVNode("rect",{x:"0",y:"0",width:"16",height:"16",rx:"0"})])]),e.createElementVNode("g",{"clip-path":"url(#master_svg0_1133_24991)"},[e.createElementVNode("g",null,[e.createElementVNode("ellipse",{cx:"8",cy:"8",rx:"1",ry:"1",fill:"currentColor","fill-opacity":"1"})]),e.createElementVNode("g",null,[e.createElementVNode("ellipse",{cx:"3.25",cy:"8",rx:"1",ry:"1",fill:"currentColor","fill-opacity":"1"})]),e.createElementVNode("g",null,[e.createElementVNode("ellipse",{cx:"12.75",cy:"8",rx:"1",ry:"1",fill:"currentColor","fill-opacity":"1"})])])],-1)])]),_:1},8,["style"])):u.value&&r.value.symbol==="text"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[t.ellipsis.isWrapGroup?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(a)("ellipsis-text")),style:{cursor:"pointer"}},e.toDisplayString(r.value.text),3)):(e.openBlock(),e.createBlock(e.unref(v.Tooltip),e.mergeProps({key:1,trigger:"hover"},d.value),{title:e.withCtx(()=>[e.renderSlot(t.$slots,"tooltip",{tags:t.list},()=>[e.createTextVNode(e.toDisplayString(m.value),1)])]),default:e.withCtx(()=>[e.createElementVNode("span",{class:e.normalizeClass(e.unref(a)("ellipsis-text")),style:{cursor:"pointer"}},e.toDisplayString(r.value.text),3)]),_:3},16))],64)):e.createCommentVNode("",!0)],6)]),_:2},[t.ellipsis.isWrapGroup?{name:"title",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"tooltip",{tags:t.list},()=>[e.createTextVNode(e.toDisplayString(m.value),1)])]),key:"0"}:void 0]),1040))}});exports.default=G;
@@ -48,6 +48,10 @@ export type EllipsisProps = {
48
48
  * 省略号气泡内容
49
49
  */
50
50
  tooltip?: Omit<TooltipProps, 'trigger' | 'title'>;
51
+ /**
52
+ * tooltip是否包围整个group
53
+ */
54
+ isWrapGroup?: boolean;
51
55
  };
52
56
  export interface ApTagGroupProps {
53
57
  /**
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),A=require("@aplus-frontend/utils"),G=require("../../ap-form/context.js"),$=require("../../ap-table/context.js");require("../../config-provider/index.js");const z=require("../ap-batch-action-group/index.js");require("./components/main-button-content.vue.js");require("./components/menu-list-content.vue.js");const R=require("./hooks/use-send-to-url.js"),H=require("./hooks/use-view-provide.js"),J=require("./icons/line-down.vue.js"),Q=require("./style/index.js"),v=require("./utils/enum.js"),X=require("../../config-provider/hooks/use-global-config.js"),Z=require("../../config-provider/hooks/use-namespace.js"),ee=require("../../config-provider/hooks/use-locale.js"),te=require("./components/main-button-content.vue2.js"),ae=require("./components/menu-list-content.vue2.js"),se=e.defineComponent({name:"ApView",__name:"ap-view",props:{tableKey:{},saveDataSource:{},viewCacheOption:{},maxViewNum:{default:20},isDefaultSystemView:{type:Boolean,default:!1},isFirstDefaultSystemView:{type:Boolean,default:!1},manual:{type:Boolean,default:!1},emptyData:{},extraParams:{},sendToUrl:{type:Boolean,default:!0},initToUrl:{type:Boolean,default:!0},extraUrlParams:{}},setup(F,{expose:C}){const s=F,E=X.useGlobalConfig("viewCacheOption"),{b:p}=Z.useNamespace("ap-view"),{t:q}=ee.useLocale(),K=Q.default("ap-view"),y=e.computed(()=>({viewKey:v.SYSTEM_VIEW_KEY,viewName:q("ap.apView.systemView")})),{getSearchFormValues:I,setSearchFormValues:U,submit:x,reset:N,submitWith:M,getSearchFormSorterItems:Y,setSearchFormSorterItems:P,resetSearchFormSorterItems:O}=$.useInjectApTable(),{model:B}=G.useInjectForm(),L=e.ref(!1),V=e.ref(!1),d=e.ref("");let l=!1,b=!1,S=!0;const W={dropdownType:"dropdown",content:e.createVNode(te.default,{maxViewNum:s.maxViewNum},null)},i=e.ref([y.value]),j=e.computed(()=>i.value.map(a=>({id:a.viewKey,content:e.createVNode(ae.default,{view:a},null)}))),o={getSearchFormValues:I,setSearchFormValues:U,submit:x,reset:N,submitWith:M,getSearchFormSorterItems:Y,setSearchFormSorterItems:P,resetSearchFormSorterItems:O,...s.saveDataSource},w={...E.value,...s.viewCacheOption},{mountedData:_,isValidMountedData:g}=R.useSendToUrl({saveDataSource:o,sendToUrl:e.computed(()=>s.sendToUrl),tableKey:e.computed(()=>s.tableKey),searchFormModel:e.computed(()=>s?.saveDataSource?.searchFormModel||B?.value),extraUrlParams:e.computed(()=>s.extraUrlParams)}),D=()=>s.isDefaultSystemView||(s.isFirstDefaultSystemView||b)&&l?v.SYSTEM_VIEW_KEY:i.value.find(r=>r.isDefault)?.viewKey??v.SYSTEM_VIEW_KEY,c=a=>{d.value=a;const r=i.value.find(t=>t.viewKey===d.value);r&&setTimeout(()=>{r.viewKey===v.SYSTEM_VIEW_KEY?l?s.manual||(s.sendToUrl&&S&&s.initToUrl&&g.value&&o?.setSearchFormValues?.(_.value),o?.submitWith?.()):s.manual||(o?.resetSearchFormSorterItems?.(),o?.reset?.()):(s.sendToUrl&&S&&s.initToUrl&&g.value&&l?o?.setSearchFormValues?.(_.value):o?.setSearchFormValues?.({...Object.fromEntries(Object.keys(o?.getSearchFormValues?.()??{}).map(t=>[t,void 0]))??{},...s?.emptyData??{},...[...o?.getSearchFormSorterItems?.()??[],...s?.extraParams?.map(t=>({name:t}))??[]].reduce((t,n)=>(r.viewConfig?.searchForm?.[n.name]&&(t[n.name]=r.viewConfig?.searchForm?.[n.name]),t),{})??{}}),o?.setSearchFormSorterItems?.(r.viewConfig?.sorterItems??[]),l?s.manual||o?.submitWith?.():o?.submit?.()),l=!1})},T={getViewList:async a=>{try{const{tableKey:r}=a,t=await w?.getViewList?.({tableKey:r});return i.value=[y.value,...t??[]],c(D()),i.value}catch{return i.value=[y.value],c(v.SYSTEM_VIEW_KEY),i.value}},addView:async a=>{const{tableKey:r,viewKey:t,viewName:n,isDefault:u,viewConfig:f}=a;await w?.addView?.({tableKey:r,viewKey:t,viewName:n,isDefault:u,viewConfig:f}),u&&(i.value=i.value.map(m=>({...m,isDefault:!1}))),i.value=[...i.value,{viewKey:t,viewName:n,isDefault:u,viewConfig:f}],c(t)},changeView:async a=>{const{tableKey:r,viewKey:t,viewName:n,isDefault:u,viewConfig:f}=a;await w?.changeView?.({tableKey:r,viewKey:t,viewName:n,isDefault:u,viewConfig:f}),u&&(i.value=i.value.map(h=>({...h,isDefault:!1})));const m=i.value.find(h=>h.viewKey===t);m&&(m.viewName=n,m.isDefault=u,m.viewConfig=f),c(t)},removeView:async a=>{const{tableKey:r,viewKey:t}=a;await w?.removeView?.({tableKey:r,viewKey:t}),i.value=i.value.filter(n=>n.viewKey!==t),t===d.value&&c(D())}},k={tableKey:e.computed(()=>s.tableKey),currentViewKey:d,changeCurrentViewKey:c,popoverOpen:L,menuOpen:V,viewList:i,viewListCRUD:T,saveDataSource:o};return H.useViewProvide(k),e.watch(()=>s.tableKey,a=>{A.isValid(a)&&(l=!0,T?.getViewList?.({tableKey:a}))},{immediate:!0}),C({setFirstDefaultSystemView:a=>{b=a},setInitToUrl:a=>{S=a},getMountedData:()=>_.value}),(a,r)=>(e.openBlock(),e.createBlock(e.unref(z.ApBatchActionGroup),e.mergeProps({...a.$attrs},{open:V.value,"onUpdate:open":r[0]||(r[0]=t=>V.value=t),class:[e.unref(p)(),e.unref(K)],"button-props":W,"menu-list":j.value,"overlay-class-name":[e.unref(p)("overlay"),e.unref(K)],trigger:"click",placement:"bottom"}),{icon:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass([e.unref(p)("icon")])},[e.createVNode(J.default)],2)]),_:1},16,["open","class","menu-list","overlay-class-name"]))}});exports.default=se;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),G=require("@aplus-frontend/utils"),$=require("../../ap-form/context.js"),z=require("../../ap-table/context.js");require("../../config-provider/index.js");const R=require("../ap-batch-action-group/index.js");require("./components/main-button-content.vue.js");require("./components/menu-list-content.vue.js");const H=require("./hooks/use-send-to-url.js"),J=require("./hooks/use-view-provide.js"),Q=require("./icons/line-down.vue.js"),X=require("./style/index.js"),v=require("./utils/enum.js"),Z=require("../../config-provider/hooks/use-global-config.js"),ee=require("../../config-provider/hooks/use-namespace.js"),te=require("../../config-provider/hooks/use-locale.js"),ae=require("./components/main-button-content.vue2.js"),se=require("./components/menu-list-content.vue2.js"),re=e.defineComponent({name:"ApView",__name:"ap-view",props:{tableKey:{},saveDataSource:{},viewCacheOption:{},maxViewNum:{default:20},isDefaultSystemView:{type:Boolean,default:!1},isFirstDefaultSystemView:{type:Boolean,default:!1},manual:{type:Boolean,default:!1},emptyData:{},extraParams:{},sendToUrl:{type:Boolean,default:!0},initToUrl:{type:Boolean,default:!0},extraUrlParams:{}},setup(C,{expose:E}){const s=C,q=Z.useGlobalConfig("viewCacheOption"),{b:y}=ee.useNamespace("ap-view"),{t:U}=te.useLocale(),b=X.default("ap-view"),S=e.computed(()=>({viewKey:v.SYSTEM_VIEW_KEY,viewName:U("ap.apView.systemView")})),{getSearchFormValues:I,setSearchFormValues:x,submit:N,reset:M,submitWith:Y,getSearchFormSorterItems:P,setSearchFormSorterItems:O,resetSearchFormSorterItems:B}=z.useInjectApTable(),{model:L}=$.useInjectForm(),W=e.ref(!1),V=e.ref(!1),d=e.ref("");let l=!1,g=!1,_=!0;const j={dropdownType:"dropdown",content:e.createVNode(ae.default,{maxViewNum:s.maxViewNum},null)},i=e.ref([S.value]),k=e.computed(()=>i.value.map(a=>({id:a.viewKey,content:e.createVNode(se.default,{view:a},null)}))),o={getSearchFormValues:I,setSearchFormValues:x,submit:N,reset:M,submitWith:Y,getSearchFormSorterItems:P,setSearchFormSorterItems:O,resetSearchFormSorterItems:B,...s.saveDataSource},w={...q.value,...s.viewCacheOption},{mountedData:h,isValidMountedData:D,isFirstSendToUrl:p}=H.useSendToUrl({saveDataSource:o,sendToUrl:e.computed(()=>s.sendToUrl),tableKey:e.computed(()=>s.tableKey),searchFormModel:e.computed(()=>s?.saveDataSource?.searchFormModel||L?.value),extraUrlParams:e.computed(()=>s.extraUrlParams)}),T=()=>s.isDefaultSystemView||(s.isFirstDefaultSystemView||g)&&l?v.SYSTEM_VIEW_KEY:i.value.find(r=>r.isDefault)?.viewKey??v.SYSTEM_VIEW_KEY,c=a=>{d.value=a;const r=i.value.find(t=>t.viewKey===d.value);r&&setTimeout(()=>{r.viewKey===v.SYSTEM_VIEW_KEY?l?s.manual||(s.sendToUrl&&_&&s.initToUrl&&D.value&&p.value&&(o?.setSearchFormValues?.(h.value),p.value=!1),o?.submitWith?.()):s.manual||(o?.resetSearchFormSorterItems?.(),o?.reset?.()):(s.sendToUrl&&_&&s.initToUrl&&D.value&&l&&p.value?(o?.setSearchFormValues?.(h.value),p.value=!1):o?.setSearchFormValues?.({...Object.fromEntries(Object.keys(o?.getSearchFormValues?.()??{}).map(t=>[t,void 0]))??{},...s?.emptyData??{},...[...o?.getSearchFormSorterItems?.()??[],...s?.extraParams?.map(t=>({name:t}))??[]].reduce((t,u)=>(r.viewConfig?.searchForm?.[u.name]&&(t[u.name]=r.viewConfig?.searchForm?.[u.name]),t),{})??{}}),o?.setSearchFormSorterItems?.(r.viewConfig?.sorterItems??[]),l?s.manual||o?.submitWith?.():o?.submit?.()),l=!1})},F={getViewList:async a=>{try{const{tableKey:r}=a,t=await w?.getViewList?.({tableKey:r});return i.value=[S.value,...t??[]],c(T()),i.value}catch{return i.value=[S.value],c(v.SYSTEM_VIEW_KEY),i.value}},addView:async a=>{const{tableKey:r,viewKey:t,viewName:u,isDefault:n,viewConfig:f}=a;await w?.addView?.({tableKey:r,viewKey:t,viewName:u,isDefault:n,viewConfig:f}),n&&(i.value=i.value.map(m=>({...m,isDefault:!1}))),i.value=[...i.value,{viewKey:t,viewName:u,isDefault:n,viewConfig:f}],c(t)},changeView:async a=>{const{tableKey:r,viewKey:t,viewName:u,isDefault:n,viewConfig:f}=a;await w?.changeView?.({tableKey:r,viewKey:t,viewName:u,isDefault:n,viewConfig:f}),n&&(i.value=i.value.map(K=>({...K,isDefault:!1})));const m=i.value.find(K=>K.viewKey===t);m&&(m.viewName=u,m.isDefault=n,m.viewConfig=f),c(t)},removeView:async a=>{const{tableKey:r,viewKey:t}=a;await w?.removeView?.({tableKey:r,viewKey:t}),i.value=i.value.filter(u=>u.viewKey!==t),t===d.value&&c(T())}},A={tableKey:e.computed(()=>s.tableKey),currentViewKey:d,changeCurrentViewKey:c,popoverOpen:W,menuOpen:V,viewList:i,viewListCRUD:F,saveDataSource:o};return J.useViewProvide(A),e.watch(()=>s.tableKey,a=>{G.isValid(a)&&(l=!0,F?.getViewList?.({tableKey:a}))},{immediate:!0}),E({setFirstDefaultSystemView:a=>{g=a},setInitToUrl:a=>{_=a},getMountedData:()=>h.value}),(a,r)=>(e.openBlock(),e.createBlock(e.unref(R.ApBatchActionGroup),e.mergeProps({...a.$attrs},{open:V.value,"onUpdate:open":r[0]||(r[0]=t=>V.value=t),class:[e.unref(y)(),e.unref(b)],"button-props":j,"menu-list":k.value,"overlay-class-name":[e.unref(y)("overlay"),e.unref(b)],trigger:"click",placement:"bottom"}),{icon:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass([e.unref(y)("icon")])},[e.createVNode(Q.default)],2)]),_:1},16,["open","class","menu-list","overlay-class-name"]))}});exports.default=re;
@@ -1,4 +1,4 @@
1
- import { ComputedRef } from 'vue';
1
+ import { ComputedRef, Ref } from 'vue';
2
2
  import { Recordable } from '../../../type';
3
3
  import { SaveDataSource } from '../interface';
4
4
  export declare const useSendToUrl: (option: {
@@ -10,4 +10,5 @@ export declare const useSendToUrl: (option: {
10
10
  }) => {
11
11
  mountedData: ComputedRef<Recordable>;
12
12
  isValidMountedData: ComputedRef<boolean>;
13
+ isFirstSendToUrl: Ref<boolean, boolean>;
13
14
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("@aplus-frontend/utils"),y=require("lodash-unified"),t=require("vue"),l=require("../utils/query.js"),U=d=>{const{saveDataSource:s,sendToUrl:r,tableKey:u,extraUrlParams:c,searchFormModel:i}=d;let a,o=!1;const n=t.ref({}),h=()=>{try{const e=encodeURIComponent(JSON.stringify({...s?.getSearchFormValues?.(),...c?.value?.()??{}}));e!==a&&(a=e,o=!0)}catch{a=""}o&&(l.setUrlQuery({[u.value]:a}),o=!1)},m=y.debounce(h,500),v=()=>{try{const e=l.getUrlQuery()[u.value]??"";n.value=e?JSON.parse(decodeURIComponent(e)):{}}catch{n.value={}}};return t.watch(i,()=>{r?.value&&m()},{deep:!0,immediate:!0}),t.onMounted(()=>{r?.value&&v()}),{mountedData:t.computed(()=>n.value),isValidMountedData:t.computed(()=>f.isObjectWithContent(n.value))}};exports.useSendToUrl=U;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const U=require("@aplus-frontend/utils"),y=require("lodash-unified"),e=require("vue"),s=require("../utils/query.js"),S=d=>{const{saveDataSource:c,sendToUrl:o,tableKey:u,extraUrlParams:i,searchFormModel:v}=d;let a,n=!1;const r=e.ref({}),l=e.ref(!1),f=()=>{try{const t=encodeURIComponent(JSON.stringify({...c?.getSearchFormValues?.(),...i?.value?.()??{}}));t!==a&&(a=t,n=!0)}catch{a=""}n&&(s.setUrlQuery({[u.value]:a}),n=!1)},h=y.debounce(f,500),m=()=>{try{const t=s.getUrlQuery()[u.value]??"";r.value=t?JSON.parse(decodeURIComponent(t)):{},l.value=!0}catch{r.value={}}};return e.watch(v,()=>{o?.value&&h()},{deep:!0,immediate:!0}),e.onMounted(()=>{o?.value&&m()}),{mountedData:e.computed(()=>r.value),isValidMountedData:e.computed(()=>U.isObjectWithContent(r.value)),isFirstSendToUrl:l}};exports.useSendToUrl=S;
@@ -1,2 +1,2 @@
1
- declare const _default: "7.19.1";
1
+ declare const _default: "7.19.3";
2
2
  export default _default;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="7.19.1";exports.default=e;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="7.19.3";exports.default=e;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aplus-frontend/ui",
3
- "version": "7.19.1",
3
+ "version": "7.19.3",
4
4
  "main": "./lib/index.js",
5
5
  "type": "module",
6
6
  "typings": "./lib/index.d.ts",
@@ -41,8 +41,8 @@
41
41
  "scroll-into-view-if-needed": "^3.1.0",
42
42
  "vue-virtual-scroller": "2.0.0-beta.8",
43
43
  "vuedraggable": "^4.1.0",
44
- "@aplus-frontend/utils": "1.0.66",
45
- "@aplus-frontend/hooks": "1.0.7"
44
+ "@aplus-frontend/hooks": "1.0.7",
45
+ "@aplus-frontend/utils": "1.0.66"
46
46
  },
47
47
  "peerDependencies": {
48
48
  "@aplus-frontend/antdv": "^2.1.4",