UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

39 lines (37 loc) 24.2 kB
(function(v,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):(v=typeof globalThis<"u"?globalThis:v||self,p(v["data-view"]={},v.Vue,v.notify))})(this,function(v,p,H){"use strict";function G(s,t,l,a,o){const{getGridHeaderCells:m}=o,f=120,k=50,w=p.computed(()=>{var e;return((e=s.rowNumber)==null?void 0:e.enable)||!1}),R=p.computed(()=>{var e,r;return((e=s.selection)==null?void 0:e.multiSelect)||((r=s.selection)==null?void 0:r.showCheckbox)||!1}),_=p.computed(()=>{var e;return 0+(w.value?((e=s.rowNumber)==null?void 0:e.width)||32:0)+(R.value?k:0)}),O=p.computed(()=>{var e;return(e=s.columnOption)==null?void 0:e.fitColumns}),N=p.computed(()=>{var e;return O.value&&((e=s.columnOption)==null?void 0:e.fitMode)||"none"});function V(e,r,c){const C=parseInt(e.width,10)/100;return c*C}function M(e,r,c){return typeof e.width=="string"?V(e,r,c):e.width||f}function i(e,r){const c=[],C=[];let y=0;e.value.primaryColumns.forEach(b=>{typeof b.width=="string"?C.push(b):(b.width=b.width||f,y+=b.width,c.push(b))});const B=r*(c.length/e.value.primaryColumns.length);c.forEach(b=>{const g=B*(b.width/y);b.actualWidth=g,e.value.primaryColumnsWidth+=b.actualWidth});const T=r-B;C.forEach(b=>{const g=V(b,e.value,T);b.actualWidth=g,e.value.primaryColumnsWidth+=b.actualWidth})}function d(e,r){const c=[],C=[],y=new WeakMap;let B=0,T=0;if(e.value.primaryColumns.forEach(g=>{if(typeof g.width=="string"){const P=V(g,e.value,r);y.set(g,P),B+=P,C.push(g)}else g.width=g.width||f,T+=g.width,c.push(g)}),r-B>T){const g=r-B;C.forEach(P=>{P.actualWidth=y.get(P)||f,e.value.primaryColumnsWidth+=P.actualWidth}),c.forEach(P=>{P.actualWidth=g*(P.width/T),e.value.primaryColumnsWidth+=P.actualWidth})}else i(e,r)}function h(e,r){e.value.primaryColumns.forEach(c=>{c.actualWidth=M(c,e.value,r),e.value.primaryColumnsWidth+=c.actualWidth})}const S={expand:d,none:h,percentage:i};function W(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 E(e){e.value.leftColumnsWidth=0,e.value.primaryColumnsWidth=0,e.value.rightColumnsWidth=0,e.value.leftColumns.forEach(r=>{e.value.leftColumnsWidth+=r.actualWidth||0}),e.value.primaryColumns.forEach(r=>{e.value.primaryColumnsWidth+=r.actualWidth||0}),e.value.rightColumns.forEach(r=>{e.value.rightColumnsWidth+=r.actualWidth||0}),e.value=Object.assign({},e.value)}function n(e,r,c){var P;let C=0;const y=e.value.primaryColumns,B=e.value.rightColumns;e.value.rightColumns.forEach(A=>{A.actualWidth=M(A,e.value,r),C+=A.actualWidth});const T=c-C,b=S[N.value];if(b&&b(e,T),e.value.primaryColumnsWidth+C<=c)return e.value.primaryColumns=[...y,...B],e.value.primaryColumnsWidth+=C,e.value.rightColumns=[],e.value.rightColumnsWidth=0,!0;const g=new Map;return g.set("primary",[]),g.set("right",[]),e.value.primaryColumns.reduce((A,I)=>{var $,D;return I.fixed==="right"?($=A.get("right"))==null||$.push(I):(D=A.get("primary"))==null||D.push(I),A},g),(P=g.get("right"))!=null&&P.length&&(e.value.primaryColumns=[...g.get("primary")||[]],e.value.rightColumns=[...g.get("right")||[]]),e.value.primaryColumnsWidth=0,e.value.rightColumnsWidth=0,!1}function u(){if(l.value){t.value.leftColumnsWidth=0,t.value.primaryColumnsWidth=0,t.value.rightColumnsWidth=0;const e=l.value.clientWidth-_.value;t.value.leftColumns.forEach(c=>{c.actualWidth=M(c,t.value,e),t.value.leftColumnsWidth+=c.actualWidth});const r=e-t.value.leftColumnsWidth;if(n(t,e,r))a.value=r;else{t.value.rightColumns.forEach(y=>{y.actualWidth=M(y,t.value,e),t.value.rightColumnsWidth+=y.actualWidth});const c=e-t.value.leftColumnsWidth-t.value.rightColumnsWidth,C=S[N.value];C&&C(t,c),a.value=c}W(t),t.value=Object.assign({},t.value)}}return p.watch(()=>{var e;return(e=s.columnOption)==null?void 0:e.fitColumns},(e,r)=>{e!==r&&e&&u()}),p.watch(N,(e,r)=>{e!==r&&O.value&&u()}),{calculateColumnHeaders:W,calculateColumnsSize:u,calculateColumnsWidth:E}}const z="";function L(s){const l={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:[]},a=p.ref(l);function o(){a.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(s.summary),f=p.computed(()=>{const n=m.value;return(n==null?void 0:n.groupFields)||[]});function k(){a.value.rightColumns.forEach(e=>{e.showSetting=!1}),a.value.primaryColumns.forEach(e=>{e.showSetting=!1});const n=a.value.rightColumns,u=a.value.primaryColumns;n.length>0?n[n.length-1].showSetting=!0:u.length>0&&(u[u.length-1].showSetting=!0)}function w(n){o();const u=new Map;return f.value&&f.value.reduce((e,r)=>(e.set(r,!0),e),u),n.reduce((e,r)=>(r.filter=r.filter||z,r.fixed==="left"?(a.value.leftColumns.push(r),a.value.leftColumnsMap.set(r.field,r),a.value.leftColumnsWidth+=r.actualWidth):r.fixed==="right"?(a.value.rightColumns.push(r),a.value.rightColumnsMap.set(r.field,r),a.value.rightColumnsWidth+=r.actualWidth):(a.value.primaryColumns.push(r),a.value.primaryColumnsMap.set(r.field,r),a.value.primaryColumnsWidth+=r.actualWidth),u.has(r.field)&&a.value.summaryColumns.push(r),e),a),k(),a}w(s.columns);const R=p.computed(()=>a.value.leftColumns.length>0),_=p.computed(()=>a.value.rightColumns.length>0);function O(n,u){return u.sortable&&u.sort&&u.sort!=="none"&&n.push(u),n}function N(n,u){return n.sortOrder=n.sortOrder||0,u.sortOrder=u.sortOrder||0,n.sortOrder===u.sortOrder?0:n.sortOrder<u.sortOrder?-1:1}function V(n,u){return n.sortOrder=n.sortOrder||0,u.sortOrder=u.sortOrder||0,n.sortOrder===u.sortOrder?0:n.sortOrder<u.sortOrder?1:-1}function M(n,u){return u.filterable&&n.push(u),n}function i(){const n=[];return a.value.leftColumns.reduce(M,n),a.value.primaryColumns.reduce(M,n),a.value.rightColumns.reduce(M,n),n}function d(){const n=[];a.value.leftColumns.reduce(O,n),a.value.primaryColumns.reduce(O,n),a.value.rightColumns.reduce(O,n);const u=Math.max(...n.map(e=>e.sortOrder||0));return n.sort(V).map(e=>{const r=e.sortOrder||u+1;return e.sortOrder=r,e}).sort(N).map((e,r)=>{const c=r+1;return e.sortOrder=c,e})}function h(n,u,e){const r=n.map(c=>{const C=e.getSorterByColumn(c),y=c.sort==="asc",B=c.sort==="desc",T=y?C.ascend:B?C.decend:void 0;return{field:c.field,compare:T}});u.setSorters(r)}function S(n,u){const e=d();h(e,n,u)}function W(n){}function E(n){}return{applyColumnSorter:S,collectionFilterableColumns:i,applySortableColumns:h,collectionSortableColumns:d,columnContext:a,hasLeftFixedColumn:R,hasRightFixedColumn:_,updateColumnRenderContext:w,updateColumnSettingIcon:k,sortFromServer:W,createSortConditions:E}}function U(s,t,l,a,o,m,f,k){const w=p.ref(a.value-1+o),R=p.ref(0),{renderDataRow:_}=m,O=f?f.renderGroupRow:_,N=k?k.renderSummaryRow:_;function V(d){let h=_;return d.__fv_data_grid_group_row__&&(h=O),d.__fv_data_grid_group_summary__&&(h=N),h}function M(d,h,S,W){const{dataView:E}=l,n=[];if(E.value.length>0){const u=W?Date.now().toString():"";let e=d,r=0;const c=h-d+1;for(;n.length<c&&e<E.value.length;){const C=E.value[e],y=E.value[e-1]||S,B=n[r-1],T=y?(y.__fv_data_position__||0)+(y.__fv_data_height__||0):0,g=V(C)(C,y,B,e,T,t.value,n);g.refreshKey=u,n.push(g),r++,e++}}return R.value=n.length>0?n[0].index:0,w.value=n.length>0?n[n.length-1].index:0,n}function i(d,h,S){const W=h.groupField||"",{groupValue:E,raw:n}=h;l[d](W,E,n.groupParents||[]);const{dataView:u}=l,e=S[0].index,r=Math.min(e+a.value+o+1,u.value.length-1);return M(e,r)}return{getVisualData:M,maxVisibleRowIndex:w,minVisibleRowIndex:R,toggleGroupRow:i}}function q(){function s(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:s}}function J(){function s(t){return{title:"填充列宽",description:"",properties:{fitColumns:{title:"启用",type:"boolean",description:"启用填充列宽",$converter:"/converter/column-option.converter",refreshPanelAfterChanged:!0}},setPropertyRelates(l,a){switch(l&&l.propertyID){case"fitColumns":{a.fit=l.propertyValue,a.columns&&(l.propertyValue?a.columns.forEach(o=>{o.resizable=!1}):a.columns.forEach(o=>{o.resizable=!0}));break}}}}}return{getColumnOptionProperties:s}}function K(s){function t(l){var a,o,m;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:((a=l.command)==null?void 0:a.enableType)==="custom",editor:{needValid:!0,min:0}},commands:{description:"操作列按钮集合",title:"操作项",type:"array",visible:((o=l.command)==null?void 0:o.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=l.command)==null?void 0:m.enableType)==="custom"&&!!l.command.formatter,description:"操作列模板",refreshPanelAfterChanged:!0,editor:{type:"code-editor",language:"html"}}},setPropertyRelates(f,k){var w;switch(f&&f.propertyID){case"enableType":{(f.propertyValue==="custom"||f.propertyValue==="default")&&((w=s.getFormDesignerInstance())==null||w.reloadPropertyPanel());break}}}}}return{getCommandColumnProperties:t}}function Y(){function s(t){var l;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:!!((l=t.summary)!=null&&l.enable),editor:{type:"code-editor",language:"html"}}}}}return{getSummaryProperties:s}}var F=(s=>(s.Column="column",s.Group="group",s))(F||{});function Q(){function s(t,l){var a,o;return{title:"分组",description:"",properties:{enable:{title:"启用",type:"boolean",description:"启用分组",$converter:"/converter/group.converter",refreshPanelAfterChanged:!0},customRender:{title:"自定义分组行模板",type:"string",visible:!!((a=t.group)!=null&&a.enable),description:"自定义分组行模板",$converter:"/converter/group.converter",editor:{type:"code-editor",language:"html"}},groupFields:{title:"分组字段",type:"string",visible:!!((o=t.group)!=null&&o.enable),description:"分组字段",$converter:"/converter/group.converter",editor:{type:"grid-field-editor",usage:F.Group,viewModelId:l,gridData:t,getLatestGridData:m=>t}}}}}return{getGroupProperties:s}}function X(){function s(t){var o,m,f,k,w,R;if(t.displayType==="Card")return[{label:"onClickRow",name:"行点击事件"},{label:"onSelectionChange",name:"行切换事件"},{label:"onEndEditCell",name:"单元格结束编辑事件"}];const l=[{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"&&l.push({label:"onSortChanged",name:"排序事件"},{label:"onEndEditCell",name:"单元格结束编辑事件"},{label:"beforeEditCell",name:"单元格编辑前事件"}),t.type==="tree-grid"&&l.push({label:"onExpandNode",name:"展开事件"}),((o=t.pagination)==null?void 0:o.enable)!==!1&&t.type!=="tree-grid"&&l.push({label:"onPageIndexChanged",name:"切换页码事件"},{label:"onPageSizeChanged",name:"分页条数变化事件"}),(m=t.command)!=null&&m.enable&&((f=t.command)==null?void 0:f.enableType)==="custom"&&l.push({label:"onHandleAction",name:"自定义操作列点击事件"}),((k=t.command)==null?void 0:k.enable)&&(((w=t.command)==null?void 0:w.enableType)==="default"||!((R=t.command)!=null&&R.enableType)&&JSON.stringify(t.command.commands)===JSON.stringify([{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]))&&l.push({label:"onClickEditCommand",name:"操作列编辑事件"},{label:"onClickDeleteCommand",name:"操作列删除事件"}),l}return{initEvent:s}}function Z(){function s(t){var l,a,o;return{title:"多选配置",$converter:"/converter/grid-selection.converter",parentPropertyID:"editor",properties:{multiSelect:{title:"启用多选",type:"boolean",refreshPanelAfterChanged:!0},showCheckbox:{visible:!!((l=t.selection)!=null&&l.multiSelect),$converter:"/converter/grid-selection.converter",title:"显示复选框",type:"boolean",readonly:!0,refreshPanelAfterChanged:!0},showSelectAll:{visible:!!((a=t.selection)!=null&&a.multiSelect)&&!!((o=t.selection)!=null&&o.showCheckbox),title:"显示全选",type:"boolean"}},setPropertyRelates(m,f){switch(m&&m.propertyID){case"multiSelect":t.selection.showCheckbox=m.propertyValue;break}}}}return{getSelection:s}}function j(){function s(t){var l,a,o,m;return{title:"行号配置",$converter:"/converter/row-number.converter",parentPropertyID:"rowNumber",properties:{enable:{title:"显示行号",type:"boolean",refreshPanelAfterChanged:!0},width:{visible:!!((l=t.rowNumber)!=null&&l.enable)||((a=t.rowNumber)==null?void 0:a.enable)===void 0,title:"宽度",type:"number"},heading:{visible:!!((o=t.rowNumber)!=null&&o.enable)||((m=t.rowNumber)==null?void 0:m.enable)===void 0,title:"标题",type:"string"}}}}return{getRowNumber:s}}function x(){function s(t,l){var a,o;return{title:"分页",$converter:"/converter/pagination.converter",parentPropertyID:"pagination",properties:{enable:{title:"启用分页",type:"boolean",refreshPanelAfterChanged:!0,editor:{readonly:l}},showIndex:{visible:((a=t.pagination)==null?void 0:a.enable)||!1,title:"显示页码",type:"boolean"},showLimits:{visible:((o=t.pagination)==null?void 0:o.enable)||!1,title:"显示分页条数",type:"boolean"}}}}return{getPagination:s}}function ee(s){function t(o){return o.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:!!o.showSetting},emptyTemplate:{title:"空模板",type:"string",description:"空模板",editor:{type:"code-editor",language:"html"}}}}function l(o,m){return{title:"外观",properties:{class:{title:"class样式",type:"string",description:"组件的class样式"},columns:{title:"列设置",description:"列设置",type:"array",editor:{type:"grid-field-editor",viewModelId:m,gridData:o,getLatestGridData:f=>o},refreshPanelAfterChanged:!0},...t(o)},setPropertyRelates(f,k){switch(f&&f.propertyID){case"useBlankWhenDataIsEmpty":o.emptyDataHeight=o.useBlankWhenDataIsEmpty?36:240;break;case"columns":o.columns=f.propertyValue||[];break}}}}function a(o,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:o,gridType:"tree-grid-column"},refreshPanelAfterChanged:!0},...t(o)},setPropertyRelates(f,k){switch(f&&f.propertyID){case"useBlankWhenDataIsEmpty":o.emptyDataHeight=o.useBlankWhenDataIsEmpty?36:240;break;case"fields":o.fields=f.propertyValue||[];break}}}}return{getDataGrid:l,getTreeGrid:a}}function te(){function s(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:s}}function re(){function s(t){return{title:"过滤",description:"",properties:{mode:{title:"类型",type:"enum",description:"过滤类型",$converter:"/converter/grid-filter.converter",editor:{data:[{id:"client",name:"客户端"},{id:"server",name:"服务端"}]}}}}}return{getFilter:s}}function ne(s,t){const{messagerService:l,designViewModelUtils:a,controlCreatorUtils:o,formStateMachineUtils:m,formSchemaUtils:f}=s,k=new H.FNotifyService;let w="editable";function R(i){i.renderState||(i.renderState={});const d={condition:[{lBracket:null,source:"state",compare:"===",target:"'add'",relation:"or",rBracket:""},{lBracket:null,source:"state",compare:"===",target:"'edit'",relation:"",rBracket:""}],name:"可编辑",description:""};return i.renderState.editable?i.renderState.editable.condition&&JSON.stringify(i.renderState.editable.condition)===JSON.stringify(d.condition)?!1:(i.renderState.gridEditable=Object.assign(d,{name:"表格可编辑"}),w="gridEditable",!0):(i.renderState.editable=d,!0)}function _(){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 O(){var W,E;const i=_(),d=await m.createStateMachine(i),h=f.getFormSchema().module;((W=h.stateMachines)==null?void 0:W.length)===0&&h.stateMachines.push({id:`${h.code}_state_machine`,name:d.name,uri:d.id,code:d.code,nameSpace:d.nameSpace});const S=((E=h.viewmodels)==null?void 0:E.length)>0?h.viewmodels[0]:null;S&&(S.stateMachine=`${h.code}_state_machine`)}async function N(){const i=m.getStateMachineMetadata();let d=!1;i.state||(i.state=[]),i.state.find(h=>h.state==="init")||(i.state.push({state:"init",name:"初始",description:"处于初始状态"}),d=!0),i.state.find(h=>h.state==="add")||(i.state.push({state:"add",name:"新增",description:"处于新增状态"}),d=!0),i.state.find(h=>h.state==="edit")||(i.state.push({state:"edit",name:"编辑",description:"处于编辑状态"}),d=!0),i.action||(i.action={}),i.action.Cancel||(i.action.Cancel={name:"取消",transitTo:"init",description:"取消并切换至初始状态"},d=!0),i.action.Create||(i.action.Create={name:"创建",transitTo:"add",description:"新建并切换至新增状态"},d=!0),i.action.Edit||(i.action.Edit={name:"编辑",transitTo:"edit",description:"编辑并切换至编辑状态"},d=!0),i.action.Save||(i.action.Save={name:"保存",transitTo:"init",description:"保存并切换至初始状态"},d=!0),R(i)&&(d=!0),d&&await m.saveStateMachineMetadata(i)}async function V(i){var S;m.getStateMachineMetadata()?await N():await O(),i.fieldEditable=!0,i.editable=`viewModel.stateMachine['${w}']`,i.disabled=!1,(S=i.pagination)!=null&&S.enable&&(i.pagination.disabled=`viewModel.stateMachine['${w}']`);const h=a.getDgViewModel(t);i.columns.map(W=>{const E=h.fields.find(u=>u.id===W.binding.field);if(!E)return;const n=o.setFormFieldProperty(E);W.editor=n.editor,W.editor.readonly&&typeof W.editor.readonly=="object"&&(W.editor.readonly.field=w)}),k.success({position:"top-center",message:"已启用单元格编辑"})}function M(i){return{title:"单元格编辑",description:"",properties:{fieldEditable:{title:"启用",type:"boolean",description:"单元格是否可编辑",refreshPanelAfterChanged:!0,readonly:i.fieldEditable}},async setPropertyRelates(d,h){return await new Promise(S=>{d.propertyValue&&l.question("启用单元格编辑后,将根据表格或者树表列绑定的字段类型自动分配编辑器,此操作不可撤销,是否继续?","",async()=>{await V(i),S()},()=>{h.fieldEditable=!1,S()})})}}}return{getCellEditableProperties:M}}v.useAppearance=ee,v.useCellEditable=ne,v.useColumnOption=J,v.useCommandOption=K,v.useDataGridEvent=X,v.useDesignerColumn=L,v.useDesignerFitColumn=G,v.useDesignerVisualData=U,v.useFilter=re,v.useGroup=Q,v.usePagination=x,v.useRowNumber=j,v.useRowOption=q,v.useSelection=Z,v.useSort=te,v.useSummary=Y,Object.defineProperty(v,Symbol.toStringTag,{value:"Module"})});