@farris/ui-vue 1.4.0 → 1.4.1

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.
Files changed (103) hide show
  1. package/components/avatar/index.esm.js +2 -1
  2. package/components/avatar/index.umd.cjs +1 -1
  3. package/components/checkbox/index.esm.js +2 -1
  4. package/components/checkbox/index.umd.cjs +1 -1
  5. package/components/combo-list/index.esm.js +2 -1
  6. package/components/combo-list/index.umd.cjs +1 -1
  7. package/components/condition/index.css +1 -1
  8. package/components/condition/index.esm.js +715 -704
  9. package/components/condition/index.umd.cjs +1 -1
  10. package/components/content-container/index.css +1 -1
  11. package/components/content-container/index.esm.js +1180 -1169
  12. package/components/content-container/index.umd.cjs +1 -1
  13. package/components/data-grid/index.css +1 -1
  14. package/components/data-grid/index.esm.js +2949 -2901
  15. package/components/data-grid/index.umd.cjs +1 -1
  16. package/components/data-view/index.css +1 -1
  17. package/components/data-view/index.esm.js +609 -598
  18. package/components/data-view/index.umd.cjs +1 -1
  19. package/components/date-picker/index.esm.js +3 -2
  20. package/components/date-picker/index.umd.cjs +1 -1
  21. package/components/designer-canvas/index.css +1 -1
  22. package/components/designer-canvas/index.esm.js +2081 -2062
  23. package/components/designer-canvas/index.umd.cjs +1 -1
  24. package/components/designer-outline/index.css +1 -1
  25. package/components/drawer/index.esm.js +23 -21
  26. package/components/drawer/index.umd.cjs +1 -1
  27. package/components/dynamic-form/index.css +1 -1
  28. package/components/dynamic-form/index.esm.js +2745 -2691
  29. package/components/dynamic-form/index.umd.cjs +1 -1
  30. package/components/external-container/index.css +1 -1
  31. package/components/external-container/index.esm.js +1322 -1311
  32. package/components/external-container/index.umd.cjs +1 -1
  33. package/components/field-selector/index.css +1 -1
  34. package/components/field-selector/index.esm.js +85 -74
  35. package/components/field-selector/index.umd.cjs +1 -1
  36. package/components/filter-bar/index.esm.js +4618 -4320
  37. package/components/filter-bar/index.umd.cjs +3 -3
  38. package/components/flow-canvas/index.css +1 -1
  39. package/components/flow-canvas/index.esm.js +1982 -1963
  40. package/components/flow-canvas/index.umd.cjs +1 -1
  41. package/components/input-group/index.esm.js +2 -1
  42. package/components/input-group/index.umd.cjs +1 -1
  43. package/components/list-view/index.css +1 -1
  44. package/components/list-view/index.esm.js +822 -811
  45. package/components/list-view/index.umd.cjs +1 -1
  46. package/components/lookup/index.css +1 -1
  47. package/components/lookup/index.esm.js +3268 -3219
  48. package/components/lookup/index.umd.cjs +1 -1
  49. package/components/mapping-editor/index.css +1 -1
  50. package/components/mapping-editor/index.esm.js +1985 -1937
  51. package/components/mapping-editor/index.umd.cjs +1 -1
  52. package/components/number-range/index.esm.js +136 -135
  53. package/components/number-range/index.umd.cjs +1 -1
  54. package/components/number-spinner/index.esm.js +2 -1
  55. package/components/number-spinner/index.umd.cjs +1 -1
  56. package/components/order/index.esm.js +2 -1
  57. package/components/order/index.umd.cjs +1 -1
  58. package/components/property-editor/index.esm.js +2 -1
  59. package/components/property-editor/index.umd.cjs +1 -1
  60. package/components/property-panel/index.esm.js +295 -283
  61. package/components/property-panel/index.umd.cjs +2 -2
  62. package/components/query-solution/index.css +1 -1
  63. package/components/query-solution/index.esm.js +5430 -5374
  64. package/components/query-solution/index.umd.cjs +7 -7
  65. package/components/radio-group/index.esm.js +2 -1
  66. package/components/radio-group/index.umd.cjs +1 -1
  67. package/components/schema-selector/index.css +1 -1
  68. package/components/schema-selector/index.esm.js +1259 -1248
  69. package/components/schema-selector/index.umd.cjs +2 -2
  70. package/components/section/index.css +1 -1
  71. package/components/section/index.esm.js +1272 -1261
  72. package/components/section/index.umd.cjs +1 -1
  73. package/components/switch/index.esm.js +2 -1
  74. package/components/switch/index.umd.cjs +1 -1
  75. package/components/textarea/index.esm.js +14 -13
  76. package/components/textarea/index.umd.cjs +1 -1
  77. package/components/time-picker/index.esm.js +2 -1
  78. package/components/time-picker/index.umd.cjs +1 -1
  79. package/components/tree-grid/index.css +1 -1
  80. package/components/tree-grid/index.esm.js +715 -704
  81. package/components/tree-grid/index.umd.cjs +1 -1
  82. package/components/tree-view/index.css +1 -1
  83. package/components/tree-view/index.esm.js +107 -96
  84. package/components/tree-view/index.umd.cjs +1 -1
  85. package/farris.all.esm.js +14687 -14334
  86. package/farris.all.umd.cjs +11 -11
  87. package/index.css +1 -1
  88. package/package.json +1 -1
  89. package/types/condition/src/composition/condition-value/input-group-value.d.ts +1 -1
  90. package/types/dynamic-form/src/component/dynamic-form-label/dynamic-form-label.component.d.ts +6 -0
  91. package/types/dynamic-form/src/component/dynamic-form-label/dynamic-form-label.props.d.ts +8 -0
  92. package/types/dynamic-form/src/composition/form-binding-resolver-design.d.ts +6 -0
  93. package/types/filter-bar/src/components/drawer.component.d.ts +4 -0
  94. package/types/filter-bar/src/components/filter-item/filter-item.component.d.ts +10 -0
  95. package/types/filter-bar/src/components/filter-item/filter-item.props.d.ts +3 -0
  96. package/types/filter-bar/src/components/filter-item-condition/filter-item-condition.component.d.ts +11 -0
  97. package/types/filter-bar/src/components/filter-item-condition/filter-item-condition.props.d.ts +3 -0
  98. package/types/filter-bar/src/composition/types.d.ts +2 -0
  99. package/types/filter-bar/src/composition/use-condition.d.ts +19 -0
  100. package/types/filter-bar/src/filter-bar.component.d.ts +2 -1
  101. package/types/filter-bar/src/types.d.ts +4 -6
  102. package/types/filter-bar/src/components/filter-item.component.d.ts +0 -5
  103. /package/types/filter-bar/src/components/{toolbar-component.d.ts → toolbar.component.d.ts} +0 -0
@@ -684,7 +684,8 @@ class Ce extends fe {
684
684
  disableOccupiedFields: !0
685
685
  },
686
686
  textField: "bindingField"
687
- }
687
+ },
688
+ refreshPanelAfterChanged: !0
688
689
  }
689
690
  },
