@farris/ui-vue 1.7.0-beta.3 → 1.7.0-beta.4

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 (99) hide show
  1. package/components/avatar/index.esm.js +10 -1
  2. package/components/avatar/index.umd.cjs +1 -1
  3. package/components/calendar/index.esm.js +178 -176
  4. package/components/calendar/index.umd.cjs +2 -2
  5. package/components/collection-property-editor/index.esm.js +48 -46
  6. package/components/collection-property-editor/index.umd.cjs +2 -2
  7. package/components/combo-list/index.esm.js +319 -300
  8. package/components/combo-list/index.umd.cjs +1 -1
  9. package/components/comment/index.esm.js +2287 -1161
  10. package/components/comment/index.umd.cjs +7 -7
  11. package/components/component/index.esm.js +3 -1
  12. package/components/component/index.umd.cjs +2 -2
  13. package/components/condition/index.esm.js +926 -901
  14. package/components/condition/index.umd.cjs +2 -2
  15. package/components/data-view/index.esm.js +898 -899
  16. package/components/data-view/index.umd.cjs +1 -1
  17. package/components/drawer/index.esm.js +3 -1
  18. package/components/drawer/index.umd.cjs +2 -2
  19. package/components/dynamic-form/index.esm.js +239 -221
  20. package/components/dynamic-form/index.umd.cjs +1 -1
  21. package/components/dynamic-resolver/index.esm.js +11 -9
  22. package/components/dynamic-resolver/index.umd.cjs +2 -2
  23. package/components/expression-editor/index.esm.js +1299 -1279
  24. package/components/expression-editor/index.umd.cjs +4 -4
  25. package/components/filter-bar/index.esm.js +731 -678
  26. package/components/filter-bar/index.umd.cjs +2 -2
  27. package/components/filter-condition-editor/index.esm.js +1792 -1772
  28. package/components/filter-condition-editor/index.umd.cjs +4 -4
  29. package/components/image/index.esm.js +246 -240
  30. package/components/image/index.umd.cjs +2 -2
  31. package/components/language-textbox/index.esm.js +9 -7
  32. package/components/language-textbox/index.umd.cjs +2 -2
  33. package/components/list-view/index.esm.js +1 -1
  34. package/components/list-view/index.umd.cjs +1 -1
  35. package/components/locale/index.esm.js +2009 -886
  36. package/components/locale/index.umd.cjs +6 -6
  37. package/components/number-range/index.esm.js +190 -181
  38. package/components/number-range/index.umd.cjs +1 -1
  39. package/components/order/index.esm.js +734 -714
  40. package/components/order/index.umd.cjs +5 -5
  41. package/components/property-panel/index.esm.js +60 -49
  42. package/components/property-panel/index.umd.cjs +3 -3
  43. package/components/query-solution/index.esm.js +2461 -2500
  44. package/components/query-solution/index.umd.cjs +6 -6
  45. package/components/radio-group/index.esm.js +30 -30
  46. package/components/radio-group/index.umd.cjs +1 -1
  47. package/components/schema-selector/index.esm.js +238 -238
  48. package/components/schema-selector/index.umd.cjs +4 -4
  49. package/components/section/index.esm.js +217 -302
  50. package/components/section/index.umd.cjs +2 -2
  51. package/components/sort-condition-editor/index.esm.js +1793 -1773
  52. package/components/sort-condition-editor/index.umd.cjs +4 -4
  53. package/components/transfer/index.esm.js +155 -155
  54. package/components/transfer/index.umd.cjs +3 -3
  55. package/designer/data-grid/index.esm.js +895 -867
  56. package/designer/data-grid/index.umd.cjs +5 -5
  57. package/designer/data-view/index.esm.js +145 -144
  58. package/designer/data-view/index.umd.cjs +2 -2
  59. package/designer/drawer/index.esm.js +73 -71
  60. package/designer/drawer/index.umd.cjs +2 -2
  61. package/designer/dynamic-form/index.esm.js +87 -65
  62. package/designer/dynamic-form/index.umd.cjs +2 -2
  63. package/designer/farris-designer.all.esm.js +14 -3
  64. package/designer/farris-designer.all.umd.cjs +3 -3
  65. package/designer/input-group/index.esm.js +34 -14
  66. package/designer/input-group/index.umd.cjs +1 -1
  67. package/designer/list-view/index.esm.js +1 -1
  68. package/designer/list-view/index.umd.cjs +1 -1
  69. package/designer/radio-group/index.esm.js +15 -2
  70. package/designer/radio-group/index.umd.cjs +1 -1
  71. package/designer/section/index.esm.js +129 -119
  72. package/designer/section/index.umd.cjs +1 -1
  73. package/designer/time-picker/index.esm.js +140 -131
  74. package/designer/time-picker/index.umd.cjs +1 -1
  75. package/farris.all.esm.js +13578 -12394
  76. package/farris.all.umd.cjs +26 -26
  77. package/index.css +1 -1
  78. package/locales/data-grid/ui/en.json +2 -1
  79. package/locales/data-grid/ui/zh-CHS.json +2 -1
  80. package/locales/data-grid/ui/zh-CHT.json +2 -1
  81. package/locales/designer/en.json +12 -10
  82. package/locales/designer/zh-CHS.json +19 -17
  83. package/locales/designer/zh-CHT.json +19 -17
  84. package/locales/ui/en.json +4 -2
  85. package/locales/ui/zh-CHS.json +11 -9
  86. package/locales/ui/zh-CHT.json +11 -9
  87. package/package.json +1 -1
  88. package/package.zip +0 -0
  89. package/types/combo-list/src/composition/types.d.ts +1 -0
  90. package/types/condition/src/composition/condition-value/number-spinner-value.d.ts +1 -1
  91. package/types/condition/src/composition/use-field-config.d.ts +1 -1
  92. package/types/condition/src/condition.props.d.ts +1 -1
  93. package/types/data-view/designer/property-config/use-command-option.d.ts +12 -0
  94. package/types/image/src/property-config/image.property-config.d.ts +5 -5
  95. package/types/locale/src/lib/locale.service.d.ts +2 -2
  96. package/types/property-panel/src/composition/entity/input-base-property.d.ts +7 -0
  97. package/types/query-solution/src/designer/query-solution-config/composition/use-util.d.ts +0 -20
  98. package/types/section/src/designer/section.design.props.d.ts +17 -0
  99. package/types/section/src/section.props.d.ts +0 -25
@@ -45,11 +45,11 @@ context: 提供一些时间转换方法,以及获取日程数据的方法
45
45
  view: 'year' | 'month' | 'week' | 'day'
46
46
  */
47
47
  ${n}
