UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

39 lines (37 loc) 27 kB
(function(C,p){typeof exports=="object"&&typeof module<"u"?p(exports,require("vue"),require("../../components/notify/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../../components/notify/index.umd.js"],p):(C=typeof globalThis<"u"?globalThis:C||self,p(C["data-view"]={},C.Vue,C.notify))})(this,function(C,p,G){"use strict";function L(u,t,i,r,s){const{getGridHeaderCells:m}=s,d=120,g=50,h=p.computed(()=>{var e;return((e=u.rowNumber)==null?void 0:e.enable)||!1}),w=p.computed(()=>{var e,n;return((e=u.selection)==null?void 0:e.multiSelect)===!0||((n=u.selection)==null?void 0:n.showCheckbox)===!0}),B=p.computed(()=>{var e;return 0+(h.value?((e=u.rowNumber)==null?void 0:e.width)||32:0)+(w.value?g:0)}),N=p.computed(()=>{var e;return(e=u.columnOption)==null?void 0:e.fitColumns}),b=p.computed(()=>{var e;return N.value&&((e=u.columnOption)==null?void 0:e.fitMode)||"none"});function T(e,n,a){const v=parseInt(e.width,10)/100;return a*v}function W(e,n,a){return typeof e.width=="string"?T(e,n,a):e.width||d}function o(e,n){const a=[],v=[];let k=0;e.value.primaryColumns.forEach(S=>{typeof S.width=="string"?v.push(S):(S.width=S.width||d,k+=S.width,a.push(S))});const A=n*(a.length/e.value.primaryColumns.length);a.forEach(S=>{const y=A*(S.width/k);S.actualWidth=y,e.value.primaryColumnsWidth+=S.actualWidth});const _=n-A;v.forEach(S=>{const y=T(S,e.value,_);S.actualWidth=y,e.value.primaryColumnsWidth+=S.actualWidth})}function c(e,n){const a=[],v=[],k=new WeakMap;let A=0,_=0;if(e.value.primaryColumns.forEach(y=>{if(typeof y.width=="string"){const V=T(y,e.value,n);k.set(y,V),A+=V,v.push(y)}else y.width=y.width||d,_+=y.width,a.push(y)}),n-A>_){const y=n-A;v.forEach(V=>{V.actualWidth=k.get(V)||d,e.value.primaryColumnsWidth+=V.actualWidth}),a.forEach(V=>{V.actualWidth=y*(V.width/_),e.value.primaryColumnsWidth+=V.actualWidth})}else o(e,n)}function f(e,n){e.value.primaryColumns.forEach(a=>{a.actualWidth=W(a,e.value,n),e.value.primaryColumnsWidth+=a.actualWidth})}const M={expand:c,none:f,percentage:o};function P(e){e.value.leftHeaderColumns=Array.from(m(e.value.leftColumns).values()),e.value.primaryHeaderColumns=Array.from(m(e.value.primaryColumns).values()),e.value.rightHeaderColumns=Array.from(m(e.value.rightColumns).values())}function R(e){e.value.leftColumnsWidth=0,e.value.primaryColumnsWidth=0,e.value.rightColumnsWidth=0,e.value.leftColumns.forEach(n=>{e.value.leftColumnsWidth+=n.actualWidth||0}),e.value.primaryColumns.forEach(n=>{e.value.primaryColumnsWidth+=n.actualWidth||0}),e.value.rightColumns.forEach(n=>{e.value.rightColumnsWidth+=n.actualWidth||0}),e.value=Object.assign({},e.value)}function E(e,n,a){var V;let v=0;const k=e.value.primaryColumns,A=e.value.rightColumns;e.value.rightColumns.forEach(F=>{F.actualWidth=W(F,e.value,n),v+=F.actualWidth});const _=a-v,S=M[b.value];if(S&&S(e,_),e.value.primaryColumnsWidth+v<=a)return e.value.primaryColumns=[...k,...A],e.value.primaryColumnsWidth+=v,e.value.rightColumns=[],e.value.rightColumnsWidth=0,!0;const y=new Map;return y.set("primary",[]),y.set("right",[]),e.value.primaryColumns.reduce((F,I)=>{var $,z;return I.fixed==="right"?($=F.get("right"))==null||$.push(I):(z=F.get("primary"))==null||z.push(I),F},y),(V=y.get("right"))!=null&&V.length&&(e.value.primaryColumns=[...y.get("primary")||[]],e.value.rightColumns=[...y.get("right")||[]]),e.value.primaryColumnsWidth=0,e.value.rightColumnsWidth=0,!1}function l(){if(i.value){t.value.leftColumnsWidth=0,t.value.primaryColumnsWidth=0,t.value.rightColumnsWidth=0;const e=i.value.clientWidth-B.value;t.value.leftColumns.forEach(a=>{a.actualWidth=W(a,t.value,e),t.value.leftColumnsWidth+=a.actualWidth});const n=e-t.value.leftColumnsWidth;if(E(t,e,n))r.value=n;else{t.value.rightColumns.forEach(k=>{k.actualWidth=W(k,t.value,e),t.value.rightColumnsWidth+=k.actualWidth});const a=e-t.value.leftColumnsWidth-t.value.rightColumnsWidth,v=M[b.value];v&&v(t,a),r.value=a}P(t),t.value=Object.assign({},t.value)}}return p.watch(()=>{var e;return(e=u.columnOption)==null?void 0:e.fitColumns},(e,n)=>{e!==n&&e&&l()}),p.watch(b,(e,n)=>{e!==n&&N.value&&l()}),{calculateColumnHeaders:P,calculateColumnsSize:l,calculateColumnsWidth:R}}const H="";function U(u){const i={defaultColumnWidth:120,headerDepth:1,leftColumns:[],leftColumnsMap:new Map,leftColumnsWidth:0,leftHeaderColumns:[],primaryColumns:[],primaryColumnsMap:new Map,primaryColumnsWidth:0,primaryHeaderColumns:[],rightColumns:[],rightColumnsMap:new Map,rightColumnsWidth:0,rightHeaderColumns:[],summaryColumns:[]},r=p.ref(i);function s(){r.value={defaultColumnWidth:120,headerDepth:1,leftColumns:[],leftColumnsMap:new Map,leftColumnsWidth:0,leftHeaderColumns:[],primaryColumns:[],primaryColumnsMap:new Map,primaryColumnsWidth:0,primaryHeaderColumns:[],rightColumns:[],rightColumnsMap:new Map,rightColumnsWidth:0,rightHeaderColumns:[],summaryColumns:[]}}const m=p.ref(u.summary),d=p.computed(()=>{const l=m.value;return(l==null?void 0:l.groupFields)||[]});function g(){r.value.rightColumns.forEach(n=>{n.showSetting=!1}),r.value.primaryColumns.forEach(n=>{n.showSetting=!1});const l=r.value.rightColumns,e=r.value.primaryColumns;l.length>0?l[l.length-1].showSetting=!0:e.length>0&&(e[e.length-1].showSetting=!0)}function h(l){s();const e=new Map;return d.value&&d.value.reduce((n,a)=>(n.set(a,!0),n),e),l.reduce((n,a)=>(a.filter=a.filter||H,a.fixed==="left"?(r.value.leftColumns.push(a),r.value.leftColumnsMap.set(a.field,a),r.value.leftColumnsWidth+=a.actualWidth):a.fixed==="right"?(r.value.rightColumns.push(a),r.value.rightColumnsMap.set(a.field,a),r.value.rightColumnsWidth+=a.actualWidth):(r.value.primaryColumns.push(a),r.value.primaryColumnsMap.set(a.field,a),r.value.primaryColumnsWidth+=a.actualWidth),e.has(a.field)&&r.value.summaryColumns.push(a),n),r),g(),r}h(u.columns);const w=p.computed(()=>r.value.leftColumns.length>0),B=p.computed(()=>r.value.rightColumns.length>0);function N(l,e){return e.sortable&&e.sort&&e.sort!=="none"&&l.push(e),l}function b(l,e){return l.sortOrder=l.sortOrder||0,e.sortOrder=e.sortOrder||0,l.sortOrder===e.sortOrder?0:l.sortOrder<e.sortOrder?-1:1}function T(l,e){return l.sortOrder=l.sortOrder||0,e.sortOrder=e.sortOrder||0,l.sortOrder===e.sortOrder?0:l.sortOrder<e.sortOrder?1:-1}function W(l,e){return e.filterable&&l.push(e),l}function o(){const l=[];return r.value.leftColumns.reduce(W,l),r.value.primaryColumns.reduce(W,l),r.value.rightColumns.reduce(W,l),l}function c(){const l=[];r.value.leftColumns.reduce(N,l),r.value.primaryColumns.reduce(N,l),r.value.rightColumns.reduce(N,l);const e=Math.max(...l.map(n=>n.sortOrder||0));return l.sort(T).map(n=>{const a=n.sortOrder||e+1;return n.sortOrder=a,n}).sort(b).map((n,a)=>{const v=a+1;return n.sortOrder=v,n})}function f(l,e,n){const a=l.map(v=>{const k=n.getSorterByColumn(v),A=v.sort==="asc",_=v.sort==="desc",S=A?k.ascend:_?k.decend:void 0;return{field:v.field,compare:S}});e.setSorters(a)}function M(l,e){const n=c();f(n,l,e)}function P(l){}function R(l){}function E(){}return{applyColumnSorter:M,collectionFilterableColumns:o,applySortableColumns:f,collectionSortableColumns:c,columnContext:r,hasLeftFixedColumn:w,hasRightFixedColumn:B,updateColumnRenderContext:h,updateColumnSettingIcon:g,sortFromServer:P,createSortConditions:R,clearSortConditions:E}}function D(u,t,i,r,s,m,d,g){const h=p.ref(r.value-1+s),w=p.ref(0),{renderDataRow:B}=m,N=d?d.renderGroupRow:B,b=g?g.renderSummaryRow:B;function T(c){let f=B;return c.__fv_data_grid_group_row__&&(f=N),c.__fv_data_grid_group_summary__&&(f=b),f}function W(c,f,M,P){const{dataView:R}=i,E=[];if(R.value.length>0){const l=P?Date.now().toString():"";let e=c,n=0;const a=f-c+1;for(;E.length<a&&e<R.value.length;){const v=R.value[e],k=R.value[e-1]||M,A=E[n-1],_=k?(k.__fv_data_position__||0)+(k.__fv_data_height__||0):0,y=T(v)(v,k,A,e,_,t.value,E);y.refreshKey=l,E.push(y),n++,e++}}return w.value=E.length>0?E[0].index:0,h.value=E.length>0?E[E.length-1].index:0,E}function o(c,f,M){const P=f.groupField||"",{groupValue:R,raw:E}=f;i[c](P,R,E.groupParents||[]);const{dataView:l}=i,e=M[0].index,n=Math.min(e+r.value+s+1,l.value.length-1);return W(e,n)}return{getVisualData:W,maxVisibleRowIndex:h,minVisibleRowIndex:w,toggleGroupRow:o}}function q(){function u(t){return{title:"行配置",description:"",properties:{customRowStyle:{title:"行样式",type:"string",description:"自定义行样式",$converter:"/converter/row-option.converter",editor:{type:"code-editor",language:"javascript",leftTemplate:()=>p.createVNode(p.Fragment,null,[p.createVNode("h5",null,[p.createTextVNode("示例代码")]),p.createVNode("pre",null,[` (dataItem) => { if(dataItem.code === '0001') { return { class: { 'text-align': true, 'text-red': true }, style: { 'background-color': '#000', 'font-size': '1rem' } }; } return {}; } 注: dataItem 行数据 `])])}},customCellStyle:{title:"单元格样式",type:"string",description:"自定义单元格样式",$converter:"/converter/row-option.converter",editor:{type:"code-editor",language:"javascript",leftTemplate:()=>p.createVNode(p.Fragment,null,[p.createVNode("h5",null,[p.createTextVNode("示例代码")]),p.createVNode("pre",null,[` (cell, row) => { if(cell.data === '0002') { return { class: { 'text-align': true, 'text-red': true }, style: { 'background-color': '#000', 'font-size': '1rem' } }; } return {}; } 注: cell.data 单元格数据 cell.column 列数据 row.raw 行数据 `])])}}}}}return{getRowOptionProperties:u}}function J(){function u(t){return{title:"填充列宽",description:"控制列宽对表格容器的填充模式",properties:{fitMode:{description:"",title:"填充模式",type:"enum",$converter:"/converter/column-option.converter",refreshPanelAfterChanged:!0,editor:{data:[{id:"none",name:"不填充"},{id:"average",name:"平均列宽"},{id:"expand",name:"等比扩展"}]}}},setPropertyRelates(i,r){switch(i&&i.propertyID){case"fitMode":{const s=i.propertyValue&&i.propertyValue!=="none";if(r.fit=s,r.columns){const m=i.propertyValue==="average";r.columns.forEach(d=>{d.resizable=!m})}break}}}}}return{getColumnOptionProperties:u}}function K(u){function t(i){var r,s,m,d;return{title:"操作列",description:"",properties:{enableType:{title:"操作列",type:"enum",$converter:"/converter/column-command.converter",description:"启用操作列",refreshPanelAfterChanged:!0,editor:{data:[{id:"unable",name:"无"},{id:"default",name:"编辑和删除"},{id:"custom",name:"自定义"}]}},count:{description:"平铺操作按钮数量",title:"平铺按钮数量",type:"number",$converter:"/converter/column-command.converter",visible:((r=i.command)==null?void 0:r.enableType)==="custom",editor:{needValid:!0,min:0}},commands:{description:"操作列按钮集合",title:"操作项",type:"array",visible:((s=i.command)==null?void 0:s.enableType)==="custom",$converter:"/converter/column-command.converter",editor:{columns:[{field:"value",title:"值",dataType:"string"},{field:"text",title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:"value",nameField:"text",requiredFields:["value","text"],uniqueFields:["value","text"]}},formatter:{title:"操作列模板",$converter:"/converter/column-command.converter",type:"string",visible:((m=i.command)==null?void 0:m.enableType)==="custom",description:"操作列模板",refreshPanelAfterChanged:!0,editor:{type:"code-editor",language:"html"}},columnWidth:{title:"操作列宽度",type:"number",$converter:"/converter/column-command.converter",description:"操作列宽度",visible:((d=i.command)==null?void 0:d.enableType)==="custom",editor:{needValid:!0,min:0,max:800}}},setPropertyRelates(g,h){var w;switch(g&&g.propertyID){case"enableType":{(g.propertyValue==="custom"||g.propertyValue==="default")&&((w=u.getFormDesignerInstance())==null||w.reloadPropertyPanel());break}}}}}return{getCommandColumnProperties:t}}function Y(){function u(t){var i;return{title:"合计行",description:"",properties:{enable:{title:"启用",type:"boolean",description:"启用合计行",$converter:"/converter/summary.converter",refreshPanelAfterChanged:!0},customRender:{title:"合计行模板",type:"string",description:"合计行模板",$converter:"/converter/summary.converter",refreshPanelAfterChanged:!0,visible:!!((i=t.summary)!=null&&i.enable),editor:{type:"code-editor",language:"html"}}}}}return{getSummaryProperties:u}}var O=(u=>(u.Column="column",u.Group="group",u))(O||{});function Q(){function u(t,i){var r,s;return{title:"分组",description:"",properties:{enable:{title:"启用",type:"boolean",description:"启用分组",$converter:"/converter/group.converter",refreshPanelAfterChanged:!0},customRender:{title:"自定义分组行模板",type:"string",visible:!!((r=t.group)!=null&&r.enable),description:"自定义分组行模板",$converter:"/converter/group.converter",editor:{type:"code-editor",language:"html"}},groupFields:{title:"分组字段",type:"string",visible:!!((s=t.group)!=null&&s.enable),description:"分组字段",$converter:"/converter/group.converter",editor:{type:"grid-field-editor",usage:O.Group,viewModelId:i,gridData:t,getLatestGridData:m=>t}}}}}return{getGroupProperties:u}}function X(){function u(t){var s,m,d,g,h,w;if(t.displayType==="Card")return[{label:"onClickRow",name:"行点击事件"},{label:"onSelectionChange",name:"行切换事件"},{label:"onEndEditCell",name:"单元格结束编辑事件"}];const i=[{label:"onClickRow",name:"行点击事件"},{label:"onSelectionChange",name:"行切换事件"},{label:"onDoubleClickRow",name:"行双击事件"},{label:"onFilterChanged",name:"过滤事件"},{label:"onSelectItem",name:"选中行事件"},{label:"onUnSelectItem",name:"取消选中行事件"},{label:"onSelectAll",name:"全选事件"},{label:"onUnSelectAll",name:"取消全选事件"}];return t.type!=="tree-grid"&&i.push({label:"onSortChanged",name:"排序事件"},{label:"onEndEditCell",name:"单元格结束编辑事件"},{label:"beforeEditCell",name:"单元格编辑前事件"}),t.type==="tree-grid"&&i.push({label:"onExpandNode",name:"展开事件"}),((s=t.pagination)==null?void 0:s.enable)!==!1&&i.push({label:"onPageIndexChanged",name:"切换页码事件"},{label:"onPageSizeChanged",name:"分页条数变化事件"}),(m=t.command)!=null&&m.enable&&((d=t.command)==null?void 0:d.enableType)==="custom"&&i.push({label:"onHandleAction",name:"自定义操作列点击事件"}),((g=t.command)==null?void 0:g.enable)&&(((h=t.command)==null?void 0:h.enableType)==="default"||!((w=t.command)!=null&&w.enableType)&&JSON.stringify(t.command.commands)===JSON.stringify([{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]))&&i.push({label:"onClickEditCommand",name:"操作列编辑事件"},{label:"onClickDeleteCommand",name:"操作列删除事件"}),i}return{initEvent:u}}function Z(){function u(t,i,r){var h,w,B,N;const s=r==="treeGrid",m=b=>b===!0||b!==!1&&b!=null,d=(h=t.selection)==null?void 0:h.multiSelect,g=s&&m(d);return{title:"多选配置",$converter:"/converter/grid-selection.converter",parentPropertyID:"editor",properties:{multiSelect:{title:"启用多选",type:"boolean",$converter:"/converter/grid-selection.converter",refreshPanelAfterChanged:!0},showCheckbox:{visible:!!((w=t.selection)!=null&&w.multiSelect),$converter:"/converter/grid-selection.converter",readonly:!0,title:"显示复选框",type:"boolean",refreshPanelAfterChanged:!0},showSelectAll:{visible:!!((B=t.selection)!=null&&B.multiSelect)&&!!((N=t.selection)!=null&&N.showCheckbox),title:"显示全选",type:"boolean"},...s?{autoCheckParent:{visible:g,title:"向上级联",type:"boolean",description:"向上级联",$converter:"/converter/tree-auto-check.converter"},autoCheckChildren:{visible:g,title:"向下级联",type:"boolean",description:"向下级联",$converter:"/converter/tree-auto-check.converter"}}:{}},setPropertyRelates(b,T){if(b){switch(b.propertyID){case"multiSelect":case"showCheckbox":case"showSelectAll":i.afterMutilEditorChanged(t,b);break}switch(b.propertyID){case"multiSelect":{const W=b.propertyValue;(W===!0||W===!1)&&(t.selection||(t.selection={}),t.selection.showCheckbox=W);break}}}}}}return{getSelection:u}}function j(){function u(t){var i,r,s,m;return{title:"行号配置",$converter:"/converter/row-number.converter",parentPropertyID:"rowNumber",properties:{enable:{title:"显示行号",type:"boolean",refreshPanelAfterChanged:!0},width:{visible:!!((i=t.rowNumber)!=null&&i.enable)||((r=t.rowNumber)==null?void 0:r.enable)===void 0,title:"宽度",type:"number"},heading:{visible:!!((s=t.rowNumber)!=null&&s.enable)||((m=t.rowNumber)==null?void 0:m.enable)===void 0,title:"标题",type:"string"}}}}return{getRowNumber:u}}function x(){function u(i){var s;const r=(s=i.pagination)==null?void 0:s.sizeLimits;if(Array.isArray(r)&&r.length>0){const m=[...new Set(r.map(d=>parseInt(String(d),10)).filter(d=>!Number.isNaN(d)&&d>0))];if(m.length>0)return m.map(d=>({key:d,value:d}))}return[{key:10,value:10},{key:20,value:20},{key:30,value:30},{key:50,value:50},{key:100,value:100}]}function t(i,r,s){var m,d,g,h,w;return{title:"分页",$converter:"/converter/pagination.converter",parentPropertyID:"pagination",properties:{enable:{title:"启用分页",type:"boolean",refreshPanelAfterChanged:!0,editor:{readonly:r}},showIndex:{visible:!!((m=i.pagination)!=null&&m.enable),title:"显示页码",type:"boolean"},showLimits:{visible:!!((d=i.pagination)!=null&&d.enable),title:"显示分页条数",type:"boolean"},sizeLimits:{visible:!!((g=i.pagination)!=null&&g.enable),title:"分页条数",type:"string",refreshPanelAfterChanged:!0},size:{visible:!!((h=i.pagination)!=null&&h.enable),title:"默认分页条数",type:"enum",defaultValue:20,editor:{type:"combo-list",textField:"value",valueField:"key",data:u(i)}},showGoto:{visible:!!((w=i.pagination)!=null&&w.enable),title:"显示页码输入框",type:"boolean"}},setPropertyRelates(B,N){var b,T,W;if(B)switch(B.propertyID){case"disabled":s.afterMutilEditorChanged(i,B);break;case"sizeLimits":{const o=(b=i.pagination)==null?void 0:b.sizeLimits;if(Array.isArray(o)&&o.length>0){const c=Number((T=i.pagination)==null?void 0:T.size);o.includes(c)||(i.pagination.size=o[0])}else{const c=[10,20,30,50,100],f=Number((W=i.pagination)==null?void 0:W.size);c.includes(f)||(i.pagination.size=20)}break}}}}}return{getPagination:t}}function ee(u){function t(s){return s.displayType==="Card"?{showStripe:{title:"显示条纹",type:"boolean",description:"是否显示条纹"},showBorder:{title:"显示边框",type:"boolean",description:"是否显示边框"}}:{showStripe:{title:"显示条纹",type:"boolean",description:"是否显示条纹"},showBorder:{title:"显示边框",type:"boolean",description:"是否显示边框"},showSetting:{title:"显示设置按钮",type:"boolean",description:"是否显示设置按钮",refreshPanelAfterChanged:!0},enableColumnSettingSolution:{title:"启用列设置方案",type:"boolean",description:"启用列设置方案",visible:!!s.showSetting},emptyTemplate:{title:"空模板",type:"string",description:"空模板",editor:{type:"code-editor",language:"html"}},virtualized:{title:"是否虚拟加载",type:"boolean",description:"是否虚拟加载"}}}function i(s,m){return{title:"外观",properties:{class:{title:"class样式",type:"string",description:"组件的class样式"},columns:{title:"列设置",description:"列设置",type:"array",editor:{type:"grid-field-editor",viewModelId:m,gridData:s,getLatestGridData:d=>s},refreshPanelAfterChanged:!0},...t(s)},setPropertyRelates(d,g){switch(d&&d.propertyID){case"useBlankWhenDataIsEmpty":s.emptyDataHeight=s.useBlankWhenDataIsEmpty?36:240;break;case"columns":s.columns=d.propertyValue||[];break}}}}function r(s,m,d){const g=d.schemaService.getTreeGridUdtFields(m);return{title:"外观",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式"},columns:{title:"列设置",description:"列设置",$converter:"/converter/items-count.converter",editor:{type:"grid-field-editor",viewModelId:m,gridData:s,gridType:"tree-grid-column"},refreshPanelAfterChanged:!0},udtField:{title:"分级码字段",type:"enum",description:"分级码字段",refreshPanelAfterChanged:!0,editor:{data:g.map(h=>({id:h.key,name:h.value}))}},searchable:{title:"启用搜索定位",type:"boolean",description:"启用搜索定位"},...t(s)},setPropertyRelates(h,w){switch(h&&h.propertyID){case"useBlankWhenDataIsEmpty":s.emptyDataHeight=s.useBlankWhenDataIsEmpty?36:240;break;case"fields":s.fields=h.propertyValue||[];break}}}}return{getDataGrid:i,getTreeGrid:r}}function te(){function u(t){return{title:"排序",description:"",properties:{mode:{title:"类型",type:"enum",description:"排序类型",$converter:"/converter/grid-sort.converter",editor:{data:[{id:"client",name:"客户端"},{id:"server",name:"服务端"}]}}}}}return{getSort:u}}function re(){function u(t){return{title:"过滤",description:"",properties:{filterStyle:{title:"过滤风格",type:"enum",description:"过滤风格",$converter:"/converter/grid-filter.converter",editor:{data:[{id:"filter-column",name:"智能过滤"},{id:"filter-row",name:"过滤行"}]}},mode:{title:"类型",type:"enum",description:"过滤类型",$converter:"/converter/grid-filter.converter",editor:{data:[{id:"client",name:"客户端"},{id:"server",name:"服务端"}]}}}}}return{getFilter:u}}function ne(u,t){const{messagerService:i,designViewModelUtils:r,controlCreatorUtils:s,formStateMachineUtils:m,formSchemaUtils:d}=u,g=new G.FNotifyService;let h="editable";function w(o){o.renderState||(o.renderState={});const c={condition:[{lBracket:null,source:"state",compare:"===",target:"'add'",relation:"or",rBracket:""},{lBracket:null,source:"state",compare:"===",target:"'edit'",relation:"",rBracket:""}],name:"可编辑",description:""};return o.renderState.editable?o.renderState.editable.condition&&JSON.stringify(o.renderState.editable.condition)===JSON.stringify(c.condition)?!1:(o.renderState.gridEditable=Object.assign(c,{name:"表格可编辑"}),h="gridEditable",!0):(o.renderState.editable=c,!0)}function B(){return{renderState:{canAdd:{condition:[{lBracket:null,source:"state",compare:"===",target:"'add'",relation:"or",rBracket:""},{lBracket:null,source:"state",compare:"===",target:"'init'",relation:"or",rBracket:""},{lBracket:null,source:"state",compare:"===",target:"'edit'",relation:"",rBracket:""}],name:"新增",description:""},canEdit:{condition:[{lBracket:null,source:"state",compare:"===",target:"'init'",relation:"",rBracket:""}],name:"编辑",description:""},canCancel:{condition:[{lBracket:null,source:"state",compare:"===",target:"'add'",relation:"or",rBracket:""},{lBracket:null,source:"state",compare:"===",target:"'edit'",relation:"",rBracket:""}],name:"取消",description:""},canSave:{condition:[{lBracket:null,source:"state",compare:"===",target:"'add'",relation:"or",rBracket:""},{lBracket:null,source:"state",compare:"===",target:"'edit'",relation:"",rBracket:""}],name:"保存",description:""},canRemove:{condition:[{lBracket:null,source:"state",compare:"===",target:"'add'",relation:"or",rBracket:""},{lBracket:null,source:"state",compare:"===",target:"'edit'",relation:"or",rBracket:""},{lBracket:null,source:"state",compare:"===",target:"'init'",relation:"",rBracket:""}],name:"删除",description:""},editable:{condition:[{lBracket:null,source:"state",compare:"===",target:"'add'",relation:"or",rBracket:""},{lBracket:null,source:"state",compare:"===",target:"'edit'",relation:"",rBracket:""}],name:"可编辑",description:""}},state:[{state:"add",name:"新增",description:"处于新增状态"},{state:"init",name:"初始",description:"处于初始状态"},{state:"edit",name:"编辑",description:"处于编辑状态"}],initialState:"init",action:{Create:{name:"创建",transitTo:"add",description:"新建并切换至新增状态"},Edit:{name:"编辑",transitTo:"edit",description:"编辑并切换至编辑状态"},Cancel:{name:"取消",transitTo:"init",description:"取消并切换至初始状态"},Save:{name:"保存",transitTo:"init",description:"保存并切换至初始状态"}}}}async function N(){var P,R;const o=B(),c=await m.createStateMachine(o),f=d.getFormSchema().module;((P=f.stateMachines)==null?void 0:P.length)===0&&f.stateMachines.push({id:`${f.code}_state_machine`,name:c.name,uri:c.id,code:c.code,nameSpace:c.nameSpace});const M=((R=f.viewmodels)==null?void 0:R.length)>0?f.viewmodels[0]:null;M&&(M.stateMachine=`${f.code}_state_machine`)}async function b(){const o=m.getStateMachineMetadata();let c=!1;o.state||(o.state=[]),o.state.find(f=>f.state==="init")||(o.state.push({state:"init",name:"初始",description:"处于初始状态"}),c=!0),o.state.find(f=>f.state==="add")||(o.state.push({state:"add",name:"新增",description:"处于新增状态"}),c=!0),o.state.find(f=>f.state==="edit")||(o.state.push({state:"edit",name:"编辑",description:"处于编辑状态"}),c=!0),o.action||(o.action={}),o.action.Cancel||(o.action.Cancel={name:"取消",transitTo:"init",description:"取消并切换至初始状态"},c=!0),o.action.Create||(o.action.Create={name:"创建",transitTo:"add",description:"新建并切换至新增状态"},c=!0),o.action.Edit||(o.action.Edit={name:"编辑",transitTo:"edit",description:"编辑并切换至编辑状态"},c=!0),o.action.Save||(o.action.Save={name:"保存",transitTo:"init",description:"保存并切换至初始状态"},c=!0),w(o)&&(c=!0),c&&await m.saveStateMachineMetadata(o)}async function T(o){var M;m.getStateMachineMetadata()?await b():await N(),o.fieldEditable=!0,o.editable=`viewModel.stateMachine['${h}']`,(M=o.pagination)!=null&&M.enable&&(o.pagination.disabled=`viewModel.stateMachine['${h}']`),o.disabled=!1;const f=r.getDgViewModel(t);o.columns.map(P=>{const R=f.fields.find(l=>l.id===P.binding.field);if(!R)return;const E=s.setFormFieldProperty(R);P.editor=E.editor,P.editor.readonly&&typeof P.editor.readonly=="object"&&(P.editor.readonly.field=h)}),g.success({position:"top-center",message:"已启用单元格编辑"})}function W(o){return{title:"单元格编辑",description:"",properties:{fieldEditable:{title:"启用",type:"boolean",description:"单元格是否可编辑",refreshPanelAfterChanged:!0,readonly:o.fieldEditable}},async setPropertyRelates(c,f){return await new Promise(M=>{c.propertyValue&&i.question("启用单元格编辑后,将根据表格或者树表列绑定的字段类型自动分配编辑器,此操作不可撤销,是否继续?","",async()=>{await T(o),M()},()=>{f.fieldEditable=!1,M()})})}}}return{getCellEditableProperties:W}}C.useAppearance=ee,C.useCellEditable=ne,C.useColumnOption=J,C.useCommandOption=K,C.useDataGridEvent=X,C.useDesignerColumn=U,C.useDesignerFitColumn=L,C.useDesignerVisualData=D,C.useFilter=re,C.useGroup=Q,C.usePagination=x,C.useRowNumber=j,C.useRowOption=q,C.useSelection=Z,C.useSort=te,C.useSummary=Y,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})});