@farris/ui-vue 1.2.7 → 1.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/accordion/index.esm.js +136 -136
- package/components/accordion/index.umd.cjs +1 -1
- package/components/avatar/index.esm.js +418 -456
- package/components/avatar/index.umd.cjs +1 -1
- package/components/border-editor/index.esm.js +4 -4
- package/components/border-editor/index.umd.cjs +1 -1
- package/components/button/index.esm.js +1 -1
- package/components/button/index.umd.cjs +1 -1
- package/components/button-edit/index.esm.js +363 -436
- package/components/button-edit/index.umd.cjs +1 -1
- package/components/button-group/index.esm.js +5 -5
- package/components/button-group/index.umd.cjs +1 -1
- package/components/calendar/index.esm.js +417 -417
- package/components/calendar/index.umd.cjs +1 -1
- package/components/capsule/index.esm.js +176 -176
- package/components/capsule/index.umd.cjs +1 -1
- package/components/checkbox/index.esm.js +557 -594
- package/components/checkbox/index.umd.cjs +1 -1
- package/components/color-picker/index.esm.js +119 -119
- package/components/color-picker/index.umd.cjs +2 -2
- package/components/combo-list/index.esm.js +502 -535
- package/components/combo-list/index.umd.cjs +1 -1
- package/components/combo-tree/index.esm.js +69 -69
- package/components/combo-tree/index.umd.cjs +1 -1
- package/components/component/index.esm.js +387 -275
- package/components/component/index.umd.cjs +1 -1
- package/components/condition/index.esm.js +1219 -983
- package/components/condition/index.umd.cjs +1 -1
- package/components/content-container/index.esm.js +292 -219
- package/components/content-container/index.umd.cjs +1 -1
- package/components/data-grid/index.css +1 -1
- package/components/data-grid/index.esm.js +5718 -5546
- package/components/data-grid/index.umd.cjs +1 -1
- package/components/data-view/index.esm.js +3291 -2930
- package/components/data-view/index.umd.cjs +1 -1
- package/components/date-picker/index.esm.js +2650 -2682
- package/components/date-picker/index.umd.cjs +1 -1
- package/components/dependent-base/style.js +1 -0
- package/components/dependent-fluid/style.js +1 -0
- package/components/dependent-icon/style.js +1 -0
- package/components/dependent-input/style.js +1 -0
- package/components/dependent-table/style.js +1 -0
- package/components/designer-canvas/index.css +1 -1
- package/components/designer-canvas/index.esm.js +945 -932
- package/components/designer-canvas/index.umd.cjs +1 -1
- package/components/designer-outline/index.css +1 -1
- package/components/designer-outline/index.esm.js +175 -133
- package/components/designer-outline/index.umd.cjs +1 -1
- package/components/designer-toolbox/index.esm.js +36 -12
- package/components/designer-toolbox/index.umd.cjs +1 -1
- package/components/discussion-editor/index.esm.js +1 -1
- package/components/discussion-editor/index.umd.cjs +1 -1
- package/components/dropdown/index.esm.js +246 -246
- package/components/dropdown/index.umd.cjs +2 -2
- package/components/dynamic-form/index.esm.js +1319 -1172
- package/components/dynamic-form/index.umd.cjs +1 -1
- package/components/dynamic-resolver/index.esm.js +119 -82
- package/components/dynamic-resolver/index.umd.cjs +1 -1
- package/components/dynamic-view/index.esm.js +258 -249
- package/components/dynamic-view/index.umd.cjs +1 -1
- package/components/enum-editor/index.esm.js +3 -3
- package/components/enum-editor/index.umd.cjs +1 -1
- package/components/events-editor/index.esm.js +569 -514
- package/components/events-editor/index.umd.cjs +1 -1
- package/components/expression-editor/index.esm.js +104 -104
- package/components/expression-editor/index.umd.cjs +1 -1
- package/components/external-container/index.css +1 -1
- package/components/external-container/index.esm.js +3122 -2686
- package/components/external-container/index.umd.cjs +1 -1
- package/components/field-selector/index.css +1 -1
- package/components/field-selector/index.esm.js +6780 -6608
- package/components/field-selector/index.umd.cjs +1 -1
- package/components/filter-bar/index.css +1 -1
- package/components/filter-bar/index.esm.js +1466 -1523
- package/components/filter-bar/index.umd.cjs +1 -1
- package/components/flow-canvas/index.css +1 -1
- package/components/flow-canvas/index.esm.js +1048 -1035
- package/components/flow-canvas/index.umd.cjs +1 -1
- package/components/image-cropper/index.esm.js +422 -422
- package/components/image-cropper/index.umd.cjs +1 -1
- package/components/input-group/index.esm.js +674 -716
- package/components/input-group/index.umd.cjs +1 -1
- package/components/layout/index.esm.js +291 -291
- package/components/layout/index.umd.cjs +1 -1
- package/components/list-nav/index.esm.js +303 -230
- package/components/list-nav/index.umd.cjs +1 -1
- package/components/list-view/index.css +1 -1
- package/components/list-view/index.esm.js +2486 -2130
- package/components/list-view/index.umd.cjs +1 -1
- package/components/lookup/index.css +1 -1
- package/components/lookup/index.esm.js +7474 -7272
- package/components/lookup/index.umd.cjs +1 -1
- package/components/mapping-editor/index.css +1 -1
- package/components/mapping-editor/index.esm.js +6139 -5949
- package/components/mapping-editor/index.umd.cjs +1 -1
- package/components/message-box/index.esm.js +1 -1
- package/components/message-box/index.umd.cjs +1 -1
- package/components/modal/index.esm.js +1 -1
- package/components/modal/index.umd.cjs +1 -1
- package/components/nav/index.esm.js +432 -371
- package/components/nav/index.umd.cjs +3 -3
- package/components/number-range/index.esm.js +1124 -0
- package/components/number-range/index.umd.cjs +1 -0
- package/components/number-range/package.json +8 -0
- package/components/number-range/style.js +6 -0
- package/components/number-spinner/index.esm.js +1155 -0
- package/components/number-spinner/index.umd.cjs +1 -0
- package/components/number-spinner/package.json +8 -0
- package/components/number-spinner/style.js +4 -0
- package/components/order/index.css +1 -1
- package/components/order/index.esm.js +1215 -1178
- package/components/order/index.umd.cjs +1 -1
- package/components/page-footer/index.esm.js +147 -147
- package/components/page-footer/index.umd.cjs +1 -1
- package/components/page-header/index.esm.js +1240 -1346
- package/components/page-header/index.umd.cjs +1 -1
- package/components/pagination/index.esm.js +489 -428
- package/components/pagination/index.umd.cjs +1 -1
- package/components/progress/index.esm.js +220 -220
- package/components/progress/index.umd.cjs +3 -3
- package/components/property-editor/index.esm.js +1512 -1540
- package/components/property-editor/index.umd.cjs +3 -3
- package/components/property-panel/index.css +1 -1
- package/components/property-panel/index.esm.js +749 -815
- package/components/property-panel/index.umd.cjs +1 -1
- package/components/query-solution/index.css +1 -0
- package/components/query-solution/index.esm.js +7074 -0
- package/components/query-solution/index.umd.cjs +1 -0
- package/components/query-solution/package.json +8 -0
- package/components/query-solution/style.js +2 -0
- package/components/radio-button/index.esm.js +86 -86
- package/components/radio-button/index.umd.cjs +1 -1
- package/components/radio-group/index.esm.js +442 -479
- package/components/radio-group/index.umd.cjs +1 -1
- package/components/rate/index.esm.js +213 -208
- package/components/rate/index.umd.cjs +1 -1
- package/components/response-layout/index.esm.js +116 -116
- package/components/response-layout/index.umd.cjs +1 -1
- package/components/response-layout-editor/index.esm.js +943 -918
- package/components/response-layout-editor/index.umd.cjs +1 -1
- package/components/response-toolbar/index.esm.js +1174 -1295
- package/components/response-toolbar/index.umd.cjs +1 -1
- package/components/schema-selector/index.css +1 -1
- package/components/schema-selector/index.esm.js +5383 -5171
- package/components/schema-selector/index.umd.cjs +2 -2
- package/components/search-box/index.esm.js +201 -201
- package/components/search-box/index.umd.cjs +1 -1
- package/components/section/index.esm.js +684 -542
- package/components/section/index.umd.cjs +1 -1
- package/components/smoke-detector/index.esm.js +121 -121
- package/components/smoke-detector/index.umd.cjs +1 -1
- package/components/spacing-editor/index.esm.js +2 -2
- package/components/spacing-editor/index.umd.cjs +1 -1
- package/components/splitter/index.esm.js +1158 -382
- package/components/splitter/index.umd.cjs +1 -1
- package/components/step/index.esm.js +232 -232
- package/components/step/index.umd.cjs +1 -1
- package/components/switch/index.esm.js +451 -487
- package/components/switch/index.umd.cjs +1 -1
- package/components/tabs/index.esm.js +2078 -2168
- package/components/tabs/index.umd.cjs +1 -1
- package/components/tags/index.esm.js +318 -320
- package/components/tags/index.umd.cjs +1 -1
- package/components/text/index.esm.js +192 -192
- package/components/text/index.umd.cjs +1 -1
- package/components/textarea/index.esm.js +471 -497
- package/components/textarea/index.umd.cjs +1 -1
- package/components/time-picker/index.esm.js +1421 -1441
- package/components/time-picker/index.umd.cjs +1 -1
- package/components/transfer/index.css +1 -1
- package/components/transfer/index.esm.js +430 -421
- package/components/transfer/index.umd.cjs +1 -1
- package/components/tree-grid/index.css +1 -1
- package/components/tree-grid/index.esm.js +6806 -6624
- package/components/tree-grid/index.umd.cjs +1 -1
- package/components/tree-view/index.esm.js +2793 -2433
- package/components/tree-view/index.umd.cjs +1 -1
- package/components/uploader/index.esm.js +165 -165
- package/components/uploader/index.umd.cjs +2 -2
- package/components/verify-detail/index.esm.js +255 -255
- package/components/verify-detail/index.umd.cjs +1 -1
- package/components/video/index.esm.js +413 -334
- package/components/video/index.umd.cjs +1 -1
- package/components/weather/index.esm.js +902 -902
- package/components/weather/index.umd.cjs +4 -4
- package/farris.all.esm.js +54155 -52847
- package/farris.all.umd.cjs +9 -9
- package/index.css +1 -1
- package/package.json +1 -1
- package/types/button-edit/src/designer/button-group.design.component.d.ts +7 -0
- package/types/checkbox/index.d.ts +1 -0
- package/types/combo-list/src/components/list-container.component.d.ts +3 -0
- package/types/combo-list/src/components/list-container.props.d.ts +5 -1
- package/types/common/entity/entity-schema.d.ts +258 -0
- package/types/component/src/component-ref.props.d.ts +4 -0
- package/types/component/src/composition/inner-component-build-info.d.ts +27 -0
- package/types/component/src/designer/use-designer-rules.d.ts +2 -2
- package/types/data-grid/index.d.ts +5 -2
- package/types/data-grid/src/composition/data-grid-component-creator.service.d.ts +33 -0
- package/types/data-grid/src/data-grid.component.d.ts +2 -1
- package/types/data-grid/src/data-grid.props.d.ts +2 -2
- package/types/data-grid/src/designer/column-header.design.component.d.ts +1 -1
- package/types/data-grid/src/designer/data-grid-column.props.d.ts +1 -0
- package/types/data-grid/src/designer/use-group-column.d.ts +20 -0
- package/types/data-grid/src/property-config/data-grid.property-config.d.ts +4 -0
- package/types/data-grid/src/schema/schema-resolver.d.ts +2 -1
- package/types/data-view/components/column-format/boolean.component.d.ts +4 -0
- package/types/data-view/components/column-format/column-format.component.d.ts +4 -0
- package/types/data-view/components/column-format/date.component.d.ts +4 -0
- package/types/data-view/components/column-format/enum.component.d.ts +4 -0
- package/types/data-view/components/column-format/number.component.d.ts +4 -0
- package/types/data-view/composition/pagination/use-pagination.d.ts +1 -0
- package/types/data-view/composition/types.d.ts +19 -7
- package/types/data-view/composition/use-edit.d.ts +2 -1
- package/types/designer-canvas/src/composition/dg-control.d.ts +16 -350
- package/types/designer-canvas/src/composition/function/use-dragula.d.ts +2 -2
- package/types/designer-canvas/src/types.d.ts +3 -3
- package/types/dynamic-form/index.d.ts +3 -1
- package/types/dynamic-form/src/composition/response-form-component-creator.service.d.ts +31 -0
- package/types/dynamic-form/src/schema/schema-resolver.d.ts +2 -1
- package/types/dynamic-form/src/types.d.ts +1 -1
- package/types/dynamic-resolver/index.d.ts +1 -0
- package/types/dynamic-resolver/src/binding-resolver.d.ts +1 -0
- package/types/dynamic-resolver/src/schema-resolver.d.ts +2 -1
- package/types/dynamic-resolver/src/types.d.ts +3 -2
- package/types/dynamic-view/src/dynamic-view.component.d.ts +1 -1
- package/types/lookup/src/property-config/lookup.property-config.d.ts +2 -1
- package/types/modal/src/modal.props.d.ts +1 -4
- package/types/property-panel/src/composition/entity/base-property.d.ts +0 -12
- package/types/property-panel/src/composition/entity/input-base-property.d.ts +11 -26
- package/types/property-panel/src/composition/entity/schema-dom-mapping.d.ts +10 -8
- package/types/response-toolbar/src/response-toolbar.props.d.ts +2 -2
- package/types/response-toolbar/src/schema/schema-mapper.d.ts +4 -0
- package/types/section/src/property-config/section.property-config.d.ts +93 -0
- package/types/section/src/schema/schema-resolver.d.ts +2 -1
- package/types/tabs/src/composition/types.d.ts +2 -2
- package/types/tabs/src/designer/tab-header-item.design.component.d.ts +3 -1
- package/types/tabs/src/designer/tab-toolbar-item.props.d.ts +19 -0
- package/types/tabs/src/property-config/tab-page.property-config.d.ts +60 -0
- package/types/tabs/src/property-config/tabs.property-config.d.ts +6 -6
- package/types/tabs/src/schema/schema-resolver.d.ts +2 -1
- package/types/tags/index.d.ts +36 -5
- package/types/tree-grid/src/designer/use-designer-rules.d.ts +3 -0
- package/types/tree-grid/src/property-config/tree-grid.property-config.d.ts +11 -0
- package/types/tree-grid/src/schema/column-resolver.d.ts +1 -1
- package/types/tree-grid/src/tree-grid.props.d.ts +8 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(h,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("vue"),require("lodash-es"),require("@farris/ui-vue/components/list-view"),require("@farris/ui-vue/components/button-edit"),require("@farris/ui-vue/components/designer-canvas/src/composition/function/use-designer-component")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","@farris/ui-vue/components/list-view","@farris/ui-vue/components/button-edit","@farris/ui-vue/components/designer-canvas/src/composition/function/use-designer-component"],r):(h=typeof globalThis<"u"?globalThis:h||self,r(h["combo-list"]={},h.Vue,h.LodashES,h.FListView,h.FButtonEdit,h.useDesignerComponent))})(this,function(h,r,T,E,I,R){"use strict";var ue=Object.defineProperty;var pe=(h,r,T)=>r in h?ue(h,r,{enumerable:!0,configurable:!0,writable:!0,value:T}):h[r]=T;var S=(h,r,T)=>pe(h,typeof r!="symbol"?r+"":r,T);const H={},N={};function D(e){const{properties:t,title:n}=e,o=Object.keys(t).reduce((c,p)=>(c[p]=t[p].type==="object"&&t[p].properties?D(t[p]):T.cloneDeep(t[p].default),c),{});return o.id=`${n}-${Date.now()}`,o}function j(e,t){const n=D(t);return Object.keys(e).reduce((o,c)=>(o[c]=e[c],o),n),n}function U(e,t){return Object.keys(e).filter(o=>e[o]!=null).reduce((o,c)=>{if(t.has(c)){const p=t.get(c);if(typeof p=="string")o[p]=e[c];else{const y=p(c,e[c],e);Object.assign(o,y)}}else o[c]=e[c];return o},{})}function z(e,t,n=new Map){const o=j(e,t);return U(o,n)}function $(e={}){function t(s,u,i,a){if(typeof i=="number")return a[s].length===i;if(typeof i=="object"){const d=Object.keys(i)[0],m=i[d];if(d==="not")return Number(a[s].length)!==Number(m);if(d==="moreThan")return Number(a[s].length)>=Number(m);if(d==="lessThan")return Number(a[s].length)<=Number(m)}return!1}function n(s,u,i,a){return a[s]&&a[s].propertyValue&&String(a[s].propertyValue.value)===String(i)}const o=new Map([["length",t],["getProperty",n]]);Object.keys(e).reduce((s,u)=>(s.set(u,e[u]),s),o);function c(s,u){const i=s;return typeof u=="number"?[{target:i,operator:"length",param:null,value:Number(u)}]:typeof u=="boolean"?[{target:i,operator:"getProperty",param:s,value:!!u}]:typeof u=="object"?Object.keys(u).map(a=>{if(a==="length")return{target:i,operator:"length",param:null,value:u[a]};const d=a,m=u[a];return{target:i,operator:"getProperty",param:d,value:m}}):[]}function p(s){return Object.keys(s).reduce((i,a)=>{const d=c(a,s[a]);return i.push(...d),i},[])}function y(s,u){if(o.has(s.operator)){const i=o.get(s.operator);return i&&i(s.target,s.param,s.value,u)||!1}return!1}function g(s,u){return p(s).reduce((d,m)=>d&&y(m,u),!0)}function f(s,u){const i=Object.keys(s),a=i.includes("allOf"),d=i.includes("anyOf"),m=a||d,b=(m?s[m?a?"allOf":"anyOf":"allOf"]:[s]).map(w=>g(w,u));return a?!b.includes(!1):b.includes(!0)}return{parseValueSchema:f}}const l={Button:{type:"Button",name:"按钮",icon:"Button"},ButtonGroup:{type:"ButtonGroup",name:"按钮组",icon:"ButtonGroup"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"工具栏项",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},DisplayField:{type:"DisplayField",name:"标签",icon:"DisplayField"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},FlexLayout:{type:"FlexLayout",name:"弹性布局"},FlowLayout:{type:"FlowLayout",name:"流布局"},ResponseLayout:{type:"ResponseLayout",name:"布局容器",icon:"ResponseLayout3"},ResponseLayoutItem:{type:"ResponseLayoutItem",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},TreeGridField:{type:"TreeGridField",name:"树表格列"},FieldSet:{type:"FieldSet",name:"分组",icon:"FieldSet"},Form:{type:"Form",name:"卡片面板",icon:"Form"},QueryForm:{type:"QueryForm",name:"查询面板",icon:"Form"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},Panel:{type:"Panel",name:"面板",icon:"ContentContainer"},Module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},ExternalContainer:{type:"ExternalContainer",name:"外部容器",icon:"ContentContainer"},Image:{type:"Image",name:"图像",icon:"Image"},ImageUpload:{type:"ImageUpload",name:"图片上传",icon:"imageupload"},HiddenContainer:{type:"HiddenContainer",name:"隐藏区域",icon:"ContentContainer"},ModalContainer:{type:"ModalContainer",name:"弹窗容器",icon:"ContentContainer"},RouteContainer:{type:"RouteContainer",name:"路由区域",icon:"ContentContainer"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},Tag:{type:"Tag",name:"Tag",icon:"Tag"},Sidebar:{type:"Sidebar",name:"侧边栏",icon:"Sidebar"},HtmlTemplate:{type:"HtmlTemplate",name:"模版容器",icon:"HtmlTemplate"},ListView:{type:"ListView",name:"列表",icon:"ListView"},RichTextBox:{type:"RichTextBox",name:"富文本",icon:"RichTextBox"},TimeSpinner:{type:"TimeSpinner",name:"时间调节器",icon:"TimePicker"},TimePicker:{type:"TimePicker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},SectionToolbar:{type:"SectionToolbar",name:"分组面板工具栏"},SectionToolbarItem:{type:"SectionToolbarItem",name:"分组面板按钮"},QueryScheme:{type:"QueryScheme",name:"筛选方案",icon:"QueryScheme"},FormHeader:{type:"FormHeader",name:"翻页"},Splitter:{type:"Splitter",name:"分栏面板",icon:"Splitter"},SplitterPane:{type:"SplitterPane",name:"分栏面板项",dependentParentControl:"Splitter"},WizardDetail:{type:"WizardDetail",name:"向导详情页"},WizardDetailContainer:{type:"WizardDetailContainer",name:"向导详情容器"},Wizard:{type:"Wizard",name:"向导",icon:"Wizard"},MultiSelect:{type:"MultiSelect",name:"数据分配",icon:"MultiSelect"},Steps:{type:"Steps",name:"步骤条",icon:"Steps"},avatar:{type:"avatar",name:"头像",icon:"Avatar"},ListFilter:{type:"ListFilter",name:"筛选条",icon:"ListFilter"},ListNav:{type:"ListNav",name:"列表导航",icon:"ListNav"},NumberRange:{type:"NumberRange",name:"数字区间选择",icon:"NumericBox"},Scrollspy:{type:"Scrollspy",name:"滚动监听",icon:"Scrollspy"},LanguageTextBox:{type:"LanguageTextBox",name:"多语言输入框",icon:"LanguageTextBox"},ComponentRef:{type:"ComponentRef",name:"组件引用节点"},FileUpload:{type:"FileUpload",name:"附件上传",icon:"FileUpload"},FilePreview:{type:"FilePreview",name:"附件预览",icon:"FilePreview"},ViewChange:{type:"ViewChange",name:"多视图切换",icon:"Button"},MultiViewContainer:{type:"MultiViewContainer",name:"多视图",icon:"MultiViewContainer"},MultiViewItem:{type:"MultiViewItem",name:"多视图项",dependentParentControl:"MultiViewContainer"},Footer:{type:"Footer",name:"页脚"},DiscussionEditor:{type:"DiscussionEditor",name:"评论编辑区",icon:"DiscussionEditor"},DiscussionList:{type:"DiscussionList",name:"评论列表",icon:"DiscussionList"},NavTab:{type:"NavTab",name:"标签类导航",icon:"NavTab"},Tags:{type:"Tags",name:"标记组",icon:"Tags"},Portlet:{type:"Portlet",name:"小部件",icon:"dingzhi"},"page-header":{type:"page-header",name:"页头",icon:"Header"},ModalFooter:{type:"ModalFooter",name:"弹窗页脚",icon:"ModalFooter"},ScrollCollapsibleArea:{type:"ScrollCollapsibleArea",name:"滚动收折区域",icon:"ScrollCollapsibleArea"},PersonnelSelector:{type:"PersonnelSelector",name:"人员选择",icon:"PersonnelSelector"},Table:{type:"Table",name:"表格",icon:"DataGrid"},LoopContainer:{type:"LoopContainer",name:"循环容器",icon:"ContentContainer"},FileUploadPreview:{type:"FileUploadPreview",name:"附件上传预览",icon:"FileUpload"},DynamicArea:{type:"DynamicArea",name:"动态区域",icon:"ContentContainer"},DynamicAreaItem:{type:"DynamicAreaItem",name:"动态区域项",icon:"ContentContainer"},TabToolbar:{type:"TabToolbar",name:"标签页工具栏",icon:"TabToolbar"},HeaderToolBar:{type:"HeaderToolBar",name:"头部组件工具栏",icon:"HeaderToolBar"},ModalFooterToolBar:{type:"ModalFooterToolBar",name:"底部组件工具栏",icon:"ModalFooterToolBar"},HeaderToolBarItem:{type:"HeaderToolBarItem",name:"头部组件工具栏按钮",icon:"HeaderToolBarItem"},ModalFooterToolBarItem:{type:"ModalFooterToolBarItem",name:"底部组件工具栏按钮",icon:"ModalFooterToolBarItem"},OrganizationSelector:{type:"OrganizationSelector",name:"组织选择",icon:"OrganizationSelector"},AdminOrganizationSelector:{type:"AdminOrganizationSelector",name:"组织选择",icon:"OrganizationSelector"},EmployeeSelector:{type:"EmployeeSelector",name:"人员选择",icon:"PersonnelSelector"},OaRelation:{type:"OaRelation",name:"关联行政审批",icon:"TextBox"},CitySelector:{type:"CitySelector",name:"城市选择",icon:"CitySelector"},ExtIntergration:{type:"ExtIntergration",name:"外部服务集成",icon:"ViewModel"},AppointmentCalendar:{type:"AppointmentCalendar",name:"预约日历",icon:"DateBox"},Charts:{type:"Charts",name:"图表",icon:"Charts"},QdpFramework:{type:"QdpFramework",name:"查询结果工具栏",icon:"QdpFramework"},SpreadSheet:{type:"SpreadSheet",name:"查询表格控件",icon:"Charts"},QdpConditionDialog:{type:"QdpConditionDialog",name:"查询筛选对话框",icon:"ContentContainer"},QdpConditionDialogTab:{type:"QdpConditionDialogTab",name:"查询筛选标签页",icon:"Tab"},ApprovalLogs:{type:"ApprovalLogs",name:"审批记录",icon:"ApprovalLogs"},ApprovalComments:{type:"ApprovalComments",name:"审批意见",icon:"shenpiyijian"}},q={},G={};$();function W(e,t,n=new Map,o=(y,g,f)=>g,c={},p=y=>y){return H[t.title]=t,N[t.title]=o,q[t.title]=c,G[t.title]=p,(y={})=>{const g=z(y,t,n),f=Object.keys(e).reduce((s,u)=>(s[u]=e[u].default,s),{});return Object.assign(f,g)}}function Q(e,t){return{customClass:t.class,customStyle:t.style}}const _=new Map([["appearance",Q]]),X={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},valueField:{description:"",type:"string",default:"value"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},data:{description:"",type:"array"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""}},required:["id","type"]};function Y(e,t,n){return t}var O=(e=>(e.Text="text",e.Tag="tag",e))(O||{}),L=(e=>(e.top="top",e.bottom="bottom",e.auto="auto",e))(L||{});const B={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-60-down"></span>'},editable:{default:!1,type:Boolean},enableClear:{default:!0,type:Boolean},enableSearch:{type:Boolean,default:!1},enableTitle:{default:!0,type:Boolean},fitEditor:{default:!1,type:Boolean},forcePlaceholder:{default:!1,type:Boolean},hidePanelOnClear:{default:!0,type:Boolean},idField:{default:"id",type:String},mapFields:{type:Object},maxHeight:{default:350,type:Number},maxLength:{type:Number},multiSelect:{default:!1,type:Boolean},modelValue:{},placeholder:{type:String},placement:{type:String,default:"auto"},readonly:{default:!1,type:Boolean},remote:{default:null,type:Object},remoteSearch:{default:!1,type:Boolean},separator:{default:",",type:String},tabIndex:{type:Number,default:-1},textField:{default:"name",type:String},titleField:{default:"name",type:String},valueField:{default:"id",type:String},viewType:{default:"tag",type:String},change:{type:Function,default:()=>{}},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!0},beforeOpen:{type:Function,default:null},searchOption:{type:Object,default:!1},enableHighlightSearch:{type:Boolean,default:!0}},k=W(B,X,_,Y),Z={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{default:!1,type:Boolean},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:Object,default:!1},enableHighlightSearch:{type:Boolean,default:!0}},J=r.defineComponent({name:"FComboListContainer",props:Z,emits:["selectionChange"],setup(e,t){const n=r.ref(),o=r.ref(e.dataSource),c=r.ref([]),p=r.ref(e.separator),y=r.ref(e.width),g=r.ref(e.maxHeight),f=r.ref(String(e.selectedValues).split(p.value));r.watch(e.dataSource,()=>{o.value=e.dataSource});const s=r.computed(()=>e.enableSearch?"SearchBar":"ContentHeader"),u=r.computed(()=>{const d={};return y.value!==void 0&&(d.width=`${y.value}px`),g.value!==void 0&&g.value>0&&(d.maxHeight=`${g.value}px`),d});function i(d){c.value=d.map(m=>Object.assign({},m)),f.value=d.map(m=>m[e.idField]),t.emit("selectionChange",c.value)}function a(d){if(e.enableHighlightSearch)return;let m=[];typeof e.searchOption=="function"?m=o.value.filter(v=>e.searchOption(d,v)):m=o.value.filter(v=>v[e.valueField].indexOf(d)>-1||v[e.textField].indexOf(d)>-1),n.value.updateDataSource(m)}return r.watch([()=>e.selectedValues],([d])=>{f.value=d.split(p.value)}),()=>r.createVNode("div",{class:"f-combo-list-container pl-3",style:u.value},[r.createVNode(E,{ref:n,size:"small",itemClass:"f-combo-list-item",header:s.value,headerClass:"f-combo-list-search-box",data:o.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:{enableSelectRow:!0,multiSelect:!0,multiSelectMode:"OnCheckAndClick",showCheckbox:!0,showSelectAll:!1,showSelection:!0},enableHighlightSearch:e.enableHighlightSearch,selectionValues:f.value,onSelectionChange:i,onAfterSearch:a},null)])}});function K(e){const t=r.ref(""),n=r.ref(e.modelValue),o=r.ref(e.data||[]),c=r.ref(e.editable);function p(i){const a=String(i).split(e.separator).map(m=>[m,!0]),d=new Map(a);return o.value.filter(m=>d.has(String(m[e.valueField])))}function y(i){const a=p(i).map(d=>d[e.textField]).join(e.separator);t.value=c.value?a||i:a}function g(i){const a=i.split(e.separator).map(m=>[m,!0]),d=new Map(a);return o.value.filter(m=>d.has(m[e.textField]))}function f(i){const a={};return a[e.idField]=i,a[e.textField]=i,[a]}function s(i){let a=g(i);const d=a&&a.length>0;return c.value&&!d&&(a=f(i)),a}function u(){const{url:i,method:a="GET",headers:d={},body:m=null}=e.remote,v=a.toLowerCase()=="get"?{method:a,headers:d}:{method:a,headers:d,body:m};let x=!1;fetch(i,v).then(b=>{var w,V;if(b.status===200)return x=!!((V=(w=b.headers)==null?void 0:w.get("content-type"))!=null&&V.includes("application/json")),x?b.text():b.json();throw new Error(b.statusText)}).then(b=>{o.value=x?JSON.parse(b):b}).catch(b=>{console.error(b)})}return e.remote&&u(),r.watch(()=>e.data,()=>{o.value=e.data}),r.watch([o],([i])=>{if(e.modelValue){const a=i.find(d=>d[e.valueField]===e.modelValue);a&&(t.value=a[e.textField])}}),r.watch(()=>e.modelValue,i=>{n.value=i,y(i)}),y(e.modelValue),{dataSource:o,displayText:t,editable:c,modelValue:n,getItemsByDisplayText:g,getItemsByValue:p,getSelectedItemsByDisplayText:s}}const M=r.defineComponent({name:"FComboList",props:B,emits:["clear","update:modelValue","change","input"],setup(e,t){const n=r.ref(),o=r.ref(e.disabled),c=r.ref(e.enableClear),p=r.ref(e.enableSearch),y=r.ref(e.readonly),{dataSource:g,displayText:f,editable:s,modelValue:u,getSelectedItemsByDisplayText:i}=K(e),a=r.computed(()=>e.multiSelect),d=r.computed(()=>n.value?n.value.elementRef.getBoundingClientRect().width:0);function m(){!a.value&&n.value&&n.value.hidePopup()}function v(C){f.value=C.map(F=>F[e.textField]).join(e.separator),C.length===1?u.value=C[0][e.valueField]:u.value=C.map(F=>F[e.valueField]).join(e.separator),t.emit("update:modelValue",u.value),t.emit("change",C,u.value),m()}function x(){y.value||n.value.togglePopup()}function b(C){u.value="",t.emit("update:modelValue",""),t.emit("clear")}function P(C){const F=i(C);v(F)}function w(){return f.value}function V(C){t.emit("input",C)}return t.expose({getDisplayText:w}),r.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([C,F,ce,se,de])=>{o.value=C,s.value=F,c.value=ce,p.value=se,y.value=de}),()=>r.createVNode(I,{ref:n,id:e.id,disable:o.value,readonly:y.value,forcePlaceholder:e.forcePlaceholder,editable:s.value,buttonContent:e.dropDownIcon,placeholder:e.placeholder,enableClear:c.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:f.value,"onUpdate:modelValue":C=>f.value=C,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:b,onClick:x,onChange:P,onInput:V,beforeOpen:e.beforeOpen},{default:()=>[r.createVNode(J,{idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:g.value,selectedValues:u.value,multiSelect:e.multiSelect,enableSearch:p.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?d.value:void 0,onSelectionChange:v},null)]})}});function ee(e,t){e.schema;const n=r.ref(!0),o=r.ref(!0);function c(i){return!1}function p(){return!1}function y(){return!1}function g(){return!0}function f(i){}function s(){}function u(i){return null}return{canAccepts:c,checkCanDeleteComponent:p,checkCanMoveComponent:y,hideNestedPaddingInDesginerView:g,onAcceptMovedChildElement:f,resolveComponentContext:s,triggerBelongedComponentToMoveWhenMoved:n,triggerBelongedComponentToDeleteWhenDeleted:o,getPropsConfig:u}}class A{static getEditorTypesByMDataType(t){const n=this.fieldControlTypeMapping[t];return n||[{key:"",value:""}]}}S(A,"fieldControlTypeMapping",{String:[{key:l["input-group"].type,value:l["input-group"].name},{key:l.lookup.type,value:l.lookup.name},{key:l.Image.type,value:l.Image.name},{key:l["date-picker"].type,value:l["date-picker"].name},{key:l["check-box"].type,value:l["check-box"].name},{key:l["radio-group"].type,value:l["radio-group"].name},{key:l["combo-list"].type,value:l["combo-list"].name},{key:l.textarea.type,value:l.textarea.name}],Text:[{key:l.textarea.type,value:l.textarea.name},{key:l.avatar.type,value:l.avatar.name},{key:l.lookup.type,value:l.lookup.name}],Decimal:[{key:l["number-spinner"].type,value:l["number-spinner"].name}],Integer:[{key:l["number-spinner"].type,value:l["number-spinner"].name}],Number:[{key:l["number-spinner"].type,value:l["number-spinner"].name}],BigNumber:[{key:l["number-spinner"].type,value:l["number-spinner"].name}],Date:[{key:l["date-picker"].type,value:l["date-picker"].name}],DateTime:[{key:l["date-picker"].type,value:l["date-picker"].name}],Boolean:[{key:l.switch.type,value:l.switch.name},{key:l["check-box"].type,value:l["check-box"].name}],Enum:[{key:l["combo-list"].type,value:l["combo-list"].name},{key:l["radio-group"].type,value:l["radio-group"].name}],Object:[{key:l.lookup.type,value:l.lookup.name},{key:l["combo-list"].type,value:l["combo-list"].name},{key:l["radio-group"].type,value:l["radio-group"].name}],EmployeeSelector:[{key:l.EmployeeSelector.type,value:l.EmployeeSelector.name}],AdminOrganizationSelector:[{key:l.AdminOrganizationSelector.type,value:l.AdminOrganizationSelector.name}]});class te{constructor(t,n){S(this,"componentId");S(this,"viewModelId");S(this,"eventsEditorUtils");S(this,"formSchemaUtils");S(this,"formMetadataConverter");S(this,"designViewModelUtils");S(this,"designViewModelField");S(this,"controlCreatorUtils");S(this,"designerHostService");S(this,"schemaService",null);S(this,"metadataService",null);S(this,"propertyConfig",{type:"object",categories:{}});var o;this.componentId=t,this.designerHostService=n,this.eventsEditorUtils=n.eventsEditorUtils,this.formSchemaUtils=n.formSchemaUtils,this.formMetadataConverter=n.formMetadataConverter,this.viewModelId=((o=this.formSchemaUtils)==null?void 0:o.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=n.designViewModelUtils,this.controlCreatorUtils=n.controlCreatorUtils,this.metadataService=n.metadataService,this.schemaService=n.schemaService}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){const n=t.binding&&t.binding.type==="Form"&&t.binding.field;if(n){if(!this.designViewModelField){const o=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=o.fields.find(c=>c.id===n)}t.updateOn=this.designViewModelField.updateOn}}changeFieldEditorType(t,n){}getBasicPropConfig(t){var o,c;var n=this;return this.setDesignViewModelField(t),{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",data:A.getEditorTypesByMDataType(((c=(o=n.designViewModelField)==null?void 0:o.type)==null?void 0:c.name)||""),editable:!1}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"}},setPropertyRelates(p,y){if(p)switch(p&&p.propertyID){case"type":{n.changeControlType(t,p);break}}}}}changeControlType(t,n){var s,u,i,a,d;const o=n.propertyValue,c=this.formSchemaUtils.getComponentById(this.componentId);let p=this.getControlParentContainer(t.id,c);if(!p)return;const y=p.contents.findIndex(m=>m.id===t.id),g=p.contents[y];let f;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:o},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),f=this.controlCreatorUtils.setFormFieldProperty("Form",this.designViewModelField,null,o)),Object.assign(f,{id:g.id,appearance:g.appearance,size:g.size,label:g.label}),Object.assign(f.editor,{isTextArea:f.isTextArea&&g.isTextArea,type:o||"",placeHolder:(s=g.editor)==null?void 0:s.placeHolder,holdPlace:(u=g.editor)==null?void 0:u.holdPlace,readonly:(i=g.editor)==null?void 0:i.readonly,require:(a=g.editor)==null?void 0:a.require,visible:(d=g.editor)==null?void 0:d.visible}),p.contents.splice(y,1,f)}getAppearanceConfig(t=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!1,editor:{type:"response-layout-editor-setting"},$converter:"/converter/response-form-layout.converter"}}}}getControlParentContainer(t,n){let o;if(!n||!n.contents||n.contents.length===0)return null;for(const c of n.contents){if(c.id===t)return o=n,n;if(o=this.getControlParentContainer(t,c),o)return o}}}class ne extends te{constructor(t,n){super(t,n)}getBasicProperties(t){let n=this.getBasicPropConfig(t);return n.properties.binding=this.getFieldSelectorOptions(t),n}getAppearanceProperties(t){return this.getAppearanceConfig(t)}getEditorProperties(t){return this.getComponentConfig(t)}getPropertyConfig(t){return this.propertyConfig.categories.basic=this.getBasicProperties(t),this.propertyConfig.categories.appearance=this.getAppearanceProperties(t),this.propertyConfig.categories.editor=this.getEditorProperties(t),this.propertyConfig}getFieldSelectorOptions(t){const n=this.formSchemaUtils.getFormMetadataBasicInfo(),o=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);return{description:"绑定的表单字段",title:"绑定",$converter:"/converter/field-selector.converter",editor:{type:"field-selector",bindingType:{enable:!1},editorParams:{propertyData:t,formBasicInfo:n},columns:[{field:"name",title:"字段名称"},{field:"bindingField",title:"绑定字段"},{field:"fieldType",title:"字段类型"}],textField:"bindingField",data:o}}}getBindingOtions(t){return this.getFieldSelectorOptions(t)}getComponentConfig(t,n={},o={}){const c=Object.assign({description:"组件信息",title:"组件信息",type:"input-group",$converter:"/converter/property-editor.converter"},n),p=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},o);return{...c,properties:{...p}}}}class oe extends ne{constructor(t,n){super(t,n)}getEditorProperties(t){return this.getComponentConfig(t,{type:"combo-list"},{editable:{description:"",title:"允许编辑",type:"boolean"},textField:{description:"",title:"数据源显示字段",type:"string"},idField:{description:"",title:"数据源值字段",type:"string"}})}}function ie(e,t){const{canAccepts:n,checkCanDeleteComponent:o,checkCanMoveComponent:c,hideNestedPaddingInDesginerView:p,onAcceptMovedChildElement:y,resolveComponentContext:g,triggerBelongedComponentToMoveWhenMoved:f,triggerBelongedComponentToDeleteWhenDeleted:s}=ee(e),u=e.schema;function i(a){return new oe(a,t).getPropertyConfig(u)}return{canAccepts:n,checkCanDeleteComponent:o,checkCanMoveComponent:c,hideNestedPaddingInDesginerView:p,onAcceptMovedChildElement:y,resolveComponentContext:g,triggerBelongedComponentToMoveWhenMoved:f,triggerBelongedComponentToDeleteWhenDeleted:s,getPropsConfig:i}}const ae=r.defineComponent({name:"FComboListDesign",props:B,emits:["clear","update:modelValue","change"],setup(e,t){const n=r.ref(),o=r.inject("designer-host-service"),c=r.inject("design-item-context"),p=ie(c,o),y=R.useDesignerComponent(n,c,p);return r.onMounted(()=>{n.value.componentInstance=y}),t.expose(y.value),()=>r.createVNode(I,{ref:n,id:e.id,disable:e.disabled,readonly:e.readonly,forcePlaceholder:e.forcePlaceholder,editable:!1,buttonContent:e.dropDownIcon,placeholder:e.placeholder,enableClear:!1,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?"tag":"text"},null)}}),re=e=>{const t=e;return t.install=function(n){n.component(t.name,e)},e};M.register=(e,t,n,o)=>{e["combo-list"]=M,t["combo-list"]=k},M.registerDesigner=(e,t,n)=>{e["combo-list"]=ae,t["combo-list"]=k};const le=re(M);h.FComboList=M,h.Placement=L,h.ViewType=O,h.comboListProps=B,h.default=le,h.propsResolver=k,Object.defineProperties(h,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(g,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("vue"),require("lodash-es"),require("../list-view/index.umd.js"),require("../button-edit/index.umd.js"),require("../button-edit/index.umd.js/src/designer/button-edit.design.component"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../list-view/index.umd.js","../button-edit/index.umd.js","../button-edit/index.umd.js/src/designer/button-edit.design.component","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js"],o):(g=typeof globalThis<"u"?globalThis:g||self,o(g["combo-list"]={},g.Vue,g.LodashES,g.FListView,g.FButtonEdit,g.FButtonEditDesign,g.dynamicResolver,g.designerCanvas))})(this,function(g,o,k,L,R,N,j,$){"use strict";var ye=Object.defineProperty;var ge=(g,o,k)=>o in g?ye(g,o,{enumerable:!0,configurable:!0,writable:!0,value:k}):g[o]=k;var x=(g,o,k)=>ge(g,typeof o!="symbol"?o+"":o,k);const U={},H={};function D(e){const{properties:t,title:i,ignore:n}=e,l=n&&Array.isArray(n),f=Object.keys(t).reduce((p,c)=>((!l||!n.find(y=>y==c))&&(p[c]=t[c].type==="object"&&t[c].properties?D(t[c]):k.cloneDeep(t[c].default)),p),{});return(!l||!n.find(p=>p=="id"))&&(f.id=`${i}-${Date.now()}`),f}function q(e,t){const i=D(t);return Object.keys(e).reduce((n,l)=>(n[l]&&typeof n[l]=="object"?Object.assign(n[l],e[l]):n[l]=e[l],n),i),i}function G(e,t){return Object.keys(e).filter(n=>e[n]!=null).reduce((n,l)=>{if(t.has(l)){const f=t.get(l);if(typeof f=="string")n[f]=e[l];else{const p=f(l,e[l],e);Object.assign(n,p)}}else n[l]=e[l];return n},{})}function W(e,t,i=new Map){const n=q(e,t);return G(n,i)}function z(e={}){function t(s,u,r,a){if(typeof r=="number")return a[s].length===r;if(typeof r=="object"){const m=Object.keys(r)[0],h=r[m];if(m==="not")return Number(a[s].length)!==Number(h);if(m==="moreThan")return Number(a[s].length)>=Number(h);if(m==="lessThan")return Number(a[s].length)<=Number(h)}return!1}function i(s,u,r,a){return a[s]&&a[s].propertyValue&&String(a[s].propertyValue.value)===String(r)}const n=new Map([["length",t],["getProperty",i]]);Object.keys(e).reduce((s,u)=>(s.set(u,e[u]),s),n);function l(s,u){const r=s;return typeof u=="number"?[{target:r,operator:"length",param:null,value:Number(u)}]:typeof u=="boolean"?[{target:r,operator:"getProperty",param:s,value:!!u}]:typeof u=="object"?Object.keys(u).map(a=>{if(a==="length")return{target:r,operator:"length",param:null,value:u[a]};const m=a,h=u[a];return{target:r,operator:"getProperty",param:m,value:h}}):[]}function f(s){return Object.keys(s).reduce((r,a)=>{const m=l(a,s[a]);return r.push(...m),r},[])}function p(s,u){if(n.has(s.operator)){const r=n.get(s.operator);return r&&r(s.target,s.param,s.value,u)||!1}return!1}function c(s,u){return f(s).reduce((m,h)=>m&&p(h,u),!0)}function y(s,u){const r=Object.keys(s),a=r.includes("allOf"),m=r.includes("anyOf"),h=a||m,b=(h?s[h?a?"allOf":"anyOf":"allOf"]:[s]).map(F=>c(F,u));return a?!b.includes(!1):b.includes(!0)}return{parseValueSchema:y}}const d={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"}},J={},Q={};z();function X(e,t,i=new Map,n=(p,c,y)=>c,l={},f=p=>p){return U[t.title]=t,H[t.title]=n,J[t.title]=l,Q[t.title]=f,(p={})=>{const c=W(p,t,i),y=Object.keys(e).reduce((s,u)=>(s[u]=e[u].default,s),{});return Object.assign(y,c)}}function Y(e,t){return{customClass:t.class,customStyle:t.style}}const Z=new Map([["appearance",Y]]),_={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},data:{description:"",type:"array"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""}},required:["id","type"],ignore:["id","appearance","binding"]};function K(e,t,i){return t}var E=(e=>(e.Text="text",e.Tag="tag",e))(E||{}),A=(e=>(e.top="top",e.bottom="bottom",e.auto="auto",e))(A||{});const B={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-60-down"></span>'},editable:{default:!1,type:Boolean},enableClear:{default:!0,type:Boolean},enableSearch:{type:Boolean,default:!1},enableTitle:{default:!0,type:Boolean},fitEditor:{default:!1,type:Boolean},forcePlaceholder:{default:!1,type:Boolean},hidePanelOnClear:{default:!0,type:Boolean},idField:{default:"id",type:String},mapFields:{type:Object},maxHeight:{default:350,type:Number},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{},placeholder:{type:String},placement:{type:String,default:"auto"},readonly:{default:!1,type:Boolean},remote:{default:null,type:Object},remoteSearch:{default:!1,type:Boolean},separator:{default:",",type:String},tabIndex:{type:Number,default:-1},textField:{default:"name",type:String},titleField:{default:"name",type:String},valueField:{default:"id",type:String},viewType:{default:"tag",type:String},change:{type:Function,default:()=>{}},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!0},beforeOpen:{type:Function,default:null},searchOption:{type:Object,default:!1},enableHighlightSearch:{type:Boolean,default:!0}},O=X(B,_,Z,K),ee={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:Object,default:!1},enableHighlightSearch:{type:Boolean,default:!0},showCheckbox:{type:Boolean,default:!1}},te=o.defineComponent({name:"FComboListContainer",props:ee,emits:["selectionChange"],setup(e,t){const i=o.ref(),n=o.ref(e.dataSource),l=o.ref([]),f=o.ref(e.separator),p=o.ref(e.width),c=o.ref(e.maxHeight),y=o.ref(String(e.selectedValues).split(f.value)),s=o.computed(()=>e.multiSelect),u=o.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:s.value,showSelectAll:!1,showSelection:!0}));o.watch(e.dataSource,()=>{n.value=e.dataSource});const r=o.computed(()=>e.enableSearch?"SearchBar":"ContentHeader"),a=o.computed(()=>{const v={};return p.value!==void 0&&(v.width=`${p.value}px`),c.value!==void 0&&c.value>0&&(v.maxHeight=`${c.value}px`),v});function m(v){l.value=v.map(C=>Object.assign({},C)),y.value=v.map(C=>C[e.idField]),t.emit("selectionChange",l.value)}function h(v){if(e.enableHighlightSearch)return;let C=[];typeof e.searchOption=="function"?C=n.value.filter(b=>e.searchOption(v,b)):C=n.value.filter(b=>b[e.valueField].indexOf(v)>-1||b[e.textField].indexOf(v)>-1),i.value.updateDataSource(C)}return o.watch([()=>e.selectedValues],([v])=>{y.value=v.split(f.value)}),()=>o.createVNode("div",{class:"f-combo-list-container pl-1",style:a.value},[o.createVNode(L,{ref:i,size:"small",itemClass:"f-combo-list-item",header:r.value,headerClass:"f-combo-list-search-box",data:n.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:u.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:y.value,onSelectionChange:m,onAfterSearch:h},null)])}});function ne(e){const t=o.ref(""),i=o.ref(e.modelValue),n=o.ref(e.data||[]),l=o.ref(e.editable);function f(r){const a=String(r).split(e.separator),m=a.map(C=>[C,!0]),h=new Map(m);return n.value.filter(C=>h.has(String(C[e.valueField]))).sort((C,b)=>{const V=a.indexOf(C[e.valueField]),F=a.indexOf(b[e.valueField]);return V-F})}function p(r){const a=f(r).map(m=>m[e.textField]).join(e.separator);t.value=l.value?a||r:a}function c(r){const a=r.split(e.separator).map(h=>[h,!0]),m=new Map(a);return n.value.filter(h=>m.has(h[e.textField]))}function y(r){const a={};return a[e.idField]=r,a[e.textField]=r,[a]}function s(r){let a=c(r);const m=a&&a.length>0;return l.value&&!m&&(a=y(r)),a}function u(){const{url:r,method:a="GET",headers:m={},body:h=null}=e.remote,v=a.toLowerCase()=="get"?{method:a,headers:m}:{method:a,headers:m,body:h};let C=!1;fetch(r,v).then(b=>{var F,P;if(b.status===200)return C=!!((P=(F=b.headers)==null?void 0:F.get("content-type"))!=null&&P.includes("application/json")),C?b.text():b.json();throw new Error(b.statusText)}).then(b=>{n.value=C?JSON.parse(b):b}).catch(b=>{console.error(b)})}return e.remote&&u(),o.watch(()=>e.data,()=>{n.value=e.data}),o.watch([n],([r])=>{if(e.modelValue){const a=r.find(m=>m[e.valueField]===e.modelValue);a&&(t.value=a[e.textField])}}),o.watch(()=>e.modelValue,r=>{i.value=r,p(r)}),p(e.modelValue),{dataSource:n,displayText:t,editable:l,modelValue:i,getItemsByDisplayText:c,getItemsByValue:f,getSelectedItemsByDisplayText:s}}const T=o.defineComponent({name:"FComboList",props:B,emits:["clear","update:modelValue","change","input"],setup(e,t){const i=o.ref(),n=o.ref(e.disabled),l=o.ref(e.enableClear),f=o.ref(e.enableSearch),p=o.ref(e.readonly),{dataSource:c,displayText:y,editable:s,modelValue:u,getSelectedItemsByDisplayText:r}=ne(e),a=o.computed(()=>e.multiSelect),m=o.computed(()=>i.value?i.value.elementRef.getBoundingClientRect().width:0);function h(){!a.value&&i.value&&i.value.hidePopup()}function v(S){y.value=S.map(w=>w[e.textField]).join(e.separator),S.length===1?u.value=S[0][e.valueField]:u.value=S.map(w=>w[e.valueField]).join(e.separator),t.emit("update:modelValue",u.value),t.emit("change",S,u.value),h()}function C(){p.value||i.value.togglePopup()}function b(S){u.value="",t.emit("update:modelValue",""),t.emit("clear")}function V(S){const w=r(S);v(w)}function F(){return y.value}function P(S){t.emit("input",S)}return t.expose({getDisplayText:F}),o.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([S,w,pe,me,fe])=>{n.value=S,s.value=w,l.value=pe,f.value=me,p.value=fe}),()=>o.createVNode(R,{ref:i,id:e.id,disable:n.value,readonly:p.value,forcePlaceholder:e.forcePlaceholder,editable:s.value,buttonContent:e.dropDownIcon,placeholder:e.placeholder,enableClear:l.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:y.value,"onUpdate:modelValue":S=>y.value=S,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:b,onClick:C,onChange:V,onInput:P,beforeOpen:e.beforeOpen},{default:()=>[o.createVNode(te,{idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:c.value,selectedValues:u.value,multiSelect:e.multiSelect,enableSearch:f.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?m.value:void 0,onSelectionChange:v},null)]})}});function ie(e,t){e.schema;const i=o.ref(!0),n=o.ref(!0);function l(r){return!1}function f(){return!1}function p(){return!1}function c(){return!0}function y(r){}function s(){}function u(r){return null}return{canAccepts:l,checkCanDeleteComponent:f,checkCanMoveComponent:p,hideNestedPaddingInDesginerView:c,onAcceptMovedChildElement:y,resolveComponentContext:s,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:n,getPropsConfig:u}}class oe{constructor(t,i){x(this,"componentId");x(this,"viewModelId");x(this,"eventsEditorUtils");x(this,"formSchemaUtils");x(this,"formMetadataConverter");x(this,"designViewModelUtils");x(this,"designViewModelField");x(this,"controlCreatorUtils");x(this,"designerHostService");x(this,"schemaService",null);x(this,"metadataService",null);x(this,"propertyConfig",{type:"object",categories:{}});var n;this.componentId=t,this.designerHostService=i,this.eventsEditorUtils=i.eventsEditorUtils,this.formSchemaUtils=i.formSchemaUtils,this.formMetadataConverter=i.formMetadataConverter,this.viewModelId=((n=this.formSchemaUtils)==null?void 0:n.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=i.designViewModelUtils,this.controlCreatorUtils=i.controlCreatorUtils,this.metadataService=i.metadataService,this.schemaService=i.schemaService}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){const i=t.binding&&t.binding.type==="Form"&&t.binding.field;if(i){if(!this.designViewModelField){const n=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=n.fields.find(l=>l.id===i)}t.updateOn=this.designViewModelField.updateOn}}changeFieldEditorType(t,i){}getBasicPropConfig(t){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:t.type,name:d[t.type].name}]}}}}}getAppearanceConfig(t=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}}const M=class M{static getEditorTypesByMDataType(t){const i=M.fieldControlTypeMapping[t];return i||[{key:"",value:""}]}static getAllInputTypes(){const t=[];for(let i in M.fieldControlTypeMapping)M.fieldControlTypeMapping[i].forEach(n=>{t.find(l=>l.key===n.key&&l.value===n.value)||t.push({key:n.key,value:n.value})});return t}};x(M,"fieldControlTypeMapping",{String:[{key:d["input-group"].type,value:d["input-group"].name},{key:d.lookup.type,value:d.lookup.name},{key:d["date-picker"].type,value:d["date-picker"].name},{key:d["check-box"].type,value:d["check-box"].name},{key:d["radio-group"].type,value:d["radio-group"].name},{key:d["combo-list"].type,value:d["combo-list"].name},{key:d.textarea.type,value:d.textarea.name}],Text:[{key:d.textarea.type,value:d.textarea.name},{key:d.lookup.type,value:d.lookup.name}],Decimal:[{key:d["number-spinner"].type,value:d["number-spinner"].name}],Integer:[{key:d["number-spinner"].type,value:d["number-spinner"].name}],Number:[{key:d["number-spinner"].type,value:d["number-spinner"].name}],BigNumber:[{key:d["number-spinner"].type,value:d["number-spinner"].name}],Date:[{key:d["date-picker"].type,value:d["date-picker"].name}],DateTime:[{key:d["date-picker"].type,value:d["date-picker"].name}],Boolean:[{key:d.switch.type,value:d.switch.name},{key:d["check-box"].type,value:d["check-box"].name}],Enum:[{key:d["combo-list"].type,value:d["combo-list"].name},{key:d["radio-group"].type,value:d["radio-group"].name}],Object:[{key:d.lookup.type,value:d.lookup.name},{key:d["combo-list"].type,value:d["combo-list"].name},{key:d["radio-group"].type,value:d["radio-group"].name}]});let I=M;const ae=o.ref(0);class re extends oe{constructor(t,i){super(t,i)}getPropertyConfig(t,i){return this.propertyConfig.categories.basic=this.getBasicProperties(t,i),this.propertyConfig.categories.appearance=this.getAppearanceProperties(t),this.propertyConfig.categories.editor=this.getEditorProperties(t),this.propertyConfig}getBasicProperties(t,i){var p;var n=this;this.setDesignViewModelField(t);const l=this.formSchemaUtils.getFormMetadataBasicInfo(),f=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",editable:!1,data:n.designViewModelField?I.getEditorTypesByMDataType((p=n.designViewModelField.type)==null?void 0:p.name):I.getAllInputTypes()}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},binding:{description:"绑定的表单字段",title:"绑定",$converter:"/converter/field-selector.converter",editor:{type:"field-selector",bindingType:{enable:!1},editorParams:{propertyData:t,formBasicInfo:l},columns:[{field:"name",title:"字段名称"},{field:"bindingField",title:"绑定字段"},{field:"fieldType",title:"字段类型"}],textField:"bindingField",data:f}}},setPropertyRelates(c,y){if(c)switch(c&&c.propertyID){case"type":{n.changeControlType(t,c,i);break}case"label":{c.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(t){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!1,editor:{type:"response-layout-editor-setting"},$converter:"/converter/response-form-layout.converter"}}}}getEditorProperties(t){return this.getComponentConfig(t)}changeControlType(t,i,n){var s,u,r,a;const l=i.propertyValue,f=n&&n.parent&&n.parent.schema;if(!f)return;const p=f.contents.findIndex(m=>m.id===t.id),c=f.contents[p];let y;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:l},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),y=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,l)),y||(y=j.getSchemaByType("form-group")||{},y.editor=j.getSchemaByType(l)||{},delete y.editor.id,delete y.editor.binding,delete y.editor.appearance),Object.assign(y,{id:c.id,appearance:c.appearance,size:c.size,label:c.label,binding:c.binding,visible:c.visible}),Object.assign(y.editor,{isTextArea:y.isTextArea&&c.isTextArea,placeholder:(s=c.editor)==null?void 0:s.placeholder,holdPlace:(u=c.editor)==null?void 0:u.holdPlace,readonly:(r=c.editor)==null?void 0:r.readonly,require:(a=c.editor)==null?void 0:a.require}),f.contents.splice(p,1),f.contents.splice(p,0,y),n.schema=Object.assign(c,y),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(m=>m.classList.remove("dgComponentSelected")),ae.value++}getComponentConfig(t,i={},n={}){const l=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},i),f=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},n);return{...l,properties:{...f}}}}class le extends re{constructor(t,i){super(t,i)}getEditorProperties(t){return this.getComponentConfig(t,{type:"combo-list"},{editable:{description:"",title:"允许编辑",type:"boolean"},textField:{description:"",title:"数据源显示字段",type:"string"},idField:{description:"",title:"数据源值字段",type:"string"}})}}function se(e,t){const{canAccepts:i,checkCanDeleteComponent:n,checkCanMoveComponent:l,hideNestedPaddingInDesginerView:f,onAcceptMovedChildElement:p,resolveComponentContext:c,triggerBelongedComponentToMoveWhenMoved:y,triggerBelongedComponentToDeleteWhenDeleted:s}=ie(e),u=e.schema;function r(a,m){return new le(a,t).getPropertyConfig(u,m)}return{canAccepts:i,checkCanDeleteComponent:n,checkCanMoveComponent:l,hideNestedPaddingInDesginerView:f,onAcceptMovedChildElement:p,resolveComponentContext:c,triggerBelongedComponentToMoveWhenMoved:y,triggerBelongedComponentToDeleteWhenDeleted:s,getPropsConfig:r}}const de=o.defineComponent({name:"FComboListDesign",props:B,emits:["clear","update:modelValue","change"],setup(e,t){const i=o.ref(),n=o.inject("designer-host-service"),l=o.inject("design-item-context"),f=se(l,n),p=$.useDesignerComponent(i,l,f);return o.onMounted(()=>{i.value.componentInstance=p}),t.expose(p.value),()=>o.createVNode(N,{ref:i,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}}),ce=e=>{const t=e;return t.install=function(i){i.component(t.name,e)},e};T.register=(e,t,i,n)=>{e["combo-list"]=T,t["combo-list"]=O},T.registerDesigner=(e,t,i)=>{e["combo-list"]=de,t["combo-list"]=O};const ue=ce(T);g.FComboList=T,g.Placement=A,g.ViewType=E,g.comboListProps=B,g.default=ue,g.propsResolver=O,Object.defineProperties(g,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
import { defineComponent as O, ref as
|
|
2
|
-
import
|
|
3
|
-
import { cloneDeep as
|
|
4
|
-
import N from "
|
|
5
|
-
import { withInstall as D } from "
|
|
1
|
+
import { defineComponent as O, ref as y, inject as P, computed as v, onMounted as M, createVNode as S, watch as h } from "vue";
|
|
2
|
+
import I from "../button-edit/index.esm.js";
|
|
3
|
+
import { cloneDeep as k } from "lodash-es";
|
|
4
|
+
import N from "../tree-view/index.esm.js";
|
|
5
|
+
import { withInstall as D } from "../common/index.esm.js";
|
|
6
6
|
const E = {}, H = {};
|
|
7
7
|
function V(e) {
|
|
8
|
-
const { properties: l, title: d } = e, i = Object.keys(l).reduce((
|
|
9
|
-
return i.id = `${d}-${Date.now()}
|
|
8
|
+
const { properties: l, title: d, ignore: i } = e, u = i && Array.isArray(i), f = Object.keys(l).reduce((s, c) => ((!u || !i.find((p) => p == c)) && (s[c] = l[c].type === "object" && l[c].properties ? V(l[c]) : k(l[c].default)), s), {});
|
|
9
|
+
return (!u || !i.find((s) => s == "id")) && (f.id = `${d}-${Date.now()}`), f;
|
|
10
10
|
}
|
|
11
11
|
function R(e, l) {
|
|
12
12
|
const d = V(l);
|
|
13
|
-
return Object.keys(e).reduce((i, u) => (i[u] = e[u], i), d), d;
|
|
13
|
+
return Object.keys(e).reduce((i, u) => (i[u] && typeof i[u] == "object" ? Object.assign(i[u], e[u]) : i[u] = e[u], i), d), d;
|
|
14
14
|
}
|
|
15
15
|
function $(e, l) {
|
|
16
16
|
return Object.keys(e).filter((i) => e[i] != null).reduce((i, u) => {
|
|
17
17
|
if (l.has(u)) {
|
|
18
|
-
const
|
|
19
|
-
if (typeof
|
|
20
|
-
i[
|
|
18
|
+
const f = l.get(u);
|
|
19
|
+
if (typeof f == "string")
|
|
20
|
+
i[f] = e[u];
|
|
21
21
|
else {
|
|
22
|
-
const
|
|
23
|
-
Object.assign(i,
|
|
22
|
+
const s = f(u, e[u], e);
|
|
23
|
+
Object.assign(i, s);
|
|
24
24
|
}
|
|
25
25
|
} else
|
|
26
26
|
i[u] = e[u];
|
|
27
27
|
return i;
|
|
28
28
|
}, {});
|
|
29
29
|
}
|
|
30
|
-
function
|
|
30
|
+
function A(e, l, d = /* @__PURE__ */ new Map()) {
|
|
31
31
|
const i = R(e, l);
|
|
32
32
|
return $(i, d);
|
|
33
33
|
}
|
|
34
|
-
function
|
|
34
|
+
function L(e = {}) {
|
|
35
35
|
function l(n, t, a, r) {
|
|
36
36
|
if (typeof a == "number")
|
|
37
37
|
return r[n].length === a;
|
|
38
38
|
if (typeof a == "object") {
|
|
39
|
-
const o = Object.keys(a)[0],
|
|
39
|
+
const o = Object.keys(a)[0], m = a[o];
|
|
40
40
|
if (o === "not")
|
|
41
|
-
return Number(r[n].length) !== Number(
|
|
41
|
+
return Number(r[n].length) !== Number(m);
|
|
42
42
|
if (o === "moreThan")
|
|
43
|
-
return Number(r[n].length) >= Number(
|
|
43
|
+
return Number(r[n].length) >= Number(m);
|
|
44
44
|
if (o === "lessThan")
|
|
45
|
-
return Number(r[n].length) <= Number(
|
|
45
|
+
return Number(r[n].length) <= Number(m);
|
|
46
46
|
}
|
|
47
47
|
return !1;
|
|
48
48
|
}
|
|
@@ -59,38 +59,38 @@ function A(e = {}) {
|
|
|
59
59
|
return typeof t == "number" ? [{ target: a, operator: "length", param: null, value: Number(t) }] : typeof t == "boolean" ? [{ target: a, operator: "getProperty", param: n, value: !!t }] : typeof t == "object" ? Object.keys(t).map((r) => {
|
|
60
60
|
if (r === "length")
|
|
61
61
|
return { target: a, operator: "length", param: null, value: t[r] };
|
|
62
|
-
const o = r,
|
|
63
|
-
return { target: a, operator: "getProperty", param: o, value:
|
|
62
|
+
const o = r, m = t[r];
|
|
63
|
+
return { target: a, operator: "getProperty", param: o, value: m };
|
|
64
64
|
}) : [];
|
|
65
65
|
}
|
|
66
|
-
function
|
|
66
|
+
function f(n) {
|
|
67
67
|
return Object.keys(n).reduce((a, r) => {
|
|
68
68
|
const o = u(r, n[r]);
|
|
69
69
|
return a.push(...o), a;
|
|
70
70
|
}, []);
|
|
71
71
|
}
|
|
72
|
-
function
|
|
72
|
+
function s(n, t) {
|
|
73
73
|
if (i.has(n.operator)) {
|
|
74
74
|
const a = i.get(n.operator);
|
|
75
75
|
return a && a(n.target, n.param, n.value, t) || !1;
|
|
76
76
|
}
|
|
77
77
|
return !1;
|
|
78
78
|
}
|
|
79
|
-
function
|
|
80
|
-
return
|
|
79
|
+
function c(n, t) {
|
|
80
|
+
return f(n).reduce((o, m) => o && s(m, t), !0);
|
|
81
81
|
}
|
|
82
|
-
function
|
|
83
|
-
const a = Object.keys(n), r = a.includes("allOf"), o = a.includes("anyOf"),
|
|
84
|
-
return r ? !
|
|
82
|
+
function p(n, t) {
|
|
83
|
+
const a = Object.keys(n), r = a.includes("allOf"), o = a.includes("anyOf"), m = r || o, g = (m ? n[m ? r ? "allOf" : "anyOf" : "allOf"] : [n]).map((F) => c(F, t));
|
|
84
|
+
return r ? !g.includes(!1) : g.includes(!0);
|
|
85
85
|
}
|
|
86
|
-
return { parseValueSchema:
|
|
86
|
+
return { parseValueSchema: p };
|
|
87
87
|
}
|
|
88
88
|
const q = {}, U = {};
|
|
89
|
-
|
|
90
|
-
function W(e, l, d = /* @__PURE__ */ new Map(), i = (
|
|
91
|
-
return E[l.title] = l, H[l.title] = i, q[l.title] = u, U[l.title] =
|
|
92
|
-
const
|
|
93
|
-
return Object.assign(
|
|
89
|
+
L();
|
|
90
|
+
function W(e, l, d = /* @__PURE__ */ new Map(), i = (s, c, p) => c, u = {}, f = (s) => s) {
|
|
91
|
+
return E[l.title] = l, H[l.title] = i, q[l.title] = u, U[l.title] = f, (s = {}) => {
|
|
92
|
+
const c = A(s, l, d), p = Object.keys(e).reduce((n, t) => (n[t] = e[t].default, n), {});
|
|
93
|
+
return Object.assign(p, c);
|
|
94
94
|
};
|
|
95
95
|
}
|
|
96
96
|
function z(e, l) {
|
|
@@ -377,7 +377,7 @@ const B = {
|
|
|
377
377
|
formatter: { type: Function, default: null },
|
|
378
378
|
editorParams: { type: Object },
|
|
379
379
|
repositoryToken: { type: Symbol, default: null }
|
|
380
|
-
}, le = W(B, ee, G, te),
|
|
380
|
+
}, le = W(B, ee, G, te), ie = {
|
|
381
381
|
data: { type: Array, default: [] },
|
|
382
382
|
enableSearch: { type: Boolean, default: !1 },
|
|
383
383
|
idField: { type: String, default: "id" },
|
|
@@ -393,12 +393,12 @@ const B = {
|
|
|
393
393
|
maxHeight: { type: Number, default: 350 },
|
|
394
394
|
repositoryToken: { type: Symbol, default: null },
|
|
395
395
|
editorParams: { type: Object }
|
|
396
|
-
},
|
|
396
|
+
}, re = /* @__PURE__ */ O({
|
|
397
397
|
name: "FComboTreeContainer",
|
|
398
|
-
props:
|
|
398
|
+
props: ie,
|
|
399
399
|
emits: ["selectionChange"],
|
|
400
400
|
setup(e, l) {
|
|
401
|
-
const d =
|
|
401
|
+
const d = y(e.data), i = y([]), u = y(e.separator), f = y(e.width), s = y(e.height), c = y(e.maxHeight), p = y(String(e.selectedValues).split(u.value));
|
|
402
402
|
let n = null;
|
|
403
403
|
e.repositoryToken && (n = P(e.repositoryToken));
|
|
404
404
|
const t = v(() => [{
|
|
@@ -408,10 +408,10 @@ const B = {
|
|
|
408
408
|
formatter: e.formatter
|
|
409
409
|
}]), a = v(() => {
|
|
410
410
|
const o = {};
|
|
411
|
-
return
|
|
411
|
+
return f.value !== void 0 && (o.width = `${f.value}px`), s.value !== void 0 && (o.height = `${s.value}px`), c.value !== void 0 && c.value > 0 && (o.maxHeight = `${c.value}px`, o.overflow = "auto"), o;
|
|
412
412
|
});
|
|
413
413
|
function r(o) {
|
|
414
|
-
i.value = o.map((
|
|
414
|
+
i.value = o.map((m) => Object.assign({}, m)), p.value = o.map((m) => m[e.idField]), l.emit("selectionChange", i.value);
|
|
415
415
|
}
|
|
416
416
|
return M(() => {
|
|
417
417
|
n && n.getData(e.editorParams).then((o) => {
|
|
@@ -424,33 +424,33 @@ const B = {
|
|
|
424
424
|
data: d.value,
|
|
425
425
|
idField: e.idField,
|
|
426
426
|
columns: t.value,
|
|
427
|
-
"selection-values":
|
|
427
|
+
"selection-values": p.value,
|
|
428
428
|
onSelectionChange: r
|
|
429
429
|
}, null)]);
|
|
430
430
|
}
|
|
431
431
|
});
|
|
432
432
|
function oe(e) {
|
|
433
|
-
const l =
|
|
434
|
-
function
|
|
433
|
+
const l = y(""), d = y(e.modelValue), i = y(e.data || []), u = y(e.editable);
|
|
434
|
+
function f(t) {
|
|
435
435
|
const a = String(t).split(e.separator).map((o) => [o, !0]), r = new Map(a);
|
|
436
436
|
return i.value.filter((o) => r.has(String(o[e.valueField])));
|
|
437
437
|
}
|
|
438
|
-
function
|
|
439
|
-
const a =
|
|
438
|
+
function s(t) {
|
|
439
|
+
const a = f(t).map((r) => r[e.textField]).join(e.separator);
|
|
440
440
|
l.value = u.value ? a || t : a;
|
|
441
441
|
}
|
|
442
|
-
function
|
|
442
|
+
function c(t) {
|
|
443
443
|
const a = t.split(e.separator).map((o) => [o, !0]), r = new Map(a);
|
|
444
444
|
return i.value.filter((o) => r.has(o[e.textField]));
|
|
445
445
|
}
|
|
446
|
-
function
|
|
446
|
+
function p(t) {
|
|
447
447
|
const a = {};
|
|
448
448
|
return a[e.idField] = t, a[e.textField] = t, [a];
|
|
449
449
|
}
|
|
450
450
|
function n(t) {
|
|
451
|
-
let a =
|
|
451
|
+
let a = c(t);
|
|
452
452
|
const r = a && a.length > 0;
|
|
453
|
-
return u.value && !r && (a =
|
|
453
|
+
return u.value && !r && (a = p(t)), a;
|
|
454
454
|
}
|
|
455
455
|
return h(() => e.data, () => {
|
|
456
456
|
i.value = e.data;
|
|
@@ -460,8 +460,8 @@ function oe(e) {
|
|
|
460
460
|
a && (l.value = a[e.textField]);
|
|
461
461
|
}
|
|
462
462
|
}), h(() => e.modelValue, (t) => {
|
|
463
|
-
d.value = t,
|
|
464
|
-
}),
|
|
463
|
+
d.value = t, s(t);
|
|
464
|
+
}), s(e.modelValue), { dataSource: i, displayText: l, editable: u, modelValue: d, getItemsByDisplayText: c, getItemsByValue: f, getSelectedItemsByDisplayText: n };
|
|
465
465
|
}
|
|
466
466
|
const C = /* @__PURE__ */ O({
|
|
467
467
|
name: "FComboTree",
|
|
@@ -469,9 +469,9 @@ const C = /* @__PURE__ */ O({
|
|
|
469
469
|
emits: ["clear", "update:modelValue", "change"],
|
|
470
470
|
setup(e, l) {
|
|
471
471
|
return () => {
|
|
472
|
-
const d =
|
|
473
|
-
dataSource:
|
|
474
|
-
displayText:
|
|
472
|
+
const d = y(), i = y(e.disabled), u = y(e.enableClear), f = y(e.enableSearch), s = y(e.readonly), {
|
|
473
|
+
dataSource: c,
|
|
474
|
+
displayText: p,
|
|
475
475
|
editable: n,
|
|
476
476
|
modelValue: t,
|
|
477
477
|
getSelectedItemsByDisplayText: a
|
|
@@ -480,23 +480,23 @@ const C = /* @__PURE__ */ O({
|
|
|
480
480
|
function o() {
|
|
481
481
|
!r.value && d.value && d.value.hidePopup();
|
|
482
482
|
}
|
|
483
|
-
function
|
|
484
|
-
|
|
483
|
+
function m(g) {
|
|
484
|
+
p.value = g.map((b) => b[e.textField]).join(e.separator), t.value = g.map((b) => b[e.valueField]).join(e.separator), l.emit("update:modelValue", t.value), l.emit("change", g, t.value), o();
|
|
485
485
|
}
|
|
486
|
-
function x(
|
|
486
|
+
function x(g) {
|
|
487
487
|
t.value = "", l.emit("update:modelValue", ""), l.emit("clear");
|
|
488
488
|
}
|
|
489
|
-
function T(
|
|
490
|
-
const b = a(
|
|
491
|
-
|
|
489
|
+
function T(g) {
|
|
490
|
+
const b = a(g);
|
|
491
|
+
m(b);
|
|
492
492
|
}
|
|
493
|
-
return h([() => e.disabled, () => e.editable, () => e.enableClear, () => e.enableSearch, () => e.readonly], ([
|
|
494
|
-
i.value =
|
|
495
|
-
}), S(
|
|
493
|
+
return h([() => e.disabled, () => e.editable, () => e.enableClear, () => e.enableSearch, () => e.readonly], ([g, b, F, j, w]) => {
|
|
494
|
+
i.value = g, n.value = b, u.value = F, f.value = j, s.value = w;
|
|
495
|
+
}), S(I, {
|
|
496
496
|
ref: d,
|
|
497
497
|
id: e.id,
|
|
498
498
|
disable: i.value,
|
|
499
|
-
readonly:
|
|
499
|
+
readonly: s.value,
|
|
500
500
|
forcePlaceholder: e.forcePlaceholder,
|
|
501
501
|
editable: n.value,
|
|
502
502
|
buttonContent: e.dropDownIcon,
|
|
@@ -507,22 +507,22 @@ const C = /* @__PURE__ */ O({
|
|
|
507
507
|
enableTitle: e.enableTitle,
|
|
508
508
|
multiSelect: e.multiSelect,
|
|
509
509
|
inputType: e.multiSelect ? "tag" : "text",
|
|
510
|
-
modelValue:
|
|
511
|
-
"onUpdate:modelValue": (
|
|
510
|
+
modelValue: p.value,
|
|
511
|
+
"onUpdate:modelValue": (g) => p.value = g,
|
|
512
512
|
onClear: x,
|
|
513
513
|
onChange: T,
|
|
514
514
|
focusOnCreated: e.focusOnCreated,
|
|
515
515
|
selectOnCreated: e.selectOnCreated
|
|
516
516
|
}, {
|
|
517
|
-
default: () => [S(
|
|
517
|
+
default: () => [S(re, {
|
|
518
518
|
maxHeight: e.maxHeight,
|
|
519
519
|
idField: e.idField,
|
|
520
520
|
valueField: e.valueField,
|
|
521
521
|
textField: e.textField,
|
|
522
522
|
titleField: e.titleField,
|
|
523
|
-
data:
|
|
523
|
+
data: c.value,
|
|
524
524
|
selectedValues: t.value,
|
|
525
|
-
onSelectionChange:
|
|
525
|
+
onSelectionChange: m,
|
|
526
526
|
formatter: e.formatter,
|
|
527
527
|
editorParams: e.editorParams,
|
|
528
528
|
repositoryToken: e.repositoryToken
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(y,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("vue"),require("@farris/ui-vue/components/button-edit"),require("lodash-es"),require("@farris/ui-vue/components/tree-view"),require("@farris/ui-vue/components/common")):typeof define=="function"&&define.amd?define(["exports","vue","@farris/ui-vue/components/button-edit","lodash-es","@farris/ui-vue/components/tree-view","@farris/ui-vue/components/common"],r):(y=typeof globalThis<"u"?globalThis:y||self,r(y["combo-tree"]={},y.Vue,y.FButtonEdit,y.LodashES,y.FTreeView,y.common))})(this,function(y,r,w,j,P,M){"use strict";const N={},k={};function T(e){const{properties:l,title:s}=e,o=Object.keys(l).reduce((d,c)=>(d[c]=l[c].type==="object"&&l[c].properties?T(l[c]):j.cloneDeep(l[c].default),d),{});return o.id=`${s}-${Date.now()}`,o}function E(e,l){const s=T(l);return Object.keys(e).reduce((o,d)=>(o[d]=e[d],o),s),s}function I(e,l){return Object.keys(e).filter(o=>e[o]!=null).reduce((o,d)=>{if(l.has(d)){const c=l.get(d);if(typeof c=="string")o[c]=e[d];else{const f=c(d,e[d],e);Object.assign(o,f)}}else o[d]=e[d];return o},{})}function D(e,l,s=new Map){const o=E(e,l);return I(o,s)}function $(e={}){function l(a,t,n,i){if(typeof n=="number")return i[a].length===n;if(typeof n=="object"){const u=Object.keys(n)[0],m=n[u];if(u==="not")return Number(i[a].length)!==Number(m);if(u==="moreThan")return Number(i[a].length)>=Number(m);if(u==="lessThan")return Number(i[a].length)<=Number(m)}return!1}function s(a,t,n,i){return i[a]&&i[a].propertyValue&&String(i[a].propertyValue.value)===String(n)}const o=new Map([["length",l],["getProperty",s]]);Object.keys(e).reduce((a,t)=>(a.set(t,e[t]),a),o);function d(a,t){const n=a;return typeof t=="number"?[{target:n,operator:"length",param:null,value:Number(t)}]:typeof t=="boolean"?[{target:n,operator:"getProperty",param:a,value:!!t}]:typeof t=="object"?Object.keys(t).map(i=>{if(i==="length")return{target:n,operator:"length",param:null,value:t[i]};const u=i,m=t[i];return{target:n,operator:"getProperty",param:u,value:m}}):[]}function c(a){return Object.keys(a).reduce((n,i)=>{const u=d(i,a[i]);return n.push(...u),n},[])}function f(a,t){if(o.has(a.operator)){const n=o.get(a.operator);return n&&n(a.target,a.param,a.value,t)||!1}return!1}function p(a,t){return c(a).reduce((u,m)=>u&&f(m,t),!0)}function b(a,t){const n=Object.keys(a),i=n.includes("allOf"),u=n.includes("anyOf"),m=i||u,g=(m?a[m?i?"allOf":"anyOf":"allOf"]:[a]).map(F=>p(F,t));return i?!g.includes(!1):g.includes(!0)}return{parseValueSchema:b}}const R={},q={};$();function H(e,l,s=new Map,o=(f,p,b)=>p,d={},c=f=>f){return N[l.title]=l,k[l.title]=o,R[l.title]=d,q[l.title]=c,(f={})=>{const p=D(f,l,s),b=Object.keys(e).reduce((a,t)=>(a[t]=e[t].default,a),{});return Object.assign(b,p)}}function L(e,l){return{customClass:l.class,customStyle:l.style}}const A=new Map([["appearance",L]]),_={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},data:{description:"",type:"array"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""}},required:["id","type"]};function U(e,l,s){return l}var x=(e=>(e.Text="text",e.Tag="tag",e))(x||{}),V=(e=>(e.top="top",e.bottom="bottom",e.auto="auto",e))(V||{});const v={id:{type:String},data:{type:Array,default:[]},displayText:{type:String,default:""},disabled:{type:Boolean,default:!1},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-60-down"></span>'},editable:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!0},enableSearch:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!0},fitEditor:{type:Boolean,default:!1},forcePlaceholder:{type:Boolean,default:!1},hidePanelOnClear:{type:Boolean,default:!0},idField:{type:String,default:"id"},mapFields:{type:Object},maxHeight:{type:Number,default:350},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{},placeholder:{type:String},placement:{type:String,default:"auto"},readonly:{type:Boolean,default:!1},remoteSearch:{type:Boolean,default:!1},separator:{type:String,default:","},tabIndex:{type:Number,default:-1},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},valueField:{type:String,default:"id"},viewType:{type:String,default:"text"},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},formatter:{type:Function,default:null},editorParams:{type:Object},repositoryToken:{type:Symbol,default:null}},O=H(v,_,A,U),W={data:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{default:!1,type:Boolean},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},height:{type:Number},valueField:{type:String,default:"id"},formatter:{type:Function},maxHeight:{type:Number,default:350},repositoryToken:{type:Symbol,default:null},editorParams:{type:Object}},z=r.defineComponent({name:"FComboTreeContainer",props:W,emits:["selectionChange"],setup(e,l){const s=r.ref(e.data),o=r.ref([]),d=r.ref(e.separator),c=r.ref(e.width),f=r.ref(e.height),p=r.ref(e.maxHeight),b=r.ref(String(e.selectedValues).split(d.value));let a=null;e.repositoryToken&&(a=r.inject(e.repositoryToken));const t=r.computed(()=>[{field:e.textField,title:"",dataType:"string",formatter:e.formatter}]),n=r.computed(()=>{const u={};return c.value!==void 0&&(u.width=`${c.value}px`),f.value!==void 0&&(u.height=`${f.value}px`),p.value!==void 0&&p.value>0&&(u.maxHeight=`${p.value}px`,u.overflow="auto"),u});function i(u){o.value=u.map(m=>Object.assign({},m)),b.value=u.map(m=>m[e.idField]),l.emit("selectionChange",o.value)}return r.onMounted(()=>{a&&a.getData(e.editorParams).then(u=>{s.value=u})}),()=>r.createVNode("div",{class:"f-combo-tree-container",style:n.value},[r.createVNode(P,{data:s.value,idField:e.idField,columns:t.value,"selection-values":b.value,onSelectionChange:i},null)])}});function G(e){const l=r.ref(""),s=r.ref(e.modelValue),o=r.ref(e.data||[]),d=r.ref(e.editable);function c(t){const n=String(t).split(e.separator).map(u=>[u,!0]),i=new Map(n);return o.value.filter(u=>i.has(String(u[e.valueField])))}function f(t){const n=c(t).map(i=>i[e.textField]).join(e.separator);l.value=d.value?n||t:n}function p(t){const n=t.split(e.separator).map(u=>[u,!0]),i=new Map(n);return o.value.filter(u=>i.has(u[e.textField]))}function b(t){const n={};return n[e.idField]=t,n[e.textField]=t,[n]}function a(t){let n=p(t);const i=n&&n.length>0;return d.value&&!i&&(n=b(t)),n}return r.watch(()=>e.data,()=>{o.value=e.data}),r.watch([o],([t])=>{if(e.modelValue){const n=t.find(i=>i[e.valueField]===e.modelValue);n&&(l.value=n[e.textField])}}),r.watch(()=>e.modelValue,t=>{s.value=t,f(t)}),f(e.modelValue),{dataSource:o,displayText:l,editable:d,modelValue:s,getItemsByDisplayText:p,getItemsByValue:c,getSelectedItemsByDisplayText:a}}const S=r.defineComponent({name:"FComboTree",props:v,emits:["clear","update:modelValue","change"],setup(e,l){return()=>{const s=r.ref(),o=r.ref(e.disabled),d=r.ref(e.enableClear),c=r.ref(e.enableSearch),f=r.ref(e.readonly),{dataSource:p,displayText:b,editable:a,modelValue:t,getSelectedItemsByDisplayText:n}=G(e),i=r.computed(()=>e.multiSelect);r.computed(()=>s.value?s.value.elementRef.getBoundingClientRect().width:0);function u(){!i.value&&s.value&&s.value.hidePopup()}function m(g){b.value=g.map(h=>h[e.textField]).join(e.separator),t.value=g.map(h=>h[e.valueField]).join(e.separator),l.emit("update:modelValue",t.value),l.emit("change",g,t.value),u()}function C(g){t.value="",l.emit("update:modelValue",""),l.emit("clear")}function B(g){const h=n(g);m(h)}return r.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([g,h,F,Q,X])=>{o.value=g,a.value=h,d.value=F,c.value=Q,f.value=X}),r.createVNode(w,{ref:s,id:e.id,disable:o.value,readonly:f.value,forcePlaceholder:e.forcePlaceholder,editable:a.value,buttonContent:e.dropDownIcon,placeholder:e.placeholder,enableClear:d.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?"tag":"text",modelValue:b.value,"onUpdate:modelValue":g=>b.value=g,onClear:C,onChange:B,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated},{default:()=>[r.createVNode(z,{maxHeight:e.maxHeight,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,data:p.value,selectedValues:t.value,onSelectionChange:m,formatter:e.formatter,editorParams:e.editorParams,repositoryToken:e.repositoryToken},null)]})}}});S.register=(e,l,s,o)=>{e["combo-tree"]=S,l["combo-tree"]=O};const J=M.withInstall(S);y.FComboTree=S,y.Placement=V,y.ViewType=x,y.comboTreeProps=v,y.default=J,y.propsResolver=O,Object.defineProperties(y,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(p,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("vue"),require("../button-edit/index.umd.js"),require("lodash-es"),require("../tree-view/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../button-edit/index.umd.js","lodash-es","../tree-view/index.umd.js","../common/index.umd.js"],r):(p=typeof globalThis<"u"?globalThis:p||self,r(p["combo-tree"]={},p.Vue,p.FButtonEdit,p.LodashES,p.FTreeView,p.common))})(this,function(p,r,B,w,P,M){"use strict";const N={},I={};function T(e){const{properties:l,title:s,ignore:i}=e,d=i&&Array.isArray(i),m=Object.keys(l).reduce((c,f)=>((!d||!i.find(g=>g==f))&&(c[f]=l[f].type==="object"&&l[f].properties?T(l[f]):w.cloneDeep(l[f].default)),c),{});return(!d||!i.find(c=>c=="id"))&&(m.id=`${s}-${Date.now()}`),m}function k(e,l){const s=T(l);return Object.keys(e).reduce((i,d)=>(i[d]&&typeof i[d]=="object"?Object.assign(i[d],e[d]):i[d]=e[d],i),s),s}function E(e,l){return Object.keys(e).filter(i=>e[i]!=null).reduce((i,d)=>{if(l.has(d)){const m=l.get(d);if(typeof m=="string")i[m]=e[d];else{const c=m(d,e[d],e);Object.assign(i,c)}}else i[d]=e[d];return i},{})}function D(e,l,s=new Map){const i=k(e,l);return E(i,s)}function $(e={}){function l(a,t,n,o){if(typeof n=="number")return o[a].length===n;if(typeof n=="object"){const u=Object.keys(n)[0],y=n[u];if(u==="not")return Number(o[a].length)!==Number(y);if(u==="moreThan")return Number(o[a].length)>=Number(y);if(u==="lessThan")return Number(o[a].length)<=Number(y)}return!1}function s(a,t,n,o){return o[a]&&o[a].propertyValue&&String(o[a].propertyValue.value)===String(n)}const i=new Map([["length",l],["getProperty",s]]);Object.keys(e).reduce((a,t)=>(a.set(t,e[t]),a),i);function d(a,t){const n=a;return typeof t=="number"?[{target:n,operator:"length",param:null,value:Number(t)}]:typeof t=="boolean"?[{target:n,operator:"getProperty",param:a,value:!!t}]:typeof t=="object"?Object.keys(t).map(o=>{if(o==="length")return{target:n,operator:"length",param:null,value:t[o]};const u=o,y=t[o];return{target:n,operator:"getProperty",param:u,value:y}}):[]}function m(a){return Object.keys(a).reduce((n,o)=>{const u=d(o,a[o]);return n.push(...u),n},[])}function c(a,t){if(i.has(a.operator)){const n=i.get(a.operator);return n&&n(a.target,a.param,a.value,t)||!1}return!1}function f(a,t){return m(a).reduce((u,y)=>u&&c(y,t),!0)}function g(a,t){const n=Object.keys(a),o=n.includes("allOf"),u=n.includes("anyOf"),y=o||u,b=(y?a[y?o?"allOf":"anyOf":"allOf"]:[a]).map(F=>f(F,t));return o?!b.includes(!1):b.includes(!0)}return{parseValueSchema:g}}const R={},q={};$();function H(e,l,s=new Map,i=(c,f,g)=>f,d={},m=c=>c){return N[l.title]=l,I[l.title]=i,R[l.title]=d,q[l.title]=m,(c={})=>{const f=D(c,l,s),g=Object.keys(e).reduce((a,t)=>(a[t]=e[t].default,a),{});return Object.assign(g,f)}}function L(e,l){return{customClass:l.class,customStyle:l.style}}const A=new Map([["appearance",L]]),_={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},data:{description:"",type:"array"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""}},required:["id","type"]};function U(e,l,s){return l}var v=(e=>(e.Text="text",e.Tag="tag",e))(v||{}),V=(e=>(e.top="top",e.bottom="bottom",e.auto="auto",e))(V||{});const x={id:{type:String},data:{type:Array,default:[]},displayText:{type:String,default:""},disabled:{type:Boolean,default:!1},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-60-down"></span>'},editable:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!0},enableSearch:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!0},fitEditor:{type:Boolean,default:!1},forcePlaceholder:{type:Boolean,default:!1},hidePanelOnClear:{type:Boolean,default:!0},idField:{type:String,default:"id"},mapFields:{type:Object},maxHeight:{type:Number,default:350},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{},placeholder:{type:String},placement:{type:String,default:"auto"},readonly:{type:Boolean,default:!1},remoteSearch:{type:Boolean,default:!1},separator:{type:String,default:","},tabIndex:{type:Number,default:-1},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},valueField:{type:String,default:"id"},viewType:{type:String,default:"text"},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},formatter:{type:Function,default:null},editorParams:{type:Object},repositoryToken:{type:Symbol,default:null}},j=H(x,_,A,U),W={data:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{default:!1,type:Boolean},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},height:{type:Number},valueField:{type:String,default:"id"},formatter:{type:Function},maxHeight:{type:Number,default:350},repositoryToken:{type:Symbol,default:null},editorParams:{type:Object}},z=r.defineComponent({name:"FComboTreeContainer",props:W,emits:["selectionChange"],setup(e,l){const s=r.ref(e.data),i=r.ref([]),d=r.ref(e.separator),m=r.ref(e.width),c=r.ref(e.height),f=r.ref(e.maxHeight),g=r.ref(String(e.selectedValues).split(d.value));let a=null;e.repositoryToken&&(a=r.inject(e.repositoryToken));const t=r.computed(()=>[{field:e.textField,title:"",dataType:"string",formatter:e.formatter}]),n=r.computed(()=>{const u={};return m.value!==void 0&&(u.width=`${m.value}px`),c.value!==void 0&&(u.height=`${c.value}px`),f.value!==void 0&&f.value>0&&(u.maxHeight=`${f.value}px`,u.overflow="auto"),u});function o(u){i.value=u.map(y=>Object.assign({},y)),g.value=u.map(y=>y[e.idField]),l.emit("selectionChange",i.value)}return r.onMounted(()=>{a&&a.getData(e.editorParams).then(u=>{s.value=u})}),()=>r.createVNode("div",{class:"f-combo-tree-container",style:n.value},[r.createVNode(P,{data:s.value,idField:e.idField,columns:t.value,"selection-values":g.value,onSelectionChange:o},null)])}});function G(e){const l=r.ref(""),s=r.ref(e.modelValue),i=r.ref(e.data||[]),d=r.ref(e.editable);function m(t){const n=String(t).split(e.separator).map(u=>[u,!0]),o=new Map(n);return i.value.filter(u=>o.has(String(u[e.valueField])))}function c(t){const n=m(t).map(o=>o[e.textField]).join(e.separator);l.value=d.value?n||t:n}function f(t){const n=t.split(e.separator).map(u=>[u,!0]),o=new Map(n);return i.value.filter(u=>o.has(u[e.textField]))}function g(t){const n={};return n[e.idField]=t,n[e.textField]=t,[n]}function a(t){let n=f(t);const o=n&&n.length>0;return d.value&&!o&&(n=g(t)),n}return r.watch(()=>e.data,()=>{i.value=e.data}),r.watch([i],([t])=>{if(e.modelValue){const n=t.find(o=>o[e.valueField]===e.modelValue);n&&(l.value=n[e.textField])}}),r.watch(()=>e.modelValue,t=>{s.value=t,c(t)}),c(e.modelValue),{dataSource:i,displayText:l,editable:d,modelValue:s,getItemsByDisplayText:f,getItemsByValue:m,getSelectedItemsByDisplayText:a}}const S=r.defineComponent({name:"FComboTree",props:x,emits:["clear","update:modelValue","change"],setup(e,l){return()=>{const s=r.ref(),i=r.ref(e.disabled),d=r.ref(e.enableClear),m=r.ref(e.enableSearch),c=r.ref(e.readonly),{dataSource:f,displayText:g,editable:a,modelValue:t,getSelectedItemsByDisplayText:n}=G(e),o=r.computed(()=>e.multiSelect);r.computed(()=>s.value?s.value.elementRef.getBoundingClientRect().width:0);function u(){!o.value&&s.value&&s.value.hidePopup()}function y(b){g.value=b.map(h=>h[e.textField]).join(e.separator),t.value=b.map(h=>h[e.valueField]).join(e.separator),l.emit("update:modelValue",t.value),l.emit("change",b,t.value),u()}function C(b){t.value="",l.emit("update:modelValue",""),l.emit("clear")}function O(b){const h=n(b);y(h)}return r.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([b,h,F,Q,X])=>{i.value=b,a.value=h,d.value=F,m.value=Q,c.value=X}),r.createVNode(B,{ref:s,id:e.id,disable:i.value,readonly:c.value,forcePlaceholder:e.forcePlaceholder,editable:a.value,buttonContent:e.dropDownIcon,placeholder:e.placeholder,enableClear:d.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?"tag":"text",modelValue:g.value,"onUpdate:modelValue":b=>g.value=b,onClear:C,onChange:O,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated},{default:()=>[r.createVNode(z,{maxHeight:e.maxHeight,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,data:f.value,selectedValues:t.value,onSelectionChange:y,formatter:e.formatter,editorParams:e.editorParams,repositoryToken:e.repositoryToken},null)]})}}});S.register=(e,l,s,i)=>{e["combo-tree"]=S,l["combo-tree"]=j};const J=M.withInstall(S);p.FComboTree=S,p.Placement=V,p.ViewType=v,p.comboTreeProps=x,p.default=J,p.propsResolver=j,Object.defineProperties(p,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|