@farris/ui-vue 1.8.5-beta.12 → 1.8.5-beta.13

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.
@@ -2026,9 +2026,9 @@ const $e = /* @__PURE__ */ ee({
2026
2026
  te(() => {
2027
2027
  a.value.componentInstance = f;
2028
2028
  }), n.expose(f.value);
2029
- const h = O(l, n, t, e, p, s, o, e, i, !0), g = $(l, n, t, e, p, s, h, o, e, i, !0), y = q(l, n, h, !0), C = Q(l, n, g, !0), x = (v) => {
2029
+ const h = O(l, n, t, e, p, s, o, e, i, !0), g = $(l, n, t, e, p, s, h, o, e, i, !0), y = q(l, n, h), C = Q(l, n, g, !0), x = (v) => {
2030
2030
  n.emit("endValueChange", v);
2031
- }, F = O(l, n, r, i, p, s, x, e, i, !1), E = $(l, n, r, i, p, s, F, x, e, i, !1), I = q(l, n, F, !1), M = Q(l, n, E, !1), T = k(() => l.showButton);
2031
+ }, F = O(l, n, r, i, p, s, x, e, i, !1), E = $(l, n, r, i, p, s, F, x, e, i, !1), I = q(l, n, F), M = Q(l, n, E, !1), T = k(() => l.showButton);
2032
2032
  return () => V("div", {
2033
2033
  ref: a,
2034
2034
  class: "input-group number-range f-cmp-number-spinner"
@@ -3,4 +3,4 @@
3
3
  <span style="color: blue;">
4
4
  自定义提示内容
5
5
  </span>
6
- `])])]);class ae extends re{constructor(e,t){super(e,t);b(this,"responseLayoutEditorFunction");b(this,"bindingVarible");b(this,"formGroupEvents",[{label:"fieldValueChanging",name:"绑定字段值变化前事件"},{label:"fieldValueChanged",name:"绑定字段值变化后事件"},{label:"onClickLabel",name:"标签点击事件"}]);b(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});b(this,"showCustomValue",e=>{var i;const t=this.designViewModelField!=null&&((i=this.designViewModelField)==null?void 0:i.type.name)!=="Boolean";return this.formRule?e.dataType!=="boolean":t});this.responseLayoutEditorFunction=le(this.formSchemaUtils)}getCommonPropertyConfig(e,t,i="Card"){if(this.propertyConfig.categories.basic=this.getBasicProperties(e,t,i),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,t),this.propertyConfig.categories.behavior=this.getBehaviorConfig(e,"form-group"),i==="Card"){const o=this.getTipsConfig(e);this.propertyConfig.categories.behavior.properties={...this.propertyConfig.categories.behavior.properties,...o},["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","language-textbox"].includes(e.editor.type)&&(this.propertyConfig.categories.expansion=this.getExpandProperties(e,i))}}getPropertyConfig(e,t){return this.getCommonPropertyConfig(e,t,"Card"),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressions=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories.eventsEditor=this.getEventPropertyConfig(e),this.propertyConfig}getGridFieldEdtiorPropConfig(e,t){return this.propertyConfig.categories={},this.getCommonPropertyConfig(e,t,"Grid"),this.getGridFieldEdtiorProperties?this.propertyConfig.categories.editor=this.getGridFieldEdtiorProperties(e):this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressons=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories}getBasicProperties(e,t,i="Card"){var u;const o=this;this.setDesignViewModelField(e);const{canChangeControlType:r,editorTypeList:p}=this.getAvailableEditorType(e),l=this.getPropertyEditorParams(e,["Variable"],"label",{},{newVariablePrefix:"",newVariableType:"String"});let a=p;this.formRule&&(a=p.filter(f=>f.key!=="image"&&f.key!=="rich-text-editor"&&f.key!=="avatar"));const c={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",$converter:"/converter/change-editor.converter",parentPropertyID:"editor",editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",editable:!1,data:a,readonly:!r}},titleSourceType:{description:"标签来源类型",title:"标签类型",type:"string",refreshPanelAfterChanged:!0,editor:{type:"combo-list",textField:"name",valueField:"id",idField:"id",editable:!1,data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},defaultValue:"static"},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter",visible:!e.titleSourceType||e.titleSourceType==="static"},titleDataSource:{description:"标签",title:"标签",type:"string",editor:l,visible:e.titleSourceType==="dynamic"},showLabelType:{description:"标签显示方式:1、显示:显示标签 2、占位:保留标签空间,但不显示文本 3、不显示:不显示标签",title:"标签显示",type:"enum",editor:{data:[{id:"visible",name:"显示"},{id:"reserve-space",name:"占位"},{id:"none",name:"不显示"}]},defaultValue:((u=e.editor)==null?void 0:u.type)==="image"?"none":"visible"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!0},title:"绑定编辑器",editorParams:{componentSchema:e,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0,readonly:this.formSchemaUtils.designerMode==="PC_RTC"&&!e.isRtcControl}},setPropertyRelates(f,h,y){if(f)switch(f&&f.propertyID){case"type":{o.changeControlType(e,f,t);break}case"label":{f.needRefreshControlTree=!0;break}case"binding":{o.changeBindingField(e,f,y);break}case"titleDataSource":{o.afterMutilEditorChanged(e,f);break}}}};return i.toLocaleLowerCase()!=="card"&&(c.hide=!0,delete c.properties.showLabelType),c}getExpandProperties(e,t="Card"){const i=this,o=["Const","Variable"],r=this.getPropertyEditorParams(e,o,"expandable"),p=this.getPropertyEditorParams(e,o,"expandDisabled");return t==="Card"?{description:"Expand Information",hide:!!this.formRule,title:"扩展区域",properties:{expandable:{description:"扩展区域是指输入框右侧的区域,常用于展示自定义按钮或者文本,以便于丰富输入控件的展示内容。",title:"启用扩展区域",refreshPanelAfterChanged:!0,$converter:"/converter/property-editor.converter",editor:r},expandMode:{description:"静态文本:扩展内容不可点击;交互式按钮:扩展内容可以点击并配置交互事件。",title:"扩展模式",type:"enum",refreshPanelAfterChanged:!0,$converter:"/converter/property-editor.converter",editor:{data:[{id:"text",name:"静态文本"},{id:"button",name:"交互按钮"}]},defaultValue:"text",visible:!!e.editor.expandable},expandContent:{$converter:"/converter/property-editor.converter",description:"扩展区域内展示的文本内容",title:"扩展内容",type:"string",visible:!!e.editor.expandable,editor:{type:"code-editor",language:"html"}},expandDisabled:{$converter:"/converter/property-editor.converter",description:"是否动态隐藏扩展区域,常用于根据变量或自定义条件配置扩展区域的隐藏状态。",title:"隐藏扩展区域",editor:p,visible:!!e.editor.expandable}},setPropertyRelates(a,c){if(a)switch(a.propertyID){case"expandable":case"expandDisabled":i.afterMutilEditorChanged(e,a);break}}}:{properties:{}}}checkCanChangeControlType(e,t){if(!e.binding)return!1;if(e.binding.type==="Variable"){if(this.bindingVarible=this.formSchemaUtils.getVariableById(e.binding.field),!this.bindingVarible)return!1}else if(!this.designViewModelField||this.designViewModelField.$type!==T.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(e){var o,r,p;const t=this.checkCanChangeControlType(e,this.viewModelId);if(!t)return{canChangeControlType:!1,editorTypeList:[{key:(o=e.editor)==null?void 0:o.type,value:((r=d.DgControl[e.editor.type])==null?void 0:r.name)||e.editor.type}]};let i=[];return this.designViewModelField&&this.designViewModelField.$type===T.FormSchemaEntityField$Type.SimpleField?i=$.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(i=$.getEditorTypesByMDataType(this.bindingVarible.type,!!((p=this.designViewModelField)!=null&&p.multiLanguage))),{canChangeControlType:t,editorTypeList:i}}changeBindingField(e,t,i){t.needRefreshEntityTree=!0}getAppearanceProperties(e,t){const i=this;return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的内联样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},fill:{title:"填充宽度",description:"启用后,控件占满父容器宽度",type:"boolean",parentPropertyID:"appearance",defaultValue:!1},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!i.formRule,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",beforeOpen:()=>i.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,i.componentId)}}},setPropertyRelates(o,r){if(o)switch(o&&o.propertyID){case"responseLayout":i.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(o.propertyValue,i.componentId||e.id),i.updateUnifiedLayoutAfterResponseLayoutChanged(i.componentId),i.updateElementByParentContainer(e.id,t),delete e.responseLayout;break;case"class":i.updateUnifiedLayoutAfterControlChanged(o.propertyValue,e.id,this.componentId),d.canvasChanged.value++;break;case"style":{d.canvasChanged.value++;break}}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,t,i){var y;const o=t.propertyValue,r=i&&i.parent&&i.parent.schema;if(!r)return;const p=r.contents.findIndex(m=>m.id===e.id);if(p===-1)return;const l=r.contents[p];let a;if(this.designViewModelField){const V=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(v=>v.id===this.designViewModelField.id).fieldSchema||{};V.editor||(V.editor={}),V.editor.$type=o,this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,V,!1),a=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,o)}a||(a=this.controlCreatorUtils.createFormGroupWithoutField(o)),Object.assign(a,{id:l.id,appearance:l.appearance,size:l.size,label:l.label,binding:l.binding}),Object.prototype.hasOwnProperty.call(l,"visible")&&Object.assign(a,{visible:l.visible}),l.editor&&["readonly","required","placeholder"].map(m=>{Object.prototype.hasOwnProperty.call(l.editor,m)&&(a.editor[m]=l.editor[m])});const c=["image","avatar"],u=l.editor.type&&c.indexOf(l.editor.type)>-1,f=((y=a.editor)==null?void 0:y.type)&&c.indexOf(a.editor.type)>-1;u&&l.showLabelType==="none"&&!f&&(a.showLabelType="visible"),i!=null&&i.updateContextSchema?i.updateContextSchema(a):(i.schema=Object.assign(l,a),Object.assign(e,a)),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(m=>m.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(m=>m.classList.remove("dgComponentFocused")),["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","textarea","rich-text-editor","language-textbox"].includes(e.editor.type)||(e.enableTips=!1),d.canvasChanged.value++,g.nextTick(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}getTipsConfig(e){return["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","textarea","rich-text-editor","language-textbox"].includes(e.editor.type)?{enableTips:{refreshPanelAfterChanged:!0,description:"",title:"启用提示",type:"boolean",default:!1,visible:!this.formRule},tipsContent:{description:"提示内容",title:"提示内容",type:"string",editor:{type:"code-editor",language:"html",leftTemplate:se},visible:!!e.enableTips&&!this.formRule}}:{}}getComponentConfig(e,t={},i={},o){var f,h,y;const r=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter",parentPropertyID:"editor"},t),p=(f=e.binding)!=null&&f.field?["Const","Variable","StateMachine","Custom","Expression"]:["Const","Variable","StateMachine","Custom"],l=this.getPropertyEditorParams(e,p,"readonly"),a=this.getPropertyEditorParams(e,p,"required"),c={readonly:{description:"",title:"只读",editor:l},required:{description:"",title:"必填",type:"boolean",editor:a,visible:!!((h=e.binding)!=null&&h.field)&&((y=e.binding)==null?void 0:y.type)==="Form"},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}};for(const m in i)c[m]=Object.assign(c[m]||{},i[m]);const u=this;return{...r,properties:{...c},setPropertyRelates(m,C){if(m){switch(m.propertyID){case"readonly":case"required":case"label":u.afterMutilEditorChanged(e,m);break}o&&o.bind(u)(m,e,C)}}}}updateUnifiedLayoutAfterControlChanged(e,t,i){const o=e.split(" ");let r=o.find(u=>/^col-([1-9]|10|11|12)$/.test(u)),p=o.find(u=>/^col-md-([1-9]|10|11|12)$/.test(u)),l=o.find(u=>/^col-xl-([1-9]|10|11|12)$/.test(u)),a=o.find(u=>/^col-el-([1-9]|10|11|12)$/.test(u));r=r||"col-12",p=p||"col-md-"+r.replace("col-",""),l=l||"col-xl-"+p.replace("col-md-",""),a=a||"col-el-"+l.replace("col-xl-","");const c={id:t,columnInSM:parseInt(r.replace("col-",""),10),columnInMD:parseInt(p.replace("col-md-",""),10),columnInLG:parseInt(l.replace("col-xl-",""),10),columnInEL:parseInt(a.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(i,c)}updateUnifiedLayoutAfterResponseLayoutChanged(e,t){const{formNode:i}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!i||!i.unifiedLayout)return;const o=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(i,o,1),t){const y=o.find(m=>m.id===t.id);Object.assign(y||{},t)}const r=o.map(y=>y.columnInSM),p=o.map(y=>y.columnInMD),l=o.map(y=>y.columnInLG),a=o.map(y=>y.columnInEL),c=this.checkIsUniqueColumn(r)?r[0]:null,u=this.checkIsUniqueColumn(p)?p[0]:null,f=this.checkIsUniqueColumn(l)?l[0]:null,h=this.checkIsUniqueColumn(a)?a[0]:null;Object.assign(i.unifiedLayout,{uniqueColClassInSM:c,uniqueColClassInMD:u,uniqueColClassInLG:f,uniqueColClassInEL:h})}checkIsUniqueColumn(e){const t=new Set(e);return Array.from(t).length===1}getItemCollectionEditor(e,t,i){return t=t||"value",i=i||"name",{editor:{columns:[{field:t,title:"值",dataType:"string"},{field:i,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:t,nameField:i,requiredFields:[t,i],uniqueFields:[t,i],readonly:this.checkEnumDataReadonly(e)}}}checkEnumDataReadonly(e){return!e.binding||e.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===T.FormSchemaEntityFieldType$Type.EnumType)}appendFieldValueChangeEvents(e,t){e.binding&&e.binding.type===L.Form&&e.binding.field?(t.find(i=>i.label==="fieldValueChanging"),t.find(i=>i.label==="fieldValueChanged"),this.designViewModelField&&(e.fieldValueChanging=this.designViewModelField.valueChanging,e.fieldValueChanged=this.designViewModelField.valueChanged)):t=t.filter(i=>i.label!=="fieldValueChanging"&&i.label!=="fieldValueChanged")}getControlMethodType(e){if(!e.binding)return e.type;switch(e.binding.type){case L.Form:return e.binding.path||e.type;case L.Variable:return e.binding.fullPath||e.type}return e.type}updateLinkedLabel(e,t){if(e.boundEventsList&&e.boundEventsList.length>0){const i=e.boundEventsList.find(o=>o.boundEvents&&o.boundEvents.label==="onClickLabel");t.linkLabel=!!i}else t.linkLabel=!1}getInputCommonEvents(e){return!e.binding||e.binding.type===L.Variable?[{label:"onClickLabel",name:"标签点击事件"}]:this.formRule?[{label:"onClickLabel",name:"标签点击事件"}]:[...this.formGroupEvents]}getEventPropertyConfig(e,t="card",i,o){const r=this;let p=this.getInputCommonEvents(e);if(["time-picker","date-picker","lookup","combo-list","number-spinner","input-group"].includes(e.editor.type)&&p.push({label:"onClear",name:"清空事件"}),i&&(p=p.concat(i)),p.length===0)return{title:"事件",hideTitle:!0,properties:{},tabId:T.EVENT_PROPERTY_TAB_IDS,tabName:"交互",hide:!0};this.appendFieldValueChangeEvents(e,p);const a=r.eventsEditorUtils.formProperties(e,r.viewModelId,p);return{title:"事件",hideTitle:!0,properties:r.createBaseEventProperty(a),tabId:T.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(f,h){const y=f.propertyValue;delete e[r.viewModelId],y&&(y.setPropertyRelates=this.setPropertyRelates,y.controlInfo={type:r.getControlMethodType(e),name:e.title},r.eventsEditorUtils.saveRelatedParameters(e,r.viewModelId,y.events,y),r.updateLinkedLabel(y,e)),o&&o(f,e,y);const m=r.designViewModelUtils.getDgViewModel(r.viewModelId);m&&r.designViewModelField&&m.changeField(r.designViewModelField.id,{valueChanging:e.fieldValueChanging||"",valueChanged:e.fieldValueChanged||""})}}}getExpressionConfig(e,t,i=["compute","dependency","validate"],o){return this.expressionProperty.getExpressionConfig(e,t,i,o)}getBindingDataType(e){return this.formRule?(e==null?void 0:e.dataType)||"string":this.designViewModelField?this.designViewModelField.type.name==="Number"?"number":this.designViewModelField.type.name==="String"?"string":"boolean":"boolean"}getEditor(e){return this.getBindingDataType(e)==="number"?this.numberEditorOptions:{}}updatePropertyValue(e,t,i){var o;e.editor[t]!==i?e.editor[t]=i:(o=this.getFormDesignerInstance())==null||o.reloadPropertyPanel()}setBooleanValue(e,t,i){let o=i;this.getBindingDataType()==="string"&&(o=(o||"").trim()||(t==="trueValue"?"true":"false"));const p=t==="trueValue"?"falseValue":"trueValue";e.editor[p]===o&&(o=o+1),this.updatePropertyValue(e,t,o)}getBooleanValueConverter(){return{convertFrom:(e,t)=>e.editor[t],convertTo:(e,t,i)=>{this.setBooleanValue(e,t,i)}}}}class de extends ae{constructor(n,e){super(n,e)}getEditorProperties(n){return this.getComponentConfig(n,{type:"number-range"},{editable:{description:"",title:"允许编辑",type:"boolean"}})}}function ue(s,n){const e=s.schema;function t(i,o){return new de(i,n).getPropertyConfig(e,o)}return{getPropsConfig:t}}const ce=g.defineComponent({name:"FNumberRangeDesign",props:U,emits:["valueChange","blur","focus","click","input","beginValueChange","endValueChange"],setup(s,n){const e=g.ref(s.beginValue),t=g.ref(""),i=g.ref(s.endValue),o=g.ref(""),r=W(s),p=z(s,n,r),l=x=>{n.emit("beginValueChange",x)},a=g.ref(),c=g.inject("designer-host-service"),u=g.inject("design-item-context"),f=ue(u,c),h=d.useDesignerComponent(a,u,f);g.onMounted(()=>{a.value.componentInstance=h}),n.expose(h.value);const y=O(s,n,t,e,p,r,l,e,i,!0),m=j(s,n,t,e,p,r,y,l,e,i,!0),C=q(s,n,y,!0),V=Z(s,n,m,!0),w=x=>{n.emit("endValueChange",x)},v=O(s,n,o,i,p,r,w,e,i,!1),S=j(s,n,o,i,p,r,v,w,e,i,!1),k=q(s,n,v,!1),M=Z(s,n,S,!1),N=g.computed(()=>s.showButton);return()=>g.createVNode("div",{ref:a,class:"input-group number-range f-cmp-number-spinner"},[g.createVNode("div",{class:"form-control input-container"},[g.createVNode("div",{class:"sub-input-group"},[V(),N.value&&C()]),g.createVNode("span",{class:"spliter"},[g.createTextVNode("~")]),g.createVNode("div",{class:"sub-input-group"},[M(),N.value&&k()])])])}});R.register=(s,n,e,t)=>{s["number-range"]=R,n["number-range"]=G},R.registerDesigner=(s,n,e)=>{s["number-range"]=ce,n["number-range"]=G};const pe=T.withInstall(R);E.FNumberRange=R,E.default=pe,E.numberRangeEmits=_,E.numberRangeProps=U,E.propsResolver=G,Object.defineProperties(E,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
6
+ `])])]);class ae extends re{constructor(e,t){super(e,t);b(this,"responseLayoutEditorFunction");b(this,"bindingVarible");b(this,"formGroupEvents",[{label:"fieldValueChanging",name:"绑定字段值变化前事件"},{label:"fieldValueChanged",name:"绑定字段值变化后事件"},{label:"onClickLabel",name:"标签点击事件"}]);b(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});b(this,"showCustomValue",e=>{var i;const t=this.designViewModelField!=null&&((i=this.designViewModelField)==null?void 0:i.type.name)!=="Boolean";return this.formRule?e.dataType!=="boolean":t});this.responseLayoutEditorFunction=le(this.formSchemaUtils)}getCommonPropertyConfig(e,t,i="Card"){if(this.propertyConfig.categories.basic=this.getBasicProperties(e,t,i),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,t),this.propertyConfig.categories.behavior=this.getBehaviorConfig(e,"form-group"),i==="Card"){const o=this.getTipsConfig(e);this.propertyConfig.categories.behavior.properties={...this.propertyConfig.categories.behavior.properties,...o},["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","language-textbox"].includes(e.editor.type)&&(this.propertyConfig.categories.expansion=this.getExpandProperties(e,i))}}getPropertyConfig(e,t){return this.getCommonPropertyConfig(e,t,"Card"),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressions=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories.eventsEditor=this.getEventPropertyConfig(e),this.propertyConfig}getGridFieldEdtiorPropConfig(e,t){return this.propertyConfig.categories={},this.getCommonPropertyConfig(e,t,"Grid"),this.getGridFieldEdtiorProperties?this.propertyConfig.categories.editor=this.getGridFieldEdtiorProperties(e):this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressons=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories}getBasicProperties(e,t,i="Card"){var u;const o=this;this.setDesignViewModelField(e);const{canChangeControlType:r,editorTypeList:p}=this.getAvailableEditorType(e),l=this.getPropertyEditorParams(e,["Variable"],"label",{},{newVariablePrefix:"",newVariableType:"String"});let a=p;this.formRule&&(a=p.filter(f=>f.key!=="image"&&f.key!=="rich-text-editor"&&f.key!=="avatar"));const c={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",$converter:"/converter/change-editor.converter",parentPropertyID:"editor",editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",editable:!1,data:a,readonly:!r}},titleSourceType:{description:"标签来源类型",title:"标签类型",type:"string",refreshPanelAfterChanged:!0,editor:{type:"combo-list",textField:"name",valueField:"id",idField:"id",editable:!1,data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},defaultValue:"static"},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter",visible:!e.titleSourceType||e.titleSourceType==="static"},titleDataSource:{description:"标签",title:"标签",type:"string",editor:l,visible:e.titleSourceType==="dynamic"},showLabelType:{description:"标签显示方式:1、显示:显示标签 2、占位:保留标签空间,但不显示文本 3、不显示:不显示标签",title:"标签显示",type:"enum",editor:{data:[{id:"visible",name:"显示"},{id:"reserve-space",name:"占位"},{id:"none",name:"不显示"}]},defaultValue:((u=e.editor)==null?void 0:u.type)==="image"?"none":"visible"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!0},title:"绑定编辑器",editorParams:{componentSchema:e,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0,readonly:this.formSchemaUtils.designerMode==="PC_RTC"&&!e.isRtcControl}},setPropertyRelates(f,h,y){if(f)switch(f&&f.propertyID){case"type":{o.changeControlType(e,f,t);break}case"label":{f.needRefreshControlTree=!0;break}case"binding":{o.changeBindingField(e,f,y);break}case"titleDataSource":{o.afterMutilEditorChanged(e,f);break}}}};return i.toLocaleLowerCase()!=="card"&&(c.hide=!0,delete c.properties.showLabelType),c}getExpandProperties(e,t="Card"){const i=this,o=["Const","Variable"],r=this.getPropertyEditorParams(e,o,"expandable"),p=this.getPropertyEditorParams(e,o,"expandDisabled");return t==="Card"?{description:"Expand Information",hide:!!this.formRule,title:"扩展区域",properties:{expandable:{description:"扩展区域是指输入框右侧的区域,常用于展示自定义按钮或者文本,以便于丰富输入控件的展示内容。",title:"启用扩展区域",refreshPanelAfterChanged:!0,$converter:"/converter/property-editor.converter",editor:r},expandMode:{description:"静态文本:扩展内容不可点击;交互式按钮:扩展内容可以点击并配置交互事件。",title:"扩展模式",type:"enum",refreshPanelAfterChanged:!0,$converter:"/converter/property-editor.converter",editor:{data:[{id:"text",name:"静态文本"},{id:"button",name:"交互按钮"}]},defaultValue:"text",visible:!!e.editor.expandable},expandContent:{$converter:"/converter/property-editor.converter",description:"扩展区域内展示的文本内容",title:"扩展内容",type:"string",visible:!!e.editor.expandable,editor:{type:"code-editor",language:"html"}},expandDisabled:{$converter:"/converter/property-editor.converter",description:"是否动态隐藏扩展区域,常用于根据变量或自定义条件配置扩展区域的隐藏状态。",title:"隐藏扩展区域",editor:p,visible:!!e.editor.expandable}},setPropertyRelates(a,c){if(a)switch(a.propertyID){case"expandable":case"expandDisabled":i.afterMutilEditorChanged(e,a);break}}}:{properties:{}}}checkCanChangeControlType(e,t){if(!e.binding)return!1;if(e.binding.type==="Variable"){if(this.bindingVarible=this.formSchemaUtils.getVariableById(e.binding.field),!this.bindingVarible)return!1}else if(!this.designViewModelField||this.designViewModelField.$type!==T.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(e){var o,r,p;const t=this.checkCanChangeControlType(e,this.viewModelId);if(!t)return{canChangeControlType:!1,editorTypeList:[{key:(o=e.editor)==null?void 0:o.type,value:((r=d.DgControl[e.editor.type])==null?void 0:r.name)||e.editor.type}]};let i=[];return this.designViewModelField&&this.designViewModelField.$type===T.FormSchemaEntityField$Type.SimpleField?i=$.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(i=$.getEditorTypesByMDataType(this.bindingVarible.type,!!((p=this.designViewModelField)!=null&&p.multiLanguage))),{canChangeControlType:t,editorTypeList:i}}changeBindingField(e,t,i){t.needRefreshEntityTree=!0}getAppearanceProperties(e,t){const i=this;return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的内联样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},fill:{title:"填充宽度",description:"启用后,控件占满父容器宽度",type:"boolean",parentPropertyID:"appearance",defaultValue:!1},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!i.formRule,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",beforeOpen:()=>i.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,i.componentId)}}},setPropertyRelates(o,r){if(o)switch(o&&o.propertyID){case"responseLayout":i.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(o.propertyValue,i.componentId||e.id),i.updateUnifiedLayoutAfterResponseLayoutChanged(i.componentId),i.updateElementByParentContainer(e.id,t),delete e.responseLayout;break;case"class":i.updateUnifiedLayoutAfterControlChanged(o.propertyValue,e.id,this.componentId),d.canvasChanged.value++;break;case"style":{d.canvasChanged.value++;break}}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,t,i){var y;const o=t.propertyValue,r=i&&i.parent&&i.parent.schema;if(!r)return;const p=r.contents.findIndex(m=>m.id===e.id);if(p===-1)return;const l=r.contents[p];let a;if(this.designViewModelField){const V=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(v=>v.id===this.designViewModelField.id).fieldSchema||{};V.editor||(V.editor={}),V.editor.$type=o,this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,V,!1),a=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,o)}a||(a=this.controlCreatorUtils.createFormGroupWithoutField(o)),Object.assign(a,{id:l.id,appearance:l.appearance,size:l.size,label:l.label,binding:l.binding}),Object.prototype.hasOwnProperty.call(l,"visible")&&Object.assign(a,{visible:l.visible}),l.editor&&["readonly","required","placeholder"].map(m=>{Object.prototype.hasOwnProperty.call(l.editor,m)&&(a.editor[m]=l.editor[m])});const c=["image","avatar"],u=l.editor.type&&c.indexOf(l.editor.type)>-1,f=((y=a.editor)==null?void 0:y.type)&&c.indexOf(a.editor.type)>-1;u&&l.showLabelType==="none"&&!f&&(a.showLabelType="visible"),i!=null&&i.updateContextSchema?i.updateContextSchema(a):(i.schema=Object.assign(l,a),Object.assign(e,a)),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(m=>m.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(m=>m.classList.remove("dgComponentFocused")),["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","textarea","rich-text-editor","language-textbox"].includes(e.editor.type)||(e.enableTips=!1),d.canvasChanged.value++,g.nextTick(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}getTipsConfig(e){return["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","textarea","rich-text-editor","language-textbox"].includes(e.editor.type)?{enableTips:{refreshPanelAfterChanged:!0,description:"",title:"启用提示",type:"boolean",default:!1,visible:!this.formRule},tipsContent:{description:"提示内容",title:"提示内容",type:"string",editor:{type:"code-editor",language:"html",leftTemplate:se},visible:!!e.enableTips&&!this.formRule}}:{}}getComponentConfig(e,t={},i={},o){var f,h,y;const r=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter",parentPropertyID:"editor"},t),p=(f=e.binding)!=null&&f.field?["Const","Variable","StateMachine","Custom","Expression"]:["Const","Variable","StateMachine","Custom"],l=this.getPropertyEditorParams(e,p,"readonly"),a=this.getPropertyEditorParams(e,p,"required"),c={readonly:{description:"",title:"只读",editor:l},required:{description:"",title:"必填",type:"boolean",editor:a,visible:!!((h=e.binding)!=null&&h.field)&&((y=e.binding)==null?void 0:y.type)==="Form"},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}};for(const m in i)c[m]=Object.assign(c[m]||{},i[m]);const u=this;return{...r,properties:{...c},setPropertyRelates(m,C){if(m){switch(m.propertyID){case"readonly":case"required":case"label":u.afterMutilEditorChanged(e,m);break}o&&o.bind(u)(m,e,C)}}}}updateUnifiedLayoutAfterControlChanged(e,t,i){const o=e.split(" ");let r=o.find(u=>/^col-([1-9]|10|11|12)$/.test(u)),p=o.find(u=>/^col-md-([1-9]|10|11|12)$/.test(u)),l=o.find(u=>/^col-xl-([1-9]|10|11|12)$/.test(u)),a=o.find(u=>/^col-el-([1-9]|10|11|12)$/.test(u));r=r||"col-12",p=p||"col-md-"+r.replace("col-",""),l=l||"col-xl-"+p.replace("col-md-",""),a=a||"col-el-"+l.replace("col-xl-","");const c={id:t,columnInSM:parseInt(r.replace("col-",""),10),columnInMD:parseInt(p.replace("col-md-",""),10),columnInLG:parseInt(l.replace("col-xl-",""),10),columnInEL:parseInt(a.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(i,c)}updateUnifiedLayoutAfterResponseLayoutChanged(e,t){const{formNode:i}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!i||!i.unifiedLayout)return;const o=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(i,o,1),t){const y=o.find(m=>m.id===t.id);Object.assign(y||{},t)}const r=o.map(y=>y.columnInSM),p=o.map(y=>y.columnInMD),l=o.map(y=>y.columnInLG),a=o.map(y=>y.columnInEL),c=this.checkIsUniqueColumn(r)?r[0]:null,u=this.checkIsUniqueColumn(p)?p[0]:null,f=this.checkIsUniqueColumn(l)?l[0]:null,h=this.checkIsUniqueColumn(a)?a[0]:null;Object.assign(i.unifiedLayout,{uniqueColClassInSM:c,uniqueColClassInMD:u,uniqueColClassInLG:f,uniqueColClassInEL:h})}checkIsUniqueColumn(e){const t=new Set(e);return Array.from(t).length===1}getItemCollectionEditor(e,t,i){return t=t||"value",i=i||"name",{editor:{columns:[{field:t,title:"值",dataType:"string"},{field:i,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:t,nameField:i,requiredFields:[t,i],uniqueFields:[t,i],readonly:this.checkEnumDataReadonly(e)}}}checkEnumDataReadonly(e){return!e.binding||e.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===T.FormSchemaEntityFieldType$Type.EnumType)}appendFieldValueChangeEvents(e,t){e.binding&&e.binding.type===L.Form&&e.binding.field?(t.find(i=>i.label==="fieldValueChanging"),t.find(i=>i.label==="fieldValueChanged"),this.designViewModelField&&(e.fieldValueChanging=this.designViewModelField.valueChanging,e.fieldValueChanged=this.designViewModelField.valueChanged)):t=t.filter(i=>i.label!=="fieldValueChanging"&&i.label!=="fieldValueChanged")}getControlMethodType(e){if(!e.binding)return e.type;switch(e.binding.type){case L.Form:return e.binding.path||e.type;case L.Variable:return e.binding.fullPath||e.type}return e.type}updateLinkedLabel(e,t){if(e.boundEventsList&&e.boundEventsList.length>0){const i=e.boundEventsList.find(o=>o.boundEvents&&o.boundEvents.label==="onClickLabel");t.linkLabel=!!i}else t.linkLabel=!1}getInputCommonEvents(e){return!e.binding||e.binding.type===L.Variable?[{label:"onClickLabel",name:"标签点击事件"}]:this.formRule?[{label:"onClickLabel",name:"标签点击事件"}]:[...this.formGroupEvents]}getEventPropertyConfig(e,t="card",i,o){const r=this;let p=this.getInputCommonEvents(e);if(["time-picker","date-picker","lookup","combo-list","number-spinner","input-group"].includes(e.editor.type)&&p.push({label:"onClear",name:"清空事件"}),i&&(p=p.concat(i)),p.length===0)return{title:"事件",hideTitle:!0,properties:{},tabId:T.EVENT_PROPERTY_TAB_IDS,tabName:"交互",hide:!0};this.appendFieldValueChangeEvents(e,p);const a=r.eventsEditorUtils.formProperties(e,r.viewModelId,p);return{title:"事件",hideTitle:!0,properties:r.createBaseEventProperty(a),tabId:T.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(f,h){const y=f.propertyValue;delete e[r.viewModelId],y&&(y.setPropertyRelates=this.setPropertyRelates,y.controlInfo={type:r.getControlMethodType(e),name:e.title},r.eventsEditorUtils.saveRelatedParameters(e,r.viewModelId,y.events,y),r.updateLinkedLabel(y,e)),o&&o(f,e,y);const m=r.designViewModelUtils.getDgViewModel(r.viewModelId);m&&r.designViewModelField&&m.changeField(r.designViewModelField.id,{valueChanging:e.fieldValueChanging||"",valueChanged:e.fieldValueChanged||""})}}}getExpressionConfig(e,t,i=["compute","dependency","validate"],o){return this.expressionProperty.getExpressionConfig(e,t,i,o)}getBindingDataType(e){return this.formRule?(e==null?void 0:e.dataType)||"string":this.designViewModelField?this.designViewModelField.type.name==="Number"?"number":this.designViewModelField.type.name==="String"?"string":"boolean":"boolean"}getEditor(e){return this.getBindingDataType(e)==="number"?this.numberEditorOptions:{}}updatePropertyValue(e,t,i){var o;e.editor[t]!==i?e.editor[t]=i:(o=this.getFormDesignerInstance())==null||o.reloadPropertyPanel()}setBooleanValue(e,t,i){let o=i;this.getBindingDataType()==="string"&&(o=(o||"").trim()||(t==="trueValue"?"true":"false"));const p=t==="trueValue"?"falseValue":"trueValue";e.editor[p]===o&&(o=o+1),this.updatePropertyValue(e,t,o)}getBooleanValueConverter(){return{convertFrom:(e,t)=>e.editor[t],convertTo:(e,t,i)=>{this.setBooleanValue(e,t,i)}}}}class de extends ae{constructor(n,e){super(n,e)}getEditorProperties(n){return this.getComponentConfig(n,{type:"number-range"},{editable:{description:"",title:"允许编辑",type:"boolean"}})}}function ue(s,n){const e=s.schema;function t(i,o){return new de(i,n).getPropertyConfig(e,o)}return{getPropsConfig:t}}const ce=g.defineComponent({name:"FNumberRangeDesign",props:U,emits:["valueChange","blur","focus","click","input","beginValueChange","endValueChange"],setup(s,n){const e=g.ref(s.beginValue),t=g.ref(""),i=g.ref(s.endValue),o=g.ref(""),r=W(s),p=z(s,n,r),l=x=>{n.emit("beginValueChange",x)},a=g.ref(),c=g.inject("designer-host-service"),u=g.inject("design-item-context"),f=ue(u,c),h=d.useDesignerComponent(a,u,f);g.onMounted(()=>{a.value.componentInstance=h}),n.expose(h.value);const y=O(s,n,t,e,p,r,l,e,i,!0),m=j(s,n,t,e,p,r,y,l,e,i,!0),C=q(s,n,y),V=Z(s,n,m,!0),w=x=>{n.emit("endValueChange",x)},v=O(s,n,o,i,p,r,w,e,i,!1),S=j(s,n,o,i,p,r,v,w,e,i,!1),k=q(s,n,v),M=Z(s,n,S,!1),N=g.computed(()=>s.showButton);return()=>g.createVNode("div",{ref:a,class:"input-group number-range f-cmp-number-spinner"},[g.createVNode("div",{class:"form-control input-container"},[g.createVNode("div",{class:"sub-input-group"},[V(),N.value&&C()]),g.createVNode("span",{class:"spliter"},[g.createTextVNode("~")]),g.createVNode("div",{class:"sub-input-group"},[M(),N.value&&k()])])])}});R.register=(s,n,e,t)=>{s["number-range"]=R,n["number-range"]=G},R.registerDesigner=(s,n,e)=>{s["number-range"]=ce,n["number-range"]=G};const pe=T.withInstall(R);E.FNumberRange=R,E.default=pe,E.numberRangeEmits=_,E.numberRangeProps=U,E.propsResolver=G,Object.defineProperties(E,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1328,10 +1328,9 @@ const Oe = /* @__PURE__ */ q({
1328
1328
  "btn-lg": n.size === "large",
1329
1329
  "btn-md": n.size !== "large" && n.size !== "small",
1330
1330
  "btn-sm": n.size === "small",
1331
- "btn-icontext": c.value,
1332
- [`btn-${n.type}`]: !0
1331
+ "btn-icontext": c.value
1333
1332
  };
1334
- if (n.customClass)
1333
+ if (n.type && (h[`btn-${n.type}`] = !0), n.customClass)
1335
1334
  if (typeof n.customClass == "string")
1336
1335
  ee(h, n.customClass);
1337
1336
  else {
@@ -15,4 +15,4 @@
15
15
  `,b.children[0].style.cssText="padding: 0 0 0 14px",b.children[0].children[0].style.cssText=`
16
16
  margin: 10px 0px 10px 14px;
17
17
  overflow: hidden;text-overflow: ellipsis;white-space: nowrap;
18
- `,b.children[1].style.cssText="flex:1 1 auto; width:100%",b.children[2].style.cssText="padding: 0 14px 0 0",b.children[2].children[0].style.cssText="display: initial",document.body.appendChild(b),b}function M(y,w,A){if(y.stopPropagation(),p(),w){if(S=T(y.target),y.dataTransfer){const b=new Image;b.src="",y.dataTransfer.setDragImage(b,0,0)}N=y.pageX,k=y.pageY,setTimeout(()=>{h.value=A,C.value=!0,w.moving=!0})}}function q(y,w){if(y.preventDefault(),h.value!==w&&h.value!==-1){const A=s.value[h.value],b=a.value[h.value];A&&b&&(s.value.splice(h.value,1),s.value.splice(w,0,A),a.value.splice(h.value,1),a.value.splice(w,0,b),a.value.forEach((P,O)=>{P.index=O,P.raw.__fv_index__=O}),h.value=w,B(y.pageX,y.pageY))}}function E(y){y.preventDefault(),y.dataTransfer&&(y.dataTransfer.dropEffect="move"),B(y.pageX,y.pageY),I(y)}function _(y,w){var b,P;V(),i=null,w&&(w.moving=!1,S&&(document.body.removeChild(S),S=null)),s.value.forEach((O,j)=>{O.__fv_index__=j}),a.value.forEach((O,j)=>{O.index=j,O.raw&&(O.raw.__fv_index__=j)}),C.value=!1,x();const A=((b=w.raw)==null?void 0:b.__fv_index__)??0;v.value=A,F.value=A,g.value=(P=w.raw)==null?void 0:P[u.value],n.emit("change",s.value),n.emit("activeChange",[w.raw])}return{dragstart:M,dragenter:q,dragover:E,dragend:_,isDragging:C}}function qe(e,n,l,d,a,u){var _,y;const s=t.ref(e.idField),h=t.ref(e.disableField),C=t.ref(e.draggable);t.ref(e.itemClass);const F=t.ref(((_=e.selection)==null?void 0:_.multiSelect)??!1),g=t.ref(((y=e.selection)==null?void 0:y.multiSelectMode)||"DependOnCheck"),{isDragging:v}=d,{activeIndex:x,focusedItemId:p,hoverIndex:S}=a,{clearSelection:N,getSelectedItems:k,toggleSelectItem:i,currentSelectedDataId:o,multiSelectOnlyOnCheck:c}=u,f=t.ref(k()),r=w=>f.value.length===0?!1:f.value.some(A=>{let b="";return A.data?b=A.data[s.value]:b=A[s.value],b===w});function m(){f.value=k()}function V(w,A){return w.raw[s.value]!=null?w.raw[s.value]+"_"+A:""}function I(w,A){const b={"f-list-view-group-item":!0,"f-list-view-draggable-item":C.value,"f-un-click":!w.checked,"f-un-select":!!w.raw[h.value],"f-listview-active":F.value&&r(V(w,A))&&e.showActiveWhenMultiSelect||!F.value&&w.raw[s.value]===o.value||F.value&&!e.showActiveWhenMultiSelect&&w.raw[s.value]===o.value,"f-listview-hover":!v.value&&A===S.value,moving:!!w.moving};if(typeof e.itemClass=="string")return H.getCustomClass(b,e.itemClass);if(typeof e.itemClass=="function"){const P=e.itemClass(w);return H.getCustomClass(b,P)}return b}function B(w,A){const b={};if(typeof e.itemStyle=="string")return H.getCustomStyle(b,e.itemStyle);if(typeof e.itemStyle=="function"){const P=e.itemStyle(w);return H.getCustomStyle(b,P)}return b}const T=t.computed(()=>!F.value);function M(w,A,b){w.checked=b,!w.raw[h.value]&&(T.value&&(p.value=w.raw[s.value]),i(w))}const q=t.computed(()=>!F.value||F.value&&g.value==="OnCheckAndClick");function E(w,A,b){if(w.raw[h.value]){b==null||b.preventDefault(),b==null||b.stopPropagation();return}o.value=w.raw[s.value],p.value=w.raw[s.value],x.value=A,q.value&&(i(w),m()),n.emit("clickItem",{data:f.value,index:A,dataItem:w.raw}),n.emit("activeChange",f.value)}return{getKey:V,selectedItems:f,listViewItemClass:I,listViewItemStyle:B,updateSelectedItems:m,onCheckItem:M,onClickItem:E}}const ce=t.defineComponent({name:"FListView",props:Be,emits:Pe,setup(e,n){var Se;const l=H.useLocatorProps(e),d=n,a=l,u=t.ref(!1),s=t.ref(),h=t.ref(!0),C=t.ref(((Se=l.rowOption)==null?void 0:Se.height)||28),F=t.ref(!1),g=t.ref([]),v=0,x=t.ref(l.columns),p=R.useFilter(a,d),S=R.useIdentify(a),N=R.useHierarchy(a),k=R.useGroupData(a,S),i=R.useDataView(a,new Map,p,N,S),o=R.useSelection(a,i,S,g,d),c=Ae(l,s),f=R.usePagination(a,i),r=t.computed(()=>i.dataView.value.length),m=R.useRow(a,d,o,S),V=R.useEdit(a,d,S,m,g),I=R.useVisualDataBound(a,i,C),B=R.useVisualDataCell(a,V,I),T=R.useVisualDataRow(a,i,V,N,S,I,B,C),M=R.useVisualGroupRow(a,S,B,T),q=R.useVisualSummaryRow(a,S,B,T),E=R.useVisualData(a,x,i,r,v,T,M,q),{getVisualData:_}=E;g.value=_(0,r.value+v-1);const y=t.computed(()=>{const $={"f-list-view":!0,"f-list-view-multiple":l.multiSelect};return l.size!=="default"&&($[`${l.size}-item`]=!0),H.getCustomClass($,l.customClass)}),w=t.computed(()=>!!n.slots.footer||h.value);function A(){return l.header==="SearchBar"?de:l.header==="ContentHeader"?je:de}const b=A(),{renderHeader:P}=b(l,d,c,o,i),O=Ee(),j=_e(l,d,i,O,g),D=qe(l,d,g,j,O,o),{renderListArea:W}=Re(l,d,g,i,k,O,o,E,D,j);function ht($){c.search($)}function yt($){$&&(i.load($),g.value=_(0,r.value+v-1))}function vt(){o.clearSelection(),O.clearActiveItem()}function bt(){return D.selectedItems.value}function Ct(){return D.selectedItems.value.map($=>$[S.idField.value])}function Ce($){o.selectedValues.value=$,D.updateSelectedItems()}function St(){return o.currentSelectedDataId.value}function wt($){m.activeRowById($)}function Vt($){const G=S.idField.value,Y=g.value.find(oe=>oe.raw[G]===$),ee=g.value.findIndex(oe=>oe.raw[G]===$);Y&&ee>-1&&D.onClickItem(Y,ee)}function Ft($){const G=S.idField.value,Y=g.value.find(ee=>ee.raw[G]===$);Y&&m.changeRow(Y)}function It($){f.updatePagination($)}function xt($){return g.value.filter(G=>$.includes(G.raw[l.idField]))}n.expose({search:ht,updateDataSource:yt,clearSelection:vt,getSelections:bt,updateSelectionByIds:Ce,getSelectionIds:Ct,activeRowById:wt,getCurrentRowId:St,clickRowItemById:Vt,updatePagination:It,getVisibleDataByIds:xt,selectRowById:Ft}),t.watch(()=>l.selectionValues,($,G)=>{$!==G&&Ce($)});const Tt=R.useSidebar(a,o),{sidebarWidth:kt,showSidebarCheckBox:sn}=Tt,Nt=R.useColumn(a,d),{applyColumnSorter:dn,columnContext:Mt,updateColumnRenderContext:cn}=Nt;return R.useVirtualScroll(a,i,g,Mt,E,r,v,kt,C,u,V),()=>t.createVNode("div",t.mergeProps(H.locatorAttrs(l.id),{class:y.value}),[P(),t.createVNode("div",{ref:s,class:"f-list-view-content",onMouseover:()=>{F.value||(F.value=!0)},onMouseleave:()=>{F.value&&(F.value=!1)}},[W()]),w.value&&t.createVNode("div",{class:"f-list-view-footer"},[l.footerTemplate?l.footerTemplate():n.slots.footer&&n.slots.footer()])])}}),De={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/component.schema.json",title:"button",description:"A Farris Visual Button",type:"object",properties:{id:{description:"The unique identifier for a component",type:"string"},type:{description:"The type string of component",type:"string",default:"button"},text:{description:"The text string of component",type:"string"},disabled:{description:"",type:"boolean",default:!1},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},visible:{description:"",type:"boolean",default:!0},size:{description:"大小",type:"string",default:"middle"},icon:{description:"图标",type:"string",default:""},onClick:{description:"点击事件",type:"string",default:""}},required:["id","type","text"],events:{onClick:"点击事件"}},Ge=new Map([["appearance",U.resolveAppearance]]);function Ue(e,n,l){return Object.assign(n,{text:"按钮",appearance:{class:"btn btn-secondary"}}),n}const ue={id:String,type:{type:String,default:"primary"},disabled:{type:Boolean,default:!1},size:{type:String,default:"middle"},icon:{type:String,default:""},text:{type:String,default:""},customClass:{type:[String,Object],default:""},customStyle:{type:[String,Object,Array],default:""},visible:{type:Boolean,default:!0}};U.createPropsResolver(ue,De,Ge,Ue);function ze(e,n){function l(d){d.stopPropagation(),e.disabled||n.emit("click",d)}return{onClickButton:l}}function We(e){const n=t.computed(()=>{const d={"f-icon":!0};if(e.icon){const a=e.icon.trim().split(" ");a&&a.length&&a.reduce((u,s)=>(u[s]=!0,u),d)}return d}),l=t.computed(()=>!!(e.icon&&e.icon.trim()));return{iconClass:n,shouldShowIcon:l}}const fe=t.defineComponent({name:"FButton",props:ue,emits:{click:e=>!0},setup(e,n){const l=H.useLocatorProps(e),{onClickButton:d}=ze(l,n),{iconClass:a,shouldShowIcon:u}=We(l),s=t.computed(()=>{const h={btn:!0,"btn-lg":l.size==="large","btn-md":l.size!=="large"&&l.size!=="small","btn-sm":l.size==="small","btn-icontext":u.value,[`btn-${l.type}`]:!0};if(l.customClass)if(typeof l.customClass=="string")H.getCustomClass(h,l.customClass);else{const C=l.customClass;Object.keys(C).forEach(F=>{h[F]=C[F]})}return h});return()=>l.visible?t.createVNode("button",t.mergeProps(H.locatorAttrs(l.id),H.extractDataAttrs(n.attrs),{class:s.value,disabled:l.disabled,style:l.customStyle,onClick:h=>d(h)}),[u.value&&t.createVNode("i",{class:a.value},null),l.text?l.text:"",n.slots.default&&n.slots.default()]):null}}),me=new Map([["appearance",U.resolveAppearance]]),ge={$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"},beforeHide:{description:"关闭下拉面板前回调",type:"string"},onShown:{description:"面板打开事件",type:"string"},onHidden:{description:"面板关闭事件",type:"string"},onChange:{description:"值变化事件",type:"string",default:""},onInput:{description:"输入事件",type:"string",default:""},onClear:{description:"清空事件",type:"string",default:""},onDataChanged:{description:"清空事件",type:"string",default:""},hideDisabledItems:{description:"隐藏禁用项",type:"boolean",default:!1},expandable:{description:"",type:"boolean",default:!1},expandMode:{description:"",type:"string",default:"text"},expandContent:{description:"",type:"string",default:""},expandDisabled:{description:"",type:"boolean",default:!1},onExpandClick:{description:"",type:"string",default:""},showSelectAll:{description:"",type:"boolean",default:!1}},required:["type"],ignore:["id","appearance","binding","visible"],events:{onClear:"清空事件",onShown:"面板打开事件",onHidden:"面板关闭事件",onChange:"值变化事件",beforeOpen:"打开面板前事件",beforeHide:"关闭面板前事件"}};function pe(e,n,l){return n}function Ye(){function e(n,l,d){const a={};return a.beforeOpen=u=>l.call("beforeOpen",n,[u,n],d),a}return{resolve:e}}const K={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},showSelectAll:{type:Boolean,default:!1},modelValue:{type:String,default:""},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},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1},popupClass:{type:String,default:""},hideDisabledItems:{type:Boolean,default:!1}},Xe=Object.assign({},K,{readonly:{}}),he={clear:(...e)=>!0,"update:modelValue":(...e)=>!0,change:(...e)=>!0,input:(...e)=>!0,dataChanged:(...e)=>!0,expandClick:(...e)=>!0,hidden:(...e)=>!0,shown:(...e)=>!0};U.createPropsResolver(K,ge,me,pe);const ye=U.getPropsResolverGenerator(K,ge,me,pe),Ke=Ye(),Je={id:{type:String,default:""},dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},showSelectAll:{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}},Qe=t.defineComponent({name:"FComboListContainer",props:Je,emits:["selectionChange"],setup(e,n){const l=t.ref(),d=t.ref(e.dataSource),a=t.ref(e.dataSource),u=t.ref([]),s=t.ref(e.separator),h=t.ref(e.width),C=t.ref(e.maxHeight),F=t.computed(()=>e.multiSelect),g=t.ref(e.multiSelect?String(e.selectedValues).split(s.value):[e.selectedValues]),v=t.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:F.value,showSelectAll:e.showSelectAll,showSelection:!0}));t.watch(e.dataSource,()=>{d.value=e.dataSource,a.value=e.dataSource}),t.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const x=t.computed(()=>{const i={};return h.value!==void 0&&(i.width=`${h.value}px`),C.value!==void 0&&C.value>0&&(i.maxHeight=`${C.value}px`),i});function p(i){l.value.search(i)}function S(i){u.value=i.map(o=>Object.assign({},o)),g.value=i.map(o=>o[e.idField]),n.emit("selectionChange",u.value)}function N(i){if(e.enableHighlightSearch)return;let o=[];const{searchOption:c}=e;typeof c=="function"?o=d.value.filter(f=>c(i,f)):o=d.value.filter(f=>f[e.valueField].indexOf(i)>-1||f[e.textField].indexOf(i)>-1),l.value.updateDataSource(o)}t.watch([()=>e.selectedValues],([i])=>{e.multiSelect?i===null?g.value=[]:g.value=String(i).split(s.value):i===null?g.value=[]:g.value=[i]});function k(i){l.value.activeRowById(i)}return t.onMounted(()=>{var i,o;if(!e.multiSelect){const c=(i=g.value)==null?void 0:i[0];let f=c;const r=d.value.map(m=>m[e.valueField||e.idField]);if(!Fe.isUndefined(c)&&r.includes(c)){const m=typeof c,V=typeof((o=d.value[0])==null?void 0:o[e.valueField||e.idField]);V==="number"&&m!==V&&(f=Number(c)),V==="boolean"&&m!==V&&(f=c==="true"?!0:c==="false"?!1:c),k(f)}}}),n.expose({search:p,activeRowById:k}),()=>t.createVNode("div",{class:"f-combo-list-container",style:x.value},[t.createVNode(Ve,{ref:l,id:e.id,size:"small",itemClass:"f-combo-list-item",itemContentClass:"text-truncate",header:"ContentHeader",headerClass:"f-combo-list-search-box",data:d.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:v.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:g.value,onSelectionUpdate:S,onAfterSearch:N},null)])}}),ve={property:"all",duration:.3,timingFunction:"cubic-bezier(0.17, 0.89, 0.45, 1)",delay:0},Ze=(e,n)=>{const l=e.lineHeight/2,d=H.useTouchMomentum({maxOverflowY:44}),a=t.reactive({...ve}),u=f=>{n.emit("change",f)},s=t.reactive({value:0,max:0,min:0,start:0,index:0,currentItem:void 0,active:!1}),h=()=>{s.max=e.visiableOptionCount/2*e.lineHeight;const f=e.column.length*e.lineHeight;s.min=s.max-f+e.lineHeight},C=(f=0)=>{h(),s.index=f,s.value=s.max-f*e.lineHeight,s.currentItem=e.column[f]},F=f=>{const r=e.column.length-1,m=Math.min(s.index,r),V=e.column.findIndex(I=>I[e.valueField]===f);return V>=0?V:m},g=f=>{const r=e.column.length-1;return s.index>r?e.column[r]:e.column[f]},v=f=>{f&&(s.currentItem=f,a.duration=0);const r=s.currentItem[e.valueField],m=F(r),V=g(s.index)[e.valueField];C(m),r!==V&&setTimeout(()=>{u(s.currentItem)},a.duration*1e3)},x=()=>{const f=Array.isArray(e.value)?e.value[0]:e.value;C(F(f))};x(),t.watch(()=>e.value,()=>{e.multiSelect||x()}),t.watch(()=>e.column,()=>v());const p=(f,r=s.max,m=s.min)=>{const V=s.start+f;s.value=V>l?Math.min(V,r):Math.max(V,m),s.index=Math.round((s.max-s.value)/e.lineHeight),s.currentItem=g(s.index)},S=H.useTouch(),N=f=>{S.start(f),s.active=!0,s.start=s.value,d.start(s.start),a.duration=0},k=f=>{f.preventDefault(),S.move(f),p(S.deltaY.value,s.max+e.lineHeight,s.min-e.lineHeight),d.move(S.deltaY.value),a.duration=ve.duration},i=f=>{const r=f<0,m=f%e.lineHeight>l?1:0,V=Math.floor(f/e.lineHeight);return(r?V-m:V+m)*e.lineHeight+l};return{translateY:s,transition:a,onTouchStart:N,onTouchMove:k,onTouchEnd:()=>{s.start=0;const f=d.end();let r=0;if(f){const{destination:m,duration:V}=d.get(s.value,s.min,s.max);r=m,a.duration=V/1e3}else r=s.value;p(i(r)),u(s.currentItem)},onTransitionend:()=>{s.active=!1},updateTranslate:v}},et={column:{type:Array,default:()=>[]},valueField:{type:String,default:"value"},textField:{type:String,default:"text"},value:{type:[Array,String,Number],default:()=>[]},multiSelect:{type:Boolean,default:!1},showIcon:{type:Boolean,default:!1},lineHeight:{type:Number,default:0},visiableOptionCount:{type:Number,default:5}},tt=t.defineComponent({props:et,emits:["change","click"],setup(e,n){const{addUnit:l}=H.useCommonUtils(),{bem:d}=H.useBem("FComboTouchList"),{translateY:a,transition:u,onTouchStart:s,onTouchMove:h,onTouchEnd:C,onTransitionend:F}=Ze(e,n),g=p=>{n.emit("click",p)},v=t.computed(()=>({transform:`translateY(${l(a.value)})`,transition:`all ${a.active?u.duration:0}s ${u.timingFunction} 0s`})),x=p=>e.showIcon?Array.isArray(e.value)&&e.value.includes(p[e.valueField]):!1;return()=>t.createVNode("div",{class:d("column"),style:v.value,onTouchstart:s,onTouchmove:h,onTouchend:C,onTransitionend:F},[e.column.map(p=>t.createVNode("div",{class:d("column-item"),onClick:()=>g(p)},[t.createVNode("span",null,[p[e.textField]]),x(p)&&t.createVNode("span",{class:`f-icon f-icon-check ${d("column-item-icon")}`},null)]))])}}),nt={modelValue:{type:[String,Array],default:""},columns:{type:Array,default:()=>[]},title:{type:String,default:""},valueField:{type:String,default:"value"},textField:{type:String,default:"text"},childrenField:{type:String,default:"children"},multiSelect:{type:Boolean,default:!1},lineHeight:{type:Number,default:44},cancelText:{type:String,default:"取消"},confirmText:{type:String,default:"确定"},optionFormatter:{type:Function,default:void 0},visiableOptionCount:{type:Number,default:5},showToolbar:{type:Boolean,default:!0},separator:{type:String,default:","}},lt=(e,n)=>{const{finalValue:l,initValue:d,setSelectedByIndex:a,getSelectedValueByIndex:u}=n,{isArray:s,isFunction:h,isObject:C}=H.useCommonUtils(),F=r=>r&&r[0],g=t.computed(()=>{var r;return((r=e.columns)==null?void 0:r.length)>0&&s(e.columns[0])}),v=r=>{if((r==null?void 0:r.length)===0)return!1;const m=F(r);return m&&s(m[e.childrenField])},x=(r,m)=>{const V=F(r),I=u(m);let B=r.find(M=>M[e.valueField]===I);B=B||V;const T=B[e.childrenField]||[];if(v(T)){const M=x(T,m+1);return[T,...M]}return[T]},p=()=>{const r=e.columns,m=x(r,0);return[r,...m]},S=(r,m)=>{const V=r[e.textField];return h(e.optionFormatter)?e.optionFormatter(m,r):V},N=(r,m)=>r.map(V=>{const I=C(V)?V:{[e.valueField]:V,[e.textField]:V};return I[e.textField]=S(I,m),I}),k=t.computed(()=>{let r=[];return g.value?r=e.columns:v(e.columns)?r=p():r=[e.columns],r.map(N)}),i=()=>k.value.map((r,m)=>{const V=l.value[m];return r.find(B=>B[e.valueField]===V)}).filter(r=>r),o=()=>i().map(r=>r[e.valueField]),c=()=>i().map(r=>r[e.textField]).join("-"),f=()=>{k.value.forEach((r,m)=>{if(e.multiSelect)l.value[m].forEach(I=>{const B=r.find(T=>T[e.valueField]===I);B&&a(m,B)});else{const V=l.value[m],I=r.find(B=>B[e.valueField]===V);I?a(m,I):a(m,F(r))}})};return t.watch(()=>e.modelValue,()=>{d(e.modelValue),f()},{immediate:!0}),{columns:k,getPickeds:i,getValue:o,getTextValue:c}},it=e=>{const{isArray:n,isMultiArray:l,isString:d,isDef:a}=H.useCommonUtils(),u=i=>{let o=[];return n(i)?o=i:d(i)?o=i.split(e.separator):a(i)&&(o=[i]),e.multiSelect?l(o)?o:[o]:o},s=t.ref([]),h=i=>{s.value=u(i)},C=t.reactive([]),F=t.computed(()=>C.map(i=>i[e.valueField])),g=t.reactive([]),v=t.computed(()=>g.map(i=>i.map(o=>o[e.valueField])));return{finalValue:s,initValue:h,getSelected:()=>e.multiSelect?g:C,getSelectedValue:()=>e.multiSelect?v.value:F.value,setSelectedByIndex:(i,o)=>{if(e.multiSelect){const c=g[i]||[];c.includes(o)?g[i]=c.filter(f=>f!==o):g[i]=[...c,o]}else C[i]=o},getSelectedByIndex:i=>e.multiSelect?g[i]:C[i],getSelectedValueByIndex:i=>e.multiSelect?v.value[i]:F.value[i]}},at=t.defineComponent({props:nt,emits:["change","confirm","cancel","update:modelValue"],setup(e,n){const{emit:l}=n,{addUnit:d}=H.useCommonUtils(),a=it(e),{finalValue:u,getSelectedValue:s,getSelectedValueByIndex:h,getSelected:C,setSelectedByIndex:F}=a,{columns:g}=lt(e,a),v=(c,f=!0)=>{const{value:r,index:m}=c;(f&&!e.multiSelect||!f&&e.multiSelect)&&(l("change",c),F(m,r))},x=()=>{u.value=s(),l("confirm",C()),l("update:modelValue",u.value)},p=()=>{l("cancel")},{bem:S}=H.useBem("FComboTouchList"),N=()=>t.createVNode("div",{class:S("toolbar")},[t.createVNode("div",{class:S("toolbar-left"),onClick:p},[t.createVNode("span",null,[e.cancelText])]),t.createVNode("div",{class:S("toolbar-title")},[t.createVNode("span",null,[e.title])]),t.createVNode("div",{class:S("toolbar-right"),onClick:x},[t.createVNode("span",null,[e.confirmText])])]),k=t.computed(()=>{const c=(e.visiableOptionCount+1)*e.lineHeight;return{height:d(c)}}),i=t.computed(()=>{const c=e.visiableOptionCount*e.lineHeight/2;return{backgroundSize:`100% ${d(c)}`}}),o=()=>t.createVNode("div",{class:S("content")},[t.createVNode("div",{class:S("columns"),style:k.value},[g.value.map((c,f)=>t.createVNode(tt,{column:c,value:h(f),showIcon:e.multiSelect,textField:e.textField,multiSelect:e.multiSelect,valueField:e.valueField,lineHeight:e.lineHeight,visiableOptionCount:e.visiableOptionCount,onChange:r=>v({value:r,index:f}),onClick:r=>v({value:r,index:f},!1)},null)),!e.multiSelect&&t.createVNode("div",{class:S("mask"),style:i.value},null),t.createVNode("div",{class:S("frame")},null)])]);return()=>t.createVNode("div",{class:S("")},[e.showToolbar&&N(),o()])}});function ot(e,n){const l=t.ref(""),d=t.ref(e.modelValue),a=t.ref(e.data||[]),u=t.ref(e.editable),s=t.computed(()=>e.hideDisabledItems?a.value.filter(i=>!i.disabled):a.value);function h(i){const o=e.multiSelect?String(i).split(e.separator):[String(i)],c=o.map(m=>[m,!0]),f=new Map(c);return a.value.filter(m=>f.has(String(m[e.valueField]))).sort((m,V)=>{const I=o.indexOf(m[e.valueField]),B=o.indexOf(V[e.valueField]);return I-B})}function C(i){const o=h(i).map(c=>c[e.textField]).join(e.separator);l.value=u.value?o||i:o}function F(i){if(e.multiSelect){const o=i.split(e.separator).map(f=>[f,!0]),c=new Map(o);return a.value.filter(f=>c.has(f[e.textField]))}return a.value.filter(o=>""+o[e.textField]===i)}function g(i){const o={};return o[e.idField]=i,o[e.textField]=i,[o]}function v(i){let o=F(i);const c=o&&o.length>0;return u.value&&!c&&(o=g(i)),o}function x(){const{url:i,method:o="GET",headers:c={"Content-Type":"application/json;charset=utf-8;"},body:f=null}=e.remote;if(!i)return;const{basePath:r}=H.useFarrisConfig().value,m=o.toLowerCase()==="get"?{method:o,headers:c}:{method:o,headers:c,body:f};let V=!1;fetch(new Request(r+i,m)).then(I=>{var T,M;if(I.status===200)return V=!!((M=(T=I.headers)==null?void 0:T.get("content-type"))!=null&&M.includes("application/json")),V?I.text():I.json();throw I.status===405?new Error(te.LocaleService.getLocaleValue("comboList.remoteError")):new Error(I.statusText)}).then(I=>{I.length&&(a.value=V?JSON.parse(I):I,d.value&&C(d.value))}).catch(I=>{console.warn(I)})}e.remote&&(e.load?e.load().then(i=>{a.value=i}).catch(i=>{console.log(i)}):x()),t.watch(()=>e.data,()=>{a.value=e.data}),t.watch([a],([i],[o])=>{if(e.modelValue!=null&&!e.multiSelect){const c=i.find(f=>f[e.valueField]===d.value);c?c[e.valueField]!==d.value?(d.value=c[e.valueField],l.value=c[e.textField],n.emit("update:modelValue",c[e.valueField]),n.emit("change",[c],c[e.valueField])):l.value!==c[e.textField]&&(l.value=c[e.textField]):d.value!==""&&(d.value="",l.value="",n.emit("update:modelValue",""),n.emit("change",[],""))}}),t.watch(()=>e.modelValue,(i,o)=>{o!==i&&(d.value=i,C(i))});function p(i){a.value=i,n.emit("dataChanged",i)}function S(){return a.value}function N(){return l.value}async function k(){const i=typeof e.beforeOpen=="function";return!e.beforeOpen||!i?Promise.resolve(!0):Promise.resolve().then(()=>e.beforeOpen({instance:{updateDataSource:p,getData:S,getDisplayText:N}})).then(o=>typeof o=="object"&&o?typeof o.canOpen=="boolean"?o.canOpen:!0:typeof o=="boolean"?o:!0)}return C(e.modelValue),{dataSource:a,filteredDataSource:s,displayText:l,editable:u,modelValue:d,beforeOpenList:k,getItemsByDisplayText:F,getItemsByValue:h,getSelectedItemsByDisplayText:v}}const rt=["moz","ms","webkit"];function st(){let e=0;return n=>{const l=new Date().getTime(),d=Math.max(0,16-(l-e)),a=setTimeout(()=>{n(l+d)},d);return e=l+d,a}}function dt(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const e=rt.filter(n=>`${n}RequestAnimationFrame`in window)[0];return e?window[`${e}RequestAnimationFrame`]:st()}dt(),t.ref("");function ae(){if(typeof window>"u"||typeof navigator>"u")return!1;const e=navigator.userAgent||navigator.vendor||window.opera,n=[/iPhone/i,/iPod/i,/Android.*Mobile/i,/webOS/i,/BlackBerry/i,/IEMobile/i,/Opera Mini/i,/Harmony/i],l=[/iPad/i,/Android(?!.*Mobile)/i,/Tablet/i,/PlayBook/i,/Kindle/i,/Silk/i];for(const C of l)if(C.test(e))return!1;for(const C of n)if(C.test(e))return!0;if(typeof screen>"u")return!1;const d="ontouchstart"in window||navigator.maxTouchPoints>0,a=screen.width,u=screen.height,s=Math.min(a,u);return!!(d&&s<=768)}function ct(){const e=ae();return e&&document.body.classList.add("f-mobile"),e}typeof document<"u"&&ct();const J=t.defineComponent({name:"FComboList",props:K,emits:he,setup(e,n){const l=H.useLocatorProps(e),d=n,a=t.ref(),u=t.ref(),s=t.ref(l.disabled||l.readonly),h=t.ref(l.enableClear),C=t.ref(l.enableSearch),F=t.ref(l.readonly),{dataSource:g,displayText:v,editable:x,modelValue:p,filteredDataSource:S,getItemsByDisplayText:N,getItemsByValue:k,beforeOpenList:i}=ot(l,d),o=t.ref(l.dropDownIcon),c=t.computed(()=>l.multiSelect),f=t.computed(()=>u.value?u.value.elementRef.getBoundingClientRect().width:0);function r(){!c.value&&u.value&&u.value.hidePopup()}function m(P){v.value=P.map(j=>j[l.textField]).join(l.separator)||p.value;let O="";P.length===1?O=P[0][l.valueField]:O=P.map(j=>j[l.valueField]).join(l.separator),p.value!==O&&(p.value=O,n.emit("update:modelValue",p.value),n.emit("change",P,p.value))}function V(){const P=k(p.value);m(P)}function I(){F.value||v.value}function B(P){var O;p.value="",(O=a.value)==null||O.activeRowById(""),n.emit("clear")}function T(P){var O,j;l.enableSearch&&l.enableHighlightSearch&&((O=a.value)==null||O.search(P)),(j=a.value)==null||j.activeRowById(P),n.emit("change",[p.value],p.value)}function M(P){if(l.multiSelect){const O=N(P);l.viewType;const D=O.map(W=>W[l.idField||l.valueField]).join(l.separator);p.value!==D&&(p.value=D,n.emit("update:modelValue",p.value),n.emit("change",O,p.value))}else P!==p.value&&(p.value=P,n.emit("update:modelValue",p.value),n.emit("change",[],P))}function q(){return v.value}function E(P){const{value:O}=P.target;T(O),n.emit("input",O)}function _(){u.value.hidePopup()}function y(P){g.value=P}function w(){return g.value}const A={getDisplayText:q,hidePopup:_,updateDataSource:y,getData:w};n.expose(A),t.watch([()=>l.disabled,()=>l.editable,()=>l.enableClear,()=>l.enableSearch,()=>l.readonly],([P,O,j,D,W])=>{s.value=P,x.value=O,h.value=j,C.value=D,F.value=W});const b=()=>{n.emit("expandClick")};return()=>t.createVNode(we,{ref:u,id:l.id,disable:s.value,readonly:F.value,forcePlaceholder:l.forcePlaceholder,editable:x.value,buttonContent:o.value,placeholder:l.placeholder==="请选择"?te.LocaleService.getLocaleValue("comboList.placeholder"):l.placeholder,enableClear:h.value,maxLength:l.maxLength,tabIndex:l.tabIndex,enableTitle:l.enableTitle,multiSelect:l.multiSelect,inputType:l.multiSelect?l.viewType:"text",modelValue:v.value,"onUpdate:modelValue":P=>v.value=P,focusOnCreated:l.focusOnCreated,selectOnCreated:l.selectOnCreated,onClear:B,onClick:I,onChange:M,onBlur:V,onInput:E,beforeOpen:i,placement:ae()?"bottom":l.placement,popupMinWidth:l.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:l.popupOnClick,limitContentBySpace:!0,expandable:l.expandable,expandMode:l.expandMode,expandContent:l.expandContent,expandDisabled:l.expandDisabled,onExpandClick:b,onHidden:()=>n.emit("hidden"),onShown:()=>n.emit("shown")},{default:()=>[ae()?t.createVNode(at,{modelValue:p.value,valueField:l.valueField,textField:l.textField,columns:g.value,multiSelect:l.multiSelect,separator:l.separator,onConfirm:P=>{const O=l.multiSelect?P[0]||[]:P;m(O),u==null||u.value.hidePopup()},onCancel:()=>{u==null||u.value.hidePopup()}},null):t.createVNode(Qe,{class:l.popupClass,ref:a,id:l.id,idField:l.idField,valueField:l.valueField,textField:l.textField,titleField:l.titleField,dataSource:S.value,selectedValues:p.value,separator:l.separator,multiSelect:l.multiSelect,showSelectAll:l.showSelectAll,enableSearch:C.value,maxHeight:l.maxHeight,enableHighlightSearch:l.enableHighlightSearch,width:l.fitEditor?f.value:void 0,onSelectionChange:P=>{m(P),r()}},null)]})}}),be={convertFrom:(e,n)=>(e.editor.remote||{})[n],convertTo:(e,n,l)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[n]=l}};class ut extends xe.InputBaseProperty{constructor(n,l){super(n,l)}getCommonEditorProperties(n){var l,d,a,u;return{showSelectAll:{visible:!!((l=n.editor)!=null&&l.multiSelect),description:"多选模式下是否显示全选复选框",title:"启用全选",type:"boolean",default:!1,refreshPanelAfterChanged:!0},viewType:{visible:!!((d=n.editor)!=null&&d.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((a=n.editor)!=null&&a.multiSelect)&&((u=n.editor)==null?void 0:u.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},hideDisabledItems:{description:"当数据项禁用时,隐藏数据项",title:"隐藏禁用项",type:"boolean",refreshPanelAfterChanged:!0}}}getEditorProperties(n){var C,F,g,v,x,p,S,N,k,i,o,c,f;const l=this;let d="";if(((C=n==null?void 0:n.binding)==null?void 0:C.type)==="Form"){const r=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(F=r==null?void 0:r.schemaField)!=null&&F.type&&(d=r.schemaField.type.$type)}const a=this.getPropertyEditorParams(n,["Variable"]),u=!n.editor.dataSourceType||n.editor.dataSourceType==="static",s=(((v=(g=this.designViewModelField)==null?void 0:g.type)==null?void 0:v.$type)===H.FormSchemaEntityFieldType$Type.StringType||!!this.formRule&&((x=this.designerHostService.schemaService.getFieldByID(n.binding.field))==null?void 0:x.type.$type)===H.FormSchemaEntityFieldType$Type.StringType)&&((p=n.editor)==null?void 0:p.type)==="combo-list"&&((S=n.editor)==null?void 0:S.dataSourceType)==="dynamic"&&!((k=(N=n.editor)==null?void 0:N.remote)!=null&&k.url)&&!((i=n.editor)!=null&&i.multiSelect);return l.getComponentConfig(n,{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:s,title:"数据",editor:{...a,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:u,...l.getItemCollectionEditor(n,n.editor.valueField,n.editor.textField),refreshPanelAfterChanged:!0},url:{visible:n.editor.dataSourceType==="dynamic"&&!((o=n.editor)!=null&&o.dataSource),$converter:be,description:"",title:"服务端API",type:"string",refreshPanelAfterChanged:!0},body:{visible:!1,$converter:be,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!d||d==="StringType",readonly:((c=n.editor)==null?void 0:c.dataSourceType)==="dynamic"&&!!((f=n.editor)!=null&&f.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(r,m)=>{if(!r||!m.editor)return;const V=this;switch(r.propertyID){case"dataSourceType":{r.propertyValue==="static"?(m.editor.valueField="value",m.editor.textField="name",m.editor.remote=null):r.propertyValue==="dynamic"&&(m.editor.remote={method:"GET"},m.editor.valueField="value",m.editor.textField="name");break}case"data":{!V.checkEnumDataReadonly(m)&&m.formatter&&(m.formatter.data=[...r.propertyValue]);break}case"viewType":{r.propertyValue==="tag"&&(m.editor.editable=!1);break}case"dataSource":V.afterMutilEditorChanged(m,r);break}})}getGridFieldEdtiorProperties(n,l){var C,F,g,v,x,p,S,N,k,i,o,c,f;const d=this;let a="";if(((C=n==null?void 0:n.binding)==null?void 0:C.type)==="Form"){const r=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(F=r==null?void 0:r.schemaField)!=null&&F.type&&(a=r.schemaField.type.$type)}const u=((v=(g=this.designViewModelField)==null?void 0:g.type)==null?void 0:v.$type)===H.FormSchemaEntityFieldType$Type.StringType&&((x=n.editor)==null?void 0:x.type)==="combo-list"&&((p=n.editor)==null?void 0:p.dataSourceType)==="dynamic"&&!((S=n.editor)!=null&&S.multiSelect),s=this.getPropertyEditorParams(n,["Variable"]);return d.getComponentConfig(n,{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:u,title:"数据",editor:{...s,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!((N=n.editor)!=null&&N.dataSourceType)||((k=n.editor)==null?void 0:k.dataSourceType)==="static",...d.getItemCollectionEditor(n,(i=n.editor)==null?void 0:i.valueField,(o=n.editor)==null?void 0:o.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:a==="StringType",readonly:((c=n.editor)==null?void 0:c.dataSourceType)==="dynamic"&&!!((f=n.editor)!=null&&f.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(r,m)=>{if(!r||!m.editor)return;const V=this;switch(r.propertyID){case"dataSourceType":{r.propertyValue==="static"?(m.editor.valueField="value",m.editor.textField="name",m.editor.remote=null):r.propertyValue==="dynamic"&&(m.editor.remote={method:"GET"},m.editor.valueField="value",m.editor.textField="name");break}case"data":{!V.checkEnumDataReadonly(m)&&m.formatter&&(m.formatter.data=[...r.propertyValue]);break}case"dataSource":V.afterMutilEditorChanged(m,r)}})}setEditorPropertyRelates(n,l,d){if(!n||!l.editor)return;const a=this;switch(n.propertyID){case"dataSourceType":{n.propertyValue==="static"&&(l.editor.valueField="value",l.editor.textField="name",l.editor.remote={});break}case"data":{!a.checkEnumDataReadonly(l)&&l.formatter&&(l.formatter.data=[...n.propertyValue]);break}}}changeBindingField(n,l,d){var u;super.changeBindingField(n,l);const a=d;n.editor&&((u=a==null?void 0:a.type)==null?void 0:u.$type)===H.FormSchemaEntityFieldType$Type.EnumType&&(n.editor.data=a.type.enumValues||[])}getEventPropertyConfig(n,l="card",d,a){const u=this;let s=[{label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"打开面板前事件"},{label:"beforeHide",name:"关闭面板前事件"},{label:"onShown",name:"面板打开事件"},{label:"onHidden",name:"面板关闭事件"}];s=[...s,...this.getInputCommonEvents(n)],d&&(s=s.concat(d)),this.formRule&&(s=s.filter(g=>g.label!=="onChange")),this.appendFieldValueChangeEvents(n,s);const h=u.eventsEditorUtils.formProperties(n,u.viewModelId,s);return{title:"事件",hideTitle:!0,properties:u.createBaseEventProperty(h),tabId:H.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(g,v){const x=g.propertyValue;delete n[u.viewModelId],x&&(x.setPropertyRelates=this.setPropertyRelates,u.eventsEditorUtils.saveRelatedParameters(n,u.viewModelId,x.events,x),u.updateLinkedLabel(x,v)),a&&a(g,v,x);const p=u.designViewModelUtils.getDgViewModel(u.viewModelId);p&&u.designViewModelField&&p.changeField(u.designViewModelField.id,{valueChanging:n.fieldValueChanging||"",valueChanged:n.fieldValueChanged||""}),n.editor.onShown=n.onShown,n.editor.onHidden=n.onHidden,n.editor.beforeHide=n.beforeHide,n.editor.beforeOpen=n.beforeOpen,n.editor.onChange=n.onChange,n.editor.onClear=n.onClear}}}}function ft(e,n){const l=e.schema;function d(a,u){return new ut(a,n).getPropertyConfig(l,u)}return{getPropsConfig:d}}const mt=t.defineComponent({name:"FComboListDesign",props:Xe,emits:he,setup(e,n){const l=t.ref(),d=t.inject("designer-host-service"),a=t.inject("design-item-context"),u=ft(a,d),s=re.useDesignerComponent(l,a,u);return t.onMounted(()=>{l.value.componentInstance=s}),n.expose(s.value),()=>t.createVNode(Ie,{ref:l,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled},null)}});J.register=(e,n,l,d,a)=>{e["combo-list"]=J,n["combo-list"]=ye(a),d["combo-list"]={callbackResolver:Ke}},J.registerDesigner=(e,n,l,d)=>{e["combo-list"]=mt,n["combo-list"]=ye(d)};const Q=H.withInstall(J),Z=t.defineComponent({name:"FOrder",props:X,emits:["change"],setup(e,n){const l=t.ref(),d=t.ref(e.items);function a(){var c;const o=Array.isArray(e.items)?e.items:[];d.value=[...o],(c=l.value)==null||c.updateDataSource(d.value)}t.watch(()=>e.items,a);const u=t.ref("排序列"),s=t.ref("排序方式"),h=t.ref("添加排序列"),C=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],F=t.ref(new Map);function g(){const o=d.value.map(c=>[c.id,!0]);F.value=new Map(o)}g();const v=t.computed(()=>e.dataSource.map(o=>(o.disabled=F.value.has(o.id),o))),x=t.computed(()=>({"f-order":!0}));function p(o){d.value=d.value.filter(c=>c.id!==o.id),g(),n.emit("change",d.value)}function S(){d.value=[...d.value,{id:Date.now().toString(),name:"",order:"asc"}],g(),n.emit("change",d.value)}function N(o){if(o&&o.length===1){const c=o[0],f=d.value.find(r=>r.id===c.id);f&&(f.name=c.name)}g(),n.emit("change",d.value)}function k(o){if(o&&o.length){const c=new Map;o.reduce((f,r)=>(f.set(r.id,r),f),c),d.value=o.map(f=>c.get(f.id)),n.emit("change",d.value)}}function i(){return t.createVNode(ce,{ref:l,style:"flex:1",data:d.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:p,onChange:k},{header:()=>t.createVNode("div",{class:"f-order-header"},[t.createVNode("span",{class:"f-order-header-order-field"},[u.value]),t.createVNode("span",{class:"f-order-header-order-type"},[s.value])]),itemContent:o=>t.createVNode("div",{class:"f-order-item-content"},[t.createVNode(Q,{class:"f-order-item-content-order-field",data:v.value,valueField:"id",textField:"name",idField:"id",modelValue:o.raw.id,"onUpdate:modelValue":c=>o.raw.id=c,onChange:N,onClear:N},null),t.createVNode(Q,{class:"f-order-item-content-order-type",data:C,valueField:"id",textField:"name",idField:"id",modelValue:o.raw.order,"onUpdate:modelValue":c=>o.raw.order=c,onChange:N},null)]),footer:()=>t.createVNode("div",{class:"f-order-footer"},[t.createVNode(fe,{type:"link",class:"f-order-add-button",onClick:S},{default:()=>t.createVNode(t.Fragment,null,[t.createVNode("span",{class:"f-order-add-icon"},[t.createVNode("i",{class:"f-icon f-icon-add"},null)]),h.value])})])})}return()=>t.createVNode("div",{class:x.value},[i()])}}),gt=t.defineComponent({name:"FOrderDesign",props:X,emits:["change"],setup(e,n){const l=t.ref(e.items),d=t.ref("排序列"),a=t.ref("排序方式"),u=t.ref("添加排序列"),s=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],h=t.ref(new Map),C=t.ref(),F=t.inject("design-item-context"),g=re.useDesignerComponent(C,F);t.onMounted(()=>{C.value.componentInstance=g}),n.expose(g.value);function v(){const c=l.value.map(f=>[f.id,!0]);h.value=new Map(c)}v();const x=t.computed(()=>e.dataSource.map(c=>(c.disabled=h.value.has(c.id),c))),p=t.computed(()=>({"f-order":!0}));function S(c){l.value=l.value.filter(f=>f.id!==c.id),v(),n.emit("change",l.value)}function N(){l.value=[...l.value,{id:Date.now().toString(),name:"",order:"asc"}],v(),n.emit("change",l.value)}function k(c){v(),n.emit("change",l.value)}function i(c){if(c&&c.length){const f=new Map;c.reduce((r,m)=>(r.set(m.id,m),r),f),l.value=c.map(r=>f.get(r.id)),n.emit("change",l.value)}}function o(){return t.createVNode(ce,{style:"flex:1",data:l.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:S,onChange:i},{header:()=>t.createVNode("div",{class:"f-order-header"},[t.createVNode("span",{class:"f-order-header-order-field"},[d.value]),t.createVNode("span",{class:"f-order-header-order-type"},[a.value])]),itemContent:c=>t.createVNode("div",{class:"f-order-item-content"},[t.createVNode(Q,{class:"f-order-item-content-order-field",data:x.value,valueField:"id",textField:"name",idField:"id",modelValue:c.id,"onUpdate:modelValue":f=>c.id=f,onChange:k,onClear:k},null),t.createVNode(Q,{class:"f-order-item-content-order-type",data:s,valueField:"id",textField:"name",idField:"id",modelValue:c.order,"onUpdate:modelValue":f=>c.order=f,onChange:k},null)]),footer:()=>t.createVNode("div",{class:"f-order-footer"},[t.createVNode(fe,{type:"link",class:"f-order-add-button",onClick:N},{default:()=>t.createVNode(t.Fragment,null,[t.createVNode("span",{class:"f-order-add-icon"},[t.createVNode("i",{class:"f-icon f-icon-add"},null)]),u.value])})])})}return()=>t.createVNode("div",{ref:C,class:p.value},[o()])}}),pt={install(e){e.component(Z.name,Z)},register(e,n,l,d){e.order=Z,n.order=ne},registerDesigner(e,n,l){e.order=gt,n.order=ne}};L.FOrder=Z,L.default=pt,L.orderProps=X,L.propsResolver=ne,Object.defineProperties(L,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
18
+ `,b.children[1].style.cssText="flex:1 1 auto; width:100%",b.children[2].style.cssText="padding: 0 14px 0 0",b.children[2].children[0].style.cssText="display: initial",document.body.appendChild(b),b}function M(y,w,A){if(y.stopPropagation(),p(),w){if(S=T(y.target),y.dataTransfer){const b=new Image;b.src="",y.dataTransfer.setDragImage(b,0,0)}N=y.pageX,k=y.pageY,setTimeout(()=>{h.value=A,C.value=!0,w.moving=!0})}}function q(y,w){if(y.preventDefault(),h.value!==w&&h.value!==-1){const A=s.value[h.value],b=a.value[h.value];A&&b&&(s.value.splice(h.value,1),s.value.splice(w,0,A),a.value.splice(h.value,1),a.value.splice(w,0,b),a.value.forEach((P,O)=>{P.index=O,P.raw.__fv_index__=O}),h.value=w,B(y.pageX,y.pageY))}}function E(y){y.preventDefault(),y.dataTransfer&&(y.dataTransfer.dropEffect="move"),B(y.pageX,y.pageY),I(y)}function _(y,w){var b,P;V(),i=null,w&&(w.moving=!1,S&&(document.body.removeChild(S),S=null)),s.value.forEach((O,j)=>{O.__fv_index__=j}),a.value.forEach((O,j)=>{O.index=j,O.raw&&(O.raw.__fv_index__=j)}),C.value=!1,x();const A=((b=w.raw)==null?void 0:b.__fv_index__)??0;v.value=A,F.value=A,g.value=(P=w.raw)==null?void 0:P[u.value],n.emit("change",s.value),n.emit("activeChange",[w.raw])}return{dragstart:M,dragenter:q,dragover:E,dragend:_,isDragging:C}}function qe(e,n,l,d,a,u){var _,y;const s=t.ref(e.idField),h=t.ref(e.disableField),C=t.ref(e.draggable);t.ref(e.itemClass);const F=t.ref(((_=e.selection)==null?void 0:_.multiSelect)??!1),g=t.ref(((y=e.selection)==null?void 0:y.multiSelectMode)||"DependOnCheck"),{isDragging:v}=d,{activeIndex:x,focusedItemId:p,hoverIndex:S}=a,{clearSelection:N,getSelectedItems:k,toggleSelectItem:i,currentSelectedDataId:o,multiSelectOnlyOnCheck:c}=u,f=t.ref(k()),r=w=>f.value.length===0?!1:f.value.some(A=>{let b="";return A.data?b=A.data[s.value]:b=A[s.value],b===w});function m(){f.value=k()}function V(w,A){return w.raw[s.value]!=null?w.raw[s.value]+"_"+A:""}function I(w,A){const b={"f-list-view-group-item":!0,"f-list-view-draggable-item":C.value,"f-un-click":!w.checked,"f-un-select":!!w.raw[h.value],"f-listview-active":F.value&&r(V(w,A))&&e.showActiveWhenMultiSelect||!F.value&&w.raw[s.value]===o.value||F.value&&!e.showActiveWhenMultiSelect&&w.raw[s.value]===o.value,"f-listview-hover":!v.value&&A===S.value,moving:!!w.moving};if(typeof e.itemClass=="string")return H.getCustomClass(b,e.itemClass);if(typeof e.itemClass=="function"){const P=e.itemClass(w);return H.getCustomClass(b,P)}return b}function B(w,A){const b={};if(typeof e.itemStyle=="string")return H.getCustomStyle(b,e.itemStyle);if(typeof e.itemStyle=="function"){const P=e.itemStyle(w);return H.getCustomStyle(b,P)}return b}const T=t.computed(()=>!F.value);function M(w,A,b){w.checked=b,!w.raw[h.value]&&(T.value&&(p.value=w.raw[s.value]),i(w))}const q=t.computed(()=>!F.value||F.value&&g.value==="OnCheckAndClick");function E(w,A,b){if(w.raw[h.value]){b==null||b.preventDefault(),b==null||b.stopPropagation();return}o.value=w.raw[s.value],p.value=w.raw[s.value],x.value=A,q.value&&(i(w),m()),n.emit("clickItem",{data:f.value,index:A,dataItem:w.raw}),n.emit("activeChange",f.value)}return{getKey:V,selectedItems:f,listViewItemClass:I,listViewItemStyle:B,updateSelectedItems:m,onCheckItem:M,onClickItem:E}}const ce=t.defineComponent({name:"FListView",props:Be,emits:Pe,setup(e,n){var Se;const l=H.useLocatorProps(e),d=n,a=l,u=t.ref(!1),s=t.ref(),h=t.ref(!0),C=t.ref(((Se=l.rowOption)==null?void 0:Se.height)||28),F=t.ref(!1),g=t.ref([]),v=0,x=t.ref(l.columns),p=R.useFilter(a,d),S=R.useIdentify(a),N=R.useHierarchy(a),k=R.useGroupData(a,S),i=R.useDataView(a,new Map,p,N,S),o=R.useSelection(a,i,S,g,d),c=Ae(l,s),f=R.usePagination(a,i),r=t.computed(()=>i.dataView.value.length),m=R.useRow(a,d,o,S),V=R.useEdit(a,d,S,m,g),I=R.useVisualDataBound(a,i,C),B=R.useVisualDataCell(a,V,I),T=R.useVisualDataRow(a,i,V,N,S,I,B,C),M=R.useVisualGroupRow(a,S,B,T),q=R.useVisualSummaryRow(a,S,B,T),E=R.useVisualData(a,x,i,r,v,T,M,q),{getVisualData:_}=E;g.value=_(0,r.value+v-1);const y=t.computed(()=>{const $={"f-list-view":!0,"f-list-view-multiple":l.multiSelect};return l.size!=="default"&&($[`${l.size}-item`]=!0),H.getCustomClass($,l.customClass)}),w=t.computed(()=>!!n.slots.footer||h.value);function A(){return l.header==="SearchBar"?de:l.header==="ContentHeader"?je:de}const b=A(),{renderHeader:P}=b(l,d,c,o,i),O=Ee(),j=_e(l,d,i,O,g),D=qe(l,d,g,j,O,o),{renderListArea:W}=Re(l,d,g,i,k,O,o,E,D,j);function ht($){c.search($)}function yt($){$&&(i.load($),g.value=_(0,r.value+v-1))}function vt(){o.clearSelection(),O.clearActiveItem()}function bt(){return D.selectedItems.value}function Ct(){return D.selectedItems.value.map($=>$[S.idField.value])}function Ce($){o.selectedValues.value=$,D.updateSelectedItems()}function St(){return o.currentSelectedDataId.value}function wt($){m.activeRowById($)}function Vt($){const G=S.idField.value,Y=g.value.find(oe=>oe.raw[G]===$),ee=g.value.findIndex(oe=>oe.raw[G]===$);Y&&ee>-1&&D.onClickItem(Y,ee)}function Ft($){const G=S.idField.value,Y=g.value.find(ee=>ee.raw[G]===$);Y&&m.changeRow(Y)}function It($){f.updatePagination($)}function xt($){return g.value.filter(G=>$.includes(G.raw[l.idField]))}n.expose({search:ht,updateDataSource:yt,clearSelection:vt,getSelections:bt,updateSelectionByIds:Ce,getSelectionIds:Ct,activeRowById:wt,getCurrentRowId:St,clickRowItemById:Vt,updatePagination:It,getVisibleDataByIds:xt,selectRowById:Ft}),t.watch(()=>l.selectionValues,($,G)=>{$!==G&&Ce($)});const Tt=R.useSidebar(a,o),{sidebarWidth:kt,showSidebarCheckBox:sn}=Tt,Nt=R.useColumn(a,d),{applyColumnSorter:dn,columnContext:Mt,updateColumnRenderContext:cn}=Nt;return R.useVirtualScroll(a,i,g,Mt,E,r,v,kt,C,u,V),()=>t.createVNode("div",t.mergeProps(H.locatorAttrs(l.id),{class:y.value}),[P(),t.createVNode("div",{ref:s,class:"f-list-view-content",onMouseover:()=>{F.value||(F.value=!0)},onMouseleave:()=>{F.value&&(F.value=!1)}},[W()]),w.value&&t.createVNode("div",{class:"f-list-view-footer"},[l.footerTemplate?l.footerTemplate():n.slots.footer&&n.slots.footer()])])}}),De={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/component.schema.json",title:"button",description:"A Farris Visual Button",type:"object",properties:{id:{description:"The unique identifier for a component",type:"string"},type:{description:"The type string of component",type:"string",default:"button"},text:{description:"The text string of component",type:"string"},disabled:{description:"",type:"boolean",default:!1},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},visible:{description:"",type:"boolean",default:!0},size:{description:"大小",type:"string",default:"middle"},icon:{description:"图标",type:"string",default:""},onClick:{description:"点击事件",type:"string",default:""}},required:["id","type","text"],events:{onClick:"点击事件"}},Ge=new Map([["appearance",U.resolveAppearance]]);function Ue(e,n,l){return Object.assign(n,{text:"按钮",appearance:{class:"btn btn-secondary"}}),n}const ue={id:String,type:{type:String,default:"primary"},disabled:{type:Boolean,default:!1},size:{type:String,default:"middle"},icon:{type:String,default:""},text:{type:String,default:""},customClass:{type:[String,Object],default:""},customStyle:{type:[String,Object,Array],default:""},visible:{type:Boolean,default:!0}};U.createPropsResolver(ue,De,Ge,Ue);function ze(e,n){function l(d){d.stopPropagation(),e.disabled||n.emit("click",d)}return{onClickButton:l}}function We(e){const n=t.computed(()=>{const d={"f-icon":!0};if(e.icon){const a=e.icon.trim().split(" ");a&&a.length&&a.reduce((u,s)=>(u[s]=!0,u),d)}return d}),l=t.computed(()=>!!(e.icon&&e.icon.trim()));return{iconClass:n,shouldShowIcon:l}}const fe=t.defineComponent({name:"FButton",props:ue,emits:{click:e=>!0},setup(e,n){const l=H.useLocatorProps(e),{onClickButton:d}=ze(l,n),{iconClass:a,shouldShowIcon:u}=We(l),s=t.computed(()=>{const h={btn:!0,"btn-lg":l.size==="large","btn-md":l.size!=="large"&&l.size!=="small","btn-sm":l.size==="small","btn-icontext":u.value};if(l.type&&(h[`btn-${l.type}`]=!0),l.customClass)if(typeof l.customClass=="string")H.getCustomClass(h,l.customClass);else{const C=l.customClass;Object.keys(C).forEach(F=>{h[F]=C[F]})}return h});return()=>l.visible?t.createVNode("button",t.mergeProps(H.locatorAttrs(l.id),H.extractDataAttrs(n.attrs),{class:s.value,disabled:l.disabled,style:l.customStyle,onClick:h=>d(h)}),[u.value&&t.createVNode("i",{class:a.value},null),l.text?l.text:"",n.slots.default&&n.slots.default()]):null}}),me=new Map([["appearance",U.resolveAppearance]]),ge={$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"},beforeHide:{description:"关闭下拉面板前回调",type:"string"},onShown:{description:"面板打开事件",type:"string"},onHidden:{description:"面板关闭事件",type:"string"},onChange:{description:"值变化事件",type:"string",default:""},onInput:{description:"输入事件",type:"string",default:""},onClear:{description:"清空事件",type:"string",default:""},onDataChanged:{description:"清空事件",type:"string",default:""},hideDisabledItems:{description:"隐藏禁用项",type:"boolean",default:!1},expandable:{description:"",type:"boolean",default:!1},expandMode:{description:"",type:"string",default:"text"},expandContent:{description:"",type:"string",default:""},expandDisabled:{description:"",type:"boolean",default:!1},onExpandClick:{description:"",type:"string",default:""},showSelectAll:{description:"",type:"boolean",default:!1}},required:["type"],ignore:["id","appearance","binding","visible"],events:{onClear:"清空事件",onShown:"面板打开事件",onHidden:"面板关闭事件",onChange:"值变化事件",beforeOpen:"打开面板前事件",beforeHide:"关闭面板前事件"}};function pe(e,n,l){return n}function Ye(){function e(n,l,d){const a={};return a.beforeOpen=u=>l.call("beforeOpen",n,[u,n],d),a}return{resolve:e}}const K={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},showSelectAll:{type:Boolean,default:!1},modelValue:{type:String,default:""},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},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1},popupClass:{type:String,default:""},hideDisabledItems:{type:Boolean,default:!1}},Xe=Object.assign({},K,{readonly:{}}),he={clear:(...e)=>!0,"update:modelValue":(...e)=>!0,change:(...e)=>!0,input:(...e)=>!0,dataChanged:(...e)=>!0,expandClick:(...e)=>!0,hidden:(...e)=>!0,shown:(...e)=>!0};U.createPropsResolver(K,ge,me,pe);const ye=U.getPropsResolverGenerator(K,ge,me,pe),Ke=Ye(),Je={id:{type:String,default:""},dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},showSelectAll:{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}},Qe=t.defineComponent({name:"FComboListContainer",props:Je,emits:["selectionChange"],setup(e,n){const l=t.ref(),d=t.ref(e.dataSource),a=t.ref(e.dataSource),u=t.ref([]),s=t.ref(e.separator),h=t.ref(e.width),C=t.ref(e.maxHeight),F=t.computed(()=>e.multiSelect),g=t.ref(e.multiSelect?String(e.selectedValues).split(s.value):[e.selectedValues]),v=t.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:F.value,showSelectAll:e.showSelectAll,showSelection:!0}));t.watch(e.dataSource,()=>{d.value=e.dataSource,a.value=e.dataSource}),t.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const x=t.computed(()=>{const i={};return h.value!==void 0&&(i.width=`${h.value}px`),C.value!==void 0&&C.value>0&&(i.maxHeight=`${C.value}px`),i});function p(i){l.value.search(i)}function S(i){u.value=i.map(o=>Object.assign({},o)),g.value=i.map(o=>o[e.idField]),n.emit("selectionChange",u.value)}function N(i){if(e.enableHighlightSearch)return;let o=[];const{searchOption:c}=e;typeof c=="function"?o=d.value.filter(f=>c(i,f)):o=d.value.filter(f=>f[e.valueField].indexOf(i)>-1||f[e.textField].indexOf(i)>-1),l.value.updateDataSource(o)}t.watch([()=>e.selectedValues],([i])=>{e.multiSelect?i===null?g.value=[]:g.value=String(i).split(s.value):i===null?g.value=[]:g.value=[i]});function k(i){l.value.activeRowById(i)}return t.onMounted(()=>{var i,o;if(!e.multiSelect){const c=(i=g.value)==null?void 0:i[0];let f=c;const r=d.value.map(m=>m[e.valueField||e.idField]);if(!Fe.isUndefined(c)&&r.includes(c)){const m=typeof c,V=typeof((o=d.value[0])==null?void 0:o[e.valueField||e.idField]);V==="number"&&m!==V&&(f=Number(c)),V==="boolean"&&m!==V&&(f=c==="true"?!0:c==="false"?!1:c),k(f)}}}),n.expose({search:p,activeRowById:k}),()=>t.createVNode("div",{class:"f-combo-list-container",style:x.value},[t.createVNode(Ve,{ref:l,id:e.id,size:"small",itemClass:"f-combo-list-item",itemContentClass:"text-truncate",header:"ContentHeader",headerClass:"f-combo-list-search-box",data:d.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:v.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:g.value,onSelectionUpdate:S,onAfterSearch:N},null)])}}),ve={property:"all",duration:.3,timingFunction:"cubic-bezier(0.17, 0.89, 0.45, 1)",delay:0},Ze=(e,n)=>{const l=e.lineHeight/2,d=H.useTouchMomentum({maxOverflowY:44}),a=t.reactive({...ve}),u=f=>{n.emit("change",f)},s=t.reactive({value:0,max:0,min:0,start:0,index:0,currentItem:void 0,active:!1}),h=()=>{s.max=e.visiableOptionCount/2*e.lineHeight;const f=e.column.length*e.lineHeight;s.min=s.max-f+e.lineHeight},C=(f=0)=>{h(),s.index=f,s.value=s.max-f*e.lineHeight,s.currentItem=e.column[f]},F=f=>{const r=e.column.length-1,m=Math.min(s.index,r),V=e.column.findIndex(I=>I[e.valueField]===f);return V>=0?V:m},g=f=>{const r=e.column.length-1;return s.index>r?e.column[r]:e.column[f]},v=f=>{f&&(s.currentItem=f,a.duration=0);const r=s.currentItem[e.valueField],m=F(r),V=g(s.index)[e.valueField];C(m),r!==V&&setTimeout(()=>{u(s.currentItem)},a.duration*1e3)},x=()=>{const f=Array.isArray(e.value)?e.value[0]:e.value;C(F(f))};x(),t.watch(()=>e.value,()=>{e.multiSelect||x()}),t.watch(()=>e.column,()=>v());const p=(f,r=s.max,m=s.min)=>{const V=s.start+f;s.value=V>l?Math.min(V,r):Math.max(V,m),s.index=Math.round((s.max-s.value)/e.lineHeight),s.currentItem=g(s.index)},S=H.useTouch(),N=f=>{S.start(f),s.active=!0,s.start=s.value,d.start(s.start),a.duration=0},k=f=>{f.preventDefault(),S.move(f),p(S.deltaY.value,s.max+e.lineHeight,s.min-e.lineHeight),d.move(S.deltaY.value),a.duration=ve.duration},i=f=>{const r=f<0,m=f%e.lineHeight>l?1:0,V=Math.floor(f/e.lineHeight);return(r?V-m:V+m)*e.lineHeight+l};return{translateY:s,transition:a,onTouchStart:N,onTouchMove:k,onTouchEnd:()=>{s.start=0;const f=d.end();let r=0;if(f){const{destination:m,duration:V}=d.get(s.value,s.min,s.max);r=m,a.duration=V/1e3}else r=s.value;p(i(r)),u(s.currentItem)},onTransitionend:()=>{s.active=!1},updateTranslate:v}},et={column:{type:Array,default:()=>[]},valueField:{type:String,default:"value"},textField:{type:String,default:"text"},value:{type:[Array,String,Number],default:()=>[]},multiSelect:{type:Boolean,default:!1},showIcon:{type:Boolean,default:!1},lineHeight:{type:Number,default:0},visiableOptionCount:{type:Number,default:5}},tt=t.defineComponent({props:et,emits:["change","click"],setup(e,n){const{addUnit:l}=H.useCommonUtils(),{bem:d}=H.useBem("FComboTouchList"),{translateY:a,transition:u,onTouchStart:s,onTouchMove:h,onTouchEnd:C,onTransitionend:F}=Ze(e,n),g=p=>{n.emit("click",p)},v=t.computed(()=>({transform:`translateY(${l(a.value)})`,transition:`all ${a.active?u.duration:0}s ${u.timingFunction} 0s`})),x=p=>e.showIcon?Array.isArray(e.value)&&e.value.includes(p[e.valueField]):!1;return()=>t.createVNode("div",{class:d("column"),style:v.value,onTouchstart:s,onTouchmove:h,onTouchend:C,onTransitionend:F},[e.column.map(p=>t.createVNode("div",{class:d("column-item"),onClick:()=>g(p)},[t.createVNode("span",null,[p[e.textField]]),x(p)&&t.createVNode("span",{class:`f-icon f-icon-check ${d("column-item-icon")}`},null)]))])}}),nt={modelValue:{type:[String,Array],default:""},columns:{type:Array,default:()=>[]},title:{type:String,default:""},valueField:{type:String,default:"value"},textField:{type:String,default:"text"},childrenField:{type:String,default:"children"},multiSelect:{type:Boolean,default:!1},lineHeight:{type:Number,default:44},cancelText:{type:String,default:"取消"},confirmText:{type:String,default:"确定"},optionFormatter:{type:Function,default:void 0},visiableOptionCount:{type:Number,default:5},showToolbar:{type:Boolean,default:!0},separator:{type:String,default:","}},lt=(e,n)=>{const{finalValue:l,initValue:d,setSelectedByIndex:a,getSelectedValueByIndex:u}=n,{isArray:s,isFunction:h,isObject:C}=H.useCommonUtils(),F=r=>r&&r[0],g=t.computed(()=>{var r;return((r=e.columns)==null?void 0:r.length)>0&&s(e.columns[0])}),v=r=>{if((r==null?void 0:r.length)===0)return!1;const m=F(r);return m&&s(m[e.childrenField])},x=(r,m)=>{const V=F(r),I=u(m);let B=r.find(M=>M[e.valueField]===I);B=B||V;const T=B[e.childrenField]||[];if(v(T)){const M=x(T,m+1);return[T,...M]}return[T]},p=()=>{const r=e.columns,m=x(r,0);return[r,...m]},S=(r,m)=>{const V=r[e.textField];return h(e.optionFormatter)?e.optionFormatter(m,r):V},N=(r,m)=>r.map(V=>{const I=C(V)?V:{[e.valueField]:V,[e.textField]:V};return I[e.textField]=S(I,m),I}),k=t.computed(()=>{let r=[];return g.value?r=e.columns:v(e.columns)?r=p():r=[e.columns],r.map(N)}),i=()=>k.value.map((r,m)=>{const V=l.value[m];return r.find(B=>B[e.valueField]===V)}).filter(r=>r),o=()=>i().map(r=>r[e.valueField]),c=()=>i().map(r=>r[e.textField]).join("-"),f=()=>{k.value.forEach((r,m)=>{if(e.multiSelect)l.value[m].forEach(I=>{const B=r.find(T=>T[e.valueField]===I);B&&a(m,B)});else{const V=l.value[m],I=r.find(B=>B[e.valueField]===V);I?a(m,I):a(m,F(r))}})};return t.watch(()=>e.modelValue,()=>{d(e.modelValue),f()},{immediate:!0}),{columns:k,getPickeds:i,getValue:o,getTextValue:c}},it=e=>{const{isArray:n,isMultiArray:l,isString:d,isDef:a}=H.useCommonUtils(),u=i=>{let o=[];return n(i)?o=i:d(i)?o=i.split(e.separator):a(i)&&(o=[i]),e.multiSelect?l(o)?o:[o]:o},s=t.ref([]),h=i=>{s.value=u(i)},C=t.reactive([]),F=t.computed(()=>C.map(i=>i[e.valueField])),g=t.reactive([]),v=t.computed(()=>g.map(i=>i.map(o=>o[e.valueField])));return{finalValue:s,initValue:h,getSelected:()=>e.multiSelect?g:C,getSelectedValue:()=>e.multiSelect?v.value:F.value,setSelectedByIndex:(i,o)=>{if(e.multiSelect){const c=g[i]||[];c.includes(o)?g[i]=c.filter(f=>f!==o):g[i]=[...c,o]}else C[i]=o},getSelectedByIndex:i=>e.multiSelect?g[i]:C[i],getSelectedValueByIndex:i=>e.multiSelect?v.value[i]:F.value[i]}},at=t.defineComponent({props:nt,emits:["change","confirm","cancel","update:modelValue"],setup(e,n){const{emit:l}=n,{addUnit:d}=H.useCommonUtils(),a=it(e),{finalValue:u,getSelectedValue:s,getSelectedValueByIndex:h,getSelected:C,setSelectedByIndex:F}=a,{columns:g}=lt(e,a),v=(c,f=!0)=>{const{value:r,index:m}=c;(f&&!e.multiSelect||!f&&e.multiSelect)&&(l("change",c),F(m,r))},x=()=>{u.value=s(),l("confirm",C()),l("update:modelValue",u.value)},p=()=>{l("cancel")},{bem:S}=H.useBem("FComboTouchList"),N=()=>t.createVNode("div",{class:S("toolbar")},[t.createVNode("div",{class:S("toolbar-left"),onClick:p},[t.createVNode("span",null,[e.cancelText])]),t.createVNode("div",{class:S("toolbar-title")},[t.createVNode("span",null,[e.title])]),t.createVNode("div",{class:S("toolbar-right"),onClick:x},[t.createVNode("span",null,[e.confirmText])])]),k=t.computed(()=>{const c=(e.visiableOptionCount+1)*e.lineHeight;return{height:d(c)}}),i=t.computed(()=>{const c=e.visiableOptionCount*e.lineHeight/2;return{backgroundSize:`100% ${d(c)}`}}),o=()=>t.createVNode("div",{class:S("content")},[t.createVNode("div",{class:S("columns"),style:k.value},[g.value.map((c,f)=>t.createVNode(tt,{column:c,value:h(f),showIcon:e.multiSelect,textField:e.textField,multiSelect:e.multiSelect,valueField:e.valueField,lineHeight:e.lineHeight,visiableOptionCount:e.visiableOptionCount,onChange:r=>v({value:r,index:f}),onClick:r=>v({value:r,index:f},!1)},null)),!e.multiSelect&&t.createVNode("div",{class:S("mask"),style:i.value},null),t.createVNode("div",{class:S("frame")},null)])]);return()=>t.createVNode("div",{class:S("")},[e.showToolbar&&N(),o()])}});function ot(e,n){const l=t.ref(""),d=t.ref(e.modelValue),a=t.ref(e.data||[]),u=t.ref(e.editable),s=t.computed(()=>e.hideDisabledItems?a.value.filter(i=>!i.disabled):a.value);function h(i){const o=e.multiSelect?String(i).split(e.separator):[String(i)],c=o.map(m=>[m,!0]),f=new Map(c);return a.value.filter(m=>f.has(String(m[e.valueField]))).sort((m,V)=>{const I=o.indexOf(m[e.valueField]),B=o.indexOf(V[e.valueField]);return I-B})}function C(i){const o=h(i).map(c=>c[e.textField]).join(e.separator);l.value=u.value?o||i:o}function F(i){if(e.multiSelect){const o=i.split(e.separator).map(f=>[f,!0]),c=new Map(o);return a.value.filter(f=>c.has(f[e.textField]))}return a.value.filter(o=>""+o[e.textField]===i)}function g(i){const o={};return o[e.idField]=i,o[e.textField]=i,[o]}function v(i){let o=F(i);const c=o&&o.length>0;return u.value&&!c&&(o=g(i)),o}function x(){const{url:i,method:o="GET",headers:c={"Content-Type":"application/json;charset=utf-8;"},body:f=null}=e.remote;if(!i)return;const{basePath:r}=H.useFarrisConfig().value,m=o.toLowerCase()==="get"?{method:o,headers:c}:{method:o,headers:c,body:f};let V=!1;fetch(new Request(r+i,m)).then(I=>{var T,M;if(I.status===200)return V=!!((M=(T=I.headers)==null?void 0:T.get("content-type"))!=null&&M.includes("application/json")),V?I.text():I.json();throw I.status===405?new Error(te.LocaleService.getLocaleValue("comboList.remoteError")):new Error(I.statusText)}).then(I=>{I.length&&(a.value=V?JSON.parse(I):I,d.value&&C(d.value))}).catch(I=>{console.warn(I)})}e.remote&&(e.load?e.load().then(i=>{a.value=i}).catch(i=>{console.log(i)}):x()),t.watch(()=>e.data,()=>{a.value=e.data}),t.watch([a],([i],[o])=>{if(e.modelValue!=null&&!e.multiSelect){const c=i.find(f=>f[e.valueField]===d.value);c?c[e.valueField]!==d.value?(d.value=c[e.valueField],l.value=c[e.textField],n.emit("update:modelValue",c[e.valueField]),n.emit("change",[c],c[e.valueField])):l.value!==c[e.textField]&&(l.value=c[e.textField]):d.value!==""&&(d.value="",l.value="",n.emit("update:modelValue",""),n.emit("change",[],""))}}),t.watch(()=>e.modelValue,(i,o)=>{o!==i&&(d.value=i,C(i))});function p(i){a.value=i,n.emit("dataChanged",i)}function S(){return a.value}function N(){return l.value}async function k(){const i=typeof e.beforeOpen=="function";return!e.beforeOpen||!i?Promise.resolve(!0):Promise.resolve().then(()=>e.beforeOpen({instance:{updateDataSource:p,getData:S,getDisplayText:N}})).then(o=>typeof o=="object"&&o?typeof o.canOpen=="boolean"?o.canOpen:!0:typeof o=="boolean"?o:!0)}return C(e.modelValue),{dataSource:a,filteredDataSource:s,displayText:l,editable:u,modelValue:d,beforeOpenList:k,getItemsByDisplayText:F,getItemsByValue:h,getSelectedItemsByDisplayText:v}}const rt=["moz","ms","webkit"];function st(){let e=0;return n=>{const l=new Date().getTime(),d=Math.max(0,16-(l-e)),a=setTimeout(()=>{n(l+d)},d);return e=l+d,a}}function dt(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const e=rt.filter(n=>`${n}RequestAnimationFrame`in window)[0];return e?window[`${e}RequestAnimationFrame`]:st()}dt(),t.ref("");function ae(){if(typeof window>"u"||typeof navigator>"u")return!1;const e=navigator.userAgent||navigator.vendor||window.opera,n=[/iPhone/i,/iPod/i,/Android.*Mobile/i,/webOS/i,/BlackBerry/i,/IEMobile/i,/Opera Mini/i,/Harmony/i],l=[/iPad/i,/Android(?!.*Mobile)/i,/Tablet/i,/PlayBook/i,/Kindle/i,/Silk/i];for(const C of l)if(C.test(e))return!1;for(const C of n)if(C.test(e))return!0;if(typeof screen>"u")return!1;const d="ontouchstart"in window||navigator.maxTouchPoints>0,a=screen.width,u=screen.height,s=Math.min(a,u);return!!(d&&s<=768)}function ct(){const e=ae();return e&&document.body.classList.add("f-mobile"),e}typeof document<"u"&&ct();const J=t.defineComponent({name:"FComboList",props:K,emits:he,setup(e,n){const l=H.useLocatorProps(e),d=n,a=t.ref(),u=t.ref(),s=t.ref(l.disabled||l.readonly),h=t.ref(l.enableClear),C=t.ref(l.enableSearch),F=t.ref(l.readonly),{dataSource:g,displayText:v,editable:x,modelValue:p,filteredDataSource:S,getItemsByDisplayText:N,getItemsByValue:k,beforeOpenList:i}=ot(l,d),o=t.ref(l.dropDownIcon),c=t.computed(()=>l.multiSelect),f=t.computed(()=>u.value?u.value.elementRef.getBoundingClientRect().width:0);function r(){!c.value&&u.value&&u.value.hidePopup()}function m(P){v.value=P.map(j=>j[l.textField]).join(l.separator)||p.value;let O="";P.length===1?O=P[0][l.valueField]:O=P.map(j=>j[l.valueField]).join(l.separator),p.value!==O&&(p.value=O,n.emit("update:modelValue",p.value),n.emit("change",P,p.value))}function V(){const P=k(p.value);m(P)}function I(){F.value||v.value}function B(P){var O;p.value="",(O=a.value)==null||O.activeRowById(""),n.emit("clear")}function T(P){var O,j;l.enableSearch&&l.enableHighlightSearch&&((O=a.value)==null||O.search(P)),(j=a.value)==null||j.activeRowById(P),n.emit("change",[p.value],p.value)}function M(P){if(l.multiSelect){const O=N(P);l.viewType;const D=O.map(W=>W[l.idField||l.valueField]).join(l.separator);p.value!==D&&(p.value=D,n.emit("update:modelValue",p.value),n.emit("change",O,p.value))}else P!==p.value&&(p.value=P,n.emit("update:modelValue",p.value),n.emit("change",[],P))}function q(){return v.value}function E(P){const{value:O}=P.target;T(O),n.emit("input",O)}function _(){u.value.hidePopup()}function y(P){g.value=P}function w(){return g.value}const A={getDisplayText:q,hidePopup:_,updateDataSource:y,getData:w};n.expose(A),t.watch([()=>l.disabled,()=>l.editable,()=>l.enableClear,()=>l.enableSearch,()=>l.readonly],([P,O,j,D,W])=>{s.value=P,x.value=O,h.value=j,C.value=D,F.value=W});const b=()=>{n.emit("expandClick")};return()=>t.createVNode(we,{ref:u,id:l.id,disable:s.value,readonly:F.value,forcePlaceholder:l.forcePlaceholder,editable:x.value,buttonContent:o.value,placeholder:l.placeholder==="请选择"?te.LocaleService.getLocaleValue("comboList.placeholder"):l.placeholder,enableClear:h.value,maxLength:l.maxLength,tabIndex:l.tabIndex,enableTitle:l.enableTitle,multiSelect:l.multiSelect,inputType:l.multiSelect?l.viewType:"text",modelValue:v.value,"onUpdate:modelValue":P=>v.value=P,focusOnCreated:l.focusOnCreated,selectOnCreated:l.selectOnCreated,onClear:B,onClick:I,onChange:M,onBlur:V,onInput:E,beforeOpen:i,placement:ae()?"bottom":l.placement,popupMinWidth:l.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:l.popupOnClick,limitContentBySpace:!0,expandable:l.expandable,expandMode:l.expandMode,expandContent:l.expandContent,expandDisabled:l.expandDisabled,onExpandClick:b,onHidden:()=>n.emit("hidden"),onShown:()=>n.emit("shown")},{default:()=>[ae()?t.createVNode(at,{modelValue:p.value,valueField:l.valueField,textField:l.textField,columns:g.value,multiSelect:l.multiSelect,separator:l.separator,onConfirm:P=>{const O=l.multiSelect?P[0]||[]:P;m(O),u==null||u.value.hidePopup()},onCancel:()=>{u==null||u.value.hidePopup()}},null):t.createVNode(Qe,{class:l.popupClass,ref:a,id:l.id,idField:l.idField,valueField:l.valueField,textField:l.textField,titleField:l.titleField,dataSource:S.value,selectedValues:p.value,separator:l.separator,multiSelect:l.multiSelect,showSelectAll:l.showSelectAll,enableSearch:C.value,maxHeight:l.maxHeight,enableHighlightSearch:l.enableHighlightSearch,width:l.fitEditor?f.value:void 0,onSelectionChange:P=>{m(P),r()}},null)]})}}),be={convertFrom:(e,n)=>(e.editor.remote||{})[n],convertTo:(e,n,l)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[n]=l}};class ut extends xe.InputBaseProperty{constructor(n,l){super(n,l)}getCommonEditorProperties(n){var l,d,a,u;return{showSelectAll:{visible:!!((l=n.editor)!=null&&l.multiSelect),description:"多选模式下是否显示全选复选框",title:"启用全选",type:"boolean",default:!1,refreshPanelAfterChanged:!0},viewType:{visible:!!((d=n.editor)!=null&&d.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((a=n.editor)!=null&&a.multiSelect)&&((u=n.editor)==null?void 0:u.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},hideDisabledItems:{description:"当数据项禁用时,隐藏数据项",title:"隐藏禁用项",type:"boolean",refreshPanelAfterChanged:!0}}}getEditorProperties(n){var C,F,g,v,x,p,S,N,k,i,o,c,f;const l=this;let d="";if(((C=n==null?void 0:n.binding)==null?void 0:C.type)==="Form"){const r=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(F=r==null?void 0:r.schemaField)!=null&&F.type&&(d=r.schemaField.type.$type)}const a=this.getPropertyEditorParams(n,["Variable"]),u=!n.editor.dataSourceType||n.editor.dataSourceType==="static",s=(((v=(g=this.designViewModelField)==null?void 0:g.type)==null?void 0:v.$type)===H.FormSchemaEntityFieldType$Type.StringType||!!this.formRule&&((x=this.designerHostService.schemaService.getFieldByID(n.binding.field))==null?void 0:x.type.$type)===H.FormSchemaEntityFieldType$Type.StringType)&&((p=n.editor)==null?void 0:p.type)==="combo-list"&&((S=n.editor)==null?void 0:S.dataSourceType)==="dynamic"&&!((k=(N=n.editor)==null?void 0:N.remote)!=null&&k.url)&&!((i=n.editor)!=null&&i.multiSelect);return l.getComponentConfig(n,{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:s,title:"数据",editor:{...a,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:u,...l.getItemCollectionEditor(n,n.editor.valueField,n.editor.textField),refreshPanelAfterChanged:!0},url:{visible:n.editor.dataSourceType==="dynamic"&&!((o=n.editor)!=null&&o.dataSource),$converter:be,description:"",title:"服务端API",type:"string",refreshPanelAfterChanged:!0},body:{visible:!1,$converter:be,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!d||d==="StringType",readonly:((c=n.editor)==null?void 0:c.dataSourceType)==="dynamic"&&!!((f=n.editor)!=null&&f.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(r,m)=>{if(!r||!m.editor)return;const V=this;switch(r.propertyID){case"dataSourceType":{r.propertyValue==="static"?(m.editor.valueField="value",m.editor.textField="name",m.editor.remote=null):r.propertyValue==="dynamic"&&(m.editor.remote={method:"GET"},m.editor.valueField="value",m.editor.textField="name");break}case"data":{!V.checkEnumDataReadonly(m)&&m.formatter&&(m.formatter.data=[...r.propertyValue]);break}case"viewType":{r.propertyValue==="tag"&&(m.editor.editable=!1);break}case"dataSource":V.afterMutilEditorChanged(m,r);break}})}getGridFieldEdtiorProperties(n,l){var C,F,g,v,x,p,S,N,k,i,o,c,f;const d=this;let a="";if(((C=n==null?void 0:n.binding)==null?void 0:C.type)==="Form"){const r=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(F=r==null?void 0:r.schemaField)!=null&&F.type&&(a=r.schemaField.type.$type)}const u=((v=(g=this.designViewModelField)==null?void 0:g.type)==null?void 0:v.$type)===H.FormSchemaEntityFieldType$Type.StringType&&((x=n.editor)==null?void 0:x.type)==="combo-list"&&((p=n.editor)==null?void 0:p.dataSourceType)==="dynamic"&&!((S=n.editor)!=null&&S.multiSelect),s=this.getPropertyEditorParams(n,["Variable"]);return d.getComponentConfig(n,{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:u,title:"数据",editor:{...s,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!((N=n.editor)!=null&&N.dataSourceType)||((k=n.editor)==null?void 0:k.dataSourceType)==="static",...d.getItemCollectionEditor(n,(i=n.editor)==null?void 0:i.valueField,(o=n.editor)==null?void 0:o.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:a==="StringType",readonly:((c=n.editor)==null?void 0:c.dataSourceType)==="dynamic"&&!!((f=n.editor)!=null&&f.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(r,m)=>{if(!r||!m.editor)return;const V=this;switch(r.propertyID){case"dataSourceType":{r.propertyValue==="static"?(m.editor.valueField="value",m.editor.textField="name",m.editor.remote=null):r.propertyValue==="dynamic"&&(m.editor.remote={method:"GET"},m.editor.valueField="value",m.editor.textField="name");break}case"data":{!V.checkEnumDataReadonly(m)&&m.formatter&&(m.formatter.data=[...r.propertyValue]);break}case"dataSource":V.afterMutilEditorChanged(m,r)}})}setEditorPropertyRelates(n,l,d){if(!n||!l.editor)return;const a=this;switch(n.propertyID){case"dataSourceType":{n.propertyValue==="static"&&(l.editor.valueField="value",l.editor.textField="name",l.editor.remote={});break}case"data":{!a.checkEnumDataReadonly(l)&&l.formatter&&(l.formatter.data=[...n.propertyValue]);break}}}changeBindingField(n,l,d){var u;super.changeBindingField(n,l);const a=d;n.editor&&((u=a==null?void 0:a.type)==null?void 0:u.$type)===H.FormSchemaEntityFieldType$Type.EnumType&&(n.editor.data=a.type.enumValues||[])}getEventPropertyConfig(n,l="card",d,a){const u=this;let s=[{label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"打开面板前事件"},{label:"beforeHide",name:"关闭面板前事件"},{label:"onShown",name:"面板打开事件"},{label:"onHidden",name:"面板关闭事件"}];s=[...s,...this.getInputCommonEvents(n)],d&&(s=s.concat(d)),this.formRule&&(s=s.filter(g=>g.label!=="onChange")),this.appendFieldValueChangeEvents(n,s);const h=u.eventsEditorUtils.formProperties(n,u.viewModelId,s);return{title:"事件",hideTitle:!0,properties:u.createBaseEventProperty(h),tabId:H.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(g,v){const x=g.propertyValue;delete n[u.viewModelId],x&&(x.setPropertyRelates=this.setPropertyRelates,u.eventsEditorUtils.saveRelatedParameters(n,u.viewModelId,x.events,x),u.updateLinkedLabel(x,v)),a&&a(g,v,x);const p=u.designViewModelUtils.getDgViewModel(u.viewModelId);p&&u.designViewModelField&&p.changeField(u.designViewModelField.id,{valueChanging:n.fieldValueChanging||"",valueChanged:n.fieldValueChanged||""}),n.editor.onShown=n.onShown,n.editor.onHidden=n.onHidden,n.editor.beforeHide=n.beforeHide,n.editor.beforeOpen=n.beforeOpen,n.editor.onChange=n.onChange,n.editor.onClear=n.onClear}}}}function ft(e,n){const l=e.schema;function d(a,u){return new ut(a,n).getPropertyConfig(l,u)}return{getPropsConfig:d}}const mt=t.defineComponent({name:"FComboListDesign",props:Xe,emits:he,setup(e,n){const l=t.ref(),d=t.inject("designer-host-service"),a=t.inject("design-item-context"),u=ft(a,d),s=re.useDesignerComponent(l,a,u);return t.onMounted(()=>{l.value.componentInstance=s}),n.expose(s.value),()=>t.createVNode(Ie,{ref:l,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled},null)}});J.register=(e,n,l,d,a)=>{e["combo-list"]=J,n["combo-list"]=ye(a),d["combo-list"]={callbackResolver:Ke}},J.registerDesigner=(e,n,l,d)=>{e["combo-list"]=mt,n["combo-list"]=ye(d)};const Q=H.withInstall(J),Z=t.defineComponent({name:"FOrder",props:X,emits:["change"],setup(e,n){const l=t.ref(),d=t.ref(e.items);function a(){var c;const o=Array.isArray(e.items)?e.items:[];d.value=[...o],(c=l.value)==null||c.updateDataSource(d.value)}t.watch(()=>e.items,a);const u=t.ref("排序列"),s=t.ref("排序方式"),h=t.ref("添加排序列"),C=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],F=t.ref(new Map);function g(){const o=d.value.map(c=>[c.id,!0]);F.value=new Map(o)}g();const v=t.computed(()=>e.dataSource.map(o=>(o.disabled=F.value.has(o.id),o))),x=t.computed(()=>({"f-order":!0}));function p(o){d.value=d.value.filter(c=>c.id!==o.id),g(),n.emit("change",d.value)}function S(){d.value=[...d.value,{id:Date.now().toString(),name:"",order:"asc"}],g(),n.emit("change",d.value)}function N(o){if(o&&o.length===1){const c=o[0],f=d.value.find(r=>r.id===c.id);f&&(f.name=c.name)}g(),n.emit("change",d.value)}function k(o){if(o&&o.length){const c=new Map;o.reduce((f,r)=>(f.set(r.id,r),f),c),d.value=o.map(f=>c.get(f.id)),n.emit("change",d.value)}}function i(){return t.createVNode(ce,{ref:l,style:"flex:1",data:d.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:p,onChange:k},{header:()=>t.createVNode("div",{class:"f-order-header"},[t.createVNode("span",{class:"f-order-header-order-field"},[u.value]),t.createVNode("span",{class:"f-order-header-order-type"},[s.value])]),itemContent:o=>t.createVNode("div",{class:"f-order-item-content"},[t.createVNode(Q,{class:"f-order-item-content-order-field",data:v.value,valueField:"id",textField:"name",idField:"id",modelValue:o.raw.id,"onUpdate:modelValue":c=>o.raw.id=c,onChange:N,onClear:N},null),t.createVNode(Q,{class:"f-order-item-content-order-type",data:C,valueField:"id",textField:"name",idField:"id",modelValue:o.raw.order,"onUpdate:modelValue":c=>o.raw.order=c,onChange:N},null)]),footer:()=>t.createVNode("div",{class:"f-order-footer"},[t.createVNode(fe,{type:"link",class:"f-order-add-button",onClick:S},{default:()=>t.createVNode(t.Fragment,null,[t.createVNode("span",{class:"f-order-add-icon"},[t.createVNode("i",{class:"f-icon f-icon-add"},null)]),h.value])})])})}return()=>t.createVNode("div",{class:x.value},[i()])}}),gt=t.defineComponent({name:"FOrderDesign",props:X,emits:["change"],setup(e,n){const l=t.ref(e.items),d=t.ref("排序列"),a=t.ref("排序方式"),u=t.ref("添加排序列"),s=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],h=t.ref(new Map),C=t.ref(),F=t.inject("design-item-context"),g=re.useDesignerComponent(C,F);t.onMounted(()=>{C.value.componentInstance=g}),n.expose(g.value);function v(){const c=l.value.map(f=>[f.id,!0]);h.value=new Map(c)}v();const x=t.computed(()=>e.dataSource.map(c=>(c.disabled=h.value.has(c.id),c))),p=t.computed(()=>({"f-order":!0}));function S(c){l.value=l.value.filter(f=>f.id!==c.id),v(),n.emit("change",l.value)}function N(){l.value=[...l.value,{id:Date.now().toString(),name:"",order:"asc"}],v(),n.emit("change",l.value)}function k(c){v(),n.emit("change",l.value)}function i(c){if(c&&c.length){const f=new Map;c.reduce((r,m)=>(r.set(m.id,m),r),f),l.value=c.map(r=>f.get(r.id)),n.emit("change",l.value)}}function o(){return t.createVNode(ce,{style:"flex:1",data:l.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:S,onChange:i},{header:()=>t.createVNode("div",{class:"f-order-header"},[t.createVNode("span",{class:"f-order-header-order-field"},[d.value]),t.createVNode("span",{class:"f-order-header-order-type"},[a.value])]),itemContent:c=>t.createVNode("div",{class:"f-order-item-content"},[t.createVNode(Q,{class:"f-order-item-content-order-field",data:x.value,valueField:"id",textField:"name",idField:"id",modelValue:c.id,"onUpdate:modelValue":f=>c.id=f,onChange:k,onClear:k},null),t.createVNode(Q,{class:"f-order-item-content-order-type",data:s,valueField:"id",textField:"name",idField:"id",modelValue:c.order,"onUpdate:modelValue":f=>c.order=f,onChange:k},null)]),footer:()=>t.createVNode("div",{class:"f-order-footer"},[t.createVNode(fe,{type:"link",class:"f-order-add-button",onClick:N},{default:()=>t.createVNode(t.Fragment,null,[t.createVNode("span",{class:"f-order-add-icon"},[t.createVNode("i",{class:"f-icon f-icon-add"},null)]),u.value])})])})}return()=>t.createVNode("div",{ref:C,class:p.value},[o()])}}),pt={install(e){e.component(Z.name,Z)},register(e,n,l,d){e.order=Z,n.order=ne},registerDesigner(e,n,l){e.order=gt,n.order=ne}};L.FOrder=Z,L.default=pt,L.orderProps=X,L.propsResolver=ne,Object.defineProperties(L,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -101,7 +101,7 @@ const he = /* @__PURE__ */ new Map([
101
101
  }, ke = [
102
102
  "id",
103
103
  "type"
104
- ], Se = {
104
+ ], Le = {
105
105
  $schema: be,
106
106
  $id: ye,
107
107
  title: xe,
@@ -109,7 +109,7 @@ const he = /* @__PURE__ */ new Map([
109
109
  type: Ce,
110
110
  properties: Ie,
111
111
  required: ke
112
- }, Le = "pagination", Pe = "A Farris Component", Ne = "object", je = {
112
+ }, Se = "pagination", Pe = "A Farris Component", Ne = "object", je = {
113
113
  basic: {
114
114
  description: "Basic Infomation",
115
115
  title: "基本信息",
@@ -192,7 +192,7 @@ const he = /* @__PURE__ */ new Map([
192
192
  }
193
193
  }
194
194
  }, Te = {
195
- title: Le,
195
+ title: Se,
196
196
  description: Pe,
197
197
  type: Ne,
198
198
  categories: je
@@ -259,7 +259,7 @@ const J = {
259
259
  pageSizeChanged: (...e) => !0,
260
260
  "update:currentPage": (...e) => !0,
261
261
  "update:pageSize": (...e) => !0
262
- }, Y = ce(J, Se, he, Be, Te);
262
+ }, Y = ce(J, Le, he, Be, Te);
263
263
  function Z(e, s, l, d, i) {
264
264
  p(() => V.getLocaleValue("pagination.goto.prefix"));
265
265
  const c = g(""), r = g(e.value);
@@ -389,7 +389,7 @@ function te(e, s, l) {
389
389
  };
390
390
  }
391
391
  function ae(e, s, l, d, i, c) {
392
- const r = g(!1), a = g(), o = g(), n = p(() => V.getLocaleValue("pagination.show")), v = p(() => V.getLocaleValue("pagination.totalInfo.lastText")), u = p(() => ({
392
+ const r = g(!1), a = g(), o = g(), n = p(() => V.getLocaleValue("pagination.pageList.firstText")), v = p(() => V.getLocaleValue("pagination.pageList.lastText")), u = p(() => ({
393
393
  dropup: !0,
394
394
  "dropdown-right": !0,
395
395
  "pg-pagelist": !0,
@@ -414,7 +414,7 @@ function ae(e, s, l, d, i, c) {
414
414
  function k() {
415
415
  f && (clearTimeout(f), f = null);
416
416
  }
417
- function L() {
417
+ function S() {
418
418
  f = setTimeout(() => {
419
419
  r.value = !1, a.value && a.value.hide(), f = null;
420
420
  }, 200);
@@ -463,7 +463,7 @@ function ae(e, s, l, d, i, c) {
463
463
  default: () => [t("div", {
464
464
  class: "pg-pagelist-dropdown",
465
465
  onMouseenter: () => k(),
466
- onMouseleave: () => L()
466
+ onMouseleave: () => S()
467
467
  }, [l.value.map((m) => t("li", b({
468
468
  class: I(m)
469
469
  }, w(c, "size-option", m), {
@@ -589,7 +589,7 @@ function se(e) {
589
589
  const o = [], n = Math.ceil(r / c), v = Math.ceil(a / 2), u = i <= v, I = n - v < i, f = !u && !I, P = a < n;
590
590
  let h = 1;
591
591
  for (; h <= n && h <= a; ) {
592
- const k = l(h, i, a, n), L = h === 2 && (f || I), N = h === a - 1 && (f || u), j = P && (L || N) ? "..." : "" + k;
592
+ const k = l(h, i, a, n), S = h === 2 && (f || I), N = h === a - 1 && (f || u), j = P && (S || N) ? "..." : "" + k;
593
593
  o.push({ label: j, value: k }), h++;
594
594
  }
595
595
  s.value = o;
@@ -614,13 +614,13 @@ const q = /* @__PURE__ */ Q({
614
614
  background: "rgba(250,250,252,.6)",
615
615
  width: "100%",
616
616
  height: "100%"
617
- }, P = p(() => !n.value || o.value === 1), h = p(() => typeof l.pageList == "string" ? l.pageList.split(",") : l.pageList), k = p(() => Math.ceil(n.value / a.value)), L = p(() => !n.value || o.value === k.value), N = p(() => l.showGoButton), j = p(() => !!n.value && o.value > 1), O = p(() => !(r.value && v.value.length <= 1)), m = p(() => l.showPageInfo), C = p(() => l.showPageList), T = p(() => l.showPageNumbers), S = p(() => !0), {
617
+ }, P = p(() => !n.value || o.value === 1), h = p(() => typeof l.pageList == "string" ? l.pageList.split(",") : l.pageList), k = p(() => Math.ceil(n.value / a.value)), S = p(() => !n.value || o.value === k.value), N = p(() => l.showGoButton), j = p(() => !!n.value && o.value > 1), O = p(() => !(r.value && v.value.length <= 1)), m = p(() => l.showPageInfo), C = p(() => l.showPageList), T = p(() => l.showPageNumbers), L = p(() => !0), {
618
618
  renderFirstPage: y,
619
619
  renderPreviousPage: M
620
620
  } = ne(o, P, j, a, d, l.id), {
621
621
  renderLastPage: z,
622
622
  renderNextPage: F
623
- } = ee(o, L, k, a, d, l.id), {
623
+ } = ee(o, S, k, a, d, l.id), {
624
624
  renderPageInfo: A
625
625
  } = te(c, n, l.id), {
626
626
  renderPageList: D
@@ -652,12 +652,12 @@ const q = /* @__PURE__ */ Q({
652
652
  "position-relative": !0
653
653
  }));
654
654
  function K() {
655
- return t(G, null, [m.value && A(), C.value && D(), S.value && y(), S.value && M(), T.value && W(), S.value && F(), S.value && z(), N.value && E()]);
655
+ return t(G, null, [m.value && A(), C.value && D(), L.value && y(), L.value && M(), T.value && W(), L.value && F(), L.value && z(), N.value && E()]);
656
656
  }
657
657
  function X() {
658
658
  return t(G, null, [t("li", {
659
659
  class: "page-item d-flex flex-fill"
660
- }, null), S.value && y(), S.value && M(), E(), t("li", {
660
+ }, null), L.value && y(), L.value && M(), E(), t("li", {
661
661
  class: "page-item page-separator",
662
662
  style: "margin-left: 10px"
663
663
  }, [t("span", {
@@ -667,7 +667,7 @@ const q = /* @__PURE__ */ Q({
667
667
  style: "margin-left: 5px"
668
668
  }, [t("span", {
669
669
  style: "font-size: 16px; font-weight: 600;"
670
- }, [R(" "), k.value])]), S.value && F(), S.value && z()]);
670
+ }, [R(" "), k.value])]), L.value && F(), L.value && z()]);
671
671
  }
672
672
  return () => t("div", b(ve(l.id), {
673
673
  class: "pagination-container d-flex",
@@ -691,13 +691,13 @@ const q = /* @__PURE__ */ Q({
691
691
  const {
692
692
  pages: f,
693
693
  updatePages: P
694
- } = se(), h = p(() => o.value === 1), k = p(() => [20, 50, 100]), L = p(() => Math.ceil(n.value / a.value)), N = p(() => o.value === L.value), j = p(() => !0), O = p(() => o.value > 1), m = p(() => !(r.value && f.value.length <= 1)), C = p(() => !0), T = p(() => !0), S = p(() => !0), y = p(() => !0), {
694
+ } = se(), h = p(() => o.value === 1), k = p(() => [20, 50, 100]), S = p(() => Math.ceil(n.value / a.value)), N = p(() => o.value === S.value), j = p(() => !0), O = p(() => o.value > 1), m = p(() => !(r.value && f.value.length <= 1)), C = p(() => !0), T = p(() => !0), L = p(() => !0), y = p(() => !0), {
695
695
  renderFirstPage: M,
696
696
  renderPreviousPage: z
697
697
  } = ne(o, h, O, a, l), {
698
698
  renderLastPage: F,
699
699
  renderNextPage: A
700
- } = ee(o, N, L, a, l), {
700
+ } = ee(o, N, S, a, l), {
701
701
  renderPageInfo: D
702
702
  } = te(c, n), {
703
703
  renderPageList: W
@@ -705,7 +705,7 @@ const q = /* @__PURE__ */ Q({
705
705
  renderPageNumbers: E
706
706
  } = le(e, o, f, a, l), {
707
707
  renderGotoButton: _
708
- } = Z(o, L, a, l);
708
+ } = Z(o, S, a, l);
709
709
  P(o.value, a.value, n.value, 7), B([o, a], () => {
710
710
  P(o.value, a.value, n.value, 7);
711
711
  }), B(o, () => {
@@ -724,7 +724,7 @@ const q = /* @__PURE__ */ Q({
724
724
  "justify-content": c.value === "center" ? "center" : "start"
725
725
  }));
726
726
  function X() {
727
- return t(G, null, [C.value && D(), T.value && W(), y.value && M(), y.value && z(), S.value && E(), y.value && A(), y.value && F(), j.value && _()]);
727
+ return t(G, null, [C.value && D(), T.value && W(), y.value && M(), y.value && z(), L.value && E(), y.value && A(), y.value && F(), j.value && _()]);
728
728
  }
729
729
  function x() {
730
730
  return t(G, null, [t("li", {
@@ -739,7 +739,7 @@ const q = /* @__PURE__ */ Q({
739
739
  style: "margin-left: 5px"
740
740
  }, [t("span", {
741
741
  style: "font-size: 16px; font-weight: 600;"
742
- }, [R(" "), L.value])]), y.value && A(), y.value && F()]);
742
+ }, [R(" "), S.value])]), y.value && A(), y.value && F()]);
743
743
  }
744
744
  return () => t("div", {
745
745
  ref: v,