UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

2 lines (1 loc) 25.3 kB
(function(j,u){typeof exports=="object"&&typeof module<"u"?u(exports,require("vue"),require("../button-edit/index.umd.js"),require("lodash-es"),require("../list-view/index.umd.js"),require("../loading/index.umd.js"),require("../dynamic-resolver/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../button-edit/index.umd.js","lodash-es","../list-view/index.umd.js","../loading/index.umd.js","../dynamic-resolver/index.umd.js"],u):(j=typeof globalThis<"u"?globalThis:j||self,u(j["search-box"]={},j.Vue,j.FButtonEdit,j.LodashES,j.FListView,j.FLoading,j.dynamicResolver))})(this,function(j,u,oe,_,ie,ae,ce){"use strict";function W(e,t){let r;function c(o){const{properties:s,title:a,ignore:n}=o,i=n&&Array.isArray(n),p=Object.keys(s).reduce((b,F)=>((!i||!n.find(D=>D===F))&&(b[F]=s[F].type==="object"&&s[F].properties?c(s[F]):_.cloneDeep(s[F].default)),b),{});if(a&&(!i||!n.find(b=>b==="id"))){const b=a.toLowerCase().replace(/-/g,"_");p.id=`${b}_${Math.random().toString().slice(2,6)}`}return p}function y(o){const{properties:s,title:a,required:n}=o;if(n&&Array.isArray(n)){const i=n.reduce((p,b)=>(p[b]=s[b].type==="object"&&s[b].properties?c(s[b]):_.cloneDeep(s[b].default),p),{});if(a&&n.find(p=>p==="id")){const p=a.toLowerCase().replace(/-/g,"_");i.id=`${p}_${Math.random().toString().slice(2,6)}`}return i}return{type:a}}function B(o,s={},a){const n=e[o];if(n){let i=y(n);const p=t[o];return i=p?p({getSchemaByType:B},i,s,a):i,r!=null&&r.appendIdentifyForNewControl&&r.appendIdentifyForNewControl(i),i}return null}function h(o,s){const a=c(s);return Object.keys(a).reduce((n,i)=>(Object.prototype.hasOwnProperty.call(o,i)&&(n[i]&&_.isPlainObject(n[i])&&_.isPlainObject(o[i]||!o[i])?Object.assign(n[i],o[i]||{}):n[i]=o[i]),n),a),a}function T(o,s){return Object.keys(o).filter(n=>o[n]!=null).reduce((n,i)=>{if(s.has(i)){const p=s.get(i);if(typeof p=="string")n[p]=o[i];else{const b=p(i,o[i],o);Object.assign(n,b)}}else n[i]=o[i];return n},{})}function M(o,s,a=new Map){const n=h(o,s);return T(n,a)}function m(o){var a;const s=o.type;if(s){const n=e[s];if(!n)return o;const i=h(o,n),p=((a=o.editor)==null?void 0:a.type)||"";if(p){const b=e[p],F=h(o.editor,b);i.editor=F}return i}return o}function l(o){r=o}return{getSchemaByType:B,resolveSchemaWithDefaultValue:m,resolveSchemaToProps:M,mappingSchemaToProps:T,setDesignerContext:l}}const G={},X={},{getSchemaByType:Xe,resolveSchemaWithDefaultValue:le,resolveSchemaToProps:se,mappingSchemaToProps:ue,setDesignerContext:Je}=W(G,X);function fe(e={}){function t(m,l,o,s){if(typeof o=="number")return s[m].length===o;if(typeof o=="object"){const a=Object.keys(o)[0],n=o[a];if(a==="not")return Number(s[m].length)!==Number(n);if(a==="moreThan")return Number(s[m].length)>=Number(n);if(a==="lessThan")return Number(s[m].length)<=Number(n)}return!1}function r(m,l,o,s){return s[m]&&s[m].propertyValue&&String(s[m].propertyValue.value)===String(o)}const c=new Map([["length",t],["getProperty",r]]);Object.keys(e).reduce((m,l)=>(m.set(l,e[l]),m),c);function y(m,l){const o=m;return typeof l=="number"?[{target:o,operator:"length",param:null,value:Number(l)}]:typeof l=="boolean"?[{target:o,operator:"getProperty",param:m,value:!!l}]:typeof l=="object"?Object.keys(l).map(s=>{if(s==="length")return{target:o,operator:"length",param:null,value:l[s]};const a=s,n=l[s];return{target:o,operator:"getProperty",param:a,value:n}}):[]}function B(m){return Object.keys(m).reduce((o,s)=>{const a=y(s,m[s]);return o.push(...a),o},[])}function h(m,l){if(c.has(m.operator)){const o=c.get(m.operator);return o&&o(m.target,m.param,m.value,l)||!1}return!1}function T(m,l){return B(m).reduce((a,n)=>a&&h(n,l),!0)}function M(m,l){const o=Object.keys(m),s=o.includes("allOf"),a=o.includes("anyOf"),n=s||a,b=(n?m[n?s?"allOf":"anyOf":"allOf"]:[m]).map(D=>T(D,l));return s?!b.includes(!1):b.includes(!0)}return{parseValueSchema:M}}const pe={convertTo:(e,t,r,c)=>{e.appearance||(e.appearance={}),e.appearance[t]=r},convertFrom:(e,t,r)=>e.appearance?e.appearance[t]:e[t]},de={convertFrom:(e,t,r)=>e.buttons&&e.buttons.length?`共 ${e.buttons.length} 项`:"无"},me={convertTo:(e,t,r,c)=>{e.editor&&(e.editor[t]=r)},convertFrom:(e,t,r)=>e.editor&&Object.prototype.hasOwnProperty.call(e.editor,t)?e.editor[t]:e[t]},J={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:"列表导航"},"list-view":{type:"list-view",name:"列表"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"}},ve={convertFrom:(e,t,r)=>{var y;const c=e.editor&&e.editor[t]?e.editor[t]:e[t];return((y=J[c])==null?void 0:y.name)||c}},be={convertTo:(e,t,r,c)=>{e[t]=e[t]},convertFrom:(e,t,r)=>e.editor?r.getRealEditorType(e.editor.type):""},ge={convertTo:(e,t,r,c)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e.formatter?e.formatter[t]=r:e.formatter={[t]:r})},convertFrom:(e,t,r)=>{if(e.formatter){if(t==="trueText")return e.formatter.trueText;if(t==="falseText")return e.formatter.falseText;if(t==="prefix")return e.formatter.prefix;if(t==="suffix")return e.formatter.suffix;if(t==="precision")return e.formatter.precision;if(t==="decimal")return e.formatter.decimal;if(t==="thousand")return e.formatter.thousand;if(t==="tempDateFormat")return e.formatter.dateFormat==="yyyy年MM月dd日"?"yearMonthDay":e.formatter.dateFormat==="yyyy-MM-dd HH:mm:ss"?"yyyy-MM-ddTHH:mm:ss":e.formatter.dateFormat==="yyyy/MM/dd HH:mm:ss"?"yyyy/MM/ddTHH:mm:ss":e.formatter.dateFormat==="yyyy年MM月dd日 HH时mm分ss秒"?"yearMonthDayHourMinuteSecond":e.formatter.tempDateFormat||e.formatter.dateFormat||"yyyy-MM-dd";if(t==="customFormat")return e.formatter.customFormat;if(t==="type")return e.formatter.type||"none"}return"none"}},ye={convertTo:(e,t,r,c)=>{e.command?e.command[t]=r:e.command={[t]:r},t==="enable"&&r&&(e.command.commands||(e.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]))},convertFrom:(e,t,r)=>e.command&&t==="enable"?e.command.enable:""},he={convertTo:(e,t,r,c)=>{e.column?e.column[t]=r:e.column={[t]:r},t==="fitColumns"&&r&&(e.column.fitMode||(e.column.fitMode="average"))},convertFrom:(e,t,r)=>{if(e.column){if(t==="fitColumns")return e.column.fitColumns;if(t==="fitMode")return e.column.fitMode}return""}},Se={convertTo:(e,t,r,c)=>{e.summary?e.summary[t]=r:e.summary={[t]:r},t==="enable"&&r&&(e.summary?e.summary.groupFields||(e.summary.groupFields=[]):e.summary={enable:r,groupFields:[]})},convertFrom:(e,t,r)=>e.summary&&t==="enable"?e.summary.enable:e.type==="data-grid-column"?e.enableSummary===void 0?!1:e.enableSummary:""},Fe={convertTo:(e,t,r,c)=>{e.group?e.group[t]=r:e.group={[t]:r},t==="enable"&&r&&(e.group?e.group.groupFields||(e.group.groupFields=[]):e.group={enable:r,groupFields:[],showSummary:!1})},convertFrom:(e,t,r)=>{if(e.group){if(t==="enable")return e.group.enable;if(t==="showSummary")return e.group.showSummary}}},Te={convertFrom:(e,t)=>e.binding?e.binding.path:"",convertTo:(e,t,r)=>{if(r&&r.length>0){const c=r[0];e.binding||(e.binding={}),e.binding.type="Form",e.binding.path=c.bindingField,e.binding.field=c.id,e.binding.fullPath=c.path,e.path=c.bindingPath}}},we={convertTo:(e,t,r,c)=>{e.pagination||(e.pagination={}),e.pagination[t]=r},convertFrom:(e,t,r)=>e.pagination?e.pagination[t]:e[t]},Pe={convertTo:(e,t,r,c)=>{e.rowNumber||(e.rowNumber={}),e.rowNumber[t]=r},convertFrom:(e,t,r)=>e.rowNumber?e.rowNumber[t]:e[t]},Be={convertTo:(e,t,r,c)=>{e.selection||(e.selection={}),e.selection[t]=r},convertFrom:(e,t,r)=>e.selection?e.selection[t]:e[t]},Me={convertFrom:(e,t,r)=>e[t]&&e[t].length?`共 ${e[t].length} 项`:""},Oe={convertFrom:(e,t)=>e[t]||"",convertTo:(e,t,r)=>{e[t]=r}},je={convertTo:(e,t,r,c)=>{e.size||(e.size={}),e.size[t]=r},convertFrom:(e,t,r)=>e.size?e.size[t]:e[t]},De={convertFrom:(e,t,r)=>{var c,y;return(c=e.formatter)!=null&&c.data&&t==="formatterEnumData"&&!e.formatterEnumData?(y=e.formatter)==null?void 0:y.data:e.formatterEnumData}},Ne={convertTo:(e,t,r,c)=>{e.sort||(e.sort={}),e.sort[t]=r},convertFrom:(e,t,r)=>{var c,y;if(t==="mode")return((c=e.sort)==null?void 0:c.mode)||"client";if(t==="multiSort")return!!((y=e.sort)!=null&&y.multiSort)}},Re={convertTo:(e,t,r,c)=>{e.filter||(e.filter={}),e.filter[t]=r},convertFrom:(e,t,r)=>{var c;if(t==="mode")return((c=e.filter)==null?void 0:c.mode)||"client"}},Ee={convertTo:(e,t,r,c)=>{e.rowOption?e.rowOption[t]=r:e.rowOption={[t]:r}},convertFrom:(e,t,r)=>{if(e.rowOption){if(t==="customRowStyle")return e.rowOption.customRowStyle;if(t==="customCellStyle")return e.rowOption.customCellStyle}return""}};function Q(e,t,r){const c=new Map([["/converter/appearance.converter",pe],["/converter/buttons.converter",de],["/converter/property-editor.converter",me],["/converter/items-count.converter",Me],["/converter/type.converter",ve],["/converter/change-editor.converter",be],["/converter/change-formatter.converter",ge],["/converter/column-command.converter",ye],["/converter/column-option.converter",he],["/converter/summary.converter",Se],["/converter/group.converter",Fe],["/converter/form-group-label.converter",Oe],["/converter/field-selector.converter",Te],["/converter/pagination.converter",we],["/converter/row-number.converter",Pe],["/converter/grid-selection.converter",Be],["/converter/size.converter",je],["/converter/change-formatter-enum.converter",De],["/converter/grid-sort.converter",Ne],["/converter/grid-filter.converter",Re],["/converter/row-option.converter",Ee]]),y=new Map([["string",{type:"input-group",enableClear:!1}],["boolean",{type:"combo-list",textField:"name",valueField:"value",idField:"value",enableClear:!1,editable:!1,data:[{value:!0,name:"是"},{value:!1,name:"否"}]}],["enum",{type:"combo-list",maxHeight:128,enableClear:!1,editable:!1}],["array",{type:"button-edit"}],["number",{type:"number-spinner",placeholder:""}],["events-editor",{type:"events-editor",hide:!0}]]),B=fe();function h(n,i){return()=>B.parseValueSchema(n,i)}function T(n,i,p){return n.includes("visible")&&i.visible!==void 0?typeof i.visible=="boolean"?()=>!!i.visible:i.visible===void 0?!0:h(i.visible,p):()=>!0}function M(n,i,p){return n.includes("readonly")&&i.readonly!==void 0?typeof i.readonly=="boolean"?()=>!!i.readonly:h(i.readonly,p):()=>!1}function m(n,i){const p=n.$converter||i;return typeof p=="string"&&p&&c.has(p)?c.get(p)||null:p||null}function l(n,i,p,b,F,D="",V=""){return Object.keys(n).map(w=>{const $=u.ref(1),k=w,d=n[w],N=Object.keys(d),A=d.title,f=d.type,g=y.get(f)||{type:"input-group",enableClear:!1},v=d.editor?Object.assign({},g,d.editor):Object.assign({},g),S=T(N,d,i),P=M(N,d,i);v.readonly=v.readonly===void 0?P():v.readonly;const E=d.type==="cascade"?l(d.properties,i,p,b,F,D,V):[],x=!0;let O=m(d,V);const C=u.computed({get(){if($.value){if(["class","style"].find(Ge=>Ge===k)&&!O&&(O=c.get("/converter/appearance.converter")||null),O&&O.convertFrom)return O.convertFrom(p,w,F,D);const H=p[w];return Object.prototype.hasOwnProperty.call(d,"defaultValue")&&(H===void 0||typeof H=="string"&&H==="")?d.type==="boolean"?d.defaultValue:d.defaultValue||"":H}return null},set(H){$.value+=1,O&&O.convertTo?(O.convertTo(b,w,H,F,D),O.convertTo(p,w,H,F,D)):(b[w]=H,p[w]=H)}}),{refreshPanelAfterChanged:L,description:ze,isExpand:Ue,parentPropertyID:We}=d,ne={propertyID:k,propertyName:A,propertyType:f,propertyValue:C,editor:v,visible:S,readonly:P,cascadeConfig:E,hideCascadeTitle:x,refreshPanelAfterChanged:L,description:ze,isExpand:Ue,parentPropertyID:We};return i[k]=ne,ne})}function o(n,i,p={}){const b={},F=e[n];return F&&F.categories?Object.keys(F.categories).map(V=>{const R=F.categories[V],w=R==null?void 0:R.title,$=l(R.properties||{},b,{},p,i);return{categoryId:V,categoryName:w,properties:$}}):[]}function s(n,i,p,b,F=""){const D=i.$ref.schema,V=i.$ref.converter,R=p[D],w=R.type,$=r(R),k={},d=e[w];if(d&&d.categories){const N=d.categories[n],A=N==null?void 0:N.title;V&&Object.keys(N.properties).forEach(v=>{N.properties[v].$converter=V});const f=(N==null?void 0:N.properties)||{},g=l(f,k,$,R,b,F);return{categoryId:n,categoryName:A,properties:g}}return{categoryId:n,categoryName:"",properties:[]}}function a(n,i,p,b,F){const D=n.type,V=r(n),R={};let w=F||e[D];if(w&&Object.keys(w).length===0&&p&&p.getPropConfig&&(w=p.getPropConfig(b)),w&&w.categories){const $=[];return Object.keys(w.categories).map(k=>{const d=w.categories[k];if(d.$ref){$.push(s(k,d,n,i,b));return}const N=d==null?void 0:d.title,A=d==null?void 0:d.tabId,f=d==null?void 0:d.tabName,g=d==null?void 0:d.hide,v=d==null?void 0:d.hideTitle,S=l(d.properties||{},R,V,n,i,b,d.$converter),{setPropertyRelates:P}=d,E=d==null?void 0:d.parentPropertyID;$.push({categoryId:k,categoryName:N,tabId:A,tabName:f,hide:g,properties:S,hideTitle:v,setPropertyRelates:P,parentPropertyID:E})}),$}return[]}return{getPropertyConfigBySchema:a,getPropertyConfigByType:o,propertyConverterMap:c}}const Y={},Z={};Q(Y,Z,le);const K={},I={},{getSchemaByType:Qe,resolveSchemaWithDefaultValue:Ve,resolveSchemaToProps:Ye,mappingSchemaToProps:Ze,setDesignerContext:Ke}=W(K,I),ee={},te={};Q(ee,te,Ve);function $e(e,t,r=new Map,c=(h,T,M,m)=>T,y={},B=h=>h){return G[t.title]=t,X[t.title]=c,Y[t.title]=y,Z[t.title]=B,K[t.title]=t,I[t.title]=c,ee[t.title]=y,te[t.title]=B,(h={},T=!0)=>{if(!T)return ue(h,r);const M=se(h,t,r),m=Object.keys(e).reduce((l,o)=>(l[o]=e[o].default,l),{});return Object.assign(m,M)}}function ke(e,t){return{customClass:t.class,customStyle:t.style}}const Ce=new Map([["appearance",ke]]),He={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/search-box.schema.json",title:"search-box",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a search-box",type:"string"},type:{description:"The type string of search-box component",type:"string",default:"search-box"},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"]};function qe(e,t,r){return t}const Ae={title:"search-box",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:[]}}}}}},z={buttonContent:{type:String,default:'<i class="f-icon f-icon-search"></i>'},customClass:{type:String,default:""},modelValue:{type:String,default:""},popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},data:{type:Array,default:[]},placeholder:{type:String,default:"请输入关键词"},idField:{default:"id",type:String},textField:{default:"name",type:String},maxHeight:{default:350,type:Number},loading:{default:!1,type:Boolean},disable:{default:!1,type:Boolean},showDropdown:{default:!0,type:Boolean},updateOn:{default:"blur",type:String}},U=$e(z,He,Ce,qe,Ae),xe={data:{type:Array,default:[]},onConfirmResult:{type:Function,default:()=>{}},onSearchedValue:{type:Function,default:()=>{}},idField:{default:"id",type:String},textField:{default:"name",type:String},maxHeight:{default:350,type:Number},loading:{default:!1,type:Boolean}},re=u.defineComponent({name:"FSearchBoxContainer",props:xe,emits:["confirmResult","searchedValue"],setup(e,t){const r=u.ref(e.data),c=u.ref(),{slots:y}=t,B=u.computed(()=>({"search-box-container":!0,"f-utils-overflow-xhya":!0,"position-relative":!0}));function h(l){var o;(o=c.value)==null||o.search(l)}function T(l){l.length&&(t.emit("confirmResult",l[0].name),t.emit("searchedValue",l))}function M(l){return y.default?u.createVNode(u.Fragment,null,[y.default(l)]):u.createVNode("span",null,[l.item[e.textField]])}const m=u.computed(()=>{const l={};return l.padding="8px",e.maxHeight!==void 0&&e.maxHeight>0&&(l.maxHeight=`${e.maxHeight}px`),l});return u.watch(()=>e.loading,l=>{}),u.watch(()=>e.data,l=>{l!==r.value&&(r.value=l),c.value.updateDataSource(l)}),t.expose({search:h}),()=>{const l={content:M};return u.createVNode("div",{class:B.value,style:m.value},[u.createVNode(ae,{ref:"loadingInstance",isActive:e.loading},null),u.createVNode(ie,{ref:c,itemClass:"dropdown-item",data:r.value,view:"ContentView",onClickItem:o=>T(o.data),idField:e.idField,textField:e.textField,titleField:e.textField,valueField:e.idField},l)])}}}),q=u.defineComponent({name:"FSearchBox",props:z,emits:["update:modelValue","change","selectedValue","clickButton"],setup(e,t){u.ref(e.data);const r=u.ref(),c=u.ref(),y=u.ref(e.placeholder),B='<i class="f-icon f-icon-clockwise f-icon-spin"></i>',h=u.computed(()=>e.loading?B:e.buttonContent);u.ref(e.editable);const T=u.ref(e.modelValue);u.watch(T,a=>{var n;(n=c.value)==null||n.search(a),t.emit("update:modelValue",a)}),u.watch(()=>e.modelValue,a=>{T.value=a});function M(a){r.value.commitValue(a)}function m(a){t.emit("change",a)}function l(a){t.emit("selectedValue",a)}function o(a){t.emit("clickButton",a)}function s(){r.value.togglePopup()}return t.expose({togglePopup:s}),()=>{const a={default:t.slots.default};return u.createVNode(oe,{ref:r,"button-content":h.value,"custom-class":e.customClass,updateOn:e.updateOn,placeholder:y.value,onChange:n=>m(n),onClickButton:n=>o(n),disable:e.disable,"enable-clear":!0,"button-behavior":"Execute",modelValue:T.value,"onUpdate:modelValue":n=>T.value=n,"popup-host":e.popupHost,"popup-right-boundary":e.popupRightBoundary,"popup-offset-x":e.popupOffsetX,"popup-on-input":e.showDropdown,"popup-on-focus":e.showDropdown,limitContentBySpace:!0,placement:"auto"},{default:()=>[e.showDropdown&&u.createVNode(re,{ref:c,data:e.data,idField:e.idField,textField:e.textField,onConfirmResult:M,onSearchedValue:n=>l(n),loading:e.loading,maxHeight:e.maxHeight},a)],...t.slots})}}});function Le(e,t,r){var A;const c="",y="",B=u.ref();let h;function T(){return(t==null?void 0:t.schema.componentType)!=="frame"}function M(){return!1}function m(){return(t==null?void 0:t.schema.componentType)!=="frame"}function l(){return(t==null?void 0:t.schema.componentType)==="frame"}function o(f){if(!f||!f.value)return null;if(f.value.schema&&f.value.schema.type==="component")return f.value;const g=u.ref(f==null?void 0:f.value.parent),v=o(g);return v||null}function s(f=t){var P;const{componentInstance:g,designerItemElementRef:v}=f;if(!g||!g.value)return null;const{getCustomButtons:S}=g.value;return g.value.canMove||S&&((P=S())!=null&&P.length)?v:s(f.parent)}function a(f){return!!r}function n(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function i(){}function p(f,g){var v;!f||!g||(v=t==null?void 0:t.setupContext)==null||v.emit("dragEnd")}function b(f,g){const{componentType:v}=f;let S=ce.getSchemaByTypeForDesigner(v,f,g);const P=v.toLowerCase().replace(/-/g,"_");return S&&!S.id&&S.type===v&&(S.id=`${P}_${Math.random().toString().slice(2,6)}`),S}function F(f){}function D(...f){}function V(f){if(!f)return;const g=t==null?void 0:t.schema,{formSchemaUtils:v}=f;if(g&&v.getExpressions().length){const S=v.getExpressions().findIndex(P=>P.target===g.id);S>-1&&v.getExpressions().splice(S,1)}}function R(f){if(!f||!(t!=null&&t.schema))return;const g=t.schema,{formSchemaUtils:v}=f;v.removeCommunicationInComponent(g)}function w(f){V(f),R(f),t!=null&&t.schema.contents&&t.schema.contents.map(g=>{let v=g.id;g.type==="component-ref"&&(v=g.component);const S=e.value.querySelectorAll(`#${v}-design-item`);S!=null&&S.length&&Array.from(S).map(P=>{var E;(E=P==null?void 0:P.componentInstance)!=null&&E.value.onRemoveComponent&&P.componentInstance.value.onRemoveComponent(f)})})}function $(){}function k(f){var v,S;if(!((v=t==null?void 0:t.schema)!=null&&v.id))return;!h&&f&&(h=f.formSchemaUtils);let g="";{const{text:P,title:E,label:x,mainTitle:O,name:C,type:L}=t.schema;g=P||E||x||O||C||((S=J[L])==null?void 0:S.name)}g&&h.getControlBasicInfoMap().set(t.schema.id,{componentTitle:g,parentPathName:g})}function d(f){var P;const{changeObject:g}=f,{propertyID:v,propertyValue:S}=g;if(["text","title","label","name","mainTitle"].includes((P=f==null?void 0:f.changeObject)==null?void 0:P.propertyID)&&v&&S&&(k(),h)){const E=h.getControlBasicInfoMap(),x=E.keys().toArray().filter(O=>{var C,L;return((C=E.get(O))==null?void 0:C.reliedComponentId)===((L=t==null?void 0:t.schema)==null?void 0:L.id)});x!=null&&x.length&&x.forEach(O=>{const C=E.get(O).parentPathName.split(" > ");C[0]=S,E.get(O).parentPathName=C.join(" > ")})}}function N(f){d(f)}return B.value={canMove:T(),canSelectParent:M(),canDelete:m(),canNested:!l(),contents:t==null?void 0:t.schema.contents,elementRef:e,parent:(A=t==null?void 0:t.parent)==null?void 0:A.componentInstance,schema:t==null?void 0:t.schema,styles:c,designerClass:y,canAccepts:a,getBelongedComponentInstance:o,getDraggableDesignItemElement:s,getDraggingDisplayText:n,getPropConfig:D,getDragScopeElement:i,onAcceptMovedChildElement:p,onChildElementMovedOut:F,addNewChildComponentSchema:b,triggerBelongedComponentToMoveWhenMoved:u.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:u.ref(!1),onRemoveComponent:w,getCustomButtons:$,onPropertyChanged:N,setComponentBasicInfoMap:k,updateContextSchema:t==null?void 0:t.updateContextSchema},B}const _e=u.defineComponent({name:"FSearchBoxDesign",props:z,emits:["update:modelValue","change"],setup(e,t){const r=u.ref(e.data),c=u.ref(),y=u.ref(),B=u.ref("请输入关键词"),h=u.ref('<i class="f-icon f-icon-search"></i>'),T=u.ref(e.modelValue),M=u.ref(),m=u.inject("design-item-context"),l=Le(M,m);u.onMounted(()=>{M.value.componentInstance=l}),t.expose(l.value),u.watch(T,a=>{var n;(n=y.value)==null||n.search(a),t.emit("update:modelValue",a)}),u.watch(()=>e.modelValue,a=>{T.value=a});function o(a){c.value.commitValue(a)}function s(a){t.emit("change",a)}return()=>u.createVNode("div",{ref:M},[u.createVNode(u.resolveComponent("f-button-edit"),{ref:c,"button-content":h.value,placeholder:B.value,onChange:s,"enable-clear":!0,"button-behavior":"Execute",modelValue:T.value,"onUpdate:modelValue":a=>T.value=a,"popup-host":e.popupHost,"popup-right-boundary":e.popupRightBoundary,"popup-offset-x":e.popupOffsetX,"popup-on-input":!0,"popup-on-focus":!0},{default:()=>[u.createVNode(re,{ref:y,data:r.value,onConfirmResult:o},null)]})])}});q.install=e=>{e.component(q.name,q)},q.register=(e,t,r,c)=>{e["search-box"]=q,t["search-box"]=U},q.registerDesigner=(e,t,r)=>{e["search-box"]=_e,t["search-box"]=U},j.FSearchBox=q,j.default=q,j.propsResolver=U,j.searchBoxProps=z,Object.defineProperties(j,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});