48
- `])])])};class et extends Le.BaseControlProperty{constructor(r,i){super(r,i);Pe(this,"treeNodeStatus",r=>((r.raw.$type!=="SimpleField"||r.raw.selectable===!1)&&(r.disabled=!0),r))}getPropertyConfig(r){return this.getBasicPropConfig(r),this.propertyConfig.categories.appearance=this.getAppearanceConfig(r),this.propertyConfig.categories.behavior=this.getBehaviorConfig(r),this.propertyConfig.categories.calendar=this.getCalendarConfig(r),this.propertyConfig.categories.eventsEditor=this.getEventPropConfig(r),this.propertyConfig}getBehaviorConfig(r){return{description:"Basic Infomation",title:"行为",properties:{visible:{description:"运行时组件是否可见",title:"是否可见",type:"boolean",editor:this.getPropertyEditorParams(r,["Const","Variable"])}}}}getBasicPropConfig(r){var b,O,V;const i=(V=(O=(b=this.formSchemaUtils.getFormSchema())==null?void 0:b.module)==null?void 0:O.entity[0])==null?void 0:V.entities[0],v=this.assembleSchemaEntityToTree(i,0),N=this,g=super.getBasicPropConfig(r);this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{...g.properties,dataSource:{description:"绑定数据源",title:"绑定数据源",editor:{type:"combo-tree",textField:"name",valueField:"label",data:v,editable:!1,enableClear:!1},readonly:!1}},setPropertyRelates(y,a){switch(y&&y.propertyID){case"dataSource":{const d=N.formSchemaUtils.getViewModelById(N.viewModelId);if(d){const w=v.find(o=>o.label===y.propertyValue);d.bindTo=w.bindTo}N.designViewModelUtils.assembleDesignViewModel();break}}}}}assembleSchemaEntityToTree(r,i,v,N="",g=[]){const b=N?`${N}/${r.label}`:"/";return g.push({id:r.id,name:r.name,label:r.label,layer:i,parent:v&&v.id,bindTo:b.replace("//","/")}),r.type.entities&&r.type.entities.length&&r.type.entities.map(O=>this.assembleSchemaEntityToTree(O,i+1,r,b,g)),g}onlySelectDateField(r){return r.filter(i=>{var v,N;((v=i.data.type)==null?void 0:v.$type)==="DateType"||((N=i.data.type)==null?void 0:N.$type)==="DateTimeType"?i.selectable=!0:i.selectable=!1,i.children&&i.children.length&&this.onlySelectDateField(i.children)}),r}getCalendarConfig(r){const i=this,v=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId),N=this.onlySelectDateField(H.cloneDeep(v)),g={idField:"bindingPath",type:"combo-tree",textField:"name",valueField:"bindingPath",data:v,editable:!1,enableClear:!1};return{description:"日历组件配置",title:"日历配置",properties:{activeDate:{description:"",title:"默认显示日期",type:"string",editor:this.getPropertyEditorParams(r,["Variable","Expression"],"compute")},enableMoreView:{description:"",title:"启用多视图",type:"boolean",default:!1,refreshPanelAfterChanged:!0},defaultView:{description:"",title:"默认视图",type:"string",refreshPanelAfterChanged:!0,editor:{type:"combo-list",idField:"value",valueField:"value",textField:"label",data:[{label:"年",value:"year"},{label:"月",value:"month"}]}},highLightWeekend:{description:"是否高亮周末",title:"高亮周六日",type:"boolean",visible:r.defaultView==="month"||r.enableMoreView},firstDayOfTheWeek:{description:"",title:"每周起始日",type:"string",editor:{type:"combo-list",idField:"value",valueField:"value",textField:"label",data:[{label:"星期日",value:"Sun"},{label:"星期一",value:"Mon"}]},visible:r.defaultView==="month"||r.enableMoreView},enableCrossDay:{description:"",title:"允许跨天",type:"boolean",refreshPanelAfterChanged:!0,visible:r.defaultView==="month"||r.enableMoreView},eventDateField:{description:"",title:"日期字段",type:"string",editor:{...g,data:N,customRowStatus:this.treeNodeStatus},visible:!r.enableCrossDay},startDateField:{description:"",title:"开始日期字段",type:"string",editor:{...g,data:N,customRowStatus:this.treeNodeStatus},visible:!!r.enableCrossDay},endDateField:{description:"",title:"结束日期字段",type:"string",editor:{...g,data:N,customRowStatus:this.treeNodeStatus},visible:!!r.enableCrossDay},idField:{description:"",title:"标识字段",type:"string",editor:{...g}},textField:{description:"",title:"文本字段",type:"string",editor:{...g}},eventItemFormatter:{description:"",title:"自定义内容",type:"string",editor:{type:"code-editor",language:"javascript",leftTemplate:Ke}},customEventStyles:{description:"",title:"自定义样式",type:"string",editor:{type:"code-editor",language:"javascript",leftTemplate:Ze}}},setPropertyRelates(b,O){if(b)switch(b.propertyID){case"activeDate":i.afterMutilEditorChanged(r,b);break;case"enableMoreView":case"defaultView":!r.enableMoreView&&r.defaultView==="year"&&(r.enableCrossDay=!1);break}}}}getEventPropConfig(r){const i=this,v=[{label:"onEventClick",name:"日程点击事件"},{label:"onDateChange",name:"日期切换事件"},{label:"onMoreClick",name:"显示更多点击事件"},{label:"onViewChange",name:"视图切换事件"}],N=i.eventsEditorUtils.formProperties(r,i.viewModelId,v);return{title:"事件",hideTitle:!0,properties:i.createBaseEventProperty(N),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(b,O){const V=b.propertyValue;delete O[i.viewModelId],V&&i.eventsEditorUtils.saveRelatedParameters(O,i.viewModelId,V.events,V);const y=i.designViewModelUtils.getDgViewModel(i.viewModelId);y&&i.designViewModelField&&y.changeField(i.designViewModelField.id,{valueChanging:O.fieldValueChanging,valueChanged:O.fieldValueChanged})}}}}function tt(e,n){const r=e.schema,i=t.ref(!0),v=t.ref(!0);function N(a){return!1}function g(){return!1}function b(){return!1}function O(){return!0}function V(a){return new et(a,n).getPropertyConfig(r)}function y(){var a,d,w,o;if(e&&n){const l=(a=e==null?void 0:e.componentInstance)==null?void 0:a.value.belongedComponentId;let p="",f="";const{formSchemaUtils:F}=n;if(l){const D=F.getRootViewModelId(),m=F.getComponentByViewModelId(D),h=F.selectNode(m,P=>P.contents&&P.contents.find(j=>j.component===l));(h==null?void 0:h.type)===((d=fe["tab-page"])==null?void 0:d.type)&&((w=h==null?void 0:h.contents)!=null&&w.length)&&(p=h.title||""),(h==null?void 0:h.type)===((o=fe.section)==null?void 0:o.type)&&(h==null?void 0:h.showHeader)!==!1&&(p=h.mainTitle||""),p=p?`${p} > `:"",f=p?h.id:""}const s=fe.calendar.name;n==null||n.formSchemaUtils.getControlBasicInfoMap().set(e.schema.id,{componentTitle:s,parentPathName:`${p}${s}`,reliedComponentId:f})}}return{canAccepts:N,checkCanDeleteComponent:g,checkCanMoveComponent:b,hideNestedPaddingInDesginerView:O,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:v,getPropsConfig:V,setComponentBasicInfoMap:y}}const nt=t.defineComponent({name:"FCalendarDesign",props:oe,emits:[],setup(e,n){const r=t.ref(),i=t.inject("design-item-context"),v=t.inject("designer-host-service"),N=tt(i,v),g=re.useDesignerComponent(r,i,N);t.onMounted(()=>{r.value.componentInstance=g}),n.expose(g.value);const b=t.computed(()=>{const O={minHeight:"800px"};return A.getCustomStyle(O,e==null?void 0:e.customStyle)});return()=>t.createVNode("div",{ref:r,class:"h-100",style:b.value},[t.createVNode(G,{style:"pointer-events: none;",enableMoreView:e.enableMoreView,defaultView:e.defaultView,firstDayOfTheWeek:e.firstDayOfTheWeek,highLightWeekend:e.highLightWeekend},null)])}});function Te(e,n){let r;function i(a){const{properties:d,title:w,ignore:o}=a,l=o&&Array.isArray(o),p=Object.keys(d).reduce((f,F)=>((!l||!o.find(s=>s===F))&&(f[F]=d[F].type==="object"&&d[F].properties?i(d[F]):H.cloneDeep(d[F].default)),f),{});if(w&&(!l||!o.find(f=>f==="id"))){const f=w.toLowerCase().replace(/-/g,"_");p.id=`${f}_${Math.random().toString().slice(2,6)}`}return p}function v(a){const{properties:d,title:w,required:o}=a;if(o&&Array.isArray(o)){const l=o.reduce((p,f)=>(p[f]=d[f].type==="object"&&d[f].properties?i(d[f]):H.cloneDeep(d[f].default),p),{});if(w&&o.find(p=>p==="id")){const p=w.toLowerCase().replace(/-/g,"_");l.id=`${p}_${Math.random().toString().slice(2,6)}`}return l}return{type:w}}function N(a,d={},w){const o=e[a];if(o){let l=v(o);const p=n[a];return l=p?p({getSchemaByType:N},l,d,w):l,r!=null&&r.appendIdentifyForNewControl&&r.appendIdentifyForNewControl(l),l}return null}function g(a,d){const w=i(d);return Object.keys(w).reduce((o,l)=>(Object.prototype.hasOwnProperty.call(a,l)&&(o[l]&&H.isPlainObject(o[l])&&H.isPlainObject(a[l]||!a[l])?Object.assign(o[l],a[l]||{}):o[l]=a[l]),o),w),w}function b(a,d){return Object.keys(a).filter(o=>a[o]!=null).reduce((o,l)=>{if(d.has(l)){const p=d.get(l);if(typeof p=="string")o[p]=a[l];else{const f=p(l,a[l],a);Object.assign(o,f)}}else o[l]=a[l];return o},{})}function O(a,d,w=new Map){const o=g(a,d);return b(o,w)}function V(a){var w;const d=a.type;if(d){const o=e[d];if(!o)return a;const l=g(a,o),p=((w=a.editor)==null?void 0:w.type)||"";if(p){const f=e[p],F=g(a.editor,f);l.editor=F}return l}return a}function y(a){r=a}return{getSchemaByType:N,resolveSchemaWithDefaultValue:V,resolveSchemaToProps:O,mappingSchemaToProps:b,setDesignerContext:y}}const at={},rt={},{resolveSchemaWithDefaultValue:ot}=Te(at,rt);function it(e={}){function n(V,y,a,d){if(typeof a=="number")return d[V].length===a;if(typeof a=="object"){const w=Object.keys(a)[0],o=a[w];if(w==="not")return Number(d[V].length)!==Number(o);if(w==="moreThan")return Number(d[V].length)>=Number(o);if(w==="lessThan")return Number(d[V].length)<=Number(o)}return!1}function r(V,y,a,d){return d[V]&&d[V].propertyValue&&String(d[V].propertyValue.value)===String(a)}const i=new Map([["length",n],["getProperty",r]]);Object.keys(e).reduce((V,y)=>(V.set(y,e[y]),V),i);function v(V,y){const a=V;return typeof y=="number"?[{target:a,operator:"length",param:null,value:Number(y)}]:typeof y=="boolean"?[{target:a,operator:"getProperty",param:V,value:!!y}]:typeof y=="object"?Object.keys(y).map(d=>{if(d==="length")return{target:a,operator:"length",param:null,value:y[d]};const w=d,o=y[d];return{target:a,operator:"getProperty",param:w,value:o}}):[]}function N(V){return Object.keys(V).reduce((a,d)=>{const w=v(d,V[d]);return a.push(...w),a},[])}function g(V,y){if(i.has(V.operator)){const a=i.get(V.operator);return a&&a(V.target,V.param,V.value,y)||!1}return!1}function b(V,y){return N(V).reduce((w,o)=>w&&g(o,y),!0)}function O(V,y){const a=Object.keys(V),d=a.includes("allOf"),w=a.includes("anyOf"),o=d||w,f=(o?V[o?d?"allOf":"anyOf":"allOf"]:[V]).map(s=>b(s,y));return d?!f.includes(!1):f.includes(!0)}return{parseValueSchema:O}}const lt={convertTo:(e,n,r,i)=>{e.appearance||(e.appearance={}),e.appearance[n]=r},convertFrom:(e,n,r)=>e.appearance?e.appearance[n]:e[n]},st={convertFrom:(e,n,r)=>e.buttons&&e.buttons.length?`共 ${e.buttons.length} 项`:"无"},ct={convertTo:(e,n,r,i)=>{e.editor&&(e.editor[n]=r)},convertFrom:(e,n,r)=>e.editor&&Object.prototype.hasOwnProperty.call(e.editor,n)?e.editor[n]:e[n]},dt={convertFrom:(e,n,r)=>{var v;const i=e.editor&&e.editor[n]?e.editor[n]:e[n];return((v=fe[i])==null?void 0:v.name)||i}},ut={convertTo:(e,n,r,i)=>{e[n]=e[n]},convertFrom:(e,n,r)=>e.editor?r.getRealEditorType(e.editor.type):""},ft={convertTo:(e,n,r,i)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e.formatter?e.formatter[n]=r:e.formatter={[n]:r})},convertFrom:(e,n,r)=>{if(e.formatter){if(n==="trueText")return e.formatter.trueText;if(n==="falseText")return e.formatter.falseText;if(n==="prefix")return e.formatter.prefix;if(n==="suffix")return e.formatter.suffix;if(n==="precision")return e.formatter.precision;if(n==="decimal")return e.formatter.decimal;if(n==="thousand")return e.formatter.thousand;if(n==="dateFormat")return e.formatter.dateFormat||"yyyy-MM-dd";if(n==="customFormat")return e.formatter.customFormat;if(n==="type")return e.formatter.type||"none"}return"none"}},mt={convertTo:(e,n,r,i)=>{e.command?e.command[n]=r:e.command={[n]:r},n==="enableType"&&r==="default"&&(e.command.enable=!0,e.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]),n==="enableType"&&r==="custom"&&(e.command.enable=!0,e.command.commands=[{value:"add",text:"增加",type:"link"},{value:"edit",text:"编辑",type:"danger"},{value:"remove",text:"删除",type:"remove"}]),n==="enableType"&&r==="unable"&&(e.command.enable=!1)},convertFrom:(e,n,r)=>{var i,v;if(e.command){if(n==="enableType"){const N=(v=(i=e.command)==null?void 0:i.commands)==null?void 0:v.find(g=>g.command==="edit"&&g.type==="primary");return e.command.enable?N?"default":"custom":"unable"}if(n==="commands")return e.command.enableType==="custom"?e.command.commands:[]}return""}},yt={convertTo:(e,n,r,i)=>{e.column?e.column[n]=r:e.column={[n]:r},n==="fitColumns"&&r&&(e.column.fitMode||(e.column.fitMode="average"))},convertFrom:(e,n,r)=>{if(e.column){if(n==="fitColumns")return e.column.fitColumns;if(n==="fitMode")return e.column.fitMode}return""}},pt={convertTo:(e,n,r,i)=>{e.summary?e.summary[n]=r:e.summary={[n]:r},n==="enable"&&r&&(e.summary?e.summary.groupFields||(e.summary.groupFields=[]):e.summary={enable:r,groupFields:[]})},convertFrom:(e,n,r)=>e.summary&&n==="enable"?e.summary.enable:e.type==="data-grid-column"?e.enableSummary===void 0?!1:e.enableSummary:""},ht={convertTo:(e,n,r,i)=>{e.group?e.group[n]=r:e.group={[n]:r},n==="enable"&&r&&(e.group?e.group.groupFields||(e.group.groupFields=[]):e.group={enable:r,groupFields:[],showSummary:!1})},convertFrom:(e,n,r)=>{if(e.group){if(n==="enable")return e.group.enable;if(n==="showSummary")return e.group.showSummary}}},vt={convertFrom:(e,n)=>e.binding?e.binding.path:"",convertTo:(e,n,r)=>{if(r&&r.length>0){const i=r[0];e.binding||(e.binding={}),e.binding.type="Form",e.binding.path=i.bindingField,e.binding.field=i.id,e.binding.fullPath=i.path,e.path=i.bindingPath}}},gt={convertTo:(e,n,r,i)=>{e.pagination||(e.pagination={}),e.pagination[n]=r},convertFrom:(e,n,r)=>e.pagination?e.pagination[n]:e[n]},bt={convertTo:(e,n,r,i)=>{e.rowNumber||(e.rowNumber={}),e.rowNumber[n]=r},convertFrom:(e,n,r)=>e.rowNumber?e.rowNumber[n]:e[n]},wt={convertTo:(e,n,r,i)=>{e.selection||(e.selection={}),e.selection[n]=r},convertFrom:(e,n,r)=>{var i,v;return n==="showCheckbox"?(i=e.selection)!=null&&i.multiSelect?!0:(v=e.selection)==null?void 0:v.showCheckbox:e.selection?e.selection[n]:e[n]}},Ct={convertFrom:(e,n,r)=>e[n]&&e[n].length?`共 ${e[n].length} 项`:""},Dt={convertFrom:(e,n)=>e[n]||"",convertTo:(e,n,r)=>{e[n]=r}},Vt={convertTo:(e,n,r,i)=>{e.size||(e.size={}),e.size[n]=r},convertFrom:(e,n,r)=>e.size?e.size[n]:e[n]},Nt={convertFrom:(e,n,r)=>{var i,v;return(i=e.formatter)!=null&&i.data&&n==="formatterEnumData"&&!e.formatterEnumData?(v=e.formatter)==null?void 0:v.data:e.formatterEnumData}},Tt={convertTo:(e,n,r,i)=>{e.sort||(e.sort={}),e.sort[n]=r},convertFrom:(e,n,r)=>{var i,v;if(n==="mode")return((i=e.sort)==null?void 0:i.mode)||"client";if(n==="multiSort")return!!((v=e.sort)!=null&&v.multiSort)}},Mt={convertTo:(e,n,r,i)=>{e.filter||(e.filter={}),e.filter[n]=r},convertFrom:(e,n,r)=>{var i;if(n==="mode")return((i=e.filter)==null?void 0:i.mode)||"client"}},kt={convertTo:(e,n,r,i)=>{e.rowOption?e.rowOption[n]=r:e.rowOption={[n]:r}},convertFrom:(e,n,r)=>{if(e.rowOption){if(n==="customRowStyle")return e.rowOption.customRowStyle;if(n==="customCellStyle")return e.rowOption.customCellStyle}return""}},St={convertTo:(e,n,r,i)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e[n]=r,n==="columnTemplateType"&&r==="hyperlink"&&(e.onClickLinkCommand?e.columnTemplate=`
48
+ `])])])};class et extends Le.BaseControlProperty{constructor(r,i){super(r,i);Pe(this,"treeNodeStatus",r=>((r.raw.$type!=="SimpleField"||r.raw.selectable===!1)&&(r.disabled=!0),r))}getPropertyConfig(r){return this.getBasicPropConfig(r),this.propertyConfig.categories.appearance=this.getAppearanceConfig(r),this.propertyConfig.categories.behavior=this.getBehaviorConfig(r),this.propertyConfig.categories.calendar=this.getCalendarConfig(r),this.propertyConfig.categories.eventsEditor=this.getEventPropConfig(r),this.propertyConfig}getBehaviorConfig(r){return{description:"Basic Infomation",title:"行为",properties:{visible:{description:"运行时组件是否可见",title:"是否可见",type:"boolean",editor:this.getPropertyEditorParams(r,["Const","Variable"])}}}}getBasicPropConfig(r){var b,O,V;const i=(V=(O=(b=this.formSchemaUtils.getFormSchema())==null?void 0:b.module)==null?void 0:O.entity[0])==null?void 0:V.entities[0],v=this.assembleSchemaEntityToTree(i,0),N=this,g=super.getBasicPropConfig(r);this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{...g.properties,dataSource:{description:"绑定数据源",title:"绑定数据源",editor:{type:"combo-tree",textField:"name",valueField:"label",data:v,editable:!1,enableClear:!1},readonly:!1}},setPropertyRelates(y,a){switch(y&&y.propertyID){case"dataSource":{const d=N.formSchemaUtils.getViewModelById(N.viewModelId);if(d){const w=v.find(o=>o.label===y.propertyValue);d.bindTo=w.bindTo}N.designViewModelUtils.assembleDesignViewModel();break}}}}}assembleSchemaEntityToTree(r,i,v,N="",g=[]){const b=N?`${N}/${r.label}`:"/";return g.push({id:r.id,name:r.name,label:r.label,layer:i,parent:v&&v.id,bindTo:b.replace("//","/")}),r.type.entities&&r.type.entities.length&&r.type.entities.map(O=>this.assembleSchemaEntityToTree(O,i+1,r,b,g)),g}onlySelectDateField(r){return r.filter(i=>{var v,N;((v=i.data.type)==null?void 0:v.$type)==="DateType"||((N=i.data.type)==null?void 0:N.$type)==="DateTimeType"?i.selectable=!0:i.selectable=!1,i.children&&i.children.length&&this.onlySelectDateField(i.children)}),r}getCalendarConfig(r){const i=this,v=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId),N=this.onlySelectDateField(H.cloneDeep(v)),g={idField:"bindingPath",type:"combo-tree",textField:"name",valueField:"bindingPath",data:v,editable:!1,enableClear:!1};return{description:"日历组件配置",title:"日历配置",properties:{activeDate:{description:"",title:"默认显示日期",type:"string",editor:this.getPropertyEditorParams(r,["Variable","Expression"],"compute")},enableMoreView:{description:"",title:"启用多视图",type:"boolean",default:!1,refreshPanelAfterChanged:!0},defaultView:{description:"",title:"默认视图",type:"string",refreshPanelAfterChanged:!0,editor:{type:"combo-list",idField:"value",valueField:"value",textField:"label",data:[{label:"年",value:"year"},{label:"月",value:"month"}]}},highLightWeekend:{description:"是否高亮周末",title:"高亮周六日",type:"boolean",visible:r.defaultView==="month"||r.enableMoreView},firstDayOfTheWeek:{description:"",title:"每周起始日",type:"string",editor:{type:"combo-list",idField:"value",valueField:"value",textField:"label",data:[{label:"星期日",value:"Sun"},{label:"星期一",value:"Mon"}]},visible:r.defaultView==="month"||r.enableMoreView},enableCrossDay:{description:"",title:"允许跨天",type:"boolean",refreshPanelAfterChanged:!0,visible:r.defaultView==="month"||r.enableMoreView},eventDateField:{description:"",title:"日期字段",type:"string",editor:{...g,data:N,customRowStatus:this.treeNodeStatus},visible:!r.enableCrossDay},startDateField:{description:"",title:"开始日期字段",type:"string",editor:{...g,data:N,customRowStatus:this.treeNodeStatus},visible:!!r.enableCrossDay},endDateField:{description:"",title:"结束日期字段",type:"string",editor:{...g,data:N,customRowStatus:this.treeNodeStatus},visible:!!r.enableCrossDay},idField:{description:"",title:"标识字段",type:"string",editor:{...g}},textField:{description:"",title:"文本字段",type:"string",editor:{...g}},eventItemFormatter:{description:"",title:"自定义内容",type:"string",editor:{type:"code-editor",language:"javascript",leftTemplate:Ke}},customEventStyles:{description:"",title:"自定义样式",type:"string",editor:{type:"code-editor",language:"javascript",leftTemplate:Ze}}},setPropertyRelates(b,O){if(b)switch(b.propertyID){case"activeDate":i.afterMutilEditorChanged(r,b);break;case"enableMoreView":case"defaultView":!r.enableMoreView&&r.defaultView==="year"&&(r.enableCrossDay=!1);break}}}}getEventPropConfig(r){const i=this,v=[{label:"onEventClick",name:"日程点击事件"},{label:"onDateChange",name:"日期切换事件"},{label:"onMoreClick",name:"显示更多点击事件"},{label:"onViewChange",name:"视图切换事件"}],N=i.eventsEditorUtils.formProperties(r,i.viewModelId,v);return{title:"事件",hideTitle:!0,properties:i.createBaseEventProperty(N),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(b,O){const V=b.propertyValue;delete O[i.viewModelId],V&&i.eventsEditorUtils.saveRelatedParameters(O,i.viewModelId,V.events,V);const y=i.designViewModelUtils.getDgViewModel(i.viewModelId);y&&i.designViewModelField&&y.changeField(i.designViewModelField.id,{valueChanging:O.fieldValueChanging,valueChanged:O.fieldValueChanged})}}}}function tt(e,n){const r=e.schema,i=t.ref(!0),v=t.ref(!0);function N(a){return!1}function g(){return!1}function b(){return!1}function O(){return!0}function V(a){return new et(a,n).getPropertyConfig(r)}function y(){var a,d,w,o;if(e&&n){const l=(a=e==null?void 0:e.componentInstance)==null?void 0:a.value.belongedComponentId;let p="",f="";const{formSchemaUtils:F}=n;if(l){const D=F.getRootViewModelId(),m=F.getComponentByViewModelId(D),h=F.selectNode(m,P=>P.contents&&P.contents.find(j=>j.component===l));(h==null?void 0:h.type)===((d=fe["tab-page"])==null?void 0:d.type)&&((w=h==null?void 0:h.contents)!=null&&w.length)&&(p=h.title||""),(h==null?void 0:h.type)===((o=fe.section)==null?void 0:o.type)&&(h==null?void 0:h.showHeader)!==!1&&(p=h.mainTitle||""),p=p?`${p} > `:"",f=p?h.id:""}const s=fe.calendar.name;n==null||n.formSchemaUtils.getControlBasicInfoMap().set(e.schema.id,{componentTitle:s,parentPathName:`${p}${s}`,reliedComponentId:f})}}return{canAccepts:N,checkCanDeleteComponent:g,checkCanMoveComponent:b,hideNestedPaddingInDesginerView:O,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:v,getPropsConfig:V,setComponentBasicInfoMap:y}}const nt=t.defineComponent({name:"FCalendarDesign",props:oe,emits:[],setup(e,n){const r=t.ref(),i=t.inject("design-item-context"),v=t.inject("designer-host-service"),N=tt(i,v),g=re.useDesignerComponent(r,i,N);t.onMounted(()=>{r.value.componentInstance=g}),n.expose(g.value);const b=t.computed(()=>{const O={minHeight:"800px"};return A.getCustomStyle(O,e==null?void 0:e.customStyle)});return()=>t.createVNode("div",{ref:r,class:"h-100",style:b.value},[t.createVNode(G,{style:"pointer-events: none;",enableMoreView:e.enableMoreView,defaultView:e.defaultView,firstDayOfTheWeek:e.firstDayOfTheWeek,highLightWeekend:e.highLightWeekend},null)])}});function Te(e,n){let r;function i(a){const{properties:d,title:w,ignore:o}=a,l=o&&Array.isArray(o),p=Object.keys(d).reduce((f,F)=>((!l||!o.find(s=>s===F))&&(f[F]=d[F].type==="object"&&d[F].properties?i(d[F]):H.cloneDeep(d[F].default)),f),{});if(w&&(!l||!o.find(f=>f==="id"))){const f=w.toLowerCase().replace(/-/g,"_");p.id=`${f}_${Math.random().toString().slice(2,6)}`}return p}function v(a){const{properties:d,title:w,required:o}=a;if(o&&Array.isArray(o)){const l=o.reduce((p,f)=>(p[f]=d[f].type==="object"&&d[f].properties?i(d[f]):H.cloneDeep(d[f].default),p),{});if(w&&o.find(p=>p==="id")){const p=w.toLowerCase().replace(/-/g,"_");l.id=`${p}_${Math.random().toString().slice(2,6)}`}return l}return{type:w}}function N(a,d={},w){const o=e[a];if(o){let l=v(o);const p=n[a];return l=p?p({getSchemaByType:N},l,d,w):l,r!=null&&r.appendIdentifyForNewControl&&r.appendIdentifyForNewControl(l),l}return null}function g(a,d){const w=i(d);return Object.keys(w).reduce((o,l)=>(Object.prototype.hasOwnProperty.call(a,l)&&(o[l]&&H.isPlainObject(o[l])&&H.isPlainObject(a[l]||!a[l])?Object.assign(o[l],a[l]||{}):o[l]=a[l]),o),w),w}function b(a,d){return Object.keys(a).filter(o=>a[o]!=null).reduce((o,l)=>{if(d.has(l)){const p=d.get(l);if(typeof p=="string")o[p]=a[l];else{const f=p(l,a[l],a);Object.assign(o,f)}}else o[l]=a[l];return o},{})}function O(a,d,w=new Map){const o=g(a,d);return b(o,w)}function V(a){var w;const d=a.type;if(d){const o=e[d];if(!o)return a;const l=g(a,o),p=((w=a.editor)==null?void 0:w.type)||"";if(p){const f=e[p],F=g(a.editor,f);l.editor=F}return l}return a}function y(a){r=a}return{getSchemaByType:N,resolveSchemaWithDefaultValue:V,resolveSchemaToProps:O,mappingSchemaToProps:b,setDesignerContext:y}}const at={},rt={},{resolveSchemaWithDefaultValue:ot}=Te(at,rt);function it(e={}){function n(V,y,a,d){if(typeof a=="number")return d[V].length===a;if(typeof a=="object"){const w=Object.keys(a)[0],o=a[w];if(w==="not")return Number(d[V].length)!==Number(o);if(w==="moreThan")return Number(d[V].length)>=Number(o);if(w==="lessThan")return Number(d[V].length)<=Number(o)}return!1}function r(V,y,a,d){return d[V]&&d[V].propertyValue&&String(d[V].propertyValue.value)===String(a)}const i=new Map([["length",n],["getProperty",r]]);Object.keys(e).reduce((V,y)=>(V.set(y,e[y]),V),i);function v(V,y){const a=V;return typeof y=="number"?[{target:a,operator:"length",param:null,value:Number(y)}]:typeof y=="boolean"?[{target:a,operator:"getProperty",param:V,value:!!y}]:typeof y=="object"?Object.keys(y).map(d=>{if(d==="length")return{target:a,operator:"length",param:null,value:y[d]};const w=d,o=y[d];return{target:a,operator:"getProperty",param:w,value:o}}):[]}function N(V){return Object.keys(V).reduce((a,d)=>{const w=v(d,V[d]);return a.push(...w),a},[])}function g(V,y){if(i.has(V.operator)){const a=i.get(V.operator);return a&&a(V.target,V.param,V.value,y)||!1}return!1}function b(V,y){return N(V).reduce((w,o)=>w&&g(o,y),!0)}function O(V,y){const a=Object.keys(V),d=a.includes("allOf"),w=a.includes("anyOf"),o=d||w,f=(o?V[o?d?"allOf":"anyOf":"allOf"]:[V]).map(s=>b(s,y));return d?!f.includes(!1):f.includes(!0)}return{parseValueSchema:O}}const lt={convertTo:(e,n,r,i)=>{e.appearance||(e.appearance={}),e.appearance[n]=r},convertFrom:(e,n,r)=>e.appearance?e.appearance[n]:e[n]},st={convertFrom:(e,n,r)=>e.buttons&&e.buttons.length?`共 ${e.buttons.length} 项`:"无"},ct={convertTo:(e,n,r,i)=>{e.editor&&(e.editor[n]=r)},convertFrom:(e,n,r)=>e.editor&&Object.prototype.hasOwnProperty.call(e.editor,n)?e.editor[n]:e[n]},dt={convertFrom:(e,n,r)=>{var v;const i=e.editor&&e.editor[n]?e.editor[n]:e[n];return((v=fe[i])==null?void 0:v.name)||i}},ut={convertTo:(e,n,r,i)=>{e[n]=e[n]},convertFrom:(e,n,r)=>e.editor?r.getRealEditorType(e.editor.type):""},ft={convertTo:(e,n,r,i)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e.formatter?e.formatter[n]=r:e.formatter={[n]:r})},convertFrom:(e,n,r)=>{if(e.formatter){if(n==="trueText")return e.formatter.trueText;if(n==="falseText")return e.formatter.falseText;if(n==="prefix")return e.formatter.prefix;if(n==="suffix")return e.formatter.suffix;if(n==="precision")return e.formatter.precision;if(n==="decimal")return e.formatter.decimal;if(n==="thousand")return e.formatter.thousand;if(n==="dateFormat")return e.formatter.dateFormat||"yyyy-MM-dd";if(n==="customFormat")return e.formatter.customFormat;if(n==="type")return e.formatter.type||"none"}return"none"}},mt={convertTo:(e,n,r,i)=>{e.command?e.command[n]=r:e.command={[n]:r},n==="enableType"&&r==="default"&&(e.command.enable=!0,e.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]),n==="enableType"&&r==="custom"&&(e.command.enable=!0,e.command.commands=[{value:"add",text:"增加",type:"link"},{value:"edit",text:"编辑",type:"danger"},{value:"remove",text:"删除",type:"remove"}]),n==="enableType"&&r==="unable"&&(e.command.enable=!1)},convertFrom:(e,n,r)=>{var i,v;if(e.command){if(n==="enableType"){const N=(v=(i=e.command)==null?void 0:i.commands)==null?void 0:v.find(g=>g.command==="edit"&&g.type==="primary");return e.command.enable?N?"default":"custom":"unable"}if(n==="commands")return e.command.enableType==="custom"?e.command.commands:[];if(n==="formatter")return e.command.formatter}return""}},yt={convertTo:(e,n,r,i)=>{e.column?e.column[n]=r:e.column={[n]:r},n==="fitColumns"&&r&&(e.column.fitMode||(e.column.fitMode="average"))},convertFrom:(e,n,r)=>{if(e.column){if(n==="fitColumns")return e.column.fitColumns;if(n==="fitMode")return e.column.fitMode}return""}},pt={convertTo:(e,n,r,i)=>{e.summary?e.summary[n]=r:e.summary={[n]:r},n==="enable"&&r&&(e.summary?e.summary.groupFields||(e.summary.groupFields=[]):e.summary={enable:r,groupFields:[]})},convertFrom:(e,n,r)=>e.summary&&n==="enable"?e.summary.enable:e.type==="data-grid-column"?e.enableSummary===void 0?!1:e.enableSummary:""},ht={convertTo:(e,n,r,i)=>{e.group?e.group[n]=r:e.group={[n]:r},n==="enable"&&r&&(e.group?e.group.groupFields||(e.group.groupFields=[]):e.group={enable:r,groupFields:[],showSummary:!1})},convertFrom:(e,n,r)=>{if(e.group){if(n==="enable")return e.group.enable;if(n==="showSummary")return e.group.showSummary}}},vt={convertFrom:(e,n)=>e.binding?e.binding.path:"",convertTo:(e,n,r)=>{if(r&&r.length>0){const i=r[0];e.binding||(e.binding={}),e.binding.type="Form",e.binding.path=i.bindingField,e.binding.field=i.id,e.binding.fullPath=i.path,e.path=i.bindingPath}}},gt={convertTo:(e,n,r,i)=>{e.pagination||(e.pagination={}),e.pagination[n]=r},convertFrom:(e,n,r)=>e.pagination?e.pagination[n]:e[n]},bt={convertTo:(e,n,r,i)=>{e.rowNumber||(e.rowNumber={}),e.rowNumber[n]=r},convertFrom:(e,n,r)=>e.rowNumber?e.rowNumber[n]:e[n]},wt={convertTo:(e,n,r,i)=>{e.selection||(e.selection={}),e.selection[n]=r},convertFrom:(e,n,r)=>{var i,v;return n==="showCheckbox"?(i=e.selection)!=null&&i.multiSelect?!0:(v=e.selection)==null?void 0:v.showCheckbox:e.selection?e.selection[n]:e[n]}},Ct={convertFrom:(e,n,r)=>e[n]&&e[n].length?`共 ${e[n].length} 项`:""},Dt={convertFrom:(e,n)=>e[n]||"",convertTo:(e,n,r)=>{e[n]=r}},Vt={convertTo:(e,n,r,i)=>{e.size||(e.size={}),e.size[n]=r},convertFrom:(e,n,r)=>e.size?e.size[n]:e[n]},Nt={convertFrom:(e,n,r)=>{var i,v;return(i=e.formatter)!=null&&i.data&&n==="formatterEnumData"&&!e.formatterEnumData?(v=e.formatter)==null?void 0:v.data:e.formatterEnumData}},Tt={convertTo:(e,n,r,i)=>{e.sort||(e.sort={}),e.sort[n]=r},convertFrom:(e,n,r)=>{var i,v;if(n==="mode")return((i=e.sort)==null?void 0:i.mode)||"client";if(n==="multiSort")return!!((v=e.sort)!=null&&v.multiSort)}},Mt={convertTo:(e,n,r,i)=>{e.filter||(e.filter={}),e.filter[n]=r},convertFrom:(e,n,r)=>{var i;if(n==="mode")return((i=e.filter)==null?void 0:i.mode)||"client"}},kt={convertTo:(e,n,r,i)=>{e.rowOption?e.rowOption[n]=r:e.rowOption={[n]:r}},convertFrom:(e,n,r)=>{if(e.rowOption){if(n==="customRowStyle")return e.rowOption.customRowStyle;if(n==="customCellStyle")return e.rowOption.customCellStyle}return""}},St={convertTo:(e,n,r,i)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e[n]=r,n==="columnTemplateType"&&r==="hyperlink"&&(e.onClickLinkCommand?e.columnTemplate=`
49
49
  <span class="f-pretend-link f-cursor-pointer"
