@farris/ui-vue 1.7.2-beta.1 → 1.7.2-beta.2
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/avatar/index.esm.js +155 -148
- package/components/avatar/index.umd.cjs +1 -1
- package/components/button-edit/index.esm.js +1 -1
- package/components/button-edit/index.umd.cjs +1 -1
- package/components/calendar/index.esm.js +226 -224
- package/components/calendar/index.umd.cjs +3 -3
- package/components/collection-property-editor/index.esm.js +225 -223
- package/components/collection-property-editor/index.umd.cjs +2 -2
- package/components/combo-list/index.esm.js +76 -71
- package/components/combo-list/index.umd.cjs +1 -1
- package/components/comment/index.esm.js +169 -167
- package/components/comment/index.umd.cjs +6 -6
- package/components/component/index.esm.js +3691 -3043
- package/components/component/index.umd.cjs +2 -2
- package/components/condition/index.esm.js +2015 -1352
- package/components/condition/index.umd.cjs +2 -2
- package/components/data-grid/index.esm.js +407 -430
- package/components/data-grid/index.umd.cjs +1 -1
- package/components/data-view/index.esm.js +3082 -3196
- package/components/data-view/index.umd.cjs +1 -1
- package/components/designer-canvas/index.esm.js +3364 -2713
- package/components/designer-canvas/index.umd.cjs +1 -1
- package/components/drawer/index.esm.js +66 -64
- package/components/drawer/index.umd.cjs +2 -2
- package/components/dynamic-form/index.esm.js +1176 -524
- package/components/dynamic-form/index.umd.cjs +1 -1
- package/components/dynamic-resolver/index.esm.js +182 -180
- package/components/dynamic-resolver/index.umd.cjs +2 -2
- package/components/dynamic-view/index.esm.js +531 -455
- package/components/dynamic-view/index.umd.cjs +1 -1
- package/components/events-editor/index.esm.js +2352 -1700
- package/components/events-editor/index.umd.cjs +3 -3
- package/components/expression-editor/index.esm.js +8 -3
- package/components/expression-editor/index.umd.cjs +2 -2
- package/components/filter-bar/index.esm.js +422 -413
- package/components/filter-bar/index.umd.cjs +2 -2
- package/components/filter-condition-editor/index.esm.js +8 -3
- package/components/filter-condition-editor/index.umd.cjs +1 -1
- package/components/image/index.esm.js +363 -354
- package/components/image/index.umd.cjs +2 -2
- package/components/language-textbox/index.esm.js +189 -187
- package/components/language-textbox/index.umd.cjs +2 -2
- package/components/list-view/index.esm.js +388 -389
- package/components/list-view/index.umd.cjs +5 -5
- package/components/mapping-editor/index.esm.js +1465 -1488
- package/components/mapping-editor/index.umd.cjs +1 -1
- package/components/number-range/index.esm.js +180 -173
- package/components/number-range/index.umd.cjs +1 -1
- package/components/order/index.esm.js +815 -811
- package/components/order/index.umd.cjs +5 -5
- package/components/property-panel/index.esm.js +429 -420
- package/components/property-panel/index.umd.cjs +3 -3
- package/components/query-solution/index.esm.js +4746 -4085
- package/components/query-solution/index.umd.cjs +7 -7
- package/components/schema-selector/index.esm.js +1401 -1402
- package/components/schema-selector/index.umd.cjs +5 -5
- package/components/section/index.esm.js +102 -100
- package/components/section/index.umd.cjs +2 -2
- package/components/sort-condition-editor/index.esm.js +8 -3
- package/components/sort-condition-editor/index.umd.cjs +1 -1
- package/components/transfer/index.esm.js +537 -538
- package/components/transfer/index.umd.cjs +5 -5
- package/components/tree-grid/index.esm.js +280 -283
- package/components/tree-grid/index.umd.cjs +1 -1
- package/components/tree-view/index.esm.js +200 -202
- package/components/tree-view/index.umd.cjs +1 -1
- package/components/uploader/index.esm.js +533 -519
- package/components/uploader/index.umd.cjs +2 -2
- package/designer/data-grid/index.esm.js +3806 -3905
- package/designer/data-grid/index.umd.cjs +9 -9
- package/designer/drawer/index.esm.js +188 -186
- package/designer/drawer/index.umd.cjs +2 -2
- package/designer/dynamic-form/index.esm.js +1562 -1073
- package/designer/dynamic-form/index.umd.cjs +2 -2
- package/designer/farris-designer.all.esm.js +9793 -8613
- package/designer/farris-designer.all.umd.cjs +8 -8
- package/designer/list-view/index.esm.js +564 -564
- package/designer/list-view/index.umd.cjs +6 -6
- package/designer/radio-group/index.esm.js +236 -229
- package/designer/radio-group/index.umd.cjs +1 -1
- package/designer/response-layout-editor/index.esm.js +178 -171
- package/designer/response-layout-editor/index.umd.cjs +1 -1
- package/designer/tabs/index.esm.js +3154 -2508
- package/designer/tabs/index.umd.cjs +2 -2
- package/designer/time-picker/index.esm.js +193 -186
- package/designer/time-picker/index.umd.cjs +1 -1
- package/designer/tree-grid/index.esm.js +444 -447
- package/designer/tree-grid/index.umd.cjs +1 -1
- package/farris.all.esm.js +60126 -59649
- package/farris.all.umd.cjs +30 -30
- package/index.css +1 -1
- package/package.json +1 -1
- package/types/components.d.ts +1 -1
- package/types/condition/src/composition/condition-value/dropdown-value.d.ts +4 -0
- package/types/data-grid/index.d.ts +2 -5
- package/types/data-grid/src/data-grid.component.d.ts +1 -2
- package/types/data-view/components/row/hierarchy-row.component.d.ts +2 -2
- package/types/data-view/composition/appearance/use-cell-position.d.ts +1 -1
- package/types/data-view/composition/types.d.ts +0 -4
- package/types/data-view/composition/visualization/use-virtual-scroll.d.ts +2 -2
- package/types/data-view/composition/visualization/use-visual-data-bound.d.ts +2 -3
- package/types/data-view/composition/visualization/use-visual-data-row.d.ts +1 -2
- package/types/designer-canvas/src/composition/dg-control.d.ts +24 -0
- package/types/dynamic-form/designer.d.ts +0 -1
- package/types/dynamic-form/index.d.ts +4 -3
- package/types/dynamic-form/src/designer/dynamic-form.design.component.d.ts +8 -0
- package/types/dynamic-form/src/designer/response-form.design.props.d.ts +14 -0
- package/types/dynamic-form/src/designer/use-dynamic-form-rules.d.ts +2 -0
- package/types/dynamic-form/src/dynamic-form.component.d.ts +8 -0
- package/types/dynamic-form/src/response-form.props.d.ts +13 -1
- package/types/dynamic-form/src/schema/response-form-schema-resolver.d.ts +1 -0
- package/types/dynamic-form/src/types.d.ts +1 -0
- package/types/dynamic-resolver/src/types.d.ts +1 -0
- package/types/dynamic-view/index.d.ts +43 -3
- package/types/dynamic-view/src/components/maps.d.ts +6 -6
- package/types/dynamic-view/src/composition/index.d.ts +5 -0
- package/types/dynamic-view/src/composition/use-utils.d.ts +12 -0
- package/types/dynamic-view/src/dynamic-view.component.d.ts +6 -6
- package/types/language-textbox/index.d.ts +3 -3
- package/types/language-textbox/src/components/language-contents.component.d.ts +1 -1
- package/types/language-textbox/src/language-textbox.component.d.ts +1 -1
- package/types/lookup/src/components/favorite/lookup-favorite.component.d.ts +1 -1
- package/types/lookup/src/components/popup-container.component.d.ts +3 -3
- package/types/property-panel/src/property-panel.component.d.ts +3 -3
- package/types/tree-grid/src/components/data/data-area.component.d.ts +2 -2
- package/types/tree-grid/src/tree-grid.props.d.ts +0 -1
- package/types/tree-view/src/components/data/tree-area.component.d.ts +1 -1
- package/types/tree-view/src/tree-view.props.d.ts +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(g,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("vue"),require("../button-edit/index.umd.js"),require("../locale/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","../button-edit/index.umd.js","../locale/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"],a):(g=typeof globalThis<"u"?globalThis:g||self,a(g["combo-list"]={},g.Vue,g.FButtonEdit,g.locale,g.dynamicResolver,g.LodashES,g.FListView,g.FButtonEditDesign,g.designerCanvas,g.common,g.propertyPanel))})(this,function(g,a,K,j,k,Q,X,Y,Z,R,D){"use strict";const $=new Map([["appearance",k.resolveAppearance]]),q={$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"},dataSource:{description:"",type:"string"},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:"string",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},beforeOpen:{description:"打卡面板前回调",type:"string"},onChange:{description:"值变化事件",type:"string",default:""},onInput:{description:"输入事件",type:"string",default:""},onClear:{description:"清空事件",type:"string",default:""}},required:["type"],ignore:["id","appearance","binding","visible"],events:{onClear:"清空事件",onChange:"值变化事件",beforeOpen:"打开下拉面板前事件"}};function N(e,t,l){return t}function ee(){function e(t,l,o){const d={};return d.beforeOpen=c=>l.call("beforeOpen",t,[c,t],o),d}return{resolve:e}}var G=(e=>(e.top="top",e.bottom="bottom",e.auto="auto",e))(G||{});const L={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},load:{type:Function},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0},minPanelWidth:{type:Number,default:160},popupOnClick:{type:Boolean,default:!0}},U=Object.assign({},L,{readonly:{}}),te=k.createPropsResolver(L,q,$,N),A=k.getPropsResolverGenerator(L,q,$,N),W=ee(),ie={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}},J=a.defineComponent({name:"FComboListContainer",props:ie,emits:["selectionChange"],setup(e,t){const l=a.ref(),o=a.ref(e.dataSource),d=a.ref([]),c=a.ref(e.separator),b=a.ref(e.width),x=a.ref(e.maxHeight),C=a.computed(()=>e.multiSelect),v=a.ref(e.multiSelect?String(e.selectedValues).split(c.value):[e.selectedValues]),F=a.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:C.value,showSelectAll:!1,showSelection:!0}));a.watch(e.dataSource,()=>{o.value=e.dataSource}),a.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const f=a.computed(()=>{const i={};return b.value!==void 0&&(i.width=`${b.value}px`),x.value!==void 0&&x.value>0&&(i.maxHeight=`${x.value}px`),i});function p(i){l.value.search(i)}function w(i){d.value=i.map(n=>Object.assign({},n)),v.value=i.map(n=>n[e.idField]),t.emit("selectionChange",d.value)}function V(i){if(e.enableHighlightSearch)return;let n=[];const{searchOption:u}=e;typeof u=="function"?n=o.value.filter(m=>u(i,m)):n=o.value.filter(m=>m[e.valueField].indexOf(i)>-1||m[e.textField].indexOf(i)>-1),l.value.updateDataSource(n)}a.watch([()=>e.selectedValues],([i])=>{e.multiSelect?v.value=i.split(c.value):v.value=[i]});function T(i){l.value.activeRowById(i)}return a.onMounted(()=>{var i,n;if(!e.multiSelect){const u=(i=v.value)==null?void 0:i[0];let m=u;const y=o.value.map(r=>r[e.valueField||e.idField]);if(!Q.isUndefined(u)&&y.includes(u)){const r=typeof u,s=typeof((n=o.value[0])==null?void 0:n[e.valueField||e.idField]);s==="number"&&r!==s&&(m=Number(u)),s==="boolean"&&r!==s&&(m=u==="true"?!0:u==="false"?!1:u),T(m)}}}),t.expose({search:p,activeRowById:T}),()=>a.createVNode("div",{class:"f-combo-list-container",style:f.value},[a.createVNode(X,{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:F.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:v.value,onSelectionUpdate:w,onAfterSearch:V},null)])}});function _(e,t){const l=a.ref(""),o=a.ref(e.modelValue),d=a.ref(e.data||[]),c=a.ref(e.editable);function b(i){const n=e.multiSelect?String(i).split(e.separator):[String(i)],u=n.map(r=>[r,!0]),m=new Map(u);return d.value.filter(r=>m.has(String(r[e.valueField]))).sort((r,s)=>{const I=n.indexOf(r[e.valueField]),B=n.indexOf(s[e.valueField]);return I-B})}function x(i){const n=b(i).map(u=>u[e.textField]).join(e.separator);l.value=c.value?n||i:n}function C(i){if(e.multiSelect){const n=i.split(e.separator).map(m=>[m,!0]),u=new Map(n);return d.value.filter(m=>u.has(m[e.textField]))}return d.value.filter(n=>""+n[e.textField]===i)}function v(i){const n={};return n[e.idField]=i,n[e.textField]=i,[n]}function F(i){let n=C(i);const u=n&&n.length>0;return c.value&&!u&&(n=v(i)),n}function f(){const{url:i,method:n="GET",headers:u={"Content-Type":"application/json;charset=utf-8;"},body:m=null}=e.remote;if(!i)return;const y=n.toLowerCase()==="get"?{method:n,headers:u}:{method:n,headers:u,body:m};let r=!1;fetch(new Request(i,y)).then(s=>{var B,M;if(s.status===200)return r=!!((M=(B=s.headers)==null?void 0:B.get("content-type"))!=null&&M.includes("application/json")),r?s.text():s.json();throw s.status===405?new Error(j.LocaleService.getLocaleValue("comboList.remoteError")):new Error(s.statusText)}).then(s=>{s.length&&(d.value=r?JSON.parse(s):s)}).catch(s=>{console.warn(s)})}e.remote&&(e.load?e.load().then(i=>{d.value=i}).catch(i=>{console.log(i)}):f()),a.watch(()=>e.data,()=>{d.value=e.data}),a.watch([d],([i],[n])=>{if(e.modelValue!=null&&!e.multiSelect){const u=i.find(m=>m[e.valueField]===o.value);u?u[e.valueField]!==o.value?(o.value=u[e.valueField],l.value=u[e.textField],t.emit("update:modelValue",u[e.valueField]),t.emit("change",[u],u[e.valueField])):l.value!==u[e.textField]&&(l.value=u[e.textField]):o.value!==""&&(o.value="",l.value="",t.emit("update:modelValue",""),t.emit("change",[],""))}}),a.watch(()=>e.modelValue,(i,n)=>{n!==i&&(o.value=i,x(i))});function p(i){d.value=i}function w(){return d.value}function V(){return l.value}function T(){const i=typeof e.beforeOpen=="function";return!e.beforeOpen||!i?Promise.resolve(!0):Promise.resolve().then(()=>e.beforeOpen({instance:{updateDataSource:p,getData:w,getDisplayText:V}})).then(n=>typeof(n==null?void 0:n.canOpen)=="boolean"?n==null?void 0:n.canOpen:!0)}return x(e.modelValue),{dataSource:d,displayText:l,editable:c,modelValue:o,beforeOpenList:T,getItemsByDisplayText:C,getItemsByValue:b,getSelectedItemsByDisplayText:F}}const E=a.defineComponent({name:"FComboList",props:L,emits:["clear","update:modelValue","change","input"],setup(e,t){const l=a.ref(),o=a.ref(),d=a.ref(e.disabled||e.readonly),c=a.ref(e.enableClear),b=a.ref(e.enableSearch),x=a.ref(e.readonly),{dataSource:C,displayText:v,editable:F,modelValue:f,getItemsByDisplayText:p,getItemsByValue:w,beforeOpenList:V}=_(e,t),T=a.ref(e.dropDownIcon);T.value==='<span class="f-icon f-icon-arrow-chevron-down"></span>'&&(T.value='<span id="'+e.id+'-icon-dropdown" class="f-icon f-icon-arrow-chevron-down"></span>');const i=a.computed(()=>e.multiSelect),n=a.computed(()=>o.value?o.value.elementRef.getBoundingClientRect().width:0);function u(){!i.value&&o.value&&o.value.hidePopup()}function m(h){v.value=h.map(P=>P[e.textField]).join(e.separator)||f.value;let S="";h.length===1?S=h[0][e.valueField]:S=h.map(P=>P[e.valueField]).join(e.separator),f.value!==S&&(f.value=S,t.emit("update:modelValue",f.value),t.emit("change",h,f.value))}function y(){const h=w(f.value);m(h)}function r(){x.value||v.value}function s(h){var S;f.value="",(S=l.value)==null||S.activeRowById(""),t.emit("clear")}function I(h){var S,P;e.enableSearch&&e.enableHighlightSearch&&((S=l.value)==null||S.search(h)),(P=l.value)==null||P.activeRowById(h),t.emit("change",[f.value],f.value)}function B(h){if(e.multiSelect){const S=p(h);e.viewType;const O=S.map(H=>H[e.idField||e.valueField]).join(e.separator);f.value!==O&&(f.value=O,t.emit("update:modelValue",f.value),t.emit("change",S,f.value))}else h!==f.value&&(f.value=h,t.emit("update:modelValue",f.value),t.emit("change",[],h))}function M(){return v.value}function de(h){const{value:S}=h.target;I(S),t.emit("input",S)}function re(){o.value.hidePopup()}function ue(h){C.value=h}function se(){return C.value}const ce={getDisplayText:M,hidePopup:re,updateDataSource:ue,getData:se};return t.expose(ce),a.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([h,S,P,O,H])=>{d.value=h,F.value=S,c.value=P,b.value=O,x.value=H}),()=>a.createVNode(K,{ref:o,id:e.id,disable:d.value,readonly:x.value,forcePlaceholder:e.forcePlaceholder,editable:F.value,buttonContent:T.value,placeholder:e.placeholder==="请选择"?j.LocaleService.getLocaleValue("comboList.placeholder"):e.placeholder,enableClear:c.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:v.value,"onUpdate:modelValue":h=>v.value=h,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:s,onClick:r,onChange:B,onBlur:y,onInput:de,beforeOpen:V,placement:e.placement,popupMinWidth:e.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:e.popupOnClick,limitContentBySpace:!0},{default:()=>[a.createVNode(J,{ref:l,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:C.value,selectedValues:f.value,separator:e.separator,multiSelect:e.multiSelect,enableSearch:b.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?n.value:void 0,onSelectionChange:h=>{m(h),u()}},null)]})}}),z={convertFrom:(e,t)=>(e.editor.remote||{})[t],convertTo:(e,t,l)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[t]=l}};class ne extends D.InputBaseProperty{constructor(t,l){super(t,l)}getCommonEditorProperties(t){var l,o,d;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)&&((d=t.editor)==null?void 0:d.viewType)==="text",description:"下拉列表启用多选且数据展示类型为文本时的分隔符",title:"分隔符",type:"enum",editor:{data:[{id:",",name:"逗号(,)"},{id:"#",name:"井号(#)"},{id:".",name:"句号(.)"},{id:"|",name:"竖线(|)"}]}},editable:{description:"",title:"允许编辑",type:"boolean",refreshPanelAfterChanged:!0,readonly:!0}}}getEditorProperties(t){var C,v,F,f,p,w,V,T,i,n,u,m;const l=this;let o="";if(((C=t==null?void 0:t.binding)==null?void 0:C.type)==="Form"){const y=this.schemaService.getFieldByIDAndVMID(t.binding.field,this.viewModelId);(v=y==null?void 0:y.schemaField)!=null&&v.type&&(o=y.schemaField.type.$type)}const d=this.getPropertyEditorParams(t,["Variable"]),c=!t.editor.dataSourceType||t.editor.dataSourceType==="static",b=((f=(F=this.designViewModelField)==null?void 0:F.type)==null?void 0:f.$type)===R.FormSchemaEntityFieldType$Type.StringType&&((p=t.editor)==null?void 0:p.type)==="combo-list"&&((w=t.editor)==null?void 0:w.dataSourceType)==="dynamic"&&!((T=(V=t.editor)==null?void 0:V.remote)!=null&&T.url)&&!((i=t.editor)!=null&&i.multiSelect);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},dataSource:{description:"动态数据源绑定变量",visible:b,title:"数据",editor:{...d,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:c,...l.getItemCollectionEditor(t,t.editor.valueField,t.editor.textField),refreshPanelAfterChanged:!0},url:{visible:t.editor.dataSourceType==="dynamic"&&!((n=t.editor)!=null&&n.dataSource),$converter:z,description:"",title:"服务端API",type:"string",refreshPanelAfterChanged:!0},body:{visible:!1,$converter:z,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",readonly:((u=t.editor)==null?void 0:u.dataSourceType)==="dynamic"&&!!((m=t.editor)!=null&&m.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(t)},(y,r)=>{if(!y||!r.editor)return;const s=this;switch(y.propertyID){case"dataSourceType":{y.propertyValue==="static"?(r.editor.valueField="value",r.editor.textField="name",r.editor.remote=null):y.propertyValue==="dynamic"&&(r.editor.remote={method:"GET"},r.editor.valueField="value",r.editor.textField="name");break}case"data":{!s.checkEnumDataReadonly(r)&&r.formatter&&(r.formatter.data=[...y.propertyValue]);break}case"viewType":{y.propertyValue==="tag"&&(r.editor.editable=!1);break}case"dataSource":s.afterMutilEditorChanged(r,y)}})}getGridFieldEdtiorProperties(t,l){var C,v,F,f,p,w,V,T,i,n,u,m,y;const o=this;let d="";if(((C=t==null?void 0:t.binding)==null?void 0:C.type)==="Form"){const r=this.schemaService.getFieldByIDAndVMID(t.binding.field,this.viewModelId);(v=r==null?void 0:r.schemaField)!=null&&v.type&&(d=r.schemaField.type.$type)}const c=((f=(F=this.designViewModelField)==null?void 0:F.type)==null?void 0:f.$type)===R.FormSchemaEntityFieldType$Type.StringType&&((p=t.editor)==null?void 0:p.type)==="combo-list"&&((w=t.editor)==null?void 0:w.dataSourceType)==="dynamic"&&!((V=t.editor)!=null&&V.multiSelect),b=this.getPropertyEditorParams(t,["Variable"]);return o.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},dataSource:{description:"动态数据源绑定变量",visible:c,title:"数据",editor:{...b,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!((T=t.editor)!=null&&T.dataSourceType)||((i=t.editor)==null?void 0:i.dataSourceType)==="static",...o.getItemCollectionEditor(t,(n=t.editor)==null?void 0:n.valueField,(u=t.editor)==null?void 0:u.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:d==="StringType",readonly:((m=t.editor)==null?void 0:m.dataSourceType)==="dynamic"&&!!((y=t.editor)!=null&&y.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(t)},(r,s)=>{if(!r||!s.editor)return;const I=this;switch(r.propertyID){case"dataSourceType":{r.propertyValue==="static"?(s.editor.valueField="value",s.editor.textField="name",s.editor.remote=null):r.propertyValue==="dynamic"&&(s.editor.remote={method:"GET"},s.editor.valueField="value",s.editor.textField="name");break}case"data":{!I.checkEnumDataReadonly(s)&&s.formatter&&(s.formatter.data=[...r.propertyValue]);break}case"dataSource":I.afterMutilEditorChanged(s,r)}})}setEditorPropertyRelates(t,l,o){if(!t||!l.editor)return;const d=this;switch(t.propertyID){case"dataSourceType":{t.propertyValue==="static"&&(l.editor.valueField="value",l.editor.textField="name",l.editor.remote={});break}case"data":{!d.checkEnumDataReadonly(l)&&l.formatter&&(l.formatter.data=[...t.propertyValue]);break}}}changeBindingField(t,l,o){var c;super.changeBindingField(t,l);const d=o;t.editor&&((c=d==null?void 0:d.type)==null?void 0:c.$type)===R.FormSchemaEntityFieldType$Type.EnumType&&(t.editor.data=d.type.enumValues||[])}getEventPropertyConfig(t,l="card",o,d){const c=this;let b=[{label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"下拉面板前事件"}];o&&(b=b.concat(o)),this.appendFieldValueChangeEvents(t,b);const x=c.eventsEditorUtils.formProperties(t,c.viewModelId,b);return{title:"事件",hideTitle:!0,properties:c.createBaseEventProperty(x),tabId:"commands",tabName:"交互",setPropertyRelates(F,f){const p=F.propertyValue;delete t[c.viewModelId],p&&(p.setPropertyRelates=this.setPropertyRelates,c.eventsEditorUtils.saveRelatedParameters(t,c.viewModelId,p.events,p)),d&&d(F,f,p);const w=c.designViewModelUtils.getDgViewModel(c.viewModelId);w&&c.designViewModelField&&w.changeField(c.designViewModelField.id,{valueChanging:t.fieldValueChanging,valueChanged:t.fieldValueChanged}),t.editor.beforeOpen!==t.beforeOpen&&(t.editor.beforeOpen=t.beforeOpen),t.editor.onChange!==t.onChange&&(t.editor.onChange=t.onChange),t.editor.onClear!==t.onClear&&(t.editor.onClear=t.onClear)}}}}function le(e,t){const l=e.schema;function o(d,c){return new ne(d,t).getPropertyConfig(l,c)}return{getPropsConfig:o}}const ae=a.defineComponent({name:"FComboListDesign",props:U,emits:["clear","update:modelValue","change"],setup(e,t){const l=a.ref(),o=a.inject("designer-host-service"),d=a.inject("design-item-context"),c=le(d,o),b=Z.useDesignerComponent(l,d,c);return a.onMounted(()=>{l.value.componentInstance=b}),t.expose(b.value),()=>a.createVNode(Y,{ref:l,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}});E.register=(e,t,l,o,d)=>{e["combo-list"]=E,t["combo-list"]=A(d),o["combo-list"]={callbackResolver:W}},E.registerDesigner=(e,t,l,o)=>{e["combo-list"]=ae,t["combo-list"]=A(o)};const oe=R.withInstall(E);g.FComboList=E,g.FComboListContainer=J,g.Placement=G,g.callbackResolver=W,g.comboListDesignProps=U,g.comboListProps=L,g.default=oe,g.propsResolver=te,g.propsResolverGenerator=A,g.useDataSource=_,Object.defineProperties(g,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(g,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("vue"),require("../button-edit/index.umd.js"),require("../locale/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","../button-edit/index.umd.js","../locale/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"],a):(g=typeof globalThis<"u"?globalThis:g||self,a(g["combo-list"]={},g.Vue,g.FButtonEdit,g.locale,g.dynamicResolver,g.LodashES,g.FListView,g.FButtonEditDesign,g.designerCanvas,g.common,g.propertyPanel))})(this,function(g,a,K,j,k,Q,X,Y,Z,R,D){"use strict";const $=new Map([["appearance",k.resolveAppearance]]),q={$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"},dataSource:{description:"",type:"string"},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:"string",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},beforeOpen:{description:"打卡面板前回调",type:"string"},onChange:{description:"值变化事件",type:"string",default:""},onInput:{description:"输入事件",type:"string",default:""},onClear:{description:"清空事件",type:"string",default:""},onDataChanged:{description:"清空事件",type:"string",default:""}},required:["type"],ignore:["id","appearance","binding","visible"],events:{onClear:"清空事件",onChange:"值变化事件",beforeOpen:"打开下拉面板前事件"}};function N(e,t,l){return t}function ee(){function e(t,l,o){const d={};return d.beforeOpen=c=>l.call("beforeOpen",t,[c,t],o),d}return{resolve:e}}var G=(e=>(e.top="top",e.bottom="bottom",e.auto="auto",e))(G||{});const L={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},load:{type:Function},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0},minPanelWidth:{type:Number,default:160},popupOnClick:{type:Boolean,default:!0}},U=Object.assign({},L,{readonly:{}}),te=k.createPropsResolver(L,q,$,N),A=k.getPropsResolverGenerator(L,q,$,N),W=ee(),ie={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}},J=a.defineComponent({name:"FComboListContainer",props:ie,emits:["selectionChange"],setup(e,t){const l=a.ref(),o=a.ref(e.dataSource),d=a.ref([]),c=a.ref(e.separator),b=a.ref(e.width),x=a.ref(e.maxHeight),C=a.computed(()=>e.multiSelect),v=a.ref(e.multiSelect?String(e.selectedValues).split(c.value):[e.selectedValues]),F=a.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:C.value,showSelectAll:!1,showSelection:!0}));a.watch(e.dataSource,()=>{o.value=e.dataSource}),a.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const f=a.computed(()=>{const i={};return b.value!==void 0&&(i.width=`${b.value}px`),x.value!==void 0&&x.value>0&&(i.maxHeight=`${x.value}px`),i});function p(i){l.value.search(i)}function T(i){d.value=i.map(n=>Object.assign({},n)),v.value=i.map(n=>n[e.idField]),t.emit("selectionChange",d.value)}function w(i){if(e.enableHighlightSearch)return;let n=[];const{searchOption:u}=e;typeof u=="function"?n=o.value.filter(m=>u(i,m)):n=o.value.filter(m=>m[e.valueField].indexOf(i)>-1||m[e.textField].indexOf(i)>-1),l.value.updateDataSource(n)}a.watch([()=>e.selectedValues],([i])=>{e.multiSelect?v.value=i.split(c.value):v.value=[i]});function V(i){l.value.activeRowById(i)}return a.onMounted(()=>{var i,n;if(!e.multiSelect){const u=(i=v.value)==null?void 0:i[0];let m=u;const y=o.value.map(r=>r[e.valueField||e.idField]);if(!Q.isUndefined(u)&&y.includes(u)){const r=typeof u,s=typeof((n=o.value[0])==null?void 0:n[e.valueField||e.idField]);s==="number"&&r!==s&&(m=Number(u)),s==="boolean"&&r!==s&&(m=u==="true"?!0:u==="false"?!1:u),V(m)}}}),t.expose({search:p,activeRowById:V}),()=>a.createVNode("div",{class:"f-combo-list-container",style:f.value},[a.createVNode(X,{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:F.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:v.value,onSelectionUpdate:T,onAfterSearch:w},null)])}});function _(e,t){const l=a.ref(""),o=a.ref(e.modelValue),d=a.ref(e.data||[]),c=a.ref(e.editable);function b(i){const n=e.multiSelect?String(i).split(e.separator):[String(i)],u=n.map(r=>[r,!0]),m=new Map(u);return d.value.filter(r=>m.has(String(r[e.valueField]))).sort((r,s)=>{const I=n.indexOf(r[e.valueField]),B=n.indexOf(s[e.valueField]);return I-B})}function x(i){const n=b(i).map(u=>u[e.textField]).join(e.separator);l.value=c.value?n||i:n}function C(i){if(e.multiSelect){const n=i.split(e.separator).map(m=>[m,!0]),u=new Map(n);return d.value.filter(m=>u.has(m[e.textField]))}return d.value.filter(n=>""+n[e.textField]===i)}function v(i){const n={};return n[e.idField]=i,n[e.textField]=i,[n]}function F(i){let n=C(i);const u=n&&n.length>0;return c.value&&!u&&(n=v(i)),n}function f(){const{url:i,method:n="GET",headers:u={"Content-Type":"application/json;charset=utf-8;"},body:m=null}=e.remote;if(!i)return;const y=n.toLowerCase()==="get"?{method:n,headers:u}:{method:n,headers:u,body:m};let r=!1;fetch(new Request(i,y)).then(s=>{var B,M;if(s.status===200)return r=!!((M=(B=s.headers)==null?void 0:B.get("content-type"))!=null&&M.includes("application/json")),r?s.text():s.json();throw s.status===405?new Error(j.LocaleService.getLocaleValue("comboList.remoteError")):new Error(s.statusText)}).then(s=>{s.length&&(d.value=r?JSON.parse(s):s)}).catch(s=>{console.warn(s)})}e.remote&&(e.load?e.load().then(i=>{d.value=i}).catch(i=>{console.log(i)}):f()),a.watch(()=>e.data,()=>{d.value=e.data}),a.watch([d],([i],[n])=>{if(e.modelValue!=null&&!e.multiSelect){const u=i.find(m=>m[e.valueField]===o.value);u?u[e.valueField]!==o.value?(o.value=u[e.valueField],l.value=u[e.textField],t.emit("update:modelValue",u[e.valueField]),t.emit("change",[u],u[e.valueField])):l.value!==u[e.textField]&&(l.value=u[e.textField]):o.value!==""&&(o.value="",l.value="",t.emit("update:modelValue",""),t.emit("change",[],""))}}),a.watch(()=>e.modelValue,(i,n)=>{n!==i&&(o.value=i,x(i))});function p(i){d.value=i,t.emit("dataChanged",i)}function T(){return d.value}function w(){return l.value}function V(){const i=typeof e.beforeOpen=="function";return!e.beforeOpen||!i?Promise.resolve(!0):Promise.resolve().then(()=>e.beforeOpen({instance:{updateDataSource:p,getData:T,getDisplayText:w}})).then(n=>typeof(n==null?void 0:n.canOpen)=="boolean"?n==null?void 0:n.canOpen:!0)}return x(e.modelValue),{dataSource:d,displayText:l,editable:c,modelValue:o,beforeOpenList:V,getItemsByDisplayText:C,getItemsByValue:b,getSelectedItemsByDisplayText:F}}const E=a.defineComponent({name:"FComboList",props:L,emits:["clear","update:modelValue","change","input","dataChanged"],setup(e,t){const l=a.ref(),o=a.ref(),d=a.ref(e.disabled||e.readonly),c=a.ref(e.enableClear),b=a.ref(e.enableSearch),x=a.ref(e.readonly),{dataSource:C,displayText:v,editable:F,modelValue:f,getItemsByDisplayText:p,getItemsByValue:T,beforeOpenList:w}=_(e,t),V=a.ref(e.dropDownIcon);V.value==='<span class="f-icon f-icon-arrow-chevron-down"></span>'&&(V.value='<span id="'+e.id+'-icon-dropdown" class="f-icon f-icon-arrow-chevron-down"></span>');const i=a.computed(()=>e.multiSelect),n=a.computed(()=>o.value?o.value.elementRef.getBoundingClientRect().width:0);function u(){!i.value&&o.value&&o.value.hidePopup()}function m(h){v.value=h.map(P=>P[e.textField]).join(e.separator)||f.value;let S="";h.length===1?S=h[0][e.valueField]:S=h.map(P=>P[e.valueField]).join(e.separator),f.value!==S&&(f.value=S,t.emit("update:modelValue",f.value),t.emit("change",h,f.value))}function y(){const h=T(f.value);m(h)}function r(){x.value||v.value}function s(h){var S;f.value="",(S=l.value)==null||S.activeRowById(""),t.emit("clear")}function I(h){var S,P;e.enableSearch&&e.enableHighlightSearch&&((S=l.value)==null||S.search(h)),(P=l.value)==null||P.activeRowById(h),t.emit("change",[f.value],f.value)}function B(h){if(e.multiSelect){const S=p(h);e.viewType;const O=S.map(H=>H[e.idField||e.valueField]).join(e.separator);f.value!==O&&(f.value=O,t.emit("update:modelValue",f.value),t.emit("change",S,f.value))}else h!==f.value&&(f.value=h,t.emit("update:modelValue",f.value),t.emit("change",[],h))}function M(){return v.value}function de(h){const{value:S}=h.target;I(S),t.emit("input",S)}function re(){o.value.hidePopup()}function ue(h){C.value=h}function se(){return C.value}const ce={getDisplayText:M,hidePopup:re,updateDataSource:ue,getData:se};return t.expose(ce),a.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([h,S,P,O,H])=>{d.value=h,F.value=S,c.value=P,b.value=O,x.value=H}),()=>a.createVNode(K,{ref:o,id:e.id,disable:d.value,readonly:x.value,forcePlaceholder:e.forcePlaceholder,editable:F.value,buttonContent:V.value,placeholder:e.placeholder==="请选择"?j.LocaleService.getLocaleValue("comboList.placeholder"):e.placeholder,enableClear:c.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:v.value,"onUpdate:modelValue":h=>v.value=h,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:s,onClick:r,onChange:B,onBlur:y,onInput:de,beforeOpen:w,placement:e.placement,popupMinWidth:e.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:e.popupOnClick,limitContentBySpace:!0},{default:()=>[a.createVNode(J,{ref:l,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:C.value,selectedValues:f.value,separator:e.separator,multiSelect:e.multiSelect,enableSearch:b.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?n.value:void 0,onSelectionChange:h=>{m(h),u()}},null)]})}}),z={convertFrom:(e,t)=>(e.editor.remote||{})[t],convertTo:(e,t,l)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[t]=l}};class ne extends D.InputBaseProperty{constructor(t,l){super(t,l)}getCommonEditorProperties(t){var l,o,d;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)&&((d=t.editor)==null?void 0:d.viewType)==="text",description:"下拉列表启用多选且数据展示类型为文本时的分隔符",title:"分隔符",type:"enum",editor:{data:[{id:",",name:"逗号(,)"},{id:"#",name:"井号(#)"},{id:".",name:"句号(.)"},{id:"|",name:"竖线(|)"}]}},editable:{description:"",title:"允许编辑",type:"boolean",refreshPanelAfterChanged:!0,readonly:!0}}}getEditorProperties(t){var C,v,F,f,p,T,w,V,i,n,u,m;const l=this;let o="";if(((C=t==null?void 0:t.binding)==null?void 0:C.type)==="Form"){const y=this.schemaService.getFieldByIDAndVMID(t.binding.field,this.viewModelId);(v=y==null?void 0:y.schemaField)!=null&&v.type&&(o=y.schemaField.type.$type)}const d=this.getPropertyEditorParams(t,["Variable"]),c=!t.editor.dataSourceType||t.editor.dataSourceType==="static",b=((f=(F=this.designViewModelField)==null?void 0:F.type)==null?void 0:f.$type)===R.FormSchemaEntityFieldType$Type.StringType&&((p=t.editor)==null?void 0:p.type)==="combo-list"&&((T=t.editor)==null?void 0:T.dataSourceType)==="dynamic"&&!((V=(w=t.editor)==null?void 0:w.remote)!=null&&V.url)&&!((i=t.editor)!=null&&i.multiSelect);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},dataSource:{description:"动态数据源绑定变量",visible:b,title:"数据",editor:{...d,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:c,...l.getItemCollectionEditor(t,t.editor.valueField,t.editor.textField),refreshPanelAfterChanged:!0},url:{visible:t.editor.dataSourceType==="dynamic"&&!((n=t.editor)!=null&&n.dataSource),$converter:z,description:"",title:"服务端API",type:"string",refreshPanelAfterChanged:!0},body:{visible:!1,$converter:z,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",readonly:((u=t.editor)==null?void 0:u.dataSourceType)==="dynamic"&&!!((m=t.editor)!=null&&m.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(t)},(y,r)=>{if(!y||!r.editor)return;const s=this;switch(y.propertyID){case"dataSourceType":{y.propertyValue==="static"?(r.editor.valueField="value",r.editor.textField="name",r.editor.remote=null):y.propertyValue==="dynamic"&&(r.editor.remote={method:"GET"},r.editor.valueField="value",r.editor.textField="name");break}case"data":{!s.checkEnumDataReadonly(r)&&r.formatter&&(r.formatter.data=[...y.propertyValue]);break}case"viewType":{y.propertyValue==="tag"&&(r.editor.editable=!1);break}case"dataSource":s.afterMutilEditorChanged(r,y)}})}getGridFieldEdtiorProperties(t,l){var C,v,F,f,p,T,w,V,i,n,u,m,y;const o=this;let d="";if(((C=t==null?void 0:t.binding)==null?void 0:C.type)==="Form"){const r=this.schemaService.getFieldByIDAndVMID(t.binding.field,this.viewModelId);(v=r==null?void 0:r.schemaField)!=null&&v.type&&(d=r.schemaField.type.$type)}const c=((f=(F=this.designViewModelField)==null?void 0:F.type)==null?void 0:f.$type)===R.FormSchemaEntityFieldType$Type.StringType&&((p=t.editor)==null?void 0:p.type)==="combo-list"&&((T=t.editor)==null?void 0:T.dataSourceType)==="dynamic"&&!((w=t.editor)!=null&&w.multiSelect),b=this.getPropertyEditorParams(t,["Variable"]);return o.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},dataSource:{description:"动态数据源绑定变量",visible:c,title:"数据",editor:{...b,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!((V=t.editor)!=null&&V.dataSourceType)||((i=t.editor)==null?void 0:i.dataSourceType)==="static",...o.getItemCollectionEditor(t,(n=t.editor)==null?void 0:n.valueField,(u=t.editor)==null?void 0:u.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:d==="StringType",readonly:((m=t.editor)==null?void 0:m.dataSourceType)==="dynamic"&&!!((y=t.editor)!=null&&y.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(t)},(r,s)=>{if(!r||!s.editor)return;const I=this;switch(r.propertyID){case"dataSourceType":{r.propertyValue==="static"?(s.editor.valueField="value",s.editor.textField="name",s.editor.remote=null):r.propertyValue==="dynamic"&&(s.editor.remote={method:"GET"},s.editor.valueField="value",s.editor.textField="name");break}case"data":{!I.checkEnumDataReadonly(s)&&s.formatter&&(s.formatter.data=[...r.propertyValue]);break}case"dataSource":I.afterMutilEditorChanged(s,r)}})}setEditorPropertyRelates(t,l,o){if(!t||!l.editor)return;const d=this;switch(t.propertyID){case"dataSourceType":{t.propertyValue==="static"&&(l.editor.valueField="value",l.editor.textField="name",l.editor.remote={});break}case"data":{!d.checkEnumDataReadonly(l)&&l.formatter&&(l.formatter.data=[...t.propertyValue]);break}}}changeBindingField(t,l,o){var c;super.changeBindingField(t,l);const d=o;t.editor&&((c=d==null?void 0:d.type)==null?void 0:c.$type)===R.FormSchemaEntityFieldType$Type.EnumType&&(t.editor.data=d.type.enumValues||[])}getEventPropertyConfig(t,l="card",o,d){const c=this;let b=[{label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"下拉面板前事件"}];o&&(b=b.concat(o)),this.appendFieldValueChangeEvents(t,b);const x=c.eventsEditorUtils.formProperties(t,c.viewModelId,b);return{title:"事件",hideTitle:!0,properties:c.createBaseEventProperty(x),tabId:"commands",tabName:"交互",setPropertyRelates(F,f){const p=F.propertyValue;delete t[c.viewModelId],p&&(p.setPropertyRelates=this.setPropertyRelates,c.eventsEditorUtils.saveRelatedParameters(t,c.viewModelId,p.events,p)),d&&d(F,f,p);const T=c.designViewModelUtils.getDgViewModel(c.viewModelId);T&&c.designViewModelField&&T.changeField(c.designViewModelField.id,{valueChanging:t.fieldValueChanging,valueChanged:t.fieldValueChanged}),t.editor.beforeOpen!==t.beforeOpen&&(t.editor.beforeOpen=t.beforeOpen),t.editor.onChange!==t.onChange&&(t.editor.onChange=t.onChange),t.editor.onClear!==t.onClear&&(t.editor.onClear=t.onClear)}}}}function le(e,t){const l=e.schema;function o(d,c){return new ne(d,t).getPropertyConfig(l,c)}return{getPropsConfig:o}}const ae=a.defineComponent({name:"FComboListDesign",props:U,emits:["clear","update:modelValue","change"],setup(e,t){const l=a.ref(),o=a.inject("designer-host-service"),d=a.inject("design-item-context"),c=le(d,o),b=Z.useDesignerComponent(l,d,c);return a.onMounted(()=>{l.value.componentInstance=b}),t.expose(b.value),()=>a.createVNode(Y,{ref:l,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}});E.register=(e,t,l,o,d)=>{e["combo-list"]=E,t["combo-list"]=A(d),o["combo-list"]={callbackResolver:W}},E.registerDesigner=(e,t,l,o)=>{e["combo-list"]=ae,t["combo-list"]=A(o)};const oe=R.withInstall(E);g.FComboList=E,g.FComboListContainer=J,g.Placement=G,g.callbackResolver=W,g.comboListDesignProps=U,g.comboListProps=L,g.default=oe,g.propsResolver=te,g.propsResolverGenerator=A,g.useDataSource=_,Object.defineProperties(g,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|