@farris/ui-vue 1.2.9 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/accordion/index.esm.js +64 -64
- package/components/accordion/index.umd.cjs +1 -1
- package/components/avatar/index.esm.js +521 -336
- package/components/avatar/index.umd.cjs +1 -1
- package/components/button-edit/index.css +1 -1
- package/components/button-edit/index.esm.js +99 -97
- package/components/button-edit/index.umd.cjs +1 -1
- package/components/calendar/index.esm.js +496 -504
- package/components/calendar/index.umd.cjs +1 -1
- package/components/capsule/index.esm.js +251 -259
- package/components/capsule/index.umd.cjs +1 -1
- package/components/checkbox/index.esm.js +696 -519
- package/components/checkbox/index.umd.cjs +1 -1
- package/components/color-picker/index.esm.js +368 -376
- package/components/color-picker/index.umd.cjs +2 -2
- package/components/combo-list/index.css +1 -0
- package/components/combo-list/index.esm.js +1141 -340
- package/components/combo-list/index.umd.cjs +1 -1
- package/components/combo-tree/index.esm.js +116 -116
- package/components/combo-tree/index.umd.cjs +1 -1
- package/components/common/index.esm.js +986 -798
- package/components/common/index.umd.cjs +1 -1
- package/components/component/index.esm.js +463 -998
- package/components/component/index.umd.cjs +1 -1
- package/components/condition/index.css +1 -0
- package/components/condition/index.esm.js +2233 -1057
- package/components/condition/index.umd.cjs +1 -1
- package/components/content-container/index.esm.js +335 -1002
- package/components/content-container/index.umd.cjs +1 -1
- package/components/data-grid/index.css +1 -1
- package/components/data-grid/index.esm.js +6193 -4702
- package/components/data-grid/index.umd.cjs +1 -1
- package/components/data-view/index.css +1 -0
- package/components/data-view/index.esm.js +4562 -3294
- package/components/data-view/index.umd.cjs +1 -1
- package/components/date-picker/index.css +1 -1
- package/components/date-picker/index.esm.js +3420 -2623
- package/components/date-picker/index.umd.cjs +1 -1
- package/components/designer-canvas/index.css +1 -1
- package/components/designer-canvas/index.esm.js +914 -883
- package/components/designer-canvas/index.umd.cjs +1 -1
- package/components/designer-outline/index.esm.js +14 -13
- package/components/designer-outline/index.umd.cjs +1 -1
- package/components/dropdown/index.esm.js +204 -212
- package/components/dropdown/index.umd.cjs +2 -2
- package/components/dynamic-form/index.css +1 -0
- package/components/dynamic-form/index.esm.js +2795 -1835
- package/components/dynamic-form/index.umd.cjs +1 -1
- package/components/dynamic-resolver/index.esm.js +180 -130
- package/components/dynamic-resolver/index.umd.cjs +1 -1
- package/components/dynamic-view/index.esm.js +303 -290
- package/components/dynamic-view/index.umd.cjs +1 -1
- package/components/events-editor/index.esm.js +328 -336
- package/components/events-editor/index.umd.cjs +1 -1
- package/components/expression-editor/index.esm.js +65 -65
- package/components/expression-editor/index.umd.cjs +1 -1
- package/components/external-container/index.css +1 -1
- package/components/external-container/index.esm.js +3349 -3626
- package/components/external-container/index.umd.cjs +1 -1
- package/components/field-selector/index.css +1 -1
- package/components/field-selector/index.esm.js +5344 -8588
- package/components/field-selector/index.umd.cjs +1 -1
- package/components/filter-bar/index.css +1 -1
- package/components/filter-bar/index.esm.js +2179 -2227
- package/components/filter-bar/index.umd.cjs +1 -1
- package/components/flow-canvas/index.css +1 -1
- package/components/flow-canvas/index.esm.js +684 -675
- package/components/flow-canvas/index.umd.cjs +1 -1
- package/components/image-cropper/index.esm.js +482 -490
- package/components/image-cropper/index.umd.cjs +1 -1
- package/components/input-group/index.esm.js +746 -569
- package/components/input-group/index.umd.cjs +1 -1
- package/components/layout/index.esm.js +409 -385
- package/components/layout/index.umd.cjs +1 -1
- package/components/list-nav/index.esm.js +348 -1019
- package/components/list-nav/index.umd.cjs +1 -1
- package/components/list-view/index.css +1 -1
- package/components/list-view/index.esm.js +3606 -2388
- package/components/list-view/index.umd.cjs +1 -1
- package/components/lookup/index.css +1 -1
- package/components/lookup/index.esm.js +10871 -8970
- package/components/lookup/index.umd.cjs +1 -1
- package/components/mapping-editor/index.css +1 -1
- package/components/mapping-editor/index.esm.js +6019 -5631
- package/components/mapping-editor/index.umd.cjs +1 -1
- package/components/message-box/index.css +1 -1
- package/components/message-box/index.esm.js +511 -471
- package/components/message-box/index.umd.cjs +1 -1
- package/components/modal/index.css +1 -1
- package/components/modal/index.esm.js +438 -398
- package/components/modal/index.umd.cjs +1 -1
- package/components/nav/index.esm.js +912 -1281
- package/components/nav/index.umd.cjs +3 -3
- package/components/notify/index.esm.js +59 -53
- package/components/notify/index.umd.cjs +1 -1
- package/components/number-range/index.esm.js +660 -484
- package/components/number-range/index.umd.cjs +1 -1
- package/components/number-spinner/index.esm.js +682 -506
- package/components/number-spinner/index.umd.cjs +1 -1
- package/components/order/index.css +1 -1
- package/components/order/index.esm.js +1848 -1658
- package/components/order/index.umd.cjs +1 -1
- package/components/page-footer/index.esm.js +100 -100
- package/components/page-footer/index.umd.cjs +1 -1
- package/components/page-header/index.esm.js +1120 -1923
- package/components/page-header/index.umd.cjs +1 -1
- package/components/pagination/index.esm.js +875 -1214
- package/components/pagination/index.umd.cjs +1 -1
- package/components/popover/index.esm.js +71 -70
- package/components/popover/index.umd.cjs +1 -1
- package/components/progress/index.esm.js +229 -237
- package/components/progress/index.umd.cjs +3 -3
- package/components/property-editor/index.css +1 -1
- package/components/property-editor/index.esm.js +2314 -1521
- package/components/property-editor/index.umd.cjs +3 -3
- package/components/property-panel/index.esm.js +867 -868
- package/components/property-panel/index.umd.cjs +1 -1
- package/components/query-solution/index.css +1 -1
- package/components/query-solution/index.esm.js +4332 -3623
- package/components/query-solution/index.umd.cjs +1 -1
- package/components/radio-button/index.esm.js +72 -72
- package/components/radio-button/index.umd.cjs +1 -1
- package/components/radio-group/index.esm.js +613 -437
- package/components/radio-group/index.umd.cjs +1 -1
- package/components/rate/index.esm.js +255 -263
- package/components/rate/index.umd.cjs +1 -1
- package/components/response-layout/index.esm.js +144 -152
- package/components/response-layout/index.umd.cjs +1 -1
- package/components/response-layout-editor/index.css +1 -1
- package/components/response-layout-editor/index.esm.js +1101 -1038
- package/components/response-layout-editor/index.umd.cjs +1 -1
- package/components/response-toolbar/index.esm.js +935 -1750
- package/components/response-toolbar/index.umd.cjs +1 -1
- package/components/schema-selector/index.css +1 -1
- package/components/schema-selector/index.esm.js +5264 -5677
- package/components/schema-selector/index.umd.cjs +2 -2
- package/components/search-box/index.esm.js +151 -154
- package/components/search-box/index.umd.cjs +1 -1
- package/components/section/index.esm.js +438 -1125
- package/components/section/index.umd.cjs +1 -1
- package/components/smoke-detector/index.esm.js +93 -101
- package/components/smoke-detector/index.umd.cjs +1 -1
- package/components/splitter/index.esm.js +563 -1202
- package/components/splitter/index.umd.cjs +1 -1
- package/components/splitter/style.js +2 -0
- package/components/step/index.esm.js +248 -256
- package/components/step/index.umd.cjs +1 -1
- package/components/switch/index.esm.js +549 -373
- package/components/switch/index.umd.cjs +1 -1
- package/components/tabs/index.css +1 -1
- package/components/tabs/index.esm.js +2436 -3110
- package/components/tabs/index.umd.cjs +1 -1
- package/components/tags/index.esm.js +328 -336
- package/components/tags/index.umd.cjs +1 -1
- package/components/text/index.esm.js +339 -347
- package/components/text/index.umd.cjs +1 -1
- package/components/textarea/index.esm.js +554 -378
- package/components/textarea/index.umd.cjs +1 -1
- package/components/time-picker/index.css +1 -1
- package/components/time-picker/index.esm.js +1322 -1144
- package/components/time-picker/index.umd.cjs +1 -1
- package/components/transfer/index.css +1 -1
- package/components/transfer/index.esm.js +537 -543
- package/components/transfer/index.umd.cjs +1 -1
- package/components/tree-grid/index.css +1 -1
- package/components/tree-grid/index.esm.js +5113 -9426
- package/components/tree-grid/index.umd.cjs +1 -1
- package/components/tree-view/index.css +1 -0
- package/components/tree-view/index.esm.js +3900 -2677
- package/components/tree-view/index.umd.cjs +1 -1
- package/components/uploader/index.esm.js +568 -570
- package/components/uploader/index.umd.cjs +2 -2
- package/components/verify-detail/index.esm.js +266 -274
- package/components/verify-detail/index.umd.cjs +1 -1
- package/components/video/index.esm.js +553 -1052
- package/components/video/index.umd.cjs +1 -1
- package/components/weather/index.esm.js +558 -566
- package/components/weather/index.umd.cjs +5 -5
- package/farris.all.esm.js +22009 -22688
- package/farris.all.umd.cjs +9 -9
- package/index.css +1 -1
- package/package.json +1 -1
- package/types/capsule/src/capsule.props.d.ts +2 -2
- package/types/combo-list/src/components/list-container.component.d.ts +0 -3
- package/types/combo-list/src/components/list-container.props.d.ts +0 -4
- package/types/common/directive/area-response.d.ts +10 -0
- package/types/common/index.d.ts +9 -0
- package/types/common/radio-checkbox/radio-checkbox.props.d.ts +1 -0
- package/types/common/types.d.ts +1 -1
- package/types/common/utils/encrypt.d.ts +2 -0
- package/types/common/utils/resolve-field.d.ts +2 -0
- package/types/common/utils/use-class.d.ts +7 -0
- package/types/component/src/component.props.d.ts +7 -0
- package/types/component/src/designer/use-designer-rules.d.ts +2 -2
- package/types/component/src/property-config/component.property-config.d.ts +9 -0
- package/types/components.d.ts +1 -0
- package/types/condition/src/types.d.ts +2 -1
- package/types/content-container/src/designer/use-designer-rules.d.ts +3 -3
- package/types/data-grid/index.d.ts +11 -5
- package/types/data-grid/src/data-grid.component.d.ts +4 -2
- package/types/data-grid/src/data-grid.props.d.ts +1 -0
- package/types/data-grid/src/designer/data-grid.design.component.d.ts +2 -2
- package/types/data-grid/src/designer/use-designer-rules.d.ts +2 -2
- package/types/data-view/components/row/hierarchy-row.component.d.ts +2 -2
- package/types/data-view/composition/data/use-tree-data.d.ts +1 -1
- package/types/data-view/composition/types.d.ts +19 -4
- package/types/data-view/composition/visualization/use-virtual-scroll.d.ts +0 -15
- package/types/designer-canvas/index.d.ts +2 -1
- package/types/designer-canvas/src/composition/dg-control.d.ts +5 -0
- package/types/designer-canvas/src/composition/rule/use-dragula-common-rule.d.ts +4 -0
- package/types/designer-canvas/src/composition/rule/use-template-rule.d.ts +30 -0
- package/types/designer-canvas/src/composition/types.d.ts +2 -3
- package/types/designer-canvas/src/types.d.ts +2 -1
- package/types/dynamic-form/src/composition/use-response-form-layout-setting.d.ts +2 -0
- package/types/dynamic-form/src/designer/response-form-layout-setting.component.d.ts +8 -0
- package/types/dynamic-form/src/designer/response-form-layout-setting.props.d.ts +4 -0
- package/types/dynamic-form/src/designer/response-form.design.component.d.ts +7 -1
- package/types/dynamic-form/src/designer/use-designer-rules.d.ts +1 -1
- package/types/dynamic-form/src/property-config/form.property-config.d.ts +9 -0
- package/types/dynamic-form/src/schema/schema-mapper.d.ts +1 -0
- package/types/dynamic-form/src/schema/schema-resolver.d.ts +1 -0
- package/types/dynamic-form/src/types.d.ts +12 -1
- package/types/dynamic-resolver/index.d.ts +1 -0
- package/types/dynamic-resolver/src/common/toolbar-resolver.d.ts +1 -1
- package/types/dynamic-resolver/src/event-handler-resolver.d.ts +4 -0
- package/types/dynamic-resolver/src/types.d.ts +9 -0
- package/types/dynamic-view/index.d.ts +1 -0
- package/types/dynamic-view/src/event-dispatcher.d.ts +1 -1
- package/types/external-container/src/designer/use-designer-rules.d.ts +3 -3
- package/types/index.d.ts +2 -0
- package/types/layout/src/designer/layout-pane-use-designer-rules.d.ts +3 -3
- package/types/list-nav/src/designer/use-designer-rules.d.ts +3 -0
- package/types/lookup/src/components/favorite/lookup-favorite.component.d.ts +29 -0
- package/types/lookup/src/components/favorite/lookup-favorite.props.d.ts +15 -0
- package/types/lookup/src/components/modal-container.component.d.ts +25 -0
- package/types/lookup/src/components/modal-container.props.d.ts +29 -0
- package/types/lookup/src/composition/types.d.ts +8 -0
- package/types/lookup/src/composition/use-check-props.d.ts +9 -2
- package/types/lookup/src/composition/use-dialog.d.ts +5 -1
- package/types/lookup/src/composition/use-favorite.d.ts +12 -0
- package/types/lookup/src/composition/use-http.d.ts +9 -5
- package/types/lookup/src/composition/use-input-change.d.ts +3 -0
- package/types/lookup/src/composition/use-user-data.d.ts +24 -0
- package/types/lookup/src/property-config/lookup.property-config.d.ts +6 -4
- package/types/mapping-editor/src/mapping-editor.component.d.ts +3 -0
- package/types/mapping-editor/src/mapping-editor.props.d.ts +0 -1
- package/types/modal/src/composition/use-draggable.d.ts +2 -1
- package/types/modal/src/composition/use-shortcut.d.ts +6 -0
- package/types/modal/src/modal.component.d.ts +3 -0
- package/types/modal/src/modal.props.d.ts +4 -0
- package/types/page-header/src/page-header.props.d.ts +1 -0
- package/types/pagination/src/components/buttons/goto-buttons.component.d.ts +2 -2
- package/types/pagination/src/components/buttons/next-buttons.component.d.ts +2 -2
- package/types/pagination/src/components/buttons/previous-buttons.component.d.ts +2 -2
- package/types/pagination/src/components/pages/page-list.component.d.ts +2 -2
- package/types/pagination/src/components/pages/page-number.component.d.ts +2 -2
- package/types/property-panel/index.d.ts +2 -1
- package/types/property-panel/src/composition/entity/base-property.d.ts +8 -0
- package/types/property-panel/src/composition/entity/input-base-property.d.ts +20 -1
- package/types/query-solution/src/designer/query-solution-config/composition/types.d.ts +34 -27
- package/types/query-solution/src/designer/query-solution-config/composition/use-panel.d.ts +2 -16
- package/types/{data-grid/src/designer/use-group-column.d.ts → query-solution/src/designer/query-solution-config/composition/use-property.d.ts} +4 -5
- package/types/query-solution/src/designer/query-solution-config/composition/use-querysolution-rules.d.ts +3 -0
- package/types/query-solution/src/designer/query-solution-config/composition/use-transfer.d.ts +1 -1
- package/types/query-solution/src/property-config/query-solution.property-config.d.ts +60 -0
- package/types/query-solution/src/solutions.d.ts +108 -509
- package/types/response-layout-editor/index.d.ts +3 -1
- package/types/response-layout-editor/src/composition/converter/use-response-layout-editor-setting.d.ts +2 -0
- package/types/response-layout-editor/src/type.d.ts +21 -0
- package/types/response-toolbar/src/designer/use-designer-rules.d.ts +3 -3
- package/types/response-toolbar/src/property-config/response-toolbar-item.property-config.d.ts +1 -0
- package/types/section/src/designer/use-designer-rules.d.ts +3 -3
- package/types/splitter/src/components/splitter-pane.component.d.ts +1 -1
- package/types/splitter/src/designer/splitter-pane-use-designer-rules.d.ts +3 -3
- package/types/splitter/src/designer/splitter-use-designer-rules.d.ts +3 -3
- package/types/tabs/src/designer/tab-page-use-designer-rules.d.ts +3 -3
- package/types/tabs/src/designer/tab-use-designer-rules.d.ts +3 -3
- package/types/tabs/src/tabs.props.d.ts +1 -0
- package/types/tree-grid/index.d.ts +8 -2
- package/types/tree-grid/src/tree-grid.component.d.ts +3 -1
- package/types/designer-canvas/src/composition/rule/use-drag-drop-rules.d.ts +0 -19
- package/types/designer-canvas/src/composition/use-dragula-common-rule.d.ts +0 -4
- package/types/list-nav/src/composition/use-designer-rules.d.ts +0 -3
- package/types/modal/src/composition/use-esc.d.ts +0 -1
- package/types/query-solution/src/designer/query-solution-config/composition/mock-data.d.ts +0 -6
- package/types/response-layout-editor/src/composition/converter/response-layout-editor.converter.d.ts +0 -3
- package/types/response-layout-editor/src/composition/converter/use-convert-property-value.d.ts +0 -20
|
@@ -1 +1 @@
|
|
|
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
|
+
(function(I,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("vue"),require("lodash-es"),require("../list-view/index.umd.js"),require("../button-edit/index.umd.js"),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","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js"],a):(I=typeof globalThis<"u"?globalThis:I||self,a(I["combo-list"]={},I.Vue,I.LodashES,I.FListView,I.FButtonEdit,I.dynamicResolver,I.designerCanvas))})(this,function(I,a,w,R,W,H,T){"use strict";var Pe=Object.defineProperty;var Le=(I,a,w)=>a in I?Pe(I,a,{enumerable:!0,configurable:!0,writable:!0,value:w}):I[a]=w;var v=(I,a,w)=>Le(I,typeof a!="symbol"?a+"":a,w);const z={},X={};function A(e){const{properties:n,title:o,ignore:i}=e,l=i&&Array.isArray(i),s=Object.keys(n).reduce((u,p)=>((!l||!i.find(f=>f==p))&&(u[p]=n[p].type==="object"&&n[p].properties?A(n[p]):w.cloneDeep(n[p].default)),u),{});return o&&(!l||!i.find(u=>u=="id"))&&(s.id=`${o}-${Date.now()}`),s}function J(e,n){const o=A(n);return Object.keys(e).reduce((i,l)=>(i[l]&&w.isPlainObject(i[l])&&w.isPlainObject(e[l])?Object.assign(i[l],e[l]):i[l]=e[l],i),o),o}function _(e,n){return Object.keys(e).filter(i=>e[i]!=null).reduce((i,l)=>{if(n.has(l)){const s=n.get(l);if(typeof s=="string")i[s]=e[l];else{const u=s(l,e[l],e);Object.assign(i,u)}}else i[l]=e[l];return i},{})}function Q(e,n,o=new Map){const i=J(e,n);return _(i,o)}function Y(e={}){function n(c,d,t,r){if(typeof t=="number")return r[c].length===t;if(typeof t=="object"){const m=Object.keys(t)[0],y=t[m];if(m==="not")return Number(r[c].length)!==Number(y);if(m==="moreThan")return Number(r[c].length)>=Number(y);if(m==="lessThan")return Number(r[c].length)<=Number(y)}return!1}function o(c,d,t,r){return r[c]&&r[c].propertyValue&&String(r[c].propertyValue.value)===String(t)}const i=new Map([["length",n],["getProperty",o]]);Object.keys(e).reduce((c,d)=>(c.set(d,e[d]),c),i);function l(c,d){const t=c;return typeof d=="number"?[{target:t,operator:"length",param:null,value:Number(d)}]:typeof d=="boolean"?[{target:t,operator:"getProperty",param:c,value:!!d}]:typeof d=="object"?Object.keys(d).map(r=>{if(r==="length")return{target:t,operator:"length",param:null,value:d[r]};const m=r,y=d[r];return{target:t,operator:"getProperty",param:m,value:y}}):[]}function s(c){return Object.keys(c).reduce((t,r)=>{const m=l(r,c[r]);return t.push(...m),t},[])}function u(c,d){if(i.has(c.operator)){const t=i.get(c.operator);return t&&t(c.target,c.param,c.value,d)||!1}return!1}function p(c,d){return s(c).reduce((m,y)=>m&&u(y,d),!0)}function f(c,d){const t=Object.keys(c),r=t.includes("allOf"),m=t.includes("anyOf"),y=r||m,b=(y?c[y?r?"allOf":"anyOf":"allOf"]:[c]).map(k=>p(k,d));return r?!b.includes(!1):b.includes(!0)}return{parseValueSchema:f}}const h={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"}},Z={},K={};Y();function $(e,n,o=new Map,i=(u,p,f)=>p,l={},s=u=>u){return z[n.title]=n,X[n.title]=i,Z[n.title]=l,K[n.title]=s,(u={})=>{const p=Q(u,n,o),f=Object.keys(e).reduce((c,d)=>(c[d]=e[d].default,c),{});return Object.assign(f,p)}}function ee(e,n){return{customClass:n.class,customStyle:n.style}}const te=new Map([["appearance",ee]]),ne={$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 oe(e,n,o){return n}var N=(e=>(e.Text="text",e.Tag="tag",e))(N||{}),U=(e=>(e.top="top",e.bottom="bottom",e.auto="auto",e))(U||{});const V={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}},P=$(V,ne,te,oe),ie={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:Object,default:!1},enableHighlightSearch:{type:Boolean,default:!0}},le=a.defineComponent({name:"FComboListContainer",props:ie,emits:["selectionChange"],setup(e,n){const o=a.ref(),i=a.ref(e.dataSource),l=a.ref([]),s=a.ref(e.separator),u=a.ref(e.width),p=a.ref(e.maxHeight),f=a.ref(String(e.selectedValues).split(s.value)),c=a.computed(()=>e.multiSelect),d=a.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:c.value,showSelectAll:!1,showSelection:!0}));a.watch(e.dataSource,()=>{i.value=e.dataSource});const t=a.computed(()=>e.enableSearch?"SearchBar":"ContentHeader"),r=a.computed(()=>{const g={};return u.value!==void 0&&(g.width=`${u.value}px`),p.value!==void 0&&p.value>0&&(g.maxHeight=`${p.value}px`),g});function m(g){l.value=g.map(C=>Object.assign({},C)),f.value=g.map(C=>C[e.idField]),n.emit("selectionChange",l.value)}function y(g){if(e.enableHighlightSearch)return;let C=[];typeof e.searchOption=="function"?C=i.value.filter(b=>e.searchOption(g,b)):C=i.value.filter(b=>b[e.valueField].indexOf(g)>-1||b[e.textField].indexOf(g)>-1),o.value.updateDataSource(C)}return a.watch([()=>e.selectedValues],([g])=>{f.value=g.split(s.value)}),()=>a.createVNode("div",{class:"f-combo-list-container pl-1",style:r.value},[a.createVNode(R,{ref:o,size:"small",itemClass:"f-combo-list-item",header:t.value,headerClass:"f-combo-list-search-box",data:i.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:d.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:f.value,onSelectionChange:m,onAfterSearch:y},null)])}});function ae(e){const n=a.ref(""),o=a.ref(e.modelValue),i=a.ref(e.data||[]),l=a.ref(e.editable);function s(t){const r=String(t).split(e.separator),m=r.map(C=>[C,!0]),y=new Map(m);return i.value.filter(C=>y.has(String(C[e.valueField]))).sort((C,b)=>{const S=r.indexOf(C[e.valueField]),k=r.indexOf(b[e.valueField]);return S-k})}function u(t){const r=s(t).map(m=>m[e.textField]).join(e.separator);n.value=l.value?r||t:r}function p(t){const r=t.split(e.separator).map(y=>[y,!0]),m=new Map(r);return i.value.filter(y=>m.has(y[e.textField]))}function f(t){const r={};return r[e.idField]=t,r[e.textField]=t,[r]}function c(t){let r=p(t);const m=r&&r.length>0;return l.value&&!m&&(r=f(t)),r}function d(){const{url:t,method:r="GET",headers:m={},body:y=null}=e.remote,g=r.toLowerCase()=="get"?{method:r,headers:m}:{method:r,headers:m,body:y};let C=!1;fetch(t,g).then(b=>{var k,B;if(b.status===200)return C=!!((B=(k=b.headers)==null?void 0:k.get("content-type"))!=null&&B.includes("application/json")),C?b.text():b.json();throw new Error(b.statusText)}).then(b=>{i.value=C?JSON.parse(b):b}).catch(b=>{console.error(b)})}return e.remote&&d(),a.watch(()=>e.data,()=>{i.value=e.data}),a.watch([i],([t])=>{if(e.modelValue!=null){const r=t.find(m=>m[e.valueField]===e.modelValue);r&&(n.value=r[e.textField])}}),a.watch(()=>e.modelValue,t=>{o.value=t,u(t)}),u(e.modelValue),{dataSource:i,displayText:n,editable:l,modelValue:o,getItemsByDisplayText:p,getItemsByValue:s,getSelectedItemsByDisplayText:c}}const O=a.defineComponent({name:"FComboList",props:V,emits:["clear","update:modelValue","change","input"],setup(e,n){const o=a.ref(),i=a.ref(e.disabled),l=a.ref(e.enableClear),s=a.ref(e.enableSearch),u=a.ref(e.readonly),{dataSource:p,displayText:f,editable:c,modelValue:d,getSelectedItemsByDisplayText:t}=ae(e),r=a.computed(()=>e.multiSelect),m=a.computed(()=>o.value?o.value.elementRef.getBoundingClientRect().width:0);function y(){!r.value&&o.value&&o.value.hidePopup()}function g(F){f.value=F.map(M=>M[e.textField]).join(e.separator),F.length===1?d.value=F[0][e.valueField]:d.value=F.map(M=>M[e.valueField]).join(e.separator),n.emit("update:modelValue",d.value),n.emit("change",F,d.value),y()}function C(){u.value||o.value.togglePopup()}function b(F){d.value="",n.emit("update:modelValue",""),n.emit("clear")}function S(F){const M=t(F);g(M)}function k(){return f.value}function B(F){n.emit("input",F)}return n.expose({getDisplayText:k}),a.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([F,M,L,j,D])=>{i.value=F,c.value=M,l.value=L,s.value=j,u.value=D}),()=>a.createVNode(W,{ref:o,id:e.id,disable:i.value,readonly:u.value,forcePlaceholder:e.forcePlaceholder,editable:c.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:f.value,"onUpdate:modelValue":F=>f.value=F,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:b,onClick:C,onChange:S,onInput:B,beforeOpen:e.beforeOpen},{default:()=>[a.createVNode(le,{idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:p.value,selectedValues:d.value,multiSelect:e.multiSelect,enableSearch:s.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?m.value:void 0,onSelectionChange:g},null)]})}}),re=new Map([["appearance",H.resolveAppearance]]);function se(e,n,o){return n}const ce={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/button-edit.schema.json",title:"button-edit",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"button-edit"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",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:""},readonly:{description:"",type:"boolean",default:!1},require:{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:""},autoComplete:{description:"",type:"boolean",default:!1},buttonContent:{description:"",type:"string",default:""},enableClear:{description:"",type:"boolean",default:!0},inputType:{description:"",type:"string",enum:["text","tag"],default:"text"},multiSelect:{description:"",type:"boolean",default:!1},popup:{description:"",type:"object",properties:{footerButtons:{type:"array",default:[]},height:{type:"number",default:600},dataMapping:{type:"object"},contents:{type:"array",default:[]},showMaxButton:{type:"boolean",default:!0},showCloseButton:{type:"boolean",default:!0},showFooter:{type:"boolean",default:!0},title:{type:"string",default:""},width:{type:"number",default:800}}},separator:{type:"string",default:","},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},wrapText:{type:"boolean",default:!1},onClear:{description:"",type:"string",default:""}},required:["id","type"]},de={title:"buttonEdit",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}},behavior:{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean"},readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中对齐"},{value:"right",name:"右对齐"}]}}}}}},G={id:String,buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:Number,tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null},updateOn:{type:String,default:"change"}};$(G,ce,re,se,de);const ue={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},pe=a.defineComponent({name:"FOverlay",props:ue,emits:["click"],setup(e,n){const o=a.ref(e.popupContentPosition),i=a.ref(e.host),l=a.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function s(p){n.emit("click"),p.preventDefault(),p.stopPropagation()}a.computed(()=>{const p=i.value;if(p){const f=p.getBoundingClientRect(),{left:c,top:d,height:t}=f;return{left:c,top:d+t}}return o.value});const u=a.computed(()=>({}));return()=>a.createVNode(a.Teleport,{to:"body"},{default:()=>{var p,f;return[a.createVNode("div",{class:"overlay-container",onClick:c=>s(c),style:l.value},[a.createVNode("div",{style:u.value},[(f=(p=n.slots).default)==null?void 0:f.call(p)])])]}})}});function fe(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function me(e){const n=document.createElement("div");n.style.display="contents";let o;const i=e.onClickCallback||(()=>{}),l=()=>{i(),o&&o.unmount()};return o=a.createApp({setup(){a.onUnmounted(()=>{document.body.removeChild(n)});const s=fe(e);return()=>a.createVNode(pe,{"popup-content-position":e.popupPosition,host:e.host,onClick:l,backgroundColor:e.backgroundColor},{default:()=>[s&&s()]})}}),document.body.appendChild(n),o.mount(n),o}class ye{static show(n){return me(n)}}const ge=Symbol("FModalService");function q(e,n){function o(){const i=e.beforeOpen||e.beforeClickButton||null;let l=Promise.resolve(!0);if(i){const s=i(n.value);if(typeof s>"u")return l;typeof s=="boolean"?l=Promise.resolve(s):l=s}return l}return{judgeCanOpen:o}}function he(e,n,o,i,l){const s=a.ref(e.buttonBehavior),u=a.ref(e.popupOnInput),p=a.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:f}=q(e,l),c=a.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),d=a.inject(ge,null),t=a.ref();async function r(g){if(await f()&&c.value){const C=!!n.slots.default;if(s.value==="Modal"){const b=e.modalOptions,S=d==null?void 0:d.open({...b,render:()=>n.slots.default&&n.slots.default()});t.value=S==null?void 0:S.modalRef}s.value==="Overlay"&&ye.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>n.slots.default&&n.slots.default()}),C&&s.value==="Popup"&&i.togglePopup(!0),C&&u.value&&i.hidePopup(),n.emit("clickButton",{origin:g,value:e.modelValue})}}function m(g){n.emit("mouseEnterIcon",g)}function y(g){n.emit("mouseLeaveIcon",g)}return{buttonGroupClass:p,onClickButton:r,onMouseEnterButton:m,onMouseLeaveButton:y,modalRef:t}}function be(e,n,o,i){const l=a.ref(),s=a.ref(!1),{judgeCanOpen:u}=q(e,i);function p(){const t=l.value;t&&t.show(o.value)}async function f(t=!1){if(!!n.slots.default){if(!t&&!s.value&&!await u())return;s.value=!s.value,await a.nextTick(),p()}}async function c(t=!1){if(!!n.slots.default){if(!t&&!await u())return;s.value=!0,await a.nextTick(),p()}}function d(){s.value=!1}return{hidePopup:d,popup:c,shouldPopupContent:s,togglePopup:f,popoverRef:l}}function Ce(e,n,o){const{buttonGroupClass:i}=o,l=a.ref();return{renderButtonGroup:()=>a.createVNode("div",{id:`${e.id}-button-group`,class:i.value},[n.slots.buttonContent?a.createVNode("span",{class:"input-group-text input-group-append-button"},[n.slots.buttonContent()]):e.buttonContent?a.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:l},null):null]),buttonHandleElement:l}}const ve=a.defineComponent({name:"FButtonEdit",props:G,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,n){const o=a.ref(),i=a.inject("design-item-context"),l=T.useDesignerComponent(o,i),s=a.ref(e.customClass),u=a.ref(e.modelValue),p=be(e,n,o,u),f=he(e,n,o,p,u),c=a.ref(),d=a.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disable":!0,"f-state-editable":!1,"f-state-readonly":!0}));a.onMounted(()=>{o.value.componentInstance=l}),n.expose(l.value);const t=a.computed(()=>{const m={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return s.value&&s.value.split(" ").reduce((y,g)=>(y[g]=!0,y),m),m}),{renderButtonGroup:r}=Ce(e,n,f);return()=>a.createVNode("div",a.mergeProps(n.attrs,{ref:o,class:t.value,id:e.id}),[a.createVNode("div",{class:d.value},[a.createVNode("input",{ref:c,class:"form-control",readonly:!0,placeholder:e.placeholder},null),r()])])}});function Se(e,n){e.schema;const o=a.ref(!0),i=a.ref(!0);function l(t){return!1}function s(){return!1}function u(){return!1}function p(){return!0}function f(t){}function c(){}function d(t){return null}return{canAccepts:l,checkCanDeleteComponent:s,checkCanMoveComponent:u,hideNestedPaddingInDesginerView:p,onAcceptMovedChildElement:f,resolveComponentContext:c,triggerBelongedComponentToMoveWhenMoved:o,triggerBelongedComponentToDeleteWhenDeleted:i,getPropsConfig:d}}class Ie{constructor(n,o){v(this,"componentId");v(this,"viewModelId");v(this,"eventsEditorUtils");v(this,"formSchemaUtils");v(this,"formMetadataConverter");v(this,"designViewModelUtils");v(this,"designViewModelField");v(this,"controlCreatorUtils");v(this,"designerHostService");v(this,"schemaService",null);v(this,"metadataService",null);v(this,"propertyConfig",{type:"object",categories:{}});var i;this.componentId=n,this.designerHostService=o,this.eventsEditorUtils=o.eventsEditorUtils,this.formSchemaUtils=o.formSchemaUtils,this.formMetadataConverter=o.formMetadataConverter,this.viewModelId=((i=this.formSchemaUtils)==null?void 0:i.getViewModelIdByComponentId(n))||"",this.designViewModelUtils=o.designViewModelUtils,this.controlCreatorUtils=o.controlCreatorUtils,this.metadataService=o.metadataService,this.schemaService=o.schemaService}getTableInfo(){var n;return(n=this.schemaService)==null?void 0:n.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(n){const o=n.binding&&n.binding.type==="Form"&&n.binding.field;if(o){if(!this.designViewModelField){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(l=>l.id===o)}n.updateOn=this.designViewModelField.updateOn}}changeFieldEditorType(n,o){}getBasicPropConfig(n){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:n.type,name:h[n.type].name}]}}}}}getAppearanceConfig(n=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(n,o){const i=o&&o.parent&&o.parent.schema;if(!i)return;const l=i.contents.findIndex(u=>u.id===n),s=w.cloneDeep(i.contents[l]);i.contents.splice(l,1),i.contents.splice(l,0,s)}}const x=class x{static getEditorTypesByMDataType(n){const o=x.fieldControlTypeMapping[n];return o||[{key:"",value:""}]}static getAllInputTypes(){const n=[];for(let o in x.fieldControlTypeMapping)x.fieldControlTypeMapping[o].forEach(i=>{n.find(l=>l.key===i.key&&l.value===i.value)||n.push({key:i.key,value:i.value})});return n}};v(x,"fieldControlTypeMapping",{String:[{key:h["input-group"].type,value:h["input-group"].name},{key:h.lookup.type,value:h.lookup.name},{key:h["date-picker"].type,value:h["date-picker"].name},{key:h["check-box"].type,value:h["check-box"].name},{key:h["check-group"].type,value:h["check-group"].name},{key:h["radio-group"].type,value:h["radio-group"].name},{key:h["combo-list"].type,value:h["combo-list"].name},{key:h.textarea.type,value:h.textarea.name}],Text:[{key:h.textarea.type,value:h.textarea.name},{key:h.lookup.type,value:h.lookup.name}],Decimal:[{key:h["number-spinner"].type,value:h["number-spinner"].name}],Integer:[{key:h["number-spinner"].type,value:h["number-spinner"].name}],Number:[{key:h["number-spinner"].type,value:h["number-spinner"].name}],BigNumber:[{key:h["number-spinner"].type,value:h["number-spinner"].name}],Date:[{key:h["date-picker"].type,value:h["date-picker"].name}],DateTime:[{key:h["date-picker"].type,value:h["date-picker"].name}],Boolean:[{key:h.switch.type,value:h.switch.name},{key:h["check-box"].type,value:h["check-box"].name}],Enum:[{key:h["combo-list"].type,value:h["combo-list"].name},{key:h["radio-group"].type,value:h["radio-group"].name}],Object:[{key:h.lookup.type,value:h.lookup.name},{key:h["combo-list"].type,value:h["combo-list"].name},{key:h["radio-group"].type,value:h["radio-group"].name}]});let E=x;const Fe=a.ref(0);class ke{constructor(){v(this,"label","");v(this,"id","");v(this,"columnInSM",12);v(this,"columnInMD",6);v(this,"columnInLG",3);v(this,"columnInEL",2);v(this,"displayWidthInSM",1);v(this,"displayWidthInMD",1);v(this,"displayWidthInLG",1);v(this,"displayWidthInEL",1);v(this,"displayColumnCountAtBreakPoint","md");v(this,"tagRow",0);v(this,"showTopBorder",0);v(this,"group",1);v(this,"isSupportedClass",!0);v(this,"fieldSetId","")}}function we(e){let n,o;const i=new Map;let l=[];function s(d,t){const m=d.split(" ").filter(S=>S.startsWith("col-"));if(m.length===0){t.isSupportedClass=!1;return}let y=m.find(S=>/^col-([1-9]|10|11|12)$/.test(S)),g=m.find(S=>/^col-md-([1-9]|10|11|12)$/.test(S)),C=m.find(S=>/^col-xl-([1-9]|10|11|12)$/.test(S)),b=m.find(S=>/^col-el-([1-9]|10|11|12)$/.test(S));y=y||"col-12",t.columnInSM=parseInt(y.replace("col-",""),10),t.displayWidthInSM=t.columnInSM/12,t.displayWidthInSM!==1&&(t.isSupportedClass=!1),g=g||"col-md-"+t.columnInSM,t.columnInMD=parseInt(g.replace("col-md-",""),10),t.displayWidthInMD=t.columnInMD/6,[1,2].includes(t.displayWidthInMD)||(t.isSupportedClass=!1),C=C||"col-xl-"+t.columnInMD,t.columnInLG=parseInt(C.replace("col-xl-",""),10),t.displayWidthInLG=t.columnInLG/3,[1,2,3,4].includes(t.displayWidthInLG)||(t.isSupportedClass=!1),b=b||"col-el-"+t.columnInLG,t.columnInEL=parseInt(b.replace("col-el-",""),10),t.displayWidthInEL=t.columnInEL/2,[1,2,3,4,5,6].includes(t.displayWidthInEL)||(t.isSupportedClass=!1)}function u(d,t,r,m=!1){let y=!1;d.contents.forEach(g=>{if(g.type==="fieldset"){r+=1,u(g,t,r,!0),y=!0;return}y&&(r+=1,y=!1);const C=g.appearance&&g.appearance.class,b=new ke;C?s(C,b):b.isSupportedClass=!1,b.label=g.label||g.id,b.id=g.id,b.group=r,m&&(b.fieldSetId=d.id),o===g.id&&(n=r),i.set(g.id,g),t.push(b)})}function p(d){const t=e.getComponentById(d);if(!t||!t.componentType||!t.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const r=e.selectNode(t,m=>m.type===T.DgControl["response-form"].type);return!r||!r.contents||r.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:r}}function f(d,t){t=t||d.id;const{result:r,message:m,formNode:y}=p(t);if(!r)return{result:r,message:m};o=d.id,l=[],i.clear();const g=y.contents[0].type===T.DgControl.fieldset.type?0:1;u(y,l,g);const C=l.find(S=>!S.isSupportedClass);return{defaultState:{defaultGroupNumber:n||1,model:C?"customize":"standard"},importData:l}}function c(d,t){t=t;const{result:r,formNode:m}=p(t);if(!r)return"";const y=[];return d.forEach(g=>{var S;const C=i.get(g.id),b=C.appearance&&C.appearance.class;if(b){const B=b.split(" ").filter(Ee=>!Ee.startsWith("col-")),F="col-"+g.columnInSM,M="col-md-"+g.columnInMD,L="col-xl-"+g.columnInLG,j="col-el-"+g.columnInEL,D=[F,M,L,j].concat(B);C.appearance.class=D.join(" ")}if(g.fieldSetId){const k=m.contents.find(F=>F.id===g.fieldSetId),B=y.find(F=>F.id===g.fieldSetId);B?(S=B.contents)==null||S.push(C):(y.push(k),k.contents=[C])}else y.push(C)}),m.contents=y,m.id}return{checkCanFindFormNode:p,checkCanOpenLayoutEditor:f,changeFormControlsByResponseLayoutConfig:c,getResonseFormLayoutConfig:u}}class Be extends Ie{constructor(o,i){super(o,i);v(this,"responseLayoutEditorFunction");this.responseLayoutEditorFunction=we(this.formSchemaUtils)}getPropertyConfig(o,i){return this.propertyConfig.categories.basic=this.getBasicProperties(o,i),this.propertyConfig.categories.appearance=this.getAppearanceProperties(o,i),this.propertyConfig.categories.editor=this.getEditorProperties(o),this.propertyConfig}getBasicProperties(o,i){var p;var l=this;this.setDesignViewModelField(o);const s=this.formSchemaUtils.getFormMetadataBasicInfo(),u=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:l.designViewModelField?E.getEditorTypesByMDataType((p=l.designViewModelField.type)==null?void 0:p.name):E.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:o,formBasicInfo:s},columns:[{field:"name",title:"字段名称"},{field:"bindingField",title:"绑定字段"},{field:"fieldType",title:"字段类型"}],textField:"bindingField",data:u}}},setPropertyRelates(f,c){if(f)switch(f&&f.propertyID){case"type":{l.changeControlType(o,f,i);break}case"label":{f.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(o,i){var l=this;return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",initialState:l.responseLayoutEditorFunction.checkCanOpenLayoutEditor(o,l.componentId)}}},setPropertyRelates(s,u){if(s)switch(s&&s.propertyID){case"responseLayout":l.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(s.propertyValue,l.componentId||o.id),l.updateUnifiedLayoutAfterResponseLayoutChanged(l.componentId),l.updateElementByParentContainer(o.id,i),delete o.responseLayout;break;case"class":l.updateUnifiedLayoutAfterControlChanged(s.propertyValue,o.id,this.componentId),l.updateElementByParentContainer(o.id,i);break}}}}getEditorProperties(o){return this.getComponentConfig(o)}changeControlType(o,i,l){var d,t,r,m;const s=i.propertyValue,u=l&&l.parent&&l.parent.schema;if(!u)return;const p=u.contents.findIndex(y=>y.id===o.id),f=u.contents[p];let c;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:s},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),c=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,s)),c||(c=this.controlCreatorUtils.createFormGroupWithoutField(s)),Object.assign(c,{id:f.id,appearance:f.appearance,size:f.size,label:f.label,binding:f.binding,visible:f.visible}),Object.assign(c.editor,{isTextArea:c.isTextArea&&f.isTextArea,placeholder:(d=f.editor)==null?void 0:d.placeholder,holdPlace:(t=f.editor)==null?void 0:t.holdPlace,readonly:(r=f.editor)==null?void 0:r.readonly,require:(m=f.editor)==null?void 0:m.require}),u.contents.splice(p,1),u.contents.splice(p,0,c),l.schema=Object.assign(f,c),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(y=>y.classList.remove("dgComponentSelected")),Fe.value++}getComponentConfig(o,i={},l={}){const s=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},i),u=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},l);return{...s,properties:{...u}}}updateUnifiedLayoutAfterControlChanged(o,i,l){const s=o.split(" ");let u=s.find(t=>/^col-([1-9]|10|11|12)$/.test(t)),p=s.find(t=>/^col-md-([1-9]|10|11|12)$/.test(t)),f=s.find(t=>/^col-xl-([1-9]|10|11|12)$/.test(t)),c=s.find(t=>/^col-el-([1-9]|10|11|12)$/.test(t));u=u||"col-12",p=p||"col-md-"+u.replace("col-",""),f=f||"col-xl-"+p.replace("col-md-",""),c=c||"col-el-"+f.replace("col-xl-","");const d={id:i,columnInSM:parseInt(u.replace("col-",""),10),columnInMD:parseInt(p.replace("col-md-",""),10),columnInLG:parseInt(f.replace("col-xl-",""),10),columnInEL:parseInt(c.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(l,d)}updateUnifiedLayoutAfterResponseLayoutChanged(o,i){const{formNode:l}=this.responseLayoutEditorFunction.checkCanFindFormNode(o);if(!l||!l.unifiedLayout)return;const s=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(l,s,1),i){const y=s.find(g=>g.id===i.id);Object.assign(y||{},i)}const u=s.map(y=>y.columnInSM),p=s.map(y=>y.columnInMD),f=s.map(y=>y.columnInLG),c=s.map(y=>y.columnInEL),d=this.checkIsUniqueColumn(u)?u[0]:null,t=this.checkIsUniqueColumn(p)?p[0]:null,r=this.checkIsUniqueColumn(f)?f[0]:null,m=this.checkIsUniqueColumn(c)?c[0]:null;Object.assign(l.unifiedLayout,{uniqueColClassInSM:d,uniqueColClassInMD:t,uniqueColClassInLG:r,uniqueColClassInEL:m})}checkIsUniqueColumn(o){const i=new Set(o);return Array.from(i).length===1}}class Me extends Be{constructor(n,o){super(n,o)}getEditorProperties(n){return this.getComponentConfig(n,{type:"combo-list"},{editable:{description:"",title:"允许编辑",type:"boolean"},textField:{description:"",title:"数据源显示字段",type:"string"},idField:{description:"",title:"数据源值字段",type:"string"}})}}function xe(e,n){const{canAccepts:o,checkCanDeleteComponent:i,checkCanMoveComponent:l,hideNestedPaddingInDesginerView:s,onAcceptMovedChildElement:u,resolveComponentContext:p,triggerBelongedComponentToMoveWhenMoved:f,triggerBelongedComponentToDeleteWhenDeleted:c}=Se(e),d=e.schema;function t(r,m){return new Me(r,n).getPropertyConfig(d,m)}return{canAccepts:o,checkCanDeleteComponent:i,checkCanMoveComponent:l,hideNestedPaddingInDesginerView:s,onAcceptMovedChildElement:u,resolveComponentContext:p,triggerBelongedComponentToMoveWhenMoved:f,triggerBelongedComponentToDeleteWhenDeleted:c,getPropsConfig:t}}const Oe=a.defineComponent({name:"FComboListDesign",props:V,emits:["clear","update:modelValue","change"],setup(e,n){const o=a.ref(),i=a.inject("designer-host-service"),l=a.inject("design-item-context"),s=xe(l,i),u=T.useDesignerComponent(o,l,s);return a.onMounted(()=>{o.value.componentInstance=u}),n.expose(u.value),()=>a.createVNode(ve,{ref:o,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}}),Te=e=>{const n=e;return n.install=function(o){o.component(n.name,e)},e};O.register=(e,n,o,i)=>{e["combo-list"]=O,n["combo-list"]=P},O.registerDesigner=(e,n,o)=>{e["combo-list"]=Oe,n["combo-list"]=P};const Ve=Te(O);I.FComboList=O,I.Placement=U,I.ViewType=N,I.comboListProps=V,I.default=Ve,I.propsResolver=P,Object.defineProperties(I,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
@@ -1,104 +1,104 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import
|
|
3
|
-
import { cloneDeep as
|
|
4
|
-
import
|
|
5
|
-
import { withInstall as
|
|
6
|
-
const
|
|
1
|
+
import { defineComponent as B, ref as y, inject as M, computed as v, onMounted as I, createVNode as S, watch as h } from "vue";
|
|
2
|
+
import k from "../button-edit/index.esm.js";
|
|
3
|
+
import { isPlainObject as O, cloneDeep as N } from "lodash-es";
|
|
4
|
+
import D from "../tree-view/index.esm.js";
|
|
5
|
+
import { withInstall as E } from "../common/index.esm.js";
|
|
6
|
+
const H = {}, R = {};
|
|
7
7
|
function V(e) {
|
|
8
|
-
const { properties: l, title: d, ignore:
|
|
9
|
-
return (!u || !
|
|
8
|
+
const { properties: l, title: d, ignore: r } = e, u = r && Array.isArray(r), f = Object.keys(l).reduce((s, c) => ((!u || !r.find((p) => p == c)) && (s[c] = l[c].type === "object" && l[c].properties ? V(l[c]) : N(l[c].default)), s), {});
|
|
9
|
+
return d && (!u || !r.find((s) => s == "id")) && (f.id = `${d}-${Date.now()}`), f;
|
|
10
10
|
}
|
|
11
|
-
function
|
|
11
|
+
function $(e, l) {
|
|
12
12
|
const d = V(l);
|
|
13
|
-
return Object.keys(e).reduce((
|
|
13
|
+
return Object.keys(e).reduce((r, u) => (r[u] && O(r[u]) && O(e[u]) ? Object.assign(r[u], e[u]) : r[u] = e[u], r), d), d;
|
|
14
14
|
}
|
|
15
|
-
function
|
|
16
|
-
return Object.keys(e).filter((
|
|
15
|
+
function A(e, l) {
|
|
16
|
+
return Object.keys(e).filter((r) => e[r] != null).reduce((r, u) => {
|
|
17
17
|
if (l.has(u)) {
|
|
18
18
|
const f = l.get(u);
|
|
19
19
|
if (typeof f == "string")
|
|
20
|
-
|
|
20
|
+
r[f] = e[u];
|
|
21
21
|
else {
|
|
22
22
|
const s = f(u, e[u], e);
|
|
23
|
-
Object.assign(
|
|
23
|
+
Object.assign(r, s);
|
|
24
24
|
}
|
|
25
25
|
} else
|
|
26
|
-
|
|
27
|
-
return
|
|
26
|
+
r[u] = e[u];
|
|
27
|
+
return r;
|
|
28
28
|
}, {});
|
|
29
29
|
}
|
|
30
|
-
function
|
|
31
|
-
const
|
|
32
|
-
return
|
|
30
|
+
function L(e, l, d = /* @__PURE__ */ new Map()) {
|
|
31
|
+
const r = $(e, l);
|
|
32
|
+
return A(r, d);
|
|
33
33
|
}
|
|
34
|
-
function
|
|
35
|
-
function l(n, t, a,
|
|
34
|
+
function q(e = {}) {
|
|
35
|
+
function l(n, t, a, o) {
|
|
36
36
|
if (typeof a == "number")
|
|
37
|
-
return
|
|
37
|
+
return o[n].length === a;
|
|
38
38
|
if (typeof a == "object") {
|
|
39
|
-
const
|
|
40
|
-
if (
|
|
41
|
-
return Number(
|
|
42
|
-
if (
|
|
43
|
-
return Number(
|
|
44
|
-
if (
|
|
45
|
-
return Number(
|
|
39
|
+
const i = Object.keys(a)[0], m = a[i];
|
|
40
|
+
if (i === "not")
|
|
41
|
+
return Number(o[n].length) !== Number(m);
|
|
42
|
+
if (i === "moreThan")
|
|
43
|
+
return Number(o[n].length) >= Number(m);
|
|
44
|
+
if (i === "lessThan")
|
|
45
|
+
return Number(o[n].length) <= Number(m);
|
|
46
46
|
}
|
|
47
47
|
return !1;
|
|
48
48
|
}
|
|
49
|
-
function d(n, t, a,
|
|
50
|
-
return
|
|
49
|
+
function d(n, t, a, o) {
|
|
50
|
+
return o[n] && o[n].propertyValue && String(o[n].propertyValue.value) === String(a);
|
|
51
51
|
}
|
|
52
|
-
const
|
|
52
|
+
const r = /* @__PURE__ */ new Map([
|
|
53
53
|
["length", l],
|
|
54
54
|
["getProperty", d]
|
|
55
55
|
]);
|
|
56
|
-
Object.keys(e).reduce((n, t) => (n.set(t, e[t]), n),
|
|
56
|
+
Object.keys(e).reduce((n, t) => (n.set(t, e[t]), n), r);
|
|
57
57
|
function u(n, t) {
|
|
58
58
|
const a = n;
|
|
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((
|
|
60
|
-
if (
|
|
61
|
-
return { target: a, operator: "length", param: null, value: t[
|
|
62
|
-
const
|
|
63
|
-
return { target: a, operator: "getProperty", param:
|
|
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((o) => {
|
|
60
|
+
if (o === "length")
|
|
61
|
+
return { target: a, operator: "length", param: null, value: t[o] };
|
|
62
|
+
const i = o, m = t[o];
|
|
63
|
+
return { target: a, operator: "getProperty", param: i, value: m };
|
|
64
64
|
}) : [];
|
|
65
65
|
}
|
|
66
66
|
function f(n) {
|
|
67
|
-
return Object.keys(n).reduce((a,
|
|
68
|
-
const
|
|
69
|
-
return a.push(...
|
|
67
|
+
return Object.keys(n).reduce((a, o) => {
|
|
68
|
+
const i = u(o, n[o]);
|
|
69
|
+
return a.push(...i), a;
|
|
70
70
|
}, []);
|
|
71
71
|
}
|
|
72
72
|
function s(n, t) {
|
|
73
|
-
if (
|
|
74
|
-
const a =
|
|
73
|
+
if (r.has(n.operator)) {
|
|
74
|
+
const a = r.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
79
|
function c(n, t) {
|
|
80
|
-
return f(n).reduce((
|
|
80
|
+
return f(n).reduce((i, m) => i && s(m, t), !0);
|
|
81
81
|
}
|
|
82
82
|
function p(n, t) {
|
|
83
|
-
const a = Object.keys(n),
|
|
84
|
-
return
|
|
83
|
+
const a = Object.keys(n), o = a.includes("allOf"), i = a.includes("anyOf"), m = o || i, g = (m ? n[m ? o ? "allOf" : "anyOf" : "allOf"] : [n]).map((F) => c(F, t));
|
|
84
|
+
return o ? !g.includes(!1) : g.includes(!0);
|
|
85
85
|
}
|
|
86
86
|
return { parseValueSchema: p };
|
|
87
87
|
}
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
function
|
|
91
|
-
return
|
|
92
|
-
const c =
|
|
88
|
+
const U = {}, W = {};
|
|
89
|
+
q();
|
|
90
|
+
function z(e, l, d = /* @__PURE__ */ new Map(), r = (s, c, p) => c, u = {}, f = (s) => s) {
|
|
91
|
+
return H[l.title] = l, R[l.title] = r, U[l.title] = u, W[l.title] = f, (s = {}) => {
|
|
92
|
+
const c = L(s, l, d), p = Object.keys(e).reduce((n, t) => (n[t] = e[t].default, n), {});
|
|
93
93
|
return Object.assign(p, c);
|
|
94
94
|
};
|
|
95
95
|
}
|
|
96
|
-
function
|
|
96
|
+
function G(e, l) {
|
|
97
97
|
return { customClass: l.class, customStyle: l.style };
|
|
98
98
|
}
|
|
99
|
-
const
|
|
100
|
-
["appearance",
|
|
101
|
-
]),
|
|
99
|
+
const J = /* @__PURE__ */ new Map([
|
|
100
|
+
["appearance", G]
|
|
101
|
+
]), Q = "https://json-schema.org/draft/2020-12/schema", X = "https://farris-design.gitee.io/combo-list.schema.json", Y = "combo-tree", Z = "A Farris Input Component", _ = "object", K = {
|
|
102
102
|
id: {
|
|
103
103
|
description: "The unique identifier for a combo list",
|
|
104
104
|
type: "string"
|
|
@@ -106,7 +106,7 @@ const G = /* @__PURE__ */ new Map([
|
|
|
106
106
|
type: {
|
|
107
107
|
description: "The type string of number combo list component",
|
|
108
108
|
type: "string",
|
|
109
|
-
default: "combo-
|
|
109
|
+
default: "combo-tree"
|
|
110
110
|
},
|
|
111
111
|
appearance: {
|
|
112
112
|
description: "",
|
|
@@ -209,23 +209,23 @@ const G = /* @__PURE__ */ new Map([
|
|
|
209
209
|
type: "sting",
|
|
210
210
|
default: ""
|
|
211
211
|
}
|
|
212
|
-
},
|
|
212
|
+
}, ee = [
|
|
213
213
|
"id",
|
|
214
214
|
"type"
|
|
215
|
-
],
|
|
216
|
-
$schema:
|
|
217
|
-
$id:
|
|
218
|
-
title:
|
|
219
|
-
description:
|
|
220
|
-
type:
|
|
221
|
-
properties:
|
|
222
|
-
required:
|
|
215
|
+
], te = {
|
|
216
|
+
$schema: Q,
|
|
217
|
+
$id: X,
|
|
218
|
+
title: Y,
|
|
219
|
+
description: Z,
|
|
220
|
+
type: _,
|
|
221
|
+
properties: K,
|
|
222
|
+
required: ee
|
|
223
223
|
};
|
|
224
|
-
function
|
|
224
|
+
function ae(e, l, d) {
|
|
225
225
|
return l;
|
|
226
226
|
}
|
|
227
|
-
var
|
|
228
|
-
const
|
|
227
|
+
var ne = /* @__PURE__ */ ((e) => (e.Text = "text", e.Tag = "tag", e))(ne || {}), le = /* @__PURE__ */ ((e) => (e.top = "top", e.bottom = "bottom", e.auto = "auto", e))(le || {});
|
|
228
|
+
const j = {
|
|
229
229
|
/**
|
|
230
230
|
* 组件标识
|
|
231
231
|
*/
|
|
@@ -306,7 +306,7 @@ const B = {
|
|
|
306
306
|
/**
|
|
307
307
|
* 绑定值
|
|
308
308
|
*/
|
|
309
|
-
modelValue: {},
|
|
309
|
+
modelValue: { type: String, default: "" },
|
|
310
310
|
/**
|
|
311
311
|
* 占位符
|
|
312
312
|
*/
|
|
@@ -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
|
-
},
|
|
380
|
+
}, ie = z(j, te, J, ae), re = {
|
|
381
381
|
data: { type: Array, default: [] },
|
|
382
382
|
enableSearch: { type: Boolean, default: !1 },
|
|
383
383
|
idField: { type: String, default: "id" },
|
|
@@ -393,55 +393,55 @@ const B = {
|
|
|
393
393
|
maxHeight: { type: Number, default: 350 },
|
|
394
394
|
repositoryToken: { type: Symbol, default: null },
|
|
395
395
|
editorParams: { type: Object }
|
|
396
|
-
},
|
|
396
|
+
}, oe = /* @__PURE__ */ B({
|
|
397
397
|
name: "FComboTreeContainer",
|
|
398
|
-
props:
|
|
398
|
+
props: re,
|
|
399
399
|
emits: ["selectionChange"],
|
|
400
400
|
setup(e, l) {
|
|
401
|
-
const d = y(e.data),
|
|
401
|
+
const d = y(e.data), r = 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
|
-
e.repositoryToken && (n =
|
|
403
|
+
e.repositoryToken && (n = M(e.repositoryToken));
|
|
404
404
|
const t = v(() => [{
|
|
405
405
|
field: e.textField,
|
|
406
406
|
title: "",
|
|
407
407
|
dataType: "string",
|
|
408
408
|
formatter: e.formatter
|
|
409
409
|
}]), a = v(() => {
|
|
410
|
-
const
|
|
411
|
-
return f.value !== void 0 && (
|
|
410
|
+
const i = {};
|
|
411
|
+
return f.value !== void 0 && (i.width = `${f.value}px`), s.value !== void 0 && (i.height = `${s.value}px`), c.value !== void 0 && c.value > 0 && (i.maxHeight = `${c.value}px`, i.overflow = "auto"), i;
|
|
412
412
|
});
|
|
413
|
-
function
|
|
414
|
-
|
|
413
|
+
function o(i) {
|
|
414
|
+
r.value = i.map((m) => Object.assign({}, m)), p.value = i.map((m) => m[e.idField]), l.emit("selectionChange", r.value);
|
|
415
415
|
}
|
|
416
|
-
return
|
|
417
|
-
n && n.getData(e.editorParams).then((
|
|
418
|
-
d.value =
|
|
416
|
+
return I(() => {
|
|
417
|
+
n && n.getData(e.editorParams).then((i) => {
|
|
418
|
+
d.value = i;
|
|
419
419
|
});
|
|
420
420
|
}), () => S("div", {
|
|
421
421
|
class: "f-combo-tree-container",
|
|
422
422
|
style: a.value
|
|
423
|
-
}, [S(
|
|
423
|
+
}, [S(D, {
|
|
424
424
|
data: d.value,
|
|
425
425
|
idField: e.idField,
|
|
426
426
|
columns: t.value,
|
|
427
427
|
"selection-values": p.value,
|
|
428
|
-
onSelectionChange:
|
|
428
|
+
onSelectionChange: o
|
|
429
429
|
}, null)]);
|
|
430
430
|
}
|
|
431
431
|
});
|
|
432
|
-
function
|
|
433
|
-
const l = y(""), d = y(e.modelValue),
|
|
432
|
+
function ue(e) {
|
|
433
|
+
const l = y(""), d = y(e.modelValue), r = y(e.data || []), u = y(e.editable);
|
|
434
434
|
function f(t) {
|
|
435
|
-
const a = String(t).split(e.separator).map((
|
|
436
|
-
return
|
|
435
|
+
const a = String(t).split(e.separator).map((i) => [i, !0]), o = new Map(a);
|
|
436
|
+
return r.value.filter((i) => i.data ? o.has(String(i.data[e.valueField])) : o.has(String(i[e.valueField]))).map((i) => i.data ? i.data : i);
|
|
437
437
|
}
|
|
438
438
|
function s(t) {
|
|
439
|
-
const a = f(t).map((
|
|
439
|
+
const a = f(t).map((o) => o[e.textField]).join(e.separator);
|
|
440
440
|
l.value = u.value ? a || t : a;
|
|
441
441
|
}
|
|
442
442
|
function c(t) {
|
|
443
|
-
const a = t.split(e.separator).map((
|
|
444
|
-
return
|
|
443
|
+
const a = t.split(e.separator).map((i) => [i, !0]), o = new Map(a);
|
|
444
|
+
return r.value.filter((i) => o.has(i[e.textField]));
|
|
445
445
|
}
|
|
446
446
|
function p(t) {
|
|
447
447
|
const a = {};
|
|
@@ -449,39 +449,39 @@ function oe(e) {
|
|
|
449
449
|
}
|
|
450
450
|
function n(t) {
|
|
451
451
|
let a = c(t);
|
|
452
|
-
const
|
|
453
|
-
return u.value && !
|
|
452
|
+
const o = a && a.length > 0;
|
|
453
|
+
return u.value && !o && (a = p(t)), a;
|
|
454
454
|
}
|
|
455
455
|
return h(() => e.data, () => {
|
|
456
|
-
|
|
457
|
-
}), h([
|
|
456
|
+
r.value = e.data;
|
|
457
|
+
}), h([r], ([t]) => {
|
|
458
458
|
if (e.modelValue) {
|
|
459
|
-
const a = t.find((
|
|
459
|
+
const a = t.find((o) => o[e.valueField] === e.modelValue);
|
|
460
460
|
a && (l.value = a[e.textField]);
|
|
461
461
|
}
|
|
462
462
|
}), h(() => e.modelValue, (t) => {
|
|
463
463
|
d.value = t, s(t);
|
|
464
|
-
}), s(e.modelValue), { dataSource:
|
|
464
|
+
}), s(e.modelValue), { dataSource: r, displayText: l, editable: u, modelValue: d, getItemsByDisplayText: c, getItemsByValue: f, getSelectedItemsByDisplayText: n };
|
|
465
465
|
}
|
|
466
|
-
const C = /* @__PURE__ */
|
|
466
|
+
const C = /* @__PURE__ */ B({
|
|
467
467
|
name: "FComboTree",
|
|
468
|
-
props:
|
|
468
|
+
props: j,
|
|
469
469
|
emits: ["clear", "update:modelValue", "change"],
|
|
470
470
|
setup(e, l) {
|
|
471
471
|
return () => {
|
|
472
|
-
const d = y(),
|
|
472
|
+
const d = y(), r = y(e.disabled), u = y(e.enableClear), f = y(e.enableSearch), s = y(e.readonly), {
|
|
473
473
|
dataSource: c,
|
|
474
474
|
displayText: p,
|
|
475
475
|
editable: n,
|
|
476
476
|
modelValue: t,
|
|
477
477
|
getSelectedItemsByDisplayText: a
|
|
478
|
-
} =
|
|
478
|
+
} = ue(e), o = v(() => e.multiSelect);
|
|
479
479
|
v(() => d.value ? d.value.elementRef.getBoundingClientRect().width : 0);
|
|
480
|
-
function
|
|
481
|
-
!
|
|
480
|
+
function i() {
|
|
481
|
+
!o.value && d.value && d.value.hidePopup();
|
|
482
482
|
}
|
|
483
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),
|
|
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), i();
|
|
485
485
|
}
|
|
486
486
|
function x(g) {
|
|
487
487
|
t.value = "", l.emit("update:modelValue", ""), l.emit("clear");
|
|
@@ -490,12 +490,12 @@ const C = /* @__PURE__ */ O({
|
|
|
490
490
|
const b = a(g);
|
|
491
491
|
m(b);
|
|
492
492
|
}
|
|
493
|
-
return h([() => e.disabled, () => e.editable, () => e.enableClear, () => e.enableSearch, () => e.readonly], ([g, b, F,
|
|
494
|
-
|
|
495
|
-
}), S(
|
|
493
|
+
return h([() => e.disabled, () => e.editable, () => e.enableClear, () => e.enableSearch, () => e.readonly], ([g, b, F, P, w]) => {
|
|
494
|
+
r.value = g, n.value = b, u.value = F, f.value = P, s.value = w;
|
|
495
|
+
}), S(k, {
|
|
496
496
|
ref: d,
|
|
497
497
|
id: e.id,
|
|
498
|
-
disable:
|
|
498
|
+
disable: r.value,
|
|
499
499
|
readonly: s.value,
|
|
500
500
|
forcePlaceholder: e.forcePlaceholder,
|
|
501
501
|
editable: n.value,
|
|
@@ -514,7 +514,7 @@ const C = /* @__PURE__ */ O({
|
|
|
514
514
|
focusOnCreated: e.focusOnCreated,
|
|
515
515
|
selectOnCreated: e.selectOnCreated
|
|
516
516
|
}, {
|
|
517
|
-
default: () => [S(
|
|
517
|
+
default: () => [S(oe, {
|
|
518
518
|
maxHeight: e.maxHeight,
|
|
519
519
|
idField: e.idField,
|
|
520
520
|
valueField: e.valueField,
|
|
@@ -531,15 +531,15 @@ const C = /* @__PURE__ */ O({
|
|
|
531
531
|
};
|
|
532
532
|
}
|
|
533
533
|
});
|
|
534
|
-
C.register = (e, l, d,
|
|
535
|
-
e["combo-tree"] = C, l["combo-tree"] =
|
|
534
|
+
C.register = (e, l, d, r) => {
|
|
535
|
+
e["combo-tree"] = C, l["combo-tree"] = ie;
|
|
536
536
|
};
|
|
537
|
-
const
|
|
537
|
+
const ye = E(C);
|
|
538
538
|
export {
|
|
539
539
|
C as FComboTree,
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
540
|
+
le as Placement,
|
|
541
|
+
ne as ViewType,
|
|
542
|
+
j as comboTreeProps,
|
|
543
|
+
ye as default,
|
|
544
|
+
ie as propsResolver
|
|
545
545
|
};
|