UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

6 lines 298 kB
(function(X,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("vue"),require("lodash-es"),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("../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("../date-picker/index.umd.js"),require("../../designer/data-grid/index.umd.js"),require("../dropdown/index.umd.js"),require("../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("../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("../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("../rate/index.umd.js"),require("../response-toolbar/index.umd.js"),require("../response-layout/index.umd.js"),require("../response-layout-editor/index.umd.js"),require("../search-box/index.umd.js"),require("../section/index.umd.js"),require("../smoke-detector/index.umd.js"),require("../splitter/index.umd.js"),require("../step/index.umd.js"),require("../switch/index.umd.js"),require("../tabs/index.umd.js"),require("../tags/index.umd.js"),require("../text/index.umd.js"),require("../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("../textarea/index.umd.js"),require("../schema-selector/index.umd.js"),require("../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("../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("../designer-canvas/index.umd.js"),require("../common/index.umd.js"),require("@vueuse/core"),require("../data-view/index.umd.js"),require("../modal/index.umd.js"),require("../condition/index.umd.js"),require("../checkbox/index.umd.js"),require("../tooltip/index.umd.js"),require("../button/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../property-panel/index.umd.js"),require("../external-container/index.umd.js"),require("../notify/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../accordion/index.umd.js","../avatar/index.umd.js","../../designer/button-edit/index.umd.js","../button-group/index.umd.js","../calendar/index.umd.js","../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","../date-picker/index.umd.js","../../designer/data-grid/index.umd.js","../dropdown/index.umd.js","../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","../list-view/index.umd.js","../lookup/index.umd.js","../mapping-editor/index.umd.js","../nav/index.umd.js","../number-range/index.umd.js","../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","../rate/index.umd.js","../response-toolbar/index.umd.js","../response-layout/index.umd.js","../response-layout-editor/index.umd.js","../search-box/index.umd.js","../section/index.umd.js","../smoke-detector/index.umd.js","../splitter/index.umd.js","../step/index.umd.js","../switch/index.umd.js","../tabs/index.umd.js","../tags/index.umd.js","../text/index.umd.js","../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","../textarea/index.umd.js","../schema-selector/index.umd.js","../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","../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","../designer-canvas/index.umd.js","../common/index.umd.js","@vueuse/core","../data-view/index.umd.js","../modal/index.umd.js","../condition/index.umd.js","../checkbox/index.umd.js","../tooltip/index.umd.js","../button/index.umd.js","../dynamic-resolver/index.umd.js","../property-panel/index.umd.js","../external-container/index.umd.js","../notify/index.umd.js"],i):(X=typeof globalThis<"u"?globalThis:X||self,i(X["property-panel"]={},X.Vue,X.LodashES,X.FAccordion,X.FAvatar,X.FButtonEdit,X.FButtonGroup,X.FCalendar,X.FCapsule,X.FCheckbox,X.FCheckboxGroup,X.FComboList,X.FComboTree,X.FComponent,X.FColorPicker,X.FContentContainer,X.FDatePicker,X.FDataGrid,X.FDropdown,X.FDynamicForm,X.FEventsEditor,X.FFilterBar,X.FFieldSelector,X.FBindingSelector,X.FImageCropper,X.FInputGroup,X.FLayout,X.FListNav,X.FListView,X.FLookup,X.FMappingEditor,X.FNav,X.FNumberRange,X.FNumberSpinner,X.FOrder,X.FPageHeader,X.FPageFooter,X.FPagination,X.FProgress,X.FQuerySolution,X.FRadioGroup,X.FRate,X.FResponseToolbar,X.FResponseLayout,X.FResponseLayoutEditorSetting,X.FSearchBox,X.FSection,X.FSmokeDetector,X.FSplitter,X.FStep,X.FSwitch,X.FTabs,X.FTags,X.FText,X.FTimePicker,X.FTransfer,X.FTreeview,X.FUploader,X.FVerifyDetail,X.FVideo,X.FTextArea,X.FSchemaSelector,X.FTreeGrid$1,X.FEventParameter,X.FFilterConditionEditor,X.FFieldset,X.FSortConditionEditor,X.FMenuLookup,X.FDrawer,X.FJsonEditor,X.FPropertyEditor,X.FExpressionEditor,X.FCodeEditor,X.FHtmlTemplate,X.designerCanvas,X.common,X.VueUseCore,X.dataView,null,null,X.checkbox,X.FTooltip,X.FButton,X.dynamicResolver))})(this,function(X,i,Pe,Ir,Or,Pr,Dr,jr,Br,_n,Sn,Jt,Rr,$r,Lr,Wr,Hr,qr,Ar,Zt,Gr,zr,Yr,Ur,Xr,Qr,Kr,Jr,Zr,eo,to,no,ro,oo,io,ao,so,lo,co,uo,fo,po,mo,ho,go,vo,yo,bo,wo,Co,xo,_o,So,To,ko,Fo,Eo,No,Mo,Vo,Io,Oo,Po,Do,jo,Bo,Ro,$o,Lo,Wo,Ho,qo,Ao,Go,Tn,Ve,kn,Ee,jc,Bc,zo,Fn,Yo,Uo){"use strict";var Pc=Object.defineProperty;var Dc=(X,i,Pe)=>i in X?Pc(X,i,{enumerable:!0,configurable:!0,writable:!0,value:Pe}):X[i]=Pe;var V=(X,i,Pe)=>Dc(X,typeof i!="symbol"?i+"":i,Pe);const En={width:{type:String,default:"300px"},height:{type:Number,default:10},isWidePanel:{type:Boolean,default:!1},enableSearch:{type:Boolean,default:!0},mode:{type:String,default:"panel"},isPersitOpenState:{type:Boolean,default:!1},isShowPanel:{type:Boolean,default:!1},propertyName:{type:String,default:""},propertyConfig:{type:Array},propertyData:{type:Object,default:{}},showCloseBtn:{type:Boolean,default:!1},selectedTabId:{type:String,default:""},isWhiteTheme:{type:Boolean,default:!0},schema:{type:Object,default:{}},propertyChanged:{type:Function}};function Xo(t={}){function n(d,f,l,h){if(typeof l=="number")return h[d].length===l;if(typeof l=="object"){const p=Object.keys(l)[0],m=l[p];if(p==="not")return Number(h[d].length)!==Number(m);if(p==="moreThan")return Number(h[d].length)>=Number(m);if(p==="lessThan")return Number(h[d].length)<=Number(m)}return!1}function e(d,f,l,h){return h[d]&&h[d].propertyValue&&String(h[d].propertyValue.value)===String(l)}const r=new Map([["length",n],["getProperty",e]]);Object.keys(t).reduce((d,f)=>(d.set(f,t[f]),d),r);function o(d,f){const l=d;return typeof f=="number"?[{target:l,operator:"length",param:null,value:Number(f)}]:typeof f=="boolean"?[{target:l,operator:"getProperty",param:d,value:!!f}]:typeof f=="object"?Object.keys(f).map(h=>{if(h==="length")return{target:l,operator:"length",param:null,value:f[h]};const p=h,m=f[h];return{target:l,operator:"getProperty",param:p,value:m}}):[]}function a(d){return Object.keys(d).reduce((l,h)=>{const p=o(h,d[h]);return l.push(...p),l},[])}function s(d,f){if(r.has(d.operator)){const l=r.get(d.operator);return l&&l(d.target,d.param,d.value,f)||!1}return!1}function u(d,f){return a(d).reduce((p,m)=>p&&s(m,f),!0)}function c(d,f){const l=Object.keys(d),h=l.includes("allOf"),p=l.includes("anyOf"),m=h||p,v=(m?d[m?h?"allOf":"anyOf":"allOf"]:[d]).map(b=>u(b,f));return h?!v.includes(!1):v.includes(!0)}return{parseValueSchema:c}}const qt={},Nn={};function en(t){const{properties:n,title:e,ignore:r}=t,o=r&&Array.isArray(r),a=Object.keys(n).reduce((s,u)=>((!o||!r.find(c=>c===u))&&(s[u]=n[u].type==="object"&&n[u].properties?en(n[u]):Pe.cloneDeep(n[u].default)),s),{});if(e&&(!o||!r.find(s=>s==="id"))){const s=e.toLowerCase().replace(/-/g,"_");a.id=`${s}_${Math.random().toString().slice(2,6)}`}return a}function Qo(t){const{properties:n,title:e,required:r}=t;if(r&&Array.isArray(r)){const o=r.reduce((a,s)=>(a[s]=n[s].type==="object"&&n[s].properties?en(n[s]):Pe.cloneDeep(n[s].default),a),{});if(e&&r.find(a=>a==="id")){const a=e.toLowerCase().replace(/-/g,"_");o.id=`${a}_${Math.random().toString().slice(2,6)}`}return o}return{type:e}}function Mn(t,n={},e){const r=qt[t];if(r){let o=Qo(r);const a=Nn[t];return o=a?a({getSchemaByType:Mn},o,n,e):o,o}return null}function tn(t,n){const e=en(n);return Object.keys(e).reduce((r,o)=>(Object.prototype.hasOwnProperty.call(t,o)&&(r[o]&&Pe.isPlainObject(r[o])&&Pe.isPlainObject(t[o]||!t[o])?Object.assign(r[o],t[o]||{}):r[o]=t[o]),r),e),e}function Vn(t,n){return Object.keys(t).filter(r=>t[r]!=null).reduce((r,o)=>{if(n.has(o)){const a=n.get(o);if(typeof a=="string")r[a]=t[o];else{const s=a(o,t[o],t);Object.assign(r,s)}}else r[o]=t[o];return r},{})}function Ko(t,n,e=new Map){const r=tn(t,n);return Vn(r,e)}function In(t){var e;const n=t.type;if(n){const r=qt[n];if(!r)return t;const o=tn(t,r),a=((e=t.editor)==null?void 0:e.type)||"";if(a){const s=qt[a],u=tn(t.editor,s);o.editor=u}return o}return t}const Jo={convertTo:(t,n,e,r)=>{t.appearance||(t.appearance={}),t.appearance[n]=e},convertFrom:(t,n,e)=>t.appearance?t.appearance[n]:t[n]},Zo={convertFrom:(t,n,e)=>t.buttons&&t.buttons.length?`共 ${t.buttons.length} 项`:"无"},ei={convertTo:(t,n,e,r)=>{t.editor&&(t.editor[n]=e)},convertFrom:(t,n,e)=>t.editor&&Object.prototype.hasOwnProperty.call(t.editor,n)?t.editor[n]:t[n]},pe={button:{type:"button",name:"按钮"},"response-toolbar":{type:"response-toolbar",name:"工具栏"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮"},"content-container":{type:"content-container",name:"容器"},"input-group":{type:"input-group",name:"文本"},textarea:{type:"textarea",name:"多行文本"},lookup:{type:"lookup",name:"帮助"},"number-spinner":{type:"number-spinner",name:"数值"},"date-picker":{type:"date-picker",name:"日期"},switch:{type:"switch",name:"开关"},"radio-group":{type:"radio-group",name:"单选组"},"check-box":{type:"check-box",name:"复选框"},"check-group":{type:"check-group",name:"复选框组"},"combo-list":{type:"combo-list",name:"下拉列表"},"response-form":{type:"response-form",name:"卡片面板"},"response-layout":{type:"response-layout",name:"布局容器",icon:"response-layout-3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"response-layout-1"},"tree-grid":{type:"tree-grid",name:"树表格"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块"},component:{type:"component",name:"组件"},tabs:{type:"tabs",name:"标签页"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮"},"html-template":{type:"html-template",name:"模板容器"},"time-picker":{type:"time-picker",name:"时间选择"},section:{type:"section",name:"分组面板"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传"},"page-header":{type:"page-header",name:"页头"},"page-footer":{type:"page-footer",name:"页脚"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏"},fieldset:{type:"fieldset",name:"分组"},"query-solution":{type:"query-solution",name:"筛选方案"},drawer:{type:"drawer",name:"抽屉"},"external-container":{type:"external-container",name:"外部容器",icon:"content-container"},"list-nav":{type:"list-nav",name:"列表导航"},"filter-bar":{type:"filter-bar",name:"筛选条"}},ti={convertFrom:(t,n,e)=>{var o;const r=t.editor&&t.editor[n]?t.editor[n]:t[n];return((o=pe[r])==null?void 0:o.name)||r}},ni={convertTo:(t,n,e,r)=>{t[n]=t[n]},convertFrom:(t,n,e)=>t.editor?e.getRealEditorType(t.editor.type):""},ri={convertFrom:(t,n)=>t.binding?t.binding.path:"",convertTo:(t,n,e)=>{if(e&&e.length>0){const r=e[0];t.binding||(t.binding={}),t.binding.type="Form",t.binding.path=r.bindingField,t.binding.field=r.id,t.binding.fullPath=r.path,t.path=r.bindingPath}}},oi={convertTo:(t,n,e,r)=>{t.pagination||(t.pagination={}),t.pagination[n]=e},convertFrom:(t,n,e)=>t.pagination?t.pagination[n]:t[n]},ii={convertTo:(t,n,e,r)=>{t.rowNumber||(t.rowNumber={}),t.rowNumber[n]=e},convertFrom:(t,n,e)=>t.rowNumber?t.rowNumber[n]:t[n]},ai={convertTo:(t,n,e,r)=>{t.selection||(t.selection={}),t.selection[n]=e},convertFrom:(t,n,e)=>t.selection?t.selection[n]:t[n]},si={convertFrom:(t,n,e)=>t[n]&&t[n].length?`共 ${t[n].length} 项`:""},li={convertFrom:(t,n)=>t[n]||"",convertTo:(t,n,e)=>{t[n]=e}},nn={},rn=new Map([["/converter/appearance.converter",Jo],["/converter/buttons.converter",Zo],["/converter/property-editor.converter",ei],["/converter/items-count.converter",si],["/converter/type.converter",ti],["/converter/change-editor.converter",ni],["/converter/form-group-label.converter",li],["/converter/field-selector.converter",ri],["/converter/pagination.converter",oi],["/converter/row-number.converter",ii],["/converter/grid-selection.converter",ai]]),ci={},ui=new Map([["string",{type:"input-group",enableClear:!1}],["boolean",{type:"combo-list",textField:"name",valueField:"value",idField:"value",enableClear:!1,editable:!1,maxHeight:64,data:[{value:!0,name:"是"},{value:!1,name:"否"}]}],["enum",{type:"combo-list",maxHeight:350,enableClear:!1,editable:!1}],["array",{type:"button-edit"}],["number",{type:"number-spinner",placeholder:""}],["events-editor",{type:"events-editor",hide:!0}]]),di=Xo();function On(t,n){return()=>di.parseValueSchema(t,n)}function fi(t,n,e){return t.includes("visible")&&n.visible!==void 0?typeof n.visible=="boolean"?()=>!!n.visible:n.visible===void 0?!0:On(n.visible,e):()=>!0}function pi(t,n,e){return t.includes("readonly")&&n.readonly!==void 0?typeof n.readonly=="boolean"?()=>!!n.readonly:On(n.readonly,e):()=>!1}function mi(t,n){const e=t.$converter||n;return typeof e=="string"&&e&&rn.has(e)?rn.get(e)||null:e||null}function on(t,n,e,r,o,a="",s=""){return Object.keys(t).map(c=>{const d=i.ref(1),f=c,l=t[c],h=Object.keys(l),p=l.title,m=l.type,F=ui.get(m)||{type:"input-group",enableClear:!1},w=l.editor?Object.assign({},F,l.editor):Object.assign({},F),v=fi(h,l,n),C=pi(h,l,n);w.readonly=w.readonly===void 0?C():w.readonly;const b=l.type==="cascade"?on(l.properties,n,e,r,o,a,s):[],x=!0;let T=mi(l,s);const k=i.computed({get(){if(d.value){if(["class","style"].find(I=>I===f)&&!T&&(T=rn.get("/converter/appearance.converter")||null),T&&T.convertFrom)return T.convertFrom(e,c,o,a);const y=e[c];return Object.prototype.hasOwnProperty.call(l,"defaultValue")&&(y===void 0||typeof y=="string"&&y==="")?l.defaultValue:y}return null},set(y){d.value+=1,T&&T.convertTo?(T.convertTo(r,c,y,o,a),T.convertTo(e,c,y,o,a)):(r[c]=y,e[c]=y)}}),{refreshPanelAfterChanged:g,description:S,isExpand:_}=l,E={propertyID:f,propertyName:p,propertyType:m,propertyValue:k,editor:w,visible:v,readonly:C,cascadeConfig:b,hideCascadeTitle:x,refreshPanelAfterChanged:g,description:S,isExpand:_};return n[f]=E,E})}function hi(t,n,e,r,o=""){const a=n.$ref.schema,s=n.$ref.converter,u=e[a],c=u.type,d=In(u),f={},l=nn[c];if(l&&l.categories){const h=l.categories[t],p=h==null?void 0:h.title;s&&Object.keys(h.properties).forEach(w=>{h.properties[w].$converter=s});const m=(h==null?void 0:h.properties)||{},F=on(m,f,d,u,r,o);return{categoryId:t,categoryName:p,properties:F}}return{categoryId:t,categoryName:"",properties:[]}}function an(t,n,e,r,o){const a=t.type,s=In(t),u={};let c=o||nn[a];if(c&&Object.keys(c).length===0&&e&&e.getPropConfig&&(c=e.getPropConfig(r)),c&&c.categories){const d=[];return Object.keys(c.categories).map(f=>{const l=c.categories[f];if(l.$ref){d.push(hi(f,l,t,n,r));return}const h=l==null?void 0:l.title,p=l==null?void 0:l.tabId,m=l==null?void 0:l.tabName,F=l==null?void 0:l.hide,w=l==null?void 0:l.hideTitle,v=on(l.properties||{},u,s,t,n,r,l.$converter),{setPropertyRelates:C}=l;d.push({categoryId:f,categoryName:h,tabId:p,tabName:m,hide:F,properties:v,hideTitle:w,setPropertyRelates:C})}),d}return[]}const gi={category:{type:Object,default:{}},categoryKey:{type:String},propertyData:{type:Object,default:{}},valueChanged:{type:Function},triggerRefreshPanel:{type:Function}},Pn={elementConfig:{type:Object,default:{}},category:{type:Object,default:{}}};function Vt(t,n,e=new Map,r=(s,u,c,d)=>u,o={},a=s=>s){return qt[n.title]=n,Nn[n.title]=r,nn[n.title]=o,ci[n.title]=a,(s={},u=!0)=>{if(!u)return Vn(s,e);const c=Ko(s,n,e),d=Object.keys(t).reduce((f,l)=>(f[l]=t[l].default,f),{});return Object.assign(d,c)}}function sn(t,n){return{customClass:n.class,customStyle:n.style}}function vi(){function t(n,e){const{dataSource:r}=n||{};return r===void 0?{}:{}}return{resolve:t}}function yi(){function t(n,e){return n.selectItemById(e)}return{selectItemById:t}}function bi(){function t(n,e){const{columns:r}=e;return n.updateColumns(r)}return{updateColumns:t}}const ln=new Map([["appearance",sn]]),wi=new Map([]),Dn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/form-group.schema.json",title:"form-group",description:"A Farris Input 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:"form-group"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},enableLinkLabel:{description:"",type:"boolean",default:!1},editor:{description:"",type:"obejct",default:null},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},binding:{description:"",type:"object",default:{}},visible:{description:"",type:"boolean",default:!0},required:{description:"",type:"boolean",default:!1},errors:{description:"",type:"object",default:null}},required:["id","type","editor"]},jn={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]},visible:{type:Boolean,default:!0},required:{type:Boolean,default:!1},showLabel:{type:Boolean,default:!0},type:{type:String,default:"input-group"},componentId:{type:String,default:""},errors:{type:Object,default:null}};Vt(jn,Dn,ln,void 0);const Ci={id:{type:String},required:{type:Boolean,default:!1},text:{type:String,default:""},title:{type:String},valid:{type:Boolean,default:!0},inValidTip:{type:String,default:""}},xi=i.defineComponent({name:"FDynamicFormLabel",props:Ci,emits:[],setup(t,n){i.ref(t.title||t.text);const e=i.ref(t.required),r=i.ref(t.text),o=i.ref(t.valid),a=i.ref(t.inValidTip);i.watch(()=>t.text,()=>{r.value=t.text}),i.watch(()=>t.required,(c,d)=>{c!==d&&(e.value=c)}),i.watch([()=>t.valid,()=>t.inValidTip],([c,d])=>{o.value=c,a.value=d});const s=i.computed(()=>o.value?r.value:a.value),u=i.computed(()=>o.value?"":"color:red");return()=>r.value&&i.createVNode("label",{class:"col-form-label",title:s.value,style:u.value},[!o.value&&i.createVNode("span",{class:"f-icon f-icon-warning mr-1",style:"color: red; min-width: 16px;",title:a.value},null),e.value&&i.createVNode("span",{class:"farris-label-info text-danger"},[i.createTextVNode("*")]),i.createVNode("span",{class:"farris-label-text"},[r.value])])}}),le={},ce={},ue={},fe={};let Bn=!1;function _i(){Bn||(Bn=!0,Or.register(le,ce,ue,fe),Ir.register(le,ce,ue,fe),Pr.register(le,ce,ue,fe),Dr.register(le,ce,ue,fe),jr.register(le,ce,ue,fe),Br.register(le,ce,ue,fe),_n.register(le,ce,ue,fe),Sn.register(le,ce,ue,fe),_n.register(le,ce,ue,fe),Sn.register(le,ce,ue,fe),Jt.register(le,ce,ue,fe),Rr.register(le,ce,ue,fe),$r.register(le,ce,ue,fe),Wr.register(le,ce,ue,fe),Lr.register(le,ce,ue,fe),Hr.register(le,ce,ue,fe),qr.register(le,ce,ue,fe),Ar.register(le,ce,ue,fe),Zt.register(le,ce,ue,fe),Gr.register(le,ce,ue,fe),qo.register(le,ce,ue,fe),zr.register(le,ce,ue,fe),Yr.register(le,ce,ue,fe),jo.register(le,ce,ue,fe),Xr.register(le,ce,ue,fe),Qr.register(le,ce,ue,fe),Kr.register(le,ce,ue,fe),Zr.register(le,ce,ue,fe),Jr.register(le,ce,ue,fe),eo.register(le,ce,ue,fe),to.register(le,ce,ue,fe),no.register(le,ce,ue,fe),ro.register(le,ce,ue,fe),oo.register(le,ce,ue,fe),io.register(le,ce,ue,fe),ao.register(le,ce,ue,fe),so.register(le,ce,ue,fe),lo.register(le,ce,ue,fe),co.register(le,ce,ue,fe),uo.register(le,ce,ue,fe),fo.register(le,ce,ue,fe),po.register(le,ce,ue,fe),ho.register(le,ce,ue,fe),go.register(le,ce,ue,fe),mo.register(le,ce,ue,fe),Oo.register(le,ce,ue),vo.register(le,ce,ue,fe),yo.register(le,ce,ue,fe),bo.register(le,ce,ue,fe),wo.register(le,ce,ue,fe),Co.register(le,ce,ue,fe),xo.register(le,ce,ue,fe),Ro.register(le,ce,ue,fe),_o.register(le,ce,ue,fe),So.register(le,ce,ue,fe),To.register(le,ce,ue,fe),ko.register(le,ce,ue,fe),Fo.register(le,ce,ue,fe),Eo.register(le,ce,ue,fe),Mo.register(le,ce,ue,fe),No.register(le,ce,ue,fe),Vo.register(le,ce,ue,fe),Io.register(le,ce,ue,fe),Po.register(le,ce,ue,fe),Ur.register(le,ce,ue,fe),Do.register(le,ce,ue,fe),Bo.register(le,ce,ue,fe),$o.register(le,ce,ue,fe),Lo.register(le,ce,ue,fe),Wo.register(le,ce,ue,fe),Ho.register(le,ce,ue,fe),Ao.register(le,ce,ue,fe),Go.register(le,ce,ue,fe))}function Si(){_i();function t(s){const u=le[s];if(!u)throw new Error(`Could not find the editor of type '${s}'`);return u}function n(s,u){const c=ce[s];return c?c(u):{}}function e(s){switch(s){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"date-picker":return"onDatePicked";case"date-range":return"";case"datetime-picker":return"";case"time-picker":return"onValueChange";case"datetime-range":return"";case"month-picker":return"";case"month-range":return"";case"year-picker":return"";case"year-range":return"";case"input-group":return"onChange";case"lookup":case"sort-condition-editor":case"filter-condition-editor":case"code-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":return"onFieldsChanged";case"property-editor":return"onValueChange";case"expression-editor":return"onExpressionChanged"}}function r(s){switch(s){case"combo-list":case"input-group":case"textarea":return"onClear"}}function o(s){switch(s){case"input-group":case"textarea":return"onMousedownEvent"}}function a(s){switch(s){case"input-group":case"textarea":return"onMouseupEvent"}}return{resolveEditorProps:n,resolveEditorType:t,getChangeFunctionName:e,getClearFunctionName:r,getMousedownFunctionName:o,getMouseupFunctionName:a}}const Ti={errors:{type:Object,default:null}},ki=i.defineComponent({name:"FValidationMessage",props:Ti,emits:[],setup(t,n){const e=i.ref(t.errors);i.watch(()=>t.errors,a=>{e.value=a});const r=i.ref(!0),o=i.computed(()=>{if(e.value){const a=Object.keys(e.value).map(s=>{var u;return(u=e.value[s])==null?void 0:u.name});return a.length?a.join(" "):""}return""});return()=>o.value&&i.createVNode("div",{class:"farris-feedback f-state-invalid",onClick:()=>r.value=!r.value},[!r.value&&i.createVNode("span",{class:"f-icon f-icon-message_warning f-feedback-icon"},null),r.value&&i.createVNode("span",{class:"f-feedback-message"},[o.value])])}}),Rn=i.defineComponent({name:"FDynamicFormGroup",props:jn,emits:["change","update:modelValue"],setup(t,n){var k;const e=i.ref(t.id),r=i.ref(t.customClass),o=i.ref(t.editor),a=i.ref(t.label),s=i.ref(t.modelValue),u=i.ref(t.readonly),c=i.ref(((k=t.editor)==null?void 0:k.required)||t.required),d=i.ref(t.showLabel),f=i.ref(t.visible);i.ref(t.type);const l=i.ref(),h=i.ref(t.errors),{resolveEditorProps:p,resolveEditorType:m,getChangeFunctionName:F,getClearFunctionName:w}=Si(),v=i.computed(()=>({"form-group":!0,"farris-form-group":!0,"common-group":!0,"q-state-readonly":u.value}));function C(g,S,_){s.value=S!==void 0?S:g,n.emit("update:modelValue",s.value),n.emit("change",s.value,{newValue:g,newModelValue:S,parameters:_})}function b(){n.emit("update:modelValue","")}const x=i.computed(()=>{const g=o.value.type||"input-group",S=m(g),_=p(g,o.value),E=F(g),y=w(o.value.type);return y&&(_[y]=b),_[E]=C,(_.id==null||_.id==="")&&(_.id=e.value),g==="number-range"&&o.value.onBeginValueChange&&typeof o.value.onBeginValueChange=="function"?(o.value.onBeginValueChange&&typeof o.value.onBeginValueChange=="function"&&(_.onBeginValueChange=o.value.onBeginValueChange),o.value.onEndValueChange&&typeof o.value.onEndValueChange=="function"&&(_.onEndValueChange=o.value.onEndValueChange)):g==="lookup"&&o.value["onUpdate:idValue"]&&typeof o.value["onUpdate:idValue"]=="function"?_["onUpdate:idValue"]=o.value["onUpdate:idValue"]:g==="property-editor"&&(_.onBeforeOpenVariables=o.value.onBeforeOpenVariables),()=>i.createVNode(S,i.mergeProps({ref:l},_,{modelValue:s.value,"onUpdate:modelValue":I=>s.value=I}),n.slots)});function T(){return i.createVNode(ki,{id:`${e.value}-validation-message`,errors:h.value},null)}return i.watch([()=>t.id,()=>t.customClass,()=>t.editor,()=>t.label,()=>t.modelValue,()=>t.readonly,()=>t.required,()=>t.showLabel,()=>t.visible,()=>t.errors],([g,S,_,E,y,I,P,N,M,q])=>{var L;e.value=g,r.value=S,o.value=_,a.value=E,s.value=y,u.value=I,c.value=((L=o.value)==null?void 0:L.required)||P,d.value=N,f.value=M,h.value=q}),n.expose({editorRef:l}),()=>f.value&&i.createVNode("div",{id:`${e.value}-input-group`,class:r.value,style:t.customStyle},[i.createVNode("div",{class:"farris-group-wrap"},[i.createVNode("div",{class:v.value},[d.value&&i.createVNode(xi,{id:`${e.value}-lable`,required:c.value,text:a.value,title:a.value},null),i.createVNode("div",{class:"farris-input-wrap"},[x.value(),T()])])])])}}),Fi=i.defineComponent({name:"FPropertyPanelItem",props:Pn,emits:["propertyChange","triggerRefreshPanel"],setup(t,n){var f;const e=i.ref((f=t.category)==null?void 0:f.categoryId),r=i.ref(t.elementConfig.propertyID),o=i.ref(t.elementConfig.propertyName);i.ref(t.elementConfig.editor);const a=i.ref(t.elementConfig.propertyValue),s=i.computed(()=>{const l=t.elementConfig.visible;return{"farris-group-wrap":!0,"property-item":!0,"d-none":!(typeof l=="boolean"?l:l===void 0?!0:l())}});i.watch(()=>{var l;return(l=t.elementConfig)==null?void 0:l.propertyValue},l=>{a.value=l}),i.watch(()=>{var l;return(l=t.elementConfig)==null?void 0:l.propertyName},l=>{o.value=l});function u(l,h){const{parameters:p}=h;t.elementConfig.propertyValue=l;const m={propertyID:t.elementConfig.propertyID,propertyValue:l};n.emit("propertyChange",m,p),t.elementConfig.refreshPanelAfterChanged&&n.emit("triggerRefreshPanel")}const c=t.elementConfig.description?`<div style="color: gray; "> 描述 :${t.elementConfig.description}</div>`:"",d=i.reactive({content:` <div> <div style="color: black; ">${t.elementConfig.propertyName}</div> <div style="color: gray; ">ID:${t.elementConfig.propertyID}</div> ${c} </div>`,placement:"left"});return()=>i.createVNode("div",{class:s.value},[t.elementConfig.propertyName&&i.withDirectives(i.createVNode("label",{class:`col-form-label ${e.value}-${r.value}`},[i.createVNode("span",{class:"farris-label-text"},[o.value])]),[[i.resolveDirective("tooltip"),d]]),i.createVNode(Rn,{id:r.value,showLabel:!1,editor:t.elementConfig.editor,modelValue:a.value,onChange:u,editorParams:t.elementConfig.editorParams},null)])}}),Ei=i.defineComponent({name:"FPropertyPanelItemList",props:gi,emits:["valueChanged","submitModal","triggerRefreshPanel"],setup(t,n){const e=i.ref(t.category);function r(p){if(!p.hideCascadeTitle)return i.createVNode("div",{class:"farris-input-wrap"},[i.createVNode("input",{title:"summary",type:"input",class:"form-control form-control-sm",value:p.cascadeSummary,readonly:!0},null)])}function o(p,m){m.isExpand=!m.isExpand}function a(p){return i.createVNode("div",{class:"landscape"},[i.createVNode("button",{title:"expand-button",class:["btn f-btn-collapse-expand f-btn-mx px-1",{"f-state-expand":p.isExpand}],onClick:m=>o(m,p)},[i.createVNode("span",null,null)])])}function s(p){return i.createVNode("div",{class:`f-section-formgroup-legend ${e.value.categoryId}-${p.propertyID}`},[i.createVNode("div",{class:"f-header px-0 my-0 col-form-label",style:"font-size: inherit;"},[i.createVNode("div",{class:"wrap"},[i.createVNode("span",{class:["f-icon mr-1",{"f-icon-arrow-60-right":!p.isExpand,"f-icon-arrow-60-down":p.isExpand}]},null),i.createVNode("span",{class:"farris-label-text"},[p.propertyName])])])])}function u(p){return`${t.categoryKey}_${p.propertyID}`}function c(p,m){p.categoryId=e.value.categoryId,e.value.enableCascade&&(p.propertyPath=e.value.parentPropertyID),e.value.setPropertyRelates&&e.value.setPropertyRelates(p,t.propertyData,m),n.emit("valueChanged",{changeObject:p})}function d(){n.emit("triggerRefreshPanel")}function f(p){return i.createVNode("div",{class:"px-2 mb-2"},[i.createVNode(Fi,{key:u(p),elementConfig:p,category:e.value,onPropertyChange:c,onTriggerRefreshPanel:d},null)])}function l(p){var m;return i.createVNode("div",{class:"propertyCascadeItem farris-panel px-2 mb-2"},[i.createVNode("div",{class:["farris-panel-item card",{hidden:!p.isExpand}]},[i.createVNode("div",{class:"card-header",onClick:F=>o(F,p)},[i.createVNode("div",{class:"panel-item-title"},[i.createVNode("div",{class:"form-group farris-form-group line-item"},[s(p),r(p),a(p)])])]),i.createVNode("div",{class:["card-body",{hidden:!p.isExpand}]},[(m=p.cascadeConfig)==null?void 0:m.map(F=>f(F))])])])}i.watch(()=>t.category,()=>{e.value=t.category});function h(p){return p.propertyType==="cascade"?l:f}return()=>i.createVNode(i.Fragment,null,[e.value.properties.map(p=>h(p)(p))])}}),cn=i.defineComponent({name:"FPropertyPanel",props:En,emits:["propertyChanged"],setup(t,n){const e=i.ref(t.width),r=i.ref(t.isWidePanel),o=i.ref(t.enableSearch),a=i.ref(t.mode),s=i.ref(t.isPersitOpenState),u=i.ref(t.isShowPanel),c=i.ref(),d=i.ref(),f=i.ref(t.showCloseBtn),l=i.ref(t.selectedTabId),h=i.ref(!0),p=i.ref(t.isWhiteTheme);let m=[],F=[];const w=i.ref(""),v=i.ref(),C=i.ref(),b=i.inject("SchemaService");let x=[],T=null,k="";const g=i.ref(),S=i.ref(0);function _(){F=[],g.value&&g.value.categoryList&&Array.isArray(g.value.categoryList)&&g.value.categoryList.length>0&&g.value.categoryList.forEach(ne=>{if(ne.properties&&Array.isArray(ne.properties)&&ne.properties.length>0){const oe=ne.properties.map(ke=>(ke.category=ne,ke.propertyType==="cascade"&&ke.cascadeConfig&&ke.cascadeConfig.map(je=>{je.category=ne,je.cascadeParent=ke,F=F.concat(je)}),ke));F=F.concat(oe)}})}function E(J){let ne=J.offsetTop,oe=J.offsetParent;for(;oe!==null;)ne+=oe.offsetTop,oe=oe.offsetParent;return ne}function y(J,ne){J&&ne&&Object.keys(ne).length>0&&Object.keys(ne).forEach(oe=>{var je;const ke=ne[oe];(je=J.style)==null||je.setProperty(oe,ke)})}function I(){return F.filter(ne=>{if(typeof ne.visible=="function"&&!ne.visible()||typeof ne.visible=="boolean"&&!ne.visible)return!1;const oe=ne.propertyID.toLowerCase(),ke=ne.propertyName.toLowerCase();return!!(oe&&oe.includes(w.value.toLowerCase())||ke&&ke.includes(w.value.toLowerCase()))})}function P(J,ne,oe){if(J===0){const ke=E(ne),tt=E(oe)-ke-5;ne==null||ne.scroll({top:tt,behavior:"smooth"})}}function N(J){x&&x.length>0&&(x.forEach(oe=>{oe.style.cssText=""}),x=[]);const ne=C.value;if(!w.value)v.value&&ne&&(ne.scrollTop=0);else if(_(),F&&F.length>0){const oe=I();oe&&oe.length>0&&setTimeout(()=>{let ke=null,je=-1,tt=!1;oe.forEach((Q,Te)=>{const Me=Q.propertyType==="cascade"?`.${Q.category.categoryId}-${Q.propertyID} .farris-label-text`:`.property-item .${Q.category.categoryId}-${Q.propertyID}.col-form-label`,Le=document.querySelector(Me);Le&&(Q.category.status!=="open"&&(Q.category.status="open",tt=je<0),Q.cascadeParent&&(Q.cascadeParent.isExpand=!0),je<0&&(ke=Le,je=Te),y(Le,{color:"#5B89FE"}),x.push(Le))}),je>-1&&(tt?i.nextTick(()=>{P(je,ne,ke)}):P(je,ne,ke))},50)}}function M(J){N()}const q=Pe.debounce(M,200);function L(J){const{value:ne}=J.target;q(ne)}function j(J){M(w.value)}function $(){s.value||(h.value=!1),n.emit("closePropertyPanel")}function U(J){w.value="",N()}function D(J){!J.status||J.status==="open"?J.status="closed":J.status="open"}function O(){var J,ne;if(m=[],!c.value||c.value.length===0){m=[{tabId:"default",tabName:"属性",categoryList:[]}],g.value=null;return}if((J=c==null?void 0:c.value)==null||J.forEach(oe=>{if(oe.tabId){const ke=m.find(je=>je.tabId===oe.tabId);ke?(ke.categoryList.push(oe),ke.hide&&(ke.hide=oe.hide||oe.properties.length===0)):m.push({tabId:oe.tabId,tabName:oe.tabName,categoryList:[oe],hide:oe.hide||oe.properties.length===0})}else{const ke=m.find(je=>je.tabId==="default");ke?ke.categoryList.push(oe):m.push({tabId:"default",tabName:"属性",categoryList:[oe]})}}),l.value){const oe=m==null?void 0:m.find(ke=>ke.tabId===l.value&&!ke.hide);g.value=oe||m[0]}else g.value=m[0];l.value=(ne=g.value)==null?void 0:ne.tabId}i.watch(()=>[t.schema,t.isShowPanel],()=>{d.value=t.schema,!t.schema||!t.schema.type?c.value=[]:c.value=an(d.value,b,T,k),O(),U(w.value),S.value++}),i.onMounted(()=>{O()});function Y(J,ne,oe=!0){(!d.value||ne)&&(d.value=ne||t.schema),c.value=an(d.value,b,T,k,J),O(),o.value&&U(w.value),oe&&S.value++}function W(J,ne){T=J,k=ne}function B(){a.value=a.value==="panel"?"sidebar":"panel",a.value==="panel"?(setTimeout(()=>{M()},100),e.value="300px"):e.value="41px"}function A(){if(f.value)return i.createVNode("div",{class:"title-actions"},[i.createVNode("div",{class:"monaco-toolbar"},[i.createVNode("div",{class:"monaco-action-bar animated"},[i.createVNode("ul",{class:"actions-container",role:"toolbar"},[i.createVNode("li",{class:"action-item",onClick:$},[i.createVNode("span",{class:"f-icon f-icon-close"},null)])])])])])}function K(){c.value=an(d.value,b,T,k),O()}function ae(){var J;if(o.value&&((J=g.value)==null?void 0:J.tabId)!=="commands")return i.createVNode("div",{class:"search"},[i.createVNode("div",{class:"input-group f-state-editable border-left-0 border-right-0"},[i.withDirectives(i.createVNode("input",{class:"form-control f-utils-fill text-left pt-3 pb-3 textbox",type:"text",placeholder:"输入属性名称或编号快速定位",autocomplete:"off",onKeyup:ne=>L(ne),"onUpdate:modelValue":ne=>w.value=ne},null),[[i.vModelText,w.value]]),i.createVNode("div",{class:"input-group-append",style:"margin-left: 0px; background:none;"},[i.createVNode("span",{class:"input-group-text input-group-clear",style:[{display:w.value&&w.value.length>0?"":"none"}],onClick:ne=>U()},[i.createVNode("i",{class:"f-icon modal_close"},null)]),i.createVNode("span",{class:"input-group-text input-group-clear",onClick:ne=>j()},[i.createVNode("i",{class:"f-icon f-icon-search"},null)])])])])}function Z(J){return`${t.propertyName}_${J.categoryId}`}function me(J){n.emit("propertyChanged",{...J,designerItem:T})}function ye(){var J,ne;if(g.value)return i.createVNode("div",{class:"panel-body",ref:C},[i.createVNode("ul",{class:["property-grid",{"wide-panel":r.value}]},[(ne=(J=g.value)==null?void 0:J.categoryList)==null?void 0:ne.map(oe=>!oe.hide&&i.createVNode("li",{key:Z(oe),"data-category-id":oe==null?void 0:oe.categoryId},[!oe.hideTitle&&i.createVNode("span",{class:"group-label",onClick:()=>D(oe)},[i.createVNode("span",{class:["f-icon mr-2",{"f-legend-show":oe.status==="closed"},{"f-legend-collapse":oe.status==="open"||oe.status===void 0}]},null),oe.categoryName]),i.createVNode("div",{hidden:oe.status==="closed"},[i.createVNode(Ei,{key:`${oe==null?void 0:oe.categoryId}-${S.value}`,category:oe,propertyData:d.value,onTriggerRefreshPanel:K,onValueChanged:me},null)])]))])])}function Se(){if(a.value==="sidebar")return i.createVNode("div",{class:"side-panel h-100",onClick:B},[i.createVNode("i",{class:"f-icon f-icon-engineering w-100 icon"},null),i.createVNode("span",null,[i.createTextVNode("属性")])])}function De(){return{display:h.value?"block":"none",width:e.value}}function Be(){return i.createVNode("div",{class:"switcher"},[i.createVNode("i",{class:"f-icon f-icon-exhale-discount",style:[{transform:a.value==="sidebar"?"none":"rotate(180deg)"}],onClick:B},null)])}function G(J){g.value&&g.value.tabId===J.tabId||(g.value=J,l.value=g.value.tabId,w.value="")}function de(){return m.map(J=>i.createVNode("div",{class:["title-label",{active:g.value&&g.value.tabId===J.tabId},{hidden:J.hide}],onClick:()=>G(J)},[i.createVNode("span",null,[J.tabName])]))}i.onMounted(()=>{M(w.value)}),i.onBeforeMount(()=>{s.value&&(h.value=u.value),O(),M(w.value)});function H(){S.value++}function te(){K()}return n.expose({updatePropertyConfig:Y,updateDesignerItem:W,reloadPropertyPanel:H,refreshPanel:te}),()=>i.createVNode(i.Fragment,null,[i.createVNode("div",{ref:v,class:["property-panel",{"white-theme":p.value}],style:De()},[i.createVNode("div",{class:"propertyPanel panel flex-column",hidden:a.value!=="panel"},[i.createVNode("div",{class:["title d-flex",{"p-right":f.value},{only:m.length===1}]},[de(),A()]),ae(),ye()]),Be(),Se()])])}}),Ni=i.ref(0);function Mi(){Ni.value++}const _t=i.ref(0);function Vi(t,n){const e=n.getBoundingClientRect(),r=t.getBoundingClientRect(),o=r.top>=e.top,a=r.top<=e.bottom;return o&&a}function Ii(t){const n=t.querySelector(".component-btn-group");if(!n)return;n.style.display="";const e=n.getBoundingClientRect();if(!(e.top===0&&e.left===0)){const r=n.querySelector("div");if(r){const o=r.getBoundingClientRect();r.style.top=e.top+"px";let a=e.left-o.width;const s=document.querySelector(".editorDiv");if(s){const u=s.getBoundingClientRect();a<u.left&&({left:a}=t.getBoundingClientRect())}r.style.left=a+"px"}}}function Oi(t){if(!window.scrollContainerList)return;const n=Array.from(window.scrollContainerList);if(n.length&&n.length===1){const e=n[0],r=document.querySelector(`[id=${e}]`);if(r&&r.contains(t))return r}}function $n(t){if(!t)return;const n=t.getBoundingClientRect();if(n.width===0&&n.height===0)return;const e=t.querySelector(".component-btn-group");if(e){let r=!0;const o=Oi(t);if(o&&(r=Vi(t,o)),!r){e.style.display="none";return}Ii(t)}}function Pi(t){if(!t)return;let n;t.className.includes("dgComponentSelected")?n=t:n=t.querySelector(".dgComponentSelected"),n&&$n(n)}function Di(t){const{formSchemaUtils:n,formStateMachineUtils:e}=t;function r(c,d=""){return{path:d+c.code,field:c.id,fullPath:c.code}}function o(c,d=""){return n.getViewModelById(c).states.map(l=>r(l,d))}function a(c){const d=n.getRootViewModelId(),f=o(c);if(c===d)return f;const l=o(d,"root-component.");return[...f,...l]}function s(c){return c.binding&&c.binding.path||c.id||""}function u(){return e&&e.getRenderStates()||[]}return{getVariables:a,getControlName:s,getStateMachines:u}}class un{constructor(n){V(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'"}]);V(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});V(this,"getExpressionConverter",(n,e)=>({convertFrom:(r,o,a,s)=>{const u=a.getExpressionRuleValue(n,e||o);return u&&u.value||""},convertTo:(r,o,a,s,u)=>{var c;if(o==="dataPicking"&&(a!=null&&a.target)){const d=`${a.target}_dataPicking`;((c=a.rules)==null?void 0:c.some(l=>l.id===d&&l.value))?r.dictPickingExpressionId=d:delete r.dictPickingExpressionId}s.updateExpression(a)}}));this.formSchemaService=n}getExpressionRule(n,e){const r=this.formSchemaService.getExpressions();if(!r)return"";const o=r.find(s=>s.target===n);if(!o)return"";const a=o.rules.find(s=>s.type===e);return a||""}getContextFormVariables(){const{module:n}=this.formSchemaService.getFormSchema();if(!n.viewmodels||n.viewmodels.length===0)return[];const e=this.formSchemaService.getRootViewModelId(),r=this.formSchemaService.getViewModelById(e);if(!r||!r.states||r.states.length===0)return[];const o=[];return r.states.forEach(a=>{o.push({key:a.code,name:a.name,description:a.name,category:a.category})}),o}createTreeNode(n,e,r="label"){return{id:n.id,name:n.name,bindingPath:n[r],parents:e}}buildEntityFieldsTreeData(n=null,e){const r=[];return n==null||n.forEach(o=>{var u;const a=this.createTreeNode(o,e);let s=[];(u=o.type)!=null&&u.fields&&(s=this.buildEntityFieldsTreeData(o.type.fields,[...e,o.label])),r.push({data:a,children:s,expanded:!0})}),r}buildChildEntityTreeData(n=null,e){const r=[];return n==null||n.forEach(o=>{var c,d;const a=this.createTreeNode(o,e),s=this.buildEntityFieldsTreeData((c=o.type)==null?void 0:c.fields,[...e,o.label]),u=this.buildChildEntityTreeData((d=o.type)==null?void 0:d.entities,[...e,o.label]);u!=null&&u.length&&(s==null||s.push(...u)),r.push({data:a,children:s||[],expanded:!0})}),r}getEntitiesTreeData(){const n=this.formSchemaService.getSchemaEntities();if(!(n!=null&&n.length))return[];const e=n[0];if(!(e!=null&&e.type))return[];const r=this.buildEntityFieldsTreeData(e.type.fields,[e.code]),o=this.buildChildEntityTreeData(e.type.entities,[e.code]);return o!=null&&o.length&&(r==null||r.push(...o)),{entityCode:e.code,fields:[{data:this.createTreeNode(e,[],"code"),children:r||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(n,e,r){const o=r==="Field"?n.binding.field:n.id,a=this.getExpressionRule(o,e),s=this.getEntitiesAndVariables(),u={message:["validate","required","dataPicking"].includes(e)&&a?a.message:"",...s};return a.messageType!=null&&(u.messageType=a.messageType),u}buildRule(n,e,r,o){const{expression:a,message:s,messageType:u}=e,c={id:`${n}_${r}`,type:r,value:a};return(r==="validate"||r==="dataPicking"||r==="required")&&(c.message=s),r==="dataPicking"&&(c.messageType=u),r==="validate"&&o&&(c.elementId=o),c}getExpressionData(){const{expressions:n}=this.formSchemaService.getFormSchema().module;return n||[]}updateExpression(n,e,r,o){const a=e==="Field"?n.binding.field:n.id,s=this.buildRule(a,r,o,n.type==="form-group"?n.id:"");let c=this.getExpressionData().find(f=>f.targetType===e&&f.target===a);const d=f=>f.value.trim()==="";if(c){const f=c.rules.find(l=>l.id===s.id);if(f)d(s)?c.rules=c.rules.filter(l=>l.id!==s.id):(Object.assign(f,s),o==="validate"&&n.type==="form-group"&&(f.elementId=n.id));else{if(d(s))return null;c.rules=c.rules||[],c.rules.push(s)}}else{if(d(s))return null;c={target:`${a}`,rules:[s],targetType:e}}return c}getExpressionEditorOptions(n,e,r,o){return r.reduce((a,s)=>{var c,d;const u=e==="Field"?(c=n==null?void 0:n.binding)==null?void 0:c.field:n.id;return a[s]={hide:e==="Field"?!!((d=n==null?void 0:n.binding)!=null&&d.field):!1,description:"",title:this.expressionNames[s],type:"string",$converter:this.getExpressionConverter(u),editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[s]}编辑器`,showMessage:s==="validate"||s==="dataPicking"||s==="required",showMessageType:s==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(n,s,e),onSubmitModal:f=>{const l=this.updateExpression(n,e,f,s);if(o){const h=this.buildRule(u,f,s);o(h)}return l}}},a},{})}getExpressionInfo(n,e,r){const o=e==="Field"?n.binding.field:n.id,a=this.getExpressionRule(o,r),s={value:a&&a.value,targetId:o,targetType:e,expressionType:r};return a&&a.message&&(s.message=a.message),s}getExpressionConfig(n,e,r=["compute","dependency","validate"],o){return{description:"表达式",title:"表达式",properties:{...this.getExpressionEditorOptions(n,e,r,o)}}}getExpressionOptions(n,e,r){const o=this.getExpressionInfo(n,e,r);return{dialogTitle:`${this.expressionNames[r]}编辑器`,singleExpand:!1,showMessage:r==="required",beforeOpen:()=>this.onBeforeOpenExpression(n,r,e),expressionInfo:o}}}class dn{constructor(n,e){V(this,"componentId");V(this,"viewModelId");V(this,"eventsEditorUtils");V(this,"formSchemaUtils");V(this,"formMetadataConverter");V(this,"designViewModelUtils");V(this,"designViewModelField");V(this,"controlCreatorUtils");V(this,"designerHostService");V(this,"schemaService",null);V(this,"metadataService",null);V(this,"propertyConfig",{type:"object",categories:{}});var r;this.componentId=n,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((r=this.formSchemaUtils)==null?void 0:r.getViewModelIdByComponentId(n))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService}getTableInfo(){var n;return(n=this.schemaService)==null?void 0:n.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(n){var r;const e=n.binding&&n.binding.type==="Form"&&n.binding.field;if(e){if(!this.designViewModelField){const o=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=o.fields.find(a=>a.id===e)}n.updateOn=(r=this.designViewModelField)==null?void 0:r.updateOn}}getBasicPropConfig(n){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:n.type,name:pe[n.type].name}]}}}}}getAppearanceConfig(n=null,e={},r){const o={title:"外观",description:"Appearance"},a={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}};for(const s in e)a[s]=Object.assign(a[s]||{},e[s]);return{...o,properties:{...a},setPropertyRelates(s,u){if(s){switch(s&&s.propertyID){case"class":case"style":{_t.value++;break}}r&&r(s,n,u)}}}}getPropertyEditorParams(n,e=[],r="visible",o={},a={}){const{getVariables:s,getControlName:u,getStateMachines:c}=Di(this.designerHostService),d=this.getRealTargetType(n),f=e&&e.length>0?e:["Const","Variable","StateMachine","Expression"],l={type:"property-editor",propertyTypes:f};return f.map(h=>{switch(h){case"Const":Object.assign(l,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},o);break;case"Expression":l.expressionConfig=this.getExpressionOptions(n,d,r);break;case"StateMachine":l.stateMachines=c();break;case"Variable":Object.assign(l,{controlName:u(n),newVariablePrefix:"is",newVariableType:"Boolean",variables:s(this.viewModelId),onBeforeOpenVariables:p=>{p.value=s(this.viewModelId)}},a);break}}),l}getVisibleProperty(n,e=""){return{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(n,e==="gridFieldEditor"?["Const","Expression"]:["Const","Variable","StateMachine","Expression"],"visible")}}}getBehaviorConfig(n,e="",r={},o){const a={title:"行为",description:""},s=this.getVisibleProperty(n,e);for(const c in r)s[c]=Object.assign(s[c]||{},r[c]);const u=this;return{...a,properties:{...s},setPropertyRelates(c,d){if(c){switch(c.propertyID){case"disabled":case"readonly":case"visible":u.afterMutilEditorChanged(n,c);break}o&&o(c,d)}}}}afterMutilEditorChanged(n,e){this.addNewVariableToViewModel(e,this.viewModelId