@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
20 lines • 318 kB
JavaScript
(function(Q,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("vue"),require("lodash-es"),require("../common/index.umd.js"),require("../data-view/index.umd.js"),require("../checkbox/index.umd.js"),require("../list-view/index.umd.js"),require("../button-edit/index.umd.js"),require("../../designer/button-edit/index.umd.js"),require("../designer-canvas/index.umd.js"),require("@vueuse/core"),require("../modal/index.umd.js"),require("../transfer/index.umd.js"),require("../tabs/index.umd.js"),require("../order/index.umd.js"),require("../condition/index.umd.js"),require("../filter-bar/index.umd.js"),require("../tooltip/index.umd.js"),require("../pagination/index.umd.js"),require("../button/index.umd.js"),require("../search-box/index.umd.js"),require("../tags/index.umd.js"),require("../dynamic-form/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../property-panel/index.umd.js"),require("../accordion/index.umd.js"),require("../avatar/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("../events-editor/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("../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("../page-header/index.umd.js"),require("../page-footer/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("../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("../text/index.umd.js"),require("../time-picker/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("../external-container/index.umd.js"),require("../notify/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../common/index.umd.js","../data-view/index.umd.js","../checkbox/index.umd.js","../list-view/index.umd.js","../button-edit/index.umd.js","../../designer/button-edit/index.umd.js","../designer-canvas/index.umd.js","@vueuse/core","../modal/index.umd.js","../transfer/index.umd.js","../tabs/index.umd.js","../order/index.umd.js","../condition/index.umd.js","../filter-bar/index.umd.js","../tooltip/index.umd.js","../pagination/index.umd.js","../button/index.umd.js","../search-box/index.umd.js","../tags/index.umd.js","../dynamic-form/index.umd.js","../dynamic-resolver/index.umd.js","../property-panel/index.umd.js","../accordion/index.umd.js","../avatar/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","../events-editor/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","../lookup/index.umd.js","../mapping-editor/index.umd.js","../nav/index.umd.js","../number-range/index.umd.js","../number-spinner/index.umd.js","../page-header/index.umd.js","../page-footer/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","../section/index.umd.js","../smoke-detector/index.umd.js","../splitter/index.umd.js","../step/index.umd.js","../switch/index.umd.js","../text/index.umd.js","../time-picker/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","../external-container/index.umd.js","../notify/index.umd.js"],i):(Q=typeof globalThis<"u"?globalThis:Q||self,i(Q.order={},Q.Vue,Q.LodashES,Q.common,Q.dataView,Q.checkbox,Q.FListView$1,Q.FButtonEdit,Q.FButtonEdit$1,Q.designerCanvas,Q.VueUseCore,null,Q.FTransfer,Q.FTabs,Q.FOrder$1,null,Q.FFilterBar,Q.FTooltip,Q.FPagination,Q.FButton$1,Q.FSearchBox,Q.FTags,Q.FDynamicForm,Q.dynamicResolver,null,Q.FAccordion,Q.FAvatar,Q.FButtonGroup,Q.FCalendar,Q.FCapsule,Q.FCheckbox,Q.FCheckboxGroup,Q.FComboList$2,Q.FComboTree,Q.FComponent,Q.FColorPicker,Q.FContentContainer,Q.FDatePicker,Q.FDataGrid,Q.FDropdown,Q.FEventsEditor,Q.FFieldSelector,Q.FBindingSelector,Q.FImageCropper,Q.FInputGroup,Q.FLayout,Q.FListNav,Q.FLookup,Q.FMappingEditor,Q.FNav,Q.FNumberRange,Q.FNumberSpinner,Q.FPageHeader,Q.FPageFooter,Q.FProgress,Q.FQuerySolution,Q.FRadioGroup,Q.FRate,Q.FResponseToolbar,Q.FResponseLayout,Q.FResponseLayoutEditorSetting,Q.FSection,Q.FSmokeDetector,Q.FSplitter,Q.FStep,Q.FSwitch,Q.FText,Q.FTimePicker,Q.FTreeview,Q.FUploader,Q.FVerifyDetail,Q.FVideo,Q.FTextArea,Q.FSchemaSelector,Q.FTreeGrid$1,Q.FEventParameter,Q.FFilterConditionEditor,Q.FFieldset,Q.FSortConditionEditor,Q.FMenuLookup,Q.FDrawer,Q.FJsonEditor,Q.FPropertyEditor,Q.FExpressionEditor,Q.FCodeEditor,Q.FHtmlTemplate))})(this,function(Q,i,Ne,Fe,we,Wt,Sn,Br,_n,rn,Tn,Zc,Rr,$r,Lr,eu,Hr,Fn,Wr,qr,Ar,Gr,on,zr,tu,Yr,Ur,Xr,Qr,Kr,kn,Vn,an,Jr,Zr,eo,to,no,ro,oo,io,ao,so,lo,co,uo,fo,po,mo,ho,go,yo,vo,bo,wo,Co,xo,So,_o,To,Fo,ko,Vo,Mo,Io,No,Eo,Oo,Po,Do,jo,Bo,Ro,$o,Lo,Ho,Wo,qo,Ao,Go,zo,Yo,Uo,Xo,Qo,Ko){"use strict";var Kc=Object.defineProperty;var Jc=(Q,i,Ne)=>i in Q?Kc(Q,i,{enumerable:!0,configurable:!0,writable:!0,value:Ne}):Q[i]=Ne;var P=(Q,i,Ne)=>Jc(Q,typeof i!="symbol"?i+"":i,Ne);const Mn={},In={};function sn(t){const{properties:n,title:e,ignore:r}=t,o=r&&Array.isArray(r),a=Object.keys(n).reduce((s,l)=>((!o||!r.find(u=>u===l))&&(s[l]=n[l].type==="object"&&n[l].properties?sn(n[l]):Ne.cloneDeep(n[l].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 Jo(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?sn(n[s]):Ne.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 Nn(t,n={},e){const r=Mn[t];if(r){let o=Jo(r);const a=In[t];return o=a?a({getSchemaByType:Nn},o,n,e):o,o}return null}function Zo(t,n){const e=sn(n);return Object.keys(e).reduce((r,o)=>(Object.prototype.hasOwnProperty.call(t,o)&&(r[o]&&Ne.isPlainObject(r[o])&&Ne.isPlainObject(t[o]||!t[o])?Object.assign(r[o],t[o]||{}):r[o]=t[o]),r),e),e}function En(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 ei(t,n,e=new Map){const r=Zo(t,n);return En(r,e)}function ti(t={}){function n(d,f,c,p){if(typeof c=="number")return p[d].length===c;if(typeof c=="object"){const m=Object.keys(c)[0],h=c[m];if(m==="not")return Number(p[d].length)!==Number(h);if(m==="moreThan")return Number(p[d].length)>=Number(h);if(m==="lessThan")return Number(p[d].length)<=Number(h)}return!1}function e(d,f,c,p){return p[d]&&p[d].propertyValue&&String(p[d].propertyValue.value)===String(c)}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 c=d;return typeof f=="number"?[{target:c,operator:"length",param:null,value:Number(f)}]:typeof f=="boolean"?[{target:c,operator:"getProperty",param:d,value:!!f}]:typeof f=="object"?Object.keys(f).map(p=>{if(p==="length")return{target:c,operator:"length",param:null,value:f[p]};const m=p,h=f[p];return{target:c,operator:"getProperty",param:m,value:h}}):[]}function a(d){return Object.keys(d).reduce((c,p)=>{const m=o(p,d[p]);return c.push(...m),c},[])}function s(d,f){if(r.has(d.operator)){const c=r.get(d.operator);return c&&c(d.target,d.param,d.value,f)||!1}return!1}function l(d,f){return a(d).reduce((m,h)=>m&&s(h,f),!0)}function u(d,f){const c=Object.keys(d),p=c.includes("allOf"),m=c.includes("anyOf"),h=p||m,v=(h?d[h?p?"allOf":"anyOf":"allOf"]:[d]).map(g=>l(g,f));return p?!v.includes(!1):v.includes(!0)}return{parseValueSchema:u}}const ue={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:"筛选条"}},ni={},ri={};ti();function pt(t,n,e=new Map,r=(s,l,u,d)=>l,o={},a=s=>s){return Mn[n.title]=n,In[n.title]=r,ni[n.title]=o,ri[n.title]=a,(s={},l=!0)=>{if(!l)return En(s,e);const u=ei(s,n,e),d=Object.keys(t).reduce((f,c)=>(f[c]=t[c].default,f),{});return Object.assign(d,u)}}function Et(t,n){return{customClass:n.class,customStyle:n.style}}function oi(){function t(n,e){const{dataSource:r}=n||{};return r===void 0?{}:{}}return{resolve:t}}function ii(){function t(n,e){return n.selectItemById(e)}return{selectItemById:t}}function ai(){function t(n,e){const{columns:r}=e;return n.updateColumns(r)}return{updateColumns:t}}const si=new Map([["appearance",Et]]),li={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/order.schema.json",title:"order",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a order",type:"string"},type:{description:"The type string of order component",type:"string",default:"order"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""}},required:["id","type"]};function ci(t,n,e){return n}const ui={title:"order",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}},behavior:{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean"},readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中"},{value:"right",name:"右对齐"}]}}}}}},qt={dataSource:{type:Array,default:[]},items:{type:Array,default:[]}},ln=pt(qt,li,si,ci,ui),di=new Map([["appearance",Et]]);function fi(t,n,e){return n}const pi={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/list-view.schema.json",title:"list-view",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for list-view",type:"string"},type:{description:"The type string of list-view",type:"string",default:"list-view"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]},mi={title:"list-view",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}}}},On={columns:{type:Array,default:[{field:"name",title:"",dataType:"string"}]},customClass:{type:String,default:""},data:{type:Array,default:[]},draggable:{type:Boolean,default:!1},multiSelect:{Type:Boolean,default:!1},multiSelectMode:{Type:String,default:"OnCheck"},idField:{Type:String,default:"id"},valueField:{Type:String,default:"id"},textField:{Type:String,default:"name"},titleField:{Type:String,default:"name"},view:{Type:String,default:"ContentView"},size:{Type:String,default:"default"},placeholder:{type:String,default:""},header:{Type:String,default:"ContentHeader"},headerClass:{Type:String,default:""},itemClass:{Type:String,default:""},itemContentClass:{Type:String,default:""},selectionValues:{type:Array,default:[]},group:{type:Object},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!0}},keepOrder:{type:Boolean,default:!1},disableField:{type:String,default:"disabled"},enableHighlightSearch:{type:Boolean,default:!0},virtualized:{type:Boolean,default:!0}};pt(On,pi,di,fi,mi);function hi(t,n){function e(a){const s=[];let l=a.nextNode();for(;l;)s.push(l),l=a.nextNode();return s}function r(a,s){const l=document.createTreeWalker(a,NodeFilter.SHOW_TEXT);return e(l).map(c=>({textNode:c,text:(c.textContent||"").toLocaleLowerCase()})).map(({textNode:c,text:p})=>{const m=[];let h=0;for(;h<p.length;){const V=p.indexOf(s,h);if(V===-1)break;m.push(V),h=V+s.length}return m.map(V=>{const C=new Range;return C.setStart(c,V),C.setEnd(c,V+s.length),C})}).flat()}function o(a){if(!CSS.highlights||(CSS.highlights.clear(),!a||!n))return;const s=r(n.value,a.toLocaleLowerCase()),l=new Highlight(...s);CSS.highlights.set("search-result",l)}return{search:o}}function Pn(t,n,e,r,o,a,s,l,u,d){const f=i.ref(t.size),c=i.ref(t.textField),p=i.ref(t.titleField),m=i.ref(t.disableField),h=i.computed(()=>{var _,x;return((_=t.selection)==null?void 0:_.multiSelect)&&((x=t.selection)==null?void 0:x.showCheckbox)}),{onMouseenterItem:V,onMouseoverItem:C,onMouseoutItem:v}=a,{getKey:b,listViewItemClass:g,onCheckItem:S,onClickItem:F}=s,T=i.computed(()=>{const _={"text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"};return t.itemClass?_:{margin:f.value==="small"?"0.25rem 0":"8px 0",..._}});function y(_,x,k){return _.checked=l.findIndexInSelectedItems(_)>-1,i.createVNode("li",{class:g(_,x),id:b(_,x),key:b(_,x),onClick:w=>F(w,_,x),onMouseenter:w=>V(w,_,x),onMouseover:w=>C(w,_,x),onMouseout:w=>v(w,_,x)},[h.value&&i.createVNode("div",{class:"f-list-select",onClick:w=>w.stopPropagation()},[i.createVNode(Wt.FCheckbox,{id:"list-"+b(_,x),customClass:"listview-checkbox",disabled:_[m.value],checked:_.checked,"onUpdate:checked":w=>_.checked=w,onChange:w=>{S(_,x,!w.checked)}},null)]),i.createVNode("div",{class:"f-list-content"},[i.createVNode("div",{class:t.itemContentClass,style:T.value,title:_.raw[p.value]||_.raw[c.value]},[_.raw[c.value]])])])}return{renderItem:y}}function gi(t,n,e,r,o,a,s,l,u,d){const f=i.ref(t.multiSelect),c=i.ref(t.disableField),p=i.ref(t.textField),{onMouseenterItem:m,onMouseoverItem:h,onMouseoutItem:V}=a,{getKey:C,listViewItemClass:v,onCheckItem:b,onClickItem:g}=s;function S(T,y,_){return n.slots.content?i.createVNode(i.Fragment,null,[n.slots.content&&n.slots.content({item:T.raw,index:y,selectedItem:_})]):i.createVNode("div",{style:"margin: 10px 0;"},[T.raw[p.value||"name"]])}function F(T,y,_){return i.createVNode("li",{class:v(T,y),id:C(T,y),key:C(T,y),onClick:x=>g(x,T,y),onMouseenter:x=>m(x,T,y),onMouseover:x=>h(x,T,y),onMouseout:x=>V(x,T,y)},[f.value&&i.createVNode("div",{class:"f-list-select",onClick:x=>x.stopPropagation()},[i.createVNode(Wt.FCheckbox,{id:"list-"+C(T,y),customClass:"listview-checkbox",disabled:T[c.value]||!T.checked,checked:T.checked,"onUpdate:checked":x=>T.checked=x,onChange:x=>b(T,y,!x.checked)},null)]),i.createVNode("div",{class:"f-list-content"},[S(T,y,_)])])}return{renderItem:F}}function yi(t,n,e,r,o,a,s,l,u,d){const f=i.ref(t.multiSelect),c=i.ref(t.disableField),p=i.ref(t.textField),{onMouseenterItem:m,onMouseoverItem:h,onMouseoutItem:V}=a,{getKey:C,listViewItemClass:v,onCheckItem:b,onClickItem:g}=s,{dragstart:S,dragenter:F,dragover:T,dragend:y}=r,{removeItem:_}=u,x=i.computed(()=>({margin:f.value?"10px 0":"10px 0px 10px 14px"}));function k(I,B=""){const L=I.target;L.title=L.scrollWidth>L.clientWidth?B:""}function w(I){return i.createVNode("div",{style:x.value,onMouseenter:B=>k(B,I.raw[p.value||"name"])},[I.raw[p.value||"name"]])}function E(){return n.slots.itemContent?n.slots.itemContent:w}const O=E();function M(I,B,L){return i.createVNode("li",{class:v(I,B),id:C(I,B),key:C(I,B),onClick:N=>g(N,I,B),onMouseenter:N=>m(N,I,B),onMouseover:N=>h(N,I,B),onMouseout:N=>V(N,I,B),draggable:"true",onDragstart:N=>S(N,I,B),onDragenter:N=>F(N,B),onDragend:N=>y(N,I),onDragover:N=>T(N)},[f.value&&i.createVNode("div",{class:"f-list-select",onClick:N=>N.stopPropagation()},[i.createVNode(Wt.FCheckbox,{id:"list-"+C(I,B),customClass:"listview-checkbox",disabled:I[c.value]||!I.checked,checked:I.checked,"onUpdate:checked":N=>I.checked=N,onChange:N=>b(I,B,!N.checked)},null)]),i.createVNode("div",{class:"f-list-content"},[O(I)]),i.createVNode("div",{class:"f-list-remove",onClick:N=>_(B)},[i.createVNode("div",{class:"f-list-remove-icon"},[i.createVNode("i",{class:"f-icon f-icon-remove_face"},null)])]),i.createVNode("div",{class:"f-list-handle"},[i.createVNode("div",null,[i.createVNode("i",{class:"f-icon f-icon-drag-vertical"},null)])])])}return{renderItem:M}}function vi(t,n,e,r,o,a,s,l,u,d){var C;const f=i.ref(((C=t.group)==null?void 0:C.groupFields)||[]),{collpaseGroupIconClass:c}=o,{toggleGroupRow:p}=d;function m(v,b){b.collapse=!b.collapse,e.value=p(b.collapse?"collapse":"expand",b,e.value)}function h(v,b,g){return n.slots.group?i.createVNode(i.Fragment,null,[n.slots.content&&n.slots.group({item:v.raw,index:b,selectedItem:g})]):i.createVNode("div",{class:"f-navlookup-recentHeader",onClick:S=>m(S,v)},[i.createVNode("div",{class:"fv-grid-group-row-icon"},[i.createVNode("span",{class:c(v)},null)]),i.createVNode("div",{class:"f-navlookup-recommandLabel"},[v.raw[f.value[v.layer]]])])}function V(v,b,g){return v.layer>-1&&h(v,b,g)}return{renderItem:V}}function bi(t,n,e,r){const{dataView:o}=e,{updateSelectedItems:a}=r;function s(l){if(l>-1&&l<o.value.length){const u=o.value.splice(l,1);a(),n.emit("removeItem",u[0])}}return{removeItem:s}}function wi(t,n,e,r,o,a,s,l,u,d){const f=i.ref(t.view),c=i.ref(t.view==="CardView"),p=i.ref({}),m=i.ref("暂无数据"),h=bi(t,n,r,u),V=i.computed(()=>({"f-list-view-group":!0,"f-list-view-group-multiselect":t.multiSelect,"d-flex":c.value,"flex-wrap":c.value})),C=i.computed(()=>!!e.value&&e.value.length>0),v=i.computed(()=>e.value.length===0);i.computed(()=>v.value&&!n.slots.empty);function b(){return f.value==="SingleView"?Pn:f.value==="DraggableView"?yi:(f.value==="ContentView"||f.value==="CardView")&&n.slots.content?gi:Pn}const g=b(),{renderItem:S}=g(t,n,e,d,o,a,u,s,h,l),{renderItem:F}=vi(t,n,e,d,o,a,u,s,h,l),T=[S,F];function y(){return e.value.filter(k=>k.visible!==!1).map((k,w)=>T[k.type](k,w,p))}function _(){return i.createVNode("div",{class:"f-list-view-emptydata",style:"margin: 0 auto;"},[i.createVNode("p",{class:"f-empty-title"},[n.slots.empty?n.slots.empty():m.value])])}function x(){return i.createVNode("ul",{class:V.value,style:"list-style: none;"},[C.value&&y(),v.value&&_()])}return{renderListArea:x}}function Ci(t,n,e){function r(){return n.slots.header&&i.createVNode("div",{class:"f-list-view-header"},[n.slots.header()])}return{renderHeader:r}}function Dn(t,n,e){const r=i.ref(t.headerClass),o=i.ref(t.placeholder),a=i.ref(""),s=i.computed(()=>!a.value),l=i.computed(()=>!!a.value);function u(p){a.value=""}i.watch(a,p=>{t.enableHighlightSearch&&e.search(p),n.emit("afterSearch",p)});const d=i.computed(()=>{const p={"form-group":!0,"farris-form-group":!0};return r.value&&r.value.split(" ").reduce((h,V)=>(h[V]=!0,h),p),p});function f(p){}function c(){return i.createVNode("div",{class:"f-list-view-header",onClick:i.withModifiers(()=>f,["prevent","stop"])},[i.createVNode("div",{class:d.value},[i.createVNode("div",{class:"farris-input-wrap"},[i.createVNode("div",{class:"f-cmp-inputgroup"},[i.createVNode("div",{class:"input-group f-state-editable"},[i.withDirectives(i.createVNode("input",{class:"form-control f-utils-fill text-left","onUpdate:modelValue":p=>a.value=p,name:"input-group-value",type:"text",placeholder:o.value,autocomplete:"off"},null),[[i.vModelText,a.value]]),i.createVNode("div",{class:"input-group-append"},[l.value&&i.createVNode("span",{class:"input-group-text input-group-clear",onClick:p=>u()},[i.createVNode("i",{class:"f-icon f-icon-close-circle"},null)]),s.value&&i.createVNode("span",{class:"input-group-text"},[i.createVNode("span",{class:"f-icon f-icon-search"},null)])])])])])])])}return{renderHeader:c}}function xi(){const t=i.ref(""),n=i.ref(-1),e=i.ref(""),r=i.ref(-1),o=i.ref(!1);function a(c,p,m){r.value=m}function s(c,p,m){o.value||(r.value=m)}function l(c,p,m){r.value=-1}function u(){o.value=!0}function d(){o.value=!1}function f(){n.value=-1,t.value=""}return{activeIndex:n,focusedItemId:e,hoverIndex:r,clearActiveItem:f,onMouseenterItem:a,onMouseoverItem:s,onMouseoutItem:l,resumeHover:d,suspendHover:u}}function Si(t,n,e,r){const o=i.ref(t.idField),{dataView:a}=e,s=i.ref(-1),l=i.ref(!1),{activeIndex:u,focusedItemId:d,hoverIndex:f,resumeHover:c,suspendHover:p}=r;let m,h=0,V=0;function C(T,y){const _=T-h,x=y-V;m.style.left=parseInt(m.style.left)+_+"px",m.style.top=parseInt(m.style.top)+x+"px",h=T,V=y}function v(T){const{left:y,top:_}=T.getBoundingClientRect(),x=T.cloneNode(!0);return x.style.cssText=`
position:absolute;
left:${y}px;
top:${_}px;
z-index: 999999;
border: 1px solid #e2e3e5;
pointer-events: none;
background-color: #edf5ff;
border-radius: 10px;
margin: 4px 2px;
display: flex;
align-items: center;
float: none;
text-align: initial;
width:${getComputedStyle(T).width};
height:${getComputedStyle(T).height};
`,x.children[0].style.cssText="overflow: hidden;flex: 1 1 auto;width: 100%;",x.children[0].children[0].style.cssText=`
margin: 10px 0px 10px 14px;
overflow: hidden;text-overflow: ellipsis;white-space: nowrap;
`,x.children[1].style.cssText="width: 30px;color: #f4625f;padding: 0 14px 0 0",x.children[2].style.cssText="padding: 0 14px 0 0;",document.body.appendChild(x),x}function b(T,y,_){if(T.stopPropagation(),p(),y){if(m=v(T.target),T.dataTransfer){const x=new Image;x.src="",T.dataTransfer.setDragImage(x,0,0)}h=T.pageX,V=T.pageY,setTimeout(()=>{s.value=_,l.value=!0,y.moving=!0})}}function g(T,y){if(T.preventDefault(),s.value!==y){const _=a.value[s.value],x=a.value;x.splice(s.value,1),x.splice(y,0,_),s.value=y,C(T.pageX,T.pageY)}}function S(T){T.preventDefault(),T.dataTransfer&&(T.dataTransfer.dropEffect="move"),C(T.pageX,T.pageY)}function F(T,y){y&&(y.moving=!1,m&&(document.body.removeChild(m),m=null)),a.value.forEach((_,x)=>{_.__fv_index__=x}),l.value=!1,c(),f.value=y.raw.__fv_index__,u.value=y.raw.__fv_index__,d.value=y.raw[o.value],n.emit("change",a.value),n.emit("activeChange",[y.raw])}return{dragstart:b,dragenter:g,dragover:S,dragend:F,isDragging:l}}function _i(t,n,e,r,o,a){const s=i.ref(t.idField),l=i.ref(t.disableField),u=i.ref(t.draggable),d=i.ref(t.itemClass),f=i.ref(t.selection.multiSelect??!1),c=i.ref(t.selection.multiSelectMode),{isDragging:p}=r,{activeIndex:m,focusedItemId:h,hoverIndex:V}=o,{clearSelection:C,getSelectedItems:v,toggleSelectItem:b,currentSelectedDataId:g}=a,S=i.ref(v()),F=M=>S.value.length===0?!1:S.value.some(I=>{let B="";return I.data?B=I.data[s.value]:B=I[s.value],B===M});function T(){S.value=v()}function y(M,I){return M.raw[s.value]!=null?M.raw[s.value]:""}function _(M,I){const B={"f-list-view-group-item":!0,"f-list-view-draggable-item":u.value,"f-un-click":!M.checked,"f-un-select":!!M.raw[l.value],"f-listview-active":f.value&&F(y(M))||M.raw[s.value]===g.value,"f-listview-hover":!p.value&&I===V.value,moving:!!M.moving};return d.value.split(" ").reduce((N,H)=>(N[H]=!0,N),B),B}const x=i.computed(()=>!f.value);function k(M,I,B){M.checked=B,!M.raw[l.value]&&(x.value&&(h.value=M.raw[s.value]),b(M))}const w=i.computed(()=>f.value&&c.value==="OnCheckClearByClick"),E=i.computed(()=>!f.value||f.value&&(c.value==="OnCheckAndClick"||c.value==="OnClick"));function O(M,I,B){if(I.raw[l.value]){M.preventDefault(),M.stopPropagation();return}h.value=I.raw[s.value],m.value=B,w.value&&C(),E.value&&(b(I),T()),n.emit("clickItem",{data:S.value,index:B}),n.emit("activeChange",S.value)}return{getKey:y,selectedItems:S,listViewItemClass:_,updateSelectedItems:T,onCheckItem:k,onClickItem:O}}const jn=i.defineComponent({name:"FListView",props:On,emits:["afterSearch","checkValuesChange","clickItem","selectionChange","removeItem","change","activeChange"],setup(t,n){const e=i.ref(),r=i.ref(!0),o=i.ref(!1),a=i.ref([]),s=0,l=i.ref(t.columns),u=we.useFilter(),d=we.useIdentify(t),f=we.useHierarchy(t),c=we.useGroupData(t,d),p=we.useDataView(t,new Map,u,f,d),m=we.useSelection(t,p,d,a,n),h=hi(t,e),V=i.computed(()=>p.dataView.value.length),C=we.useRow(t,n,m,d),v=we.useEdit(t,n,d,C,a),b=we.useVisualDataBound(t),g=we.useVisualDataCell(t,{},b),S=we.useVisualDataRow(t,p,v,f,d,b,g),F=we.useVisualGroupRow(t,d,g,S),T=we.useVisualSummaryRow(t,d,g,S),y=we.useVisualData(t,l,p,V,s,S,F,T),{getVisualData:_}=y;a.value=_(0,V.value+s-1);const x=i.computed(()=>{const z={"f-list-view":!0,"f-list-view-multiple":t.multiSelect};return t.size!=="default"&&(z[`${t.size}-item`]=!0),Fe.getCustomClass(z,t.customClass)}),k=i.computed(()=>!!n.slots.footer||r.value);function w(){return t.header==="SearchBar"?Dn:t.header==="ContentHeader"?Ci:Dn}const E=w(),{renderHeader:O}=E(t,n,h),M=xi(),I=Si(t,n,p,M),B=_i(t,n,a,I,M,m),{renderListArea:L}=wi(t,n,a,p,c,M,m,y,B,I);function N(z){h.search(z)}function H(z){z&&(p.load(z),a.value=_(0,V.value+s-1))}function X(){m.clearSelection(),M.clearActiveItem()}function j(){return B.selectedItems.value}function D(){return B.selectedItems.value.map(z=>z[d.idField.value])}function U(z){m.selectedValues.value=z,B.updateSelectedItems()}function W(){return m.currentSelectedDataId.value}function $(z){C.activeRowById(z)}n.expose({search:N,updateDataSource:H,clearSelection:X,getSelections:j,updateSelectionByIds:U,getSelectionIds:D,activeRowById:$,getCurrentRowId:W});function A(z){t.multiSelect&&(z.preventDefault(),z.stopPropagation())}return()=>i.createVNode("div",{class:x.value,onClick:A},[O(),i.createVNode("div",{ref:e,class:"f-list-view-content",onMouseover:()=>{o.value=!0},onMouseleave:()=>{o.value=!1}},[L()]),k.value&&i.createVNode("div",{class:"f-list-view-footer"},[n.slots.footer&&n.slots.footer()])])}}),Ti={id:String,type:{type:String,default:"primary"},disabled:{type:Boolean,default:!1},size:{type:String,default:"middle"},icon:{type:String},customClass:{type:Object,default:{}}};function Fi(t,n){function e(r){r.stopPropagation(),t.disabled||n.emit("click",r)}return{onClickButton:e}}function ki(t){const n=i.computed(()=>{const r={"f-icon":!0};if(t.icon){const o=t.icon.trim().split(" ");o&&o.length&&o.reduce((a,s)=>(a[s]=!0,a),r)}return r}),e=i.computed(()=>!!(t.icon&&t.icon.trim()));return{iconClass:n,shouldShowIcon:e}}const Bn=i.defineComponent({name:"FButton",props:Ti,emits:["click"],setup(t,n){const{onClickButton:e}=Fi(t,n),{iconClass:r,shouldShowIcon:o}=ki(t),a=i.computed(()=>{const s={btn:!0,"btn-lg":t.size==="large","btn-md":t.size!=="large"&&t.size!=="small","btn-sm":t.size==="small","btn-icontext":o.value};return s[`btn-${t.type}`]=!0,t.customClass&&Object.keys(t.customClass).reduce((l,u)=>(l[u]=t.customClass[u],l),s),s});return()=>i.createVNode("button",{class:a.value,disabled:t.disabled,onClick:s=>e(s)},[o.value&&i.createVNode("i",{class:r.value},null),n.slots.default&&n.slots.default()])}}),Vi=new Map([["appearance",Et]]),Mi={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},enableClear:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!1},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:"请选择"},idField:{description:"",type:"string",default:"id"},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},dataSourceType:{description:"",type:"string",default:"static"},data:{description:"",type:"array"},remote:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},multiSelect:{description:"",type:"boolean",default:!1},maxLength:{description:"",type:"number",default:null},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""},maxHeight:{description:"",type:"number",default:350},minPanelWidth:{description:"",type:"number",default:160},popupOnClick:{description:"",type:"boolean",default:!0},separator:{description:"",type:"string",default:","}},required:["type"],ignore:["id","appearance","binding","visible"]};function Ii(t,n,e){return n}const cn={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-60-down"></span>'},editable:{default:!1,type:Boolean},enableClear:{default:!0,type:Boolean},enableSearch:{type:Boolean,default:!1},enableTitle:{default:!0,type:Boolean},fitEditor:{default:!1,type:Boolean},forcePlaceholder:{default:!1,type:Boolean},hidePanelOnClear:{default:!0,type:Boolean},idField:{default:"id",type:String},mapFields:{type:Object},maxHeight:{default:350,type:Number},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{},placeholder:{type:String,default:"请选择"},placement:{type:String,default:"auto"},readonly:{default:!1,type:Boolean},remote:{default:null,type:Object},remoteSearch:{default:!1,type:Boolean},separator:{default:",",type:String},tabIndex:{type:Number,default:-1},textField:{default:"name",type:String},titleField:{default:"name",type:String},valueField:{default:"id",type:String},viewType:{default:"tag",type:String},change:{type:Function,default:()=>{}},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!0},beforeOpen:{type:Function,default:null},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0},minPanelWidth:{type:Number,default:160},popupOnClick:{type:Boolean,default:!0}},Ni=Object.assign({},cn,{readonly:{}}),Rn=pt(cn,Mi,Vi,Ii),Ei={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0}},Oi=i.defineComponent({name:"FComboListContainer",props:Ei,emits:["selectionChange"],setup(t,n){const e=i.ref(),r=i.ref(t.dataSource),o=i.ref([]),a=i.ref(t.separator),s=i.ref(t.width),l=i.ref(t.maxHeight),u=i.ref(String(t.selectedValues).split(a.value)),d=i.computed(()=>t.multiSelect),f=i.computed(()=>({enableSelectRow:!0,multiSelect:t.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:d.value,showSelectAll:!1,showSelection:!0}));i.watch(t.dataSource,()=>{r.value=t.dataSource}),i.computed(()=>t.enableSearch?"SearchBar":"ContentHeader");const c=i.computed(()=>{const C={};return s.value!==void 0&&(C.width=`${s.value}px`),l.value!==void 0&&l.value>0&&(C.maxHeight=`${l.value}px`),C});function p(C){e.value.search(C)}function m(C){o.value=C.map(v=>Object.assign({},v)),u.value=C.map(v=>v[t.idField]),n.emit("selectionChange",o.value)}function h(C){if(t.enableHighlightSearch)return;let v=[];const{searchOption:b}=t;typeof b=="function"?v=r.value.filter(g=>b(C,g)):v=r.value.filter(g=>g[t.valueField].indexOf(C)>-1||g[t.textField].indexOf(C)>-1),e.value.updateDataSource(v)}i.watch([()=>t.selectedValues],([C])=>{t.multiSelect?u.value=C.split(a.value):u.value=[C]});function V(C){e.value.activeRowById(C)}return i.onMounted(()=>{var C,v;if(!t.multiSelect){const b=(C=u.value)==null?void 0:C[0];let g=b;if(!Ne.isUndefined(b)){const S=typeof b,F=typeof((v=r.value[0])==null?void 0:v[t.valueField||t.idField]);F==="number"&&S!==F&&(g=Number(b)),F==="boolean"&&S!==F&&(g=b==="true"?!0:b==="false"?!1:b),V(g)}}}),n.expose({search:p,activeRowById:V}),()=>i.createVNode("div",{class:"f-combo-list-container",style:c.value},[i.createVNode(Sn,{ref:e,size:"small",itemClass:"f-combo-list-item",itemContentClass:"text-truncate",header:"ContentHeader",headerClass:"f-combo-list-search-box",data:r.value,idField:t.idField,textField:t.textField,titleField:t.titleField,multiSelect:t.multiSelect,selection:f.value,enableHighlightSearch:t.enableHighlightSearch,selectionValues:u.value,onSelectionChange:m,onAfterSearch:h},null)])}});function Pi(t){const n=i.ref(""),e=i.ref(t.modelValue),r=i.ref(t.data||[]),o=i.ref(t.editable);function a(c){const p=t.multiSelect?String(c).split(t.separator):[String(c)],m=p.map(C=>[C,!0]),h=new Map(m);return r.value.filter(C=>h.has(String(C[t.valueField]))).sort((C,v)=>{const b=p.indexOf(C[t.valueField]),g=p.indexOf(v[t.valueField]);return b-g})}function s(c){const p=a(c).map(m=>m[t.textField]).join(t.separator);n.value=o.value?p||c:p}function l(c){if(t.multiSelect){const p=c.split(t.separator).map(h=>[h,!0]),m=new Map(p);return r.value.filter(h=>m.has(h[t.textField]))}return r.value.filter(p=>""+p[t.textField]===c)}function u(c){const p={};return p[t.idField]=c,p[t.textField]=c,[p]}function d(c){let p=l(c);const m=p&&p.length>0;return o.value&&!m&&(p=u(c)),p}function f(){const{url:c,method:p="GET",headers:m={},body:h=null}=t.remote,V=p.toLowerCase()==="get"?{method:p,headers:m}:{method:p,headers:m,body:h};let C=!1;fetch(c,V).then(v=>{var g,S;if(v.status===200)return C=!!((S=(g=v.headers)==null?void 0:g.get("content-type"))!=null&&S.includes("application/json")),C?v.text():v.json();throw new Error(v.statusText)}).then(v=>{r.value=C?JSON.parse(v):v}).catch(v=>{console.error(v)})}return t.remote&&f(),i.watch(()=>t.data,()=>{r.value=t.data}),i.watch([r],([c])=>{if(t.modelValue!=null){const p=c.find(m=>m[t.valueField]===t.modelValue);p&&(n.value=p[t.textField])}}),i.watch(()=>t.modelValue,c=>{e.value=c,s(c)}),s(t.modelValue),{dataSource:r,displayText:n,editable:o,modelValue:e,getItemsByDisplayText:l,getItemsByValue:a,getSelectedItemsByDisplayText:d}}const At=i.defineComponent({name:"FComboList",props:cn,emits:["clear","update:modelValue","change","input"],setup(t,n){const e=i.ref(),r=i.ref(),o=i.ref(t.disabled||t.readonly),a=i.ref(t.enableClear),s=i.ref(t.enableSearch),l=i.ref(t.readonly),{dataSource:u,displayText:d,editable:f,modelValue:c,getSelectedItemsByDisplayText:p,getItemsByDisplayText:m}=Pi(t),h=i.computed(()=>t.multiSelect),V=i.computed(()=>r.value?r.value.elementRef.getBoundingClientRect().width:0);function C(){!h.value&&r.value&&r.value.hidePopup()}function v(k){d.value=k.map(E=>E[t.textField]).join(t.separator);let w="";k.length===1?w=k[0][t.valueField]:w=k.map(E=>E[t.valueField]).join(t.separator),c.value!==w&&(c.value=w,n.emit("update:modelValue",c.value),n.emit("change",k,c.value))}function b(){const k=p(d.value);v(k)}function g(){l.value||d.value}function S(k){var w;c.value="",(w=e.value)==null||w.activeRowById(""),n.emit("update:modelValue",""),n.emit("change",[],""),n.emit("clear")}function F(k){var w,E;t.enableSearch?((w=e.value)==null||w.search(k),(E=e.value)==null||E.activeRowById(k)):(c.value=k,d.value=k,n.emit("update:modelValue",c.value),n.emit("change",[k],k))}function T(k){if(t.multiSelect){const w=m(k),O=w.map(M=>M[t.idField||t.valueField]).join(t.separator);c.value!==O&&(c.value=O,n.emit("update:modelValue",c.value),n.emit("change",w,c.value))}}function y(){return d.value}function _(k){F(k),n.emit("input",k)}function x(){r.value.hidePopup()}return n.expose({getDisplayText:y,hidePopup:x}),i.watch([()=>t.disabled,()=>t.editable,()=>t.enableClear,()=>t.enableSearch,()=>t.readonly],([k,w,E,O,M])=>{o.value=k,f.value=w,a.value=E,s.value=O,l.value=M}),()=>i.createVNode(Br,{ref:r,id:t.id,disable:o.value,readonly:l.value,forcePlaceholder:t.forcePlaceholder,editable:f.value,buttonContent:t.dropDownIcon,placeholder:t.placeholder,enableClear:a.value,maxLength:t.maxLength,tabIndex:t.tabIndex,enableTitle:t.enableTitle,multiSelect:t.multiSelect,inputType:t.multiSelect?t.viewType:"text",modelValue:d.value,"onUpdate:modelValue":k=>d.value=k,focusOnCreated:t.focusOnCreated,selectOnCreated:t.selectOnCreated,onClear:S,onClick:g,onChange:T,onBlur:b,onInput:_,beforeOpen:t.beforeOpen,placement:t.placement,popupMinWidth:t.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:t.popupOnClick},{default:()=>[i.createVNode(Oi,{ref:e,idField:t.idField,valueField:t.valueField,textField:t.textField,titleField:t.titleField,dataSource:u.value,selectedValues:c.value,separator:t.separator,multiSelect:t.multiSelect,enableSearch:s.value,maxHeight:t.maxHeight,enableHighlightSearch:t.enableHighlightSearch,width:t.fitEditor?V.value:void 0,onSelectionChange:k=>{v(k),C()}},null)]})}}),Di=i.ref(0);function ji(){Di.value++}const _t=i.ref(0);function Bi(t,n){const e=n.getBoundingClientRect(),r=t.getBoundingClientRect(),o=r.top>=e.top,a=r.top<=e.bottom;return o&&a}function Ri(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 l=s.getBoundingClientRect();a<l.left&&({left:a}=t.getBoundingClientRect())}r.style.left=a+"px"}}}function $i(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=$i(t);if(o&&(r=Bi(t,o)),!r){e.style.display="none";return}Ri(t)}}function Li(t){if(!t)return;let n;t.className.includes("dgComponentSelected")?n=t:n=t.querySelector(".dgComponentSelected"),n&&$n(n)}function Hi(t){const{formSchemaUtils:n,formStateMachineUtils:e}=t;function r(u,d=""){return{path:d+u.code,field:u.id,fullPath:u.code}}function o(u,d=""){return n.getViewModelById(u).states.map(c=>r(c,d))}function a(u){const d=n.getRootViewModelId(),f=o(u);if(u===d)return f;const c=o(d,"root-component.");return[...f,...c]}function s(u){return u.binding&&u.binding.path||u.id||""}function l(){return e&&e.getRenderStates()||[]}return{getVariables:a,getControlName:s,getStateMachines:l}}class Ln{constructor(n){P(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'"}]);P(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});P(this,"getExpressionConverter",(n,e)=>({convertFrom:(r,o,a,s)=>{const l=a.getExpressionRuleValue(n,e||o);return l&&l.value||""},convertTo:(r,o,a,s,l)=>{var u;if(o==="dataPicking"&&(a!=null&&a.target)){const d=`${a.target}_dataPicking`;((u=a.rules)==null?void 0:u.some(c=>c.id===d&&c.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 l;const a=this.createTreeNode(o,e);let s=[];(l=o.type)!=null&&l.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 u,d;const a=this.createTreeNode(o,e),s=this.buildEntityFieldsTreeData((u=o.type)==null?void 0:u.fields,[...e,o.label]),l=this.buildChildEntityTreeData((d=o.type)==null?void 0:d.entities,[...e,o.label]);l!=null&&l.length&&(s==null||s.push(...l)),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(),l={message:["validate","required","dataPicking"].includes(e)&&a?a.message:"",...s};return a.messageType!=null&&(l.messageType=a.messageType),l}buildRule(n,e,r,o){const{expression:a,message:s,messageType:l}=e,u={id:`${n}_${r}`,type:r,value:a};return(r==="validate"||r==="dataPicking"||r==="required")&&(u.message=s),r==="dataPicking"&&(u.messageType=l),r==="validate"&&o&&(u.elementId=o),u}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 u=this.getExpressionData().find(f=>f.targetType===e&&f.target===a);const d=f=>f.value.trim()==="";if(u){const f=u.rules.find(c=>c.id===s.id);if(f)d(s)?u.rules=u.rules.filter(c=>c.id!==s.id):(Object.assign(f,s),o==="validate"&&n.type==="form-group"&&(f.elementId=n.id));else{if(d(s))return null;u.rules=u.rules||[],u.rules.push(s)}}else{if(d(s))return null;u={target:`${a}`,rules:[s],targetType:e}}return u}getExpressionEditorOptions(n,e,r,o){return r.reduce((a,s)=>{var u,d;const l=e==="Field"?(u=n==null?void 0:n.binding)==null?void 0:u.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(l),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 c=this.updateExpression(n,e,f,s);if(o){const p=this.buildRule(l,f,s);o(p)}return c}}},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: