@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
2 lines (1 loc) • 49.7 kB
JavaScript
(function(o,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../common/index.umd.js"),require("lodash-es"),require("../locale/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("../designer-canvas/index.umd.js"),require("../property-panel/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../common/index.umd.js","lodash-es","../locale/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","../designer-canvas/index.umd.js","../property-panel/index.umd.js"],i):(o=typeof globalThis<"u"?globalThis:o||self,i(o["dynamic-form"]={},o.Vue,o.dynamicResolver,o.common,o.LodashES,o.locale,o.dynamicView,o.FSection,o.FAccordion,o.FAvatar,o.FButtonEdit,o.FButtonGroup,o.FCalendar,o.FCapsule,o.FCheckbox,o.FCheckboxGroup,o.FComboList,o.FComboTree,o.FComponent,o.FColorPicker,o.FContentContainer,o.FDatePicker,o.FDataGrid,o.FDropdown,o.FDynamicForm$1,o.FEventsEditor,o.FFilterBar,o.FFieldSelector,o.FBindingSelector,o.FImageCropper,o.FInputGroup,o.FLayout,o.FListNav,o.FListView,o.FLookup,o.FMappingEditor,o.FNav,o.FNumberRange,o.FNumberSpinner,o.FOrder,o.FPageHeader,o.FPageFooter,o.FPagination,o.FProgress,o.FQuerySolution,o.FRadioGroup,o.FRate,o.FResponseToolbar,o.FResponseLayout,o.FResponseLayoutEditorSetting,o.FSearchBox,o.FSection$1,o.FSmokeDetector,o.FSplitter,o.FStep,o.FSwitch,o.FTabs,o.FTags,o.FText,o.FTimePicker,o.FTransfer,o.FTreeview,o.FUploader,o.FVerifyDetail,o.FVideo,o.FTextArea,o.FSchemaSelector,o.FTreeGrid,o.FEventParameter,o.FFilterConditionEditor,o.FFieldset,o.FSortConditionEditor,o.FMenuLookup,o.FDrawer,o.FJsonEditor,o.FPropertyEditor,o.FExpressionEditor,o.FCodeEditor,o.FHtmlTemplate,o.FCollectionPropertyEditor,o.FModal,o.FExternalContainer,o.FLanguageTextbox,o.FImage,o.FComment,o.designerCanvas,o.propertyPanel))})(this,function(o,i,W,ee,xe,ve,te,Re,Ue,De,Oe,Ae,$e,Ge,ke,Ie,Ke,We,_e,Qe,Xe,Je,ze,Ye,Ze,Se,He,et,tt,nt,ot,rt,it,st,at,dt,lt,ct,ut,mt,ft,pt,yt,gt,ht,Ct,Ft,jt,xt,we,bt,Vt,qt,Tt,vt,kt,It,wt,Mt,Bt,Pt,Lt,Nt,Et,Rt,Ut,Dt,Ot,At,$t,Gt,Kt,Wt,_t,Qt,Xt,Jt,zt,Yt,Zt,St,Ht,en,tn,nn,re,ae){"use strict";var Cn=Object.defineProperty;var Fn=(o,i,W)=>i in o?Cn(o,i,{enumerable:!0,configurable:!0,writable:!0,value:W}):o[i]=W;var je=(o,i,W)=>Fn(o,typeof i!="symbol"?i+"":i,W);const on="root-viewmodel";class rn{constructor(t,u){je(this,"formSchemaUtils");je(this,"controlCreatorUtils");je(this,"designViewModelUtils");this.resolver=t,this.designerHostService=u,this.formSchemaUtils=this.designerHostService.formSchemaUtils,this.controlCreatorUtils=this.designerHostService.controlCreatorUtils,this.designViewModelUtils=this.designerHostService.designViewModelUtils}createComponent(t){const u=this.createComponentRefNode(t),p=this.createComponentNode(t),a=this.createViewModeNode(t),F=this.formSchemaUtils.getFormSchema();return F.module.viewmodels.push(a),F.module.components.push(p),this.designViewModelUtils.assembleDesignViewModel(),u}createComponentRefNode(t){const u=this.resolver.getSchemaByType("component-ref");return Object.assign(u,{id:`${t.componentId}-component-ref`,component:`${t.componentId}-component`}),u}createComponentNode(t){const u=this.resolver.getSchemaByType("component"),p=this.createFormComponentContents(t);return Object.assign(u,{id:`${t.componentId}-component`,viewModel:`${t.componentId}-component-viewmodel`,componentType:t.componentType,appearance:{class:this.getFormComponentClass(t)},formColumns:t.formColumns,contents:p}),u}getFormComponentClass(t){var p,a;const{templateId:u}=this.formSchemaUtils.getFormSchema().module;if(u==="double-list-in-tab-template"&&((a=(p=t.parentComponentInstance)==null?void 0:p.schema)==null?void 0:a.type)==="tab-page"){const F=t.parentComponentInstance.parent&&t.parentComponentInstance.parent.schema;if((F==null?void 0:F.type)==="tabs"&&(F==null?void 0:F.fill)===!0)return"f-struct-wrapper f-utils-fill-flex-column"}return"f-struct-wrapper"}createFormComponentContents(t){var M,k;const u=this.resolver.getSchemaByType("section");Object.assign(u,{id:t.componentId+"-form-section",appearance:{class:"f-section-form f-section-in-mainsubcard"},mainTitle:t.componentName});const p=this.resolver.getSchemaByType("response-form"),a=[];Object.assign(p,{id:t.componentId+"-form",appearance:{class:"f-form-layout farris-form farris-form-controls-inline"},contents:a,controlsInline:!0}),u.contents=[p];const{selectedFields:F}=t;F==null||F.forEach(y=>{if(y.$type===ee.FormSchemaEntityField$Type.SimpleField){const L=xe.cloneDeep(y),C=this.resolveControlClassByFormColumns(t),q=this.controlCreatorUtils.setFormFieldProperty(L,"",C);q&&a.push(q)}});const{templateId:V}=this.formSchemaUtils.getFormSchema().module;if(V==="double-list-in-tab-template"&&((k=(M=t.parentComponentInstance)==null?void 0:M.schema)==null?void 0:k.type)==="tab-page"){const y=t.parentComponentInstance.parent&&t.parentComponentInstance.parent.schema;(y==null?void 0:y.type)==="tabs"&&(y==null?void 0:y.fill)===!0&&(u.appearance.class="f-section-grid f-section-in-main px-0 pt-0",u.fill=!0)}return[u]}resolveControlClassByFormColumns(t){let u="";switch(t.formColumns){case 1:{u="col-12 col-md-12 col-xl-12 col-el-12";break}case 2:{u="col-12 col-md-6 col-xl-6 col-el-6";break}case 3:{u="col-12 col-md-6 col-xl-4 col-el-4";break}case 4:{u="col-12 col-md-6 col-xl-3 col-el-2";break}}return u}createViewModeNode(t){return{id:`${t.componentId}-component-viewmodel`,code:`${t.componentId}-component-viewmodel`,name:t.componentName,bindTo:t.bindTo,parent:on,fields:this.assembleViewModelFields(t),commands:[],states:[],enableValidation:!0}}assembleViewModelFields(t){const u=[],{selectedFields:p}=t;return p==null||p.forEach(a=>{if(a.$type===ee.FormSchemaEntityField$Type.SimpleField){let F="blur";const V=a.type.name;(V===ee.FormSchemaEntityFieldTypeName.Enum||V===ee.FormSchemaEntityFieldTypeName.Boolean)&&(F="change"),u.push({type:"Form",id:a.id,fieldName:a.bindingField,groupId:null,groupName:null,updateOn:F,fieldSchema:{}})}}),u}}function Me(e,t,u,p){var F,V,M,k,y,L;const a=u.parentComponentInstance;if(a&&p){const C=(F=a.schema)==null?void 0:F.type,E={componentId:`form-${Math.random().toString(36).slice(2,6)}`,componentName:((V=u.bindingSourceContext)==null?void 0:V.entityTitle)||((k=(M=u.bindingSourceContext)==null?void 0:M.bindingEntity)==null?void 0:k.name)||"标题",componentType:"form",formColumns:C==="splitter-pane"?1:4,parentContainerId:a.schema.id,parentComponentInstance:a,bindTo:((y=u.bindingSourceContext)==null?void 0:y.bindTo)||"/",selectedFields:(L=u.bindingSourceContext)==null?void 0:L.bindingEntityFields};return new rn(e,p).createComponent(E)}else return t}const sn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/response-form.schema.json",title:"response-form",description:"A Farris Data Collection Component",type:"object",properties:{id:{description:"The unique identifier for a form group",type:"string"},type:{description:"The type string of form group component",type:"string",default:"response-form"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},contents:{description:"",type:"array",default:[]},visible:{description:"",type:"boolean",default:!0},labelAutoOverflow:{description:"",type:"boolean",default:!1},adaptForLanguage:{description:"",type:"boolean",default:!0},layout:{description:"",type:"string",default:"col-12 col-md-6 col-xl-3 col-el-2"},fields:{description:"",type:"array"},formData:{description:"",type:"object"},formType:{description:"",type:"string",default:"static"}},required:["id","type","contents"]},Be=new Map([["appearance",W.resolveAppearance]]),an={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/dynamic-form.schema.json",title:"dynamic-form",description:"A Farris Data Collection Component",type:"object",properties:{id:{description:"The unique identifier for a form group",type:"string"},type:{description:"The type string of form group component",type:"string",default:"dynamic-form"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},contents:{description:"",type:"array",default:[]},visible:{description:"",type:"boolean",default:!0},labelAutoOverflow:{description:"",type:"boolean",default:!1},adaptForLanguage:{description:"",type:"boolean",default:!0},formType:{description:"",type:"string",default:"dynamic"},layout:{description:"",type:"string",default:"col-12 col-md-6 col-xl-3 col-el-2"},fields:{description:"",type:"array"},formData:{description:"",type:"object"},headerTitleRenderFunction:{description:"",type:"function",default:null},headerContentRenderFunction:{description:"",type:"function",default:null},footerRenderFunction:{description:"",type:"function",default:null},mode:{description:"",type:"string",default:"quick"},footerStyle:{description:"",type:"string",default:""},headerStyle:{description:"",type:"string",default:""},toolbar:{description:"",type:"array",default:[]},moreButtonClass:{description:"",type:"string",default:"btn-link"},onClick:{description:"",type:"string",default:""}},required:["id","type","contents"],events:{onClick:"点击事件","onUpdate:modelValue":"值变更事件",event:"事件"}};var ye=(e=>(e.Header="header",e.Footer="footer",e))(ye||{}),Ce=(e=>(e.QUICK="quick",e.FULL="full",e))(Ce||{});const Fe={customClass:{type:String,default:""},customStyle:{type:String,defaut:""},visible:{type:Boolean,default:!0},adaptForLanguage:{type:Boolean,default:!0},fields:{type:Array,default:[]},formData:{type:Object,default:null},layout:{type:String,default:"col-12 col-md-6 col-xl-3 col-el-2"}},Pe=Object.assign({},Fe,{canRenderForm:{type:Boolean,default:!0},callback:{type:Function},mainTitle:{type:String,default:""},showHeader:{type:Boolean,default:!1},headerTitleRenderFunction:{type:Function},headerContentRenderFunction:{type:Function},footerRenderFunction:{type:Function},showFooter:{type:Boolean,default:!1},expandLabel:{type:String,default:"展开"},collapseLabel:{type:String,default:"收起"},enableAccordion:{type:Boolean,default:!0},mode:{type:String,default:Ce.QUICK},toolbar:{type:[Array,Function],default:[]},headerStyle:{type:[String,Function],default:""},footerStyle:{type:[String,Function],default:""},moreButtonClass:{type:String,default:"btn-link"}}),dn=W.createPropsResolver(Fe,sn,Be,Me),ln=W.createPropsResolver(Fe,an,Be,Me),ge=i.defineComponent({name:"FDynamicForm",props:Pe,emits:["update:modelValue","event","click"],setup(e,t){const u=i.ref(e.fields),p=new Map,a=i.ref(e.callback);te.loadRegister();const F=te.useComponentManager(),V=i.ref(e.formData||{}),M=te.useBindingData(V,t);te.useEntityState(u.value).setup();const y=new Map,L=i.ref(e.canRenderForm);let C=[],q=[],E=[];const B=e.mode===Ce.FULL?"contents":"fields",{mergeArray:_,resolveCallbacks:Y,resolveEvents:z}=te.useDynamicViewUtils(),D=i.computed(()=>{const n=ve.LocaleService.getLocale(),x=e.fields&&e.fields.length>0;let b={"f-form-layout":x,"farris-form":x,"f-dynamic-form":!(e.showHeader||e.showFooter)};return b=ee.getCustomClass(b,e.customClass),e.adaptForLanguage&&n&&(b["farris-form-controls-inline"]=n!=="en"),b});function P(){function n(x,b){const{id:I}=x||{},{field:A}=x.binding||{};return{modelValue:b.getValue(I),"onUpdate:modelValue":ne=>{b.setValue(I,A||I,ne)}}}return{resolve:n}}function U(n){const x=P();return M.getValue(n.id)===void 0&&Object.hasOwnProperty.call(n,"modelValue")&&M.setValue(n.id,void 0,n.modelValue),x.resolve(n,M)}function K(n){const x={};return n&&Object.entries(n).forEach(([b,I])=>{x[b]=()=>Array.isArray(I)?I.map(A=>ie(A)):ie(I)}),x}function O(n){return n.type?n.type:n[B]?"fieldset":"form-group"}function de(n){const x=O(n),b=n.customClass||"";return b||(x==="fieldset"?"col-12 px-0":C.length===0&&q.length===0||n.id&&E.find(I=>I[B]?I[B].find(A=>A.id===n.id):I.id===n.id)?e.layout:"unset-item")}function le(n){const x=O(n);let b={},I="",A={},ne={};if(e.mode===Ce.FULL){A={...z(n,t,x)},ne={...Y(n,a,x)};const G=te.componentPropsConverter[x];b=G?G(n):{},I=de(b)}else{I=de(n);const{fields:G,customClass:H,...se}=n;b=se}return{props:{...{...b,customClass:I,...U(n)},key:n.id,ref:G=>{if(G&&n.id&&!F.has(n.id)){F.register(n.id,G);const H={token:n.id,name:"component:ready",type:O(n),payloads:[i.ref(G)],schema:n};t.emit("event",H)}},onVnodeUnmounted:G=>{if(n.id&&F.has(n.id)){F.remove(n.id);const H={token:n.id,name:"component:unmounted",type:O(n),payloads:[G],schema:n};t.emit("event",H)}}},eventProps:A,callbackProps:ne}}function Z(n,x){return Array.isArray(n)?n.map(b=>x(b)):x(n)}function ie(n,x){var ue;const b=O(n),I=te.componentMap[b];if(n.id&&p.set(n.id,n),!I)return null;const A=()=>n[B]?n[B].map(G=>ie(G)):null,ne=(G,H,se)=>{let pe;return se&&se.length>0?pe=i.createVNode(G,{...H},se):pe=i.createVNode(G,{...H},null),pe},fe=((ue=y.get(n.id))==null?void 0:ue.props)||{};return n[B]&&n[B].length>0?ne(I,fe,[A()]):n.slots?ne(I,fe,[...Object.values(K(n.slots))]):ne(I,fe)}function ce(n){const x=O(n);if(!te.componentMap[x])return;const{props:I,eventProps:A,callbackProps:ne}=le(n),fe=te.resolverMap[x],ue=fe?fe.editorResolver:null,{componentEventProps:G,editorEventProps:H}=A,{componentCallbackProps:se,editorCallbackProps:pe}=ne;if(G&&Object.keys(G).length>0&&Object.assign(I,G),se&&Object.keys(se).length>0&&Object.assign(I,se),ue&&H&&Object.keys(H).length>0){const oe=ue.resolve(n);Object.assign(oe,H)}if(ue&&pe&&Object.keys(pe).length>0){const oe=ue.resolve(n);Object.assign(oe,pe)}if(I&&Object.keys(I).length>0){const oe=y.get(n.id);oe?xe.merge(oe==null?void 0:oe.props,I):y.set(n.id,i.reactive({props:I}))}!n[B]||!Array.isArray(n[B])||n[B].forEach(oe=>ce(oe))}function he(n){const x=O(n);te.componentMap[x]&&(me(n),!(!n[B]||!Array.isArray(n[B]))&&n[B].forEach(I=>he(I)))}function me(n){const x=U(n);if(x&&Object.keys(x).length>0){const b=y.get(n.id);if(!b)y.set(n.id,i.reactive({props:x}));else{const I={...b==null?void 0:b.props};Object.keys(x).forEach(A=>{I[A]=x[A]}),Object.assign(b==null?void 0:b.props,I)}}}i.onMounted(()=>{}),i.watch(()=>e.formData,n=>{V.value=n}),i.watch(()=>V.value,()=>{Z(u.value,he)},{deep:!0});function R(n,x=""){return x?n.filter(b=>b.position===x):n.filter(b=>!b.position||[ye.Header,ye.Footer].indexOf(b.position)<0)}function r(n){n&&(C=R(n,ye.Header),C.length&&Z(C,ce),q=R(n,ye.Footer),q.length&&Z(q,ce),E=R(n),E.length&&Z(E,ce))}i.watch(()=>e.fields,n=>{p.clear(),F.clear(),V.value=e.formData||{},y.clear(),u.value=n,r(n)}),r(e.fields);function s(n){n.$forceUpdate&&n.$forceUpdate()}function f(n){return M.getValue(n)}function h(){return V.value}function T(n,x){M.setValue(n,void 0,x);const b=p.get(n);b&&me(b)}function v(n){var x;return(x=y.get(n))==null?void 0:x.props}function w(n,x){const b=y.get(n);xe.mergeWith(b==null?void 0:b.props,x,_)}t.expose({componentManager:F,rerender:s,getProps:v,setProps:w,getControlValue:f,setControlValue:T,getValues:h});function j(n=[]){return n.length>0&&Z(n,ie)}function g(n){return i.withDirectives(i.createVNode("div",{class:D.value,style:e.customStyle},[t.slots.default&&t.slots.default(),n.length>0&&Z(n,ie)]),[[i.resolveDirective("area-response")]])}function N(){const n={};let x="f-dynamic-form-section--header-content",b="f-dynamic-form-section--footer";return e.showHeader&&(t.slots.headerTitle&&(n.headerTitle=()=>{var I,A;return(A=(I=t.slots).headerTitle)==null?void 0:A.call(I)}),x+=e.headerContentRenderFunction||t.slots.headerContent?" f-dynamic-form-section--header-cotnent-tmpl":"",t.slots.headerContent?n.headerContent=()=>{var I,A;return(A=(I=t.slots).headerContent)==null?void 0:A.call(I)}:!e.headerContentRenderFunction&&C.length>0&&(n.headerContent=()=>i.withDirectives(i.createVNode("div",{class:"f-form-layout farris-form farris-form-controls-inline f-dynamic-form-section--fields"},[j(C)]),[[i.resolveDirective("area-response")]]))),e.showFooter&&(b+=e.footerRenderFunction||t.slots.footer?" f-dynamic-form-section--footer-tmpl":0,t.slots.footer?n.footer=()=>{var I,A;return(A=(I=t.slots).footer)==null?void 0:A.call(I)}:!e.footerRenderFunction&&q.length>0&&(b+=q.length>0?" f-form-layout farris-form farris-form-controls-inline f-dynamic-form-section--fields":"",n.footer=()=>j(q))),{slots:n,footerClass:b,headerContentClass:x}}const $=i.computed(()=>typeof e.toolbar=="function"?e.toolbar():e.toolbar),S=i.computed(()=>e.headerStyle?typeof e.headerStyle=="function"?e.headerStyle():e.headerStyle:""),Q=i.computed(()=>e.footerStyle?typeof e.footerStyle=="function"?e.footerStyle():e.footerStyle:"");function J(n,x){t.emit("click",n,x)}function X(){const{slots:n,footerClass:x,headerContentClass:b}=N();return i.createVNode(Re,{customClass:"f-dynamic-form-section",showHeader:e.showHeader,mainTitle:e.mainTitle,enableAccordion:e.enableAccordion?"default":"",headerContentClass:b,footerClass:x,buttons:$.value,headerStyle:S.value,footerStyle:Q.value,headerTitleRenderFunction:e.showHeader&&e.headerTitleRenderFunction?()=>e.headerTitleRenderFunction():null,headerContentRenderFunction:e.showHeader&&e.headerContentRenderFunction?()=>e.headerContentRenderFunction():null,footerRenderFunction:e.showFooter&&e.footerRenderFunction?()=>e.footerRenderFunction():null,buttonsClass:"col-auto",onClick:J,moreButtonClass:e.moreButtonClass},{default:()=>g(E),...n})}return()=>e.visible?e.showHeader||e.showFooter?X():L.value&&g(u.value)||!L.value&&j(u.value):null}}),be=i.defineComponent({name:"FResponseForm",props:Fe,emits:[],setup(e,t){var C;const u=i.ref(),p=i.ref(),a=i.computed(()=>{const q=ve.LocaleService.getLocale(),E=e.fields&&e.fields.length>0;let B={"drag-container":!0,"f-form-layout":E,"farris-form":E};return B=ee.getCustomClass(B,e.customClass),e.adaptForLanguage&&q&&(B["farris-form-controls-inline"]=q!=="en"),B}),F=(C=p.value)==null?void 0:C.componentManager;function V(q){p.value.render(q)}function M(q){return p.value.getControlValue(q)}function k(q,E){p.value.setControlValue(q,E)}function y(q){return p.value.getProps(q)}function L(q,E){p.value.setProps(q,E)}return t.expose({componentManager:F,rerender:V,getProps:y,setProps:L,getControlValue:M,setControlValue:k}),()=>e.visible&&i.withDirectives(i.createVNode("div",{ref:u,class:a.value,style:e.customStyle},[t.slots.default&&t.slots.default(),e.fields&&e.fields.length>0&&i.createVNode(ge,{ref:p,fields:e.fields,canRenderForm:!1,formData:e.formData,layout:e.layout},null)]),[[i.resolveDirective("area-response")]])}}),Le={id:{type:String,default:""},customClass:{type:String,default:""},customStyle:{type:String,default:""},editor:{type:Object,default:{}},label:{type:String,default:""},modelValue:{type:[String,Boolean,Array,Number],default:null},visible:{type:Boolean,default:!0},required:{type:Boolean,default:!1},showLabel:{type:Boolean,default:!0},showLabelType:{type:String,default:"visible"},type:{type:String,default:"input-group"},componentId:{type:String,default:""},errors:{type:Object,default:null},fill:{type:Boolean,default:!1},linkLabel:{type:String,default:!1}},cn={id:{type:String},required:{type:Boolean,default:!1},text:{type:String,default:""},title:{type:String},valid:{type:Boolean,default:!0},inValidTip:{type:String,default:""},showType:{type:String,default:"visible"},isLink:{type:Boolean,default:!1}},Ne=i.defineComponent({name:"FDynamicFormLabel",props:cn,emits:["clickLabel"],setup(e,t){i.ref(e.title||e.text);const u=i.ref(e.required),p=i.ref(e.text),a=i.ref(e.valid),F=i.ref(e.inValidTip);i.watch(()=>e.text,()=>{p.value=e.text}),i.watch(()=>e.required,(q,E)=>{q!==E&&(u.value=q)}),i.watch([()=>e.valid,()=>e.inValidTip],([q,E])=>{a.value=q,F.value=E});const V=i.computed(()=>a.value?p.value:F.value),M=i.computed(()=>a.value?"":"color:red"),k=i.computed(()=>({"col-form-label":!0,"f-width-auto":u.value&&(e.showType==="none"||!p.value)})),y=i.computed(()=>e.showType==="force-none"?!1:e.showType==="reserve-space"||u.value||!!p.value&&e.showType!=="none"),L=()=>{e.showType!=="reserve-space"&&t.emit("clickLabel")},C=i.computed(()=>({"farris-label-text":!0,"f-pretend-link":!!e.isLink&&e.showType!=="reserve-space"}));return()=>y.value&&i.createVNode("label",{class:k.value,title:V.value,style:M.value},[!a.value&&i.createVNode("span",{class:"f-icon f-icon-warning mr-1",style:"color: red; min-width: 16px;",title:F.value},null),i.createVNode("span",{class:C.value,onClick:L},[u.value&&i.createVNode("span",{class:"farris-label-info text-danger"},[i.createTextVNode("*")]),e.showType==="visible"&&p.value])])}}),{globalStorageKey:un}=ee.useThirdComponent(),d={},l={},c={},m={};async function mn(){{const e={schemaMap:W.schemaMap,propertyConfigSchemaMap:W.propertyConfigSchemaMap,propertyEffectMap:W.propertyEffectMap,schemaResolverMap:W.schemaResolverMap};De.register(d,l,c,m),Ue.register(d,l,c,m),Oe.register(d,l,c,m),Ae.register(d,l,c,m),$e.register(d,l,c,m,e),Ge.register(d,l,c,m),ke.register(d,l,c,m,e),Ie.register(d,l,c,m,e),ke.register(d,l,c,m,e),Ie.register(d,l,c,m,e),Ke.register(d,l,c,m,e),We.register(d,l,c,m),_e.register(d,l,c,m),Xe.register(d,l,c,m,e),Qe.register(d,l,c,m),Je.register(d,l,c,m,e),ze.register(d,l,c,m,e),Ye.register(d,l,c,m),Ze.register(d,l,c,m,e),Se.register(d,l,c,m),Jt.register(d,l,c,m),He.register(d,l,c,m),et.register(d,l,c,m),$t.register(d,l,c,m),nt.register(d,l,c,m),ot.register(d,l,c,m,e),rt.register(d,l,c,m,e),st.register(d,l,c,m,e),it.register(d,l,c,m),at.register(d,l,c,m,e),dt.register(d,l,c,m),lt.register(d,l,c,m),ct.register(d,l,c,m),ut.register(d,l,c,m,e),mt.register(d,l,c,m),ft.register(d,l,c,m,e),pt.register(d,l,c,m),yt.register(d,l,c,m),gt.register(d,l,c,m),ht.register(d,l,c,m,e),Ct.register(d,l,c,m,e),Ft.register(d,l,c,m),xt.register(d,l,c,m,e),we.register(d,l,c,m),jt.register(d,l,c,m),Dt.register(d,l,c),bt.register(d,l,c,m),Vt.register(d,l,c,m,e),qt.register(d,l,c,m),Tt.register(d,l,c,m),vt.register(d,l,c,m),kt.register(d,l,c,m,e),Kt.register(d,l,c,m),It.register(d,l,c,m,e),wt.register(d,l,c,m),Mt.register(d,l,c,m),Bt.register(d,l,c,m,e),Pt.register(d,l,c,m),Lt.register(d,l,c,m),Et.register(d,l,c,m),Nt.register(d,l,c,m),Rt.register(d,l,c,m),Ut.register(d,l,c,m,e),Ot.register(d,l,c,m),tt.register(d,l,c,m),At.register(d,l,c,m),Gt.register(d,l,c,m,e),Wt.register(d,l,c,m),_t.register(d,l,c,m),Qt.register(d,l,c,m),Xt.register(d,l,c,m),zt.register(d,l,c,m),Yt.register(d,l,c,m,e),Zt.register(d,l,c,m),St.register(d,l,c,m),Ht.register(d,l,c,m),en.register(d,l,c,m,e),tn.register(d,l,c,m,e),nn.register(d,l,c,m);const t=window[un];if(t)for(const u in t)t[u].createPropsResolver=W.createPropsResolver,t[u].register(d,l,c)}}function Ve(){mn();function e(V){const M=d[V];if(!M)throw new Error(`Could not find the editor of type '${V}'`);return M}function t(V,M){const k=l[V];return k?k(M):{}}function u(V){switch(V){case"check-box":return"onChangeValue";case"switch":return"onModelValueChanged";case"check-group":return"onChangeValue";case"combo-list":case"combo-tree":return"onChange";case"combo-lookup":return"";case"year-range":case"year-picker":case"month-range":case"month-picker":case"date-range":case"datetime-range":case"datetime-picker":return"onDatePicked";case"date-picker":return"onUpdate:modelValue";case"time-picker":return"onValueChange";case"input-group":return"onChange";case"lookup":case"sort-condition-editor":case"filter-condition-editor":case"code-editor":case"language-textbox":case"rich-text-editor":return"onUpdate:modelValue";case"number-range":return"onValueChange";case"number-spinner":return"onValueChange";case"radio-group":return"onChangeValue";case"text":return"";case"events-editor":return"onSavedCommandListChanged";case"grid-field-editor":case"item-collection-editor":case"response-form-layout-setting":case"response-layout-editor-setting":case"response-layout-splitter":case"menu-lookup":case"json-editor":return"onChange";case"field-selector":case"binding-selector":return"onFieldSelected";case"schema-selector":return"onSchemaSelected";case"mapping-editor":return"onMappingFieldsChanged";case"textarea":return"onChange";case"query-solution-config":case"solution-preset":case"filter-bar-config":return"onFieldsChanged";case"property-editor":return"onValueChange";case"expression-editor":return"onExpressionChanged";case"collection-property-editor":return"onValueChange";default:return"onUpdate:modelValue"}}function p(V){switch(V){case"combo-list":case"input-group":case"textarea":return"onClear"}}function a(V){switch(V){case"input-group":case"textarea":return"onMousedownEvent"}}function F(V){switch(V){case"input-group":case"textarea":return"onMouseupEvent"}}return{resolveEditorProps:t,resolveEditorType:e,getChangeFunctionName:u,getClearFunctionName:p,getMousedownFunctionName:a,getMouseupFunctionName:F}}const fn={errors:{type:Object,default:null}},pn=i.defineComponent({name:"FValidationMessage",props:fn,emits:[],setup(e,t){const u=i.ref(e.errors);i.watch(()=>e.errors,F=>{u.value=F});const p=i.ref(!0),a=i.computed(()=>{if(u.value){const F=Object.keys(u.value).map(V=>{var M;return(M=u.value[V])==null?void 0:M.name});return F.length?F.join(" "):""}return""});return()=>a.value&&i.createVNode("div",{class:"farris-feedback f-state-invalid",onClick:()=>p.value=!p.value},[!p.value&&i.createVNode("span",{class:"f-icon f-icon-message_warning f-feedback-icon"},null),p.value&&i.createVNode("span",{class:"f-feedback-message"},[a.value])])}}),qe=i.defineComponent({name:"FDynamicFormGroup",props:Le,emits:["change","update:modelValue","clickLabel"],setup(e,t){var me;const u=i.ref(e.id),p=i.ref(e.customClass),a=i.ref(e.editor),F=i.ref(e.label),V=i.ref(e.modelValue),M=i.ref(e.readonly),k=i.ref(((me=e.editor)==null?void 0:me.required)||e.required),y=i.ref(e.showLabel),L=i.ref(e.visible);i.ref(e.type);const C=i.ref(),q=i.ref(e.errors),E=ee.isMobilePhone(),B=i.ref(e.editor.type||"input-group"),_=i.computed(()=>y.value?e.showLabelType:"none"),{resolveEditorProps:Y,resolveEditorType:z,getChangeFunctionName:D,getClearFunctionName:P}=Ve(),U=i.computed(()=>{const R={"form-group":!0,"farris-form-group":!0,"common-group":!0,"q-state-readonly":M.value,"form-group--in-mobile":E};return R["form-group--has-"+B.value]=!0,R}),K=i.computed(()=>{if(e.fill)return{maxWidth:"none"}});function O(R,r,s){V.value=r!==void 0?r:R,t.emit("update:modelValue",V.value),t.emit("change",V.value,{newValue:R,newModelValue:r,parameters:s})}function de(){t.emit("update:modelValue","")}function le(R){return(...r)=>{de(),typeof R=="function"&&R(...r)}}function Z(R){return(r,s,f)=>{O(r,s,f),typeof R=="function"&&R(r,s,f)}}const ie=i.computed(()=>{const R=a.value.type||"input-group",r=z(R),s=Y(R,a.value),f=D(R),h=P(a.value.type);return h&&(s[h]=le(s[h])),f&&(s[f]=Z(s[f])),(s.id==null||s.id==="")&&(s.id=u.value),R==="number-range"&&a.value.onBeginValueChange&&typeof a.value.onBeginValueChange=="function"?(a.value.onBeginValueChange&&typeof a.value.onBeginValueChange=="function"&&(s.onBeginValueChange=a.value.onBeginValueChange),a.value.onEndValueChange&&typeof a.value.onEndValueChange=="function"&&(s.onEndValueChange=a.value.onEndValueChange)):R==="lookup"&&a.value["onUpdate:idValue"]&&typeof a.value["onUpdate:idValue"]=="function"?(s["onUpdate:idValue"]=a.value["onUpdate:idValue"],s.id=u.value):R==="collection-property-editor"&&a.value.onSelectionChange&&typeof a.value.onSelectionChange=="function"?s.onSelectionChange=a.value.onSelectionChange:R==="property-editor"&&(s.onBeforeOpenVariables=a.value.onBeforeOpenVariables),()=>i.createVNode(r,i.mergeProps({ref:C},s,{modelValue:V.value,"onUpdate:modelValue":T=>V.value=T}),t.slots)});function ce(){return i.createVNode(pn,{id:`${u.value}-validation-message`,errors:q.value},null)}i.watch([()=>e.id,()=>e.customClass,()=>e.editor,()=>e.label,()=>e.modelValue,()=>e.readonly,()=>e.required,()=>e.showLabel,()=>e.visible,()=>e.errors],([R,r,s,f,h,T,v,w,j,g])=>{var N;u.value=R,p.value=r,a.value=s,F.value=f,V.value=h,M.value=T,k.value=((N=a.value)==null?void 0:N.required)||v,y.value=w,L.value=j,q.value=g});function he(R){t.emit("clickLabel",R)}return t.expose({editorRef:C}),()=>L.value&&i.createVNode("div",{id:`${u.value}-form-group`,class:p.value,style:e.customStyle},[i.createVNode("div",{class:"farris-group-wrap",style:K.value},[i.createVNode("div",{class:U.value},[i.createVNode(Ne,{id:`${u.value}-lable`,showType:_.value,required:k.value,text:F.value,title:F.value,isLink:!!e.linkLabel,onClickLabel:he},null),i.createVNode("div",{class:"farris-input-wrap"},[ie.value(),ce()])])])])}}),Ee={id:{type:String,default:""},editor:{type:Object,default:{}},modelValue:{type:[String,Boolean,Array,Number]},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1}},Te=i.defineComponent({name:"FDynamicFormInput",props:Ee,emits:["change","update:modelValue","mousedown","mouseup"],setup(e,t){const u=i.ref(e.id),p=i.ref(e.editor),a=i.ref(e.modelValue),{resolveEditorProps:F,resolveEditorType:V,getChangeFunctionName:M,getMousedownFunctionName:k,getMouseupFunctionName:y,getClearFunctionName:L}=Ve();function C(D,P,U){a.value=P!==void 0?P:D,t.emit("update:modelValue",a.value),t.emit("change",a.value,{newValue:D,newModelValue:P,parameters:U})}function q(D){t.emit("mousedown",D)}function E(D){t.emit("mouseup",D)}function B(){t.emit("update:modelValue","")}function _(D){return(...P)=>{B(),typeof D=="function"&&D(...P)}}function Y(D){return(P,U,K)=>{C(P,U,K),typeof D=="function"&&D(P,U,K)}}const z=i.computed(()=>{const D=V(p.value.type),P=F(p.value.type,p.value);P.focusOnCreated=e.focusOnCreated,P.selectOnCreated=e.selectOnCreated;const U=M(p.value.type),K=L(p.value.type);K&&(P[K]=_(P[K])),U&&(P[U]=Y(P[U]));const O=k(p.value.type);P[O]=q;const de=y(p.value.type);return P[de]=E,P.id=u.value,()=>i.createVNode(D,i.mergeProps(P,{modelValue:a.value,"onUpdate:modelValue":le=>a.value=le}),null)});return i.watch([()=>e.id,()=>e.editor,()=>e.modelValue],([D,P,U])=>{u.value=D,p.value=P,a.value=U}),()=>z.value()}});function yn(e,t){function u(k,y=null){if(y)return y;const L=e.getComponentById(t);return e.selectNode(L,C=>C.id===k)}function p(k){const y=e.getComponentById(k);return!(!y||!y.componentType||!y.componentType.startsWith("form"))}function a(k){const y=new Set(k);return Array.from(y).length===1}function F(k){const y=u(k.id),L=we.useResponseLayoutEditorSetting(e),C=[];L.getResonseFormLayoutConfig(y,C,1);const q=C.map(U=>U.columnInSM),E=C.map(U=>U.columnInMD),B=C.map(U=>U.columnInLG),_=C.map(U=>U.columnInEL),Y=a(q)?q[0]:0,z=a(E)?E[0]:0,D=a(B)?B[0]:0,P=a(_)?_[0]:0;return{uniqueColClassInSM:Y,uniqueColClassInMD:z,uniqueColClassInLG:D,uniqueColClassInEL:P}}function V(k,y){let L,C,q,E,B=[];if(k){const U=k.split(" "),K=U.filter(O=>O.startsWith("col-"));L=K.find(O=>/^col-([1-9]|10|11|12)$/.test(O)),C=K.find(O=>/^col-md-([1-9]|10|11|12)$/.test(O)),q=K.find(O=>/^col-xl-([1-9]|10|11|12)$/.test(O)),E=K.find(O=>/^col-el-([1-9]|10|11|12)$/.test(O)),B=U.filter(O=>!O.startsWith("col-"))}const _=y.uniqueColClassInSM?"col-"+y.uniqueColClassInSM:L,Y=y.uniqueColClassInMD?"col-md-"+y.uniqueColClassInMD:C,z=y.uniqueColClassInLG?"col-xl-"+y.uniqueColClassInLG:q,D=y.uniqueColClassInEL?"col-el-"+y.uniqueColClassInEL:E;return[_,Y,z,D].concat(B).join(" ")}function M(k,y,L){k=u(L,k),k.contents.forEach(C=>{if(C.type===re.DgControl["dynamic-form"].type)return;if(C.type===re.DgControl.fieldset.type){M(C,y,C.id);return}C.appearance||(C.appearance={});const q=C.appearance.class;C.appearance.class=V(q,y)})}return{checkIsInFormComponent:p,assembleUnifiedLayoutContext:F,changeFormControlsByUnifiedLayoutConfig:M,changeControlClassInByColumn:V}}class gn extends ae.BaseControlProperty{constructor(t,u){super(t,u)}getPropertyConfig(t,u){const p=this;this.propertyConfig.categories.basic=this.getBasicPropConfig(t);const{checkIsInFormComponent:a,assembleUnifiedLayoutContext:F,changeFormControlsByUnifiedLayoutConfig:V,changeControlClassInByColumn:M}=yn(this.formSchemaUtils,this.componentId),k=this.getAppearanceConfig(t),y=a(this.componentId);k.properties.adaptForLanguage={title:"控件布局响应国际化",description:"启用国际化后:简体中文、繁体中文环境下控件标签与输入框在一行展示,其他语言环境下控件标签与输入框上下排列。",visible:t.formType==="dynamic"||y,type:"boolean"},k.properties.labelAutoOverflow={title:"控件标签换行",description:"控件标签字数超长时,换行显示。控件标签与输入框在一行展示时,此属性有效。",visible:t.formType==="dynamic"||y,type:"boolean"},k.properties.formType={title:"控件来源",description:"",type:"enum",editor:{readonly:t.type==="dynamic-form",type:"combo-list",textField:"name",valueField:"value",data:[{value:"static",name:"静态"},{value:"dynamic",name:"动态"},{value:"mixed",name:"混合"}]},refreshPanelAfterChanged:!0},k.properties.unifiedLayout={title:"统一布局配置",description:"统一配置卡片区域内所有控件的宽度,只支持标准模式",visible:t.formType==="dynamic"||y,refreshPanelAfterChanged:!0,editor:{type:"response-form-layout-setting",initialState:F(t)}},k.setPropertyRelates=function(C,q){if(C)switch(C&&C.propertyID){case"unifiedLayout":{t.formType==="dynamic"?t.layout=M("",C.propertyValue):(V(null,C.propertyValue,t.id),p.updateElementByParentContainer(t.id,u));break}case"labelAutoOverflow":{p.setLabelAutoOverflow(t,C.propertyValue),re.refreshCanvas();break}}},this.propertyConfig.categories.appearance=k;let L={};if(t.formType&&["dynamic","mixed"].indexOf(t.formType)>-1){const C=this.getPropertyEditorParams(t,["Variable","Custom"],"fields",{},{newVariablePrefix:"",newVariableType:"Array"}),q=this.getPropertyEditorParams(t,["Variable","Custom"],"formData",{},{newVariablePrefix:"",newVariableType:"Object"});L={fields:{title:"动态控件列表",type:"string",description:"动态控件列表",editor:C},formData:{title:"动态控件列表初始值",type:"string",description:"动态控件列表初始值",editor:q}}}return this.propertyConfig.categories.behavior=this.getBehaviorConfig(t,"",L,(C,q)=>{switch(C.propertyID){case"fields":case"formData":p.afterMutilEditorChanged(t,C);break}}),this.propertyConfig}setLabelAutoOverflow(t,u,p){if(!p){const a=this.formSchemaUtils.getComponentById(this.componentId);p=this.formSchemaUtils.selectNode(a,F=>F.id===t.id)}p&&p.contents&&p.contents.length&&p.contents.forEach(a=>{if(a.type===re.DgControl.fieldset.type){this.setLabelAutoOverflow(null,u,a);return}a.appearance||(a.appearance={class:""}),a.appearance.class||(a.appearance.class=""),u?a.appearance.class.includes("farris-group-multi-label")||(a.appearance.class=a.appearance.class+" farris-group-multi-label"):a.appearance.class=a.appearance.class.replace("farris-group-multi-label","").trim()})}}function hn(e,t){const u=e.schema,p=new re.UseTemplateDragAndDropRules,{canMove:a,canAccept:F,canDelete:V}=p.getTemplateRule(e,t);function M(r,s){const{sourceElement:f}=r,{componentInstance:h}=f,T=t==null?void 0:t.formSchemaUtils;if(!T)return!0;const v=T.getComponentById(h.value.belongedComponentId),w=T.getViewModelById(v.viewModel),j=T.getComponentById(e.componentInstance.value.belongedComponentId),g=T.getViewModelById(j.viewModel);return s?w!=null&&w.id&&(g!=null&&g.id)&&w.id!==g.id?w.bindTo===g.bindTo:!0:(w==null?void 0:w.id)===(g==null?void 0:g.id)}function k(r){const{bindingTargetId:s}=r;if(!t)return;const{formSchemaUtils:f,schemaService:h}=t,T=f.getComponentById(e.componentInstance.value.belongedComponentId),v=h.getFieldByIDAndVMID(s,T.viewModel);return!!(v!=null&&v.schemaField)}function y(r){const s=p.getComponentContext(e);if(s&&s.componentClassList&&s.componentClassList.includes("f-form-layout")&&s.componentClassList.includes("farris-form")){if(r.sourceType==="control"&&(r.componentCategory==="input"||r.componentType&&["fieldset","dynamic-form"].indexOf(r.componentType)>-1))return!0;if(r.sourceType==="move"){if(r.componentType==="form-group")return M(r,!0);if(r.componentType==="fieldset")return M(r,!1);if(r.componentType==="dynamic-form")return!0}return r.sourceType==="field"&&r.componentCategory==="input"?k(r):!1}return!0}function L(r){return!(!re.useDragulaCommonRule().basalDragulaRuleForContainer(r,t)||!F||!y(r))}function C(r){var g;const s=r.componentInstance,f=s.value.schema,h=t==null?void 0:t.formSchemaUtils,T=t==null?void 0:t.designViewModelUtils,v=h.getViewModelIdByComponentId(s.value.belongedComponentId),w=T.getDgViewModel(v),j=s.value.parent;if(j&&re.DgControl.fieldset&&((g=j.schema)==null?void 0:g.type)===re.DgControl.fieldset.type&&w){const N={groupId:null,groupName:null};switch(f.binding.type){case ae.FormBindingType.Form:{w.changeField(f.binding.field,N);break}case ae.FormBindingType.Variable:{h.modifyViewModelFieldById(v,f.binding.field,N,!0);break}}}}function q(r,s,f){const h=s.fields.find(g=>g.id===r),T=t==null?void 0:t.designViewModelUtils,v=T.getDgViewModel(s.id),w=v.fields.find(g=>g.id===r);v.removeField([r]);const j=T.getDgViewModel(f);j.addField(w),h.fieldSchema&&j.changeField(w.id,h.fieldSchema)}function E(r,s,f,h=[]){const T=s.id,v=r.binding.field,w=s.fields.findIndex(g=>g.id===v);if(w>-1&&(f.fields.push(s.fields[w]),s.fields.splice(w,1)),T==="root-viewmodel"&&f.id!=="root-viewmodel"){r.binding.path&&!r.binding.path.includes("root-component.")&&(r.binding.path="root-component."+r.binding.path);return}if(f.id==="root-viewmodel"&&T!=="root-viewmodel"&&r.binding.path&&r.binding.path.includes("root-component.")){r.binding.path=r.binding.path.replace("root-component.","");return}const j=s.states.find(g=>g.id===v);j&&(f.states=f.states?f.states:[],f.states.findIndex(g=>g.id===j.id)<0&&(f.states.push(j),h.push(j.id)))}function B(r,s,f,h=[]){var w;if(!r)return;const T=s.id==="root-viewmodel"&&f.id!=="root-viewmodel",v=f.id==="root-viewmodel"&&s.id!=="root-viewmodel";Object.keys(r).forEach(j=>{if(j==="binding")return;const g=r[j];if(g&&typeof g=="object"&&g.type===ae.FormBindingType.Variable&&g.field){if(T){g.path&&!g.path.includes("root-component.")&&(g.path="root-component."+g.path);return}if(v&&g.path&&g.path.includes("root-component.")){g.path=g.path.replace("root-component.","");return}const N=s.states.find($=>$.id===g.field);if(N){h.push(N.id),f.states=f.states?f.states:[];const $=f.states.find(S=>S.code===N.code);if($)g.field=$.id;else{const S=Object.assign({},{newId:ee.useGuid().guid()},N);f.states.push(S),g.field=S.newId}}}}),(w=f.states)!=null&&w.length&&f.states.map(j=>{j.newId&&(j.id=j.newId,delete j.newId)})}function _(r,s,f){if(r&&(s(r,f),r.contents))for(const h of r.contents)_(h,s,f)}function Y(r=[],s){if(!r.length)return;const f=t==null?void 0:t.formSchemaUtils,h=f.getComponentByViewModelId(s),T=[],v=(j,g)=>{j&&(Object.keys(j).forEach(N=>{const $=j[N];$&&typeof $=="object"&&$.type===ae.FormBindingType.Variable&&r.includes($.field)&&!g.includes($.field)&&g.push($.field)}),j.editor&&v(j.editor,g))};_(h,v,T);const w=f.getViewModelById(s);r.forEach(j=>{T.includes(j)||(w.states=w.states.filter(g=>g.id!==j))})}function z(r){const s=ee.useGuid().guid(),f=Object.assign({},r,{id:s,code:r.code+s.slice(0,4),name:r.name+s.slice(0,4)}),v=(t==null?void 0:t.formSchemaUtils).getCommands().find(w=>w.id===r.cmpId);return v&&v.refedHandlers.push({host:s,handler:r.handlerName}),f}function D(r,s,f){var N,$,S;const h={},T=r.type==="form-group"&&r.editor?r.editor.type:r.type,v=(N=W.schemaMap[T])==null?void 0:N.events;if(!v)return;Object.keys(r).forEach(Q=>{const J=Object.keys(v).find(X=>X===Q);if(J&&r[J]){const X=s.commands.find(n=>n.code===r[J]);if(X){let n=h[X.code];n||(n=z(X),h[X.code]=n,f.commands.push(n)),r[J]=n.code}}});const j=(t==null?void 0:t.designViewModelUtils).getDgViewModel(f.id),g=["valueChanging","valueChanged"];if((($=r.binding)==null?void 0:$.type)===ae.FormBindingType.Form){const Q=(S=f.fields)==null?void 0:S.find(J=>J.id===r.binding.field);Q&&g.forEach(J=>{if(Q[J]){const X=s.commands.find(n=>n.code===Q[J]);if(!X)return;if(h[X.code])j.changeField(Q.id,{[J]:h[X.code].code});else{const n=z(X);h[X.code]=n,f.commands.push(n),j.changeField(Q.id,{[J]:n.code})}}})}}function P(r){var g,N;const s=t==null?void 0:t.formSchemaUtils,f=r.componentInstance,h=f.value.schema,T=s.getViewModelIdByComponentId(f.value.belongedComponentId),v=s.getViewModelById(T),w=s.getComponentById(e.componentInstance.value.belongedComponentId),j=s.getViewModelById(w.viewModel);if(T!==j.id){const $=(g=h.binding)==null?void 0:g.type,S=(N=h.binding)==null?void 0:N.field,Q=[];switch($){case ae.FormBindingType.Form:{q(S,v,j.id);break}case ae.FormBindingType.Variable:{E(h,v,j,Q);break}}B(h,v,j,Q),B(h.editor,v,j,Q),D(h,v,j),T!=="root-viewmodel"&&Y(Q,T)}}function U(r){var h;if(!r||!r.componentInstance)return;const f=r.componentInstance.value.schema;if(f.type==="dynamic-form"){const T=((h=f==null?void 0:f.appearance)==null?void 0:h.class)||"";T.indexOf("col-12")<0&&(f.appearance={...f.appearance,class:T+" col-12 px-0"}),P(r);return}!f.binding||!f.binding.field||(C(r),P(r))}function K(){return u.componentType?"display:inherit;flex-direction:inherit;margin-bottom:10px":""}function O(r){let s="";switch(r){case 1:{s="col-12 col-md-12 col-xl-12 col-el-12";break}case 2:{s="col-12 col-md-6 col-xl-6 col-el-6";break}case 3:{s="col-12 col-md-6 col-xl-4 col-el-4";break}case 4:{s="col-12 col-md-6 col-xl-3 col-el-2";break}}return s}function de(r,s){let f=!1;if(e.schema&&Object.prototype.hasOwnProperty.call(e.schema,"labelAutoOverflow"))f=e.schema.labelAutoOverflow;else{const h=t==null?void 0:t.formSchemaUtils,T=h==null?void 0:h.selectNode(s,v=>v.type===re.DgControl["response-form"].type);T&&(f=T.labelAutoOverflow)}return f&&(r+=" farris-group-multi-label"),r}function le(r){const s=e.componentInstance.value.getBelongedComponentInstance(e.componentInstance);if(s&&s.schema&&s.schema.componentType){const{formColumns:f}=s.schema;let h=O(f);h=t==null?void 0:t.formSchemaUtils.getControlClassByFormUnifiedLayout(h,s.schema.id,e.schema),h=de(h,s.schema),r.appearance||(r.appearance={}),r.appearance.class=h}}function Z(r,s,f,h){const{bindingSourceContext:T,parentComponentInstance:v}=r;if(T!=null&&T.entityFieldNode&&v){const w=t==null?void 0:t.designViewModelUtils,g=(t==null?void 0:t.formSchemaUtils).getViewModelIdByComponentId(v.belongedComponentId),N=w.getDgViewModel(g);N.removeField([T.entityFieldNode.id]),N.addField(T.designViewModelField),s&&N.changeField(T.entityFieldNode.id,{editor:{$type:s},groupId:f,groupName:h})}}function ie(r,s){var v,w,j;const f=u;if((f.appearance&&f.appearance.class||"").split(" ").includes("f-form-layout")&&r.componentCategory==="input"){const{label:g}=r;let N;const $=t==null?void 0:t.controlCreatorUtils;return(v=r.bindingSourceContext)!=null&&v.entityFieldNode?N=$.setFormFieldProperty((w=r.bindingSourceContext)==null?void 0:w.entityFieldNode,s==null?void 0:s.type):(N=$.createFormGroupWithoutField(s==null?void 0:s.type),N.label=g),le(N),Z(r,(j=N.editor)==null?void 0:j.type),N}return r.componentType==="dynamic-form"&&(s.appearance={class:"col-12",...s.appearance}),s}function ce(){return a}function he(){return V}function me(){return!1}function R(r){return new gn(r,t).getPropertyConfig(u,e.componentInstance.value)}return{canAccepts:L,checkCanDeleteComponent:he,checkCanMoveComponent:ce,getStyles:K,getPropsConfig:R,hideNestedPaddingInDesginerView:me,onAcceptMovedChildElement:U,onResolveNewComponentSchema:ie,moveInputBetweenComponent:P,resolveFormGroupAppearance:le,syncFieldToViewModel:Z}}ge.install=e=>{e.component(be.name,be).component(Te.name,Te).component(ge.name,ge).component(qe.name,qe)},o.ControlShowPosition=ye,o.FDynamicForm=ge,o.FDynamicFormGroup=qe,o.FDynamicFormInput=Te,o.FDynamicFormLabel=Ne,o.FResponseForm=be,o.Mode=Ce,o.default=ge,o.dynamicFormGroupProps=Le,o.dynamicFormInputProps=Ee,o.dynamicFormProps=Pe,o.dynamicFormPropsResolver=ln,o.formPropsResolver=dn,o.responseFormProps=Fe,o.useDesignerRules=hn,o.useTypeResolver=Ve,Object.defineProperties(o,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});