UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

1 lines 174 kB
(function(B,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("lodash-es"),require("../locale/index.umd.js"),require("../common/index.umd.js"),require("@vueuse/core"),require("../data-view/index.umd.js"),require("../input-group/index.umd.js"),require("../button/index.umd.js"),require("../dynamic-view/index.umd.js"),require("../section/index.umd.js"),require("../accordion/index.umd.js"),require("../avatar/index.umd.js"),require("../../designer/button-edit/index.umd.js"),require("../button-group/index.umd.js"),require("../calendar/index.umd.js"),require("../../designer/capsule/index.umd.js"),require("../../designer/checkbox/index.umd.js"),require("../../designer/checkbox-group/index.umd.js"),require("../combo-list/index.umd.js"),require("../combo-tree/index.umd.js"),require("../component/index.umd.js"),require("../color-picker/index.umd.js"),require("../content-container/index.umd.js"),require("../../designer/date-picker/index.umd.js"),require("../../designer/data-grid/index.umd.js"),require("../dropdown/index.umd.js"),require("../../designer/dynamic-form/index.umd.js"),require("../events-editor/index.umd.js"),require("../filter-bar/index.umd.js"),require("../field-selector/index.umd.js"),require("../binding-selector/index.umd.js"),require("../image-cropper/index.umd.js"),require("../../designer/input-group/index.umd.js"),require("../layout/index.umd.js"),require("../list-nav/index.umd.js"),require("../../designer/list-view/index.umd.js"),require("../lookup/index.umd.js"),require("../mapping-editor/index.umd.js"),require("../nav/index.umd.js"),require("../number-range/index.umd.js"),require("../../designer/number-spinner/index.umd.js"),require("../order/index.umd.js"),require("../page-header/index.umd.js"),require("../page-footer/index.umd.js"),require("../pagination/index.umd.js"),require("../progress/index.umd.js"),require("../query-solution/index.umd.js"),require("../../designer/radio-group/index.umd.js"),require("../../designer/rate/index.umd.js"),require("../../designer/response-toolbar/index.umd.js"),require("../response-layout/index.umd.js"),require("../../designer/response-layout-editor/index.umd.js"),require("../search-box/index.umd.js"),require("../../designer/section/index.umd.js"),require("../smoke-detector/index.umd.js"),require("../splitter/index.umd.js"),require("../step/index.umd.js"),require("../../designer/switch/index.umd.js"),require("../../designer/tabs/index.umd.js"),require("../../designer/tags/index.umd.js"),require("../text/index.umd.js"),require("../../designer/time-picker/index.umd.js"),require("../transfer/index.umd.js"),require("../tree-view/index.umd.js"),require("../uploader/index.umd.js"),require("../verify-detail/index.umd.js"),require("../video/index.umd.js"),require("../../designer/textarea/index.umd.js"),require("../schema-selector/index.umd.js"),require("../../designer/tree-grid/index.umd.js"),require("../event-parameter/index.umd.js"),require("../filter-condition-editor/index.umd.js"),require("../fieldset/index.umd.js"),require("../sort-condition-editor/index.umd.js"),require("../menu-lookup/index.umd.js"),require("../../designer/drawer/index.umd.js"),require("../json-editor/index.umd.js"),require("../property-editor/index.umd.js"),require("../expression-editor/index.umd.js"),require("../code-editor/index.umd.js"),require("../html-template/index.umd.js"),require("../collection-property-editor/index.umd.js"),require("../../designer/modal/index.umd.js"),require("../external-container/index.umd.js"),require("../language-textbox/index.umd.js"),require("../image/index.umd.js"),require("../comment/index.umd.js"),require("../property-panel/index.umd.js"),require("../notify/index.umd.js"),require("../tree-grid/index.umd.js"),require("bignumber.js")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","lodash-es","../locale/index.umd.js","../common/index.umd.js","@vueuse/core","../data-view/index.umd.js","../input-group/index.umd.js","../button/index.umd.js","../dynamic-view/index.umd.js","../section/index.umd.js","../accordion/index.umd.js","../avatar/index.umd.js","../../designer/button-edit/index.umd.js","../button-group/index.umd.js","../calendar/index.umd.js","../../designer/capsule/index.umd.js","../../designer/checkbox/index.umd.js","../../designer/checkbox-group/index.umd.js","../combo-list/index.umd.js","../combo-tree/index.umd.js","../component/index.umd.js","../color-picker/index.umd.js","../content-container/index.umd.js","../../designer/date-picker/index.umd.js","../../designer/data-grid/index.umd.js","../dropdown/index.umd.js","../../designer/dynamic-form/index.umd.js","../events-editor/index.umd.js","../filter-bar/index.umd.js","../field-selector/index.umd.js","../binding-selector/index.umd.js","../image-cropper/index.umd.js","../../designer/input-group/index.umd.js","../layout/index.umd.js","../list-nav/index.umd.js","../../designer/list-view/index.umd.js","../lookup/index.umd.js","../mapping-editor/index.umd.js","../nav/index.umd.js","../number-range/index.umd.js","../../designer/number-spinner/index.umd.js","../order/index.umd.js","../page-header/index.umd.js","../page-footer/index.umd.js","../pagination/index.umd.js","../progress/index.umd.js","../query-solution/index.umd.js","../../designer/radio-group/index.umd.js","../../designer/rate/index.umd.js","../../designer/response-toolbar/index.umd.js","../response-layout/index.umd.js","../../designer/response-layout-editor/index.umd.js","../search-box/index.umd.js","../../designer/section/index.umd.js","../smoke-detector/index.umd.js","../splitter/index.umd.js","../step/index.umd.js","../../designer/switch/index.umd.js","../../designer/tabs/index.umd.js","../../designer/tags/index.umd.js","../text/index.umd.js","../../designer/time-picker/index.umd.js","../transfer/index.umd.js","../tree-view/index.umd.js","../uploader/index.umd.js","../verify-detail/index.umd.js","../video/index.umd.js","../../designer/textarea/index.umd.js","../schema-selector/index.umd.js","../../designer/tree-grid/index.umd.js","../event-parameter/index.umd.js","../filter-condition-editor/index.umd.js","../fieldset/index.umd.js","../sort-condition-editor/index.umd.js","../menu-lookup/index.umd.js","../../designer/drawer/index.umd.js","../json-editor/index.umd.js","../property-editor/index.umd.js","../expression-editor/index.umd.js","../code-editor/index.umd.js","../html-template/index.umd.js","../collection-property-editor/index.umd.js","../../designer/modal/index.umd.js","../external-container/index.umd.js","../language-textbox/index.umd.js","../image/index.umd.js","../comment/index.umd.js","../property-panel/index.umd.js","../notify/index.umd.js","../tree-grid/index.umd.js","bignumber.js"],o):(B=typeof globalThis<"u"?globalThis:B||self,o(B.component={},B.Vue,B.dynamicResolver,B.designerCanvas,B.LodashES,B.locale,B.common,B.VueUseCore,B.dataView,B.FInputGroup,B.FButton,B.dynamicView,B.FSection,B.FAccordion,B.FAvatar,B.FButtonEdit,B.FButtonGroup,B.FCalendar,B.FCapsule,B.FCheckbox,B.FCheckboxGroup,B.FComboList,B.FComboTree,B.FComponent,B.FColorPicker,B.FContentContainer,B.FDatePicker,B.FDataGrid,B.FDropdown,B.FDynamicForm$1,B.FEventsEditor,B.FFilterBar,B.FFieldSelector,B.FBindingSelector,B.FImageCropper,B.FInputGroup$1,B.FLayout,B.FListNav,B.FListView,B.FLookup,B.FMappingEditor,B.FNav,B.FNumberRange,B.FNumberSpinner,B.FOrder,B.FPageHeader,B.FPageFooter,B.FPagination,B.FProgress,B.FQuerySolution,B.FRadioGroup,B.FRate,B.FResponseToolbar,B.FResponseLayout,B.FResponseLayoutEditorSetting,B.FSearchBox,B.FSection$1,B.FSmokeDetector,B.FSplitter,B.FStep$1,B.FSwitch,B.FTabs,B.FTags,B.FText,B.FTimePicker,B.FTransfer,B.FTreeview,B.FUploader,B.FVerifyDetail,B.FVideo,B.FTextArea,B.FSchemaSelector,B.FTreeGrid$1,B.FEventParameter,B.FFilterConditionEditor,B.FFieldset,B.FSortConditionEditor,B.FMenuLookup,B.FDrawer,B.FJsonEditor,B.FPropertyEditor,B.FExpressionEditor,B.FCodeEditor,B.FHtmlTemplate,B.FCollectionPropertyEditor,B.FModal$1,B.FExternalContainer,B.FLanguageTextbox,B.FImage,B.FComment,B.propertyPanel,B.notify,B.FTreeGrid$2))})(this,function(B,o,Fe,O,Te,We,Be,cn,ae,un,dn,Ye,fn,mn,pn,gn,hn,yn,vn,At,Ut,bn,Cn,wn,xn,Fn,Tn,Sn,Vn,Nn,In,En,Mn,kn,jn,Bn,Dn,On,Pn,Rn,$n,Ln,qn,An,Un,zn,_n,Hn,Gn,Wn,Yn,Xn,Qn,Jn,Zn,Kn,eo,to,no,oo,ro,io,ao,lo,so,co,uo,fo,mo,po,go,ho,yo,vo,bo,Co,wo,xo,Fo,To,So,Vo,No,Io,Eo,Mo,ko,jo,Bo,Do,Oo,Po,Ro){"use strict";var Pi=Object.defineProperty;var Ri=(B,o,Fe)=>o in B?Pi(B,o,{enumerable:!0,configurable:!0,writable:!0,value:Fe}):B[o]=Fe;var le=(B,o,Fe)=>Ri(B,typeof o!="symbol"?o+"":o,Fe);const zt=new Map([["appearance",Fe.resolveAppearance]]),$o={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/component.schema.json",title:"component",description:"A Farris Visual Component",type:"object",properties:{id:{description:"The unique identifier for a component",type:"string"},type:{description:"The type string of component",type:"string",default:"component"},componentType:{description:"The type string of component",type:"string"},viewModel:{description:"The viewModel string of component",type:"string"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},contents:{description:"",type:"array",default:[]},visible:{description:"",type:"boolean",default:!0},onInit:{description:"初始化事件",type:"string",default:""},onAfterViewInit:{description:"视图初始化后事件",type:"string",default:""}},required:["id","type","contents"],events:{onInit:"初始化事件",onAfterViewInit:"视图初始化后事件"}};function _t(e,t,n){return t}const st={id:{type:String,default:""},customClass:{type:String,default:""},customStyle:{type:String,default:""},componentType:{type:String,default:""},formColumns:{type:Number,default:4},code:{type:String,default:""}},Tt=Fe.createPropsResolver(st,$o,zt,_t),Lo=Object.assign({},st,{componentId:{type:String,default:""}}),pt=o.defineComponent({name:"FComponent",props:st,emits:["init","afterViewInit"],setup(e,t){const n=o.ref();return o.onBeforeMount(()=>{t.emit("init",e.id)}),o.onMounted(()=>{n.value&&e.code&&n.value.setAttribute("scope-"+e.code.toLowerCase(),""),t.emit("afterViewInit",e.id)}),()=>o.createVNode("div",{ref:n,class:e.id+" "+e.customClass,style:e.customStyle,id:e.id},[t.slots.default&&t.slots.default()])}});function qo(e){const{formSchemaUtils:t,formStateMachineUtils:n}=e;function r(s,c=""){return{path:c+s.code,field:s.id,fullPath:s.code}}function i(s,c=""){const g=t.getViewModelById(s);return g?g.states.map(f=>r(f,c)):[]}function l(s){const c=t.getRootViewModelId(),g=i(s);if(s===c)return g;const f=i(c,"root-component.");return[...g,...f]}function a(s){return s.binding&&s.binding.path||s.id||""}function u(){return n&&n.getRenderStates()||[]}return{getVariables:l,getControlName:a,getStateMachines:u}}class Ao{constructor(t){le(this,"sessionVariables",[{key:"CurrentSysOrgName",name:"当前组织Name",description:"当前组织Name"},{key:"CurrentSysOrgId",name:"当前组织Id",description:"当前组织Id"},{key:"CurrentUserName",name:"当前用户Name",description:"当前用户Name"},{key:"CurrentUserCode",name:"当前用户Code",description:"当前用户Code"},{key:"CurrentUserId",name:"当前用户Id",description:"当前用户Id"},{key:"CurrentLanguage",name:"当前语言编号",description:"当前登录的语言编号,例如简体中文返回'zh-CHS',英文返回'en',繁体中文'zh-CHT'"}]);le(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});le(this,"getExpressionConverter",(t,n)=>({convertFrom:(r,i,l,a)=>{const u=l.getExpressionRuleValue(t,n||i);return u&&u.value||""},convertTo:(r,i,l,a,u)=>{var s;if(i==="dataPicking"&&(l!=null&&l.target)){const c=`${l.target}_dataPicking`;((s=l.rules)==null?void 0:s.some(f=>f.id===c&&f.value))?r.dictPickingExpressionId=c:delete r.dictPickingExpressionId}a.updateExpression(l)}}));this.formSchemaService=t}getExpressionRule(t,n){const r=this.getExpressionData();if(!r)return"";const i=r.find(a=>a.target===t);if(!i)return"";const l=i.rules.find(a=>a.type===n);return l||""}getContextFormVariables(){const{module:t}=this.formSchemaService.getFormSchema();if(!t.viewmodels||t.viewmodels.length===0)return[];const n=this.formSchemaService.getRootViewModelId(),r=this.formSchemaService.getViewModelById(n);if(!r||!r.states||r.states.length===0)return[];const i=[];return r.states.filter(l=>l.category==="remote").forEach(l=>{i.push({key:l.code,name:l.name,description:l.name,category:l.category})}),i}createTreeNode(t,n,r="label"){return{id:t.id,name:t.name,bindingPath:t[r],parents:n,type:"field"}}buildEntityFieldsTreeData(t=null,n){const r=[];return t==null||t.forEach(i=>{var u;const l=this.createTreeNode(i,n);let a=[];(u=i.type)!=null&&u.fields&&(a=this.buildEntityFieldsTreeData(i.type.fields,[...n,i.label])),r.push({data:l,children:a,expanded:!0})}),r}buildChildEntityTreeData(t=null,n){const r=[];return t==null||t.forEach(i=>{var s,c;const l=this.createTreeNode(i,n);l.type="entity";const a=this.buildEntityFieldsTreeData((s=i.type)==null?void 0:s.fields,[...n,i.label]),u=this.buildChildEntityTreeData((c=i.type)==null?void 0:c.entities,[...n,i.label]);u!=null&&u.length&&(a==null||a.push(...u)),r.push({data:l,children:a||[],expanded:!0})}),r}getEntitiesTreeData(){const t=this.formSchemaService.getSchemaEntities();if(!(t!=null&&t.length))return[];const n=t[0];if(!(n!=null&&n.type))return[];const r=this.buildEntityFieldsTreeData(n.type.fields,[n.code]),i=this.buildChildEntityTreeData(n.type.entities,[n.code]);return i!=null&&i.length&&(r==null||r.push(...i)),{entityCode:n.code,fields:[{data:this.createTreeNode(n,[],"code"),children:r||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(t,n,r){const i=r==="Field"?t.binding.field:t.id,l=this.getExpressionRule(i,n),a=this.getEntitiesAndVariables(),u={message:["validate","required","dataPicking"].includes(n)&&l?l.message:"",...a};return l.messageType!=null&&(u.messageType=l.messageType),u}buildRule(t,n,r,i){const{expression:l,message:a,messageType:u}=n,s={id:`${t}_${r}`,type:r,value:l};return(r==="validate"||r==="dataPicking"||r==="required")&&(s.message=a),r==="dataPicking"&&(s.messageType=u),r==="validate"&&i&&(s.elementId=i),s}getExpressionData(){const{expressions:t}=this.formSchemaService.getFormSchema().module;return t||[]}updateExpression(t,n,r,i){const l=n==="Field"?t.binding.field:t.id,a=this.buildRule(l,r,i,t.type==="form-group"?t.id:"");let s=this.getExpressionData().find(g=>g.targetType===n&&g.target===l);const c=g=>g.value.trim()==="";if(s){const g=s.rules.find(f=>f.id===a.id);if(g)c(a)?s.rules=s.rules.filter(f=>f.id!==a.id):(Object.assign(g,a),i==="validate"&&t.type==="form-group"&&(g.elementId=t.id));else{if(c(a))return null;s.rules=s.rules||[],s.rules.push(a)}}else{if(c(a))return null;s={target:`${l}`,rules:[a],targetType:n}}return s}getExpressionEditorOptions(t,n,r,i){return r.reduce((l,a)=>{var s,c;const u=n==="Field"?(s=t==null?void 0:t.binding)==null?void 0:s.field:t.id;return l[a]={hide:n==="Field"?!!((c=t==null?void 0:t.binding)!=null&&c.field):!1,description:"",title:this.expressionNames[a],type:"string",$converter:this.getExpressionConverter(u),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[a]}编辑器`,showMessage:a==="validate"||a==="dataPicking"||a==="required",showMessageType:a==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(t,a,n),onSubmitModal:g=>{const f=this.updateExpression(t,n,g,a);if(i){const p=this.buildRule(u,g,a);i(p)}return f}}},l},{})}getExpressionInfo(t,n,r){const i=n==="Field"?t.binding.field:t.id,l=this.getExpressionRule(i,r),a={value:l&&l.value,targetId:i,targetType:n,expressionType:r};return l&&l.message&&(a.message=l.message),a}getExpressionConfig(t,n,r=["compute","dependency","validate"],i){return{description:"表达式",title:"表达式",hide:!t.binding,properties:{...this.getExpressionEditorOptions(t,n,r,i)}}}getExpressionOptions(t,n,r){const i=this.getExpressionInfo(t,n,r);return{dialogTitle:`${this.expressionNames[r]||"表达式"}编辑器`,singleExpand:!1,showMessage:r==="required",beforeOpen:()=>this.onBeforeOpenExpression(t,r,n),expressionInfo:i}}}class Uo{constructor(t,n){le(this,"componentId");le(this,"viewModelId");le(this,"eventsEditorUtils");le(this,"formSchemaUtils");le(this,"formMetadataConverter");le(this,"designViewModelUtils");le(this,"designViewModelField");le(this,"controlCreatorUtils");le(this,"designerHostService");le(this,"designerContext");le(this,"modalService",null);le(this,"formRule",null);le(this,"schemaService",null);le(this,"metadataService",null);le(this,"propertyConfig",{type:"object",categories:{}});le(this,"expressionProperty");var r;this.componentId=t,this.designerHostService=n,this.eventsEditorUtils=n.eventsEditorUtils,this.formSchemaUtils=n.formSchemaUtils,this.formMetadataConverter=n.formMetadataConverter,this.viewModelId=((r=this.formSchemaUtils)==null?void 0:r.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=n.designViewModelUtils,this.controlCreatorUtils=n.controlCreatorUtils,this.metadataService=n.metadataService,this.schemaService=n.schemaService,this.designerContext=n.designerContext,this.modalService=n.modalService,this.expressionProperty=new Ao(this.formSchemaUtils)}getFormDesignerInstance(){var t,n;return(n=(t=this.designerContext)==null?void 0:t.instances)==null?void 0:n.formDesigner.value}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){var r;const n=t.binding&&t.binding.type==="Form"&&t.binding.field;if(n){if(!this.designViewModelField){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(l=>l.id===n)}t.updateOn=(r=this.designViewModelField)==null?void 0:r.updateOn}}getBasicPropConfig(t){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",idField:"value",editable:!1,data:[{value:t.type,name:O.DgControl[t.type]&&O.DgControl[t.type].name}]}}}}}getAppearanceConfig(t=null,n={},r){const i={title:"外观",description:"Appearance"},l={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"}};for(const a in n)l[a]=Object.assign(l[a]||{},n[a]);return{...i,properties:{...l},setPropertyRelates(a,u){if(a){switch(a&&a.propertyID){case"class":case"style":{O.canvasChanged.value++;break}}r&&r(a,t,u)}}}}getPropertyEditorParams(t,n=[],r="visible",i={},l={},a=""){const{getVariables:u,getControlName:s,getStateMachines:c}=qo(this.designerHostService),g=this.getRealTargetType(t),f=n&&n.length>0?n:["Const","Variable","StateMachine","Expression"],p={type:"property-editor",propertyTypes:f};return f.map(y=>{switch(y){case"Const":Object.assign(p,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},i);break;case"Expression":p.expressionConfig=this.getExpressionOptions(t,g,a||r);break;case"StateMachine":p.stateMachines=c();break;case"Variable":Object.assign(p,{controlName:s(t),newVariablePrefix:"is",newVariableType:"Boolean",variables:u(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:m=>{m.value=u(this.viewModelId)}},l),this.designerContext.designerMode==="PC_RTC"&&(p.newVariablePrefix="ext_"+p.newVariablePrefix);break}}),p}getVisibleProperty(t,n=""){var l;let r=["Const","Variable","StateMachine","Expression"];return n==="gridFieldEditor"?r=["Const","Expression"]:n==="form-group"&&!((l=t.binding)!=null&&l.field)&&(r=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(t,r,"visible")}}}getBehaviorConfig(t,n="",r={},i){const l={title:"行为",description:""},a=this.getVisibleProperty(t,n);for(const s in r)a[s]=Object.assign(a[s]||{},r[s]);const u=this;return{...l,properties:{...a},setPropertyRelates(s,c){if(s){switch(s.propertyID){case"disabled":case"readonly":case"visible":u.afterMutilEditorChanged(t,s);break}i&&i(s,c)}}}}afterMutilEditorChanged(t,n){this.addNewVariableToViewModel(n,this.viewModelId),this.updateExpressionValue(n,t),this.clearExpression(n,t)}updateElementByParentContainer(t,n){const r=n&&n.parent&&n.parent.schema;if(!r)return;const i=r.contents.findIndex(a=>a.id===t),l=Te.cloneDeep(r.contents[i]);r.contents.splice(i,1),r.contents.splice(i,0,l),O.refreshCanvas()}addNewVariableToViewModel(t,n){const r=t.propertyValue;if(!(r&&typeof r=="object")||!(r.type==="Variable"&&r.isNewVariable))return;const a={id:r.field,category:"locale",code:r.fullPath,name:r.fullPath,type:r.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete r.newVariableType,delete r.isNewVariable,this.formSchemaUtils.getVariableByCode(a.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(a)}getExpressions(){let t=[];return this.formRule?(this.formRule.expressions=this.formRule.expressions||[],t=this.formRule.expressions||[]):t=this.formSchemaUtils.getExpressions(),t}updateExpressionValue(t,n){const r=t.propertyValue;if(!((r&&r.type)==="Expression"&&r.expressionInfo))return;const{expressionId:a,expressionInfo:u}=r,{targetId:s,targetType:c,expressionType:g,value:f,message:p}=u,y=this.getExpressions();let m=y.find(F=>F.target===s);m||(m={target:s,rules:[],targetType:c},y.push(m));const w=m.rules.find(F=>F.type===g);if(w)w.value=f,w.message=p,(g==="minDate"||g==="maxDate"||g==="defaultTime")&&(w.elementId=n.id);else{const F={id:a,type:g,value:f,message:p,elementId:n.id};m.rules.push(F)}delete r.expressionInfo}clearExpression(t,n){const r=t.propertyValue;if(r&&r.type==="Expression")return;const l=t.propertyID,a=this.getExpressions(),u=n.binding?n.binding.field:n.id,s=a.find(c=>c.target===u);!s||!s.rules||(s.rules=s.rules.filter(c=>c.type!==l))}getExpressionOptions(t,n,r){return this.expressionProperty.getExpressionOptions(t,n,r)}getRealTargetType(t){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(t.type)>-1?"Button":t.binding&&t.binding.field?"Field":"Container"}createBaseEventProperty(t){const n={};return n[this.viewModelId]={type:"events-editor",editor:{initialData:t,viewSourceHandle:r=>{var i;((i=r.controller)==null?void 0:i.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(r)}}},n}}class zo extends Uo{constructor(t,n){super(t,n)}getPropertyConfig(t){return this.propertyConfig.categories.basic=this.getBasicPropConfig(t),this.propertyConfig.categories.appearance=this.getAppearancePropConfig(t),this.getBehaviorConfig(t),this.getEventPropConfig(t),this.propertyConfig}getAppearancePropConfig(t){const n=this.formSchemaUtils.getViewModelById(this.viewModelId);t.name=n?n.name:null;const r=this;return this.getAppearanceConfig(t,{name:{title:"组件名称",type:"string",description:"组件名称",defaultValue:t.name}},(l,a,u)=>{switch(l.propertyID){case"name":r.syncChangesToViewModel({name:l.propertyValue}),delete a.name;break}})}getEventPropConfig(t){const n=[{label:"onInit",name:"初始化事件"},{label:"onAfterViewInit",name:"视图初始化后事件"}];this.designerContext&&this.designerContext.responsiveForm&&t.componentType==="frame"&&n.push({label:"goBack",name:"原生返回事件"});const r=this,i=r.eventsEditorUtils.formProperties(t,r.viewModelId,n),l=r.createBaseEventProperty(i);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:l,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,u){const s=a.propertyValue;delete t[r.viewModelId],s&&(s.setPropertyRelates=this.setPropertyRelates,r.eventsEditorUtils.saveRelatedParameters(t,r.viewModelId,s.events,s))}}}getBehaviorConfig(t){const n=this.formSchemaUtils.getViewModelById(this.viewModelId),r=n?n.enableValidation:null,i=this;this.propertyConfig.categories.behavior={title:"行为",description:"",properties:{enableValidation:{title:"启用校验",type:"boolean",description:"运行时组件是否启用校验",defaultValue:r}},setPropertyRelates:l=>{if(l)switch(l.propertyID){case"enableValidation":{i.syncChangesToViewModel({enableValidation:l.propertyValue}),delete t.enableValidation;break}}}}}syncChangesToViewModel(t){const n=this.formSchemaUtils.getViewModelById(this.viewModelId);n&&Object.assign(n,t)}}const _o={showCloseButton:{type:Boolean,default:!0},position:{type:String,default:"top-center"},timeout:{type:Number,default:3e3},theme:{type:String,default:"bootstrap"},left:{type:Number},right:{type:Number},top:{type:Number},bottom:{type:Number},id:{type:String},animate:{type:String,default:"fadeIn"},options:{type:Object},safeHtml:{type:Boolean,default:!0}},Ho={showCloseButton:{type:Boolean,default:!0},animate:{type:String,default:"fadeIn"},options:{type:Object}},St=o.defineComponent({name:"Toast",props:Ho,emits:["close","click"],setup:(e,t)=>{const n=o.ref(e.animate),r="fadeOut",i=o.computed(()=>e.options),l=o.ref(!1),a=o.computed(()=>i.value.title&&i.value.message),u=o.computed(()=>!i.value.title&&i.value.message),s=o.computed(()=>{const T={animated:l.value,toast:!0,"toast--only-content":!a.value};return T[e.animate]=!1,T[r]=l.value,T["toasty-type-"+i.value.type]=!0,i.value.theme&&(T[i.value.theme]=!0),T}),c=o.computed(()=>{const V=`f-icon-${i.value&&i.value.type?i.value.type.replace("toasty-type-",""):"default"}`,C={"f-icon":!0};return C[V]=!0,C}),g=o.computed(()=>i.value.title||i.value.message),f=o.computed(()=>e.showCloseButton),p=o.computed(()=>!!i.value.buttons||!!t.slots.default),y=o.computed(()=>We.LocaleService.getLocale()==="en"?{wordBreak:"keep-all",overflowWrap:"break-word"}:{});function m(T){T.stopPropagation(),T.preventDefault(),l.value=!1,setTimeout(()=>{t.emit("close",i.value)},200)}function w(T,M){}function F(T){return`f-preten-link ${T.customClass?T.customClass:""}`}o.watch(n,()=>{n.value});const S=()=>{var T;return o.createVNode(o.Fragment,null,[o.createVNode("div",{class:"after-toast-msg text-right"},[!t.slots.default&&((T=i.value.buttons)==null?void 0:T.map(M=>o.createVNode("span",{class:F(M),onClick:V=>void 0},[M.text]))),t.slots.default&&t.slots.default()])])};return()=>o.createVNode("div",{class:s.value,style:"min-height:44px"},[f.value&&o.createVNode("button",{title:We.LocaleService.getLocaleValue("messageBox.close"),class:"toast-close f-btn-icon f-bare",onClick:m},[o.createVNode("span",{class:"f-icon modal_close"},null)]),g.value&&o.createVNode("section",{class:"modal-tips"},[!a.value&&o.createVNode("div",{class:"float-left modal-tips-iconwrap"},[o.createVNode("span",{class:c.value},null)]),o.createVNode("div",{class:"modal-tips-content"},[a.value&&o.createVNode(o.Fragment,null,[o.createVNode("h5",{class:"toast-title modal-tips-title",innerHTML:i.value.title},null),o.createVNode("p",{class:"toast-msg",innerHTML:i.value.message,style:y.value},null),p.value&&S()]),u.value&&(i.value.buttons?o.createVNode("div",{class:"toast-title-btns-wrapper d-flex"},[o.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",style:y.value,innerHTML:i.value.message},null),o.createVNode("div",{class:"after-toast-title text-right ml-auto"},[S()])]):o.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",style:y.value,innerHTML:i.value.message},null))])])])}}),gt=o.defineComponent({name:"Notify",props:_o,emits:["close","empty"],setup(e,t){const n=o.computed(()=>({"farris-notify":!0})),r={left:12,right:12,top:20,bottom:12},i=o.ref(),l=o.ref(e.options),a=o.ref(e.showCloseButton),u=o.computed(()=>e.position||"bottom-right"),s=o.computed(()=>e.timeout!=null?e.timeout:3e3),c=o.computed(()=>{const p=e.bottom?e.bottom:r.bottom,y=e.top?e.top:r.top,m={transition:"all 0.2s ease",left:u.value.indexOf("left")>-1?`${e.left?e.left:r.left}px`:"",right:u.value.indexOf("right")>-1?`${e.right?e.right:r.right}px`:"",top:u.value.indexOf("top")>-1?`${y}px`:"",bottom:u.value.indexOf("bottom")>-1?`${p}px`:""};return u.value.indexOf("center")>-1&&(m.left="50%",m.marginLeft="calc(-24rem / 2)",u.value==="center-center"&&(m.top="50%",m.transform="translate(-50%, -50%)")),m});function g(p){t.emit("close")}s.value&&setTimeout(()=>{g()},s.value),t.expose({closeToast:g,container:i,notifyPosition:u});function f(p,y){g()}return()=>o.createVNode("div",{class:n.value,style:c.value,ref:i},[o.createVNode(St,{options:l.value,showCloseButton:a.value,animate:e.animate,onClose:p=>f(p,l.value)},null)])}});class Vt{constructor(){le(this,"notifyRefs",[]);le(this,"globalConfig",o.reactive({}))}escapeAllHtml(t){if(typeof t!="string"||!t)return"";const n=document.createElement("div");return n.textContent=t||"",n.innerHTML.replace(/\\n/g,"<br>").replace(/\\t/g,"&nbsp;&nbsp;&nbsp;&nbsp;").replace(/\\r/g,"")}createNotifyInstance(t){const n=this,i=Object.assign({timeout:3e3,position:"bottom-right",showCloseButton:!0,safeHtml:!0},this.globalConfig,{...t}),l=document.createElement("div");l.style.display="contents";const a=o.createApp({setup(){var c;const u=o.ref();function s(){u.value.container.style.transform="scale(0)",setTimeout(()=>{n.updateNotifyPositionForClose(i,u),a.unmount()},220)}if(i.position.indexOf("top")>-1){const g=n.getNotifyInstances(i.position),f=g[g.length-1];if(f){const p=f.value.container.getBoundingClientRect();i.top=p.bottom}}return i.safeHtml&&((c=i.options)!=null&&c.message)&&(i.options.message=n.escapeAllHtml(i.options.message)),o.onUnmounted(()=>{document.body.removeChild(l)}),o.onMounted(()=>{n.updateNotifyPositionForCreate(i,u)}),()=>o.createVNode(o.Transition,{mode:"out-in",name:"fade",appear:!0},{default:()=>[o.createVNode(gt,o.mergeProps({ref:u},i,{onClose:s}),null)]})}});return a.provide("NotifyService",this),document.body.appendChild(l),a.use(We.LocaleService.i18n),a.mount(l),a}getNotifyInstances(t){return this.notifyRefs.filter(n=>n.value.notifyPosition===t)}updateNotifyPositionForCreate(t,n){if(this.notifyRefs&&this.notifyRefs.length){const r=window.innerHeight;t.position.indexOf("bottom")>-1&&this.getNotifyInstances(t.position).forEach(i=>{const l=i.value.container.getBoundingClientRect();i.value.container.style.bottom=l.height+r-l.bottom+"px"})}this.notifyRefs=[...this.notifyRefs,n]}updateNotifyPositionForClose(t,n){const r=this.notifyRefs.indexOf(n);if(t.position.indexOf("top")>-1){const i=this.getNotifyInstances(t.position),l=i.indexOf(n);i.slice(l+1).forEach(a=>{a.value.container.style.top=a.value.container.offsetTop-a.value.container.offsetHeight+"px"})}r>-1&&this.notifyRefs.splice(r,1)}show(t){return this.createNotifyInstance(t)}buildNotifyProps(t,n){let r="",i="",l,a,u;typeof n=="string"?r=n:n&&(r=n.message||"",i=n.title||"",a=n.position||null,u=n.showCloseButton!=null?n.showCloseButton:null,l=n.timeout!=null?n.timeout:null);const c={options:{type:t,message:r,title:i}};return a!=null&&(c.position=a),u!=null&&(c.showCloseButton=u),l!=null&&(c.timeout=l),c}info(t){const n=this.buildNotifyProps("info",t);return this.show(n)}success(t){const n=this.buildNotifyProps("success",t);return this.show(n)}warning(t){const n=this.buildNotifyProps("warning",t);return this.show(n)}error(t){const n=this.buildNotifyProps("error",t);return this.show(n)}close(t){t&&t.unmount()}closeAll(){this.notifyRefs.forEach(t=>{t==null||t.value.closeToast()}),this.notifyRefs.length=0}}const Go=Symbol("NOTIFY_SERVICE_TOKEN");gt.install=e=>{e.component(gt.name,gt),e.component(St.name,St);const t=new Vt;e.provide(Go,t),e.provide("FNotifyService",t)};const Wo={designerHostService:{type:Object,default:{}},componentType:{type:String,default:""},bindingEntityId:{type:String,default:""},steps:{type:Array,default:["selectEntity","selectFields"]},targetComponentInstance:{type:Object,default:{}}};`${We.LocaleService.getLocaleValue("datagrid.loadingMessage")}`;const Yo={customClass:{type:String,default:""},sort:{type:Object},filter:{type:Object},autoCheckChildren:{type:Boolean,default:!1},columns:{type:Array,default:[]},columnOption:{type:Object},commandOption:{type:Object,default:{enable:!1,commands:[]}},data:{type:Array,default:[]},disabled:{type:Boolean,default:!1},disabledField:{type:String,default:"disabled"},displayField:{type:String,default:"name"},editable:{type:Boolean,default:!1},editOption:{type:Object,default:{selectOnEditing:!1,editMode:"cell"}},fit:{type:Boolean,default:!1},header:{type:Object},height:{type:Number,default:-1},hierarchy:{type:Object,default:{cascadeOption:{autoCancelParent:!0,autoCheckChildren:!1,autoCheckParent:!1,selectionRange:"All"},parentIdField:"parent"}},id:{type:String,default:""},idField:{type:String,default:"id",require:!0},loadData:{type:Function},loading:{type:Boolean,default:!1},minHeight:{type:Number,default:300},minWidth:{type:Number,default:400},newDataItem:{type:Function,default:()=>{}},pagination:{type:Object,default:{enable:!1,size:-1}},rowNumber:{type:Object,default:{enable:!0,width:36,heading:"序号"}},rowOption:{type:Object,default:{wrapContent:!1}},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!1}},selectionValues:{type:Array,default:[]},showBorder:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0},showHorizontalLines:{type:Boolean,default:!0},showLines:{type:Boolean,default:!1},showOptions:{type:Boolean,default:!1},showScrollBar:{type:String,default:"auto"},showSetting:{type:Boolean,default:!1},showStripe:{type:Boolean,default:!0},showTreeNodeIcons:{type:Boolean,default:!1},showVerticallLines:{type:Boolean,default:!1},treeNodeIconsData:{type:[Object,String],default:{}},width:{type:Number,default:-1},virtualized:{type:Boolean,default:!1},emptyTemplate:{type:Object},summary:{type:Object,default:{enable:!1,groupFields:["numericField1","numericField2"]}},autoHeight:{type:Boolean,default:!1},checkboxPosition:{type:String,default:"after-expand"},enableColumnSettingSolution:{type:Boolean,default:!1},searchable:{type:Boolean,default:!1},customSearch:{type:Function}};function Xo(e,t,n,r,i,l,a,u,s,c,g,f,p,y,m,w,F,S,T){const{calculateCellPositionInRow:M}=l,{columnContext:V,hasLeftFixedColumn:C,hasRightFixedColumn:N}=a,{gridDataStyle:j,leftFixedGridDataStyle:h,rightFixedGridDataStyle:b}=y,{renderDataRow:d}=ae.getHierarchyRow(e,t,V,F,u,s,c,g,f,p,y,m,w,S,T),v=[d];function E(X,$){const R=M(X);return F.value.filter(Z=>Z.visible!==!1).map((Z,W)=>v[Z.type](Z,R,$,W))}function q(){return o.createVNode("div",{ref:r,class:"fv-grid-content-left-fixed"},[o.createVNode("div",{class:"fv-grid-data",style:h.value},[E(V.value.leftColumns.filter(X=>X.visible),"left")])])}function I(){return o.createVNode("div",{ref:n,class:"fv-grid-content-primary"},[o.createVNode("div",{class:"fv-grid-data",style:j.value},[E(V.value.primaryColumns.filter(X=>X.visible),"primary")])])}function L(){return o.createVNode("div",{ref:i,class:"fv-grid-content-right-fixed"},[o.createVNode("div",{class:"fv-grid-data",style:b.value},[E(V.value.rightColumns.filter(X=>X.visible),"right")])])}function A(){const X=[];return C.value&&X.push(q()),X.push(I()),N.value&&X.push(L()),X}return{renderDataArea:A}}const Nt=o.defineComponent({name:"FTreeGrid",props:Yo,emits:["selectionChange","clickRow","expandNode","unSelectItem","dblclickNode","doubleClickRow","unSelectItem","selectItem","filterChanged","unSelectAll","selectAll","sortChanged","selectionUpdate","endEditCell"],setup(e,t){var ln,sn;const n=o.ref(!1),r=o.ref(!1),i=0,l=o.ref(((ln=e.rowOption)==null?void 0:ln.height)||28);let a=[],u=[];const s=o.ref(20),c=o.ref(e.columns),g=ae.useIdentify(e),{idField:f}=g,p=o.ref(),y=o.ref(),m=o.ref(),w=o.ref(),F=o.ref(),S=o.ref([]),T=o.ref(!1),M=o.ref(((sn=e.rowOption)==null?void 0:sn.wrapContent)||!1),V=ae.useGroupData(e,g),C=ae.useFilter(e,t),N=ae.useHierarchy(e),{collapseField:j}=N,{showLoading:h,renderLoading:b}=ae.useLoading(e,p),d=ae.useDataView(e,new Map,C,N,g),{dataView:v}=d,E=ae.useSelection(e,d,g,S,t),{showSelection:q,selectedValues:I}=E,L=ae.useSelectHierarchyItem(e,S,d,g,E,t),A=o.computed(()=>e.disabled),X=o.computed(()=>e.virtualized?Math.min(d.dataView.value.length,s.value):d.dataView.value.length),$=ae.usePagination(e,d),{shouldRenderPagination:R}=$,{containerStyleObject:Z}=ae.useDataViewContainerStyle(e,S),W=o.ref(""),te=o.ref([]),ye=o.computed(()=>e.searchable||!1),me=o.ref(0),oe=ae.useCommandColumn(e),{applyCommands:xe}=oe;xe(c);const{applyColumnSetting:De,removeColumnSetting:be}=ae.useSettingColumn(e);e.showSetting&&De(c);const J=ae.useColumn(e,t),x=ae.useSort(e),{applyColumnSorter:ee,columnContext:K,updateColumnRenderContext:re}=J;ee(d,x);const ce=ae.useGroupColumn(e,K),Se=ae.useRow(e,t,E,g),Ie=ae.useEdit(e,t,g,Se,S),ke=ae.useVisualDataBound(e,d,l),we=ae.useVisualDataCell(e,Ie,ke),Ee=ae.useVisualDataRow(e,d,Ie,N,g,ke,we,l),Me=ae.useVisualData(e,c,d,X,i,Ee),{getVisualData:je}=Me,Oe=ae.useCellPosition(e,K,l,n),et=ae.useSidebar(e,E),{sidebarWidth:tt}=et,Ve=ae.useVirtualScroll(e,d,S,K,Me,X,i,tt,l,n),{onWheel:nt,dataGridWidth:ot,viewPortHeight:rt,viewPortWidth:Xe,resetScroll:D,updateVisibleRowsOnLatestVisibleScope:ie}=Ve,Ce=ae.useFitColumn(e,K,y,Xe,ce),{calculateColumnsSize:ve}=Ce,$e=ae.useFilterHistory(),Et=ae.useColumnFilter(y,F,d,$e,Ve),Mt=ae.useDragColumn(e,t,J,d,ce,V,Ve),kt=o.computed(()=>{const P={"fv-grid":!0,"fv-grid-bordered":e.showBorder,"fv-grid-horizontal-bordered":e.showHorizontalLines,"fv-datagrid-strip":e.showStripe};return Be.getCustomClass(P,e.customClass)}),jt=o.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":T.value,"fv-grid-wrap-content":M.value})),{renderDataArea:Bt}=Xo(e,t,m,w,F,Oe,J,d,Ie,N,Se,E,L,Ve,Me,ke,S,l,n),{renderGridHeader:Dt,renderGridColumnResizeOverlay:xt,shouldShowHeader:Ot}=ae.getColumnHeader(e,t,y,w,F,J,d,Mt,Et,C,$e,Ce,ce,E,et,x,Ve,Xe,S,r),{renderDataGridSidebar:Pt}=ae.getSidebar(e,Se,E,et,Ve),{renderDisableMask:Rt}=ae.getDisableMask(),{renderHorizontalScrollbar:$t}=ae.getHorizontalScrollbar(e,y,Ve),{renderVerticalScrollbar:Lt}=ae.getVerticalScrollbar(e,y,Ve);function Ft(){var P,Q,fe;if(y.value&&y.value.clientHeight>0&&((P=y.value)==null?void 0:P.clientWidth)>0){const ue=Math.ceil(y.value.clientHeight/l.value);ue>s.value&&(s.value=ue,ie()),rt.value=((Q=m.value)==null?void 0:Q.clientHeight)||0,ot.value=((fe=y.value)==null?void 0:fe.clientWidth)||0}y.value&&(y.value.clientHeight>0||y.value.clientWidth>0)&&ve()}o.onMounted(()=>{y.value&&(s.value=Math.max(Math.ceil(y.value.clientHeight/l.value),s.value),S.value=je(0,X.value+i-1),cn.useResizeObserver(y.value,Ft),ve(),o.nextTick(()=>{y.value&&(ot.value=y.value.clientWidth),m.value&&(Xe.value=m.value.clientWidth,rt.value=m.value.clientHeight)})),h.value&&b()}),o.onUnmounted(()=>{}),o.watch(Xe,()=>{y.value&&ve()});function qt(P){d.collapseTo(P),d.reOrderVisibleIndex(),D()}function k(P){d.expandTo(P),d.reOrderVisibleIndex(),D()}function H(){const P=E.getSelectionRow();return P?P.dataIndex-1:-1}function Y(P){const Q=P!==void 0?P:H(),fe=d.insertNewDataItem(Q===-1?0:Q);return S.value=je(0,X.value+i-1),fe}function ne(){const P=H();d.insertNewChildDataItem(P),S.value=je(0,X.value+i-1)}function de(P,Q){const fe=S.value.find(ge=>ge.raw[f.value]===Q),ue=fe?fe.dataIndex-1:-1;d.insertNewChildDataItems(P,ue)}function pe(){const P=H(),Q=L.getNextSelectableHierarchyItemId(P);d.removeHierarchyDataItem(P),S.value=je(0,X.value+i-1),Q&&L.selectItemById(Q)}function He(P){Ie.onEditingRow(P)}function Le(P){Ie.acceptEditingRow(P)}function Ue(P){Ie.cancelEditingRow(P)}function qe(P){P&&(c.value=P,xe(c),e.showSetting&&De(c),re(c.value),ee(d,x),ve())}o.watch(()=>e.columns,P=>{if(e.showSetting&&e.enableColumnSettingSolution){qe(c.value);return}qe(P)});function Pe(P,Q){P&&(d.load(P),d.reOrderVisibleIndex(),Q!=null&&Q.keepScrollPosition?Ve.scrollTo(Ve.offsetY.value):D())}function ze(P){Se.activeRowById(P)}function Ae(P,Q={isCurrent:!0}){Q!=null&&Q.isCurrent&&ze(P),L.selectItemById(P)}function Re(P){const Q=S.value.find(fe=>fe.raw[g.idField.value]===P);Q&&Se.clickRowItem(Q)}function ft(P){L.selectItemByIds(P)}function mt(){return E.getSelectedItems()}function lt(){E.clearSelection()}function di(){E.emptyCurrentRowId()}const fi=o.computed(()=>!S.value||!S.value.length),{renderEmpty:mi}=ae.getEmpty(e,t);function pi(){return E.getSelectionRow()}function gi(P,Q={clearCurrent:!0}){Q!=null&&Q.clearCurrent&&ze(""),L.unSelectItemByIds(P)}function hi(){return E.currentSelectedDataId.value}function yi(P,Q,fe){const ue=v.value.find(ge=>ge[f.value]===P);if(ue){if(Object.keys(ue).forEach(he=>{Object.prototype.hasOwnProperty.call(Q,he)&&(ue[he]=Q[he])}),fe){const{collapseField:he,disabledField:_e,checkedField:Qe,visibleField:Ge}=fe;he&&!Te.isUndefined(Q[he])&&(ue.__fv_collapse__=Q[he]),Qe&&!Te.isUndefined(Q[Qe])&&(ue.__fv_checked__=Q[Qe]),_e&&!Te.isUndefined(Q[_e])&&(ue.__fv_disabled__=Q[_e]),Ge&&!Te.isUndefined(Q[Ge])&&(ue.__fv_visible__=Q[Ge])}const ge=S.value.find(he=>he.raw[f.value]===P),se=S.value.findIndex(he=>he.raw[f.value]===P);if(ge){if(ge.raw=ue,Object.keys(ge.data).forEach(he=>{ge.data[he].updateData(ue)}),fe){const{collapseField:he,disabledField:_e,checkedField:Qe,visibleField:Ge}=fe;he&&!Te.isUndefined(Q[he])&&(ge.collapse=Q[he]),Qe&&!Te.isUndefined(Q[Qe])&&(ge.checked=Q[Qe]),_e&&!Te.isUndefined(Q[_e])&&(ge.disabled=Q[_e]),Ge&&!Te.isUndefined(Q[Ge])&&(ge.visible=Q[Ge])}S.value=[...S.value.slice(0,se),ge,...S.value.slice(se+1)],d.updateSummary()}}}function vi(P){return Object.prototype.hasOwnProperty.call(P,"raw")?d.hasRealChildren(P.raw):d.hasRealChildren(P)}function bi(P){const Q=d.dataView.value.find(fe=>fe[f.value]===P);return Q?Q[j.value]:""}function Ci(){return j.value}o.watch(()=>e.showSetting,(P,Q)=>{P!==Q&&(P?De(c):be(c),qe(c.value))});function wi(P){return S.value.filter(Q=>P.includes(Q.raw[e.idField]))}function rn(P){const Q=g.idField.value,fe=S.value.find(ue=>ue.raw[Q]===P);fe&&Se.changeRow(fe)}function xi(){E.keepSelectingOnPaging.value||lt(),d.updateVisibleDataSummary(S.value)}function Fi(P){E.updateSelectedValues(P)}function Ti(P){E.removeSelectedValues(P)}function Si(P){o.nextTick(()=>{Ve.scrollToRowByIndex(P.dataIndex-1)})}function Vi(P){let Q=P;for(;Q.parentId;){const fe=d.dataView.value.find(ue=>ue[g.idField.value]===Q.parentId);if(fe)fe[g.idField.value],d.unFold({raw:fe}),Q=fe;else break}}function Ni(P,Q){if(P.length!==Q.length)return!1;const fe=P.map(ge=>ge[g.idField.value]).sort(),ue=Q.map(ge=>ge[g.idField.value]).sort();return fe.every((ge,se)=>ge===ue[se])}function an(){if(!W.value.trim()){te.value=[],me.value=0;return}const P=[],Q=W.value.toLowerCase().trim();d.dataView.value.forEach(ue=>{var se;let ge=!1;(se=e.search)!=null&&se.customSearch?ge=e.search.customSearch(Q,ue,e.columns):e.columns.forEach(he=>{!ge&&he.field&&ue[he.field]!==void 0&&String(ue[he.field]).toLowerCase().includes(Q)&&(ge=!0)}),ge&&(P.push(ue),Vi(ue))}),!Ni(P,te.value)?(te.value=P,me.value=0):P.length>0&&(me.value=(me.value+1)%P.length),P.length>0&&o.nextTick(()=>{const ue=P[me.value];rn(ue[g.idField.value]);const ge=S.value.find(se=>se.raw[g.idField.value]===ue[g.idField.value]);ge&&Si(ge)})}function Ii(P){P.key==="Enter"&&an()}function Ei(){an()}t.expose({activeRowById:ze,addNewDataItem:Y,addNewChildDataItem:ne,addChildrenToNode:de,collapseTo:qt,expandTo:k,removeDataItem:pe,editDataItem:He,acceptDataItem:Le,cancelDataItem:Ue,updateColumns:qe,updateDataSource:Pe,selectItemById:Ae,selectItemByIds:ft,getSelectedItems:mt,clearSelection:lt,getSelectionRow:pi,clickRowItemById:Re,unSelectItemByIds:gi,getCurrentRowId:hi,reassignRowData:yi,hasChildren:vi,getCollapseField:Ci,getCollapseStatusById:bi,getVisibleDataByIds:wi,selectRowById:rn,updateDerivedData:xi,emptyCurrentRowId:di,calculateColumnsSize:ve,updateSelectedValues:Fi,removeSelectedValues:Ti});const Mi=o.computed(()=>{const P={};return Ve.shouldShowHorizontalScrollbar.value&&(P.paddingBottom="10px"),Ve.shouldShowVirticalScrollbar.value&&(P.paddingRight="10px"),P}),ki=o.computed(()=>({...Z.value,borderRadius:"5px"})),{renderDataGridPagination:Ia}=ae.getPagination(e,t,d,Ve,$,E),ji=o.computed(()=>({"d-flex":!0,"justify-content-between":R.value&&q.value,"justify-content-end":R.value&&!q.value,"position-relative":!0})),Bi=o.computed(()=>({"d-flex":!0,"align-items-center":!0}));function Di(P){const Q=P.map(se=>se.id),fe=[...c.value,...a,...u];fe.filter(se=>se.dataType!==ae.COMMAND_COLUMN_DATA_TYPE&&se.dataType!==ae.SETTING_COLUMN_DATA_TYPE).forEach(se=>{const he=P.find(_e=>_e.id===se.id);he&&(se.width=he.actualWidth||se.width||120,se.title=he.title,se.halign=he.halign,se.align=he.align,se.fixed=he.fixed)}),u=fe.filter(se=>se.dataType===ae.COMMAND_COLUMN_DATA_TYPE||se.dataType===ae.SETTING_COLUMN_DATA_TYPE);const ue=fe.filter(se=>se.dataType!==ae.COMMAND_COLUMN_DATA_TYPE&&se.dataType!==ae.SETTING_COLUMN_DATA_TYPE),ge=ue.filter(se=>Q.includes(se.id));a=ue.filter(se=>!Q.includes(se.id)),ge.sort((se,he)=>{const _e=P.findIndex(Ge=>Ge.id===se.id),Qe=P.findIndex(Ge=>Ge.id===he.id);return _e-Qe}),qe(ge)}const{renderDataGridSummary:Oi}=ae.getSummary(e,d,J);return()=>o.createVNode(o.Fragment,null,[ye.value&&o.createVNode("div",{class:"fv-grid-search",style:{padding:"8px 12px",border:"1px solid #e0e0e0",borderBottom:"none",borderRadius:"4px 4px 0 0"}},[o.createVNode("div",{style:{display:"flex",alignItems:"center"}},[o.createVNode(un,{value:W.value,onInput:P=>W.value=P,onKeydown:Ii,placeholder:"搜索数据...",style:{flex:1}},null),o.createVNode(dn,{type:"link",onClick:Ei,style:{cursor:"pointer",marginLeft:"8px"}},{default:()=>[o.createVNode("i",{class:"f-icon f-icon-search"},null)]})])]),o.createVNode("div",{ref:p,class:kt.value,style:ki.value,onWheel:nt},[y.value&&Ot.value&&Dt(),o.createVNode("div",{ref:y,class:jt.value,onMouseover:()=>T.value=!0,onMouseleave:()=>T.value=!1,onTouchstart:P=>{P.stopPropagation(),T.value=!0,Ve.onTouchstartScrollThumb(P,y)},onTouchend:P=>{T.value=!1},style:Mi.value},[y.value&&Pt(S),y.value&&Bt(),y.value&&fi.value&&mi(),y.value&&$t(),y.value&&Lt()]),y.value&&Oi(),q.value&&o.createVNode("div",{class:ji.value},[q.value&&o.createVNode("div",{class:Bi.value},[o.createVNode("div",null,["已选:"+I.value.length,o.createTextVNode(" 条")])])]),xt(),A.value&&Rt()]),e.enableColumnSettingSolution&&o.createVNode(ae.ColumnSettingSolution,{columns:[...c.value,...a],componentId:e.id,modelValue:r.value,"onUpdate:modelValue":P=>r.value=P,onChangeColumnSetting:Di},null)])}});Be.withInstall(Nt),o.ref(0);var Je=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ht(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Qo={exports:{}};(function(e,t){(function(n){e.exports=n()})(function(){return function(){function n(r,i,l){function a(c,g){if(!i[c]){if(!r[c]){var f=typeof ht=="function"&&ht;if(!g&&f)return f(c,!0);if(u)return u(c,!0);var p=new Error("Cannot find module '"+c+"'");throw p.code="MODULE_NOT_FOUND",p}var y=i[c]={exports:{}};r[c][0].call(y.exports,function(m){var w=r[c][1][m];return a(w||m)},y,y.exports,n,r,i,l)}return i[c].exports}for(var u=typeof ht=="function"&&ht,s=0;s<l.length;s++)a(l[s]);return a}return n}()({1:[function(n,r,i){var l={},a="(?:^|\\s)",u="(?:\\s|$)";function s(f){var p=l[f];return p?p.lastIndex=0:l[f]=p=new RegExp(a+f+u,"g"),p}function c(f,p){var y=f.className;y.length?s(p).test(y)||(f.className+=" "+p):f.className=p}function g(f,p){f.className=f.className.replace(s(p)," ").trim()}r.exports={add:c,rm:g}},{}],2:[function(n,r,i){(function(l){var a=n("contra/emitter"),u=n("crossvent"),s=n("./classes"),c=document,g=c.documentElement;function f(v,E){var q=arguments.length;q===1&&Array.isArray(v)===!1&&(E=v,v=[]);var I,L,A,X,$,R,Z,W,te,ye=null,me,oe,xe=!1,De=0,be,J=E||{};J.moves===void 0&&(J.moves=T),J.accepts===void 0&&(J.accepts=T),J.invalid===void 0&&(J.invalid=et),J.containers===void 0&&(J.containers=v||[]),J.isContainer===void 0&&(J.isContainer=S),J.copy===void 0&&(J.copy=!1),J.copySortSource===void 0&&(J.copySortSource=!1),J.revertOnSpill===void 0&&(J.revertOnSpill=!1),J.removeOnSpill===void 0&&(J.removeOnSpill=!1),J.direction===void 0&&(J.direction="vertical"),J.ignoreInputTextSelection===void 0&&(J.ignoreInputTextSelection=!0),J.mirrorContainer===void 0&&(J.mirrorContainer=c.body);var x=a({containers:J.containers,start:je,end:tt,cancel:Xe,remove:rt,destroy:Se,canMove:Me,dragging:!1});return J.removeOnSpill===!0&&x.on("over",Et).on("out",Mt),K(),x;function ee(k){return x.containers.indexOf(k)!==-1||J.isContainer(k)}function K(k){var H=k?"remove":"add";m(g,H,"mousedown",ke),m(g,H,"mouseup",nt)}function re(k){var H=k?"remove":"add";m(g,H,"mousemove",we)}function ce(k){var H=k?"remove":"add";u[H](g,"selectstart",Ie),u[H](g,"click",Ie)}function Se(){K(!0),nt({})}function Ie(k){me&&k.preventDefault()}function ke(k){X=k.clientX,$=k.clientY;var H=w(k)!==1||k.metaKey||k.ctrlKey;if(!H){var Y=k.target,ne=Ee(Y);ne&&(me=ne,re(),k.type==="mousedown"&&(N(Y)?Y.focus():k.preventDefault()))}}function we(k){if(me){if(w(k)===0){nt({});return}if(!(k.clientX!==void 0&&Math.abs(k.clientX-X)<=(J.slideFactorX||0)&&k.clientY!==void 0&&Math.abs(k.clientY-$)<=(J.slideFactorY||0))){if(J.ignoreInputTextSelection){var H=d("clientX",k)||0,Y=d("clientY",k)||0,ne=c.elementFromPoint(H,Y);if(N(ne))return}var de=me;re(!0),ce(),tt(),Oe(de),s.add(W||A,"gu-transit"),jt(),kt(),De=0,ve(k)}}}function Ee(k){if(!(x.dragging&&I)&&!ee(k)){for(var H=k;C(k)&&ee(C(k))===!1;)if(J.invalid(k,H)||(k=C(k),!k))return;var Y=C(k);if(Y&&!J.invalid(k,H)){var ne=J.moves(k,Y,H,h(k));if(ne)return{item:k,source:Y}}}}function Me(k){return!!Ee(k)}function je(k){var H=Ee(k);