@farris/ui-vue 1.6.5-beta.7 → 1.6.5-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/accordion/index.esm.js +65 -65
- package/components/accordion/index.umd.cjs +1 -1
- package/components/avatar/index.esm.js +28 -29
- package/components/avatar/index.umd.cjs +1 -1
- package/components/button-edit/index.esm.js +521 -517
- package/components/button-edit/index.umd.cjs +1 -1
- package/components/calendar/index.esm.js +134 -134
- package/components/calendar/index.umd.cjs +1 -1
- package/components/capsule/index.esm.js +192 -192
- package/components/capsule/index.umd.cjs +1 -1
- package/components/code-editor/index.esm.js +8 -8
- package/components/code-editor/index.umd.cjs +3 -3
- package/components/collection-property-editor/index.esm.js +72 -72
- package/components/collection-property-editor/index.umd.cjs +1 -1
- package/components/color-picker/index.esm.js +291 -289
- package/components/color-picker/index.umd.cjs +1 -1
- package/components/combo-list/index.esm.js +163 -157
- package/components/combo-list/index.umd.cjs +1 -1
- package/components/combo-tree/index.esm.js +113 -112
- package/components/combo-tree/index.umd.cjs +1 -1
- package/components/common/index.esm.js +3 -1
- package/components/common/index.umd.cjs +1 -1
- package/components/component/index.esm.js +10 -10
- package/components/component/index.umd.cjs +1 -1
- package/components/condition/index.esm.js +1122 -1121
- package/components/condition/index.umd.cjs +1 -1
- package/components/content-container/index.esm.js +190 -190
- package/components/content-container/index.umd.cjs +1 -1
- package/components/data-view/index.esm.js +2693 -2693
- package/components/data-view/index.umd.cjs +1 -1
- package/components/date-picker/index.esm.js +1604 -1601
- package/components/date-picker/index.umd.cjs +1 -1
- package/components/designer-canvas/index.esm.js +1082 -1079
- package/components/designer-canvas/index.umd.cjs +1 -1
- package/components/discussion-editor/index.esm.js +973 -1040
- package/components/discussion-editor/index.umd.cjs +6 -6
- package/components/dropdown/index.esm.js +335 -330
- package/components/dropdown/index.umd.cjs +2 -2
- package/components/dynamic-form/index.esm.js +8 -8
- package/components/dynamic-form/index.umd.cjs +1 -1
- package/components/dynamic-resolver/index.esm.js +6 -6
- package/components/dynamic-resolver/index.umd.cjs +1 -1
- package/components/dynamic-view/index.esm.js +344 -344
- package/components/dynamic-view/index.umd.cjs +1 -1
- package/components/events-editor/index.esm.js +8 -8
- package/components/events-editor/index.umd.cjs +3 -3
- package/components/expression-editor/index.esm.js +1470 -1460
- package/components/expression-editor/index.umd.cjs +3 -3
- package/components/fieldset/index.esm.js +55 -55
- package/components/fieldset/index.umd.cjs +1 -1
- package/components/filter-bar/index.esm.js +853 -843
- package/components/filter-bar/index.umd.cjs +1 -1
- package/components/filter-condition-editor/index.esm.js +922 -911
- package/components/filter-condition-editor/index.umd.cjs +3 -3
- package/components/flow-canvas/index.esm.js +12 -12
- package/components/flow-canvas/index.umd.cjs +1 -1
- package/components/html-template/index.esm.js +164 -164
- package/components/html-template/index.umd.cjs +1 -1
- package/components/image-cropper/index.esm.js +198 -198
- package/components/image-cropper/index.umd.cjs +1 -1
- package/components/json-editor/index.esm.js +64 -64
- package/components/json-editor/index.umd.cjs +1 -1
- package/components/language-textbox/index.esm.js +140 -140
- package/components/language-textbox/index.umd.cjs +1 -1
- package/components/layout/index.esm.js +111 -111
- package/components/layout/index.umd.cjs +1 -1
- package/components/list-nav/index.esm.js +90 -90
- package/components/list-nav/index.umd.cjs +1 -1
- package/components/list-view/index.esm.js +104 -108
- package/components/list-view/index.umd.cjs +3 -3
- package/components/locale/index.esm.js +833 -901
- package/components/locale/index.umd.cjs +6 -6
- package/components/lookup/index.esm.js +1352 -1351
- package/components/lookup/index.umd.cjs +1 -1
- package/components/mapping-editor/index.esm.js +1311 -1307
- package/components/mapping-editor/index.umd.cjs +1 -1
- package/components/menu-lookup/index.esm.js +1059 -1127
- package/components/menu-lookup/index.umd.cjs +6 -6
- package/components/message-box/index.esm.js +7 -7
- package/components/message-box/index.umd.cjs +1 -1
- package/components/modal/index.esm.js +9 -9
- package/components/modal/index.umd.cjs +1 -1
- package/components/nav/index.esm.js +106 -106
- package/components/nav/index.umd.cjs +1 -1
- package/components/number-range/index.esm.js +326 -326
- package/components/number-range/index.umd.cjs +1 -1
- package/components/number-spinner/index.esm.js +168 -167
- package/components/number-spinner/index.umd.cjs +1 -1
- package/components/order/index.esm.js +739 -737
- package/components/order/index.umd.cjs +4 -4
- package/components/page-footer/index.esm.js +94 -94
- package/components/page-footer/index.umd.cjs +1 -1
- package/components/page-header/index.esm.js +942 -939
- package/components/page-header/index.umd.cjs +1 -1
- package/components/pagination/index.esm.js +82 -82
- package/components/pagination/index.umd.cjs +1 -1
- package/components/popover/index.esm.js +1 -1
- package/components/popover/index.umd.cjs +1 -1
- package/components/progress/index.esm.js +113 -113
- package/components/progress/index.umd.cjs +2 -2
- package/components/property-editor/index.esm.js +151 -150
- package/components/property-editor/index.umd.cjs +1 -1
- package/components/property-panel/index.esm.js +565 -565
- package/components/property-panel/index.umd.cjs +2 -2
- package/components/query-solution/index.esm.js +4142 -4190
- package/components/query-solution/index.umd.cjs +6 -6
- package/components/radio-button/index.esm.js +182 -182
- package/components/radio-button/index.umd.cjs +1 -1
- package/components/rate/index.esm.js +106 -106
- package/components/rate/index.umd.cjs +1 -1
- package/components/response-layout/index.esm.js +409 -409
- package/components/response-layout/index.umd.cjs +1 -1
- package/components/response-layout-editor/index.esm.js +1488 -1478
- package/components/response-layout-editor/index.umd.cjs +1 -1
- package/components/response-toolbar/index.esm.js +779 -776
- package/components/response-toolbar/index.umd.cjs +1 -1
- package/components/schema-selector/index.esm.js +1765 -1762
- package/components/schema-selector/index.umd.cjs +5 -5
- package/components/search-box/index.esm.js +114 -114
- package/components/search-box/index.umd.cjs +1 -1
- package/components/section/index.esm.js +1184 -1181
- package/components/section/index.umd.cjs +1 -1
- package/components/smoke-detector/index.esm.js +163 -163
- package/components/smoke-detector/index.umd.cjs +1 -1
- package/components/sort-condition-editor/index.esm.js +927 -916
- package/components/sort-condition-editor/index.umd.cjs +3 -3
- package/components/splitter/index.esm.js +3 -3
- package/components/splitter/index.umd.cjs +1 -1
- package/components/step/index.esm.js +133 -133
- package/components/step/index.umd.cjs +1 -1
- package/components/switch/index.esm.js +76 -72
- package/components/switch/index.umd.cjs +1 -1
- package/components/tabs/index.esm.js +1527 -1524
- package/components/tabs/index.umd.cjs +2 -2
- package/components/tags/index.esm.js +93 -93
- package/components/tags/index.umd.cjs +1 -1
- package/components/text/index.esm.js +138 -138
- package/components/text/index.umd.cjs +1 -1
- package/components/textarea/index.esm.js +361 -361
- package/components/textarea/index.umd.cjs +2 -2
- package/components/tooltip/index.esm.js +173 -171
- package/components/tooltip/index.umd.cjs +1 -1
- package/components/transfer/index.esm.js +130 -134
- package/components/transfer/index.umd.cjs +4 -4
- package/components/tree-grid/index.esm.js +25 -25
- package/components/tree-grid/index.umd.cjs +1 -1
- package/components/tree-view/index.esm.js +1746 -1743
- package/components/tree-view/index.umd.cjs +1 -1
- package/components/uploader/index.esm.js +170 -170
- package/components/uploader/index.umd.cjs +2 -2
- package/components/verify-detail/index.esm.js +196 -196
- package/components/verify-detail/index.umd.cjs +1 -1
- package/components/video/index.esm.js +8 -8
- package/components/video/index.umd.cjs +1 -1
- package/components/weather/index.esm.js +9 -9
- package/components/weather/index.umd.cjs +2 -2
- package/farris.all.esm.js +16987 -17002
- package/farris.all.umd.cjs +27 -27
- package/package.json +1 -1
- package/types/lookup/src/composition/use-dialog.d.ts +2 -0
- package/types/lookup/src/composition/use-input-change.d.ts +1 -0
- package/components/time-picker/index.css +0 -1
- package/components/time-picker/index.esm.js +0 -9793
- package/components/time-picker/index.umd.cjs +0 -1
- package/components/time-picker/package.json +0 -8
- package/components/time-picker/style.js +0 -6
- package/designer/button-edit/index.css +0 -1
- package/designer/button-edit/index.esm.js +0 -4856
- package/designer/button-edit/index.umd.cjs +0 -1
- package/designer/checkbox/index.esm.js +0 -250
- package/designer/checkbox/index.umd.cjs +0 -1
- package/designer/checkbox-group/index.esm.js +0 -377
- package/designer/checkbox-group/index.umd.cjs +0 -1
- package/designer/data-grid/index.css +0 -1
- package/designer/data-grid/index.esm.js +0 -15413
- package/designer/data-grid/index.umd.cjs +0 -23
- package/designer/data-view/index.esm.js +0 -854
- package/designer/data-view/index.umd.cjs +0 -38
- package/designer/drawer/index.css +0 -1
- package/designer/drawer/index.esm.js +0 -525
- package/designer/drawer/index.umd.cjs +0 -1
- package/designer/farris-designer.all.esm.js +0 -22320
- package/designer/farris-designer.all.umd.cjs +0 -34
- package/designer/index.css +0 -1
- package/designer/input-group/index.esm.js +0 -1098
- package/designer/input-group/index.umd.cjs +0 -1
- package/designer/list-view/index.css +0 -1
- package/designer/list-view/index.esm.js +0 -4675
- package/designer/list-view/index.umd.cjs +0 -40
- package/designer/radio-group/index.css +0 -1
- package/designer/radio-group/index.esm.js +0 -6980
- package/designer/radio-group/index.umd.cjs +0 -1
- package/designer/tree-grid/index.esm.js +0 -1099
- package/designer/tree-grid/index.umd.cjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(h,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("vue"),require("vue-i18n"),require("../button-edit/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("lodash-es"),require("../list-view/index.umd.js"),require("../../designer/button-edit/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js"),require("../property-panel/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","vue-i18n","../button-edit/index.umd.js","../dynamic-resolver/index.umd.js","lodash-es","../list-view/index.umd.js","../../designer/button-edit/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js","../property-panel/index.umd.js"],i):(h=typeof globalThis<"u"?globalThis:h||self,i(h["combo-list"]={},h.Vue,h.vueI18n,h.FButtonEdit,h.dynamicResolver,h.LodashES,h.FListView,h.FButtonEditDesign,h.designerCanvas,h.common,h.propertyPanel))})(this,function(h,i,E,O,H,q,$,N,G,j,W){"use strict";const U=new Map([["appearance",H.resolveAppearance]]),J={$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:","},viewType:{description:"",type:"string",default:"tag"},enableSearch:{description:"启用搜索",type:"boolean",default:!0},enableHighlightSearch:{description:"启用高亮搜索",type:"boolean",default:!1}},required:["type"],ignore:["id","appearance","binding","visible"]};function _(e,t,l){return t}var k=(e=>(e.top="top",e.bottom="bottom",e.auto="auto",e))(k||{});const B={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-chevron-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}},A=Object.assign({},B,{readonly:{}}),L=H.createPropsResolver(B,J,U,_),z={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}},K=i.defineComponent({name:"FComboListContainer",props:z,emits:["selectionChange"],setup(e,t){const l=i.ref(),o=i.ref(e.dataSource),a=i.ref([]),f=i.ref(e.separator),y=i.ref(e.width),u=i.ref(e.maxHeight),s=i.ref(String(e.selectedValues).split(f.value)),x=i.computed(()=>e.multiSelect),b=i.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:x.value,showSelectAll:!1,showSelection:!0}));i.watch(e.dataSource,()=>{o.value=e.dataSource}),i.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const S=i.computed(()=>{const c={};return y.value!==void 0&&(c.width=`${y.value}px`),u.value!==void 0&&u.value>0&&(c.maxHeight=`${u.value}px`),c});function n(c){l.value.search(c)}function d(c){a.value=c.map(m=>Object.assign({},m)),s.value=c.map(m=>m[e.idField]),t.emit("selectionChange",a.value)}function p(c){if(e.enableHighlightSearch)return;let m=[];const{searchOption:r}=e;typeof r=="function"?m=o.value.filter(C=>r(c,C)):m=o.value.filter(C=>C[e.valueField].indexOf(c)>-1||C[e.textField].indexOf(c)>-1),l.value.updateDataSource(m)}i.watch([()=>e.selectedValues],([c])=>{e.multiSelect?s.value=c.split(f.value):s.value=[c]});function F(c){l.value.activeRowById(c)}return i.onMounted(()=>{var c,m;if(!e.multiSelect){const r=(c=s.value)==null?void 0:c[0];let C=r;if(!q.isUndefined(r)){const w=typeof r,T=typeof((m=o.value[0])==null?void 0:m[e.valueField||e.idField]);T==="number"&&w!==T&&(C=Number(r)),T==="boolean"&&w!==T&&(C=r==="true"?!0:r==="false"?!1:r),F(C)}}}),t.expose({search:n,activeRowById:F}),()=>i.createVNode("div",{class:"f-combo-list-container",style:S.value},[i.createVNode($,{ref:l,size:"small",itemClass:"f-combo-list-item",itemContentClass:"text-truncate",header:"ContentHeader",headerClass:"f-combo-list-search-box",data:o.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:b.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:s.value,onSelectionUpdate:d,onAfterSearch:p},null)])}});function Q(e){const{t}=E.useI18n(),l=i.ref(""),o=i.ref(e.modelValue),a=i.ref(e.data||[]),f=i.ref(e.editable);function y(n){const d=e.multiSelect?String(n).split(e.separator):[String(n)],p=d.map(m=>[m,!0]),F=new Map(p);return a.value.filter(m=>F.has(String(m[e.valueField]))).sort((m,r)=>{const C=d.indexOf(m[e.valueField]),w=d.indexOf(r[e.valueField]);return C-w})}function u(n){const d=y(n).map(p=>p[e.textField]).join(e.separator);l.value=f.value?d||n:d}function s(n){if(e.multiSelect){const d=n.split(e.separator).map(F=>[F,!0]),p=new Map(d);return a.value.filter(F=>p.has(F[e.textField]))}return a.value.filter(d=>""+d[e.textField]===n)}function x(n){const d={};return d[e.idField]=n,d[e.textField]=n,[d]}function b(n){let d=s(n);const p=d&&d.length>0;return f.value&&!p&&(d=x(n)),d}function S(){const{url:n,method:d="GET",headers:p={"Content-Type":"application/json;charset=utf-8;"},body:F=null}=e.remote,c=d.toLowerCase()==="get"?{method:d,headers:p}:{method:d,headers:p,body:F};let m=!1;fetch(new Request(n,c)).then(r=>{var w,T;if(r.status===200)return m=!!((T=(w=r.headers)==null?void 0:w.get("content-type"))!=null&&T.includes("application/json")),m?r.text():r.json();throw r.status===405?new Error(t("comboList.remoteError")):new Error(r.statusText)}).then(r=>{r.length&&(a.value=m?JSON.parse(r):r)}).catch(r=>{console.warn(r)})}return e.remote&&S(),i.watch(()=>e.data,()=>{a.value=e.data}),i.watch([a],([n])=>{if(e.modelValue!=null){const d=n.find(p=>p[e.valueField]===e.modelValue);d&&(l.value=d[e.textField])}}),i.watch(()=>e.modelValue,n=>{o.value=n,u(n)}),u(e.modelValue),{dataSource:a,displayText:l,editable:f,modelValue:o,getItemsByDisplayText:s,getItemsByValue:y,getSelectedItemsByDisplayText:b}}const P=i.defineComponent({name:"FComboList",props:B,emits:["clear","update:modelValue","change","input"],setup(e,t){const{t:l}=E.useI18n(),o=i.ref(),a=i.ref(),f=i.ref(e.disabled||e.readonly),y=i.ref(e.enableClear),u=i.ref(e.enableSearch),s=i.ref(e.readonly),{dataSource:x,displayText:b,editable:S,modelValue:n,getItemsByValue:d}=Q(e),p=i.ref(e.dropDownIcon);p.value==='<span class="f-icon f-icon-arrow-chevron-down"></span>'&&(p.value='<span id="'+e.id+'-icon-dropdown" class="f-icon f-icon-arrow-chevron-down"></span>');const F=i.computed(()=>e.multiSelect),c=i.computed(()=>a.value?a.value.elementRef.getBoundingClientRect().width:0);function m(){!F.value&&a.value&&a.value.hidePopup()}function r(g){b.value=g.map(V=>V[e.textField]).join(e.separator);let v="";g.length===1?v=g[0][e.valueField]:v=g.map(V=>V[e.valueField]).join(e.separator),n.value!==v&&(n.value=v,t.emit("update:modelValue",n.value),t.emit("change",g,n.value))}function C(){const g=d(n.value);r(g)}function w(){s.value||b.value}function T(g){var v;n.value="",(v=o.value)==null||v.activeRowById(""),t.emit("update:modelValue",""),t.emit("change",[],""),t.emit("clear")}function ee(g){var v,V;e.enableSearch&&e.enableHighlightSearch&&((v=o.value)==null||v.search(g)),(V=o.value)==null||V.activeRowById(g),t.emit("change",[n.value],n.value)}function te(g){if(e.multiSelect){const v=d(n.value),I=v.map(R=>R[e.idField||e.valueField]).join(e.separator);n.value!==I&&(n.value=I,t.emit("update:modelValue",n.value),t.emit("change",v,n.value))}}function ie(){return b.value}function le(g){const{value:v}=g.target;ee(v),t.emit("input",v)}function ne(){a.value.hidePopup()}return t.expose({getDisplayText:ie,hidePopup:ne}),i.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([g,v,V,I,R])=>{f.value=g,S.value=v,y.value=V,u.value=I,s.value=R}),()=>i.createVNode(O,{ref:a,id:e.id,disable:f.value,readonly:s.value,forcePlaceholder:e.forcePlaceholder,editable:S.value,buttonContent:p.value,placeholder:e.placeholder==="请选择"?l("comboList.placeholder"):e.placeholder,enableClear:y.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:b.value,"onUpdate:modelValue":g=>b.value=g,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:T,onClick:w,onChange:te,onBlur:C,onInput:le,beforeOpen:e.beforeOpen,placement:e.placement,popupMinWidth:e.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:e.popupOnClick,limitContentBySpace:!0},{default:()=>[i.createVNode(K,{ref:o,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:x.value,selectedValues:n.value,separator:e.separator,multiSelect:e.multiSelect,enableSearch:u.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?c.value:void 0,onSelectionChange:g=>{r(g),m()}},null)]})}}),M={convertFrom:(e,t)=>(e.editor.remote||{})[t],convertTo:(e,t,l)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[t]=l}};class X extends W.InputBaseProperty{constructor(t,l){super(t,l)}getCommonEditorProperties(t){var l,o,a,f,y,u;return{viewType:{visible:!!((l=t.editor)!=null&&l.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((o=t.editor)!=null&&o.multiSelect)&&((a=t.editor)==null?void 0:a.viewType)==="text",description:"下拉列表启用多选且数据展示类型为文本时的分隔符",title:"分隔符",type:"enum",editor:{data:[{id:",",name:"逗号(,)"},{id:"#",name:"井号(#)"},{id:".",name:"句号(.)"},{id:"|",name:"竖线(|)"}]}},editable:{description:"",title:"允许编辑",type:"boolean",refreshPanelAfterChanged:!0,readonly:!!((f=t.editor)!=null&&f.multiSelect)&&(((y=t.editor)==null?void 0:y.viewType)==="tag"||!t.editor.viewType)},enableHighlightSearch:{visible:!!((u=t.editor)!=null&&u.editable),description:"编辑状态下启用高亮搜索",title:"启用高亮搜索",type:"boolean"}}}getEditorProperties(t){var f,y;const l=this;let o="";if(((f=t==null?void 0:t.binding)==null?void 0:f.type)==="Form"){const u=this.schemaService.getFieldByIDAndVMID(t.binding.field,this.viewModelId);(y=u==null?void 0:u.schemaField)!=null&&y.type&&(o=u.schemaField.type.$type)}return l.getComponentConfig(t,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!t.editor.dataSourceType||t.editor.dataSourceType==="static",...l.getItemCollectionEditor(t,t.editor.valueField,t.editor.textField),refreshPanelAfterChanged:!0},url:{visible:t.editor.dataSourceType==="dynamic",$converter:M,description:"",title:"服务端API",type:"string"},body:{visible:t.editor.dataSourceType==="dynamic",$converter:M,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:t.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:t.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!o||o==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1}},...this.getCommonEditorProperties(t)},(u,s)=>{if(!u||!s.editor)return;const x=this;switch(u.propertyID){case"dataSourceType":{u.propertyValue==="static"?(s.editor.valueField="value",s.editor.textField="name",s.editor.remote=null):u.propertyValue==="dynamic"&&(s.editor.remote={method:"GET"},s.editor.valueField="value",s.editor.textField="name");break}case"data":{!x.checkEnumDataReadonly(s)&&s.formatter&&(s.formatter.data=[...u.propertyValue]);break}case"viewType":u.propertyValue==="tag"&&(s.editor.editable=!1)}})}getGridFieldEdtiorProperties(t,l){var y,u,s,x;const o=this;let a="";if(((y=t==null?void 0:t.binding)==null?void 0:y.type)==="Form"){const b=this.schemaService.getFieldByIDAndVMID(t.binding.field,this.viewModelId);(u=b==null?void 0:b.schemaField)!=null&&u.type&&(a=b.schemaField.type.$type)}return o.getComponentConfig(t,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},data:{description:"",title:"数据",type:"array",visible:!0,...o.getItemCollectionEditor(t,(s=t.editor)==null?void 0:s.valueField,(x=t.editor)==null?void 0:x.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:a==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1}},...this.getCommonEditorProperties(t)},(b,S)=>{if(!b||!S.editor)return;const n=this;switch(b.propertyID){case"dataSourceType":{b.propertyValue==="static"?(S.editor.valueField="value",S.editor.textField="name",S.editor.remote=null):b.propertyValue==="dynamic"&&(S.editor.remote={method:"GET"});break}case"data":{!n.checkEnumDataReadonly(S)&&S.formatter&&(S.formatter.data=[...b.propertyValue]);break}}})}setEditorPropertyRelates(t,l,o){if(!t||!l.editor)return;const a=this;switch(t.propertyID){case"dataSourceType":{t.propertyValue==="static"&&(l.editor.valueField="value",l.editor.textField="name",l.editor.remote={});break}case"data":{!a.checkEnumDataReadonly(l)&&l.formatter&&(l.formatter.data=[...t.propertyValue]);break}}}changeBindingField(t,l,o){var f;super.changeBindingField(t,l);const a=o;t.editor&&((f=a==null?void 0:a.type)==null?void 0:f.$type)===j.FormSchemaEntityFieldType$Type.EnumType&&(t.editor.data=a.type.enumValues||[])}}function Y(e,t){const l=e.schema;function o(a,f){return new X(a,t).getPropertyConfig(l,f)}return{getPropsConfig:o}}const Z=i.defineComponent({name:"FComboListDesign",props:A,emits:["clear","update:modelValue","change"],setup(e,t){const l=i.ref(),o=i.inject("designer-host-service"),a=i.inject("design-item-context"),f=Y(a,o),y=G.useDesignerComponent(l,a,f);return i.onMounted(()=>{l.value.componentInstance=y}),t.expose(y.value),()=>i.createVNode(N,{ref:l,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}});P.register=(e,t,l,o)=>{e["combo-list"]=P,t["combo-list"]=L},P.registerDesigner=(e,t,l)=>{e["combo-list"]=Z,t["combo-list"]=L};const D=j.withInstall(P);h.FComboList=P,h.Placement=k,h.comboListDesignProps=A,h.comboListProps=B,h.default=D,h.propsResolver=L,Object.defineProperties(h,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(h,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("vue"),require("vue-i18n"),require("../button-edit/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("lodash-es"),require("../list-view/index.umd.js"),require("../../designer/button-edit/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js"),require("../property-panel/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","vue-i18n","../button-edit/index.umd.js","../dynamic-resolver/index.umd.js","lodash-es","../list-view/index.umd.js","../../designer/button-edit/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js","../property-panel/index.umd.js"],i):(h=typeof globalThis<"u"?globalThis:h||self,i(h["combo-list"]={},h.Vue,h.vueI18n,h.FButtonEdit,h.dynamicResolver,h.LodashES,h.FListView,h.FButtonEditDesign,h.designerCanvas,h.common,h.propertyPanel))})(this,function(h,i,E,O,H,q,$,N,G,j,W){"use strict";const U=new Map([["appearance",H.resolveAppearance]]),J={$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:","},viewType:{description:"",type:"string",default:"tag"},enableSearch:{description:"启用搜索",type:"boolean",default:!0},enableHighlightSearch:{description:"启用高亮搜索",type:"boolean",default:!1},"onUpdate:modelValue":{description:"",type:"object"}},required:["type"],ignore:["id","appearance","binding","visible"]};function _(e,t,l){return t}var k=(e=>(e.top="top",e.bottom="bottom",e.auto="auto",e))(k||{});const B={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-chevron-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}},A=Object.assign({},B,{readonly:{}}),L=H.createPropsResolver(B,J,U,_),z={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}},K=i.defineComponent({name:"FComboListContainer",props:z,emits:["selectionChange"],setup(e,t){const l=i.ref(),o=i.ref(e.dataSource),a=i.ref([]),f=i.ref(e.separator),y=i.ref(e.width),r=i.ref(e.maxHeight),u=i.ref(String(e.selectedValues).split(f.value)),x=i.computed(()=>e.multiSelect),b=i.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:x.value,showSelectAll:!1,showSelection:!0}));i.watch(e.dataSource,()=>{o.value=e.dataSource}),i.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const v=i.computed(()=>{const s={};return y.value!==void 0&&(s.width=`${y.value}px`),r.value!==void 0&&r.value>0&&(s.maxHeight=`${r.value}px`),s});function n(s){l.value.search(s)}function d(s){a.value=s.map(m=>Object.assign({},m)),u.value=s.map(m=>m[e.idField]),t.emit("selectionChange",a.value)}function S(s){if(e.enableHighlightSearch)return;let m=[];const{searchOption:c}=e;typeof c=="function"?m=o.value.filter(F=>c(s,F)):m=o.value.filter(F=>F[e.valueField].indexOf(s)>-1||F[e.textField].indexOf(s)>-1),l.value.updateDataSource(m)}i.watch([()=>e.selectedValues],([s])=>{e.multiSelect?u.value=s.split(f.value):u.value=[s]});function C(s){l.value.activeRowById(s)}return i.onMounted(()=>{var s,m;if(!e.multiSelect){const c=(s=u.value)==null?void 0:s[0];let F=c;if(!q.isUndefined(c)){const w=typeof c,T=typeof((m=o.value[0])==null?void 0:m[e.valueField||e.idField]);T==="number"&&w!==T&&(F=Number(c)),T==="boolean"&&w!==T&&(F=c==="true"?!0:c==="false"?!1:c),C(F)}}}),t.expose({search:n,activeRowById:C}),()=>i.createVNode("div",{class:"f-combo-list-container",style:v.value},[i.createVNode($,{ref:l,size:"small",itemClass:"f-combo-list-item",itemContentClass:"text-truncate",header:"ContentHeader",headerClass:"f-combo-list-search-box",data:o.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:b.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:u.value,onSelectionUpdate:d,onAfterSearch:S},null)])}});function Q(e){const{t}=E.useI18n(),l=i.ref(""),o=i.ref(e.modelValue),a=i.ref(e.data||[]),f=i.ref(e.editable);function y(n){const d=e.multiSelect?String(n).split(e.separator):[String(n)],S=d.map(m=>[m,!0]),C=new Map(S);return a.value.filter(m=>C.has(String(m[e.valueField]))).sort((m,c)=>{const F=d.indexOf(m[e.valueField]),w=d.indexOf(c[e.valueField]);return F-w})}function r(n){const d=y(n).map(S=>S[e.textField]).join(e.separator);l.value=f.value?d||n:d}function u(n){if(e.multiSelect){const d=n.split(e.separator).map(C=>[C,!0]),S=new Map(d);return a.value.filter(C=>S.has(C[e.textField]))}return a.value.filter(d=>""+d[e.textField]===n)}function x(n){const d={};return d[e.idField]=n,d[e.textField]=n,[d]}function b(n){let d=u(n);const S=d&&d.length>0;return f.value&&!S&&(d=x(n)),d}function v(){const{url:n,method:d="GET",headers:S={"Content-Type":"application/json;charset=utf-8;"},body:C=null}=e.remote,s=d.toLowerCase()==="get"?{method:d,headers:S}:{method:d,headers:S,body:C};let m=!1;fetch(new Request(n,s)).then(c=>{var w,T;if(c.status===200)return m=!!((T=(w=c.headers)==null?void 0:w.get("content-type"))!=null&&T.includes("application/json")),m?c.text():c.json();throw c.status===405?new Error(t("comboList.remoteError")):new Error(c.statusText)}).then(c=>{c.length&&(a.value=m?JSON.parse(c):c)}).catch(c=>{console.warn(c)})}return e.remote&&v(),i.watch(()=>e.data,()=>{a.value=e.data}),i.watch([a],([n])=>{if(e.modelValue!=null){const d=n.find(S=>S[e.valueField]===e.modelValue);d&&(l.value=d[e.textField])}}),i.watch(()=>e.modelValue,n=>{o.value=n,r(n)}),r(e.modelValue),{dataSource:a,displayText:l,editable:f,modelValue:o,getItemsByDisplayText:u,getItemsByValue:y,getSelectedItemsByDisplayText:b}}const P=i.defineComponent({name:"FComboList",props:B,emits:["clear","update:modelValue","change","input"],setup(e,t){const{t:l}=E.useI18n(),o=i.ref(),a=i.ref(),f=i.ref(e.disabled||e.readonly),y=i.ref(e.enableClear),r=i.ref(e.enableSearch),u=i.ref(e.readonly),{dataSource:x,displayText:b,editable:v,modelValue:n,getSelectedItemsByDisplayText:d,getItemsByDisplayText:S,getItemsByValue:C}=Q(e),s=i.ref(e.dropDownIcon);s.value==='<span class="f-icon f-icon-arrow-chevron-down"></span>'&&(s.value='<span id="'+e.id+'-icon-dropdown" class="f-icon f-icon-arrow-chevron-down"></span>');const m=i.computed(()=>e.multiSelect),c=i.computed(()=>a.value?a.value.elementRef.getBoundingClientRect().width:0);function F(){!m.value&&a.value&&a.value.hidePopup()}function w(g){b.value=g.map(V=>V[e.textField]).join(e.separator);let p="";g.length===1?p=g[0][e.valueField]:p=g.map(V=>V[e.valueField]).join(e.separator),n.value!==p&&(n.value=p,t.emit("update:modelValue",n.value),t.emit("change",g,n.value))}function T(){const g=C(n.value);w(g)}function ee(){u.value||b.value}function te(g){var p;n.value="",(p=o.value)==null||p.activeRowById(""),t.emit("update:modelValue",""),t.emit("change",[],""),t.emit("clear")}function ie(g){var p,V;e.enableSearch&&e.enableHighlightSearch&&((p=o.value)==null||p.search(g)),(V=o.value)==null||V.activeRowById(g),t.emit("change",[n.value],n.value)}function le(g){if(e.multiSelect){const p=C(n.value),I=p.map(R=>R[e.idField||e.valueField]).join(e.separator);n.value!==I&&(n.value=I,t.emit("update:modelValue",n.value),t.emit("change",p,n.value))}}function ne(){return b.value}function ae(g){const{value:p}=g.target;ie(p),t.emit("input",p)}function oe(){a.value.hidePopup()}return t.expose({getDisplayText:ne,hidePopup:oe}),i.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([g,p,V,I,R])=>{f.value=g,v.value=p,y.value=V,r.value=I,u.value=R}),()=>i.createVNode(O,{ref:a,id:e.id,disable:f.value,readonly:u.value,forcePlaceholder:e.forcePlaceholder,editable:v.value,buttonContent:s.value,placeholder:e.placeholder==="请选择"?l("comboList.placeholder"):e.placeholder,enableClear:y.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:b.value,"onUpdate:modelValue":g=>b.value=g,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:te,onClick:ee,onChange:le,onBlur:T,onInput:ae,beforeOpen:e.beforeOpen,placement:e.placement,popupMinWidth:e.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:e.popupOnClick,limitContentBySpace:!0},{default:()=>[i.createVNode(K,{ref:o,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:x.value,selectedValues:n.value,separator:e.separator,multiSelect:e.multiSelect,enableSearch:r.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?c.value:void 0,onSelectionChange:g=>{w(g),F()}},null)]})}}),M={convertFrom:(e,t)=>(e.editor.remote||{})[t],convertTo:(e,t,l)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[t]=l}};class X extends W.InputBaseProperty{constructor(t,l){super(t,l)}getCommonEditorProperties(t){var l,o,a,f,y,r;return{viewType:{visible:!!((l=t.editor)!=null&&l.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((o=t.editor)!=null&&o.multiSelect)&&((a=t.editor)==null?void 0:a.viewType)==="text",description:"下拉列表启用多选且数据展示类型为文本时的分隔符",title:"分隔符",type:"enum",editor:{data:[{id:",",name:"逗号(,)"},{id:"#",name:"井号(#)"},{id:".",name:"句号(.)"},{id:"|",name:"竖线(|)"}]}},editable:{description:"",title:"允许编辑",type:"boolean",refreshPanelAfterChanged:!0,readonly:!!((f=t.editor)!=null&&f.multiSelect)&&(((y=t.editor)==null?void 0:y.viewType)==="tag"||!t.editor.viewType)},enableHighlightSearch:{visible:!!((r=t.editor)!=null&&r.editable),description:"编辑状态下启用高亮搜索",title:"启用高亮搜索",type:"boolean"}}}getEditorProperties(t){var f,y;const l=this;let o="";if(((f=t==null?void 0:t.binding)==null?void 0:f.type)==="Form"){const r=this.schemaService.getFieldByIDAndVMID(t.binding.field,this.viewModelId);(y=r==null?void 0:r.schemaField)!=null&&y.type&&(o=r.schemaField.type.$type)}return l.getComponentConfig(t,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!t.editor.dataSourceType||t.editor.dataSourceType==="static",...l.getItemCollectionEditor(t,t.editor.valueField,t.editor.textField),refreshPanelAfterChanged:!0},url:{visible:t.editor.dataSourceType==="dynamic",$converter:M,description:"",title:"服务端API",type:"string"},body:{visible:t.editor.dataSourceType==="dynamic",$converter:M,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:t.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:t.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!o||o==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1}},...this.getCommonEditorProperties(t)},(r,u)=>{if(!r||!u.editor)return;const x=this;switch(r.propertyID){case"dataSourceType":{r.propertyValue==="static"?(u.editor.valueField="value",u.editor.textField="name",u.editor.remote=null):r.propertyValue==="dynamic"&&(u.editor.remote={method:"GET"},u.editor.valueField="value",u.editor.textField="name");break}case"data":{!x.checkEnumDataReadonly(u)&&u.formatter&&(u.formatter.data=[...r.propertyValue]);break}case"viewType":r.propertyValue==="tag"&&(u.editor.editable=!1)}})}getGridFieldEdtiorProperties(t,l){var y,r,u,x;const o=this;let a="";if(((y=t==null?void 0:t.binding)==null?void 0:y.type)==="Form"){const b=this.schemaService.getFieldByIDAndVMID(t.binding.field,this.viewModelId);(r=b==null?void 0:b.schemaField)!=null&&r.type&&(a=b.schemaField.type.$type)}return o.getComponentConfig(t,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},data:{description:"",title:"数据",type:"array",visible:!0,...o.getItemCollectionEditor(t,(u=t.editor)==null?void 0:u.valueField,(x=t.editor)==null?void 0:x.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:a==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1}},...this.getCommonEditorProperties(t)},(b,v)=>{if(!b||!v.editor)return;const n=this;switch(b.propertyID){case"dataSourceType":{b.propertyValue==="static"?(v.editor.valueField="value",v.editor.textField="name",v.editor.remote=null):b.propertyValue==="dynamic"&&(v.editor.remote={method:"GET"});break}case"data":{!n.checkEnumDataReadonly(v)&&v.formatter&&(v.formatter.data=[...b.propertyValue]);break}}})}setEditorPropertyRelates(t,l,o){if(!t||!l.editor)return;const a=this;switch(t.propertyID){case"dataSourceType":{t.propertyValue==="static"&&(l.editor.valueField="value",l.editor.textField="name",l.editor.remote={});break}case"data":{!a.checkEnumDataReadonly(l)&&l.formatter&&(l.formatter.data=[...t.propertyValue]);break}}}changeBindingField(t,l,o){var f;super.changeBindingField(t,l);const a=o;t.editor&&((f=a==null?void 0:a.type)==null?void 0:f.$type)===j.FormSchemaEntityFieldType$Type.EnumType&&(t.editor.data=a.type.enumValues||[])}}function Y(e,t){const l=e.schema;function o(a,f){return new X(a,t).getPropertyConfig(l,f)}return{getPropsConfig:o}}const Z=i.defineComponent({name:"FComboListDesign",props:A,emits:["clear","update:modelValue","change"],setup(e,t){const l=i.ref(),o=i.inject("designer-host-service"),a=i.inject("design-item-context"),f=Y(a,o),y=G.useDesignerComponent(l,a,f);return i.onMounted(()=>{l.value.componentInstance=y}),t.expose(y.value),()=>i.createVNode(N,{ref:l,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}});P.register=(e,t,l,o)=>{e["combo-list"]=P,t["combo-list"]=L},P.registerDesigner=(e,t,l)=>{e["combo-list"]=Z,t["combo-list"]=L};const D=j.withInstall(P);h.FComboList=P,h.Placement=k,h.comboListDesignProps=A,h.comboListProps=B,h.default=D,h.propsResolver=L,Object.defineProperties(h,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { ref as
|
|
1
|
+
import { ref as x, computed as $, defineComponent as W, watch as V, inject as ce, onMounted as se, createVNode as I } from "vue";
|
|
2
2
|
import de from "../button-edit/index.esm.js";
|
|
3
|
-
import {
|
|
3
|
+
import { cloneDeep as H, isPlainObject as z, debounce as fe } from "lodash-es";
|
|
4
4
|
import me from "../tree-view/index.esm.js";
|
|
5
5
|
import { FInputGroup as ve } from "../input-group/index.esm.js";
|
|
6
6
|
import { withInstall as pe } from "../common/index.esm.js";
|
|
7
7
|
function U(e, t) {
|
|
8
8
|
let o;
|
|
9
9
|
function u(i) {
|
|
10
|
-
const { properties: l, title: s, ignore: n } = i, a = n && Array.isArray(n), r = Object.keys(l).reduce((c, v) => ((!a || !n.find((
|
|
10
|
+
const { properties: l, title: s, ignore: n } = i, a = n && Array.isArray(n), r = Object.keys(l).reduce((c, v) => ((!a || !n.find((T) => T === v)) && (c[v] = l[v].type === "object" && l[v].properties ? u(l[v]) : H(l[v].default)), c), {});
|
|
11
11
|
if (s && (!a || !n.find((c) => c === "id"))) {
|
|
12
12
|
const c = s.toLowerCase().replace(/-/g, "_");
|
|
13
13
|
r.id = `${c}_${Math.random().toString().slice(2, 6)}`;
|
|
@@ -17,7 +17,7 @@ function U(e, t) {
|
|
|
17
17
|
function p(i) {
|
|
18
18
|
const { properties: l, title: s, required: n } = i;
|
|
19
19
|
if (n && Array.isArray(n)) {
|
|
20
|
-
const a = n.reduce((r, c) => (r[c] = l[c].type === "object" && l[c].properties ? u(l[c]) :
|
|
20
|
+
const a = n.reduce((r, c) => (r[c] = l[c].type === "object" && l[c].properties ? u(l[c]) : H(l[c].default), r), {});
|
|
21
21
|
if (s && n.find((r) => r === "id")) {
|
|
22
22
|
const r = s.toLowerCase().replace(/-/g, "_");
|
|
23
23
|
a.id = `${r}_${Math.random().toString().slice(2, 6)}`;
|
|
@@ -81,7 +81,7 @@ function U(e, t) {
|
|
|
81
81
|
}
|
|
82
82
|
return { getSchemaByType: F, resolveSchemaWithDefaultValue: d, resolveSchemaToProps: y, mappingSchemaToProps: C, setDesignerContext: m };
|
|
83
83
|
}
|
|
84
|
-
const _ = {}, G = {}, { resolveSchemaWithDefaultValue: ge, resolveSchemaToProps: be, mappingSchemaToProps: ye } = U(_, G);
|
|
84
|
+
const _ = {}, G = {}, { getSchemaByType: vt, resolveSchemaWithDefaultValue: ge, resolveSchemaToProps: be, mappingSchemaToProps: ye, setDesignerContext: pt } = U(_, G);
|
|
85
85
|
function Se(e = {}) {
|
|
86
86
|
function t(d, m, i, l) {
|
|
87
87
|
if (typeof i == "number")
|
|
@@ -131,7 +131,7 @@ function Se(e = {}) {
|
|
|
131
131
|
return F(d).reduce((s, n) => s && b(n, m), !0);
|
|
132
132
|
}
|
|
133
133
|
function y(d, m) {
|
|
134
|
-
const i = Object.keys(d), l = i.includes("allOf"), s = i.includes("anyOf"), n = l || s, c = (n ? d[n ? l ? "allOf" : "anyOf" : "allOf"] : [d]).map((
|
|
134
|
+
const i = Object.keys(d), l = i.includes("allOf"), s = i.includes("anyOf"), n = l || s, c = (n ? d[n ? l ? "allOf" : "anyOf" : "allOf"] : [d]).map((T) => C(T, m));
|
|
135
135
|
return l ? !c.includes(!1) : c.includes(!0);
|
|
136
136
|
}
|
|
137
137
|
return { parseValueSchema: y };
|
|
@@ -270,7 +270,7 @@ const he = {
|
|
|
270
270
|
}
|
|
271
271
|
return "";
|
|
272
272
|
}
|
|
273
|
-
},
|
|
273
|
+
}, De = {
|
|
274
274
|
convertTo: (e, t, o, u) => {
|
|
275
275
|
e.summary ? e.summary[t] = o : e.summary = {
|
|
276
276
|
[t]: o
|
|
@@ -280,7 +280,7 @@ const he = {
|
|
|
280
280
|
});
|
|
281
281
|
},
|
|
282
282
|
convertFrom: (e, t, o) => e.summary && t === "enable" ? e.summary.enable : e.type === "data-grid-column" ? e.enableSummary === void 0 ? !1 : e.enableSummary : ""
|
|
283
|
-
},
|
|
283
|
+
}, ke = {
|
|
284
284
|
convertTo: (e, t, o, u) => {
|
|
285
285
|
e.group ? e.group[t] = o : e.group = {
|
|
286
286
|
[t]: o
|
|
@@ -298,7 +298,7 @@ const he = {
|
|
|
298
298
|
return e.group.showSummary;
|
|
299
299
|
}
|
|
300
300
|
}
|
|
301
|
-
},
|
|
301
|
+
}, Be = {
|
|
302
302
|
convertFrom: (e, t) => e.binding ? e.binding.path : "",
|
|
303
303
|
convertTo: (e, t, o) => {
|
|
304
304
|
if (o && o.length > 0) {
|
|
@@ -306,17 +306,17 @@ const he = {
|
|
|
306
306
|
e.binding || (e.binding = {}), e.binding.type = "Form", e.binding.path = u.bindingField, e.binding.field = u.id, e.binding.fullPath = u.path, e.path = u.bindingPath;
|
|
307
307
|
}
|
|
308
308
|
}
|
|
309
|
-
},
|
|
309
|
+
}, Ne = {
|
|
310
310
|
convertTo: (e, t, o, u) => {
|
|
311
311
|
e.pagination || (e.pagination = {}), e.pagination[t] = o;
|
|
312
312
|
},
|
|
313
313
|
convertFrom: (e, t, o) => e.pagination ? e.pagination[t] : e[t]
|
|
314
|
-
},
|
|
314
|
+
}, Re = {
|
|
315
315
|
convertTo: (e, t, o, u) => {
|
|
316
316
|
e.rowNumber || (e.rowNumber = {}), e.rowNumber[t] = o;
|
|
317
317
|
},
|
|
318
318
|
convertFrom: (e, t, o) => e.rowNumber ? e.rowNumber[t] : e[t]
|
|
319
|
-
},
|
|
319
|
+
}, Me = {
|
|
320
320
|
convertTo: (e, t, o, u) => {
|
|
321
321
|
e.selection || (e.selection = {}), e.selection[t] = o;
|
|
322
322
|
},
|
|
@@ -331,12 +331,12 @@ const he = {
|
|
|
331
331
|
convertTo: (e, t, o) => {
|
|
332
332
|
e[t] = o;
|
|
333
333
|
}
|
|
334
|
-
},
|
|
334
|
+
}, $e = {
|
|
335
335
|
convertTo: (e, t, o, u) => {
|
|
336
336
|
e.size || (e.size = {}), e.size[t] = o;
|
|
337
337
|
},
|
|
338
338
|
convertFrom: (e, t, o) => e.size ? e.size[t] : e[t]
|
|
339
|
-
},
|
|
339
|
+
}, Ve = {
|
|
340
340
|
convertFrom: (e, t, o) => {
|
|
341
341
|
var u, p;
|
|
342
342
|
return (u = e.formatter) != null && u.data && t === "formatterEnumData" && !e.formatterEnumData ? (p = e.formatter) == null ? void 0 : p.data : e.formatterEnumData;
|
|
@@ -388,15 +388,15 @@ function J(e, t, o) {
|
|
|
388
388
|
["/converter/change-formatter.converter", Oe],
|
|
389
389
|
["/converter/column-command.converter", Pe],
|
|
390
390
|
["/converter/column-option.converter", je],
|
|
391
|
-
["/converter/summary.converter",
|
|
392
|
-
["/converter/group.converter",
|
|
391
|
+
["/converter/summary.converter", De],
|
|
392
|
+
["/converter/group.converter", ke],
|
|
393
393
|
["/converter/form-group-label.converter", Ie],
|
|
394
|
-
["/converter/field-selector.converter",
|
|
395
|
-
["/converter/pagination.converter",
|
|
396
|
-
["/converter/row-number.converter",
|
|
397
|
-
["/converter/grid-selection.converter",
|
|
398
|
-
["/converter/size.converter",
|
|
399
|
-
["/converter/change-formatter-enum.converter",
|
|
394
|
+
["/converter/field-selector.converter", Be],
|
|
395
|
+
["/converter/pagination.converter", Ne],
|
|
396
|
+
["/converter/row-number.converter", Re],
|
|
397
|
+
["/converter/grid-selection.converter", Me],
|
|
398
|
+
["/converter/size.converter", $e],
|
|
399
|
+
["/converter/change-formatter-enum.converter", Ve],
|
|
400
400
|
["/converter/grid-sort.converter", He],
|
|
401
401
|
["/converter/grid-filter.converter", Ae],
|
|
402
402
|
["/converter/row-option.converter", Le]
|
|
@@ -438,62 +438,62 @@ function J(e, t, o) {
|
|
|
438
438
|
const r = n.$converter || a;
|
|
439
439
|
return typeof r == "string" && r && u.has(r) ? u.get(r) || null : r || null;
|
|
440
440
|
}
|
|
441
|
-
function m(n, a, r, c, v,
|
|
441
|
+
function m(n, a, r, c, v, T = "", D = "") {
|
|
442
442
|
return Object.keys(n).map((S) => {
|
|
443
|
-
const
|
|
444
|
-
|
|
445
|
-
const A = f.type === "cascade" ? m(f.properties, a, r, c, v,
|
|
446
|
-
let
|
|
447
|
-
const re =
|
|
443
|
+
const P = x(1), k = S, f = n[S], O = Object.keys(f), R = f.title, g = f.type, h = p.get(g) || { type: "input-group", enableClear: !1 }, w = f.editor ? Object.assign({}, h, f.editor) : Object.assign({}, h), M = C(O, f, a), E = y(O, f, a);
|
|
444
|
+
w.readonly = w.readonly === void 0 ? E() : w.readonly;
|
|
445
|
+
const A = f.type === "cascade" ? m(f.properties, a, r, c, v, T, D) : [], ne = !0;
|
|
446
|
+
let B = d(f, D);
|
|
447
|
+
const re = $({
|
|
448
448
|
get() {
|
|
449
|
-
if (
|
|
450
|
-
if (["class", "style"].find((ue) => ue ===
|
|
451
|
-
return
|
|
452
|
-
const
|
|
453
|
-
return Object.prototype.hasOwnProperty.call(f, "defaultValue") && (
|
|
449
|
+
if (P.value) {
|
|
450
|
+
if (["class", "style"].find((ue) => ue === k) && !B && (B = u.get("/converter/appearance.converter") || null), B && B.convertFrom)
|
|
451
|
+
return B.convertFrom(r, S, v, T);
|
|
452
|
+
const N = r[S];
|
|
453
|
+
return Object.prototype.hasOwnProperty.call(f, "defaultValue") && (N === void 0 || typeof N == "string" && N === "") ? f.type === "boolean" ? f.defaultValue : f.defaultValue || "" : N;
|
|
454
454
|
}
|
|
455
455
|
return null;
|
|
456
456
|
},
|
|
457
|
-
set(
|
|
458
|
-
|
|
457
|
+
set(N) {
|
|
458
|
+
P.value += 1, B && B.convertTo ? (B.convertTo(c, S, N, v, T), B.convertTo(r, S, N, v, T)) : (c[S] = N, r[S] = N);
|
|
459
459
|
}
|
|
460
|
-
}), { refreshPanelAfterChanged: oe, description: ae, isExpand: ie, parentPropertyID: le } = f, q = { propertyID:
|
|
461
|
-
return a[
|
|
460
|
+
}), { refreshPanelAfterChanged: oe, description: ae, isExpand: ie, parentPropertyID: le } = f, q = { propertyID: k, propertyName: R, propertyType: g, propertyValue: re, editor: w, visible: M, readonly: E, cascadeConfig: A, hideCascadeTitle: ne, refreshPanelAfterChanged: oe, description: ae, isExpand: ie, parentPropertyID: le };
|
|
461
|
+
return a[k] = q, q;
|
|
462
462
|
});
|
|
463
463
|
}
|
|
464
464
|
function i(n, a, r = {}) {
|
|
465
465
|
const c = {}, v = e[n];
|
|
466
|
-
return v && v.categories ? Object.keys(v.categories).map((
|
|
467
|
-
const
|
|
468
|
-
return { categoryId:
|
|
466
|
+
return v && v.categories ? Object.keys(v.categories).map((D) => {
|
|
467
|
+
const j = v.categories[D], S = j == null ? void 0 : j.title, P = m(j.properties || {}, c, {}, r, a);
|
|
468
|
+
return { categoryId: D, categoryName: S, properties: P };
|
|
469
469
|
}) : [];
|
|
470
470
|
}
|
|
471
471
|
function l(n, a, r, c, v = "") {
|
|
472
|
-
const
|
|
472
|
+
const T = a.$ref.schema, D = a.$ref.converter, j = r[T], S = j.type, P = o(j), k = {}, f = e[S];
|
|
473
473
|
if (f && f.categories) {
|
|
474
|
-
const
|
|
475
|
-
|
|
476
|
-
|
|
474
|
+
const O = f.categories[n], R = O == null ? void 0 : O.title;
|
|
475
|
+
D && Object.keys(O.properties).forEach((w) => {
|
|
476
|
+
O.properties[w].$converter = D;
|
|
477
477
|
});
|
|
478
|
-
const
|
|
479
|
-
return { categoryId: n, categoryName:
|
|
478
|
+
const g = (O == null ? void 0 : O.properties) || {}, h = m(g, k, P, j, c, v);
|
|
479
|
+
return { categoryId: n, categoryName: R, properties: h };
|
|
480
480
|
}
|
|
481
481
|
return { categoryId: n, categoryName: "", properties: [] };
|
|
482
482
|
}
|
|
483
483
|
function s(n, a, r, c, v) {
|
|
484
|
-
const
|
|
485
|
-
let S = v || e[
|
|
484
|
+
const T = n.type, D = o(n), j = {};
|
|
485
|
+
let S = v || e[T];
|
|
486
486
|
if (S && Object.keys(S).length === 0 && r && r.getPropConfig && (S = r.getPropConfig(c)), S && S.categories) {
|
|
487
|
-
const
|
|
488
|
-
return Object.keys(S.categories).map((
|
|
489
|
-
const f = S.categories[
|
|
487
|
+
const P = [];
|
|
488
|
+
return Object.keys(S.categories).map((k) => {
|
|
489
|
+
const f = S.categories[k];
|
|
490
490
|
if (f.$ref) {
|
|
491
|
-
|
|
491
|
+
P.push(l(k, f, n, a, c));
|
|
492
492
|
return;
|
|
493
493
|
}
|
|
494
|
-
const
|
|
495
|
-
|
|
496
|
-
}),
|
|
494
|
+
const O = f == null ? void 0 : f.title, R = f == null ? void 0 : f.tabId, g = f == null ? void 0 : f.tabName, h = f == null ? void 0 : f.hide, w = f == null ? void 0 : f.hideTitle, M = m(f.properties || {}, j, D, n, a, c, f.$converter), { setPropertyRelates: E } = f, A = f == null ? void 0 : f.parentPropertyID;
|
|
495
|
+
P.push({ categoryId: k, categoryName: O, tabId: R, tabName: g, hide: h, properties: M, hideTitle: w, setPropertyRelates: E, parentPropertyID: A });
|
|
496
|
+
}), P;
|
|
497
497
|
}
|
|
498
498
|
return [];
|
|
499
499
|
}
|
|
@@ -505,7 +505,7 @@ function J(e, t, o) {
|
|
|
505
505
|
}
|
|
506
506
|
const Q = {}, X = {};
|
|
507
507
|
J(Q, X, ge);
|
|
508
|
-
const Y = {}, Z = {}, { resolveSchemaWithDefaultValue: qe } = U(Y, Z), K = {}, ee = {};
|
|
508
|
+
const Y = {}, Z = {}, { getSchemaByType: gt, resolveSchemaWithDefaultValue: qe, resolveSchemaToProps: bt, mappingSchemaToProps: yt, setDesignerContext: St } = U(Y, Z), K = {}, ee = {};
|
|
509
509
|
J(K, ee, qe);
|
|
510
510
|
function ze(e, t, o = /* @__PURE__ */ new Map(), u = (b, C, y, d) => C, p = {}, F = (b) => b) {
|
|
511
511
|
return _[t.title] = t, G[t.title] = u, Q[t.title] = p, X[t.title] = F, Y[t.title] = t, Z[t.title] = u, K[t.title] = p, ee[t.title] = F, (b = {}, C = !0) => {
|
|
@@ -874,12 +874,12 @@ const te = {
|
|
|
874
874
|
props: ot,
|
|
875
875
|
emits: ["selectionChange", "selectItem", "unSelectItem"],
|
|
876
876
|
setup(e, t) {
|
|
877
|
-
const o =
|
|
877
|
+
const o = x(e.data), u = x([]), p = x(e.separator), F = x(e.width), b = x(e.height), C = x(e.maxHeight), y = x(String(e.selectedValues).split(p.value)), d = x(), m = {
|
|
878
878
|
customRowStatus: e.customRowStatus
|
|
879
879
|
};
|
|
880
|
-
|
|
880
|
+
V(() => e.selectedValues, (r) => {
|
|
881
881
|
y.value = String(r).split(p.value);
|
|
882
|
-
}),
|
|
882
|
+
}), V(() => e.data, (r) => {
|
|
883
883
|
var c;
|
|
884
884
|
o.value = r, (c = d.value) == null || c.updateDataSource(r);
|
|
885
885
|
});
|
|
@@ -891,12 +891,12 @@ const te = {
|
|
|
891
891
|
};
|
|
892
892
|
let l = null;
|
|
893
893
|
e.repositoryToken && (l = ce(e.repositoryToken));
|
|
894
|
-
const s =
|
|
894
|
+
const s = $(() => [{
|
|
895
895
|
field: e.textField,
|
|
896
896
|
title: "",
|
|
897
897
|
dataType: "string",
|
|
898
898
|
formatter: e.formatter
|
|
899
|
-
}]), n =
|
|
899
|
+
}]), n = $(() => {
|
|
900
900
|
const r = {};
|
|
901
901
|
return F.value !== void 0 && (r.width = `${F.value}px`), b.value !== void 0 && (r.height = `${b.value}px`), C.value !== void 0 && C.value > 0 && (r.maxHeight = `${C.value}px`, r.overflow = "auto"), o.value.length === 0 && (r.height = "200px"), r.position = "relative", r;
|
|
902
902
|
});
|
|
@@ -909,20 +909,20 @@ const te = {
|
|
|
909
909
|
}), y.value && d.value.activeRowById(y.value[0]);
|
|
910
910
|
}), t.expose({
|
|
911
911
|
treeInstance: d
|
|
912
|
-
}), () =>
|
|
912
|
+
}), () => I("div", {
|
|
913
913
|
class: "f-combo-tree-container",
|
|
914
914
|
style: n.value
|
|
915
|
-
}, [e.multiSelect && e.enableSearch &&
|
|
915
|
+
}, [e.multiSelect && e.enableSearch && I("div", {
|
|
916
916
|
class: "p-2",
|
|
917
917
|
style: "position: sticky;top:0;z-index: 2; background:white",
|
|
918
918
|
onMousedown: (r) => r.stopPropagation()
|
|
919
|
-
}, [
|
|
919
|
+
}, [I(ve, {
|
|
920
920
|
buttonContent: '<i class="f-icon f-icon-search"></i>',
|
|
921
921
|
enableClear: !0,
|
|
922
922
|
placeholder: "请输入搜索内容",
|
|
923
923
|
onClear: () => t.emit("clearSearch"),
|
|
924
924
|
onInput: (r, c) => e.searchHandler(c)
|
|
925
|
-
}, null)]),
|
|
925
|
+
}, null)]), I(me, {
|
|
926
926
|
ref: d,
|
|
927
927
|
fit: !0,
|
|
928
928
|
data: o.value,
|
|
@@ -945,7 +945,7 @@ const te = {
|
|
|
945
945
|
}
|
|
946
946
|
});
|
|
947
947
|
function it(e) {
|
|
948
|
-
const t =
|
|
948
|
+
const t = x(""), o = x(e.modelValue), u = x(e.data || []), p = x(e.editable);
|
|
949
949
|
function F(i, l = []) {
|
|
950
950
|
return i = i || [], i.reduce((s, n) => (n.id = n.id || n.data[e.idField], s.push(n), n.children && n.children.length && F(n.children, s), s), l);
|
|
951
951
|
}
|
|
@@ -955,8 +955,8 @@ function it(e) {
|
|
|
955
955
|
const c = r.data ? String(r.data[e.valueField]) : String(r[e.valueField]);
|
|
956
956
|
return s.has(c);
|
|
957
957
|
}).map((r) => r.data ? r.data : r).sort((r, c) => {
|
|
958
|
-
const v = s.get(String(r[e.valueField])) || 0,
|
|
959
|
-
return v -
|
|
958
|
+
const v = s.get(String(r[e.valueField])) || 0, T = s.get(String(c[e.valueField])) || 0;
|
|
959
|
+
return v - T;
|
|
960
960
|
});
|
|
961
961
|
}
|
|
962
962
|
function C(i) {
|
|
@@ -977,14 +977,14 @@ function it(e) {
|
|
|
977
977
|
const s = l && l.length > 0;
|
|
978
978
|
return p.value && !s && (l = d(i)), l;
|
|
979
979
|
}
|
|
980
|
-
return
|
|
980
|
+
return V(() => e.data, () => {
|
|
981
981
|
u.value = e.data;
|
|
982
|
-
}),
|
|
982
|
+
}), V([u], ([i]) => {
|
|
983
983
|
if (e.modelValue) {
|
|
984
984
|
const l = i.find((s) => s[e.valueField] === e.modelValue);
|
|
985
985
|
l && (t.value = l[e.textField]);
|
|
986
986
|
}
|
|
987
|
-
}),
|
|
987
|
+
}), V(() => e.modelValue, (i, l) => {
|
|
988
988
|
i !== l && (o.value = i, C(i));
|
|
989
989
|
}), C(e.modelValue), { dataSource: u, displayText: t, editable: p, modelValue: o, getItemsByDisplayText: y, getItemsByValue: b, getSelectedItemsByDisplayText: m, flatTreeNodes: F };
|
|
990
990
|
}
|
|
@@ -999,8 +999,8 @@ function lt(e, t) {
|
|
|
999
999
|
function d(n, a) {
|
|
1000
1000
|
const r = (n.children || []).map((v) => d(v, a)).filter((v) => v !== null);
|
|
1001
1001
|
return p.value.some((v) => {
|
|
1002
|
-
var
|
|
1003
|
-
return (
|
|
1002
|
+
var T;
|
|
1003
|
+
return (T = n.data[v]) == null ? void 0 : T.toString().toLowerCase().includes(a.toLowerCase());
|
|
1004
1004
|
}) ? {
|
|
1005
1005
|
data: { ...n.data },
|
|
1006
1006
|
children: n.children,
|
|
@@ -1013,7 +1013,7 @@ function lt(e, t) {
|
|
|
1013
1013
|
} : null;
|
|
1014
1014
|
}
|
|
1015
1015
|
function m() {
|
|
1016
|
-
F.value =
|
|
1016
|
+
F.value = H(u.value);
|
|
1017
1017
|
}
|
|
1018
1018
|
function i(n) {
|
|
1019
1019
|
var r;
|
|
@@ -1026,7 +1026,7 @@ function lt(e, t) {
|
|
|
1026
1026
|
const c = [];
|
|
1027
1027
|
C(u.value, c), y(a, c);
|
|
1028
1028
|
}
|
|
1029
|
-
F.value =
|
|
1029
|
+
F.value = H(a);
|
|
1030
1030
|
}
|
|
1031
1031
|
const l = fe((n) => {
|
|
1032
1032
|
var r;
|
|
@@ -1048,62 +1048,63 @@ const L = /* @__PURE__ */ W({
|
|
|
1048
1048
|
props: te,
|
|
1049
1049
|
emits: ["clear", "update:modelValue", "change", "search"],
|
|
1050
1050
|
setup(e, t) {
|
|
1051
|
-
const o =
|
|
1051
|
+
const o = x(), u = x(e.disabled), p = x(e.enableClear), F = x(e.enableSearch), b = x(e.readonly), C = x(e.searchFields || [e.textField]), y = x(), d = x(), m = {}, {
|
|
1052
1052
|
dataSource: i,
|
|
1053
1053
|
displayText: l,
|
|
1054
1054
|
editable: s,
|
|
1055
1055
|
modelValue: n,
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1056
|
+
getSelectedItemsByDisplayText: a,
|
|
1057
|
+
flatTreeNodes: r
|
|
1058
|
+
} = it(e), c = $(() => e.multiSelect);
|
|
1059
|
+
$(() => o.value ? o.value.elementRef.getBoundingClientRect().width : 0);
|
|
1060
|
+
const v = $(() => {
|
|
1060
1061
|
var h;
|
|
1061
1062
|
const g = (h = o.value) == null ? void 0 : h.popoverRef;
|
|
1062
1063
|
return g ? g.shown : !1;
|
|
1063
1064
|
}), {
|
|
1064
|
-
onValueChange:
|
|
1065
|
-
resetDataSource:
|
|
1065
|
+
onValueChange: T,
|
|
1066
|
+
resetDataSource: D
|
|
1066
1067
|
} = lt({
|
|
1067
1068
|
comboEditorRef: o,
|
|
1068
1069
|
dataSource: i,
|
|
1069
1070
|
searchFields: C,
|
|
1070
1071
|
originalValue: y,
|
|
1071
|
-
showPopover:
|
|
1072
|
-
flatTreeNodes:
|
|
1072
|
+
showPopover: v,
|
|
1073
|
+
flatTreeNodes: r
|
|
1073
1074
|
}, e.idField);
|
|
1074
1075
|
function j() {
|
|
1075
|
-
!
|
|
1076
|
+
!c.value && o.value && o.value.hidePopup();
|
|
1076
1077
|
}
|
|
1077
|
-
const
|
|
1078
|
-
function
|
|
1079
|
-
if (!
|
|
1080
|
-
l.value =
|
|
1078
|
+
const S = (g) => e.displayFormatter ? e.displayFormatter(g) : g.map((h) => h[e.textField]).join(e.separator);
|
|
1079
|
+
function P(g = []) {
|
|
1080
|
+
if (!c.value)
|
|
1081
|
+
l.value = S(g), n.value = g.map((h) => h[e.valueField]).join(e.separator), t.emit("update:modelValue", n.value), t.emit("change", g, n.value);
|
|
1081
1082
|
else {
|
|
1082
|
-
const h = Object.keys(m),
|
|
1083
|
-
l.value =
|
|
1083
|
+
const h = Object.keys(m), w = Object.values(m);
|
|
1084
|
+
l.value = S(w), n.value = h.join(e.separator), t.emit("update:modelValue", n.value), t.emit("change", w, n.value);
|
|
1084
1085
|
}
|
|
1085
1086
|
j();
|
|
1086
1087
|
}
|
|
1087
1088
|
function k(g) {
|
|
1088
1089
|
var h;
|
|
1089
|
-
n.value = "",
|
|
1090
|
-
}
|
|
1091
|
-
function R(g) {
|
|
1092
|
-
r.value && (delete m[g.id], S());
|
|
1090
|
+
n.value = "", v.value && ((h = o.value) == null || h.hidePopup()), t.emit("update:modelValue", ""), t.emit("change", null, n.value), t.emit("clear");
|
|
1093
1091
|
}
|
|
1094
1092
|
function f(g) {
|
|
1095
|
-
|
|
1093
|
+
c.value && (delete m[g.id], P());
|
|
1094
|
+
}
|
|
1095
|
+
function O(g) {
|
|
1096
|
+
c.value && (m[g.id] = g.data, P());
|
|
1096
1097
|
}
|
|
1097
|
-
|
|
1098
|
-
u.value = g, s.value = h, p.value =
|
|
1098
|
+
V([() => e.disabled, () => e.editable, () => e.enableClear, () => e.enableSearch, () => e.readonly], ([g, h, w, M, E]) => {
|
|
1099
|
+
u.value = g, s.value = h, p.value = w, F.value = M, b.value = E;
|
|
1099
1100
|
});
|
|
1100
|
-
const
|
|
1101
|
-
if (y.value =
|
|
1101
|
+
const R = () => {
|
|
1102
|
+
if (y.value = H(i.value), c.value && n.value) {
|
|
1102
1103
|
const g = [];
|
|
1103
|
-
|
|
1104
|
+
r(i.value, g), n.value.split(e.separator).reduce((h, w) => (h[w] = g.find((M) => M.id === w), h), m);
|
|
1104
1105
|
}
|
|
1105
1106
|
};
|
|
1106
|
-
return () =>
|
|
1107
|
+
return () => I(de, {
|
|
1107
1108
|
ref: o,
|
|
1108
1109
|
id: e.id,
|
|
1109
1110
|
disable: u.value,
|
|
@@ -1121,14 +1122,14 @@ const L = /* @__PURE__ */ W({
|
|
|
1121
1122
|
modelValue: l.value,
|
|
1122
1123
|
"onUpdate:modelValue": (g) => l.value = g,
|
|
1123
1124
|
onClear: k,
|
|
1124
|
-
onInput:
|
|
1125
|
+
onInput: T,
|
|
1125
1126
|
focusOnCreated: e.focusOnCreated,
|
|
1126
1127
|
selectOnCreated: e.selectOnCreated,
|
|
1127
|
-
beforeOpen:
|
|
1128
|
+
beforeOpen: R,
|
|
1128
1129
|
placement: e.placement,
|
|
1129
1130
|
popupMinWidth: e.minPanelWidth
|
|
1130
1131
|
}, {
|
|
1131
|
-
default: () => [
|
|
1132
|
+
default: () => [v.value && I(at, {
|
|
1132
1133
|
ref: d,
|
|
1133
1134
|
maxHeight: e.maxHeight,
|
|
1134
1135
|
multiSelect: e.multiSelect,
|
|
@@ -1139,15 +1140,15 @@ const L = /* @__PURE__ */ W({
|
|
|
1139
1140
|
titleField: e.titleField,
|
|
1140
1141
|
data: y.value,
|
|
1141
1142
|
selectedValues: n.value,
|
|
1142
|
-
onSelectionChange:
|
|
1143
|
+
onSelectionChange: P,
|
|
1143
1144
|
formatter: e.formatter,
|
|
1144
1145
|
editorParams: e.editorParams,
|
|
1145
1146
|
repositoryToken: e.repositoryToken,
|
|
1146
1147
|
customRowStatus: e.customRowStatus,
|
|
1147
|
-
searchHandler:
|
|
1148
|
-
onUnSelectItem:
|
|
1149
|
-
onSelectItem:
|
|
1150
|
-
onClearSearch:
|
|
1148
|
+
searchHandler: T,
|
|
1149
|
+
onUnSelectItem: f,
|
|
1150
|
+
onSelectItem: O,
|
|
1151
|
+
onClearSearch: D
|
|
1151
1152
|
}, null)]
|
|
1152
1153
|
});
|
|
1153
1154
|
}
|
|
@@ -1155,12 +1156,12 @@ const L = /* @__PURE__ */ W({
|
|
|
1155
1156
|
L.register = (e, t, o, u) => {
|
|
1156
1157
|
e["combo-tree"] = L, t["combo-tree"] = rt;
|
|
1157
1158
|
};
|
|
1158
|
-
const
|
|
1159
|
+
const ht = pe(L);
|
|
1159
1160
|
export {
|
|
1160
1161
|
L as FComboTree,
|
|
1161
1162
|
nt as Placement,
|
|
1162
1163
|
tt as ViewType,
|
|
1163
1164
|
te as comboTreeProps,
|
|
1164
|
-
|
|
1165
|
+
ht as default,
|
|
1165
1166
|
rt as propsResolver
|
|
1166
1167
|
};
|