50
50
  @click="(ctx)=>viewModel.current.${e.onClickLinkCommand||""}({id: rowData.id,context: ctx})">
51
51
  {{rowData.${e.field}}}
52
52
  </span>`:e.columnTemplate=`
53
53
  <span class="f-pretend-link f-cursor-pointer">
54
54
  {{rowData.${e.field}}}
55
- </span>`),n==="columnTemplateType"&&r==="default"&&(e.columnTemplate=""))},convertFrom:(e,n,r)=>n==="columnTemplate"?e.columnTemplate:n==="columnTemplateType"?e.columnTemplateType?e.columnTemplateType||"default":e.columnTemplate&&!e.onClickLinkCommand?"custom":e.columnTemplate&&e.onClickLinkCommand?"hyperlink":"default":""};function Me(e,n,r){const i=new Map([["/converter/appearance.converter",lt],["/converter/buttons.converter",st],["/converter/property-editor.converter",ct],["/converter/items-count.converter",Ct],["/converter/type.converter",dt],["/converter/change-editor.converter",ut],["/converter/change-formatter.converter",ft],["/converter/column-command.converter",mt],["/converter/column-option.converter",yt],["/converter/summary.converter",pt],["/converter/group.converter",ht],["/converter/form-group-label.converter",Dt],["/converter/field-selector.converter",vt],["/converter/pagination.converter",gt],["/converter/row-number.converter",bt],["/converter/grid-selection.converter",wt],["/converter/size.converter",Vt],["/converter/change-formatter-enum.converter",Nt],["/converter/grid-sort.converter",Tt],["/converter/grid-filter.converter",Mt],["/converter/row-option.converter",kt],["/converter/change-formatter-type.converter",St]]),v=new Map([["string",{type:"input-group",enableClear:!1}],["boolean",{type:"combo-list",textField:"name",valueField:"value",idField:"value",enableClear:!1,editable:!1,data:[{value:!0,name:"是"},{value:!1,name:"否"}]}],["enum",{type:"combo-list",maxHeight:128,enableClear:!1,editable:!1}],["array",{type:"button-edit"}],["number",{type:"number-spinner",placeholder:""}],["events-editor",{type:"events-editor",hide:!0}]]),N=it();function g(o,l){return()=>N.parseValueSchema(o,l)}function b(o,l,p){return o.includes("visible")&&l.visible!==void 0?typeof l.visible=="boolean"?()=>!!l.visible:l.visible===void 0?!0:g(l.visible,p):()=>!0}function O(o,l,p){return o.includes("readonly")&&l.readonly!==void 0?typeof l.readonly=="boolean"?()=>!!l.readonly:g(l.readonly,p):()=>!1}function V(o,l){const p=o.$converter||l;return typeof p=="string"&&p&&i.has(p)?i.get(p)||null:p||null}function y(o,l,p,f,F,s="",D=""){return Object.keys(o).map(h=>{const P=t.ref(1),j=h,c=o[h],I=Object.keys(c),C=c.title,T=c.type,u=v.get(T)||{type:"input-group",enableClear:!1},x=c.editor?Object.assign({},u,c.editor):Object.assign({},u),k=b(I,c,l),M=O(I,c,l);x.readonly=x.readonly===void 0?M():x.readonly;const L=c.type==="cascade"?y(c.properties,l,p,f,F,s,D):[],$=!0;let S=V(c,D);const R=t.computed({get(){if(P.value){if(["class","style"].find(te=>te===j)&&!S&&(S=i.get("/converter/appearance.converter")||null),S&&S.convertFrom)return S.convertFrom(p,h,F,s);const q=p[h];return Object.prototype.hasOwnProperty.call(c,"defaultValue")&&(q===void 0||typeof q=="string"&&q==="")?c.type==="boolean"?c.defaultValue:c.defaultValue||"":q}return null},set(q){P.value+=1,S&&S.convertTo?(S.convertTo(f,h,q,F,s),S.convertTo(p,h,q,F,s)):(f[h]=q,p[h]=q)}}),{refreshPanelAfterChanged:K,description:X,isExpand:z,parentPropertyID:_}=c,U={propertyID:j,propertyName:C,propertyType:T,propertyValue:R,editor:x,visible:k,readonly:M,cascadeConfig:L,hideCascadeTitle:$,refreshPanelAfterChanged:K,description:X,isExpand:z,parentPropertyID:_};return l[j]=U,U})}function a(o,l,p={}){const f={},F=e[o];return F&&F.categories?Object.keys(F.categories).map(D=>{const m=F.categories[D],h=m==null?void 0:m.title,P=y(m.properties||{},f,{},p,l);return{categoryId:D,categoryName:h,properties:P}}):[]}function d(o,l,p,f,F=""){const s=l.$ref.schema,D=l.$ref.converter,m=p[s],h=m.type,P=r(m),j={},c=e[h];if(c&&c.categories){const I=c.categories[o],C=I==null?void 0:I.title;D&&Object.keys(I.properties).forEach(x=>{I.properties[x].$converter=D});const T=(I==null?void 0:I.properties)||{},u=y(T,j,P,m,f,F);return{categoryId:o,categoryName:C,properties:u}}return{categoryId:o,categoryName:"",properties:[]}}function w(o,l,p,f,F){const s=o.type,D=r(o),m={};let h=F||e[s];if(h&&Object.keys(h).length===0&&p&&p.getPropConfig&&(h=p.getPropConfig(f)),h&&h.categories){const P=[];return Object.keys(h.categories).map(j=>{const c=h.categories[j];if(c.$ref){P.push(d(j,c,o,l,f));return}const I=c==null?void 0:c.title,C=c==null?void 0:c.tabId,T=c==null?void 0:c.tabName,u=c==null?void 0:c.hide,x=c==null?void 0:c.hideTitle,k=y(c.properties||{},m,D,o,l,f,c.$converter),{setPropertyRelates:M}=c,L=c==null?void 0:c.parentPropertyID;P.push({categoryId:j,categoryName:I,tabId:C,tabName:T,hide:u,properties:k,hideTitle:x,setPropertyRelates:M,parentPropertyID:L})}),P}return[]}return{getPropertyConfigBySchema:w,getPropertyConfigByType:a,propertyConverterMap:i}}Me({},{},ot);const Ft={},xt={},{resolveSchemaWithDefaultValue:Et}=Te(Ft,xt);Me({},{},Et);function It(){function e(n,r){const{id:i}=n||{},{dataSource:v}=n||{};return v===void 0?{}:{events:r.getValue(i)}}return{resolve:e}}const Ot={1:"Jan",2:"Feb",3:"Mar",4:"Apr",5:"May",6:"Jun",7:"Jul",8:"Aug",9:"Sep",10:"Oct",11:"Nov",12:"Dec"},Pt=It();G.install=e=>{e.component(G.name,G).component(ue.name,ue).component(se.name,se).component(ce.name,ce).component(de.name,de)},G.register=(e,n,r,i)=>{e.calendar=G,n.calendar=pe,i.calendar={bindingResolver:Pt}},G.registerDesigner=(e,n,r)=>{e.calendar=nt,n.calendar=pe},W.CalendarViews=Z,W.Compare=ie,W.FCalendar=G,W.FCalendarDayView=ue,W.FCalendarHeader=se,W.FCalendarMonthView=ce,W.FCalendarWeekView=de,W.FilterRelation=le,W.MonthTag=J,W.calendarProps=oe,W.dayViewProps=Ve,W.default=G,W.defaultNameOfMonths=Ot,W.headerProps=we,W.monthViewProps=Ce,W.propsResolver=pe,W.weekDays=Y,W.weekViewProps=De,Object.defineProperties(W,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
55
+ </span>`),n==="columnTemplateType"&&r==="default"&&(e.columnTemplate=""),n==="columnTemplateType"&&r==="custom"&&(e.columnTemplate=""))},convertFrom:(e,n,r)=>n==="columnTemplate"?e.columnTemplate:n==="columnTemplateType"?e.columnTemplateType?e.columnTemplateType||"default":e.columnTemplate&&!e.onClickLinkCommand?"custom":e.columnTemplate&&e.onClickLinkCommand?"hyperlink":"default":""};function Me(e,n,r){const i=new Map([["/converter/appearance.converter",lt],["/converter/buttons.converter",st],["/converter/property-editor.converter",ct],["/converter/items-count.converter",Ct],["/converter/type.converter",dt],["/converter/change-editor.converter",ut],["/converter/change-formatter.converter",ft],["/converter/column-command.converter",mt],["/converter/column-option.converter",yt],["/converter/summary.converter",pt],["/converter/group.converter",ht],["/converter/form-group-label.converter",Dt],["/converter/field-selector.converter",vt],["/converter/pagination.converter",gt],["/converter/row-number.converter",bt],["/converter/grid-selection.converter",wt],["/converter/size.converter",Vt],["/converter/change-formatter-enum.converter",Nt],["/converter/grid-sort.converter",Tt],["/converter/grid-filter.converter",Mt],["/converter/row-option.converter",kt],["/converter/change-formatter-type.converter",St]]),v=new Map([["string",{type:"input-group",enableClear:!1}],["boolean",{type:"combo-list",textField:"name",valueField:"value",idField:"value",enableClear:!1,editable:!1,data:[{value:!0,name:"是"},{value:!1,name:"否"}]}],["enum",{type:"combo-list",maxHeight:128,enableClear:!1,editable:!1}],["array",{type:"button-edit"}],["number",{type:"number-spinner",placeholder:""}],["events-editor",{type:"events-editor",hide:!0}]]),N=it();function g(o,l){return()=>N.parseValueSchema(o,l)}function b(o,l,p){return o.includes("visible")&&l.visible!==void 0?typeof l.visible=="boolean"?()=>!!l.visible:l.visible===void 0?!0:g(l.visible,p):()=>!0}function O(o,l,p){return o.includes("readonly")&&l.readonly!==void 0?typeof l.readonly=="boolean"?()=>!!l.readonly:g(l.readonly,p):()=>!1}function V(o,l){const p=o.$converter||l;return typeof p=="string"&&p&&i.has(p)?i.get(p)||null:p||null}function y(o,l,p,f,F,s="",D=""){return Object.keys(o).map(h=>{const P=t.ref(1),j=h,c=o[h],I=Object.keys(c),C=c.title,T=c.type,u=v.get(T)||{type:"input-group",enableClear:!1},x=c.editor?Object.assign({},u,c.editor):Object.assign({},u),k=b(I,c,l),M=O(I,c,l);x.readonly=x.readonly===void 0?M():x.readonly;const L=c.type==="cascade"?y(c.properties,l,p,f,F,s,D):[],$=!0;let S=V(c,D);const R=t.computed({get(){if(P.value){if(["class","style"].find(te=>te===j)&&!S&&(S=i.get("/converter/appearance.converter")||null),S&&S.convertFrom)return S.convertFrom(p,h,F,s);const q=p[h];return Object.prototype.hasOwnProperty.call(c,"defaultValue")&&(q===void 0||typeof q=="string"&&q==="")?c.type==="boolean"?c.defaultValue:c.defaultValue||"":q}return null},set(q){P.value+=1,S&&S.convertTo?(S.convertTo(f,h,q,F,s),S.convertTo(p,h,q,F,s)):(f[h]=q,p[h]=q)}}),{refreshPanelAfterChanged:K,description:X,isExpand:z,parentPropertyID:_}=c,U={propertyID:j,propertyName:C,propertyType:T,propertyValue:R,editor:x,visible:k,readonly:M,cascadeConfig:L,hideCascadeTitle:$,refreshPanelAfterChanged:K,description:X,isExpand:z,parentPropertyID:_};return l[j]=U,U})}function a(o,l,p={}){const f={},F=e[o];return F&&F.categories?Object.keys(F.categories).map(D=>{const m=F.categories[D],h=m==null?void 0:m.title,P=y(m.properties||{},f,{},p,l);return{categoryId:D,categoryName:h,properties:P}}):[]}function d(o,l,p,f,F=""){const s=l.$ref.schema,D=l.$ref.converter,m=p[s],h=m.type,P=r(m),j={},c=e[h];if(c&&c.categories){const I=c.categories[o],C=I==null?void 0:I.title;D&&Object.keys(I.properties).forEach(x=>{I.properties[x].$converter=D});const T=(I==null?void 0:I.properties)||{},u=y(T,j,P,m,f,F);return{categoryId:o,categoryName:C,properties:u}}return{categoryId:o,categoryName:"",properties:[]}}function w(o,l,p,f,F){const s=o.type,D=r(o),m={};let h=F||e[s];if(h&&Object.keys(h).length===0&&p&&p.getPropConfig&&(h=p.getPropConfig(f)),h&&h.categories){const P=[];return Object.keys(h.categories).map(j=>{const c=h.categories[j];if(c.$ref){P.push(d(j,c,o,l,f));return}const I=c==null?void 0:c.title,C=c==null?void 0:c.tabId,T=c==null?void 0:c.tabName,u=c==null?void 0:c.hide,x=c==null?void 0:c.hideTitle,k=y(c.properties||{},m,D,o,l,f,c.$converter),{setPropertyRelates:M}=c,L=c==null?void 0:c.parentPropertyID;P.push({categoryId:j,categoryName:I,tabId:C,tabName:T,hide:u,properties:k,hideTitle:x,setPropertyRelates:M,parentPropertyID:L})}),P}return[]}return{getPropertyConfigBySchema:w,getPropertyConfigByType:a,propertyConverterMap:i}}Me({},{},ot);const Ft={},xt={},{resolveSchemaWithDefaultValue:Et}=Te(Ft,xt);Me({},{},Et);function It(){function e(n,r){const{id:i}=n||{},{dataSource:v}=n||{};return v===void 0?{}:{events:r.getValue(i)}}return{resolve:e}}const Ot={1:"Jan",2:"Feb",3:"Mar",4:"Apr",5:"May",6:"Jun",7:"Jul",8:"Aug",9:"Sep",10:"Oct",11:"Nov",12:"Dec"},Pt=It();G.install=e=>{e.component(G.name,G).component(ue.name,ue).component(se.name,se).component(ce.name,ce).component(de.name,de)},G.register=(e,n,r,i)=>{e.calendar=G,n.calendar=pe,i.calendar={bindingResolver:Pt}},G.registerDesigner=(e,n,r)=>{e.calendar=nt,n.calendar=pe},W.CalendarViews=Z,W.Compare=ie,W.FCalendar=G,W.FCalendarDayView=ue,W.FCalendarHeader=se,W.FCalendarMonthView=ce,W.FCalendarWeekView=de,W.FilterRelation=le,W.MonthTag=J,W.calendarProps=oe,W.dayViewProps=Ve,W.default=G,W.defaultNameOfMonths=Ot,W.headerProps=we,W.monthViewProps=Ce,W.propsResolver=pe,W.weekDays=Y,W.weekViewProps=De,Object.defineProperties(W,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1,12 +1,12 @@
1
- import { ref as D, computed as I, defineComponent as V, provide as H, onMounted as me, createVNode as x, createTextVNode as B, inject as G } from "vue";
1
+ import { ref as D, computed as I, defineComponent as W, provide as H, onMounted as me, createVNode as x, createTextVNode as B, inject as G } from "vue";
2
2
  import { FButtonEdit as fe } from "../button-edit/index.esm.js";
3
3
  import { isPlainObject as U, cloneDeep as z } from "lodash-es";
4
4
  import { FPropertyPanel as pe } from "../property-panel/index.esm.js";
5
5
  import { FTreeView as ve } from "../tree-view/index.esm.js";
6
- function W(e, t) {
6
+ function V(e, t) {
7
7
  let n;
8
8
  function a(r) {
9
- const { properties: l, title: m, ignore: o } = r, i = o && Array.isArray(o), c = Object.keys(l).reduce((v, b) => ((!i || !o.find((F) => F === b)) && (v[b] = l[b].type === "object" && l[b].properties ? a(l[b]) : z(l[b].default)), v), {});
9
+ const { properties: l, title: m, ignore: o } = r, i = o && Array.isArray(o), c = Object.keys(l).reduce((v, b) => ((!i || !o.find((T) => T === b)) && (v[b] = l[b].type === "object" && l[b].properties ? a(l[b]) : z(l[b].default)), v), {});
10
10
  if (m && (!i || !o.find((v) => v === "id"))) {
11
11
  const v = m.toLowerCase().replace(/-/g, "_");
12
12
  c.id = `${v}_${Math.random().toString().slice(2, 6)}`;
@@ -80,7 +80,7 @@ function W(e, t) {
80
80
  }
81
81
  return { getSchemaByType: C, resolveSchemaWithDefaultValue: d, resolveSchemaToProps: f, mappingSchemaToProps: S, setDesignerContext: p };
82
82
  }
83
- const J = {}, Q = {}, { resolveSchemaWithDefaultValue: ge, resolveSchemaToProps: be, mappingSchemaToProps: ye } = W(J, Q);
83
+ const J = {}, Q = {}, { resolveSchemaWithDefaultValue: ge, resolveSchemaToProps: be, mappingSchemaToProps: ye } = V(J, Q);
84
84
  function Ce(e = {}) {
85
85
  function t(d, p, r, l) {
86
86
  if (typeof r == "number")
@@ -130,17 +130,17 @@ function Ce(e = {}) {
130
130
  return C(d).reduce((m, o) => m && y(o, p), !0);
131
131
  }
132
132
  function f(d, p) {
133
- const r = Object.keys(d), l = r.includes("allOf"), m = r.includes("anyOf"), o = l || m, v = (o ? d[o ? l ? "allOf" : "anyOf" : "allOf"] : [d]).map((F) => S(F, p));
133
+ const r = Object.keys(d), l = r.includes("allOf"), m = r.includes("anyOf"), o = l || m, v = (o ? d[o ? l ? "allOf" : "anyOf" : "allOf"] : [d]).map((T) => S(T, p));
134
134
  return l ? !v.includes(!1) : v.includes(!0);
135
135
  }
136
136
  return { parseValueSchema: f };
137
137
  }
138
- const Fe = {
138
+ const Te = {
139
139
  convertTo: (e, t, n, a) => {
140
140
  e.appearance || (e.appearance = {}), e.appearance[t] = n;
141
141
  },
142
142
  convertFrom: (e, t, n) => e.appearance ? e.appearance[t] : e[t]
143
- }, Te = {
143
+ }, Fe = {
144
144
  convertFrom: (e, t, n) => e.buttons && e.buttons.length ? `共 ${e.buttons.length} 项` : "无"
145
145
  }, Se = {
146
146
  convertTo: (e, t, n, a) => {
@@ -200,13 +200,13 @@ const Fe = {
200
200
  comment: { type: "comment", name: "评论区" },
201
201
  "rich-text-editor": { type: "rich-text-editor", name: "富文本编辑器", icon: "rich-text-box" },
202
202
  calendar: { type: "calendar", name: "日历", icon: "date-picker" }
203
- }, he = {
203
+ }, we = {
204
204
  convertFrom: (e, t, n) => {
205
205
  var g;
206
206
  const a = e.editor && e.editor[t] ? e.editor[t] : e[t];
207
207
  return ((g = xe[a]) == null ? void 0 : g.name) || a;
208
208
  }
209
- }, we = {
209
+ }, he = {
210
210
  convertTo: (e, t, n, a) => {
211
211
  e[t] = e[t];
212
212
  },
@@ -284,6 +284,8 @@ const Fe = {
284
284
  }
285
285
  if (t === "commands")
286
286
  return e.command.enableType === "custom" ? e.command.commands : [];
287
+ if (t === "formatter")
288
+ return e.command.formatter;
287
289
  }
288
290
  return "";
289
291
  }
@@ -417,18 +419,18 @@ const Fe = {
417
419
  </span>` : e.columnTemplate = `
418
420
  <span class="f-pretend-link f-cursor-pointer">
419
421
  {{rowData.${e.field}}}
420
- </span>`), t === "columnTemplateType" && n === "default" && (e.columnTemplate = ""));
422
+ </span>`), t === "columnTemplateType" && n === "default" && (e.columnTemplate = ""), t === "columnTemplateType" && n === "custom" && (e.columnTemplate = ""));
421
423
  },
422
424
  convertFrom: (e, t, n) => t === "columnTemplate" ? e.columnTemplate : t === "columnTemplateType" ? e.columnTemplateType ? e.columnTemplateType || "default" : e.columnTemplate && !e.onClickLinkCommand ? "custom" : e.columnTemplate && e.onClickLinkCommand ? "hyperlink" : "default" : ""
423
425
  };
424
426
  function X(e, t, n) {
425
427
  const a = /* @__PURE__ */ new Map([
426
- ["/converter/appearance.converter", Fe],
427
- ["/converter/buttons.converter", Te],
428
+ ["/converter/appearance.converter", Te],
429
+ ["/converter/buttons.converter", Fe],
428
430
  ["/converter/property-editor.converter", Se],
429
431
  ["/converter/items-count.converter", Re],
430
- ["/converter/type.converter", he],
431
- ["/converter/change-editor.converter", we],
432
+ ["/converter/type.converter", we],
433
+ ["/converter/change-editor.converter", he],
432
434
  ["/converter/change-formatter.converter", Oe],
433
435
  ["/converter/column-command.converter", Pe],
434
436
  ["/converter/column-option.converter", ke],
@@ -483,24 +485,24 @@ function X(e, t, n) {
483
485
  const c = o.$converter || i;
484
486
  return typeof c == "string" && c && a.has(c) ? a.get(c) || null : c || null;
485
487
  }
486
- function p(o, i, c, v, b, F = "", O = "") {
488
+ function p(o, i, c, v, b, T = "", O = "") {
487
489
  return Object.keys(o).map((u) => {
488
- const T = D(1), P = u, s = o[u], w = Object.keys(s), $ = s.title, M = s.type, j = g.get(M) || { type: "input-group", enableClear: !1 }, N = s.editor ? Object.assign({}, j, s.editor) : Object.assign({}, j), A = S(w, s, i), R = f(w, s, i);
490
+ const F = D(1), P = u, s = o[u], h = Object.keys(s), $ = s.title, M = s.type, j = g.get(M) || { type: "input-group", enableClear: !1 }, N = s.editor ? Object.assign({}, j, s.editor) : Object.assign({}, j), A = S(h, s, i), R = f(h, s, i);
489
491
  N.readonly = N.readonly === void 0 ? R() : N.readonly;
490
- const L = s.type === "cascade" ? p(s.properties, i, c, v, b, F, O) : [], ie = !0;
492
+ const L = s.type === "cascade" ? p(s.properties, i, c, v, b, T, O) : [], ie = !0;
491
493
  let k = d(s, O);
492
494
  const ae = I({
493
495
  get() {
494
- if (T.value) {
496
+ if (F.value) {
495
497
  if (["class", "style"].find((de) => de === P) && !k && (k = a.get("/converter/appearance.converter") || null), k && k.convertFrom)
496
- return k.convertFrom(c, u, b, F);
498
+ return k.convertFrom(c, u, b, T);
497
499
  const E = c[u];
498
500
  return Object.prototype.hasOwnProperty.call(s, "defaultValue") && (E === void 0 || typeof E == "string" && E === "") ? s.type === "boolean" ? s.defaultValue : s.defaultValue || "" : E;
499
501
  }
500
502
  return null;
501
503
  },
502
504
  set(E) {
503
- T.value += 1, k && k.convertTo ? (k.convertTo(v, u, E, b, F), k.convertTo(c, u, E, b, F)) : (v[u] = E, c[u] = E);
505
+ F.value += 1, k && k.convertTo ? (k.convertTo(v, u, E, b, T), k.convertTo(c, u, E, b, T)) : (v[u] = E, c[u] = E);
504
506
  }
505
507
  }), { refreshPanelAfterChanged: le, description: ce, isExpand: ue, parentPropertyID: se } = s, _ = { propertyID: P, propertyName: $, propertyType: M, propertyValue: ae, editor: N, visible: A, readonly: R, cascadeConfig: L, hideCascadeTitle: ie, refreshPanelAfterChanged: le, description: ce, isExpand: ue, parentPropertyID: se };
506
508
  return i[P] = _, _;
@@ -509,36 +511,36 @@ function X(e, t, n) {
509
511
  function r(o, i, c = {}) {
510
512
  const v = {}, b = e[o];
511
513
  return b && b.categories ? Object.keys(b.categories).map((O) => {
512
- const h = b.categories[O], u = h == null ? void 0 : h.title, T = p(h.properties || {}, v, {}, c, i);
513
- return { categoryId: O, categoryName: u, properties: T };
514
+ const w = b.categories[O], u = w == null ? void 0 : w.title, F = p(w.properties || {}, v, {}, c, i);
515
+ return { categoryId: O, categoryName: u, properties: F };
514
516
  }) : [];
515
517
  }
516
518
  function l(o, i, c, v, b = "") {
517
- const F = i.$ref.schema, O = i.$ref.converter, h = c[F], u = h.type, T = n(h), P = {}, s = e[u];
519
+ const T = i.$ref.schema, O = i.$ref.converter, w = c[T], u = w.type, F = n(w), P = {}, s = e[u];
518
520
  if (s && s.categories) {
519
- const w = s.categories[o], $ = w == null ? void 0 : w.title;
520
- O && Object.keys(w.properties).forEach((N) => {
521
- w.properties[N].$converter = O;
521
+ const h = s.categories[o], $ = h == null ? void 0 : h.title;
522
+ O && Object.keys(h.properties).forEach((N) => {
523
+ h.properties[N].$converter = O;
522
524
  });
523
- const M = (w == null ? void 0 : w.properties) || {}, j = p(M, P, T, h, v, b);
525
+ const M = (h == null ? void 0 : h.properties) || {}, j = p(M, P, F, w, v, b);
524
526
  return { categoryId: o, categoryName: $, properties: j };
525
527
  }
526
528
  return { categoryId: o, categoryName: "", properties: [] };
527
529
  }
528
530
  function m(o, i, c, v, b) {
529
- const F = o.type, O = n(o), h = {};
530
- let u = b || e[F];
531
+ const T = o.type, O = n(o), w = {};
532
+ let u = b || e[T];
531
533
  if (u && Object.keys(u).length === 0 && c && c.getPropConfig && (u = c.getPropConfig(v)), u && u.categories) {
532
- const T = [];
534
+ const F = [];
533
535
  return Object.keys(u.categories).map((P) => {
534
536
  const s = u.categories[P];
535
537
  if (s.$ref) {
536
- T.push(l(P, s, o, i, v));
538
+ F.push(l(P, s, o, i, v));
537
539
  return;
538
540
  }
539
- const w = s == null ? void 0 : s.title, $ = s == null ? void 0 : s.tabId, M = s == null ? void 0 : s.tabName, j = s == null ? void 0 : s.hide, N = s == null ? void 0 : s.hideTitle, A = p(s.properties || {}, h, O, o, i, v, s.$converter), { setPropertyRelates: R } = s, L = s == null ? void 0 : s.parentPropertyID;
540
- T.push({ categoryId: P, categoryName: w, tabId: $, tabName: M, hide: j, properties: A, hideTitle: N, setPropertyRelates: R, parentPropertyID: L });
541
- }), T;
541
+ const h = s == null ? void 0 : s.title, $ = s == null ? void 0 : s.tabId, M = s == null ? void 0 : s.tabName, j = s == null ? void 0 : s.hide, N = s == null ? void 0 : s.hideTitle, A = p(s.properties || {}, w, O, o, i, v, s.$converter), { setPropertyRelates: R } = s, L = s == null ? void 0 : s.parentPropertyID;
542
+ F.push({ categoryId: P, categoryName: h, tabId: $, tabName: M, hide: j, properties: A, hideTitle: N, setPropertyRelates: R, parentPropertyID: L });
543
+ }), F;
542
544
  }
543
545
  return [];
544
546
  }
@@ -550,7 +552,7 @@ function X(e, t, n) {
550
552
  }
551
553
  const Y = {}, Z = {};
552
554
  X(Y, Z, ge);
553
- const K = {}, ee = {}, { resolveSchemaWithDefaultValue: He } = W(K, ee), te = {}, ne = {};
555
+ const K = {}, ee = {}, { resolveSchemaWithDefaultValue: He } = V(K, ee), te = {}, ne = {};
554
556
  X(te, ne, He);
555
557
  function Ge(e, t, n = /* @__PURE__ */ new Map(), a = (y, S, f, d) => S, g = {}, C = (y) => y) {
556
558
  return J[t.title] = t, Q[t.title] = a, Y[t.title] = g, Z[t.title] = C, K[t.title] = t, ee[t.title] = a, te[t.title] = g, ne[t.title] = C, (y = {}, S = !0) => {
@@ -560,7 +562,7 @@ function Ge(e, t, n = /* @__PURE__ */ new Map(), a = (y, S, f, d) => S, g = {},
560
562
  return Object.assign(d, f);
561
563
  };
562
564
  }
563
- const Ue = "https://json-schema.org/draft/2020-12/schema", Ve = "https://farris-design.gitee.io/collection-property-editor.schema.json", We = "collection-property-editor", Je = "A Farris Component", Qe = "object", Xe = {
565
+ const Ue = "https://json-schema.org/draft/2020-12/schema", We = "https://farris-design.gitee.io/collection-property-editor.schema.json", Ve = "collection-property-editor", Je = "A Farris Component", Qe = "object", Xe = {
564
566
  id: {
565
567
  description: "The unique identifier for collection-property-editor",
566
568
  type: "string"
@@ -609,8 +611,8 @@ const Ue = "https://json-schema.org/draft/2020-12/schema", Ve = "https://farris-
609
611
  "id"
610
612
  ], Ke = {
611
613
  $schema: Ue,
612
- $id: Ve,
613
- title: We,
614
+ $id: We,
615
+ title: Ve,
614
616
  description: Je,
615
617
  type: Qe,
616
618
  properties: Xe,
@@ -651,7 +653,7 @@ const Ue = "https://json-schema.org/draft/2020-12/schema", Ve = "https://farris-
651
653
  type: String,
652
654
  default: "编辑器"
653
655
  }
654
- }, et = Ge(oe, Ke), tt = /* @__PURE__ */ V({
656
+ }, et = Ge(oe, Ke), tt = /* @__PURE__ */ W({
655
657
  name: "CollectionPropertyContainer",
656
658
  props: re,
657
659
  emits: ["valueChange", "selectionChange"],
@@ -671,8 +673,8 @@ const Ue = "https://json-schema.org/draft/2020-12/schema", Ve = "https://farris-
671
673
  dataType: "string"
672
674
  }];
673
675
  function o() {
674
- const u = z(y), T = Math.random().toString().slice(2, 6);
675
- return u[g] = u[g] + "_" + T, u[C] = u[C] + "_" + T, u;
676
+ const u = z(y), F = Math.random().toString().slice(2, 6);
677
+ return u[g] = u[g] + "_" + F, u[C] = u[C] + "_" + F, u;
676
678
  }
677
679
  function i() {
678
680
  const u = o();
@@ -692,7 +694,7 @@ const Ue = "https://json-schema.org/draft/2020-12/schema", Ve = "https://farris-
692
694
  const u = f.value.indexOf(r.value);
693
695
  u !== f.value.length - 1 && (f.value[u] = f.value[u + 1], f.value[u + 1] = r.value, n.value.updateDataSource(f.value));
694
696
  }
695
- function F() {
697
+ function T() {
696
698
  if (!r.value)
697
699
  return;
698
700
  const u = f.value.indexOf(r.value);
@@ -704,7 +706,7 @@ const Ue = "https://json-schema.org/draft/2020-12/schema", Ve = "https://farris-
704
706
  propertyConfig: d
705
707
  }), a.value.updatePropertyConfig(d.value, r.value, !0);
706
708
  }
707
- function h() {
709
+ function w() {
708
710
  n.value.updateDataSource(f.value);
709
711
  }
710
712
  return me(() => {
@@ -722,7 +724,7 @@ const Ue = "https://json-schema.org/draft/2020-12/schema", Ve = "https://farris-
722
724
  onClick: v
723
725
  }, [B("删除")]), x("button", {
724
726
  class: "btn btn-secondary mr-2",
725
- onClick: F
727
+ onClick: T
726
728
  }, [B("上移")]), x("button", {
727
729
  class: "btn btn-secondary mr-2",
728
730
  onClick: b
@@ -748,10 +750,10 @@ const Ue = "https://json-schema.org/draft/2020-12/schema", Ve = "https://farris-
748
750
  ref: a,
749
751
  propertyName: p.value,
750
752
  enableSearch: !1,
751
- onPropertyChanged: h
753
+ onPropertyChanged: w
752
754
  }, null)])])]);
753
755
  }
754
- }), q = /* @__PURE__ */ V({
756
+ }), q = /* @__PURE__ */ W({
755
757
  name: "FCollectionPropertyEditor",
756
758
  props: oe,
757
759
  emits: ["valueChange", "selectionChange"],
@@ -1,8 +1,8 @@
1
- (function(s,$){typeof exports=="object"&&typeof module<"u"?module.exports=$(require("vue"),require("../button-edit/index.umd.js"),require("lodash-es"),require("../property-panel/index.umd.js"),require("../tree-view/index.umd.js")):typeof define=="function"&&define.amd?define(["vue","../button-edit/index.umd.js","lodash-es","../property-panel/index.umd.js","../tree-view/index.umd.js"],$):(s=typeof globalThis<"u"?globalThis:s||self,s["collection-property-editor"]=$(s.Vue,s.buttonEdit,s.LodashES,s.propertyPanel,s.treeView))})(this,function(s,$,D,K,ee){"use strict";function z(e,t){let n;function a(r){const{properties:l,title:m,ignore:o}=r,i=o&&Array.isArray(o),c=Object.keys(l).reduce((g,y)=>((!i||!o.find(F=>F===y))&&(g[y]=l[y].type==="object"&&l[y].properties?a(l[y]):D.cloneDeep(l[y].default)),g),{});if(m&&(!i||!o.find(g=>g==="id"))){const g=m.toLowerCase().replace(/-/g,"_");c.id=`${g}_${Math.random().toString().slice(2,6)}`}return c}function b(r){const{properties:l,title:m,required:o}=r;if(o&&Array.isArray(o)){const i=o.reduce((c,g)=>(c[g]=l[g].type==="object"&&l[g].properties?a(l[g]):D.cloneDeep(l[g].default),c),{});if(m&&o.find(c=>c==="id")){const c=m.toLowerCase().replace(/-/g,"_");i.id=`${c}_${Math.random().toString().slice(2,6)}`}return i}return{type:m}}function T(r,l={},m){const o=e[r];if(o){let i=b(o);const c=t[r];return i=c?c({getSchemaByType:T},i,l,m):i,n!=null&&n.appendIdentifyForNewControl&&n.appendIdentifyForNewControl(i),i}return null}function C(r,l){const m=a(l);return Object.keys(m).reduce((o,i)=>(Object.prototype.hasOwnProperty.call(r,i)&&(o[i]&&D.isPlainObject(o[i])&&D.isPlainObject(r[i]||!r[i])?Object.assign(o[i],r[i]||{}):o[i]=r[i]),o),m),m}function x(r,l){return Object.keys(r).filter(o=>r[o]!=null).reduce((o,i)=>{if(l.has(i)){const c=l.get(i);if(typeof c=="string")o[c]=r[i];else{const g=c(i,r[i],r);Object.assign(o,g)}}else o[i]=r[i];return o},{})}function p(r,l,m=new Map){const o=C(r,l);return x(o,m)}function f(r){var m;const l=r.type;if(l){const o=e[l];if(!o)return r;const i=C(r,o),c=((m=r.editor)==null?void 0:m.type)||"";if(c){const g=e[c],y=C(r.editor,g);i.editor=y}return i}return r}function v(r){n=r}return{getSchemaByType:T,resolveSchemaWithDefaultValue:f,resolveSchemaToProps:p,mappingSchemaToProps:x,setDesignerContext:v}}const A={},I={},{resolveSchemaWithDefaultValue:te,resolveSchemaToProps:ne,mappingSchemaToProps:re}=z(A,I);function oe(e={}){function t(f,v,r,l){if(typeof r=="number")return l[f].length===r;if(typeof r=="object"){const m=Object.keys(r)[0],o=r[m];if(m==="not")return Number(l[f].length)!==Number(o);if(m==="moreThan")return Number(l[f].length)>=Number(o);if(m==="lessThan")return Number(l[f].length)<=Number(o)}return!1}function n(f,v,r,l){return l[f]&&l[f].propertyValue&&String(l[f].propertyValue.value)===String(r)}const a=new Map([["length",t],["getProperty",n]]);Object.keys(e).reduce((f,v)=>(f.set(v,e[v]),f),a);function b(f,v){const r=f;return typeof v=="number"?[{target:r,operator:"length",param:null,value:Number(v)}]:typeof v=="boolean"?[{target:r,operator:"getProperty",param:f,value:!!v}]:typeof v=="object"?Object.keys(v).map(l=>{if(l==="length")return{target:r,operator:"length",param:null,value:v[l]};const m=l,o=v[l];return{target:r,operator:"getProperty",param:m,value:o}}):[]}function T(f){return Object.keys(f).reduce((r,l)=>{const m=b(l,f[l]);return r.push(...m),r},[])}function C(f,v){if(a.has(f.operator)){const r=a.get(f.operator);return r&&r(f.target,f.param,f.value,v)||!1}return!1}function x(f,v){return T(f).reduce((m,o)=>m&&C(o,v),!0)}function p(f,v){const r=Object.keys(f),l=r.includes("allOf"),m=r.includes("anyOf"),o=l||m,g=(o?f[o?l?"allOf":"anyOf":"allOf"]:[f]).map(F=>x(F,v));return l?!g.includes(!1):g.includes(!0)}return{parseValueSchema:p}}const ie={convertTo:(e,t,n,a)=>{e.appearance||(e.appearance={}),e.appearance[t]=n},convertFrom:(e,t,n)=>e.appearance?e.appearance[t]:e[t]},ae={convertFrom:(e,t,n)=>e.buttons&&e.buttons.length?`共 ${e.buttons.length} 项`:"无"},le={convertTo:(e,t,n,a)=>{e.editor&&(e.editor[t]=n)},convertFrom:(e,t,n)=>e.editor&&Object.prototype.hasOwnProperty.call(e.editor,t)?e.editor[t]:e[t]},ce={button:{type:"button",name:"按钮"},"response-toolbar":{type:"response-toolbar",name:"工具栏"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮"},"content-container":{type:"content-container",name:"容器"},"input-group":{type:"input-group",name:"文本"},textarea:{type:"textarea",name:"多行文本"},lookup:{type:"lookup",name:"帮助"},"number-spinner":{type:"number-spinner",name:"数值"},"date-picker":{type:"date-picker",name:"日期"},switch:{type:"switch",name:"开关"},"radio-group":{type:"radio-group",name:"单选组"},"check-box":{type:"check-box",name:"复选框"},"check-group":{type:"check-group",name:"复选框组"},"combo-list":{type:"combo-list",name:"下拉列表"},"response-form":{type:"response-form",name:"卡片面板"},"response-layout":{type:"response-layout",name:"布局容器",icon:"response-layout-3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"response-layout-1"},"tree-grid":{type:"tree-grid",name:"树表格"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块"},component:{type:"component",name:"组件"},tabs:{type:"tabs",name:"标签页"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮"},"html-template":{type:"html-template",name:"模板容器"},"time-picker":{type:"time-picker",name:"时间选择"},section:{type:"section",name:"分组面板"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传"},"page-header":{type:"page-header",name:"页头"},"page-footer":{type:"page-footer",name:"页脚"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏"},fieldset:{type:"fieldset",name:"分组"},"query-solution":{type:"query-solution",name:"筛选方案"},drawer:{type:"drawer",name:"抽屉"},"external-container":{type:"external-container",name:"外部容器",icon:"content-container"},"list-nav":{type:"list-nav",name:"列表导航"},"list-view":{type:"list-view",name:"列表"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"},image:{type:"image",name:"图像"},"discussion-editor":{type:"discussion-editor",name:"评论编辑区"},"discussion-list":{type:"discussion-list",name:"评论列表"},comment:{type:"comment",name:"评论区"},"rich-text-editor":{type:"rich-text-editor",name:"富文本编辑器",icon:"rich-text-box"},calendar:{type:"calendar",name:"日历",icon:"date-picker"}},se={convertFrom:(e,t,n)=>{var b;const a=e.editor&&e.editor[t]?e.editor[t]:e[t];return((b=ce[a])==null?void 0:b.name)||a}},ue={convertTo:(e,t,n,a)=>{e[t]=e[t]},convertFrom:(e,t,n)=>e.editor?n.getRealEditorType(e.editor.type):""},de={convertTo:(e,t,n,a)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e.formatter?e.formatter[t]=n:e.formatter={[t]:n})},convertFrom:(e,t,n)=>{if(e.formatter){if(t==="trueText")return e.formatter.trueText;if(t==="falseText")return e.formatter.falseText;if(t==="prefix")return e.formatter.prefix;if(t==="suffix")return e.formatter.suffix;if(t==="precision")return e.formatter.precision;if(t==="decimal")return e.formatter.decimal;if(t==="thousand")return e.formatter.thousand;if(t==="dateFormat")return e.formatter.dateFormat||"yyyy-MM-dd";if(t==="customFormat")return e.formatter.customFormat;if(t==="type")return e.formatter.type||"none"}return"none"}},fe={convertTo:(e,t,n,a)=>{e.command?e.command[t]=n:e.command={[t]:n},t==="enableType"&&n==="default"&&(e.command.enable=!0,e.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]),t==="enableType"&&n==="custom"&&(e.command.enable=!0,e.command.commands=[{value:"add",text:"增加",type:"link"},{value:"edit",text:"编辑",type:"danger"},{value:"remove",text:"删除",type:"remove"}]),t==="enableType"&&n==="unable"&&(e.command.enable=!1)},convertFrom:(e,t,n)=>{var a,b;if(e.command){if(t==="enableType"){const T=(b=(a=e.command)==null?void 0:a.commands)==null?void 0:b.find(C=>C.command==="edit"&&C.type==="primary");return e.command.enable?T?"default":"custom":"unable"}if(t==="commands")return e.command.enableType==="custom"?e.command.commands:[]}return""}},me={convertTo:(e,t,n,a)=>{e.column?e.column[t]=n:e.column={[t]:n},t==="fitColumns"&&n&&(e.column.fitMode||(e.column.fitMode="average"))},convertFrom:(e,t,n)=>{if(e.column){if(t==="fitColumns")return e.column.fitColumns;if(t==="fitMode")return e.column.fitMode}return""}},pe={convertTo:(e,t,n,a)=>{e.summary?e.summary[t]=n:e.summary={[t]:n},t==="enable"&&n&&(e.summary?e.summary.groupFields||(e.summary.groupFields=[]):e.summary={enable:n,groupFields:[]})},convertFrom:(e,t,n)=>e.summary&&t==="enable"?e.summary.enable:e.type==="data-grid-column"?e.enableSummary===void 0?!1:e.enableSummary:""},ve={convertTo:(e,t,n,a)=>{e.group?e.group[t]=n:e.group={[t]:n},t==="enable"&&n&&(e.group?e.group.groupFields||(e.group.groupFields=[]):e.group={enable:n,groupFields:[],showSummary:!1})},convertFrom:(e,t,n)=>{if(e.group){if(t==="enable")return e.group.enable;if(t==="showSummary")return e.group.showSummary}}},ge={convertFrom:(e,t)=>e.binding?e.binding.path:"",convertTo:(e,t,n)=>{if(n&&n.length>0){const a=n[0];e.binding||(e.binding={}),e.binding.type="Form",e.binding.path=a.bindingField,e.binding.field=a.id,e.binding.fullPath=a.path,e.path=a.bindingPath}}},be={convertTo:(e,t,n,a)=>{e.pagination||(e.pagination={}),e.pagination[t]=n},convertFrom:(e,t,n)=>e.pagination?e.pagination[t]:e[t]},ye={convertTo:(e,t,n,a)=>{e.rowNumber||(e.rowNumber={}),e.rowNumber[t]=n},convertFrom:(e,t,n)=>e.rowNumber?e.rowNumber[t]:e[t]},Ce={convertTo:(e,t,n,a)=>{e.selection||(e.selection={}),e.selection[t]=n},convertFrom:(e,t,n)=>{var a,b;return t==="showCheckbox"?(a=e.selection)!=null&&a.multiSelect?!0:(b=e.selection)==null?void 0:b.showCheckbox:e.selection?e.selection[t]:e[t]}},Te={convertFrom:(e,t,n)=>e[t]&&e[t].length?`共 ${e[t].length} 项`:""},Fe={convertFrom:(e,t)=>e[t]||"",convertTo:(e,t,n)=>{e[t]=n}},Se={convertTo:(e,t,n,a)=>{e.size||(e.size={}),e.size[t]=n},convertFrom:(e,t,n)=>e.size?e.size[t]:e[t]},xe={convertFrom:(e,t,n)=>{var a,b;return(a=e.formatter)!=null&&a.data&&t==="formatterEnumData"&&!e.formatterEnumData?(b=e.formatter)==null?void 0:b.data:e.formatterEnumData}},he={convertTo:(e,t,n,a)=>{e.sort||(e.sort={}),e.sort[t]=n},convertFrom:(e,t,n)=>{var a,b;if(t==="mode")return((a=e.sort)==null?void 0:a.mode)||"client";if(t==="multiSort")return!!((b=e.sort)!=null&&b.multiSort)}},we={convertTo:(e,t,n,a)=>{e.filter||(e.filter={}),e.filter[t]=n},convertFrom:(e,t,n)=>{var a;if(t==="mode")return((a=e.filter)==null?void 0:a.mode)||"client"}},Ne={convertTo:(e,t,n,a)=>{e.rowOption?e.rowOption[t]=n:e.rowOption={[t]:n}},convertFrom:(e,t,n)=>{if(e.rowOption){if(t==="customRowStyle")return e.rowOption.customRowStyle;if(t==="customCellStyle")return e.rowOption.customCellStyle}return""}},Pe={convertTo:(e,t,n,a)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e[t]=n,t==="columnTemplateType"&&n==="hyperlink"&&(e.onClickLinkCommand?e.columnTemplate=`
1
+ (function(u,$){typeof exports=="object"&&typeof module<"u"?module.exports=$(require("vue"),require("../button-edit/index.umd.js"),require("lodash-es"),require("../property-panel/index.umd.js"),require("../tree-view/index.umd.js")):typeof define=="function"&&define.amd?define(["vue","../button-edit/index.umd.js","lodash-es","../property-panel/index.umd.js","../tree-view/index.umd.js"],$):(u=typeof globalThis<"u"?globalThis:u||self,u["collection-property-editor"]=$(u.Vue,u.buttonEdit,u.LodashES,u.propertyPanel,u.treeView))})(this,function(u,$,D,K,ee){"use strict";function z(e,t){let n;function a(r){const{properties:l,title:m,ignore:o}=r,i=o&&Array.isArray(o),c=Object.keys(l).reduce((g,y)=>((!i||!o.find(F=>F===y))&&(g[y]=l[y].type==="object"&&l[y].properties?a(l[y]):D.cloneDeep(l[y].default)),g),{});if(m&&(!i||!o.find(g=>g==="id"))){const g=m.toLowerCase().replace(/-/g,"_");c.id=`${g}_${Math.random().toString().slice(2,6)}`}return c}function b(r){const{properties:l,title:m,required:o}=r;if(o&&Array.isArray(o)){const i=o.reduce((c,g)=>(c[g]=l[g].type==="object"&&l[g].properties?a(l[g]):D.cloneDeep(l[g].default),c),{});if(m&&o.find(c=>c==="id")){const c=m.toLowerCase().replace(/-/g,"_");i.id=`${c}_${Math.random().toString().slice(2,6)}`}return i}return{type:m}}function T(r,l={},m){const o=e[r];if(o){let i=b(o);const c=t[r];return i=c?c({getSchemaByType:T},i,l,m):i,n!=null&&n.appendIdentifyForNewControl&&n.appendIdentifyForNewControl(i),i}return null}function C(r,l){const m=a(l);return Object.keys(m).reduce((o,i)=>(Object.prototype.hasOwnProperty.call(r,i)&&(o[i]&&D.isPlainObject(o[i])&&D.isPlainObject(r[i]||!r[i])?Object.assign(o[i],r[i]||{}):o[i]=r[i]),o),m),m}function x(r,l){return Object.keys(r).filter(o=>r[o]!=null).reduce((o,i)=>{if(l.has(i)){const c=l.get(i);if(typeof c=="string")o[c]=r[i];else{const g=c(i,r[i],r);Object.assign(o,g)}}else o[i]=r[i];return o},{})}function p(r,l,m=new Map){const o=C(r,l);return x(o,m)}function f(r){var m;const l=r.type;if(l){const o=e[l];if(!o)return r;const i=C(r,o),c=((m=r.editor)==null?void 0:m.type)||"";if(c){const g=e[c],y=C(r.editor,g);i.editor=y}return i}return r}function v(r){n=r}return{getSchemaByType:T,resolveSchemaWithDefaultValue:f,resolveSchemaToProps:p,mappingSchemaToProps:x,setDesignerContext:v}}const A={},I={},{resolveSchemaWithDefaultValue:te,resolveSchemaToProps:ne,mappingSchemaToProps:re}=z(A,I);function oe(e={}){function t(f,v,r,l){if(typeof r=="number")return l[f].length===r;if(typeof r=="object"){const m=Object.keys(r)[0],o=r[m];if(m==="not")return Number(l[f].length)!==Number(o);if(m==="moreThan")return Number(l[f].length)>=Number(o);if(m==="lessThan")return Number(l[f].length)<=Number(o)}return!1}function n(f,v,r,l){return l[f]&&l[f].propertyValue&&String(l[f].propertyValue.value)===String(r)}const a=new Map([["length",t],["getProperty",n]]);Object.keys(e).reduce((f,v)=>(f.set(v,e[v]),f),a);function b(f,v){const r=f;return typeof v=="number"?[{target:r,operator:"length",param:null,value:Number(v)}]:typeof v=="boolean"?[{target:r,operator:"getProperty",param:f,value:!!v}]:typeof v=="object"?Object.keys(v).map(l=>{if(l==="length")return{target:r,operator:"length",param:null,value:v[l]};const m=l,o=v[l];return{target:r,operator:"getProperty",param:m,value:o}}):[]}function T(f){return Object.keys(f).reduce((r,l)=>{const m=b(l,f[l]);return r.push(...m),r},[])}function C(f,v){if(a.has(f.operator)){const r=a.get(f.operator);return r&&r(f.target,f.param,f.value,v)||!1}return!1}function x(f,v){return T(f).reduce((m,o)=>m&&C(o,v),!0)}function p(f,v){const r=Object.keys(f),l=r.includes("allOf"),m=r.includes("anyOf"),o=l||m,g=(o?f[o?l?"allOf":"anyOf":"allOf"]:[f]).map(F=>x(F,v));return l?!g.includes(!1):g.includes(!0)}return{parseValueSchema:p}}const ie={convertTo:(e,t,n,a)=>{e.appearance||(e.appearance={}),e.appearance[t]=n},convertFrom:(e,t,n)=>e.appearance?e.appearance[t]:e[t]},ae={convertFrom:(e,t,n)=>e.buttons&&e.buttons.length?`共 ${e.buttons.length} 项`:"无"},le={convertTo:(e,t,n,a)=>{e.editor&&(e.editor[t]=n)},convertFrom:(e,t,n)=>e.editor&&Object.prototype.hasOwnProperty.call(e.editor,t)?e.editor[t]:e[t]},ce={button:{type:"button",name:"按钮"},"response-toolbar":{type:"response-toolbar",name:"工具栏"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮"},"content-container":{type:"content-container",name:"容器"},"input-group":{type:"input-group",name:"文本"},textarea:{type:"textarea",name:"多行文本"},lookup:{type:"lookup",name:"帮助"},"number-spinner":{type:"number-spinner",name:"数值"},"date-picker":{type:"date-picker",name:"日期"},switch:{type:"switch",name:"开关"},"radio-group":{type:"radio-group",name:"单选组"},"check-box":{type:"check-box",name:"复选框"},"check-group":{type:"check-group",name:"复选框组"},"combo-list":{type:"combo-list",name:"下拉列表"},"response-form":{type:"response-form",name:"卡片面板"},"response-layout":{type:"response-layout",name:"布局容器",icon:"response-layout-3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"response-layout-1"},"tree-grid":{type:"tree-grid",name:"树表格"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块"},component:{type:"component",name:"组件"},tabs:{type:"tabs",name:"标签页"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮"},"html-template":{type:"html-template",name:"模板容器"},"time-picker":{type:"time-picker",name:"时间选择"},section:{type:"section",name:"分组面板"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传"},"page-header":{type:"page-header",name:"页头"},"page-footer":{type:"page-footer",name:"页脚"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏"},fieldset:{type:"fieldset",name:"分组"},"query-solution":{type:"query-solution",name:"筛选方案"},drawer:{type:"drawer",name:"抽屉"},"external-container":{type:"external-container",name:"外部容器",icon:"content-container"},"list-nav":{type:"list-nav",name:"列表导航"},"list-view":{type:"list-view",name:"列表"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"},image:{type:"image",name:"图像"},"discussion-editor":{type:"discussion-editor",name:"评论编辑区"},"discussion-list":{type:"discussion-list",name:"评论列表"},comment:{type:"comment",name:"评论区"},"rich-text-editor":{type:"rich-text-editor",name:"富文本编辑器",icon:"rich-text-box"},calendar:{type:"calendar",name:"日历",icon:"date-picker"}},ue={convertFrom:(e,t,n)=>{var b;const a=e.editor&&e.editor[t]?e.editor[t]:e[t];return((b=ce[a])==null?void 0:b.name)||a}},se={convertTo:(e,t,n,a)=>{e[t]=e[t]},convertFrom:(e,t,n)=>e.editor?n.getRealEditorType(e.editor.type):""},de={convertTo:(e,t,n,a)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e.formatter?e.formatter[t]=n:e.formatter={[t]:n})},convertFrom:(e,t,n)=>{if(e.formatter){if(t==="trueText")return e.formatter.trueText;if(t==="falseText")return e.formatter.falseText;if(t==="prefix")return e.formatter.prefix;if(t==="suffix")return e.formatter.suffix;if(t==="precision")return e.formatter.precision;if(t==="decimal")return e.formatter.decimal;if(t==="thousand")return e.formatter.thousand;if(t==="dateFormat")return e.formatter.dateFormat||"yyyy-MM-dd";if(t==="customFormat")return e.formatter.customFormat;if(t==="type")return e.formatter.type||"none"}return"none"}},fe={convertTo:(e,t,n,a)=>{e.command?e.command[t]=n:e.command={[t]:n},t==="enableType"&&n==="default"&&(e.command.enable=!0,e.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]),t==="enableType"&&n==="custom"&&(e.command.enable=!0,e.command.commands=[{value:"add",text:"增加",type:"link"},{value:"edit",text:"编辑",type:"danger"},{value:"remove",text:"删除",type:"remove"}]),t==="enableType"&&n==="unable"&&(e.command.enable=!1)},convertFrom:(e,t,n)=>{var a,b;if(e.command){if(t==="enableType"){const T=(b=(a=e.command)==null?void 0:a.commands)==null?void 0:b.find(C=>C.command==="edit"&&C.type==="primary");return e.command.enable?T?"default":"custom":"unable"}if(t==="commands")return e.command.enableType==="custom"?e.command.commands:[];if(t==="formatter")return e.command.formatter}return""}},me={convertTo:(e,t,n,a)=>{e.column?e.column[t]=n:e.column={[t]:n},t==="fitColumns"&&n&&(e.column.fitMode||(e.column.fitMode="average"))},convertFrom:(e,t,n)=>{if(e.column){if(t==="fitColumns")return e.column.fitColumns;if(t==="fitMode")return e.column.fitMode}return""}},pe={convertTo:(e,t,n,a)=>{e.summary?e.summary[t]=n:e.summary={[t]:n},t==="enable"&&n&&(e.summary?e.summary.groupFields||(e.summary.groupFields=[]):e.summary={enable:n,groupFields:[]})},convertFrom:(e,t,n)=>e.summary&&t==="enable"?e.summary.enable:e.type==="data-grid-column"?e.enableSummary===void 0?!1:e.enableSummary:""},ve={convertTo:(e,t,n,a)=>{e.group?e.group[t]=n:e.group={[t]:n},t==="enable"&&n&&(e.group?e.group.groupFields||(e.group.groupFields=[]):e.group={enable:n,groupFields:[],showSummary:!1})},convertFrom:(e,t,n)=>{if(e.group){if(t==="enable")return e.group.enable;if(t==="showSummary")return e.group.showSummary}}},ge={convertFrom:(e,t)=>e.binding?e.binding.path:"",convertTo:(e,t,n)=>{if(n&&n.length>0){const a=n[0];e.binding||(e.binding={}),e.binding.type="Form",e.binding.path=a.bindingField,e.binding.field=a.id,e.binding.fullPath=a.path,e.path=a.bindingPath}}},be={convertTo:(e,t,n,a)=>{e.pagination||(e.pagination={}),e.pagination[t]=n},convertFrom:(e,t,n)=>e.pagination?e.pagination[t]:e[t]},ye={convertTo:(e,t,n,a)=>{e.rowNumber||(e.rowNumber={}),e.rowNumber[t]=n},convertFrom:(e,t,n)=>e.rowNumber?e.rowNumber[t]:e[t]},Ce={convertTo:(e,t,n,a)=>{e.selection||(e.selection={}),e.selection[t]=n},convertFrom:(e,t,n)=>{var a,b;return t==="showCheckbox"?(a=e.selection)!=null&&a.multiSelect?!0:(b=e.selection)==null?void 0:b.showCheckbox:e.selection?e.selection[t]:e[t]}},Te={convertFrom:(e,t,n)=>e[t]&&e[t].length?`共 ${e[t].length} 项`:""},Fe={convertFrom:(e,t)=>e[t]||"",convertTo:(e,t,n)=>{e[t]=n}},Se={convertTo:(e,t,n,a)=>{e.size||(e.size={}),e.size[t]=n},convertFrom:(e,t,n)=>e.size?e.size[t]:e[t]},xe={convertFrom:(e,t,n)=>{var a,b;return(a=e.formatter)!=null&&a.data&&t==="formatterEnumData"&&!e.formatterEnumData?(b=e.formatter)==null?void 0:b.data:e.formatterEnumData}},we={convertTo:(e,t,n,a)=>{e.sort||(e.sort={}),e.sort[t]=n},convertFrom:(e,t,n)=>{var a,b;if(t==="mode")return((a=e.sort)==null?void 0:a.mode)||"client";if(t==="multiSort")return!!((b=e.sort)!=null&&b.multiSort)}},Ne={convertTo:(e,t,n,a)=>{e.filter||(e.filter={}),e.filter[t]=n},convertFrom:(e,t,n)=>{var a;if(t==="mode")return((a=e.filter)==null?void 0:a.mode)||"client"}},he={convertTo:(e,t,n,a)=>{e.rowOption?e.rowOption[t]=n:e.rowOption={[t]:n}},convertFrom:(e,t,n)=>{if(e.rowOption){if(t==="customRowStyle")return e.rowOption.customRowStyle;if(t==="customCellStyle")return e.rowOption.customCellStyle}return""}},Pe={convertTo:(e,t,n,a)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e[t]=n,t==="columnTemplateType"&&n==="hyperlink"&&(e.onClickLinkCommand?e.columnTemplate=`
2
2
  <span class="f-pretend-link f-cursor-pointer"
3
3
  @click="(ctx)=>viewModel.current.${e.onClickLinkCommand||""}({id: rowData.id,context: ctx})">
4
4
  {{rowData.${e.field}}}
5
5
  </span>`:e.columnTemplate=`
6
6
  <span class="f-pretend-link f-cursor-pointer">
7
7
  {{rowData.${e.field}}}
8
- </span>`),t==="columnTemplateType"&&n==="default"&&(e.columnTemplate=""))},convertFrom:(e,t,n)=>t==="columnTemplate"?e.columnTemplate:t==="columnTemplateType"?e.columnTemplateType?e.columnTemplateType||"default":e.columnTemplate&&!e.onClickLinkCommand?"custom":e.columnTemplate&&e.onClickLinkCommand?"hyperlink":"default":""};function _(e,t,n){const a=new Map([["/converter/appearance.converter",ie],["/converter/buttons.converter",ae],["/converter/property-editor.converter",le],["/converter/items-count.converter",Te],["/converter/type.converter",se],["/converter/change-editor.converter",ue],["/converter/change-formatter.converter",de],["/converter/column-command.converter",fe],["/converter/column-option.converter",me],["/converter/summary.converter",pe],["/converter/group.converter",ve],["/converter/form-group-label.converter",Fe],["/converter/field-selector.converter",ge],["/converter/pagination.converter",be],["/converter/row-number.converter",ye],["/converter/grid-selection.converter",Ce],["/converter/size.converter",Se],["/converter/change-formatter-enum.converter",xe],["/converter/grid-sort.converter",he],["/converter/grid-filter.converter",we],["/converter/row-option.converter",Ne],["/converter/change-formatter-type.converter",Pe]]),b=new Map([["string",{type:"input-group",enableClear:!1}],["boolean",{type:"combo-list",textField:"name",valueField:"value",idField:"value",enableClear:!1,editable:!1,data:[{value:!0,name:"是"},{value:!1,name:"否"}]}],["enum",{type:"combo-list",maxHeight:128,enableClear:!1,editable:!1}],["array",{type:"button-edit"}],["number",{type:"number-spinner",placeholder:""}],["events-editor",{type:"events-editor",hide:!0}]]),T=oe();function C(o,i){return()=>T.parseValueSchema(o,i)}function x(o,i,c){return o.includes("visible")&&i.visible!==void 0?typeof i.visible=="boolean"?()=>!!i.visible:i.visible===void 0?!0:C(i.visible,c):()=>!0}function p(o,i,c){return o.includes("readonly")&&i.readonly!==void 0?typeof i.readonly=="boolean"?()=>!!i.readonly:C(i.readonly,c):()=>!1}function f(o,i){const c=o.$converter||i;return typeof c=="string"&&c&&a.has(c)?a.get(c)||null:c||null}function v(o,i,c,g,y,F="",N=""){return Object.keys(o).map(u=>{const S=s.ref(1),P=u,d=o[u],w=Object.keys(d),R=d.title,E=d.type,M=b.get(E)||{type:"input-group",enableClear:!1},j=d.editor?Object.assign({},M,d.editor):Object.assign({},M),q=x(w,d,i),V=p(w,d,i);j.readonly=j.readonly===void 0?V():j.readonly;const L=d.type==="cascade"?v(d.properties,i,c,g,y,F,N):[],Me=!0;let O=f(d,N);const $e=s.computed({get(){if(S.value){if(["class","style"].find(Le=>Le===P)&&!O&&(O=a.get("/converter/appearance.converter")||null),O&&O.convertFrom)return O.convertFrom(c,u,y,F);const k=c[u];return Object.prototype.hasOwnProperty.call(d,"defaultValue")&&(k===void 0||typeof k=="string"&&k==="")?d.type==="boolean"?d.defaultValue:d.defaultValue||"":k}return null},set(k){S.value+=1,O&&O.convertTo?(O.convertTo(g,u,k,y,F),O.convertTo(c,u,k,y,F)):(g[u]=k,c[u]=k)}}),{refreshPanelAfterChanged:Re,description:Ve,isExpand:Be,parentPropertyID:qe}=d,Z={propertyID:P,propertyName:R,propertyType:E,propertyValue:$e,editor:j,visible:q,readonly:V,cascadeConfig:L,hideCascadeTitle:Me,refreshPanelAfterChanged:Re,description:Ve,isExpand:Be,parentPropertyID:qe};return i[P]=Z,Z})}function r(o,i,c={}){const g={},y=e[o];return y&&y.categories?Object.keys(y.categories).map(N=>{const h=y.categories[N],u=h==null?void 0:h.title,S=v(h.properties||{},g,{},c,i);return{categoryId:N,categoryName:u,properties:S}}):[]}function l(o,i,c,g,y=""){const F=i.$ref.schema,N=i.$ref.converter,h=c[F],u=h.type,S=n(h),P={},d=e[u];if(d&&d.categories){const w=d.categories[o],R=w==null?void 0:w.title;N&&Object.keys(w.properties).forEach(j=>{w.properties[j].$converter=N});const E=(w==null?void 0:w.properties)||{},M=v(E,P,S,h,g,y);return{categoryId:o,categoryName:R,properties:M}}return{categoryId:o,categoryName:"",properties:[]}}function m(o,i,c,g,y){const F=o.type,N=n(o),h={};let u=y||e[F];if(u&&Object.keys(u).length===0&&c&&c.getPropConfig&&(u=c.getPropConfig(g)),u&&u.categories){const S=[];return Object.keys(u.categories).map(P=>{const d=u.categories[P];if(d.$ref){S.push(l(P,d,o,i,g));return}const w=d==null?void 0:d.title,R=d==null?void 0:d.tabId,E=d==null?void 0:d.tabName,M=d==null?void 0:d.hide,j=d==null?void 0:d.hideTitle,q=v(d.properties||{},h,N,o,i,g,d.$converter),{setPropertyRelates:V}=d,L=d==null?void 0:d.parentPropertyID;S.push({categoryId:P,categoryName:w,tabId:R,tabName:E,hide:M,properties:q,hideTitle:j,setPropertyRelates:V,parentPropertyID:L})}),S}return[]}return{getPropertyConfigBySchema:m,getPropertyConfigByType:r,propertyConverterMap:a}}const H={},G={};_(H,G,te);const U={},W={},{resolveSchemaWithDefaultValue:Oe}=z(U,W),J={},Q={};_(J,Q,Oe);function ke(e,t,n=new Map,a=(C,x,p,f)=>x,b={},T=C=>C){return A[t.title]=t,I[t.title]=a,H[t.title]=b,G[t.title]=T,U[t.title]=t,W[t.title]=a,J[t.title]=b,Q[t.title]=T,(C={},x=!0)=>{if(!x)return re(C,n);const p=ne(C,t,n),f=Object.keys(e).reduce((v,r)=>(v[r]=e[r].default,v),{});return Object.assign(f,p)}}const je={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/collection-property-editor.schema.json",title:"collection-property-editor",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for collection-property-editor",type:"string"},type:{description:"The type string of collection-property-editor",type:"string",default:"collection-property-editor"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},modelValue:{type:"array",default:[]},idField:{type:"string",default:"id"},textField:{type:"string",default:""},defaultComponentSchema:{type:"object",default:{}},modalTitle:{type:"string",default:"编辑器"}},required:["type"],ignore:["id"]},X={modelValue:{type:Array,default:[]},idField:{type:String,default:"id"},textField:{type:String,default:""},defaultComponentSchema:{type:Object,default:{}},isToolbarHidden:{type:Boolean,default:!1},useFormCommand:{type:Object,default:{}},useFormSchema:{type:Object,default:{}}},Y={...X,modalTitle:{type:String,default:"编辑器"}},De=ke(Y,je),Ee=s.defineComponent({name:"CollectionPropertyContainer",props:X,emits:["valueChange","selectionChange"],setup(e,t){const n=s.ref(),a=s.ref(),{idField:b,textField:T,defaultComponentSchema:C,isToolbarHidden:x}=e,p=s.ref(e.modelValue),f=s.ref(),v=s.ref("collection-property-editor");s.provide("useFormCommand",e.useFormCommand),s.provide("useFormSchema",e.useFormSchema);const r=s.ref(),l=s.computed(()=>!p.value||p.value.length===0),m=[{field:T,title:"名称",width:340,resizable:!0,dataType:"string"}];function o(){const u=D.cloneDeep(C),S=Math.random().toString().slice(2,6);return u[b]=u[b]+"_"+S,u[T]=u[T]+"_"+S,u}function i(){const u=o();p.value.push(u),n.value.updateDataSource(p.value),n.value.selectItemById(u[b])}function c(){const u=p.value&&p.value.length>0?p.value[0]:null;u&&n.value.selectItemById(u[b])}function g(){const u=p.value.indexOf(r.value);p.value.splice(u,1),n.value.updateDataSource(p.value),c()}function y(){if(!r.value)return;const u=p.value.indexOf(r.value);u!==p.value.length-1&&(p.value[u]=p.value[u+1],p.value[u+1]=r.value,n.value.updateDataSource(p.value))}function F(){if(!r.value)return;const u=p.value.indexOf(r.value);u!==0&&(p.value[u]=p.value[u-1],p.value[u-1]=r.value,n.value.updateDataSource(p.value))}function N(u){r.value=u[0],t.emit("selectionChange",{selectedData:r,propertyConfig:f}),a.value.updatePropertyConfig(f.value,r.value,!0)}function h(){n.value.updateDataSource(p.value)}return s.onMounted(()=>{c()}),()=>s.createVNode("div",{class:"f-utils-fill-flex-column h-100 pt-2 pl-2 border-bottom"},[s.createVNode("div",{hidden:x,class:"border-bottom pb-2"},[s.createVNode("button",{class:"btn btn-primary mr-2",onClick:i},[s.createTextVNode("新增")]),s.createVNode("button",{class:"btn btn-secondary mr-2",onClick:g},[s.createTextVNode("删除")]),s.createVNode("button",{class:"btn btn-secondary mr-2",onClick:F},[s.createTextVNode("上移")]),s.createVNode("button",{class:"btn btn-secondary mr-2",onClick:y},[s.createTextVNode("下移")])]),s.createVNode("div",{class:"f-utils-fill-flex-row"},[s.createVNode("div",{class:"f-utils-fill f-utils-overflow-auto"},[s.createVNode(ee.FTreeView,{ref:n,columns:m,data:p.value,rowOption:{disabledField:void 0},fit:"true",idField:b,onSelectionChange:N},null)]),s.createVNode("div",{hidden:l.value,style:"height:550px;display: flex;"},[s.createVNode(K.FPropertyPanel,{propertyConfig:f.value,ref:a,propertyName:v.value,enableSearch:!1,onPropertyChanged:h},null)])])])}}),B=s.defineComponent({name:"FCollectionPropertyEditor",props:Y,emits:["valueChange","selectionChange"],setup(e,t){const n=s.ref(),a=s.inject("useFormCommand"),b=s.inject("useFormSchema"),T=s.ref(D.cloneDeep(e.modelValue)||[]),C=s.computed(()=>{var r;return`共 ${((r=T.value)==null?void 0:r.length)||0} 项`});function x(){return t.emit("valueChange",T.value),!0}function p(){return!0}function f({selectedData:r,propertyConfig:l}){t.emit("selectionChange",{selectedData:r,propertyConfig:l})}const v={title:e.modalTitle||"编辑器",width:650,height:700,fitContent:!1,showMaxButton:!0,resizeable:!0,draggable:!0,enableEsc:!0,buttons:[{name:"cancel",text:"取消",class:"btn btn-secondary",handle:p},{name:"accept",text:"确定",class:"btn btn-primary",handle:x}]};return()=>s.createVNode($.FButtonEdit,{modelValue:C.value,"onUpdate:modelValue":r=>C.value=r,editable:!1,enableTitle:!0,inputType:"text",buttonBehavior:"Modal",modalOptions:v},{default:()=>[s.createVNode("div",{class:"h-100 d-flex flex-column"},[s.createVNode(Ee,{ref:n,modelValue:T.value,"onUpdate:modelValue":r=>T.value=r,idField:e.idField,textField:e.textField,defaultComponentSchema:e.defaultComponentSchema,onSelectionChange:f,useFormCommand:a,useFormSchema:b},null)])]})}});return{install(e){e.component(B.name,B)},register(e,t,n,a){e["collection-property-editor"]=B,t["collection-property-editor"]=De}}});
8
+ </span>`),t==="columnTemplateType"&&n==="default"&&(e.columnTemplate=""),t==="columnTemplateType"&&n==="custom"&&(e.columnTemplate=""))},convertFrom:(e,t,n)=>t==="columnTemplate"?e.columnTemplate:t==="columnTemplateType"?e.columnTemplateType?e.columnTemplateType||"default":e.columnTemplate&&!e.onClickLinkCommand?"custom":e.columnTemplate&&e.onClickLinkCommand?"hyperlink":"default":""};function _(e,t,n){const a=new Map([["/converter/appearance.converter",ie],["/converter/buttons.converter",ae],["/converter/property-editor.converter",le],["/converter/items-count.converter",Te],["/converter/type.converter",ue],["/converter/change-editor.converter",se],["/converter/change-formatter.converter",de],["/converter/column-command.converter",fe],["/converter/column-option.converter",me],["/converter/summary.converter",pe],["/converter/group.converter",ve],["/converter/form-group-label.converter",Fe],["/converter/field-selector.converter",ge],["/converter/pagination.converter",be],["/converter/row-number.converter",ye],["/converter/grid-selection.converter",Ce],["/converter/size.converter",Se],["/converter/change-formatter-enum.converter",xe],["/converter/grid-sort.converter",we],["/converter/grid-filter.converter",Ne],["/converter/row-option.converter",he],["/converter/change-formatter-type.converter",Pe]]),b=new Map([["string",{type:"input-group",enableClear:!1}],["boolean",{type:"combo-list",textField:"name",valueField:"value",idField:"value",enableClear:!1,editable:!1,data:[{value:!0,name:"是"},{value:!1,name:"否"}]}],["enum",{type:"combo-list",maxHeight:128,enableClear:!1,editable:!1}],["array",{type:"button-edit"}],["number",{type:"number-spinner",placeholder:""}],["events-editor",{type:"events-editor",hide:!0}]]),T=oe();function C(o,i){return()=>T.parseValueSchema(o,i)}function x(o,i,c){return o.includes("visible")&&i.visible!==void 0?typeof i.visible=="boolean"?()=>!!i.visible:i.visible===void 0?!0:C(i.visible,c):()=>!0}function p(o,i,c){return o.includes("readonly")&&i.readonly!==void 0?typeof i.readonly=="boolean"?()=>!!i.readonly:C(i.readonly,c):()=>!1}function f(o,i){const c=o.$converter||i;return typeof c=="string"&&c&&a.has(c)?a.get(c)||null:c||null}function v(o,i,c,g,y,F="",h=""){return Object.keys(o).map(s=>{const S=u.ref(1),P=s,d=o[s],N=Object.keys(d),R=d.title,E=d.type,M=b.get(E)||{type:"input-group",enableClear:!1},j=d.editor?Object.assign({},M,d.editor):Object.assign({},M),q=x(N,d,i),V=p(N,d,i);j.readonly=j.readonly===void 0?V():j.readonly;const L=d.type==="cascade"?v(d.properties,i,c,g,y,F,h):[],Me=!0;let O=f(d,h);const $e=u.computed({get(){if(S.value){if(["class","style"].find(Le=>Le===P)&&!O&&(O=a.get("/converter/appearance.converter")||null),O&&O.convertFrom)return O.convertFrom(c,s,y,F);const k=c[s];return Object.prototype.hasOwnProperty.call(d,"defaultValue")&&(k===void 0||typeof k=="string"&&k==="")?d.type==="boolean"?d.defaultValue:d.defaultValue||"":k}return null},set(k){S.value+=1,O&&O.convertTo?(O.convertTo(g,s,k,y,F),O.convertTo(c,s,k,y,F)):(g[s]=k,c[s]=k)}}),{refreshPanelAfterChanged:Re,description:Ve,isExpand:Be,parentPropertyID:qe}=d,Z={propertyID:P,propertyName:R,propertyType:E,propertyValue:$e,editor:j,visible:q,readonly:V,cascadeConfig:L,hideCascadeTitle:Me,refreshPanelAfterChanged:Re,description:Ve,isExpand:Be,parentPropertyID:qe};return i[P]=Z,Z})}function r(o,i,c={}){const g={},y=e[o];return y&&y.categories?Object.keys(y.categories).map(h=>{const w=y.categories[h],s=w==null?void 0:w.title,S=v(w.properties||{},g,{},c,i);return{categoryId:h,categoryName:s,properties:S}}):[]}function l(o,i,c,g,y=""){const F=i.$ref.schema,h=i.$ref.converter,w=c[F],s=w.type,S=n(w),P={},d=e[s];if(d&&d.categories){const N=d.categories[o],R=N==null?void 0:N.title;h&&Object.keys(N.properties).forEach(j=>{N.properties[j].$converter=h});const E=(N==null?void 0:N.properties)||{},M=v(E,P,S,w,g,y);return{categoryId:o,categoryName:R,properties:M}}return{categoryId:o,categoryName:"",properties:[]}}function m(o,i,c,g,y){const F=o.type,h=n(o),w={};let s=y||e[F];if(s&&Object.keys(s).length===0&&c&&c.getPropConfig&&(s=c.getPropConfig(g)),s&&s.categories){const S=[];return Object.keys(s.categories).map(P=>{const d=s.categories[P];if(d.$ref){S.push(l(P,d,o,i,g));return}const N=d==null?void 0:d.title,R=d==null?void 0:d.tabId,E=d==null?void 0:d.tabName,M=d==null?void 0:d.hide,j=d==null?void 0:d.hideTitle,q=v(d.properties||{},w,h,o,i,g,d.$converter),{setPropertyRelates:V}=d,L=d==null?void 0:d.parentPropertyID;S.push({categoryId:P,categoryName:N,tabId:R,tabName:E,hide:M,properties:q,hideTitle:j,setPropertyRelates:V,parentPropertyID:L})}),S}return[]}return{getPropertyConfigBySchema:m,getPropertyConfigByType:r,propertyConverterMap:a}}const H={},G={};_(H,G,te);const U={},W={},{resolveSchemaWithDefaultValue:Oe}=z(U,W),J={},Q={};_(J,Q,Oe);function ke(e,t,n=new Map,a=(C,x,p,f)=>x,b={},T=C=>C){return A[t.title]=t,I[t.title]=a,H[t.title]=b,G[t.title]=T,U[t.title]=t,W[t.title]=a,J[t.title]=b,Q[t.title]=T,(C={},x=!0)=>{if(!x)return re(C,n);const p=ne(C,t,n),f=Object.keys(e).reduce((v,r)=>(v[r]=e[r].default,v),{});return Object.assign(f,p)}}const je={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/collection-property-editor.schema.json",title:"collection-property-editor",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for collection-property-editor",type:"string"},type:{description:"The type string of collection-property-editor",type:"string",default:"collection-property-editor"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},modelValue:{type:"array",default:[]},idField:{type:"string",default:"id"},textField:{type:"string",default:""},defaultComponentSchema:{type:"object",default:{}},modalTitle:{type:"string",default:"编辑器"}},required:["type"],ignore:["id"]},X={modelValue:{type:Array,default:[]},idField:{type:String,default:"id"},textField:{type:String,default:""},defaultComponentSchema:{type:Object,default:{}},isToolbarHidden:{type:Boolean,default:!1},useFormCommand:{type:Object,default:{}},useFormSchema:{type:Object,default:{}}},Y={...X,modalTitle:{type:String,default:"编辑器"}},De=ke(Y,je),Ee=u.defineComponent({name:"CollectionPropertyContainer",props:X,emits:["valueChange","selectionChange"],setup(e,t){const n=u.ref(),a=u.ref(),{idField:b,textField:T,defaultComponentSchema:C,isToolbarHidden:x}=e,p=u.ref(e.modelValue),f=u.ref(),v=u.ref("collection-property-editor");u.provide("useFormCommand",e.useFormCommand),u.provide("useFormSchema",e.useFormSchema);const r=u.ref(),l=u.computed(()=>!p.value||p.value.length===0),m=[{field:T,title:"名称",width:340,resizable:!0,dataType:"string"}];function o(){const s=D.cloneDeep(C),S=Math.random().toString().slice(2,6);return s[b]=s[b]+"_"+S,s[T]=s[T]+"_"+S,s}function i(){const s=o();p.value.push(s),n.value.updateDataSource(p.value),n.value.selectItemById(s[b])}function c(){const s=p.value&&p.value.length>0?p.value[0]:null;s&&n.value.selectItemById(s[b])}function g(){const s=p.value.indexOf(r.value);p.value.splice(s,1),n.value.updateDataSource(p.value),c()}function y(){if(!r.value)return;const s=p.value.indexOf(r.value);s!==p.value.length-1&&(p.value[s]=p.value[s+1],p.value[s+1]=r.value,n.value.updateDataSource(p.value))}function F(){if(!r.value)return;const s=p.value.indexOf(r.value);s!==0&&(p.value[s]=p.value[s-1],p.value[s-1]=r.value,n.value.updateDataSource(p.value))}function h(s){r.value=s[0],t.emit("selectionChange",{selectedData:r,propertyConfig:f}),a.value.updatePropertyConfig(f.value,r.value,!0)}function w(){n.value.updateDataSource(p.value)}return u.onMounted(()=>{c()}),()=>u.createVNode("div",{class:"f-utils-fill-flex-column h-100 pt-2 pl-2 border-bottom"},[u.createVNode("div",{hidden:x,class:"border-bottom pb-2"},[u.createVNode("button",{class:"btn btn-primary mr-2",onClick:i},[u.createTextVNode("新增")]),u.createVNode("button",{class:"btn btn-secondary mr-2",onClick:g},[u.createTextVNode("删除")]),u.createVNode("button",{class:"btn btn-secondary mr-2",onClick:F},[u.createTextVNode("上移")]),u.createVNode("button",{class:"btn btn-secondary mr-2",onClick:y},[u.createTextVNode("下移")])]),u.createVNode("div",{class:"f-utils-fill-flex-row"},[u.createVNode("div",{class:"f-utils-fill f-utils-overflow-auto"},[u.createVNode(ee.FTreeView,{ref:n,columns:m,data:p.value,rowOption:{disabledField:void 0},fit:"true",idField:b,onSelectionChange:h},null)]),u.createVNode("div",{hidden:l.value,style:"height:550px;display: flex;"},[u.createVNode(K.FPropertyPanel,{propertyConfig:f.value,ref:a,propertyName:v.value,enableSearch:!1,onPropertyChanged:w},null)])])])}}),B=u.defineComponent({name:"FCollectionPropertyEditor",props:Y,emits:["valueChange","selectionChange"],setup(e,t){const n=u.ref(),a=u.inject("useFormCommand"),b=u.inject("useFormSchema"),T=u.ref(D.cloneDeep(e.modelValue)||[]),C=u.computed(()=>{var r;return`共 ${((r=T.value)==null?void 0:r.length)||0} 项`});function x(){return t.emit("valueChange",T.value),!0}function p(){return!0}function f({selectedData:r,propertyConfig:l}){t.emit("selectionChange",{selectedData:r,propertyConfig:l})}const v={title:e.modalTitle||"编辑器",width:650,height:700,fitContent:!1,showMaxButton:!0,resizeable:!0,draggable:!0,enableEsc:!0,buttons:[{name:"cancel",text:"取消",class:"btn btn-secondary",handle:p},{name:"accept",text:"确定",class:"btn btn-primary",handle:x}]};return()=>u.createVNode($.FButtonEdit,{modelValue:C.value,"onUpdate:modelValue":r=>C.value=r,editable:!1,enableTitle:!0,inputType:"text",buttonBehavior:"Modal",modalOptions:v},{default:()=>[u.createVNode("div",{class:"h-100 d-flex flex-column"},[u.createVNode(Ee,{ref:n,modelValue:T.value,"onUpdate:modelValue":r=>T.value=r,idField:e.idField,textField:e.textField,defaultComponentSchema:e.defaultComponentSchema,onSelectionChange:f,useFormCommand:a,useFormSchema:b},null)])]})}});return{install(e){e.component(B.name,B)},register(e,t,n,a){e["collection-property-editor"]=B,t["collection-property-editor"]=De}}});