@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
1 lines • 185 kB
JavaScript
(function(P,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("../common/index.umd.js"),require("../locale/index.umd.js"),require("bignumber.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("../../designer/avatar/index.umd.js"),require("../../designer/approval-logs/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("../../designer/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("../../designer/wizard/index.umd.js"),require("../tooltip/index.umd.js"),require("../property-panel/index.umd.js"),require("../notify/index.umd.js"),require("../collection-property-editor/index.umd.js/src/use-button-items.designer"),require("../tree-grid/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","lodash-es","../common/index.umd.js","../locale/index.umd.js","bignumber.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","../../designer/avatar/index.umd.js","../../designer/approval-logs/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","../../designer/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","../../designer/wizard/index.umd.js","../tooltip/index.umd.js","../property-panel/index.umd.js","../notify/index.umd.js","../collection-property-editor/index.umd.js/src/use-button-items.designer","../tree-grid/index.umd.js"],o):(P=typeof globalThis<"u"?globalThis:P||self,o(P.component={},P.Vue,P.dynamicResolver,P.designerCanvas,P.LodashES,P.common,P.locale,P.BigNumber,P.VueUseCore,P.dataView,P.FInputGroup,P.FButton,P.dynamicView,P.FSection,P.FAccordion,P.FAvatar,P.FApprovalLogs,P.FButtonEdit,P.FButtonGroup,P.FCalendar,P.FCapsule,P.FCheckbox,P.FCheckboxGroup,P.FComboList,P.FComboTree,P.FComponent,P.FColorPicker,P.FContentContainer,P.FDatePicker,P.FDataGrid,P.FDropdown,P.FDynamicForm$1,P.FEventsEditor,P.FFilterBar,P.FFieldSelector,P.FBindingSelector,P.FImageCropper,P.FInputGroup$1,P.FLayout,P.FListNav,P.FListView,P.FLookup,P.FMappingEditor,P.FNav,P.FNumberRange,P.FNumberSpinner,P.FOrder,P.FPageHeader,P.FPageFooter,P.FPagination,P.FProgress,P.FQuerySolution,P.FRadioGroup,P.FRate,P.FResponseToolbar,P.FResponseLayout,P.FResponseLayoutEditorSetting,P.FSearchBox,P.FSection$1,P.FSmokeDetector,P.FSplitter,P.FStep$1,P.FSwitch,P.FTabs,P.FTags,P.FText,P.FTimePicker,P.FTransfer,P.FTreeview,P.FUploader,P.FVerifyDetail,P.FVideo,P.FTextArea,P.FSchemaSelector,P.FTreeGrid$1,P.FEventParameter,P.FFilterConditionEditor,P.FFieldset,P.FSortConditionEditor,P.FMenuLookup,P.FDrawer,P.FJsonEditor,P.FPropertyEditor,P.FExpressionEditor,P.FCodeEditor,P.FHtmlTemplate,P.FCollectionPropertyEditor,P.FModal$1,P.FExternalContainer,P.FLanguageTextbox,P.FImage,P.FComment,P.FWizard,P.FTooltip,P.propertyPanel,P.notify,null,P.FTreeGrid$2))})(this,function(P,o,Te,O,xe,Ne,We,Xr,fn,ae,mn,Ut,Ye,pn,gn,hn,yn,vn,bn,Cn,wn,zt,_t,xn,Fn,Tn,Sn,Vn,Nn,In,Mn,En,kn,jn,Bn,Dn,Pn,On,Rn,$n,Ln,qn,An,Un,zn,_n,Hn,Gn,Wn,Yn,Xn,Qn,Jn,Zn,Kn,eo,to,no,oo,io,ro,ao,lo,so,co,uo,fo,mo,po,go,ho,yo,vo,bo,Co,wo,xo,Fo,To,So,Vo,No,Io,Mo,Eo,ko,jo,Bo,Do,Po,Oo,Ro,$o,Lo,qo,Ao,Qr,Uo){"use strict";var Wr=Object.defineProperty;var Yr=(P,o,Te)=>o in P?Wr(P,o,{enumerable:!0,configurable:!0,writable:!0,value:Te}):P[o]=Te;var ce=(P,o,Te)=>Yr(P,typeof o!="symbol"?o+"":o,Te);const Ht=new Map([["appearance",Te.resolveAppearance]]),zo={$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 Gt(e,t,n){return t}const ft={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:""}},Mt=Te.createPropsResolver(ft,zo,Ht,Gt),_o=Object.assign({},ft,{componentId:{type:String,default:""}}),bt=o.defineComponent({name:"FComponent",props:ft,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 Ho(e){const{formSchemaUtils:t,formStateMachineUtils:n}=e;function i(s,c=""){return{path:c+s.code,field:s.id,fullPath:s.code}}function r(s,c=""){const p=t.getViewModelById(s);return p?p.states.map(f=>i(f,c)):[]}function a(s){const c=t.getRootViewModelId(),p=r(s);if(s===c)return p;const f=r(c,"root-component.");return[...p,...f]}function l(s){return s.binding&&s.binding.path||s.id||""}function u(){return n&&n.getRenderStates()||[]}return{getVariables:a,getControlName:l,getStateMachines:u}}class Go{constructor(t){ce(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'"}]);ce(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});ce(this,"getExpressionConverter",(t,n)=>({convertFrom:(i,r,a,l)=>{const u=a.getExpressionRuleValue(t,n||r);return u&&u.value||""},convertTo:(i,r,a,l,u)=>{var s;if(r==="dataPicking"&&(a!=null&&a.target)){const c=`${a.target}_dataPicking`;((s=a.rules)==null?void 0:s.some(f=>f.id===c&&f.value))?i.dictPickingExpressionId=c:delete i.dictPickingExpressionId}l.updateExpression(a)}}));this.formSchemaService=t}getExpressionRule(t,n){const i=this.getExpressionData();if(!i)return"";const r=i.find(l=>l.target===t);if(!r)return"";const a=r.rules.find(l=>l.type===n);return a||""}getContextFormVariables(){const{module:t}=this.formSchemaService.getFormSchema();if(!t.viewmodels||t.viewmodels.length===0)return[];const n=this.formSchemaService.getRootViewModelId(),i=this.formSchemaService.getViewModelById(n);if(!i||!i.states||i.states.length===0)return[];const r=[];return i.states.filter(a=>a.category==="remote").forEach(a=>{r.push({key:a.code,name:a.name,description:a.name,category:a.category})}),r}createTreeNode(t,n,i="label"){return{id:t.id,name:t.name,bindingPath:t[i],parents:n,type:"field"}}buildEntityFieldsTreeData(t=null,n){const i=[];return t==null||t.forEach(r=>{var u;const a=this.createTreeNode(r,n);let l=[];(u=r.type)!=null&&u.fields&&(l=this.buildEntityFieldsTreeData(r.type.fields,[...n,r.label])),i.push({data:a,children:l,expanded:!0})}),i}buildChildEntityTreeData(t=null,n){const i=[];return t==null||t.forEach(r=>{var s,c;const a=this.createTreeNode(r,n);a.type="entity";const l=this.buildEntityFieldsTreeData((s=r.type)==null?void 0:s.fields,[...n,r.label]),u=this.buildChildEntityTreeData((c=r.type)==null?void 0:c.entities,[...n,r.label]);u!=null&&u.length&&(l==null||l.push(...u)),i.push({data:a,children:l||[],expanded:!0})}),i}getEntitiesTreeData(){const t=this.formSchemaService.getSchemaEntities();if(!(t!=null&&t.length))return[];const n=t[0];if(!(n!=null&&n.type))return[];const i=this.buildEntityFieldsTreeData(n.type.fields,[n.code]),r=this.buildChildEntityTreeData(n.type.entities,[n.code]);return r!=null&&r.length&&(i==null||i.push(...r)),{entityCode:n.code,fields:[{data:this.createTreeNode(n,[],"code"),children:i||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(t,n,i){const r=i==="Field"?t.binding.field:t.id,a=this.getExpressionRule(r,n),l=this.getEntitiesAndVariables(),u={message:["validate","required","dataPicking"].includes(n)&&a?a.message:"",...l};return a.messageType!=null&&(u.messageType=a.messageType),u}buildRule(t,n,i,r){const{expression:a,message:l,messageType:u}=n,s={id:`${t}_${i}`,type:i,value:a};return(i==="validate"||i==="dataPicking"||i==="required")&&(s.message=l),i==="dataPicking"&&(s.messageType=u),i==="validate"&&r&&(s.elementId=r),s}getExpressionData(){const{expressions:t}=this.formSchemaService.getFormSchema().module;return t||[]}updateExpression(t,n,i,r){const a=n==="Field"?t.binding.field:t.id,l=this.buildRule(a,i,r,t.type==="form-group"?t.id:"");let s=this.getExpressionData().find(p=>p.targetType===n&&p.target===a);const c=p=>p.value.trim()==="";if(s){const p=s.rules.find(f=>f.id===l.id);if(p)c(l)?s.rules=s.rules.filter(f=>f.id!==l.id):(Object.assign(p,l),r==="validate"&&t.type==="form-group"&&(p.elementId=t.id));else{if(c(l))return null;s.rules=s.rules||[],s.rules.push(l)}}else{if(c(l))return null;s={target:`${a}`,rules:[l],targetType:n}}return s}getExpressionEditorOptions(t,n,i,r){return i.reduce((a,l)=>{var s,c;const u=n==="Field"?(s=t==null?void 0:t.binding)==null?void 0:s.field:t.id;return a[l]={hide:n==="Field"?!!((c=t==null?void 0:t.binding)!=null&&c.field):!1,description:"",title:this.expressionNames[l],type:"string",$converter:this.getExpressionConverter(u),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[l]}编辑器`,showMessage:l==="validate"||l==="dataPicking"||l==="required",showMessageType:l==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(t,l,n),onSubmitModal:p=>{const f=this.updateExpression(t,n,p,l);if(r){const g=this.buildRule(u,p,l);r(g)}return f}}},a},{})}getExpressionInfo(t,n,i){const r=n==="Field"?t.binding.field:t.id,a=this.getExpressionRule(r,i),l={value:a&&a.value,targetId:r,targetType:n,expressionType:i};return a&&a.message&&(l.message=a.message),l}getExpressionConfig(t,n,i=["compute","dependency","validate"],r){var a;return{description:"表达式",title:"表达式",hide:!(t.binding&&((a=t.binding)==null?void 0:a.type)==="Form"),properties:{...this.getExpressionEditorOptions(t,n,i,r)}}}getExpressionOptions(t,n,i){const r=this.getExpressionInfo(t,n,i);return{dialogTitle:`${this.expressionNames[i]||"表达式"}编辑器`,singleExpand:!1,showMessage:i==="required",beforeOpen:()=>this.onBeforeOpenExpression(t,i,n),expressionInfo:r}}}class Wt{constructor(t,n){ce(this,"componentId");ce(this,"viewModelId");ce(this,"eventsEditorUtils");ce(this,"formSchemaUtils");ce(this,"formMetadataConverter");ce(this,"designViewModelUtils");ce(this,"designViewModelField");ce(this,"controlCreatorUtils");ce(this,"designerHostService");ce(this,"designerContext");ce(this,"modalService",null);ce(this,"formRule",null);ce(this,"schemaService",null);ce(this,"metadataService",null);ce(this,"propertyConfig",{type:"object",categories:{}});ce(this,"expressionProperty");var i;this.componentId=t,this.designerHostService=n,this.eventsEditorUtils=n.eventsEditorUtils,this.formSchemaUtils=n.formSchemaUtils,this.formMetadataConverter=n.formMetadataConverter,this.viewModelId=((i=this.formSchemaUtils)==null?void 0:i.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 Go(this.formSchemaUtils)}inResponsiveForm(){var t;return!!((t=this.designerContext)!=null&&t.responsiveForm)}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 i;const n=t.binding&&t.binding.type==="Form"&&t.binding.field;if(n){if(!this.designViewModelField){const r=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=r.fields.find(a=>a.id===n)}t.updateOn=(i=this.designViewModelField)==null?void 0:i.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={},i){const r={title:"外观",description:"Appearance"},a={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 l in n)a[l]=Object.assign(a[l]||{},n[l]);return{...r,properties:{...a},setPropertyRelates(l,u){if(l){switch(l&&l.propertyID){case"class":case"style":{O.canvasChanged.value++;break}}i&&i(l,t,u)}}}}getPropertyEditorParams(t,n=[],i="visible",r={},a={},l=""){const{getVariables:u,getControlName:s,getStateMachines:c}=Ho(this.designerHostService),p=this.getRealTargetType(t),f=n&&n.length>0?n:["Const","Variable","StateMachine","Expression"],g={type:"property-editor",propertyTypes:f};return f.map(v=>{switch(v){case"Const":Object.assign(g,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},r);break;case"Expression":g.expressionConfig=this.getExpressionOptions(t,p,l||i);break;case"StateMachine":g.stateMachines=c();break;case"Variable":Object.assign(g,{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)}},a),this.designerContext.designerMode==="PC_RTC"&&(g.newVariablePrefix="ext_"+g.newVariablePrefix);break}}),g}getVisibleProperty(t,n=""){var a;let i=["Const","Variable","StateMachine","Expression"];return n==="gridFieldEditor"?i=["Const","Expression"]:n==="form-group"&&!((a=t.binding)!=null&&a.field)?i=["Const","Variable","StateMachine","Custom"]:n==="dataGrid"||n==="treeGrid"||n==="wizard"?i=["Const","Variable","Expression"]:(t.type.indexOf("toolbar-item")>-1||n==="form-group")&&(i=["Const","Variable","StateMachine","Custom","Expression"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(t,i,"visible")}}}getBehaviorConfig(t,n="",i={},r){const a={title:"行为",description:""},l=this.getVisibleProperty(t,n);for(const s in i)l[s]=Object.assign(l[s]||{},i[s]);const u=this;return{...a,properties:{...l},setPropertyRelates(s,c){if(s){switch(s.propertyID){case"disabled":case"readonly":case"visible":u.afterMutilEditorChanged(t,s);break}r&&r(s,c)}}}}afterMutilEditorChanged(t,n){this.addNewVariableToViewModel(n,this.viewModelId),this.updateExpressionValue(n,t),this.clearExpression(n,t)}updateElementByParentContainer(t,n){const i=n&&n.parent&&n.parent.schema;if(!i)return;const r=i.contents.findIndex(l=>l.id===t),a=xe.cloneDeep(i.contents[r]);i.contents.splice(r,1),i.contents.splice(r,0,a),O.refreshCanvas()}addNewVariableToViewModel(t,n){const i=t.propertyValue;if(!(i&&typeof i=="object")||!(i.type==="Variable"&&i.isNewVariable))return;const l={id:i.field,category:"locale",code:i.fullPath,name:i.fullPath,type:i.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete i.newVariableType,delete i.isNewVariable,this.formSchemaUtils.getVariableByCode(l.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(l)}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 i=t.propertyValue;if(!((i&&i.type)==="Expression"&&i.expressionInfo))return;const{expressionId:l,expressionInfo:u}=i,{targetId:s,targetType:c,expressionType:p,value:f,message:g}=u,v=this.getExpressions();let m=v.find(F=>F.target===s);m||(m={target:s,rules:[],targetType:c},v.push(m));const b=m.rules.find(F=>F.type===p);if(b)b.id=l,b.value=f,b.message=g,(p==="minDate"||p==="maxDate"||p==="defaultTime")&&(b.elementId=n.id);else{const F={id:l,type:p,value:f,message:g,elementId:n.id};m.rules.push(F)}delete i.expressionInfo}clearExpression(t,n){const i=t.propertyValue;if(i&&i.type==="Expression")return;const a=t.propertyID,l=this.getExpressions(),u=n.binding?n.binding.field:n.id,s=l.find(c=>c.target===u);!s||!s.rules||(s.rules=s.rules.filter(c=>c.type!==a))}getExpressionOptions(t,n,i){return this.expressionProperty.getExpressionOptions(t,n,i)}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:i=>{var r;((r=i.controller)==null?void 0:r.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(i)}}},n}}class Wo extends Wt{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 i=this;return this.getAppearanceConfig(t,{name:{title:"组件名称",type:"string",description:"组件名称",defaultValue:t.name}},(a,l,u)=>{switch(a.propertyID){case"name":i.syncChangesToViewModel({name:a.propertyValue}),delete l.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 i=this,r=i.eventsEditorUtils.formProperties(t,i.viewModelId,n),a=i.createBaseEventProperty(r);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:a,refreshPanelAfterChanged:!0,tabId:Ne.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(l,u){const s=l.propertyValue;delete t[i.viewModelId],s&&(s.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(t,i.viewModelId,s.events,s))}}}getBehaviorConfig(t){const n=this.formSchemaUtils.getViewModelById(this.viewModelId),i=n?n.enableValidation:null,r=this;this.propertyConfig.categories.behavior={title:"行为",description:"",properties:{enableValidation:{title:"启用校验",type:"boolean",description:"运行时组件是否启用校验",defaultValue:i}},setPropertyRelates:a=>{if(a)switch(a.propertyID){case"enableValidation":{r.syncChangesToViewModel({enableValidation:a.propertyValue}),delete t.enableValidation;break}}}}}syncChangesToViewModel(t){const n=this.formSchemaUtils.getViewModelById(this.viewModelId);n&&Object.assign(n,t)}}const Yo={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}},Xo={showCloseButton:{type:Boolean,default:!0},animate:{type:String,default:"fadeIn"},options:{type:Object}},Et=o.defineComponent({name:"Toast",props:Xo,emits:["close","click"],setup:(e,t)=>{const n=o.ref(e.animate),i="fadeOut",r=o.computed(()=>e.options),a=o.ref(!1),l=o.computed(()=>r.value.title&&r.value.message),u=o.computed(()=>!r.value.title&&r.value.message),s=o.computed(()=>{const y={animated:a.value,toast:!0,"toast--only-content":!l.value};return y[e.animate]=!1,y[i]=a.value,y["toasty-type-"+r.value.type]=!0,r.value.theme&&(y[r.value.theme]=!0),y}),c=o.computed(()=>{const I=`f-icon-${r.value&&r.value.type?r.value.type.replace("toasty-type-",""):"default"}`,N={"f-icon":!0};return N[I]=!0,N}),p=o.computed(()=>r.value.title||r.value.message),f=o.computed(()=>e.showCloseButton),g=o.computed(()=>!!r.value.buttons||!!t.slots.default),v=o.computed(()=>We.LocaleService.getLocale()==="en"?{wordBreak:"keep-all",overflowWrap:"break-word"}:{});function m(y){y.stopPropagation(),y.preventDefault(),a.value=!1,setTimeout(()=>{t.emit("close",r.value)},200)}function b(y,w){}function F(y){return`f-preten-link ${y.customClass?y.customClass:""}`}o.watch(n,()=>{n.value});const V=()=>{var y;return o.createVNode(o.Fragment,null,[o.createVNode("div",{class:"after-toast-msg text-right"},[!t.slots.default&&((y=r.value.buttons)==null?void 0:y.map(w=>o.createVNode("span",{class:F(w),onClick:I=>void 0},[w.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)]),p.value&&o.createVNode("section",{class:"modal-tips"},[!l.value&&o.createVNode("div",{class:"float-left modal-tips-iconwrap"},[o.createVNode("span",{class:c.value},null)]),o.createVNode("div",{class:"modal-tips-content"},[l.value&&o.createVNode(o.Fragment,null,[o.createVNode("h5",{class:"toast-title modal-tips-title",innerHTML:r.value.title},null),o.createVNode("p",{class:"toast-msg",innerHTML:r.value.message,style:v.value},null),g.value&&V()]),u.value&&(r.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:v.value,innerHTML:r.value.message},null),o.createVNode("div",{class:"after-toast-title text-right ml-auto"},[V()])]):o.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",style:v.value,innerHTML:r.value.message},null))])])])}});function Yt(){function e(){const n=i=>{const r=Math.random()*16|0;return(i==="x"?r:r&3|8).toString(16)};return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,n)}function t(n,i){const r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),a=[];let l;if(i=i||r.length,n)for(l=0;l<n;l++)a[l]=r[0|Math.random()*i];else{let u;for(a[8]=a[13]=a[18]=a[23]="-",a[14]="4",l=0;l<36;l++)a[l]||(u=0|Math.random()*16,a[l]=r[l===19?u&3|8:u])}return a.join("")}return{guid:e,uuid:t}}const Qo=["moz","ms","webkit"];function Jo(){let e=0;return t=>{const n=new Date().getTime(),i=Math.max(0,16-(n-e)),r=setTimeout(()=>{t(n+i)},i);return e=n+i,r}}function Zo(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const e=Qo.filter(t=>`${t}RequestAnimationFrame`in window)[0];return e?window[`${e}RequestAnimationFrame`]:Jo()}Zo(),o.ref("");function Ko(){const e=navigator.userAgent||navigator.vendor||window.opera,t=[/iPhone/i,/iPod/i,/Android.*Mobile/i,/webOS/i,/BlackBerry/i,/IEMobile/i,/Opera Mini/i,/Harmony/i],n=[/iPad/i,/Android(?!.*Mobile)/i,/Tablet/i,/PlayBook/i,/Kindle/i,/Silk/i];for(const u of n)if(u.test(e))return!1;for(const u of t)if(u.test(e))return!0;const i="ontouchstart"in window||navigator.maxTouchPoints>0,r=screen.width,a=screen.height,l=Math.min(r,a);return!!(i&&l<=768)}const Ct=o.defineComponent({name:"Notify",props:Yo,emits:["close","empty"],setup(e,t){var b;const n=Ko(),r=`farris-notify-${(b=e.options)!=null&&b.type?e.options.type:"info"}}`,a=o.computed(()=>({"farris-notify":!0,[r]:n})),l={left:12,right:12,top:20,bottom:12},u=o.ref(),s=o.ref(e.options),c=o.ref(e.showCloseButton),p=o.computed(()=>e.position||"bottom-right"),f=o.computed(()=>e.timeout!=null?e.timeout:3e3),g=o.computed(()=>{const F=e.bottom?e.bottom:l.bottom,V=e.top?e.top:l.top,y={transition:"all 0.2s ease",left:p.value.indexOf("left")>-1?`${e.left?e.left:l.left}px`:"",right:p.value.indexOf("right")>-1?`${e.right?e.right:l.right}px`:"",top:p.value.indexOf("top")>-1?`${V}px`:"",bottom:p.value.indexOf("bottom")>-1?`${F}px`:""};return p.value.indexOf("center")>-1&&(y.left="50%",y.marginLeft="calc(-24rem / 2)",p.value==="center-center"&&(y.top="50%",y.transform="translate(-50%, -50%)")),y});function v(F){t.emit("close")}f.value&&setTimeout(()=>{v()},f.value),t.expose({closeToast:v,container:u,notifyPosition:p});function m(F,V){v()}return()=>{var F;return n?o.createVNode("div",{class:a.value,ref:u},[(F=e.options)==null?void 0:F.message]):o.createVNode("div",{class:a.value,style:g.value,ref:u},[o.createVNode(Et,{options:s.value,showCloseButton:c.value,animate:e.animate,onClose:V=>m(V,s.value)},null)])}}});class kt{constructor(){ce(this,"notifyRefs",[]);ce(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," ").replace(/\\r/g,"")}createNotifyInstance(t){const n=this,r=Object.assign({timeout:3e3,position:"bottom-right",showCloseButton:!0,safeHtml:!0},this.globalConfig,{...t}),a=document.createElement("div");a.style.display="contents";const l=o.createApp({setup(){var c;const u=o.ref();function s(){u.value.container.style.transform="scale(0)",setTimeout(()=>{n.updateNotifyPositionForClose(r,u),l.unmount()},220)}if(r.position.indexOf("top")>-1){const p=n.getNotifyInstances(r.position),f=p[p.length-1];if(f){const g=f.value.container.getBoundingClientRect();r.top=g.bottom}}return r.safeHtml&&((c=r.options)!=null&&c.message)&&(r.options.message=n.escapeAllHtml(r.options.message)),o.onUnmounted(()=>{document.body.removeChild(a)}),o.onMounted(()=>{n.updateNotifyPositionForCreate(r,u)}),()=>o.createVNode(o.Transition,{mode:"out-in",name:"fade",appear:!0},{default:()=>[o.createVNode(Ct,o.mergeProps({ref:u},r,{onClose:s}),null)]})}});return l.provide("NotifyService",this),document.body.appendChild(a),l.use(We.LocaleService.i18n),l.mount(a),l}getNotifyInstances(t){return this.notifyRefs.filter(n=>n.value.notifyPosition===t)}updateNotifyPositionForCreate(t,n){if(this.notifyRefs&&this.notifyRefs.length){const i=window.innerHeight;t.position.indexOf("bottom")>-1&&this.getNotifyInstances(t.position).forEach(r=>{const a=r.value.container.getBoundingClientRect();r.value.container.style.bottom=a.height+i-a.bottom+"px"})}this.notifyRefs=[...this.notifyRefs,n]}updateNotifyPositionForClose(t,n){const i=this.notifyRefs.indexOf(n);if(t.position.indexOf("top")>-1){const r=this.getNotifyInstances(t.position),a=r.indexOf(n);r.slice(a+1).forEach(l=>{l.value.container.style.top=l.value.container.offsetTop-l.value.container.offsetHeight+"px"})}i>-1&&this.notifyRefs.splice(i,1)}show(t){return this.createNotifyInstance(t)}buildNotifyProps(t,n){let i="",r="",a,l,u;typeof n=="string"?i=n:n&&(i=n.message||"",r=n.title||"",l=n.position||null,u=n.showCloseButton!=null?n.showCloseButton:null,a=n.timeout!=null?n.timeout:null);const c={options:{type:t,message:i,title:r}};return l!=null&&(c.position=l),u!=null&&(c.showCloseButton=u),a!=null&&(c.timeout=a),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 ei=Symbol("NOTIFY_SERVICE_TOKEN");Ct.install=e=>{e.component(Ct.name,Ct),e.component(Et.name,Et);const t=new kt;e.provide(ei,t),e.provide("FNotifyService",t)};const ti={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 ni={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,mode:"server",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},visible:{type:Boolean,default:!0},checkboxPosition:{type:String,default:"after-expand"},enableColumnSettingSolution:{type:Boolean,default:!1},searchable:{type:Boolean,default:!1},customSearch:{type:Function}};function oi(e,t,n,i,r,a,l,u,s,c,p,f,g,v,m,b,F,V,y){const{calculateCellPositionInRow:w}=a,{columnContext:I,hasLeftFixedColumn:N,hasRightFixedColumn:M}=l,{gridDataStyle:T,leftFixedGridDataStyle:d,rightFixedGridDataStyle:C}=v,{renderDataRow:h}=ae.getHierarchyRow(e,t,I,F,u,s,c,p,f,g,v,m,b,V,y),x=[h];function k(G,q){const L=w(G);return F.value.filter(ne=>ne.visible!==!1).map((ne,Y)=>x[ne.type](ne,L,q,Y))}function B(){return o.createVNode("div",{ref:i,class:"fv-grid-content-left-fixed"},[o.createVNode("div",{class:"fv-grid-data",style:d.value},[k(I.value.leftColumns.filter(G=>G.visible),"left")])])}function j(){return o.createVNode("div",{ref:n,class:"fv-grid-content-primary"},[o.createVNode("div",{class:"fv-grid-data",style:T.value},[k(I.value.primaryColumns.filter(G=>G.visible),"primary")])])}function $(){return o.createVNode("div",{ref:r,class:"fv-grid-content-right-fixed"},[o.createVNode("div",{class:"fv-grid-data",style:C.value},[k(I.value.rightColumns.filter(G=>G.visible),"right")])])}function Q(){const G=[];return N.value&&G.push(B()),G.push(j()),M.value&&G.push($()),G}return{renderDataArea:Q}}const jt=o.defineComponent({name:"FTreeGrid",props:ni,emits:["selectionChange","clickRow","expandNode","unSelectItem","dblclickNode","doubleClickRow","unSelectItem","selectItem","filterChanged","unSelectAll","selectAll","sortChanged","selectionUpdate","endEditCell"],setup(e,t){var un,dn;const n=o.ref(!1),i=o.ref(!1),r=0,a=o.ref(((un=e.rowOption)==null?void 0:un.height)||28);let l=[],u=[];const s=o.ref(20),c=o.ref(e.columns),p=ae.useIdentify(e),{idField:f}=p,g=o.ref(),v=o.ref(),m=o.ref(),b=o.ref(),F=o.ref(),V=o.ref([]),y=o.ref(!1),w=o.ref(((dn=e.rowOption)==null?void 0:dn.wrapContent)||!1),I=ae.useGroupData(e,p),N=ae.useFilter(e,t),M=ae.useHierarchy(e),{collapseField:T}=M,{showLoading:d,renderLoading:C}=ae.useLoading(e,g),h=ae.useDataView(e,new Map,N,M,p),{dataView:x}=h,k=ae.useSelection(e,h,p,V,t),{showSelection:B,selectedValues:j}=k,$=ae.useSelectHierarchyItem(e,V,h,p,k,t),Q=o.computed(()=>e.disabled),G=o.computed(()=>e.virtualized?Math.min(h.dataView.value.length,s.value):h.dataView.value.length),q=ae.usePagination(e,h),{shouldRenderPagination:L}=q,{containerStyleObject:ne}=ae.useDataViewContainerStyle(e,V),Y=o.ref(""),K=o.ref([]),pe=o.computed(()=>e.searchable||!1),ye=o.ref(0),ie=ae.useCommandColumn(e),{applyCommands:Fe}=ie;Fe(c);const{applyColumnSetting:Me,removeColumnSetting:be}=ae.useSettingColumn(e);e.showSetting&&Me(c);const J=ae.useColumn(e,t),S=ae.useSort(e),{applyColumnSorter:ee,columnContext:Z,updateColumnRenderContext:re}=J;ee(h,S);const de=ae.useGroupColumn(e,Z),Se=ae.useRow(e,t,k,p),Ee=ae.useEdit(e,t,p,Se,V),De=ae.useVisualDataBound(e,h,a),Ce=ae.useVisualDataCell(e,Ee,De),ke=ae.useVisualDataRow(e,h,Ee,M,p,De,Ce,a),je=ae.useVisualData(e,c,h,G,r,ke),{getVisualData:Be}=je,Pe=ae.useCellPosition(e,Z,a,n),ot=ae.useSidebar(e,k),{sidebarWidth:ct}=ot,Ve=ae.useVirtualScroll(e,h,V,Z,je,G,r,ct,a,n),{onWheel:et,dataGridWidth:it,viewPortHeight:rt,viewPortWidth:Xe,resetScroll:Qe,updateVisibleRowsOnLatestVisibleScope:at}=Ve,D=ae.useFitColumn(e,Z,v,Xe,de),{calculateColumnsSize:oe}=D,ve=ae.useFilterHistory(),we=ae.useColumnFilter(v,F,h,ve,Ve),_e=ae.useDragColumn(e,t,J,h,de,I,Ve),gt=o.computed(()=>{const R={"fv-grid":!0,"fv-grid-bordered":e.showBorder,"fv-grid-horizontal-bordered":e.showHorizontalLines,"fv-datagrid-strip":e.showStripe};return Ne.getCustomClass(R,e.customClass)}),ut=o.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":y.value,"fv-grid-wrap-content":w.value,"fv-grid-scrollbar-visible":Ve.shouldShowVirticalScrollbar.value&&y.value})),{renderDataArea:Dt}=oi(e,t,m,b,F,Pe,J,h,Ee,M,Se,k,$,Ve,je,De,V,a,n),{renderGridHeader:Pt,renderGridColumnResizeOverlay:Nt,shouldShowHeader:Ot}=ae.getColumnHeader(e,t,v,b,F,J,h,_e,we,N,ve,D,de,k,ot,S,Ve,Xe,V,i),{renderDataGridSidebar:Rt}=ae.getSidebar(e,Se,k,ot,Ve),{renderDisableMask:$t}=ae.getDisableMask(),{renderHorizontalScrollbar:Lt}=ae.getHorizontalScrollbar(e,v,Ve),{renderVerticalScrollbar:qt}=ae.getVerticalScrollbar(e,v,Ve);function It(){var R,X,he;if(v.value&&v.value.clientHeight>0&&((R=v.value)==null?void 0:R.clientWidth)>0){const le=Math.ceil(v.value.clientHeight/a.value);le>s.value&&(s.value=le,at()),rt.value=((X=m.value)==null?void 0:X.clientHeight)||0,it.value=((he=v.value)==null?void 0:he.clientWidth)||0}v.value&&(v.value.clientHeight>0||v.value.clientWidth>0)&&oe()}o.onMounted(()=>{v.value&&(s.value=Math.max(Math.ceil(v.value.clientHeight/a.value),s.value),V.value=Be(0,G.value+r-1),fn.useResizeObserver(v.value,It),oe(),o.nextTick(()=>{v.value&&(it.value=v.value.clientWidth),m.value&&(Xe.value=m.value.clientWidth,rt.value=m.value.clientHeight)})),d.value&&C()}),o.onUnmounted(()=>{}),o.watch(Xe,()=>{v.value&&oe()});function At(R){h.collapseTo(R),h.reOrderVisibleIndex(),Qe()}function E(R){h.expandTo(R),h.reOrderVisibleIndex(),Qe()}function H(){const R=k.getSelectionRow();return R?R.dataIndex-1:-1}function W(R){const X=R!==void 0?R:H(),he=h.insertNewDataItem(X===-1?0:X);return V.value=Be(0,G.value+r-1),he}function te(){const R=H();h.insertNewChildDataItem(R),V.value=Be(0,G.value+r-1)}function me(R,X){const he=V.value.find(fe=>fe.raw[f.value]===X),le=he?he.dataIndex-1:-1;h.insertNewChildDataItems(R,le)}function ge(){const R=H(),X=$.getNextSelectableHierarchyItemId(R);h.removeHierarchyDataItem(R),V.value=Be(0,G.value+r-1),X&&$.selectItemById(X)}function He(R){Ee.onEditingRow(R)}function $e(R){Ee.acceptEditingRow(R)}function Ae(R){Ee.cancelEditingRow(R)}function Le(R){R&&(c.value=R,Fe(c),e.showSetting&&Me(c),re(c.value),ee(h,S),oe())}o.watch(()=>e.columns,R=>{if(e.showSetting&&e.enableColumnSettingSolution){Le(c.value);return}Le(R)});function Oe(R,X){R&&(h.load(R),h.reOrderVisibleIndex(),X!=null&&X.keepScrollPosition?Ve.scrollTo(Ve.offsetY.value):Qe())}function Ue(R){Se.activeRowById(R)}function qe(R,X={isCurrent:!0}){X!=null&&X.isCurrent&&Ue(R),$.selectItemById(R)}function Re(R){const X=V.value.find(he=>he.raw[p.idField.value]===R);X&&Se.clickRowItem(X)}function ht(R){$.selectItemByIds(R)}function yt(){return k.getSelectedItems()}function dt(){k.clearSelection()}function xr(){k.emptyCurrentRowId()}const Fr=o.computed(()=>!V.value||!V.value.length),{renderEmpty:Tr}=ae.getEmpty(e,t);function Sr(){return k.getSelectionRow()}function Vr(R,X={clearCurrent:!0}){X!=null&&X.clearCurrent&&Ue(""),$.unSelectItemByIds(R)}function Nr(){return k.currentSelectedDataId.value}function Ir(R,X,he){const le=x.value.find(fe=>fe[f.value]===R);if(le){if(Object.keys(le).forEach(ue=>{Object.prototype.hasOwnProperty.call(X,ue)&&(le[ue]=X[ue])}),he){const{collapseField:ue,disabledField:ze,checkedField:Je,visibleField:Ge,hasChildren:vt}=he;ue&&!xe.isUndefined(X[ue])&&(le.__fv_collapse__=X[ue]),Je&&!xe.isUndefined(X[Je])&&(le.__fv_checked__=X[Je]),ze&&!xe.isUndefined(X[ze])&&(le.__fv_disabled__=X[ze]),Ge&&!xe.isUndefined(X[Ge])&&(le.__fv_visible__=X[Ge]),xe.isUndefined(vt)||(le.__fv_hasChildren__=vt)}const fe=V.value.find(ue=>ue.raw[f.value]===R),se=V.value.findIndex(ue=>ue.raw[f.value]===R);if(fe){if(fe.raw=le,Object.keys(fe.data).forEach(ue=>{fe.data[ue].updateData(le)}),he){const{collapseField:ue,disabledField:ze,checkedField:Je,visibleField:Ge,hasChildren:vt}=he;ue&&!xe.isUndefined(X[ue])&&(fe.collapse=X[ue]),Je&&!xe.isUndefined(X[Je])&&(fe.checked=X[Je]),ze&&!xe.isUndefined(X[ze])&&(fe.disabled=X[ze]),Ge&&!xe.isUndefined(X[Ge])&&(fe.visible=X[Ge]),xe.isUndefined(vt)||(fe.raw.__fv_hasChildren__=vt)}V.value=[...V.value.slice(0,se),fe,...V.value.slice(se+1)],h.updateSummary()}}}function Mr(R){return Object.prototype.hasOwnProperty.call(R,"raw")?h.hasRealChildren(R.raw):h.hasRealChildren(R)}function Er(R){const X=h.dataView.value.find(he=>he[f.value]===R);return X?X[T.value]:""}function kr(){return T.value}o.watch(()=>e.showSetting,(R,X)=>{R!==X&&(R?Me(c):be(c),Le(c.value))});function jr(R){return V.value.filter(X=>R.includes(X.raw[e.idField]))}function sn(R){const X=p.idField.value,he=V.value.find(le=>le.raw[X]===R);he&&Se.changeRow(he)}function Br(){k.keepSelectingOnPaging.value||dt(),h.updateVisibleDataSummary(V.value)}function Dr(R){k.updateSelectedValues(R)}function Pr(R){k.removeSelectedValues(R)}function Or(R){o.nextTick(()=>{Ve.scrollToRowByIndex(R.dataIndex-1)})}function Rr(R){let X=R;const he=[];for(;X&&X[M.parentIdField.value];){const le=h.rawView.value.find(fe=>fe[p.idField.value]===X[M.parentIdField.value]);if(le)le[M.collapseField.value]&&he.push(le),X=le;else break}he.reverse().forEach(le=>{le[M.collapseField.value]=!1,h.toggleChildrenVisibiltyByCollapseStatus(le)})}function $r(R,X){if(R.length!==X.length)return!1;const he=R.map(fe=>fe[p.idField.value]).sort(),le=X.map(fe=>fe[p.idField.value]).sort();return he.every((fe,se)=>fe===le[se])}function cn(){if(!Y.value.trim()){K.value=[],ye.value=0;return}const R=[],X=Y.value.toLowerCase().trim();h.rawView.value.forEach(le=>{var se;let fe=!1;(se=e.search)!=null&&se.customSearch?fe=e.search.customSearch(X,le,e.columns):e.columns.forEach(ue=>{!fe&&ue.field&&le[ue.field]!==void 0&&String(le[ue.field]).toLowerCase().includes(X)&&(fe=!0)}),fe&&R.push(le)});const he=!$r(R,K.value);if(R.length>0){he?(K.value=R,ye.value=0):ye.value=(ye.value+1)%R.length;const le=R[ye.value];le&&(Rr(le),o.nextTick(()=>{h.reOrderVisibleIndex(),V.value=Be(0,G.value+r-1);const fe=le[p.idField.value],se=V.value.find(ue=>ue.raw[p.idField.value]===fe);se?(sn(fe),Or(se)):console.warn("搜索结果的节点未在可视数据中找到")}))}else K.value=[],ye.value=0}function Lr(R){R.key==="Enter"&&cn()}function qr(){cn()}t.expose({activeRowById:Ue,addNewDataItem:W,addNewChildDataItem:te,addChildrenToNode:me,collapseTo:At,expandTo:E,removeDataItem:ge,editDataItem:He,acceptDataItem:$e,cancelDataItem:Ae,updateColumns:Le,updateDataSource:Oe,selectItemById:qe,selectItemByIds:ht,getSelectedItems:yt,clearSelection:dt,getSelectionRow:Sr,clickRowItemById:Re,unSelectItemByIds:Vr,getCurrentRowId:Nr,reassignRowData:Ir,hasChildren:Mr,getCollapseField:kr,getCollapseStatusById:Er,getVisibleDataByIds:jr,selectRowById:sn,updateDerivedData:Br,emptyCurrentRowId:xr,calculateColumnsSize:oe,updateSelectedValues:Dr,removeSelectedValues:Pr});const Ar=o.computed(()=>{const R={};return Ve.shouldShowHorizontalScrollbar.value&&y.value&&(R.paddingBottom="10px"),Ve.shouldShowVirticalScrollbar.value&&y.value,R}),Ur=o.computed(()=>({...ne.value,borderRadius:"5px"})),{renderDataGridPagination:Ra}=ae.getPagination(e,t,h,Ve,q,k),zr=o.computed(()=>({"d-flex":!0,"justify-content-between":L.value&&B.value,"justify-content-end":L.value&&!B.value,"position-relative":!0})),_r=o.computed(()=>({"d-flex":!0,"align-items-center":!0}));function Hr(R){const X=R.map(se=>se.id),he=[...c.value,...l,...u];he.filter(se=>se.dataType!==ae.COMMAND_COLUMN_DATA_TYPE&&se.dataType!==ae.SETTING_COLUMN_DATA_TYPE).forEach(se=>{const ue=R.find(ze=>ze.id===se.id);ue&&(se.width=ue.actualWidth||se.width||120,ue.actualWidth!==void 0&&(se.actualWidth=ue.actualWidth),se.title=ue.title,se.halign=ue.halign,se.align=ue.align,se.fixed=ue.fixed)}),u=he.filter(se=>se.dataType===ae.COMMAND_COLUMN_DATA_TYPE||se.dataType===ae.SETTING_COLUMN_DATA_TYPE);const le=he.filter(se=>se.dataType!==ae.COMMAND_COLUMN_DATA_TYPE&&se.dataType!==ae.SETTING_COLUMN_DATA_TYPE),fe=le.filter(se=>X.includes(se.id));l=le.filter(se=>!X.includes(se.id)),fe.sort((se,ue)=>{const ze=R.findIndex(Ge=>Ge.id===se.id),Je=R.findIndex(Ge=>Ge.id===ue.id);return ze-Je}),Le(fe)}const{renderDataGridSummary:Gr}=ae.getSummary(e,h,J);return()=>e.visible&&o.createVNode(o.Fragment,null,[pe.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(mn,{value:Y.value,onInput:R=>Y.value=R,onKeydown:Lr,placeholder:"搜索数据...",style:{flex:1}},null),o.createVNode(Ut,{type:"link",onClick:qr,style:{cursor:"pointer",marginLeft:"8px"}},{default:()=>[o.createVNode("i",{class:"f-icon f-icon-search"},null)]})])]),o.createVNode("div",{ref:g,class:gt.value,style:Ur.value,onWheel:et},[v.value&&Ot.value&&Pt(),o.createVNode("div",{ref:v,class:ut.value,onMouseover:()=>y.value=!0,onMouseleave:()=>y.value=!1,onTouchstart:R=>{R.stopPropagation(),y.value=!0,Ve.onTouchstartScrollThumb(R,v)},onTouchend:R=>{y.value=!1},style:Ar.value},[v.value&&Rt(V),v.value&&Dt(),v.value&&Fr.value&&Tr(),v.value&&Lt(),v.value&&qt()]),v.value&&Gr(),B.value&&o.createVNode("div",{class:zr.value},[B.value&&o.createVNode("div",{class:_r.value},[o.createVNode("div",null,["已选:"+j.value.length,o.createTextVNode(" 条")])])]),Nt(),Q.value&&$t()]),e.enableColumnSettingSolution&&o.createVNode(ae.ColumnSettingSolution,{columns:[...c.value,...l],componentId:e.id,modelValue:i.value,"onUpdate:modelValue":R=>i.value=R,onChangeColumnSetting:Hr},null)])}});Ne.withInstall(jt),o.ref(0);var Ze=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function wt(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this re