690
691
  setPropertyRelates(c, A) {
@@ -1 +1 @@
1
- (function(b,A){typeof exports=="object"&&typeof module<"u"?A(exports,require("vue"),require("lodash-es"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js"],A):(b=typeof globalThis<"u"?globalThis:b||self,A(b.avatar={},b.Vue,b.LodashES,b.dynamicResolver,b.designerCanvas,b.common))})(this,function(b,A,I,q,P,N){"use strict";var de=Object.defineProperty;var ce=(b,A,I)=>A in b?de(b,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):b[A]=I;var h=(b,A,I)=>ce(b,typeof A!="symbol"?A+"":A,I);const j={},D={};function L(o){const{properties:r,title:t,ignore:e}=o,n=e&&Array.isArray(e),l=Object.keys(r).reduce((d,y)=>((!n||!e.find(f=>f===y))&&(d[y]=r[y].type==="object"&&r[y].properties?L(r[y]):I.cloneDeep(r[y].default)),d),{});if(t&&(!n||!e.find(d=>d==="id"))){const d=t.toLowerCase().replace(/-/g,"_");l.id=`${d}_${Math.random().toString().slice(2,6)}`}return l}function H(o,r){const t=L(r);return Object.keys(t).reduce((e,n)=>(Object.prototype.hasOwnProperty.call(o,n)&&(e[n]&&I.isPlainObject(e[n])&&I.isPlainObject(o[n]||!o[n])?Object.assign(e[n],o[n]||{}):e[n]=o[n]),e),t),t}function U(o,r){return Object.keys(o).filter(e=>o[e]!=null).reduce((e,n)=>{if(r.has(n)){const l=r.get(n);if(typeof l=="string")e[l]=o[n];else{const d=l(n,o[n],o);Object.assign(e,d)}}else e[n]=o[n];return e},{})}function R(o,r,t=new Map){const e=H(o,r);return U(e,t)}function Q(o={}){function r(s,p,i,m){if(typeof i=="number")return m[s].length===i;if(typeof i=="object"){const c=Object.keys(i)[0],u=i[c];if(c==="not")return Number(m[s].length)!==Number(u);if(c==="moreThan")return Number(m[s].length)>=Number(u);if(c==="lessThan")return Number(m[s].length)<=Number(u)}return!1}function t(s,p,i,m){return m[s]&&m[s].propertyValue&&String(m[s].propertyValue.value)===String(i)}const e=new Map([["length",r],["getProperty",t]]);Object.keys(o).reduce((s,p)=>(s.set(p,o[p]),s),e);function n(s,p){const i=s;return typeof p=="number"?[{target:i,operator:"length",param:null,value:Number(p)}]:typeof p=="boolean"?[{target:i,operator:"getProperty",param:s,value:!!p}]:typeof p=="object"?Object.keys(p).map(m=>{if(m==="length")return{target:i,operator:"length",param:null,value:p[m]};const c=m,u=p[m];return{target:i,operator:"getProperty",param:c,value:u}}):[]}function l(s){return Object.keys(s).reduce((i,m)=>{const c=n(m,s[m]);return i.push(...c),i},[])}function d(s,p){if(e.has(s.operator)){const i=e.get(s.operator);return i&&i(s.target,s.param,s.value,p)||!1}return!1}function y(s,p){return l(s).reduce((c,u)=>c&&d(u,p),!0)}function f(s,p){const i=Object.keys(s),m=i.includes("allOf"),c=i.includes("anyOf"),u=m||c,v=(u?s[u?m?"allOf":"anyOf":"allOf"]:[s]).map(T=>y(T,p));return m?!v.includes(!1):v.includes(!0)}return{parseValueSchema:f}}const a={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"},"query-solution":{type:"query-solution",name:"筛选方案",icon:"QueryScheme"}},W={},G={};Q();function O(o,r,t=new Map,e=(d,y,f,s)=>y,n={},l=d=>d){return j[r.title]=r,D[r.title]=e,W[r.title]=n,G[r.title]=l,(d={})=>{const y=R(d,r,t),f=Object.keys(o).reduce((s,p)=>(s[p]=o[p].default,s),{});return Object.assign(f,y)}}function Z(o,r,t){return r}const z=new Map([["appearance",q.resolveAppearance]]),J={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/avatar.schema.json",title:"avatar",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for avatar",type:"string"},type:{description:"The type string of avatar",type:"string",default:"avatar"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"boolean",default:!1},avatarWidth:{description:"",type:"number",default:100},avatarHeight:{description:"",type:"number",default:100},readonly:{description:"",type:"boolean",default:!1},cover:{description:"",type:"string",default:""},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"],ignore:["id","appearance","binding","visible"]},k={avatarWidth:{type:Number,default:100},avatarHeight:{type:Number,default:100},cover:{type:String},readonly:{type:Boolean,default:!1},shape:{type:String,default:"circle"},maxSize:{type:Number,default:1},modelValue:{type:String,default:""},title:{type:String,default:""},imageType:{type:Array,default:["jpeg"]}},V=O(k,J,z,Z);function x(o,r,t,e){const n="data:image/jpeg;base64,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",l=A.ref(o.readonly);function d(c){return c.match(/\.(jpeg|jpg|gif|png|svg|bmp|webp)$/)!=null}function y(c){return c.indexOf("data:image/")>-1}function f(c){return c?"data:image/jpeg;base64,"+c:""}const s=A.computed(()=>{var u;if(!o.imageType||!o.imageType.length)return"";const c=(u=o.imageType)==null?void 0:u.map(g=>(g==="jpg"&&(g="jpeg"),`image/${g}`));return!c||!c.length?"image/*":c.join(",")}),p=A.computed(()=>{const c=e.value||o.cover||n;return d(c)||y(c)?c:f(c)}),i=A.computed(()=>l.value?"":o.title);function m(){l.value||t&&t.value&&t.value.click()}return{acceptTypes:s,imageSource:p,imageTitle:i,onClickImage:m}}const B=A.defineComponent({name:"FAvatar",props:k,emits:["change","update:modelValue"],setup(o,r){const t=A.computed(()=>({"f-avatar":!0,"f-avatar-readonly":o.readonly,"f-avatar-circle":o.shape==="circle","f-avatar-square":o.shape==="square"})),e=A.ref(o.modelValue),n=A.computed(()=>({width:o.avatarWidth+"px",height:o.avatarHeight+"px"})),l=!1;function d(){return""}function y(){}const f=A.ref(null),{acceptTypes:s,imageSource:p,onClickImage:i}=x(o,r,f,e);return()=>A.createVNode("div",{class:t.value,style:n.value,onClick:i},[l,A.createVNode("img",{title:o.title,class:"f-avatar-image",src:p.value,onError:d},null),!o.readonly&&A.createVNode("div",{class:"f-avatar-icon"},[A.createVNode("span",{class:"f-icon f-icon-camera"},null)]),A.createVNode("input",{ref:"file",name:"file-input",type:"file",class:"f-avatar-upload",accept:s.value,onChange:y,style:"display: none;"},null)])}});class K{constructor(r,t){h(this,"componentId");h(this,"viewModelId");h(this,"eventsEditorUtils");h(this,"formSchemaUtils");h(this,"formMetadataConverter");h(this,"designViewModelUtils");h(this,"designViewModelField");h(this,"controlCreatorUtils");h(this,"designerHostService");h(this,"schemaService",null);h(this,"metadataService",null);h(this,"propertyConfig",{type:"object",categories:{}});var e;this.componentId=r,this.designerHostService=t,this.eventsEditorUtils=t.eventsEditorUtils,this.formSchemaUtils=t.formSchemaUtils,this.formMetadataConverter=t.formMetadataConverter,this.viewModelId=((e=this.formSchemaUtils)==null?void 0:e.getViewModelIdByComponentId(r))||"",this.designViewModelUtils=t.designViewModelUtils,this.controlCreatorUtils=t.controlCreatorUtils,this.metadataService=t.metadataService,this.schemaService=t.schemaService}getTableInfo(){var r;return(r=this.schemaService)==null?void 0:r.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(r){var e;const t=r.binding&&r.binding.type==="Form"&&r.binding.field;if(t){if(!this.designViewModelField){const n=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=n.fields.find(l=>l.id===t)}r.updateOn=(e=this.designViewModelField)==null?void 0:e.updateOn}}getBasicPropConfig(r){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",editable:!1,data:[{value:r.type,name:a[r.type].name}]}}}}}getAppearanceConfig(r=null){return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(r,t){const e=t&&t.parent&&t.parent.schema;if(!e)return;const n=e.contents.findIndex(d=>d.id===r),l=I.cloneDeep(e.contents[n]);e.contents.splice(n,1),e.contents.splice(n,0,l)}}const S=class S{static getEditorTypesByMDataType(r){const t=S.fieldControlTypeMapping[r];return t||[{key:"",value:""}]}static getAllInputTypes(){const r=[];for(const t in S.fieldControlTypeMapping)S.fieldControlTypeMapping[t].forEach(e=>{r.find(n=>n.key===e.key&&n.value===e.value)||r.push({key:e.key,value:e.value})});return r}static mappingDomPropAndSchemaProp(r){var n;const t=(n=r.editor)==null?void 0:n.type;if(!t)return[];const e=[];switch(e.push({domField:"editor.required",schemaField:"require"}),e.push({domField:"editor.readonly",schemaField:"readonly"}),t){case a["data-grid-column"].type:case a["tree-grid-column"].type:{e.push({domField:"title",schemaField:"name"});break}default:e.push({domField:"label",schemaField:"name"})}return(t===a["input-group"].type||t===a.textarea.type||t===a["number-spinner"].type)&&e.push({domField:"editor.maxLength",schemaField:"type.length"}),t===a["number-spinner"].type&&e.push({domField:"editor.precision",schemaField:"type.precision"}),(t===a["combo-list"].type||t===a["radio-group"].type)&&e.push({domField:"editor.data",schemaField:"type.enumValues"}),t===a["date-picker"].type&&(e.push({domField:"editor.displayFormat",schemaField:"editor.format"}),e.push({domField:"editor.fieldType",schemaField:"type.name"})),t===a["number-spinner"].type&&(e.push({domField:"editor.max",schemaField:"editor.maxValue"}),e.push({domField:"editor.min",schemaField:"editor.minValue"})),t===a.lookup.type&&(e.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),e.push({domField:"editor.valueField",schemaField:"editor.valueField"}),e.push({domField:"editor.textField",schemaField:"editor.textField"}),e.push({domField:"editor.displayType",schemaField:"editor.displayType"}),e.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),e.push({domField:"editor.helpId",schemaField:"editor.helpId"})),e.push({domField:"path",schemaField:"bindingPath"}),e.push({domField:"binding.path",schemaField:"bindingField"}),e.push({domField:"binding.fullPath",schemaField:"path"}),(t===a["data-grid-column"].type||t===a["tree-grid-column"].type)&&e.push({domField:"field",schemaField:"bindingPath"}),e}};h(S,"fieldControlTypeMapping",{String:[{key:a["input-group"].type,value:a["input-group"].name},{key:a.lookup.type,value:a.lookup.name},{key:a["date-picker"].type,value:a["date-picker"].name},{key:a["check-group"].type,value:a["check-group"].name},{key:a["radio-group"].type,value:a["radio-group"].name},{key:a["combo-list"].type,value:a["combo-list"].name},{key:a.textarea.type,value:a.textarea.name}],Text:[{key:a.textarea.type,value:a.textarea.name},{key:a.lookup.type,value:a.lookup.name}],Decimal:[{key:a["number-spinner"].type,value:a["number-spinner"].name}],Integer:[{key:a["number-spinner"].type,value:a["number-spinner"].name}],Number:[{key:a["number-spinner"].type,value:a["number-spinner"].name}],BigNumber:[{key:a["number-spinner"].type,value:a["number-spinner"].name}],Date:[{key:a["date-picker"].type,value:a["date-picker"].name}],DateTime:[{key:a["date-picker"].type,value:a["date-picker"].name}],Boolean:[{key:a.switch.type,value:a.switch.name},{key:a["check-box"].type,value:a["check-box"].name}],Enum:[{key:a["combo-list"].type,value:a["combo-list"].name},{key:a["radio-group"].type,value:a["radio-group"].name}],Object:[{key:a.lookup.type,value:a.lookup.name},{key:a["combo-list"].type,value:a["combo-list"].name},{key:a["radio-group"].type,value:a["radio-group"].name}]});let w=S;const X=A.ref(0);class Y{constructor(){h(this,"label","");h(this,"id","");h(this,"columnInSM",12);h(this,"columnInMD",6);h(this,"columnInLG",3);h(this,"columnInEL",2);h(this,"displayWidthInSM",1);h(this,"displayWidthInMD",1);h(this,"displayWidthInLG",1);h(this,"displayWidthInEL",1);h(this,"displayColumnCountAtBreakPoint","md");h(this,"tagRow",0);h(this,"showTopBorder",0);h(this,"group",1);h(this,"isSupportedClass",!0);h(this,"fieldSetId","")}}function $(o){let r,t;const e=new Map;let n=[];function l(p,i){const c=p.split(" ").filter(F=>F.startsWith("col-"));if(c.length===0){i.isSupportedClass=!1;return}let u=c.find(F=>/^col-([1-9]|10|11|12)$/.test(F)),g=c.find(F=>/^col-md-([1-9]|10|11|12)$/.test(F)),C=c.find(F=>/^col-xl-([1-9]|10|11|12)$/.test(F)),v=c.find(F=>/^col-el-([1-9]|10|11|12)$/.test(F));u=u||"col-12",i.columnInSM=parseInt(u.replace("col-",""),10),i.displayWidthInSM=i.columnInSM/12,i.displayWidthInSM!==1&&(i.isSupportedClass=!1),g=g||"col-md-"+i.columnInSM,i.columnInMD=parseInt(g.replace("col-md-",""),10),i.displayWidthInMD=i.columnInMD/6,[1,2].includes(i.displayWidthInMD)||(i.isSupportedClass=!1),C=C||"col-xl-"+i.columnInMD,i.columnInLG=parseInt(C.replace("col-xl-",""),10),i.displayWidthInLG=i.columnInLG/3,[1,2,3,4].includes(i.displayWidthInLG)||(i.isSupportedClass=!1),v=v||"col-el-"+i.columnInLG,i.columnInEL=parseInt(v.replace("col-el-",""),10),i.displayWidthInEL=i.columnInEL/2,[1,2,3,4,5,6].includes(i.displayWidthInEL)||(i.isSupportedClass=!1)}function d(p,i,m,c=!1){let u=!1;p.contents.forEach(g=>{if(g.type==="fieldset"){m+=1,d(g,i,m,!0),u=!0;return}u&&(m+=1,u=!1);const C=g.appearance&&g.appearance.class,v=new Y;C?l(C,v):v.isSupportedClass=!1,v.label=g.label||g.id,v.id=g.id,v.group=m,c&&(v.fieldSetId=p.id),t===g.id&&(r=m),e.set(g.id,g),i.push(v)})}function y(p){const i=o.getComponentById(p);if(!i||!i.componentType||!i.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const m=o.selectNode(i,c=>c.type===P.DgControl["response-form"].type);return!m||!m.contents||m.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:m}}function f(p,i){i=i||p.id;const{result:m,message:c,formNode:u}=y(i);if(!m)return{result:m,message:c};t=p.id,n=[],e.clear();const g=u.contents[0].type===P.DgControl.fieldset.type?0:1;d(u,n,g);const C=n.find(F=>!F.isSupportedClass);return{defaultState:{defaultGroupNumber:r||1,model:C?"customize":"standard"},importData:n}}function s(p,i){i=i;const{result:m,formNode:c}=y(i);if(!m)return"";const u=[];return p.forEach(g=>{var F;const C=e.get(g.id),v=C.appearance&&C.appearance.class;if(v){const E=v.split(" ").filter(le=>!le.startsWith("col-")),M="col-"+g.columnInSM,re="col-md-"+g.columnInMD,oe="col-xl-"+g.columnInLG,ae="col-el-"+g.columnInEL,se=[M,re,oe,ae].concat(E);C.appearance.class=se.join(" ")}if(g.fieldSetId){const T=c.contents.find(M=>M.id===g.fieldSetId),E=u.find(M=>M.id===g.fieldSetId);E?(F=E.contents)==null||F.push(C):(u.push(T),T.contents=[C])}else u.push(C)}),c.contents=u,c.id}return{checkCanFindFormNode:y,checkCanOpenLayoutEditor:f,changeFormControlsByResponseLayoutConfig:s,getResonseFormLayoutConfig:d}}class _ extends K{constructor(t,e){super(t,e);h(this,"responseLayoutEditorFunction");this.responseLayoutEditorFunction=$(this.formSchemaUtils)}getPropertyConfig(t,e){return this.propertyConfig.categories.basic=this.getBasicProperties(t,e),this.propertyConfig.categories.appearance=this.getAppearanceProperties(t,e),this.propertyConfig.categories.editor=this.getEditorProperties(t),this.propertyConfig}getBasicProperties(t,e){var l;const n=this;return this.setDesignViewModelField(t),{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",editable:!1,data:n.designViewModelField?w.getEditorTypesByMDataType((l=n.designViewModelField.type)==null?void 0:l.name):w.getAllInputTypes()}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:t,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"}}},setPropertyRelates(d,y){if(d)switch(d&&d.propertyID){case"type":{n.changeControlType(t,d,e);break}case"label":{d.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(t,e){const n=this;return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的内联样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",initialState:n.responseLayoutEditorFunction.checkCanOpenLayoutEditor(t,n.componentId)}}},setPropertyRelates(l,d){if(l)switch(l&&l.propertyID){case"responseLayout":n.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(l.propertyValue,n.componentId||t.id),n.updateUnifiedLayoutAfterResponseLayoutChanged(n.componentId),n.updateElementByParentContainer(t.id,e),delete t.responseLayout;break;case"class":n.updateUnifiedLayoutAfterControlChanged(l.propertyValue,t.id,this.componentId),n.updateElementByParentContainer(t.id,e);break}}}}getEditorProperties(t){return this.getComponentConfig(t)}changeControlType(t,e,n){var p,i,m,c;const l=e.propertyValue,d=n&&n.parent&&n.parent.schema;if(!d)return;const y=d.contents.findIndex(u=>u.id===t.id),f=d.contents[y];let s;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:l},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),s=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,l)),s||(s=this.controlCreatorUtils.createFormGroupWithoutField(l)),Object.assign(s,{id:f.id,appearance:f.appearance,size:f.size,label:f.label,binding:f.binding,visible:f.visible}),Object.assign(s.editor,{isTextArea:s.isTextArea&&f.isTextArea,placeholder:(p=f.editor)==null?void 0:p.placeholder,holdPlace:(i=f.editor)==null?void 0:i.holdPlace,readonly:(m=f.editor)==null?void 0:m.readonly,required:(c=f.editor)==null?void 0:c.required}),d.contents.splice(y,1),d.contents.splice(y,0,s),n.schema=Object.assign(f,s),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(u=>u.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(u=>u.classList.remove("dgComponentFocused")),X.value++}getComponentConfig(t,e={},n={},l){const d=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},e),y=Object.assign({readonly:{description:"",title:"只读",type:"boolean",editor:{enableClear:!0,editable:!0}},disabled:{description:"",title:"禁用",type:"boolean",visible:!1},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}},n);return{...d,properties:{...y},setPropertyRelates:l}}updateUnifiedLayoutAfterControlChanged(t,e,n){const l=t.split(" ");let d=l.find(i=>/^col-([1-9]|10|11|12)$/.test(i)),y=l.find(i=>/^col-md-([1-9]|10|11|12)$/.test(i)),f=l.find(i=>/^col-xl-([1-9]|10|11|12)$/.test(i)),s=l.find(i=>/^col-el-([1-9]|10|11|12)$/.test(i));d=d||"col-12",y=y||"col-md-"+d.replace("col-",""),f=f||"col-xl-"+y.replace("col-md-",""),s=s||"col-el-"+f.replace("col-xl-","");const p={id:e,columnInSM:parseInt(d.replace("col-",""),10),columnInMD:parseInt(y.replace("col-md-",""),10),columnInLG:parseInt(f.replace("col-xl-",""),10),columnInEL:parseInt(s.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(n,p)}updateUnifiedLayoutAfterResponseLayoutChanged(t,e){const{formNode:n}=this.responseLayoutEditorFunction.checkCanFindFormNode(t);if(!n||!n.unifiedLayout)return;const l=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(n,l,1),e){const u=l.find(g=>g.id===e.id);Object.assign(u||{},e)}const d=l.map(u=>u.columnInSM),y=l.map(u=>u.columnInMD),f=l.map(u=>u.columnInLG),s=l.map(u=>u.columnInEL),p=this.checkIsUniqueColumn(d)?d[0]:null,i=this.checkIsUniqueColumn(y)?y[0]:null,m=this.checkIsUniqueColumn(f)?f[0]:null,c=this.checkIsUniqueColumn(s)?s[0]:null;Object.assign(n.unifiedLayout,{uniqueColClassInSM:p,uniqueColClassInMD:i,uniqueColClassInLG:m,uniqueColClassInEL:c})}checkIsUniqueColumn(t){const e=new Set(t);return Array.from(e).length===1}getItemCollectionEditor(t,e,n){return e=e||"value",n=n||"name",{editor:{columns:[{field:e,title:"值",dataType:"string"},{field:n,title:"名称",dataType:"string"},{field:"disabled",title:"禁用",visible:!1,dataType:"boolean",editor:{type:"switch"}}],type:"item-collection-editor",valueField:e,nameField:n,requiredFields:[e,n],uniqueFields:[e,n],readonly:this.checkEnumDataReadonly(t)}}}checkEnumDataReadonly(t){return!t.binding||t.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===N.FormSchemaEntityFieldType$Type.EnumType)}}class ee extends _{constructor(r,t){super(r,t)}getEditorProperties(r){return{description:"编辑器",title:"编辑器",type:"avatar",$converter:"/converter/property-editor.converter",properties:{readonly:{description:"",title:"只读",type:"boolean"},avatarWidth:{description:"",title:"头像宽度",type:"number"},avatarHeight:{description:"",title:"头像高度",type:"number"},cover:{description:"",title:"封面",type:"string"}}}}}function te(o,r){const t=o.schema;function e(n,l){return new ee(n,r).getPropertyConfig(t,l)}return{getPropsConfig:e}}const ne=A.defineComponent({name:"FAvatarDesign",props:k,emits:["change","update:modelValue"],setup(o,r){const t=A.ref(),e=A.inject("designer-host-service"),n=A.inject("design-item-context"),l=te(n,e),d=P.useDesignerComponent(t,n,l);A.onMounted(()=>{t.value.componentInstance=d}),r.expose(d.value);const y=A.computed(()=>({"f-avatar":!0,"f-avatar-readonly":o.readonly,"f-avatar-circle":o.shape==="circle","f-avatar-square":o.shape==="square"})),f=A.ref(o.modelValue),s=A.computed(()=>({width:o.avatarWidth+"px",height:o.avatarHeight+"px"})),p=!1;function i(){return""}function m(){}const c=A.ref(null),{acceptTypes:u,imageSource:g,onClickImage:C}=x(o,r,c,f);return()=>A.createVNode("div",{ref:t,class:y.value,style:s.value,onClick:C},[p,A.createVNode("img",{title:o.title,class:"f-avatar-image",src:g.value,onError:i},null),!o.readonly&&A.createVNode("div",{class:"f-avatar-icon"},[A.createVNode("span",{class:"f-icon f-icon-camera"},null)]),A.createVNode("input",{ref:"file",name:"file-input",type:"file",class:"f-avatar-upload",accept:u.value,onChange:m,style:"display: none;"},null)])}});B.register=(o,r,t,e)=>{o.avatar=B,r.avatar=V},B.registerDesigner=(o,r,t)=>{o.avatar=ne,r.avatar=V};const ie=N.withInstall(B);b.FAvatar=B,b.avatarProps=k,b.default=ie,b.propsResolver=V,Object.defineProperties(b,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(b,A){typeof exports=="object"&&typeof module<"u"?A(exports,require("vue"),require("lodash-es"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js"],A):(b=typeof globalThis<"u"?globalThis:b||self,A(b.avatar={},b.Vue,b.LodashES,b.dynamicResolver,b.designerCanvas,b.common))})(this,function(b,A,I,q,P,N){"use strict";var de=Object.defineProperty;var ce=(b,A,I)=>A in b?de(b,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):b[A]=I;var h=(b,A,I)=>ce(b,typeof A!="symbol"?A+"":A,I);const j={},D={};function L(o){const{properties:r,title:t,ignore:e}=o,n=e&&Array.isArray(e),l=Object.keys(r).reduce((d,y)=>((!n||!e.find(f=>f===y))&&(d[y]=r[y].type==="object"&&r[y].properties?L(r[y]):I.cloneDeep(r[y].default)),d),{});if(t&&(!n||!e.find(d=>d==="id"))){const d=t.toLowerCase().replace(/-/g,"_");l.id=`${d}_${Math.random().toString().slice(2,6)}`}return l}function H(o,r){const t=L(r);return Object.keys(t).reduce((e,n)=>(Object.prototype.hasOwnProperty.call(o,n)&&(e[n]&&I.isPlainObject(e[n])&&I.isPlainObject(o[n]||!o[n])?Object.assign(e[n],o[n]||{}):e[n]=o[n]),e),t),t}function U(o,r){return Object.keys(o).filter(e=>o[e]!=null).reduce((e,n)=>{if(r.has(n)){const l=r.get(n);if(typeof l=="string")e[l]=o[n];else{const d=l(n,o[n],o);Object.assign(e,d)}}else e[n]=o[n];return e},{})}function R(o,r,t=new Map){const e=H(o,r);return U(e,t)}function Q(o={}){function r(s,p,i,m){if(typeof i=="number")return m[s].length===i;if(typeof i=="object"){const c=Object.keys(i)[0],u=i[c];if(c==="not")return Number(m[s].length)!==Number(u);if(c==="moreThan")return Number(m[s].length)>=Number(u);if(c==="lessThan")return Number(m[s].length)<=Number(u)}return!1}function t(s,p,i,m){return m[s]&&m[s].propertyValue&&String(m[s].propertyValue.value)===String(i)}const e=new Map([["length",r],["getProperty",t]]);Object.keys(o).reduce((s,p)=>(s.set(p,o[p]),s),e);function n(s,p){const i=s;return typeof p=="number"?[{target:i,operator:"length",param:null,value:Number(p)}]:typeof p=="boolean"?[{target:i,operator:"getProperty",param:s,value:!!p}]:typeof p=="object"?Object.keys(p).map(m=>{if(m==="length")return{target:i,operator:"length",param:null,value:p[m]};const c=m,u=p[m];return{target:i,operator:"getProperty",param:c,value:u}}):[]}function l(s){return Object.keys(s).reduce((i,m)=>{const c=n(m,s[m]);return i.push(...c),i},[])}function d(s,p){if(e.has(s.operator)){const i=e.get(s.operator);return i&&i(s.target,s.param,s.value,p)||!1}return!1}function y(s,p){return l(s).reduce((c,u)=>c&&d(u,p),!0)}function f(s,p){const i=Object.keys(s),m=i.includes("allOf"),c=i.includes("anyOf"),u=m||c,v=(u?s[u?m?"allOf":"anyOf":"allOf"]:[s]).map(T=>y(T,p));return m?!v.includes(!1):v.includes(!0)}return{parseValueSchema:f}}const a={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"},"query-solution":{type:"query-solution",name:"筛选方案",icon:"QueryScheme"}},W={},G={};Q();function O(o,r,t=new Map,e=(d,y,f,s)=>y,n={},l=d=>d){return j[r.title]=r,D[r.title]=e,W[r.title]=n,G[r.title]=l,(d={})=>{const y=R(d,r,t),f=Object.keys(o).reduce((s,p)=>(s[p]=o[p].default,s),{});return Object.assign(f,y)}}function Z(o,r,t){return r}const z=new Map([["appearance",q.resolveAppearance]]),J={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/avatar.schema.json",title:"avatar",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for avatar",type:"string"},type:{description:"The type string of avatar",type:"string",default:"avatar"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"boolean",default:!1},avatarWidth:{description:"",type:"number",default:100},avatarHeight:{description:"",type:"number",default:100},readonly:{description:"",type:"boolean",default:!1},cover:{description:"",type:"string",default:""},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"],ignore:["id","appearance","binding","visible"]},k={avatarWidth:{type:Number,default:100},avatarHeight:{type:Number,default:100},cover:{type:String},readonly:{type:Boolean,default:!1},shape:{type:String,default:"circle"},maxSize:{type:Number,default:1},modelValue:{type:String,default:""},title:{type:String,default:""},imageType:{type:Array,default:["jpeg"]}},V=O(k,J,z,Z);function x(o,r,t,e){const n="data:image/jpeg;base64,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",l=A.ref(o.readonly);function d(c){return c.match(/\.(jpeg|jpg|gif|png|svg|bmp|webp)$/)!=null}function y(c){return c.indexOf("data:image/")>-1}function f(c){return c?"data:image/jpeg;base64,"+c:""}const s=A.computed(()=>{var u;if(!o.imageType||!o.imageType.length)return"";const c=(u=o.imageType)==null?void 0:u.map(g=>(g==="jpg"&&(g="jpeg"),`image/${g}`));return!c||!c.length?"image/*":c.join(",")}),p=A.computed(()=>{const c=e.value||o.cover||n;return d(c)||y(c)?c:f(c)}),i=A.computed(()=>l.value?"":o.title);function m(){l.value||t&&t.value&&t.value.click()}return{acceptTypes:s,imageSource:p,imageTitle:i,onClickImage:m}}const B=A.defineComponent({name:"FAvatar",props:k,emits:["change","update:modelValue"],setup(o,r){const t=A.computed(()=>({"f-avatar":!0,"f-avatar-readonly":o.readonly,"f-avatar-circle":o.shape==="circle","f-avatar-square":o.shape==="square"})),e=A.ref(o.modelValue),n=A.computed(()=>({width:o.avatarWidth+"px",height:o.avatarHeight+"px"})),l=!1;function d(){return""}function y(){}const f=A.ref(null),{acceptTypes:s,imageSource:p,onClickImage:i}=x(o,r,f,e);return()=>A.createVNode("div",{class:t.value,style:n.value,onClick:i},[l,A.createVNode("img",{title:o.title,class:"f-avatar-image",src:p.value,onError:d},null),!o.readonly&&A.createVNode("div",{class:"f-avatar-icon"},[A.createVNode("span",{class:"f-icon f-icon-camera"},null)]),A.createVNode("input",{ref:"file",name:"file-input",type:"file",class:"f-avatar-upload",accept:s.value,onChange:y,style:"display: none;"},null)])}});class K{constructor(r,t){h(this,"componentId");h(this,"viewModelId");h(this,"eventsEditorUtils");h(this,"formSchemaUtils");h(this,"formMetadataConverter");h(this,"designViewModelUtils");h(this,"designViewModelField");h(this,"controlCreatorUtils");h(this,"designerHostService");h(this,"schemaService",null);h(this,"metadataService",null);h(this,"propertyConfig",{type:"object",categories:{}});var e;this.componentId=r,this.designerHostService=t,this.eventsEditorUtils=t.eventsEditorUtils,this.formSchemaUtils=t.formSchemaUtils,this.formMetadataConverter=t.formMetadataConverter,this.viewModelId=((e=this.formSchemaUtils)==null?void 0:e.getViewModelIdByComponentId(r))||"",this.designViewModelUtils=t.designViewModelUtils,this.controlCreatorUtils=t.controlCreatorUtils,this.metadataService=t.metadataService,this.schemaService=t.schemaService}getTableInfo(){var r;return(r=this.schemaService)==null?void 0:r.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(r){var e;const t=r.binding&&r.binding.type==="Form"&&r.binding.field;if(t){if(!this.designViewModelField){const n=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=n.fields.find(l=>l.id===t)}r.updateOn=(e=this.designViewModelField)==null?void 0:e.updateOn}}getBasicPropConfig(r){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",editable:!1,data:[{value:r.type,name:a[r.type].name}]}}}}}getAppearanceConfig(r=null){return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(r,t){const e=t&&t.parent&&t.parent.schema;if(!e)return;const n=e.contents.findIndex(d=>d.id===r),l=I.cloneDeep(e.contents[n]);e.contents.splice(n,1),e.contents.splice(n,0,l)}}const S=class S{static getEditorTypesByMDataType(r){const t=S.fieldControlTypeMapping[r];return t||[{key:"",value:""}]}static getAllInputTypes(){const r=[];for(const t in S.fieldControlTypeMapping)S.fieldControlTypeMapping[t].forEach(e=>{r.find(n=>n.key===e.key&&n.value===e.value)||r.push({key:e.key,value:e.value})});return r}static mappingDomPropAndSchemaProp(r){var n;const t=(n=r.editor)==null?void 0:n.type;if(!t)return[];const e=[];switch(e.push({domField:"editor.required",schemaField:"require"}),e.push({domField:"editor.readonly",schemaField:"readonly"}),t){case a["data-grid-column"].type:case a["tree-grid-column"].type:{e.push({domField:"title",schemaField:"name"});break}default:e.push({domField:"label",schemaField:"name"})}return(t===a["input-group"].type||t===a.textarea.type||t===a["number-spinner"].type)&&e.push({domField:"editor.maxLength",schemaField:"type.length"}),t===a["number-spinner"].type&&e.push({domField:"editor.precision",schemaField:"type.precision"}),(t===a["combo-list"].type||t===a["radio-group"].type)&&e.push({domField:"editor.data",schemaField:"type.enumValues"}),t===a["date-picker"].type&&(e.push({domField:"editor.displayFormat",schemaField:"editor.format"}),e.push({domField:"editor.fieldType",schemaField:"type.name"})),t===a["number-spinner"].type&&(e.push({domField:"editor.max",schemaField:"editor.maxValue"}),e.push({domField:"editor.min",schemaField:"editor.minValue"})),t===a.lookup.type&&(e.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),e.push({domField:"editor.valueField",schemaField:"editor.valueField"}),e.push({domField:"editor.textField",schemaField:"editor.textField"}),e.push({domField:"editor.displayType",schemaField:"editor.displayType"}),e.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),e.push({domField:"editor.helpId",schemaField:"editor.helpId"})),e.push({domField:"path",schemaField:"bindingPath"}),e.push({domField:"binding.path",schemaField:"bindingField"}),e.push({domField:"binding.fullPath",schemaField:"path"}),(t===a["data-grid-column"].type||t===a["tree-grid-column"].type)&&e.push({domField:"field",schemaField:"bindingPath"}),e}};h(S,"fieldControlTypeMapping",{String:[{key:a["input-group"].type,value:a["input-group"].name},{key:a.lookup.type,value:a.lookup.name},{key:a["date-picker"].type,value:a["date-picker"].name},{key:a["check-group"].type,value:a["check-group"].name},{key:a["radio-group"].type,value:a["radio-group"].name},{key:a["combo-list"].type,value:a["combo-list"].name},{key:a.textarea.type,value:a.textarea.name}],Text:[{key:a.textarea.type,value:a.textarea.name},{key:a.lookup.type,value:a.lookup.name}],Decimal:[{key:a["number-spinner"].type,value:a["number-spinner"].name}],Integer:[{key:a["number-spinner"].type,value:a["number-spinner"].name}],Number:[{key:a["number-spinner"].type,value:a["number-spinner"].name}],BigNumber:[{key:a["number-spinner"].type,value:a["number-spinner"].name}],Date:[{key:a["date-picker"].type,value:a["date-picker"].name}],DateTime:[{key:a["date-picker"].type,value:a["date-picker"].name}],Boolean:[{key:a.switch.type,value:a.switch.name},{key:a["check-box"].type,value:a["check-box"].name}],Enum:[{key:a["combo-list"].type,value:a["combo-list"].name},{key:a["radio-group"].type,value:a["radio-group"].name}],Object:[{key:a.lookup.type,value:a.lookup.name},{key:a["combo-list"].type,value:a["combo-list"].name},{key:a["radio-group"].type,value:a["radio-group"].name}]});let w=S;const X=A.ref(0);class Y{constructor(){h(this,"label","");h(this,"id","");h(this,"columnInSM",12);h(this,"columnInMD",6);h(this,"columnInLG",3);h(this,"columnInEL",2);h(this,"displayWidthInSM",1);h(this,"displayWidthInMD",1);h(this,"displayWidthInLG",1);h(this,"displayWidthInEL",1);h(this,"displayColumnCountAtBreakPoint","md");h(this,"tagRow",0);h(this,"showTopBorder",0);h(this,"group",1);h(this,"isSupportedClass",!0);h(this,"fieldSetId","")}}function $(o){let r,t;const e=new Map;let n=[];function l(p,i){const c=p.split(" ").filter(F=>F.startsWith("col-"));if(c.length===0){i.isSupportedClass=!1;return}let u=c.find(F=>/^col-([1-9]|10|11|12)$/.test(F)),g=c.find(F=>/^col-md-([1-9]|10|11|12)$/.test(F)),C=c.find(F=>/^col-xl-([1-9]|10|11|12)$/.test(F)),v=c.find(F=>/^col-el-([1-9]|10|11|12)$/.test(F));u=u||"col-12",i.columnInSM=parseInt(u.replace("col-",""),10),i.displayWidthInSM=i.columnInSM/12,i.displayWidthInSM!==1&&(i.isSupportedClass=!1),g=g||"col-md-"+i.columnInSM,i.columnInMD=parseInt(g.replace("col-md-",""),10),i.displayWidthInMD=i.columnInMD/6,[1,2].includes(i.displayWidthInMD)||(i.isSupportedClass=!1),C=C||"col-xl-"+i.columnInMD,i.columnInLG=parseInt(C.replace("col-xl-",""),10),i.displayWidthInLG=i.columnInLG/3,[1,2,3,4].includes(i.displayWidthInLG)||(i.isSupportedClass=!1),v=v||"col-el-"+i.columnInLG,i.columnInEL=parseInt(v.replace("col-el-",""),10),i.displayWidthInEL=i.columnInEL/2,[1,2,3,4,5,6].includes(i.displayWidthInEL)||(i.isSupportedClass=!1)}function d(p,i,m,c=!1){let u=!1;p.contents.forEach(g=>{if(g.type==="fieldset"){m+=1,d(g,i,m,!0),u=!0;return}u&&(m+=1,u=!1);const C=g.appearance&&g.appearance.class,v=new Y;C?l(C,v):v.isSupportedClass=!1,v.label=g.label||g.id,v.id=g.id,v.group=m,c&&(v.fieldSetId=p.id),t===g.id&&(r=m),e.set(g.id,g),i.push(v)})}function y(p){const i=o.getComponentById(p);if(!i||!i.componentType||!i.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const m=o.selectNode(i,c=>c.type===P.DgControl["response-form"].type);return!m||!m.contents||m.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:m}}function f(p,i){i=i||p.id;const{result:m,message:c,formNode:u}=y(i);if(!m)return{result:m,message:c};t=p.id,n=[],e.clear();const g=u.contents[0].type===P.DgControl.fieldset.type?0:1;d(u,n,g);const C=n.find(F=>!F.isSupportedClass);return{defaultState:{defaultGroupNumber:r||1,model:C?"customize":"standard"},importData:n}}function s(p,i){i=i;const{result:m,formNode:c}=y(i);if(!m)return"";const u=[];return p.forEach(g=>{var F;const C=e.get(g.id),v=C.appearance&&C.appearance.class;if(v){const E=v.split(" ").filter(le=>!le.startsWith("col-")),M="col-"+g.columnInSM,re="col-md-"+g.columnInMD,oe="col-xl-"+g.columnInLG,ae="col-el-"+g.columnInEL,se=[M,re,oe,ae].concat(E);C.appearance.class=se.join(" ")}if(g.fieldSetId){const T=c.contents.find(M=>M.id===g.fieldSetId),E=u.find(M=>M.id===g.fieldSetId);E?(F=E.contents)==null||F.push(C):(u.push(T),T.contents=[C])}else u.push(C)}),c.contents=u,c.id}return{checkCanFindFormNode:y,checkCanOpenLayoutEditor:f,changeFormControlsByResponseLayoutConfig:s,getResonseFormLayoutConfig:d}}class _ extends K{constructor(t,e){super(t,e);h(this,"responseLayoutEditorFunction");this.responseLayoutEditorFunction=$(this.formSchemaUtils)}getPropertyConfig(t,e){return this.propertyConfig.categories.basic=this.getBasicProperties(t,e),this.propertyConfig.categories.appearance=this.getAppearanceProperties(t,e),this.propertyConfig.categories.editor=this.getEditorProperties(t),this.propertyConfig}getBasicProperties(t,e){var l;const n=this;return this.setDesignViewModelField(t),{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",editable:!1,data:n.designViewModelField?w.getEditorTypesByMDataType((l=n.designViewModelField.type)==null?void 0:l.name):w.getAllInputTypes()}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:t,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0}},setPropertyRelates(d,y){if(d)switch(d&&d.propertyID){case"type":{n.changeControlType(t,d,e);break}case"label":{d.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(t,e){const n=this;return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的内联样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",initialState:n.responseLayoutEditorFunction.checkCanOpenLayoutEditor(t,n.componentId)}}},setPropertyRelates(l,d){if(l)switch(l&&l.propertyID){case"responseLayout":n.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(l.propertyValue,n.componentId||t.id),n.updateUnifiedLayoutAfterResponseLayoutChanged(n.componentId),n.updateElementByParentContainer(t.id,e),delete t.responseLayout;break;case"class":n.updateUnifiedLayoutAfterControlChanged(l.propertyValue,t.id,this.componentId),n.updateElementByParentContainer(t.id,e);break}}}}getEditorProperties(t){return this.getComponentConfig(t)}changeControlType(t,e,n){var p,i,m,c;const l=e.propertyValue,d=n&&n.parent&&n.parent.schema;if(!d)return;const y=d.contents.findIndex(u=>u.id===t.id),f=d.contents[y];let s;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:l},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),s=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,l)),s||(s=this.controlCreatorUtils.createFormGroupWithoutField(l)),Object.assign(s,{id:f.id,appearance:f.appearance,size:f.size,label:f.label,binding:f.binding,visible:f.visible}),Object.assign(s.editor,{isTextArea:s.isTextArea&&f.isTextArea,placeholder:(p=f.editor)==null?void 0:p.placeholder,holdPlace:(i=f.editor)==null?void 0:i.holdPlace,readonly:(m=f.editor)==null?void 0:m.readonly,required:(c=f.editor)==null?void 0:c.required}),d.contents.splice(y,1),d.contents.splice(y,0,s),n.schema=Object.assign(f,s),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(u=>u.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(u=>u.classList.remove("dgComponentFocused")),X.value++}getComponentConfig(t,e={},n={},l){const d=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},e),y=Object.assign({readonly:{description:"",title:"只读",type:"boolean",editor:{enableClear:!0,editable:!0}},disabled:{description:"",title:"禁用",type:"boolean",visible:!1},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}},n);return{...d,properties:{...y},setPropertyRelates:l}}updateUnifiedLayoutAfterControlChanged(t,e,n){const l=t.split(" ");let d=l.find(i=>/^col-([1-9]|10|11|12)$/.test(i)),y=l.find(i=>/^col-md-([1-9]|10|11|12)$/.test(i)),f=l.find(i=>/^col-xl-([1-9]|10|11|12)$/.test(i)),s=l.find(i=>/^col-el-([1-9]|10|11|12)$/.test(i));d=d||"col-12",y=y||"col-md-"+d.replace("col-",""),f=f||"col-xl-"+y.replace("col-md-",""),s=s||"col-el-"+f.replace("col-xl-","");const p={id:e,columnInSM:parseInt(d.replace("col-",""),10),columnInMD:parseInt(y.replace("col-md-",""),10),columnInLG:parseInt(f.replace("col-xl-",""),10),columnInEL:parseInt(s.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(n,p)}updateUnifiedLayoutAfterResponseLayoutChanged(t,e){const{formNode:n}=this.responseLayoutEditorFunction.checkCanFindFormNode(t);if(!n||!n.unifiedLayout)return;const l=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(n,l,1),e){const u=l.find(g=>g.id===e.id);Object.assign(u||{},e)}const d=l.map(u=>u.columnInSM),y=l.map(u=>u.columnInMD),f=l.map(u=>u.columnInLG),s=l.map(u=>u.columnInEL),p=this.checkIsUniqueColumn(d)?d[0]:null,i=this.checkIsUniqueColumn(y)?y[0]:null,m=this.checkIsUniqueColumn(f)?f[0]:null,c=this.checkIsUniqueColumn(s)?s[0]:null;Object.assign(n.unifiedLayout,{uniqueColClassInSM:p,uniqueColClassInMD:i,uniqueColClassInLG:m,uniqueColClassInEL:c})}checkIsUniqueColumn(t){const e=new Set(t);return Array.from(e).length===1}getItemCollectionEditor(t,e,n){return e=e||"value",n=n||"name",{editor:{columns:[{field:e,title:"值",dataType:"string"},{field:n,title:"名称",dataType:"string"},{field:"disabled",title:"禁用",visible:!1,dataType:"boolean",editor:{type:"switch"}}],type:"item-collection-editor",valueField:e,nameField:n,requiredFields:[e,n],uniqueFields:[e,n],readonly:this.checkEnumDataReadonly(t)}}}checkEnumDataReadonly(t){return!t.binding||t.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===N.FormSchemaEntityFieldType$Type.EnumType)}}class ee extends _{constructor(r,t){super(r,t)}getEditorProperties(r){return{description:"编辑器",title:"编辑器",type:"avatar",$converter:"/converter/property-editor.converter",properties:{readonly:{description:"",title:"只读",type:"boolean"},avatarWidth:{description:"",title:"头像宽度",type:"number"},avatarHeight:{description:"",title:"头像高度",type:"number"},cover:{description:"",title:"封面",type:"string"}}}}}function te(o,r){const t=o.schema;function e(n,l){return new ee(n,r).getPropertyConfig(t,l)}return{getPropsConfig:e}}const ne=A.defineComponent({name:"FAvatarDesign",props:k,emits:["change","update:modelValue"],setup(o,r){const t=A.ref(),e=A.inject("designer-host-service"),n=A.inject("design-item-context"),l=te(n,e),d=P.useDesignerComponent(t,n,l);A.onMounted(()=>{t.value.componentInstance=d}),r.expose(d.value);const y=A.computed(()=>({"f-avatar":!0,"f-avatar-readonly":o.readonly,"f-avatar-circle":o.shape==="circle","f-avatar-square":o.shape==="square"})),f=A.ref(o.modelValue),s=A.computed(()=>({width:o.avatarWidth+"px",height:o.avatarHeight+"px"})),p=!1;function i(){return""}function m(){}const c=A.ref(null),{acceptTypes:u,imageSource:g,onClickImage:C}=x(o,r,c,f);return()=>A.createVNode("div",{ref:t,class:y.value,style:s.value,onClick:C},[p,A.createVNode("img",{title:o.title,class:"f-avatar-image",src:g.value,onError:i},null),!o.readonly&&A.createVNode("div",{class:"f-avatar-icon"},[A.createVNode("span",{class:"f-icon f-icon-camera"},null)]),A.createVNode("input",{ref:"file",name:"file-input",type:"file",class:"f-avatar-upload",accept:u.value,onChange:m,style:"display: none;"},null)])}});B.register=(o,r,t,e)=>{o.avatar=B,r.avatar=V},B.registerDesigner=(o,r,t)=>{o.avatar=ne,r.avatar=V};const ie=N.withInstall(B);b.FAvatar=B,b.avatarProps=k,b.default=ie,b.propsResolver=V,Object.defineProperties(b,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1064,7 +1064,8 @@ class ie extends je {
1064
1064
  disableOccupiedFields: !0
1065
1065
  },
1066
1066
  textField: "bindingField"
1067
- }
1067
+ },
1068
+ refreshPanelAfterChanged: !0
1068
1069
  }
1069
1070
  },
1070
1071
  setPropertyRelates(l, f) {
@@ -1 +1 @@
1
- (function(v,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("vue"),require("../common/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("lodash-es"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../common/index.umd.js","../dynamic-resolver/index.umd.js","lodash-es","../designer-canvas/index.umd.js"],l):(v=typeof globalThis<"u"?globalThis:v||self,l(v.checkbox={},v.Vue,v.common,v.dynamicResolver,v.LodashES,v.designerCanvas))})(this,function(v,l,w,R,N,W){"use strict";var ve=Object.defineProperty;var Fe=(v,l,w)=>l in v?ve(v,l,{enumerable:!0,configurable:!0,writable:!0,value:w}):v[l]=w;var C=(v,l,w)=>Fe(v,typeof l!="symbol"?l+"":l,w);const K={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/check-box.schema.json",title:"check-box",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a check box",type:"string"},type:{description:"The type string of check box component",type:"string",default:"check-box"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},text:{description:"",type:"string",default:""},value:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0},required:{description:"",type:"boolean",default:!1}},required:["type"],ignore:["id","appearance","binding","visible"]},z={},X={};function j(i){const{properties:t,title:e,ignore:n}=i,o=n&&Array.isArray(n),a=Object.keys(t).reduce((s,y)=>((!o||!n.find(h=>h===y))&&(s[y]=t[y].type==="object"&&t[y].properties?j(t[y]):N.cloneDeep(t[y].default)),s),{});if(e&&(!o||!n.find(s=>s==="id"))){const s=e.toLowerCase().replace(/-/g,"_");a.id=`${s}_${Math.random().toString().slice(2,6)}`}return a}function ee(i){const{properties:t,title:e,required:n}=i;if(n&&Array.isArray(n)){const o=n.reduce((a,s)=>(a[s]=t[s].type==="object"&&t[s].properties?j(t[s]):N.cloneDeep(t[s].default),a),{});if(e&&n.find(a=>a==="id")){const a=e.toLowerCase().replace(/-/g,"_");o.id=`${a}_${Math.random().toString().slice(2,6)}`}return o}return{type:e}}function _(i,t={},e){const n=z[i];if(n){let o=ee(n);const a=X[i];return o=a?a({getSchemaByType:_},o,t,e):o,o}return null}function te(i,t){const e=j(t);return Object.keys(e).reduce((n,o)=>(Object.prototype.hasOwnProperty.call(i,o)&&(n[o]&&N.isPlainObject(n[o])&&N.isPlainObject(i[o]||!i[o])?Object.assign(n[o],i[o]||{}):n[o]=i[o]),n),e),e}function ne(i,t){return Object.keys(i).filter(n=>i[n]!=null).reduce((n,o)=>{if(t.has(o)){const a=t.get(o);if(typeof a=="string")n[a]=i[o];else{const s=a(o,i[o],i);Object.assign(n,s)}}else n[o]=i[o];return n},{})}function oe(i,t,e=new Map){const n=te(i,t);return ne(n,e)}function ie(i={}){function t(c,f,r,p){if(typeof r=="number")return p[c].length===r;if(typeof r=="object"){const m=Object.keys(r)[0],d=r[m];if(m==="not")return Number(p[c].length)!==Number(d);if(m==="moreThan")return Number(p[c].length)>=Number(d);if(m==="lessThan")return Number(p[c].length)<=Number(d)}return!1}function e(c,f,r,p){return p[c]&&p[c].propertyValue&&String(p[c].propertyValue.value)===String(r)}const n=new Map([["length",t],["getProperty",e]]);Object.keys(i).reduce((c,f)=>(c.set(f,i[f]),c),n);function o(c,f){const r=c;return typeof f=="number"?[{target:r,operator:"length",param:null,value:Number(f)}]:typeof f=="boolean"?[{target:r,operator:"getProperty",param:c,value:!!f}]:typeof f=="object"?Object.keys(f).map(p=>{if(p==="length")return{target:r,operator:"length",param:null,value:f[p]};const m=p,d=f[p];return{target:r,operator:"getProperty",param:m,value:d}}):[]}function a(c){return Object.keys(c).reduce((r,p)=>{const m=o(p,c[p]);return r.push(...m),r},[])}function s(c,f){if(n.has(c.operator)){const r=n.get(c.operator);return r&&r(c.target,c.param,c.value,f)||!1}return!1}function y(c,f){return a(c).reduce((m,d)=>m&&s(d,f),!0)}function h(c,f){const r=Object.keys(c),p=r.includes("allOf"),m=r.includes("anyOf"),d=p||m,b=(d?c[d?p?"allOf":"anyOf":"allOf"]:[c]).map(T=>y(T,f));return p?!b.includes(!1):b.includes(!0)}return{parseValueSchema:h}}const u={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"},"query-solution":{type:"query-solution",name:"筛选方案",icon:"QueryScheme"}},re={},ae={};ie();function le(i,t,e=new Map,n=(s,y,h,c)=>y,o={},a=s=>s){return z[t.title]=t,X[t.title]=n,re[t.title]=o,ae[t.title]=a,(s={})=>{const y=oe(s,t,e),h=Object.keys(i).reduce((c,f)=>(c[f]=i[f].default,c),{});return Object.assign(h,y)}}function se(i,t){return{customClass:t.class,customStyle:t.style}}const H=new Map([["appearance",se]]);function Q(i,t,e){return t}const A={id:{Type:String,default:""},customClass:{Type:String,default:""},disabled:{Type:Boolean,default:!1},readonly:{type:Boolean,default:!1},indeterminate:{Type:Boolean,default:!1},modelValue:{Type:Boolean,default:!1},focusOnCreated:{type:Boolean,default:!1},value:{type:String,default:""},name:{type:String,default:""},checked:{type:Boolean,default:!1}},U=R.createPropsResolver(A,K,H,Q),ce=l.defineComponent({name:"FCheckboxButton",props:A,emits:["change","changeValue","update:modelValue","update:checked","click"],setup(i,t){const e=l.inject(w.CHECKBOX_CONTEXT,null),{buttonClass:n}=w.useCheck(i,t,e==null?void 0:e.parentProps,e==null?void 0:e.parentContext),o=a=>{a.stopPropagation(),t.emit("click",a)};return()=>{var a,s;return l.createVNode("div",{class:n.value,style:"border-radius:0;border: 1px solid #E8EBF2;",onClick:o},[(s=(a=t.slots).default)==null?void 0:s.call(a)])}}}),L=l.defineComponent({name:"FCheckbox",props:A,emits:["change","changeValue","update:modelValue","update:checked"],setup(i,t){const e=l.inject(w.CHECKBOX_CONTEXT,null),{checked:n,disabled:o,indeterminate:a,name:s,onClickCheckBox:y,shouldRenderButton:h,shouldRenderNative:c}=w.useCheck(i,t,e==null?void 0:e.parentProps,e==null?void 0:e.parentContext),f=l.ref(i.id);return l.onMounted(()=>{}),()=>{var r,p;return l.createVNode(l.Fragment,null,[h.value&&l.createVNode(ce,l.mergeProps(i,{onClick:y}),{default:()=>{var m,d;return[(d=(m=t.slots).default)==null?void 0:d.call(m)]}}),c.value&&l.createVNode("div",{class:"custom-control custom-checkbox",onClick:y},[l.createVNode("input",{id:f,title:"checkbox-input",type:"checkbox",class:"custom-control-input",checked:n.value,disabled:o.value,indeterminate:a.value,name:s.value,value:i.value},null),l.createVNode("div",{class:"custom-control-label"},[(p=(r=t.slots).default)==null?void 0:p.call(r)])])])}}}),de={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/check-box.schema.json",title:"check-group",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a check box",type:"string"},type:{description:"The type string of check box component",type:"string",default:"check-group"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},textField:{description:"",type:"string",default:"name"},valueField:{description:"",type:"string",default:"value"},data:{description:"",type:"array"},readonly:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},separator:{description:"",type:"string",default:","},name:{description:"",type:"string",default:""},required:{description:"",type:"boolean",default:!1},direction:{description:"",type:"string",default:"horizontal"}},required:["type"],ignore:["id","appearance","binding","visible"]},x={...{checked:{type:Boolean,default:!1},direction:{type:String,default:"horizontal"},type:{type:String,default:"default"},size:{type:String,default:"middle"},options:{type:Object,default:[]}},id:String,disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},enumData:{type:Array,default:[]},data:{type:Array,default:[]},isStringValue:{type:Boolean,default:!0},loadData:{type:Function},modelValue:[String,Array],name:{type:String,default:""},separator:{type:String,default:","},tabIndex:{type:Number,default:0},textField:{type:String,default:"name"},valueField:{type:String,default:"value"}},O=le(x,de,H,Q);function J(i,t,e){const n=l.computed(()=>!(i.readonly&&i.disabled)),o=l.ref(i.data||i.enumData||i.options);function a(r){return r[i.valueField]}function s(r){return r[i.textField]}function y(r){return r?i.isStringValue?r.split(i.separator):r:[]}function h(r){const m=o.value.map(d=>a(d)).filter(d=>r.some(g=>g===String(d)));return i.isStringValue?m.join(i.separator):m}function c(r){const p=String(a(r));return y(e.value).some(d=>d===p)}function f(r,p){if(n.value){let m=y(e.value)||[];const d=String(a(r));!m||!m.length?m.push(d):m.some(g=>g===d)?m=m.filter(g=>g!==d):m.push(d),e.value=h(m),t.emit("changeValue",e.value),t.emit("update:modelValue",e.value)}p.stopPropagation()}return l.watch(()=>i.data,()=>{o.value=i.data}),l.watch(()=>i.enumData,()=>{o.value=i.enumData}),{enumData:o,getValue:a,getText:s,checked:c,onClickCheckbox:f}}const E=l.defineComponent({name:"FCheckboxGroup",props:x,emits:["changeValue","update:modelValue"],setup(i,t){const e=l.ref(i.modelValue),n=l.ref(i.tabIndex),o=l.ref(i.name),{enumData:a,onClickCheckbox:s,getValue:y,getText:h,checked:c}=J(i,t,e),f=l.computed(()=>({"farris-checkradio-hor":i.direction==="horizontal"}));l.watch(()=>i.modelValue,p=>{e.value=p});const r=l.ref([]);return l.provide(w.CHECKBOX_CONTEXT,{values:r,parentProps:i,parentContext:t}),()=>l.createVNode("div",{class:["farris-input-wrap","f-checkbox-group",f.value]},[t.slots.default?t.slots.default():a.value.map((p,m)=>{const d="checkbox_"+o.value+m;return l.createVNode("div",{class:"custom-control custom-checkbox"},[l.createVNode("input",{type:"checkbox",class:"custom-control-input",name:o.value,id:d,value:y(p),checked:c(p),disabled:i.readonly||i.disabled,tabindex:n.value,onClick:g=>s(p,g)},null),l.createVNode("label",{class:"custom-control-label",for:d,title:h(p)},[h(p)])])})])}});function Y(i,t,e){var G;const n=e&&e.getStyles&&e.getStyles()||"",o=e&&e.getDesignerClass&&e.getDesignerClass()||"",a=l.ref();function s(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:e&&e.checkCanMoveComponent?e.checkCanMoveComponent():!0}function y(){return!1}function h(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:e&&e.checkCanDeleteComponent?e.checkCanDeleteComponent():!0}function c(){return(t==null?void 0:t.schema.componentType)==="frame"?!0:e&&e.hideNestedPaddingInDesginerView?e.hideNestedPaddingInDesginerView():!1}function f(k){if(!k||!k.value)return null;if(k.value.schema&&k.value.schema.type==="component")return k.value;const P=l.ref(k==null?void 0:k.value.parent),V=f(P);return V||null}function r(k=t){var D;const{componentInstance:P,designerItemElementRef:V}=k;if(!P||!P.value)return null;const{getCustomButtons:S}=P.value;return P.value.canMove||S&&((D=S())!=null&&D.length)?V:r(k.parent)}function p(k){return!!e&&e.canAccepts(k)}function m(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function d(){}function g(k,P){!k||!P||e!=null&&e.onAcceptMovedChildElement&&e.onAcceptMovedChildElement(k,P)}function M(k,P){const{componentType:V}=k;let S=_(V,k,P);e&&e.onResolveNewComponentSchema&&(S=e.onResolveNewComponentSchema(k,S));const D=V.toLowerCase().replace(/-/g,"_");return S&&!S.id&&S.type===V&&(S.id=`${D}_${Math.random().toString().slice(2,6)}`),S}function b(k){}function F(...k){if(e&&e.getPropsConfig)return e.getPropsConfig(...k)}function T(){e&&e.onRemoveComponent&&e.onRemoveComponent(),t!=null&&t.schema.contents&&t.schema.contents.map(k=>{let P=k.id;k.type==="component-ref"&&(P=k.component);const V=i.value.querySelectorAll(`#${P}-design-item`);V!=null&&V.length&&Array.from(V).map(S=>{var D;(D=S==null?void 0:S.componentInstance)!=null&&D.value.onRemoveComponent&&S.componentInstance.value.onRemoveComponent()})})}function B(){if(e&&e.getCustomButtons)return e.getCustomButtons()}function I(k){if(e&&e.onPropertyChanged)return e.onPropertyChanged(k)}return a.value={canMove:s(),canSelectParent:y(),canDelete:h(),canNested:!c(),contents:t==null?void 0:t.schema.contents,elementRef:i,parent:(G=t==null?void 0:t.parent)==null?void 0:G.componentInstance,schema:t==null?void 0:t.schema,styles:n,designerClass:o,canAccepts:p,getBelongedComponentInstance:f,getDraggableDesignItemElement:r,getDraggingDisplayText:m,getPropConfig:F,getDragScopeElement:d,onAcceptMovedChildElement:g,onChildElementMovedOut:b,addNewChildComponentSchema:M,triggerBelongedComponentToMoveWhenMoved:!!e&&e.triggerBelongedComponentToMoveWhenMoved||l.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!e&&e.triggerBelongedComponentToDeleteWhenDeleted||l.ref(!1),onRemoveComponent:T,getCustomButtons:B,onPropertyChanged:I},a}class pe{constructor(t,e){C(this,"componentId");C(this,"viewModelId");C(this,"eventsEditorUtils");C(this,"formSchemaUtils");C(this,"formMetadataConverter");C(this,"designViewModelUtils");C(this,"designViewModelField");C(this,"controlCreatorUtils");C(this,"designerHostService");C(this,"schemaService",null);C(this,"metadataService",null);C(this,"propertyConfig",{type:"object",categories:{}});var n;this.componentId=t,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((n=this.formSchemaUtils)==null?void 0:n.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){var n;const e=t.binding&&t.binding.type==="Form"&&t.binding.field;if(e){if(!this.designViewModelField){const o=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=o.fields.find(a=>a.id===e)}t.updateOn=(n=this.designViewModelField)==null?void 0:n.updateOn}}getBasicPropConfig(t){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",editable:!1,data:[{value:t.type,name:u[t.type].name}]}}}}}getAppearanceConfig(t=null){return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(t,e){const n=e&&e.parent&&e.parent.schema;if(!n)return;const o=n.contents.findIndex(s=>s.id===t),a=N.cloneDeep(n.contents[o]);n.contents.splice(o,1),n.contents.splice(o,0,a)}}const $=class ${static getEditorTypesByMDataType(t){const e=$.fieldControlTypeMapping[t];return e||[{key:"",value:""}]}static getAllInputTypes(){const t=[];for(const e in $.fieldControlTypeMapping)$.fieldControlTypeMapping[e].forEach(n=>{t.find(o=>o.key===n.key&&o.value===n.value)||t.push({key:n.key,value:n.value})});return t}static mappingDomPropAndSchemaProp(t){var o;const e=(o=t.editor)==null?void 0:o.type;if(!e)return[];const n=[];switch(n.push({domField:"editor.required",schemaField:"require"}),n.push({domField:"editor.readonly",schemaField:"readonly"}),e){case u["data-grid-column"].type:case u["tree-grid-column"].type:{n.push({domField:"title",schemaField:"name"});break}default:n.push({domField:"label",schemaField:"name"})}return(e===u["input-group"].type||e===u.textarea.type||e===u["number-spinner"].type)&&n.push({domField:"editor.maxLength",schemaField:"type.length"}),e===u["number-spinner"].type&&n.push({domField:"editor.precision",schemaField:"type.precision"}),(e===u["combo-list"].type||e===u["radio-group"].type)&&n.push({domField:"editor.data",schemaField:"type.enumValues"}),e===u["date-picker"].type&&(n.push({domField:"editor.displayFormat",schemaField:"editor.format"}),n.push({domField:"editor.fieldType",schemaField:"type.name"})),e===u["number-spinner"].type&&(n.push({domField:"editor.max",schemaField:"editor.maxValue"}),n.push({domField:"editor.min",schemaField:"editor.minValue"})),e===u.lookup.type&&(n.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),n.push({domField:"editor.valueField",schemaField:"editor.valueField"}),n.push({domField:"editor.textField",schemaField:"editor.textField"}),n.push({domField:"editor.displayType",schemaField:"editor.displayType"}),n.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),n.push({domField:"editor.helpId",schemaField:"editor.helpId"})),n.push({domField:"path",schemaField:"bindingPath"}),n.push({domField:"binding.path",schemaField:"bindingField"}),n.push({domField:"binding.fullPath",schemaField:"path"}),(e===u["data-grid-column"].type||e===u["tree-grid-column"].type)&&n.push({domField:"field",schemaField:"bindingPath"}),n}};C($,"fieldControlTypeMapping",{String:[{key:u["input-group"].type,value:u["input-group"].name},{key:u.lookup.type,value:u.lookup.name},{key:u["date-picker"].type,value:u["date-picker"].name},{key:u["check-group"].type,value:u["check-group"].name},{key:u["radio-group"].type,value:u["radio-group"].name},{key:u["combo-list"].type,value:u["combo-list"].name},{key:u.textarea.type,value:u.textarea.name}],Text:[{key:u.textarea.type,value:u.textarea.name},{key:u.lookup.type,value:u.lookup.name}],Decimal:[{key:u["number-spinner"].type,value:u["number-spinner"].name}],Integer:[{key:u["number-spinner"].type,value:u["number-spinner"].name}],Number:[{key:u["number-spinner"].type,value:u["number-spinner"].name}],BigNumber:[{key:u["number-spinner"].type,value:u["number-spinner"].name}],Date:[{key:u["date-picker"].type,value:u["date-picker"].name}],DateTime:[{key:u["date-picker"].type,value:u["date-picker"].name}],Boolean:[{key:u.switch.type,value:u.switch.name},{key:u["check-box"].type,value:u["check-box"].name}],Enum:[{key:u["combo-list"].type,value:u["combo-list"].name},{key:u["radio-group"].type,value:u["radio-group"].name}],Object:[{key:u.lookup.type,value:u.lookup.name},{key:u["combo-list"].type,value:u["combo-list"].name},{key:u["radio-group"].type,value:u["radio-group"].name}]});let q=$;const ue=l.ref(0);class me{constructor(){C(this,"label","");C(this,"id","");C(this,"columnInSM",12);C(this,"columnInMD",6);C(this,"columnInLG",3);C(this,"columnInEL",2);C(this,"displayWidthInSM",1);C(this,"displayWidthInMD",1);C(this,"displayWidthInLG",1);C(this,"displayWidthInEL",1);C(this,"displayColumnCountAtBreakPoint","md");C(this,"tagRow",0);C(this,"showTopBorder",0);C(this,"group",1);C(this,"isSupportedClass",!0);C(this,"fieldSetId","")}}function fe(i){let t,e;const n=new Map;let o=[];function a(f,r){const m=f.split(" ").filter(F=>F.startsWith("col-"));if(m.length===0){r.isSupportedClass=!1;return}let d=m.find(F=>/^col-([1-9]|10|11|12)$/.test(F)),g=m.find(F=>/^col-md-([1-9]|10|11|12)$/.test(F)),M=m.find(F=>/^col-xl-([1-9]|10|11|12)$/.test(F)),b=m.find(F=>/^col-el-([1-9]|10|11|12)$/.test(F));d=d||"col-12",r.columnInSM=parseInt(d.replace("col-",""),10),r.displayWidthInSM=r.columnInSM/12,r.displayWidthInSM!==1&&(r.isSupportedClass=!1),g=g||"col-md-"+r.columnInSM,r.columnInMD=parseInt(g.replace("col-md-",""),10),r.displayWidthInMD=r.columnInMD/6,[1,2].includes(r.displayWidthInMD)||(r.isSupportedClass=!1),M=M||"col-xl-"+r.columnInMD,r.columnInLG=parseInt(M.replace("col-xl-",""),10),r.displayWidthInLG=r.columnInLG/3,[1,2,3,4].includes(r.displayWidthInLG)||(r.isSupportedClass=!1),b=b||"col-el-"+r.columnInLG,r.columnInEL=parseInt(b.replace("col-el-",""),10),r.displayWidthInEL=r.columnInEL/2,[1,2,3,4,5,6].includes(r.displayWidthInEL)||(r.isSupportedClass=!1)}function s(f,r,p,m=!1){let d=!1;f.contents.forEach(g=>{if(g.type==="fieldset"){p+=1,s(g,r,p,!0),d=!0;return}d&&(p+=1,d=!1);const M=g.appearance&&g.appearance.class,b=new me;M?a(M,b):b.isSupportedClass=!1,b.label=g.label||g.id,b.id=g.id,b.group=p,m&&(b.fieldSetId=f.id),e===g.id&&(t=p),n.set(g.id,g),r.push(b)})}function y(f){const r=i.getComponentById(f);if(!r||!r.componentType||!r.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const p=i.selectNode(r,m=>m.type===W.DgControl["response-form"].type);return!p||!p.contents||p.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:p}}function h(f,r){r=r||f.id;const{result:p,message:m,formNode:d}=y(r);if(!p)return{result:p,message:m};e=f.id,o=[],n.clear();const g=d.contents[0].type===W.DgControl.fieldset.type?0:1;s(d,o,g);const M=o.find(F=>!F.isSupportedClass);return{defaultState:{defaultGroupNumber:t||1,model:M?"customize":"standard"},importData:o}}function c(f,r){r=r;const{result:p,formNode:m}=y(r);if(!p)return"";const d=[];return f.forEach(g=>{var F;const M=n.get(g.id),b=M.appearance&&M.appearance.class;if(b){const B=b.split(" ").filter(S=>!S.startsWith("col-")),I="col-"+g.columnInSM,G="col-md-"+g.columnInMD,k="col-xl-"+g.columnInLG,P="col-el-"+g.columnInEL,V=[I,G,k,P].concat(B);M.appearance.class=V.join(" ")}if(g.fieldSetId){const T=m.contents.find(I=>I.id===g.fieldSetId),B=d.find(I=>I.id===g.fieldSetId);B?(F=B.contents)==null||F.push(M):(d.push(T),T.contents=[M])}else d.push(M)}),m.contents=d,m.id}return{checkCanFindFormNode:y,checkCanOpenLayoutEditor:h,changeFormControlsByResponseLayoutConfig:c,getResonseFormLayoutConfig:s}}class Z extends pe{constructor(e,n){super(e,n);C(this,"responseLayoutEditorFunction");this.responseLayoutEditorFunction=fe(this.formSchemaUtils)}getPropertyConfig(e,n){return this.propertyConfig.categories.basic=this.getBasicProperties(e,n),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,n),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig}getBasicProperties(e,n){var a;const o=this;return this.setDesignViewModelField(e),{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",editable:!1,data:o.designViewModelField?q.getEditorTypesByMDataType((a=o.designViewModelField.type)==null?void 0:a.name):q.getAllInputTypes()}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:e,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"}}},setPropertyRelates(s,y){if(s)switch(s&&s.propertyID){case"type":{o.changeControlType(e,s,n);break}case"label":{s.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(e,n){const o=this;return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的内联样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",initialState:o.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,o.componentId)}}},setPropertyRelates(a,s){if(a)switch(a&&a.propertyID){case"responseLayout":o.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(a.propertyValue,o.componentId||e.id),o.updateUnifiedLayoutAfterResponseLayoutChanged(o.componentId),o.updateElementByParentContainer(e.id,n),delete e.responseLayout;break;case"class":o.updateUnifiedLayoutAfterControlChanged(a.propertyValue,e.id,this.componentId),o.updateElementByParentContainer(e.id,n);break}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,n,o){var f,r,p,m;const a=n.propertyValue,s=o&&o.parent&&o.parent.schema;if(!s)return;const y=s.contents.findIndex(d=>d.id===e.id),h=s.contents[y];let c;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:a},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),c=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,a)),c||(c=this.controlCreatorUtils.createFormGroupWithoutField(a)),Object.assign(c,{id:h.id,appearance:h.appearance,size:h.size,label:h.label,binding:h.binding,visible:h.visible}),Object.assign(c.editor,{isTextArea:c.isTextArea&&h.isTextArea,placeholder:(f=h.editor)==null?void 0:f.placeholder,holdPlace:(r=h.editor)==null?void 0:r.holdPlace,readonly:(p=h.editor)==null?void 0:p.readonly,required:(m=h.editor)==null?void 0:m.required}),s.contents.splice(y,1),s.contents.splice(y,0,c),o.schema=Object.assign(h,c),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(d=>d.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(d=>d.classList.remove("dgComponentFocused")),ue.value++}getComponentConfig(e,n={},o={},a){const s=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},n),y=Object.assign({readonly:{description:"",title:"只读",type:"boolean",editor:{enableClear:!0,editable:!0}},disabled:{description:"",title:"禁用",type:"boolean",visible:!1},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}},o);return{...s,properties:{...y},setPropertyRelates:a}}updateUnifiedLayoutAfterControlChanged(e,n,o){const a=e.split(" ");let s=a.find(r=>/^col-([1-9]|10|11|12)$/.test(r)),y=a.find(r=>/^col-md-([1-9]|10|11|12)$/.test(r)),h=a.find(r=>/^col-xl-([1-9]|10|11|12)$/.test(r)),c=a.find(r=>/^col-el-([1-9]|10|11|12)$/.test(r));s=s||"col-12",y=y||"col-md-"+s.replace("col-",""),h=h||"col-xl-"+y.replace("col-md-",""),c=c||"col-el-"+h.replace("col-xl-","");const f={id:n,columnInSM:parseInt(s.replace("col-",""),10),columnInMD:parseInt(y.replace("col-md-",""),10),columnInLG:parseInt(h.replace("col-xl-",""),10),columnInEL:parseInt(c.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(o,f)}updateUnifiedLayoutAfterResponseLayoutChanged(e,n){const{formNode:o}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!o||!o.unifiedLayout)return;const a=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(o,a,1),n){const d=a.find(g=>g.id===n.id);Object.assign(d||{},n)}const s=a.map(d=>d.columnInSM),y=a.map(d=>d.columnInMD),h=a.map(d=>d.columnInLG),c=a.map(d=>d.columnInEL),f=this.checkIsUniqueColumn(s)?s[0]:null,r=this.checkIsUniqueColumn(y)?y[0]:null,p=this.checkIsUniqueColumn(h)?h[0]:null,m=this.checkIsUniqueColumn(c)?c[0]:null;Object.assign(o.unifiedLayout,{uniqueColClassInSM:f,uniqueColClassInMD:r,uniqueColClassInLG:p,uniqueColClassInEL:m})}checkIsUniqueColumn(e){const n=new Set(e);return Array.from(n).length===1}getItemCollectionEditor(e,n,o){return n=n||"value",o=o||"name",{editor:{columns:[{field:n,title:"值",dataType:"string"},{field:o,title:"名称",dataType:"string"},{field:"disabled",title:"禁用",visible:!1,dataType:"boolean",editor:{type:"switch"}}],type:"item-collection-editor",valueField:n,nameField:o,requiredFields:[n,o],uniqueFields:[n,o],readonly:this.checkEnumDataReadonly(e)}}}checkEnumDataReadonly(e){return!e.binding||e.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===w.FormSchemaEntityFieldType$Type.EnumType)}}class ye extends Z{constructor(t,e){super(t,e)}getEditorProperties(t){const e=this,n=e.getComponentConfig(t,{type:"check-group"},{placeholder:{visible:!1},disabled:{visible:!1},direction:{description:"",title:"排列方向",type:"enum",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"horizontal",value:"横向"},{key:"vertical",value:"纵向"}]}},textField:{description:"",title:"文本字段",type:"string",visible:!1},valueField:{description:"",title:"值字段",type:"string",visible:!1},data:{description:"",title:"数据",type:"array",$converter:"/converter/enum-data.converter",...e.getItemCollectionEditor(t,t.editor.valueField,t.editor.textField),refreshPanelAfterChanged:!0}});return n.setPropertyRelates=function(o){if(o)switch(o.propertyID){case"data":{o.propertyValue.parameters&&(t.editor.valueField=o.propertyValue.parameters.valueField,t.editor.textField=o.propertyValue.parameters.nameField),t.formatter&&(t.formatter.data=[...o.propertyValue.value]);break}}},n}}class he extends Z{constructor(t,e){super(t,e)}getEditorProperties(t){return this.getComponentConfig(t,{type:"check-box"},{placeholder:{visible:!1},disabled:{visible:!1}})}}function ge(i,t){const e=i.schema;function n(o,a){return new ye(o,t).getPropertyConfig(e,a)}return{getPropsConfig:n}}function be(i,t){const e=i.schema;function n(o,a){return new he(o,t).getPropertyConfig(e,a)}return{getPropsConfig:n}}const ke=l.defineComponent({name:"FCheckboxGroupDesign",props:x,emits:["changeValue","update:modelValue"],setup(i,t){const e=l.ref(i.modelValue),n=l.ref(i.tabIndex),o=l.ref(i.name),a=l.computed(()=>({"farris-checkradio-hor":i.direction==="horizontal"})),{enumData:s,onClickCheckbox:y,getValue:h,getText:c,checked:f}=J(i,t,e),r=l.ref(),p=l.inject("designer-host-service"),m=l.inject("design-item-context"),d=ge(m,p),g=Y(r,m,d);l.onMounted(()=>{r.value.componentInstance=g});const M=l.computed(()=>{if(!s.value||s.value.length===0){const b=[];return[{value:"example1",name:"示例一"},{value:"example2",name:"示例二"}].map(F=>{const T={};T[i.valueField]=F.value,T[i.textField]=F.name,b.push(T)}),b}return s.value});return t.expose(g.value),l.watch(()=>i.modelValue,b=>{e.value=b,t.emit("changeValue",e.value)}),()=>l.createVNode("div",{ref:r,class:["farris-input-wrap",a.value]},[M.value.map((b,F)=>{const T="checkbox_"+o.value+F;return l.createVNode("div",{class:"custom-control custom-checkbox"},[l.createVNode("input",{type:"checkbox",class:"custom-control-input",name:o.value,id:T,value:h(b),checked:f(b),disabled:i.readonly||i.disabled,tabindex:n.value,onClick:B=>y(b,B)},null),l.createVNode("label",{class:"custom-control-label",for:T,title:c(b)},[c(b)])])})])}}),Ce=l.defineComponent({name:"FCheckBoxDesign",props:A,emits:[],setup(i,t){const e=l.ref(),n=l.ref(i.id),o=l.ref(i.indeterminate),a=l.inject("designer-host-service"),s=l.inject("design-item-context"),y=be(s,a),h=Y(e,s,y);return l.onMounted(()=>{e.value.componentInstance=h}),l.watch(()=>i.indeterminate,c=>{o.value=c}),t.expose(h.value),()=>l.createVNode("div",{ref:e,dragref:`${s.schema.id}-container`,class:"drag-container custom-control custom-checkbox"},[l.createVNode("input",{type:"checkbox",class:"custom-control-input",id:n,value:i.value,checked:!1,readonly:!0},null),l.createVNode("div",{class:"custom-control-label"},null)])}});E.install=i=>{i.component(E.name,E),i.component(L.name,L)},E.register=(i,t,e,n)=>{i["check-box"]=L,t["check-box"]=U,i["check-group"]=E,t["check-group"]=O},E.registerDesigner=(i,t,e)=>{i["check-box"]=Ce,t["check-box"]=U,i["check-group"]=ke,t["check-group"]=O},v.FCheckbox=L,v.FCheckboxGroup=E,v.checkBoxGroupPropsResolver=O,v.checkBoxProps=A,v.checkBoxPropsResolver=U,v.checkboxGroupProps=x,v.default=E,Object.defineProperties(v,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(v,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("vue"),require("../common/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("lodash-es"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../common/index.umd.js","../dynamic-resolver/index.umd.js","lodash-es","../designer-canvas/index.umd.js"],l):(v=typeof globalThis<"u"?globalThis:v||self,l(v.checkbox={},v.Vue,v.common,v.dynamicResolver,v.LodashES,v.designerCanvas))})(this,function(v,l,w,R,N,W){"use strict";var ve=Object.defineProperty;var Fe=(v,l,w)=>l in v?ve(v,l,{enumerable:!0,configurable:!0,writable:!0,value:w}):v[l]=w;var C=(v,l,w)=>Fe(v,typeof l!="symbol"?l+"":l,w);const K={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/check-box.schema.json",title:"check-box",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a check box",type:"string"},type:{description:"The type string of check box component",type:"string",default:"check-box"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},text:{description:"",type:"string",default:""},value:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0},required:{description:"",type:"boolean",default:!1}},required:["type"],ignore:["id","appearance","binding","visible"]},z={},X={};function j(i){const{properties:t,title:e,ignore:n}=i,o=n&&Array.isArray(n),a=Object.keys(t).reduce((s,h)=>((!o||!n.find(y=>y===h))&&(s[h]=t[h].type==="object"&&t[h].properties?j(t[h]):N.cloneDeep(t[h].default)),s),{});if(e&&(!o||!n.find(s=>s==="id"))){const s=e.toLowerCase().replace(/-/g,"_");a.id=`${s}_${Math.random().toString().slice(2,6)}`}return a}function ee(i){const{properties:t,title:e,required:n}=i;if(n&&Array.isArray(n)){const o=n.reduce((a,s)=>(a[s]=t[s].type==="object"&&t[s].properties?j(t[s]):N.cloneDeep(t[s].default),a),{});if(e&&n.find(a=>a==="id")){const a=e.toLowerCase().replace(/-/g,"_");o.id=`${a}_${Math.random().toString().slice(2,6)}`}return o}return{type:e}}function _(i,t={},e){const n=z[i];if(n){let o=ee(n);const a=X[i];return o=a?a({getSchemaByType:_},o,t,e):o,o}return null}function te(i,t){const e=j(t);return Object.keys(e).reduce((n,o)=>(Object.prototype.hasOwnProperty.call(i,o)&&(n[o]&&N.isPlainObject(n[o])&&N.isPlainObject(i[o]||!i[o])?Object.assign(n[o],i[o]||{}):n[o]=i[o]),n),e),e}function ne(i,t){return Object.keys(i).filter(n=>i[n]!=null).reduce((n,o)=>{if(t.has(o)){const a=t.get(o);if(typeof a=="string")n[a]=i[o];else{const s=a(o,i[o],i);Object.assign(n,s)}}else n[o]=i[o];return n},{})}function oe(i,t,e=new Map){const n=te(i,t);return ne(n,e)}function ie(i={}){function t(c,f,r,p){if(typeof r=="number")return p[c].length===r;if(typeof r=="object"){const m=Object.keys(r)[0],d=r[m];if(m==="not")return Number(p[c].length)!==Number(d);if(m==="moreThan")return Number(p[c].length)>=Number(d);if(m==="lessThan")return Number(p[c].length)<=Number(d)}return!1}function e(c,f,r,p){return p[c]&&p[c].propertyValue&&String(p[c].propertyValue.value)===String(r)}const n=new Map([["length",t],["getProperty",e]]);Object.keys(i).reduce((c,f)=>(c.set(f,i[f]),c),n);function o(c,f){const r=c;return typeof f=="number"?[{target:r,operator:"length",param:null,value:Number(f)}]:typeof f=="boolean"?[{target:r,operator:"getProperty",param:c,value:!!f}]:typeof f=="object"?Object.keys(f).map(p=>{if(p==="length")return{target:r,operator:"length",param:null,value:f[p]};const m=p,d=f[p];return{target:r,operator:"getProperty",param:m,value:d}}):[]}function a(c){return Object.keys(c).reduce((r,p)=>{const m=o(p,c[p]);return r.push(...m),r},[])}function s(c,f){if(n.has(c.operator)){const r=n.get(c.operator);return r&&r(c.target,c.param,c.value,f)||!1}return!1}function h(c,f){return a(c).reduce((m,d)=>m&&s(d,f),!0)}function y(c,f){const r=Object.keys(c),p=r.includes("allOf"),m=r.includes("anyOf"),d=p||m,b=(d?c[d?p?"allOf":"anyOf":"allOf"]:[c]).map(T=>h(T,f));return p?!b.includes(!1):b.includes(!0)}return{parseValueSchema:y}}const u={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"},"query-solution":{type:"query-solution",name:"筛选方案",icon:"QueryScheme"}},re={},ae={};ie();function le(i,t,e=new Map,n=(s,h,y,c)=>h,o={},a=s=>s){return z[t.title]=t,X[t.title]=n,re[t.title]=o,ae[t.title]=a,(s={})=>{const h=oe(s,t,e),y=Object.keys(i).reduce((c,f)=>(c[f]=i[f].default,c),{});return Object.assign(y,h)}}function se(i,t){return{customClass:t.class,customStyle:t.style}}const H=new Map([["appearance",se]]);function Q(i,t,e){return t}const A={id:{Type:String,default:""},customClass:{Type:String,default:""},disabled:{Type:Boolean,default:!1},readonly:{type:Boolean,default:!1},indeterminate:{Type:Boolean,default:!1},modelValue:{Type:Boolean,default:!1},focusOnCreated:{type:Boolean,default:!1},value:{type:String,default:""},name:{type:String,default:""},checked:{type:Boolean,default:!1}},U=R.createPropsResolver(A,K,H,Q),ce=l.defineComponent({name:"FCheckboxButton",props:A,emits:["change","changeValue","update:modelValue","update:checked","click"],setup(i,t){const e=l.inject(w.CHECKBOX_CONTEXT,null),{buttonClass:n}=w.useCheck(i,t,e==null?void 0:e.parentProps,e==null?void 0:e.parentContext),o=a=>{a.stopPropagation(),t.emit("click",a)};return()=>{var a,s;return l.createVNode("div",{class:n.value,style:"border-radius:0;border: 1px solid #E8EBF2;",onClick:o},[(s=(a=t.slots).default)==null?void 0:s.call(a)])}}}),L=l.defineComponent({name:"FCheckbox",props:A,emits:["change","changeValue","update:modelValue","update:checked"],setup(i,t){const e=l.inject(w.CHECKBOX_CONTEXT,null),{checked:n,disabled:o,indeterminate:a,name:s,onClickCheckBox:h,shouldRenderButton:y,shouldRenderNative:c}=w.useCheck(i,t,e==null?void 0:e.parentProps,e==null?void 0:e.parentContext),f=l.ref(i.id);return l.onMounted(()=>{}),()=>{var r,p;return l.createVNode(l.Fragment,null,[y.value&&l.createVNode(ce,l.mergeProps(i,{onClick:h}),{default:()=>{var m,d;return[(d=(m=t.slots).default)==null?void 0:d.call(m)]}}),c.value&&l.createVNode("div",{class:"custom-control custom-checkbox",onClick:h},[l.createVNode("input",{id:f,title:"checkbox-input",type:"checkbox",class:"custom-control-input",checked:n.value,disabled:o.value,indeterminate:a.value,name:s.value,value:i.value},null),l.createVNode("div",{class:"custom-control-label"},[(p=(r=t.slots).default)==null?void 0:p.call(r)])])])}}}),de={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/check-box.schema.json",title:"check-group",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a check box",type:"string"},type:{description:"The type string of check box component",type:"string",default:"check-group"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},textField:{description:"",type:"string",default:"name"},valueField:{description:"",type:"string",default:"value"},data:{description:"",type:"array"},readonly:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},separator:{description:"",type:"string",default:","},name:{description:"",type:"string",default:""},required:{description:"",type:"boolean",default:!1},direction:{description:"",type:"string",default:"horizontal"}},required:["type"],ignore:["id","appearance","binding","visible"]},x={...{checked:{type:Boolean,default:!1},direction:{type:String,default:"horizontal"},type:{type:String,default:"default"},size:{type:String,default:"middle"},options:{type:Object,default:[]}},id:String,disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},enumData:{type:Array,default:[]},data:{type:Array,default:[]},isStringValue:{type:Boolean,default:!0},loadData:{type:Function},modelValue:[String,Array],name:{type:String,default:""},separator:{type:String,default:","},tabIndex:{type:Number,default:0},textField:{type:String,default:"name"},valueField:{type:String,default:"value"}},O=le(x,de,H,Q);function J(i,t,e){const n=l.computed(()=>!(i.readonly&&i.disabled)),o=l.ref(i.data||i.enumData||i.options);function a(r){return r[i.valueField]}function s(r){return r[i.textField]}function h(r){return r?i.isStringValue?r.split(i.separator):r:[]}function y(r){const m=o.value.map(d=>a(d)).filter(d=>r.some(g=>g===String(d)));return i.isStringValue?m.join(i.separator):m}function c(r){const p=String(a(r));return h(e.value).some(d=>d===p)}function f(r,p){if(n.value){let m=h(e.value)||[];const d=String(a(r));!m||!m.length?m.push(d):m.some(g=>g===d)?m=m.filter(g=>g!==d):m.push(d),e.value=y(m),t.emit("changeValue",e.value),t.emit("update:modelValue",e.value)}p.stopPropagation()}return l.watch(()=>i.data,()=>{o.value=i.data}),l.watch(()=>i.enumData,()=>{o.value=i.enumData}),{enumData:o,getValue:a,getText:s,checked:c,onClickCheckbox:f}}const E=l.defineComponent({name:"FCheckboxGroup",props:x,emits:["changeValue","update:modelValue"],setup(i,t){const e=l.ref(i.modelValue),n=l.ref(i.tabIndex),o=l.ref(i.name),{enumData:a,onClickCheckbox:s,getValue:h,getText:y,checked:c}=J(i,t,e),f=l.computed(()=>({"farris-checkradio-hor":i.direction==="horizontal"}));l.watch(()=>i.modelValue,p=>{e.value=p});const r=l.ref([]);return l.provide(w.CHECKBOX_CONTEXT,{values:r,parentProps:i,parentContext:t}),()=>l.createVNode("div",{class:["farris-input-wrap","f-checkbox-group",f.value]},[t.slots.default?t.slots.default():a.value.map((p,m)=>{const d="checkbox_"+o.value+m;return l.createVNode("div",{class:"custom-control custom-checkbox"},[l.createVNode("input",{type:"checkbox",class:"custom-control-input",name:o.value,id:d,value:h(p),checked:c(p),disabled:i.readonly||i.disabled,tabindex:n.value,onClick:g=>s(p,g)},null),l.createVNode("label",{class:"custom-control-label",for:d,title:y(p)},[y(p)])])})])}});function Y(i,t,e){var G;const n=e&&e.getStyles&&e.getStyles()||"",o=e&&e.getDesignerClass&&e.getDesignerClass()||"",a=l.ref();function s(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:e&&e.checkCanMoveComponent?e.checkCanMoveComponent():!0}function h(){return!1}function y(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:e&&e.checkCanDeleteComponent?e.checkCanDeleteComponent():!0}function c(){return(t==null?void 0:t.schema.componentType)==="frame"?!0:e&&e.hideNestedPaddingInDesginerView?e.hideNestedPaddingInDesginerView():!1}function f(k){if(!k||!k.value)return null;if(k.value.schema&&k.value.schema.type==="component")return k.value;const P=l.ref(k==null?void 0:k.value.parent),V=f(P);return V||null}function r(k=t){var D;const{componentInstance:P,designerItemElementRef:V}=k;if(!P||!P.value)return null;const{getCustomButtons:S}=P.value;return P.value.canMove||S&&((D=S())!=null&&D.length)?V:r(k.parent)}function p(k){return!!e&&e.canAccepts(k)}function m(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function d(){}function g(k,P){!k||!P||e!=null&&e.onAcceptMovedChildElement&&e.onAcceptMovedChildElement(k,P)}function M(k,P){const{componentType:V}=k;let S=_(V,k,P);e&&e.onResolveNewComponentSchema&&(S=e.onResolveNewComponentSchema(k,S));const D=V.toLowerCase().replace(/-/g,"_");return S&&!S.id&&S.type===V&&(S.id=`${D}_${Math.random().toString().slice(2,6)}`),S}function b(k){}function F(...k){if(e&&e.getPropsConfig)return e.getPropsConfig(...k)}function T(){e&&e.onRemoveComponent&&e.onRemoveComponent(),t!=null&&t.schema.contents&&t.schema.contents.map(k=>{let P=k.id;k.type==="component-ref"&&(P=k.component);const V=i.value.querySelectorAll(`#${P}-design-item`);V!=null&&V.length&&Array.from(V).map(S=>{var D;(D=S==null?void 0:S.componentInstance)!=null&&D.value.onRemoveComponent&&S.componentInstance.value.onRemoveComponent()})})}function B(){if(e&&e.getCustomButtons)return e.getCustomButtons()}function I(k){if(e&&e.onPropertyChanged)return e.onPropertyChanged(k)}return a.value={canMove:s(),canSelectParent:h(),canDelete:y(),canNested:!c(),contents:t==null?void 0:t.schema.contents,elementRef:i,parent:(G=t==null?void 0:t.parent)==null?void 0:G.componentInstance,schema:t==null?void 0:t.schema,styles:n,designerClass:o,canAccepts:p,getBelongedComponentInstance:f,getDraggableDesignItemElement:r,getDraggingDisplayText:m,getPropConfig:F,getDragScopeElement:d,onAcceptMovedChildElement:g,onChildElementMovedOut:b,addNewChildComponentSchema:M,triggerBelongedComponentToMoveWhenMoved:!!e&&e.triggerBelongedComponentToMoveWhenMoved||l.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!e&&e.triggerBelongedComponentToDeleteWhenDeleted||l.ref(!1),onRemoveComponent:T,getCustomButtons:B,onPropertyChanged:I},a}class pe{constructor(t,e){C(this,"componentId");C(this,"viewModelId");C(this,"eventsEditorUtils");C(this,"formSchemaUtils");C(this,"formMetadataConverter");C(this,"designViewModelUtils");C(this,"designViewModelField");C(this,"controlCreatorUtils");C(this,"designerHostService");C(this,"schemaService",null);C(this,"metadataService",null);C(this,"propertyConfig",{type:"object",categories:{}});var n;this.componentId=t,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((n=this.formSchemaUtils)==null?void 0:n.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){var n;const e=t.binding&&t.binding.type==="Form"&&t.binding.field;if(e){if(!this.designViewModelField){const o=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=o.fields.find(a=>a.id===e)}t.updateOn=(n=this.designViewModelField)==null?void 0:n.updateOn}}getBasicPropConfig(t){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",editable:!1,data:[{value:t.type,name:u[t.type].name}]}}}}}getAppearanceConfig(t=null){return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(t,e){const n=e&&e.parent&&e.parent.schema;if(!n)return;const o=n.contents.findIndex(s=>s.id===t),a=N.cloneDeep(n.contents[o]);n.contents.splice(o,1),n.contents.splice(o,0,a)}}const $=class ${static getEditorTypesByMDataType(t){const e=$.fieldControlTypeMapping[t];return e||[{key:"",value:""}]}static getAllInputTypes(){const t=[];for(const e in $.fieldControlTypeMapping)$.fieldControlTypeMapping[e].forEach(n=>{t.find(o=>o.key===n.key&&o.value===n.value)||t.push({key:n.key,value:n.value})});return t}static mappingDomPropAndSchemaProp(t){var o;const e=(o=t.editor)==null?void 0:o.type;if(!e)return[];const n=[];switch(n.push({domField:"editor.required",schemaField:"require"}),n.push({domField:"editor.readonly",schemaField:"readonly"}),e){case u["data-grid-column"].type:case u["tree-grid-column"].type:{n.push({domField:"title",schemaField:"name"});break}default:n.push({domField:"label",schemaField:"name"})}return(e===u["input-group"].type||e===u.textarea.type||e===u["number-spinner"].type)&&n.push({domField:"editor.maxLength",schemaField:"type.length"}),e===u["number-spinner"].type&&n.push({domField:"editor.precision",schemaField:"type.precision"}),(e===u["combo-list"].type||e===u["radio-group"].type)&&n.push({domField:"editor.data",schemaField:"type.enumValues"}),e===u["date-picker"].type&&(n.push({domField:"editor.displayFormat",schemaField:"editor.format"}),n.push({domField:"editor.fieldType",schemaField:"type.name"})),e===u["number-spinner"].type&&(n.push({domField:"editor.max",schemaField:"editor.maxValue"}),n.push({domField:"editor.min",schemaField:"editor.minValue"})),e===u.lookup.type&&(n.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),n.push({domField:"editor.valueField",schemaField:"editor.valueField"}),n.push({domField:"editor.textField",schemaField:"editor.textField"}),n.push({domField:"editor.displayType",schemaField:"editor.displayType"}),n.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),n.push({domField:"editor.helpId",schemaField:"editor.helpId"})),n.push({domField:"path",schemaField:"bindingPath"}),n.push({domField:"binding.path",schemaField:"bindingField"}),n.push({domField:"binding.fullPath",schemaField:"path"}),(e===u["data-grid-column"].type||e===u["tree-grid-column"].type)&&n.push({domField:"field",schemaField:"bindingPath"}),n}};C($,"fieldControlTypeMapping",{String:[{key:u["input-group"].type,value:u["input-group"].name},{key:u.lookup.type,value:u.lookup.name},{key:u["date-picker"].type,value:u["date-picker"].name},{key:u["check-group"].type,value:u["check-group"].name},{key:u["radio-group"].type,value:u["radio-group"].name},{key:u["combo-list"].type,value:u["combo-list"].name},{key:u.textarea.type,value:u.textarea.name}],Text:[{key:u.textarea.type,value:u.textarea.name},{key:u.lookup.type,value:u.lookup.name}],Decimal:[{key:u["number-spinner"].type,value:u["number-spinner"].name}],Integer:[{key:u["number-spinner"].type,value:u["number-spinner"].name}],Number:[{key:u["number-spinner"].type,value:u["number-spinner"].name}],BigNumber:[{key:u["number-spinner"].type,value:u["number-spinner"].name}],Date:[{key:u["date-picker"].type,value:u["date-picker"].name}],DateTime:[{key:u["date-picker"].type,value:u["date-picker"].name}],Boolean:[{key:u.switch.type,value:u.switch.name},{key:u["check-box"].type,value:u["check-box"].name}],Enum:[{key:u["combo-list"].type,value:u["combo-list"].name},{key:u["radio-group"].type,value:u["radio-group"].name}],Object:[{key:u.lookup.type,value:u.lookup.name},{key:u["combo-list"].type,value:u["combo-list"].name},{key:u["radio-group"].type,value:u["radio-group"].name}]});let q=$;const ue=l.ref(0);class me{constructor(){C(this,"label","");C(this,"id","");C(this,"columnInSM",12);C(this,"columnInMD",6);C(this,"columnInLG",3);C(this,"columnInEL",2);C(this,"displayWidthInSM",1);C(this,"displayWidthInMD",1);C(this,"displayWidthInLG",1);C(this,"displayWidthInEL",1);C(this,"displayColumnCountAtBreakPoint","md");C(this,"tagRow",0);C(this,"showTopBorder",0);C(this,"group",1);C(this,"isSupportedClass",!0);C(this,"fieldSetId","")}}function fe(i){let t,e;const n=new Map;let o=[];function a(f,r){const m=f.split(" ").filter(F=>F.startsWith("col-"));if(m.length===0){r.isSupportedClass=!1;return}let d=m.find(F=>/^col-([1-9]|10|11|12)$/.test(F)),g=m.find(F=>/^col-md-([1-9]|10|11|12)$/.test(F)),M=m.find(F=>/^col-xl-([1-9]|10|11|12)$/.test(F)),b=m.find(F=>/^col-el-([1-9]|10|11|12)$/.test(F));d=d||"col-12",r.columnInSM=parseInt(d.replace("col-",""),10),r.displayWidthInSM=r.columnInSM/12,r.displayWidthInSM!==1&&(r.isSupportedClass=!1),g=g||"col-md-"+r.columnInSM,r.columnInMD=parseInt(g.replace("col-md-",""),10),r.displayWidthInMD=r.columnInMD/6,[1,2].includes(r.displayWidthInMD)||(r.isSupportedClass=!1),M=M||"col-xl-"+r.columnInMD,r.columnInLG=parseInt(M.replace("col-xl-",""),10),r.displayWidthInLG=r.columnInLG/3,[1,2,3,4].includes(r.displayWidthInLG)||(r.isSupportedClass=!1),b=b||"col-el-"+r.columnInLG,r.columnInEL=parseInt(b.replace("col-el-",""),10),r.displayWidthInEL=r.columnInEL/2,[1,2,3,4,5,6].includes(r.displayWidthInEL)||(r.isSupportedClass=!1)}function s(f,r,p,m=!1){let d=!1;f.contents.forEach(g=>{if(g.type==="fieldset"){p+=1,s(g,r,p,!0),d=!0;return}d&&(p+=1,d=!1);const M=g.appearance&&g.appearance.class,b=new me;M?a(M,b):b.isSupportedClass=!1,b.label=g.label||g.id,b.id=g.id,b.group=p,m&&(b.fieldSetId=f.id),e===g.id&&(t=p),n.set(g.id,g),r.push(b)})}function h(f){const r=i.getComponentById(f);if(!r||!r.componentType||!r.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const p=i.selectNode(r,m=>m.type===W.DgControl["response-form"].type);return!p||!p.contents||p.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:p}}function y(f,r){r=r||f.id;const{result:p,message:m,formNode:d}=h(r);if(!p)return{result:p,message:m};e=f.id,o=[],n.clear();const g=d.contents[0].type===W.DgControl.fieldset.type?0:1;s(d,o,g);const M=o.find(F=>!F.isSupportedClass);return{defaultState:{defaultGroupNumber:t||1,model:M?"customize":"standard"},importData:o}}function c(f,r){r=r;const{result:p,formNode:m}=h(r);if(!p)return"";const d=[];return f.forEach(g=>{var F;const M=n.get(g.id),b=M.appearance&&M.appearance.class;if(b){const B=b.split(" ").filter(S=>!S.startsWith("col-")),I="col-"+g.columnInSM,G="col-md-"+g.columnInMD,k="col-xl-"+g.columnInLG,P="col-el-"+g.columnInEL,V=[I,G,k,P].concat(B);M.appearance.class=V.join(" ")}if(g.fieldSetId){const T=m.contents.find(I=>I.id===g.fieldSetId),B=d.find(I=>I.id===g.fieldSetId);B?(F=B.contents)==null||F.push(M):(d.push(T),T.contents=[M])}else d.push(M)}),m.contents=d,m.id}return{checkCanFindFormNode:h,checkCanOpenLayoutEditor:y,changeFormControlsByResponseLayoutConfig:c,getResonseFormLayoutConfig:s}}class Z extends pe{constructor(e,n){super(e,n);C(this,"responseLayoutEditorFunction");this.responseLayoutEditorFunction=fe(this.formSchemaUtils)}getPropertyConfig(e,n){return this.propertyConfig.categories.basic=this.getBasicProperties(e,n),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,n),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig}getBasicProperties(e,n){var a;const o=this;return this.setDesignViewModelField(e),{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",editable:!1,data:o.designViewModelField?q.getEditorTypesByMDataType((a=o.designViewModelField.type)==null?void 0:a.name):q.getAllInputTypes()}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:e,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0}},setPropertyRelates(s,h){if(s)switch(s&&s.propertyID){case"type":{o.changeControlType(e,s,n);break}case"label":{s.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(e,n){const o=this;return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的内联样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",initialState:o.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,o.componentId)}}},setPropertyRelates(a,s){if(a)switch(a&&a.propertyID){case"responseLayout":o.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(a.propertyValue,o.componentId||e.id),o.updateUnifiedLayoutAfterResponseLayoutChanged(o.componentId),o.updateElementByParentContainer(e.id,n),delete e.responseLayout;break;case"class":o.updateUnifiedLayoutAfterControlChanged(a.propertyValue,e.id,this.componentId),o.updateElementByParentContainer(e.id,n);break}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,n,o){var f,r,p,m;const a=n.propertyValue,s=o&&o.parent&&o.parent.schema;if(!s)return;const h=s.contents.findIndex(d=>d.id===e.id),y=s.contents[h];let c;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:a},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),c=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,a)),c||(c=this.controlCreatorUtils.createFormGroupWithoutField(a)),Object.assign(c,{id:y.id,appearance:y.appearance,size:y.size,label:y.label,binding:y.binding,visible:y.visible}),Object.assign(c.editor,{isTextArea:c.isTextArea&&y.isTextArea,placeholder:(f=y.editor)==null?void 0:f.placeholder,holdPlace:(r=y.editor)==null?void 0:r.holdPlace,readonly:(p=y.editor)==null?void 0:p.readonly,required:(m=y.editor)==null?void 0:m.required}),s.contents.splice(h,1),s.contents.splice(h,0,c),o.schema=Object.assign(y,c),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(d=>d.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(d=>d.classList.remove("dgComponentFocused")),ue.value++}getComponentConfig(e,n={},o={},a){const s=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},n),h=Object.assign({readonly:{description:"",title:"只读",type:"boolean",editor:{enableClear:!0,editable:!0}},disabled:{description:"",title:"禁用",type:"boolean",visible:!1},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}},o);return{...s,properties:{...h},setPropertyRelates:a}}updateUnifiedLayoutAfterControlChanged(e,n,o){const a=e.split(" ");let s=a.find(r=>/^col-([1-9]|10|11|12)$/.test(r)),h=a.find(r=>/^col-md-([1-9]|10|11|12)$/.test(r)),y=a.find(r=>/^col-xl-([1-9]|10|11|12)$/.test(r)),c=a.find(r=>/^col-el-([1-9]|10|11|12)$/.test(r));s=s||"col-12",h=h||"col-md-"+s.replace("col-",""),y=y||"col-xl-"+h.replace("col-md-",""),c=c||"col-el-"+y.replace("col-xl-","");const f={id:n,columnInSM:parseInt(s.replace("col-",""),10),columnInMD:parseInt(h.replace("col-md-",""),10),columnInLG:parseInt(y.replace("col-xl-",""),10),columnInEL:parseInt(c.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(o,f)}updateUnifiedLayoutAfterResponseLayoutChanged(e,n){const{formNode:o}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!o||!o.unifiedLayout)return;const a=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(o,a,1),n){const d=a.find(g=>g.id===n.id);Object.assign(d||{},n)}const s=a.map(d=>d.columnInSM),h=a.map(d=>d.columnInMD),y=a.map(d=>d.columnInLG),c=a.map(d=>d.columnInEL),f=this.checkIsUniqueColumn(s)?s[0]:null,r=this.checkIsUniqueColumn(h)?h[0]:null,p=this.checkIsUniqueColumn(y)?y[0]:null,m=this.checkIsUniqueColumn(c)?c[0]:null;Object.assign(o.unifiedLayout,{uniqueColClassInSM:f,uniqueColClassInMD:r,uniqueColClassInLG:p,uniqueColClassInEL:m})}checkIsUniqueColumn(e){const n=new Set(e);return Array.from(n).length===1}getItemCollectionEditor(e,n,o){return n=n||"value",o=o||"name",{editor:{columns:[{field:n,title:"值",dataType:"string"},{field:o,title:"名称",dataType:"string"},{field:"disabled",title:"禁用",visible:!1,dataType:"boolean",editor:{type:"switch"}}],type:"item-collection-editor",valueField:n,nameField:o,requiredFields:[n,o],uniqueFields:[n,o],readonly:this.checkEnumDataReadonly(e)}}}checkEnumDataReadonly(e){return!e.binding||e.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===w.FormSchemaEntityFieldType$Type.EnumType)}}class he extends Z{constructor(t,e){super(t,e)}getEditorProperties(t){const e=this,n=e.getComponentConfig(t,{type:"check-group"},{placeholder:{visible:!1},disabled:{visible:!1},direction:{description:"",title:"排列方向",type:"enum",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"horizontal",value:"横向"},{key:"vertical",value:"纵向"}]}},textField:{description:"",title:"文本字段",type:"string",visible:!1},valueField:{description:"",title:"值字段",type:"string",visible:!1},data:{description:"",title:"数据",type:"array",$converter:"/converter/enum-data.converter",...e.getItemCollectionEditor(t,t.editor.valueField,t.editor.textField),refreshPanelAfterChanged:!0}});return n.setPropertyRelates=function(o){if(o)switch(o.propertyID){case"data":{o.propertyValue.parameters&&(t.editor.valueField=o.propertyValue.parameters.valueField,t.editor.textField=o.propertyValue.parameters.nameField),t.formatter&&(t.formatter.data=[...o.propertyValue.value]);break}}},n}}class ye extends Z{constructor(t,e){super(t,e)}getEditorProperties(t){return this.getComponentConfig(t,{type:"check-box"},{placeholder:{visible:!1},disabled:{visible:!1}})}}function ge(i,t){const e=i.schema;function n(o,a){return new he(o,t).getPropertyConfig(e,a)}return{getPropsConfig:n}}function be(i,t){const e=i.schema;function n(o,a){return new ye(o,t).getPropertyConfig(e,a)}return{getPropsConfig:n}}const ke=l.defineComponent({name:"FCheckboxGroupDesign",props:x,emits:["changeValue","update:modelValue"],setup(i,t){const e=l.ref(i.modelValue),n=l.ref(i.tabIndex),o=l.ref(i.name),a=l.computed(()=>({"farris-checkradio-hor":i.direction==="horizontal"})),{enumData:s,onClickCheckbox:h,getValue:y,getText:c,checked:f}=J(i,t,e),r=l.ref(),p=l.inject("designer-host-service"),m=l.inject("design-item-context"),d=ge(m,p),g=Y(r,m,d);l.onMounted(()=>{r.value.componentInstance=g});const M=l.computed(()=>{if(!s.value||s.value.length===0){const b=[];return[{value:"example1",name:"示例一"},{value:"example2",name:"示例二"}].map(F=>{const T={};T[i.valueField]=F.value,T[i.textField]=F.name,b.push(T)}),b}return s.value});return t.expose(g.value),l.watch(()=>i.modelValue,b=>{e.value=b,t.emit("changeValue",e.value)}),()=>l.createVNode("div",{ref:r,class:["farris-input-wrap",a.value]},[M.value.map((b,F)=>{const T="checkbox_"+o.value+F;return l.createVNode("div",{class:"custom-control custom-checkbox"},[l.createVNode("input",{type:"checkbox",class:"custom-control-input",name:o.value,id:T,value:y(b),checked:f(b),disabled:i.readonly||i.disabled,tabindex:n.value,onClick:B=>h(b,B)},null),l.createVNode("label",{class:"custom-control-label",for:T,title:c(b)},[c(b)])])})])}}),Ce=l.defineComponent({name:"FCheckBoxDesign",props:A,emits:[],setup(i,t){const e=l.ref(),n=l.ref(i.id),o=l.ref(i.indeterminate),a=l.inject("designer-host-service"),s=l.inject("design-item-context"),h=be(s,a),y=Y(e,s,h);return l.onMounted(()=>{e.value.componentInstance=y}),l.watch(()=>i.indeterminate,c=>{o.value=c}),t.expose(y.value),()=>l.createVNode("div",{ref:e,dragref:`${s.schema.id}-container`,class:"drag-container custom-control custom-checkbox"},[l.createVNode("input",{type:"checkbox",class:"custom-control-input",id:n,value:i.value,checked:!1,readonly:!0},null),l.createVNode("div",{class:"custom-control-label"},null)])}});E.install=i=>{i.component(E.name,E),i.component(L.name,L)},E.register=(i,t,e,n)=>{i["check-box"]=L,t["check-box"]=U,i["check-group"]=E,t["check-group"]=O},E.registerDesigner=(i,t,e)=>{i["check-box"]=Ce,t["check-box"]=U,i["check-group"]=ke,t["check-group"]=O},v.FCheckbox=L,v.FCheckboxGroup=E,v.checkBoxGroupPropsResolver=O,v.checkBoxProps=A,v.checkBoxPropsResolver=U,v.checkboxGroupProps=x,v.default=E,Object.defineProperties(v,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -2461,7 +2461,8 @@ class rn extends ln {
2461
2461
  disableOccupiedFields: !0
2462
2462
  },
2463
2463
  textField: "bindingField"
2464
- }
2464
+ },
2465
+ refreshPanelAfterChanged: !0
2465
2466
  }
2466
2467
  },
2467
2468
  setPropertyRelates(s, u) {