@farris/ui-vue 1.2.7 → 1.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/accordion/index.esm.js +136 -136
- package/components/accordion/index.umd.cjs +1 -1
- package/components/avatar/index.esm.js +418 -456
- package/components/avatar/index.umd.cjs +1 -1
- package/components/border-editor/index.esm.js +4 -4
- package/components/border-editor/index.umd.cjs +1 -1
- package/components/button/index.esm.js +1 -1
- package/components/button/index.umd.cjs +1 -1
- package/components/button-edit/index.esm.js +363 -436
- package/components/button-edit/index.umd.cjs +1 -1
- package/components/button-group/index.esm.js +5 -5
- package/components/button-group/index.umd.cjs +1 -1
- package/components/calendar/index.esm.js +417 -417
- package/components/calendar/index.umd.cjs +1 -1
- package/components/capsule/index.esm.js +176 -176
- package/components/capsule/index.umd.cjs +1 -1
- package/components/checkbox/index.esm.js +557 -594
- package/components/checkbox/index.umd.cjs +1 -1
- package/components/color-picker/index.esm.js +119 -119
- package/components/color-picker/index.umd.cjs +2 -2
- package/components/combo-list/index.esm.js +502 -535
- package/components/combo-list/index.umd.cjs +1 -1
- package/components/combo-tree/index.esm.js +69 -69
- package/components/combo-tree/index.umd.cjs +1 -1
- package/components/component/index.esm.js +387 -275
- package/components/component/index.umd.cjs +1 -1
- package/components/condition/index.esm.js +1219 -983
- package/components/condition/index.umd.cjs +1 -1
- package/components/content-container/index.esm.js +292 -219
- package/components/content-container/index.umd.cjs +1 -1
- package/components/data-grid/index.css +1 -1
- package/components/data-grid/index.esm.js +5718 -5546
- package/components/data-grid/index.umd.cjs +1 -1
- package/components/data-view/index.esm.js +3291 -2930
- package/components/data-view/index.umd.cjs +1 -1
- package/components/date-picker/index.esm.js +2650 -2682
- package/components/date-picker/index.umd.cjs +1 -1
- package/components/dependent-base/style.js +1 -0
- package/components/dependent-fluid/style.js +1 -0
- package/components/dependent-icon/style.js +1 -0
- package/components/dependent-input/style.js +1 -0
- package/components/dependent-table/style.js +1 -0
- package/components/designer-canvas/index.css +1 -1
- package/components/designer-canvas/index.esm.js +945 -932
- package/components/designer-canvas/index.umd.cjs +1 -1
- package/components/designer-outline/index.css +1 -1
- package/components/designer-outline/index.esm.js +175 -133
- package/components/designer-outline/index.umd.cjs +1 -1
- package/components/designer-toolbox/index.esm.js +36 -12
- package/components/designer-toolbox/index.umd.cjs +1 -1
- package/components/discussion-editor/index.esm.js +1 -1
- package/components/discussion-editor/index.umd.cjs +1 -1
- package/components/dropdown/index.esm.js +246 -246
- package/components/dropdown/index.umd.cjs +2 -2
- package/components/dynamic-form/index.esm.js +1319 -1172
- package/components/dynamic-form/index.umd.cjs +1 -1
- package/components/dynamic-resolver/index.esm.js +119 -82
- package/components/dynamic-resolver/index.umd.cjs +1 -1
- package/components/dynamic-view/index.esm.js +258 -249
- package/components/dynamic-view/index.umd.cjs +1 -1
- package/components/enum-editor/index.esm.js +3 -3
- package/components/enum-editor/index.umd.cjs +1 -1
- package/components/events-editor/index.esm.js +569 -514
- package/components/events-editor/index.umd.cjs +1 -1
- package/components/expression-editor/index.esm.js +104 -104
- package/components/expression-editor/index.umd.cjs +1 -1
- package/components/external-container/index.css +1 -1
- package/components/external-container/index.esm.js +3122 -2686
- package/components/external-container/index.umd.cjs +1 -1
- package/components/field-selector/index.css +1 -1
- package/components/field-selector/index.esm.js +6780 -6608
- package/components/field-selector/index.umd.cjs +1 -1
- package/components/filter-bar/index.css +1 -1
- package/components/filter-bar/index.esm.js +1466 -1523
- package/components/filter-bar/index.umd.cjs +1 -1
- package/components/flow-canvas/index.css +1 -1
- package/components/flow-canvas/index.esm.js +1048 -1035
- package/components/flow-canvas/index.umd.cjs +1 -1
- package/components/image-cropper/index.esm.js +422 -422
- package/components/image-cropper/index.umd.cjs +1 -1
- package/components/input-group/index.esm.js +674 -716
- package/components/input-group/index.umd.cjs +1 -1
- package/components/layout/index.esm.js +291 -291
- package/components/layout/index.umd.cjs +1 -1
- package/components/list-nav/index.esm.js +303 -230
- package/components/list-nav/index.umd.cjs +1 -1
- package/components/list-view/index.css +1 -1
- package/components/list-view/index.esm.js +2486 -2130
- package/components/list-view/index.umd.cjs +1 -1
- package/components/lookup/index.css +1 -1
- package/components/lookup/index.esm.js +7474 -7272
- package/components/lookup/index.umd.cjs +1 -1
- package/components/mapping-editor/index.css +1 -1
- package/components/mapping-editor/index.esm.js +6139 -5949
- package/components/mapping-editor/index.umd.cjs +1 -1
- package/components/message-box/index.esm.js +1 -1
- package/components/message-box/index.umd.cjs +1 -1
- package/components/modal/index.esm.js +1 -1
- package/components/modal/index.umd.cjs +1 -1
- package/components/nav/index.esm.js +432 -371
- package/components/nav/index.umd.cjs +3 -3
- package/components/number-range/index.esm.js +1124 -0
- package/components/number-range/index.umd.cjs +1 -0
- package/components/number-range/package.json +8 -0
- package/components/number-range/style.js +6 -0
- package/components/number-spinner/index.esm.js +1155 -0
- package/components/number-spinner/index.umd.cjs +1 -0
- package/components/number-spinner/package.json +8 -0
- package/components/number-spinner/style.js +4 -0
- package/components/order/index.css +1 -1
- package/components/order/index.esm.js +1215 -1178
- package/components/order/index.umd.cjs +1 -1
- package/components/page-footer/index.esm.js +147 -147
- package/components/page-footer/index.umd.cjs +1 -1
- package/components/page-header/index.esm.js +1240 -1346
- package/components/page-header/index.umd.cjs +1 -1
- package/components/pagination/index.esm.js +489 -428
- package/components/pagination/index.umd.cjs +1 -1
- package/components/progress/index.esm.js +220 -220
- package/components/progress/index.umd.cjs +3 -3
- package/components/property-editor/index.esm.js +1512 -1540
- package/components/property-editor/index.umd.cjs +3 -3
- package/components/property-panel/index.css +1 -1
- package/components/property-panel/index.esm.js +749 -815
- package/components/property-panel/index.umd.cjs +1 -1
- package/components/query-solution/index.css +1 -0
- package/components/query-solution/index.esm.js +7074 -0
- package/components/query-solution/index.umd.cjs +1 -0
- package/components/query-solution/package.json +8 -0
- package/components/query-solution/style.js +2 -0
- package/components/radio-button/index.esm.js +86 -86
- package/components/radio-button/index.umd.cjs +1 -1
- package/components/radio-group/index.esm.js +442 -479
- package/components/radio-group/index.umd.cjs +1 -1
- package/components/rate/index.esm.js +213 -208
- package/components/rate/index.umd.cjs +1 -1
- package/components/response-layout/index.esm.js +116 -116
- package/components/response-layout/index.umd.cjs +1 -1
- package/components/response-layout-editor/index.esm.js +943 -918
- package/components/response-layout-editor/index.umd.cjs +1 -1
- package/components/response-toolbar/index.esm.js +1174 -1295
- package/components/response-toolbar/index.umd.cjs +1 -1
- package/components/schema-selector/index.css +1 -1
- package/components/schema-selector/index.esm.js +5383 -5171
- package/components/schema-selector/index.umd.cjs +2 -2
- package/components/search-box/index.esm.js +201 -201
- package/components/search-box/index.umd.cjs +1 -1
- package/components/section/index.esm.js +684 -542
- package/components/section/index.umd.cjs +1 -1
- package/components/smoke-detector/index.esm.js +121 -121
- package/components/smoke-detector/index.umd.cjs +1 -1
- package/components/spacing-editor/index.esm.js +2 -2
- package/components/spacing-editor/index.umd.cjs +1 -1
- package/components/splitter/index.esm.js +1158 -382
- package/components/splitter/index.umd.cjs +1 -1
- package/components/step/index.esm.js +232 -232
- package/components/step/index.umd.cjs +1 -1
- package/components/switch/index.esm.js +451 -487
- package/components/switch/index.umd.cjs +1 -1
- package/components/tabs/index.esm.js +2078 -2168
- package/components/tabs/index.umd.cjs +1 -1
- package/components/tags/index.esm.js +318 -320
- package/components/tags/index.umd.cjs +1 -1
- package/components/text/index.esm.js +192 -192
- package/components/text/index.umd.cjs +1 -1
- package/components/textarea/index.esm.js +471 -497
- package/components/textarea/index.umd.cjs +1 -1
- package/components/time-picker/index.esm.js +1421 -1441
- package/components/time-picker/index.umd.cjs +1 -1
- package/components/transfer/index.css +1 -1
- package/components/transfer/index.esm.js +430 -421
- package/components/transfer/index.umd.cjs +1 -1
- package/components/tree-grid/index.css +1 -1
- package/components/tree-grid/index.esm.js +6806 -6624
- package/components/tree-grid/index.umd.cjs +1 -1
- package/components/tree-view/index.esm.js +2793 -2433
- package/components/tree-view/index.umd.cjs +1 -1
- package/components/uploader/index.esm.js +165 -165
- package/components/uploader/index.umd.cjs +2 -2
- package/components/verify-detail/index.esm.js +255 -255
- package/components/verify-detail/index.umd.cjs +1 -1
- package/components/video/index.esm.js +413 -334
- package/components/video/index.umd.cjs +1 -1
- package/components/weather/index.esm.js +902 -902
- package/components/weather/index.umd.cjs +4 -4
- package/farris.all.esm.js +54155 -52847
- package/farris.all.umd.cjs +9 -9
- package/index.css +1 -1
- package/package.json +1 -1
- package/types/button-edit/src/designer/button-group.design.component.d.ts +7 -0
- package/types/checkbox/index.d.ts +1 -0
- package/types/combo-list/src/components/list-container.component.d.ts +3 -0
- package/types/combo-list/src/components/list-container.props.d.ts +5 -1
- package/types/common/entity/entity-schema.d.ts +258 -0
- package/types/component/src/component-ref.props.d.ts +4 -0
- package/types/component/src/composition/inner-component-build-info.d.ts +27 -0
- package/types/component/src/designer/use-designer-rules.d.ts +2 -2
- package/types/data-grid/index.d.ts +5 -2
- package/types/data-grid/src/composition/data-grid-component-creator.service.d.ts +33 -0
- package/types/data-grid/src/data-grid.component.d.ts +2 -1
- package/types/data-grid/src/data-grid.props.d.ts +2 -2
- package/types/data-grid/src/designer/column-header.design.component.d.ts +1 -1
- package/types/data-grid/src/designer/data-grid-column.props.d.ts +1 -0
- package/types/data-grid/src/designer/use-group-column.d.ts +20 -0
- package/types/data-grid/src/property-config/data-grid.property-config.d.ts +4 -0
- package/types/data-grid/src/schema/schema-resolver.d.ts +2 -1
- package/types/data-view/components/column-format/boolean.component.d.ts +4 -0
- package/types/data-view/components/column-format/column-format.component.d.ts +4 -0
- package/types/data-view/components/column-format/date.component.d.ts +4 -0
- package/types/data-view/components/column-format/enum.component.d.ts +4 -0
- package/types/data-view/components/column-format/number.component.d.ts +4 -0
- package/types/data-view/composition/pagination/use-pagination.d.ts +1 -0
- package/types/data-view/composition/types.d.ts +19 -7
- package/types/data-view/composition/use-edit.d.ts +2 -1
- package/types/designer-canvas/src/composition/dg-control.d.ts +16 -350
- package/types/designer-canvas/src/composition/function/use-dragula.d.ts +2 -2
- package/types/designer-canvas/src/types.d.ts +3 -3
- package/types/dynamic-form/index.d.ts +3 -1
- package/types/dynamic-form/src/composition/response-form-component-creator.service.d.ts +31 -0
- package/types/dynamic-form/src/schema/schema-resolver.d.ts +2 -1
- package/types/dynamic-form/src/types.d.ts +1 -1
- package/types/dynamic-resolver/index.d.ts +1 -0
- package/types/dynamic-resolver/src/binding-resolver.d.ts +1 -0
- package/types/dynamic-resolver/src/schema-resolver.d.ts +2 -1
- package/types/dynamic-resolver/src/types.d.ts +3 -2
- package/types/dynamic-view/src/dynamic-view.component.d.ts +1 -1
- package/types/lookup/src/property-config/lookup.property-config.d.ts +2 -1
- package/types/modal/src/modal.props.d.ts +1 -4
- package/types/property-panel/src/composition/entity/base-property.d.ts +0 -12
- package/types/property-panel/src/composition/entity/input-base-property.d.ts +11 -26
- package/types/property-panel/src/composition/entity/schema-dom-mapping.d.ts +10 -8
- package/types/response-toolbar/src/response-toolbar.props.d.ts +2 -2
- package/types/response-toolbar/src/schema/schema-mapper.d.ts +4 -0
- package/types/section/src/property-config/section.property-config.d.ts +93 -0
- package/types/section/src/schema/schema-resolver.d.ts +2 -1
- package/types/tabs/src/composition/types.d.ts +2 -2
- package/types/tabs/src/designer/tab-header-item.design.component.d.ts +3 -1
- package/types/tabs/src/designer/tab-toolbar-item.props.d.ts +19 -0
- package/types/tabs/src/property-config/tab-page.property-config.d.ts +60 -0
- package/types/tabs/src/property-config/tabs.property-config.d.ts +6 -6
- package/types/tabs/src/schema/schema-resolver.d.ts +2 -1
- package/types/tags/index.d.ts +36 -5
- package/types/tree-grid/src/designer/use-designer-rules.d.ts +3 -0
- package/types/tree-grid/src/property-config/tree-grid.property-config.d.ts +11 -0
- package/types/tree-grid/src/schema/column-resolver.d.ts +1 -1
- package/types/tree-grid/src/tree-grid.props.d.ts +8 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(v,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("lodash-es"),require("@farris/ui-vue/components/dynamic-resolver"),require("@farris/ui-vue/components/tags"),require("@farris/ui-vue/components/popover"),require("@farris/ui-vue/components/common")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","@farris/ui-vue/components/dynamic-resolver","@farris/ui-vue/components/tags","@farris/ui-vue/components/popover","@farris/ui-vue/components/common"],n):(v=typeof globalThis<"u"?globalThis:v||self,n(v["button-edit"]={},v.Vue,v.LodashES,v.dynamicResolver,v.FTags,v.FPopover,v.common))})(this,function(v,n,U,X,z,J,Q){"use strict";const D={},F={};function R(e){const{properties:t,title:a}=e,u=Object.keys(t).reduce((o,l)=>(o[l]=t[l].type==="object"&&t[l].properties?R(t[l]):U.cloneDeep(t[l].default),o),{});return u.id=`${a}-${Date.now()}`,u}function j(e,t={}){const a=D[e];if(a){let u=R(a);const o=F[e];return u=o?o({getSchemaByType:j},u,t):u,u}return null}function Y(e,t){const a=R(t);return Object.keys(e).reduce((u,o)=>(u[o]=e[o],u),a),a}function Z(e,t){return Object.keys(e).filter(u=>e[u]!=null).reduce((u,o)=>{if(t.has(o)){const l=t.get(o);if(typeof l=="string")u[l]=e[o];else{const d=l(o,e[o],e);Object.assign(u,d)}}else u[o]=e[o];return u},{})}function K(e,t,a=new Map){const u=Y(e,t);return Z(u,a)}function I(e={}){function t(r,c,i,f){if(typeof i=="number")return f[r].length===i;if(typeof i=="object"){const m=Object.keys(i)[0],h=i[m];if(m==="not")return Number(f[r].length)!==Number(h);if(m==="moreThan")return Number(f[r].length)>=Number(h);if(m==="lessThan")return Number(f[r].length)<=Number(h)}return!1}function a(r,c,i,f){return f[r]&&f[r].propertyValue&&String(f[r].propertyValue.value)===String(i)}const u=new Map([["length",t],["getProperty",a]]);Object.keys(e).reduce((r,c)=>(r.set(c,e[c]),r),u);function o(r,c){const i=r;return typeof c=="number"?[{target:i,operator:"length",param:null,value:Number(c)}]:typeof c=="boolean"?[{target:i,operator:"getProperty",param:r,value:!!c}]:typeof c=="object"?Object.keys(c).map(f=>{if(f==="length")return{target:i,operator:"length",param:null,value:c[f]};const m=f,h=c[f];return{target:i,operator:"getProperty",param:m,value:h}}):[]}function l(r){return Object.keys(r).reduce((i,f)=>{const m=o(f,r[f]);return i.push(...m),i},[])}function d(r,c){if(u.has(r.operator)){const i=u.get(r.operator);return i&&i(r.target,r.param,r.value,c)||!1}return!1}function s(r,c){return l(r).reduce((m,h)=>m&&d(h,c),!0)}function y(r,c){const i=Object.keys(r),f=i.includes("allOf"),m=i.includes("anyOf"),h=f||m,O=(h?r[h?f?"allOf":"anyOf":"allOf"]:[r]).map(E=>s(E,c));return f?!O.includes(!1):O.includes(!0)}return{parseValueSchema:y}}const ee={},te={};I();function ne(e,t,a=new Map,u=(d,s,y)=>s,o={},l=d=>d){return D[t.title]=t,F[t.title]=u,ee[t.title]=o,te[t.title]=l,(d={})=>{const s=K(d,t,a),y=Object.keys(e).reduce((r,c)=>(r[c]=e[c].default,r),{});return Object.assign(y,s)}}const oe=new Map([["appearance",X.resolveAppearance]]);function ae(e,t,a){return t}const re={$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"]},ue={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:"右对齐"}]}}}}}},V={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}},N=ne(V,re,oe,ae,ue),le={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},ie=n.defineComponent({name:"FOverlay",props:le,emits:["click"],setup(e,t){const a=n.ref(e.popupContentPosition),u=n.ref(e.host),o=n.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function l(s){t.emit("click"),s.preventDefault(),s.stopPropagation()}n.computed(()=>{const s=u.value;if(s){const y=s.getBoundingClientRect(),{left:r,top:c,height:i}=y;return{left:r,top:c+i}}return a.value});const d=n.computed(()=>({}));return()=>n.createVNode(n.Teleport,{to:"body"},{default:()=>{var s,y;return[n.createVNode("div",{class:"overlay-container",onClick:r=>l(r),style:o.value},[n.createVNode("div",{style:d.value},[(y=(s=t.slots).default)==null?void 0:y.call(s)])])]}})}});function ce(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function se(e){const t=document.createElement("div");t.style.display="contents";let a;const u=e.onClickCallback||(()=>{}),o=()=>{u(),a&&a.unmount()};return a=n.createApp({setup(){n.onUnmounted(()=>{document.body.removeChild(t)});const l=ce(e);return()=>n.createVNode(ie,{"popup-content-position":e.popupPosition,host:e.host,onClick:o,backgroundColor:e.backgroundColor},{default:()=>[l&&l()]})}}),document.body.appendChild(t),a.mount(t),a}class de{static show(t){return se(t)}}const pe=Symbol("FModalService");function L(e,t){function a(){const u=e.beforeOpen||e.beforeClickButton||null;let o=Promise.resolve(!0);if(u){const l=u(t.value);if(typeof l>"u")return o;typeof l=="boolean"?o=Promise.resolve(l):o=l}return o}return{judgeCanOpen:a}}function A(e,t,a,u,o){const l=n.ref(e.buttonBehavior),d=n.ref(e.popupOnInput),s=n.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:y}=L(e,o),r=n.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),c=n.inject(pe,null),i=n.ref();async function f(g){if(await y()&&r.value){const T=!!t.slots.default;if(l.value==="Modal"){const O=e.modalOptions,k=c==null?void 0:c.open({...O,render:()=>t.slots.default&&t.slots.default()});i.value=k==null?void 0:k.modalRef}l.value==="Overlay"&&de.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>t.slots.default&&t.slots.default()}),T&&l.value==="Popup"&&u.togglePopup(!0),T&&d.value&&u.hidePopup(),t.emit("clickButton",{origin:g,value:e.modelValue})}}function m(g){t.emit("mouseEnterIcon",g)}function h(g){t.emit("mouseLeaveIcon",g)}return{buttonGroupClass:s,onClickButton:f,onMouseEnterButton:m,onMouseLeaveButton:h,modalRef:i}}function $(e,t,a,u,o,l){const d=n.ref(!1),s=n.computed(()=>e.enableClear&&!e.readonly&&!e.disable),{changeTextBoxValue:y}=l;function r(m){d.value=m}n.watch(o,()=>{r(!!o.value)});function c(m){const h=!e.readonly&&!e.disable&&e.editable,g=!e.editable;m.stopPropagation(),(h||g)&&(y("",!1),r(!d.value),t.emit("clear"))}function i(m){if(s.value){if(!a.value){r(!1);return}!e.disable&&!e.readonly&&r(!0)}}function f(m){s.value&&r(!1)}return{enableClearButton:s,showClearButton:d,onClearValue:c,onMouseEnterTextBox:i,onMouseLeaveTextBox:f}}function q(e,t,a,u,o){const l=n.computed(()=>e.popupOnInput),d=n.computed(()=>e.popupOnFocus),{shouldPopupContent:s}=o,y=n.computed(()=>e.enableTitle?a.value:""),r=n.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),c=n.computed(()=>e.readonly||!e.editable),i=n.ref(!1),f=n.computed(()=>!e.disable&&i.value),m=n.computed(()=>({"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right","form-control":!0,"f-utils-fill":!0})),h=n.computed(()=>({"input-group":!0,"f-state-disable":e.disable,"f-state-editable":e.editable&&!e.disable&&!e.readonly,"f-state-readonly":e.readonly&&!e.disable,"f-state-focus":f.value}));function g(p,w=!0){a.value!==p&&(a.value=p,w&&t.emit("change",p),t.emit("update:modelValue",p))}function T(p){s.value=!1,g(p,!0)}n.watch(()=>e.modelValue,p=>{a.value=p});function O(p){i.value=!1,t.emit("blur",p),p.stopPropagation()}function k(p){t.emit("click",p)}function E(p){e.disable||(i.value=!0,c.value||(t.emit("focus",p),d.value&&!s.value&&o.popup()))}function M(p){t.emit("input",p.target.value);const w=p.target.value;u.value=w,a.value!==w&&g(w,!0),l.value&&!s.value&&o.popup()}function P(p){p.target.tagName!=="INPUT"&&p.preventDefault(),p.stopPropagation()}function b(p){t.emit("keydown",p)}function C(p){p.key==="Enter"&&(l.value||d.value)&&o.hidePopup(),t.emit("keyup",p)}function B(p){const w=p.target.value;p.stopPropagation(),g(w)}return{hasFocusedTextBox:f,isTextBoxReadonly:c,textBoxClass:m,textBoxPlaceholder:r,textBoxTitle:y,inputGroupClass:h,changeTextBoxValue:g,commitValue:T,onBlurTextBox:O,onClickTextBox:k,onFocusTextBox:E,onInput:M,onKeyDownTextBox:b,onKeyUpTextBox:C,onMouseDownTextBox:P,onTextBoxValueChange:B}}function G(e,t,a,u){const o=n.ref(),l=n.ref(!1),{judgeCanOpen:d}=L(e,u);function s(){const i=o.value;i&&i.show(a.value)}async function y(i=!1){if(!!t.slots.default){if(!i&&!l.value&&!await d())return;l.value=!l.value,await n.nextTick(),s()}}async function r(i=!1){if(!!t.slots.default){if(!i&&!await d())return;l.value=!0,await n.nextTick(),s()}}function c(){l.value=!1}return{hidePopup:c,popup:r,shouldPopupContent:l,togglePopup:y,popoverRef:o}}function W(e,t,a){const u=n.ref(),{isTextBoxReadonly:o,textBoxClass:l,textBoxPlaceholder:d,textBoxTitle:s,onBlurTextBox:y,onClickTextBox:r,onFocusTextBox:c,onInput:i,onKeyDownTextBox:f,onKeyUpTextBox:m,onMouseDownTextBox:h,onTextBoxValueChange:g}=a;return n.onMounted(()=>{var T,O;e.selectOnCreated&&((T=u.value)==null||T.select()),e.focusOnCreated&&((O=u.value)==null||O.focus())}),()=>n.createVNode("input",{ref:u,name:"input-group-value",autocomplete:e.autoComplete?"on":"off",class:l.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:d.value,readonly:o.value,tabindex:e.tabIndex,title:s.value,type:e.inputType,value:t.value,onBlur:y,onChange:g,onClick:r,onFocus:c,onInput:i,onKeydown:f,onKeyup:m,onMousedown:h},null)}function _(e,t,a){const u=n.ref(e.separator),{changeTextBoxValue:o}=a,l=n.computed(()=>t.value?t.value.split(u.value).map(s=>({name:s,selectable:!0})):[]);function d(s){o(s.map(y=>y.name).join(u.value),!0)}return()=>n.createVNode(z,{id:`${e.id}-tag-editor`,class:"form-control",data:l.value,showClose:!0,showInput:!0,onChange:d},null)}function H(e,t,a,u){const{buttonGroupClass:o,onClickButton:l,onMouseEnterButton:d,onMouseLeaveButton:s}=a,{enableClearButton:y,showClearButton:r,onClearValue:c}=u,i=n.ref();return{renderButtonGroup:()=>n.createVNode("div",{id:`${e.id}-button-group`,class:o.value},[y.value&&n.withDirectives(n.createVNode("span",{class:"input-group-text input-group-clear",onClick:c},[n.createVNode("i",{class:"f-icon modal_close"},null)]),[[n.vShow,r.value]]),t.slots.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",onClick:l,onMouseenter:d,onMouseleave:s},[t.slots.buttonContent()]):e.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:i,onClick:l,onMouseenter:d,onMouseleave:s},null):null]),buttonHandleElement:i}}function fe(e,t,a){const u=n.ref(e.popupMinWidth),{hidePopup:o,popoverRef:l}=a;return()=>n.createVNode(J,{id:`${e.id}-popover`,ref:l,visible:!0,placement:"bottom-left",host:e.popupHost,"keep-width-with-reference":!0,fitContent:!0,"right-boundary":e.popupRightBoundary,minWidth:u.value,offsetX:e.popupOffsetX,onHidden:o},{default:()=>{var d,s;return[(s=(d=t.slots).default)==null?void 0:s.call(d)]}})}const S=n.defineComponent({name:"FButtonEdit",props:V,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,t){const a=n.ref(),u=n.ref(e.customClass),o=n.ref(e.modelValue),l=G(e,t,a,o),{shouldPopupContent:d,hidePopup:s,togglePopup:y}=l,r=A(e,t,a,l,o),c=n.ref(""),i=q(e,t,o,c,l),{hasFocusedTextBox:f,commitValue:m,inputGroupClass:h}=i,g=$(e,t,o,f,c,i),{onMouseEnterTextBox:T,onMouseLeaveTextBox:O}=g,k=n.computed(()=>{const p={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return u.value&&u.value.split(" ").reduce((w,x)=>(w[x]=!0,w),p),p});function E(){return e.multiSelect&&e.inputType==="tag"?_(e,o,i):W(e,o,i)}let M=E();n.watch([()=>e.multiSelect,()=>e.inputType],()=>{M=E()});const{renderButtonGroup:P,buttonHandleElement:b}=H(e,t,r,g),C=fe(e,t,l),B={commitValue:m,elementRef:a,hidePopup:s,shouldPopupContent:d,togglePopup:y,openDialog:()=>{b.value&&e.buttonBehavior==="Modal"&&b.value.click()},getModal:()=>{var p;return e.buttonBehavior==="Modal"?(p=r.modalRef.value)==null?void 0:p.value:null}};return n.onMounted(()=>{a.value.componentInstance=B,window.onresize=()=>{document.body.click()}}),t.expose(B),()=>n.createVNode(n.Fragment,null,[n.createVNode("div",n.mergeProps(t.attrs,{ref:a,class:k.value,id:e.id}),[n.createVNode("div",{id:`${e.id}-input-group`,class:h.value,onMouseenter:T,onMouseleave:O},[M(),P()])]),d.value&&C()])}});function me(e,t,a){var P;function u(){}const o="",l="",d=n.ref();function s(){return(t==null?void 0:t.schema.componentType)!=="frame"}function y(){return!1}function r(){return(t==null?void 0:t.schema.componentType)!=="frame"}function c(){return(t==null?void 0:t.schema.componentType)==="frame"}function i(b){if(!b||!b.value)return null;if(b.value.schema&&b.value.schema.type==="component")return b.value;const C=n.ref(b==null?void 0:b.value.parent),B=i(C);return B||null}function f(b=t){const{componentInstance:C,designerItemElementRef:B}=b;return!C||!C.value?null:C.value.canMove?B:f(b.parent)}function m(b){return!!a}function h(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function g(){}function T(b,C){}function O(b){const{componentType:C}=b;let B=j(C,b);const p=C.toLowerCase().replace("-","_");return B&&!B.id&&B.type===C&&(B.id=`${p}_${Math.random().toString().slice(2,6)}`),B}function k(b,C){const B=String(b.getAttribute("data-controltype")),p=b.getAttribute("data-feature"),w=p?JSON.parse(p):{};w.parentComponentInstance=d.value;let x=j(B,w);const he=B.toLowerCase().replace("-","_");return x&&!x.id&&x.type===B&&(x.id=`${he}_${Math.random().toString().slice(2,6)}`),x}function E(b){}function M(...b){}return d.value={canMove:s(),canSelectParent:y(),canDelete:r(),canNested:!c(),contents:t==null?void 0:t.schema.contents,elementRef:e,parent:(P=t==null?void 0:t.parent)==null?void 0:P.componentInstance,schema:t==null?void 0:t.schema,styles:o,designerClass:l,canAccepts:m,getBelongedComponentInstance:i,getDraggableDesignItemElement:f,getDraggingDisplayText:h,getPropConfig:M,getDragScopeElement:g,onAcceptMovedChildElement:T,onAcceptNewChildElement:k,onChildElementMovedOut:E,addNewChildComponentSchema:O,updateDragAndDropRules:u,triggerBelongedComponentToMoveWhenMoved:n.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:n.ref(!1)},d}const ye=n.defineComponent({name:"FButtonEdit",props:V,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,t){const a=n.ref(),u=n.inject("design-item-context"),o=me(a,u),l=n.ref(e.customClass),d=n.ref(e.modelValue),s=G(e,t,a,d),y=A(e,t,a,s,d),r=n.ref(""),c=q(e,t,d,r,s),{hasFocusedTextBox:i,inputGroupClass:f}=c,m=$(e,t,d,i,r,c);n.onMounted(()=>{a.value.componentInstance=o}),t.expose(o.value);const h=n.computed(()=>{const E={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return l.value&&l.value.split(" ").reduce((M,P)=>(M[P]=!0,M),E),E});function g(){return e.multiSelect&&e.inputType==="tag"?_(e,d,c):W(e,d,c)}let T=g();n.watch([()=>e.multiSelect,()=>e.inputType],()=>{T=g()});const{renderButtonGroup:O,buttonHandleElement:k}=H(e,t,y,m);return()=>n.createVNode("div",n.mergeProps(t.attrs,{ref:a,class:h.value,id:e.id}),[n.createVNode("div",{class:f.value},[T(),O()])])}});S.register=(e,t,a,u)=>{e["button-edit"]=S,t["button-edit"]=N},S.registerDesigner=(e,t,a)=>{e["button-edit"]=ye,t["button-edit"]=N};const be=Q.withInstall(S);v.FButtonEdit=S,v.buttonEditProps=V,v.default=be,v.propsResolver=N,Object.defineProperties(v,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(h,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("lodash-es"),require("../dynamic-resolver/index.umd.js"),require("../tags/index.umd.js"),require("../popover/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../dynamic-resolver/index.umd.js","../tags/index.umd.js","../popover/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js"],n):(h=typeof globalThis<"u"?globalThis:h||self,n(h["button-edit"]={},h.Vue,h.LodashES,h.dynamicResolver,h.FTags,h.FPopover,h.designerCanvas,h.common))})(this,function(h,n,S,L,D,A,$,G){"use strict";const q={},W={};function I(e){const{properties:t,title:u,ignore:a}=e,o=a&&Array.isArray(a),r=Object.keys(t).reduce((d,s)=>((!o||!a.find(b=>b==s))&&(d[s]=t[s].type==="object"&&t[s].properties?I(t[s]):S.cloneDeep(t[s].default)),d),{});return(!o||!a.find(d=>d=="id"))&&(r.id=`${u}-${Date.now()}`),r}function H(e,t){const u=I(t);return Object.keys(e).reduce((a,o)=>(a[o]&&typeof a[o]=="object"?Object.assign(a[o],e[o]):a[o]=e[o],a),u),u}function _(e,t){return Object.keys(e).filter(a=>e[a]!=null).reduce((a,o)=>{if(t.has(o)){const r=t.get(o);if(typeof r=="string")a[r]=e[o];else{const d=r(o,e[o],e);Object.assign(a,d)}}else a[o]=e[o];return a},{})}function U(e,t,u=new Map){const a=H(e,t);return _(a,u)}function X(e={}){function t(l,c,i,f){if(typeof i=="number")return f[l].length===i;if(typeof i=="object"){const m=Object.keys(i)[0],g=i[m];if(m==="not")return Number(f[l].length)!==Number(g);if(m==="moreThan")return Number(f[l].length)>=Number(g);if(m==="lessThan")return Number(f[l].length)<=Number(g)}return!1}function u(l,c,i,f){return f[l]&&f[l].propertyValue&&String(f[l].propertyValue.value)===String(i)}const a=new Map([["length",t],["getProperty",u]]);Object.keys(e).reduce((l,c)=>(l.set(c,e[c]),l),a);function o(l,c){const i=l;return typeof c=="number"?[{target:i,operator:"length",param:null,value:Number(c)}]:typeof c=="boolean"?[{target:i,operator:"getProperty",param:l,value:!!c}]:typeof c=="object"?Object.keys(c).map(f=>{if(f==="length")return{target:i,operator:"length",param:null,value:c[f]};const m=f,g=c[f];return{target:i,operator:"getProperty",param:m,value:g}}):[]}function r(l){return Object.keys(l).reduce((i,f)=>{const m=o(f,l[f]);return i.push(...m),i},[])}function d(l,c){if(a.has(l.operator)){const i=a.get(l.operator);return i&&i(l.target,l.param,l.value,c)||!1}return!1}function s(l,c){return r(l).reduce((m,g)=>m&&d(g,c),!0)}function b(l,c){const i=Object.keys(l),f=i.includes("allOf"),m=i.includes("anyOf"),g=f||m,C=(g?l[g?f?"allOf":"anyOf":"allOf"]:[l]).map(O=>s(O,c));return f?!C.includes(!1):C.includes(!0)}return{parseValueSchema:b}}const z={},J={};X();function Q(e,t,u=new Map,a=(d,s,b)=>s,o={},r=d=>d){return q[t.title]=t,W[t.title]=a,z[t.title]=o,J[t.title]=r,(d={})=>{const s=U(d,t,u),b=Object.keys(e).reduce((l,c)=>(l[c]=e[c].default,l),{});return Object.assign(b,s)}}const Y=new Map([["appearance",L.resolveAppearance]]);function Z(e,t,u){return t}const K={$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"]},ee={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:"右对齐"}]}}}}}},k={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}},M=Q(k,K,Y,Z,ee),te={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},ne=n.defineComponent({name:"FOverlay",props:te,emits:["click"],setup(e,t){const u=n.ref(e.popupContentPosition),a=n.ref(e.host),o=n.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function r(s){t.emit("click"),s.preventDefault(),s.stopPropagation()}n.computed(()=>{const s=a.value;if(s){const b=s.getBoundingClientRect(),{left:l,top:c,height:i}=b;return{left:l,top:c+i}}return u.value});const d=n.computed(()=>({}));return()=>n.createVNode(n.Teleport,{to:"body"},{default:()=>{var s,b;return[n.createVNode("div",{class:"overlay-container",onClick:l=>r(l),style:o.value},[n.createVNode("div",{style:d.value},[(b=(s=t.slots).default)==null?void 0:b.call(s)])])]}})}});function oe(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function ae(e){const t=document.createElement("div");t.style.display="contents";let u;const a=e.onClickCallback||(()=>{}),o=()=>{a(),u&&u.unmount()};return u=n.createApp({setup(){n.onUnmounted(()=>{document.body.removeChild(t)});const r=oe(e);return()=>n.createVNode(ne,{"popup-content-position":e.popupPosition,host:e.host,onClick:o,backgroundColor:e.backgroundColor},{default:()=>[r&&r()]})}}),document.body.appendChild(t),u.mount(t),u}class ue{static show(t){return ae(t)}}const le=Symbol("FModalService");function R(e,t){function u(){const a=e.beforeOpen||e.beforeClickButton||null;let o=Promise.resolve(!0);if(a){const r=a(t.value);if(typeof r>"u")return o;typeof r=="boolean"?o=Promise.resolve(r):o=r}return o}return{judgeCanOpen:u}}function N(e,t,u,a,o){const r=n.ref(e.buttonBehavior),d=n.ref(e.popupOnInput),s=n.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:b}=R(e,o),l=n.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),c=n.inject(le,null),i=n.ref();async function f(y){if(await b()&&l.value){const x=!!t.slots.default;if(r.value==="Modal"){const C=e.modalOptions,v=c==null?void 0:c.open({...C,render:()=>t.slots.default&&t.slots.default()});i.value=v==null?void 0:v.modalRef}r.value==="Overlay"&&ue.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>t.slots.default&&t.slots.default()}),x&&r.value==="Popup"&&a.togglePopup(!0),x&&d.value&&a.hidePopup(),t.emit("clickButton",{origin:y,value:e.modelValue})}}function m(y){t.emit("mouseEnterIcon",y)}function g(y){t.emit("mouseLeaveIcon",y)}return{buttonGroupClass:s,onClickButton:f,onMouseEnterButton:m,onMouseLeaveButton:g,modalRef:i}}function re(e,t,u,a,o,r){const d=n.ref(!1),s=n.computed(()=>e.enableClear&&!e.readonly&&!e.disable),{changeTextBoxValue:b}=r;function l(m){d.value=m}n.watch(o,()=>{l(!!o.value)});function c(m){const g=!e.readonly&&!e.disable&&e.editable,y=!e.editable;m.stopPropagation(),(g||y)&&(b("",!1),l(!d.value),t.emit("clear"))}function i(m){if(s.value){if(!u.value){l(!1);return}!e.disable&&!e.readonly&&l(!0)}}function f(m){s.value&&l(!1)}return{enableClearButton:s,showClearButton:d,onClearValue:c,onMouseEnterTextBox:i,onMouseLeaveTextBox:f}}function ie(e,t,u,a,o){const r=n.computed(()=>e.popupOnInput),d=n.computed(()=>e.popupOnFocus),{shouldPopupContent:s}=o,b=n.computed(()=>e.enableTitle?u.value:""),l=n.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),c=n.computed(()=>e.readonly||!e.editable),i=n.ref(!1),f=n.computed(()=>!e.disable&&i.value),m=n.computed(()=>({"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right","form-control":!0,"f-utils-fill":!0})),g=n.computed(()=>({"input-group":!0,"f-state-disable":e.disable,"f-state-editable":e.editable&&!e.disable&&!e.readonly,"f-state-readonly":e.readonly&&!e.disable,"f-state-focus":f.value}));function y(p,B=!0){u.value!==p&&(u.value=p,B&&t.emit("change",p),t.emit("update:modelValue",p))}function x(p){s.value=!1,y(p,!0)}n.watch(()=>e.modelValue,p=>{u.value=p});function C(p){i.value=!1,t.emit("blur",p),p.stopPropagation()}function v(p){t.emit("click",p)}function O(p){e.disable||(i.value=!0,c.value||(t.emit("focus",p),d.value&&!s.value&&o.popup()))}function w(p){t.emit("input",p.target.value);const B=p.target.value;a.value=B,u.value!==B&&y(B,!0),r.value&&!s.value&&o.popup()}function P(p){p.target.tagName!=="INPUT"&&p.preventDefault(),p.stopPropagation()}function j(p){t.emit("keydown",p)}function V(p){p.key==="Enter"&&(r.value||d.value)&&o.hidePopup(),t.emit("keyup",p)}function E(p){const B=p.target.value;p.stopPropagation(),y(B)}return{hasFocusedTextBox:f,isTextBoxReadonly:c,textBoxClass:m,textBoxPlaceholder:l,textBoxTitle:b,inputGroupClass:g,changeTextBoxValue:y,commitValue:x,onBlurTextBox:C,onClickTextBox:v,onFocusTextBox:O,onInput:w,onKeyDownTextBox:j,onKeyUpTextBox:V,onMouseDownTextBox:P,onTextBoxValueChange:E}}function F(e,t,u,a){const o=n.ref(),r=n.ref(!1),{judgeCanOpen:d}=R(e,a);function s(){const i=o.value;i&&i.show(u.value)}async function b(i=!1){if(!!t.slots.default){if(!i&&!r.value&&!await d())return;r.value=!r.value,await n.nextTick(),s()}}async function l(i=!1){if(!!t.slots.default){if(!i&&!await d())return;r.value=!0,await n.nextTick(),s()}}function c(){r.value=!1}return{hidePopup:c,popup:l,shouldPopupContent:r,togglePopup:b,popoverRef:o}}function se(e,t,u){const a=n.ref(),{isTextBoxReadonly:o,textBoxClass:r,textBoxPlaceholder:d,textBoxTitle:s,onBlurTextBox:b,onClickTextBox:l,onFocusTextBox:c,onInput:i,onKeyDownTextBox:f,onKeyUpTextBox:m,onMouseDownTextBox:g,onTextBoxValueChange:y}=u;return n.onMounted(()=>{var x,C;e.selectOnCreated&&((x=a.value)==null||x.select()),e.focusOnCreated&&((C=a.value)==null||C.focus())}),()=>n.createVNode("input",{ref:a,name:"input-group-value",autocomplete:e.autoComplete?"on":"off",class:r.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:d.value,readonly:o.value,tabindex:e.tabIndex,title:s.value,type:e.inputType,value:t.value,onBlur:b,onChange:y,onClick:l,onFocus:c,onInput:i,onKeydown:f,onKeyup:m,onMousedown:g},null)}function ce(e,t,u){const a=n.ref(e.separator),{changeTextBoxValue:o}=u,r=n.computed(()=>t.value?t.value.split(a.value).map(s=>({name:s,selectable:!0})):[]);function d(s){o(s.map(b=>b.name).join(a.value),!0)}return()=>n.createVNode(D,{id:`${e.id}-tag-editor`,class:"form-control",data:r.value,showClose:!0,showInput:!0,onChange:d},null)}function de(e,t,u,a){const{buttonGroupClass:o,onClickButton:r,onMouseEnterButton:d,onMouseLeaveButton:s}=u,{enableClearButton:b,showClearButton:l,onClearValue:c}=a,i=n.ref();return{renderButtonGroup:()=>n.createVNode("div",{id:`${e.id}-button-group`,class:o.value},[b.value&&n.withDirectives(n.createVNode("span",{class:"input-group-text input-group-clear",onClick:c},[n.createVNode("i",{class:"f-icon modal_close"},null)]),[[n.vShow,l.value]]),t.slots.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",onClick:r,onMouseenter:d,onMouseleave:s},[t.slots.buttonContent()]):e.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:i,onClick:r,onMouseenter:d,onMouseleave:s},null):null]),buttonHandleElement:i}}function pe(e,t,u){const a=n.ref(e.popupMinWidth),{hidePopup:o,popoverRef:r}=u;return()=>n.createVNode(A,{id:`${e.id}-popover`,ref:r,visible:!0,placement:"bottom-left",host:e.popupHost,"keep-width-with-reference":!0,fitContent:!0,"right-boundary":e.popupRightBoundary,minWidth:a.value,offsetX:e.popupOffsetX,onHidden:o},{default:()=>{var d,s;return[(s=(d=t.slots).default)==null?void 0:s.call(d)]}})}const T=n.defineComponent({name:"FButtonEdit",props:k,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,t){const u=n.ref(),a=n.ref(e.customClass),o=n.ref(e.modelValue),r=F(e,t,u,o),{shouldPopupContent:d,hidePopup:s,togglePopup:b}=r,l=N(e,t,u,r,o),c=n.ref(""),i=ie(e,t,o,c,r),{hasFocusedTextBox:f,commitValue:m,inputGroupClass:g}=i,y=re(e,t,o,f,c,i),{onMouseEnterTextBox:x,onMouseLeaveTextBox:C}=y,v=n.computed(()=>{const p={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return a.value&&a.value.split(" ").reduce((B,ge)=>(B[ge]=!0,B),p),p});function O(){return e.multiSelect&&e.inputType==="tag"?ce(e,o,i):se(e,o,i)}let w=O();n.watch([()=>e.multiSelect,()=>e.inputType],()=>{w=O()});const{renderButtonGroup:P,buttonHandleElement:j}=de(e,t,l,y),V=pe(e,t,r),E={commitValue:m,elementRef:u,hidePopup:s,shouldPopupContent:d,togglePopup:b,openDialog:()=>{j.value&&e.buttonBehavior==="Modal"&&j.value.click()},getModal:()=>{var p;return e.buttonBehavior==="Modal"?(p=l.modalRef.value)==null?void 0:p.value:null}};return n.onMounted(()=>{u.value.componentInstance=E,window.onresize=()=>{document.body.click()}}),t.expose(E),()=>n.createVNode(n.Fragment,null,[n.createVNode("div",n.mergeProps(t.attrs,{ref:u,class:v.value,id:e.id}),[n.createVNode("div",{id:`${e.id}-input-group`,class:g.value,onMouseenter:x,onMouseleave:C},[w(),P()])]),d.value&&V()])}});function fe(e,t,u){const{buttonGroupClass:a}=u,o=n.ref();return{renderButtonGroup:()=>n.createVNode("div",{id:`${e.id}-button-group`,class:a.value},[t.slots.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button"},[t.slots.buttonContent()]):e.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:o},null):null]),buttonHandleElement:o}}const me=n.defineComponent({name:"FButtonEdit",props:k,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,t){const u=n.ref(),a=n.inject("design-item-context"),o=$.useDesignerComponent(u,a),r=n.ref(e.customClass),d=n.ref(e.modelValue),s=F(e,t,u,d),b=N(e,t,u,s,d),l=n.ref(),c=n.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disable":!0,"f-state-editable":!1,"f-state-readonly":!0}));n.onMounted(()=>{u.value.componentInstance=o}),t.expose(o.value);const i=n.computed(()=>{const m={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return r.value&&r.value.split(" ").reduce((g,y)=>(g[y]=!0,g),m),m}),{renderButtonGroup:f}=fe(e,t,b);return()=>n.createVNode("div",n.mergeProps(t.attrs,{ref:u,class:i.value,id:e.id}),[n.createVNode("div",{class:c.value},[n.createVNode("input",{ref:l,class:"form-control",readonly:!0,placeholder:e.placeholder},null),f()])])}});T.register=(e,t,u,a)=>{e["button-edit"]=T,t["button-edit"]=M},T.registerDesigner=(e,t,u)=>{e["button-edit"]=me,t["button-edit"]=M};const be=G.withInstall(T);h.FButtonEdit=T,h.buttonEditProps=k,h.default=be,h.propsResolver=M,Object.defineProperties(h,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ref as y, nextTick as C, createVNode as s, isVNode as w, Fragment as D, defineComponent as h, inject as M, onMounted as j } from "vue";
|
|
2
|
-
import P from "
|
|
3
|
-
import { resolveAppearance as S, createPropsResolver as F } from "
|
|
4
|
-
import R from "
|
|
5
|
-
import { useDesignerComponent as $ } from "
|
|
6
|
-
import { withInstall as G } from "
|
|
2
|
+
import P from "../button/index.esm.js";
|
|
3
|
+
import { resolveAppearance as S, createPropsResolver as F } from "../dynamic-resolver/index.esm.js";
|
|
4
|
+
import R from "../popover/index.esm.js";
|
|
5
|
+
import { useDesignerComponent as $ } from "../designer-canvas/index.esm.js";
|
|
6
|
+
import { withInstall as G } from "../common/index.esm.js";
|
|
7
7
|
const x = "https://json-schema.org/draft/2020-12/schema", O = "https://farris-design.gitee.io/button-group.schema.json", T = "button-group", q = "A Farris Component", z = "object", A = {
|
|
8
8
|
id: {
|
|
9
9
|
description: "The unique identifier for button-group",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(c,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("
|
|
1
|
+
(function(c,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("../button/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../popover/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../button/index.umd.js","../dynamic-resolver/index.umd.js","../popover/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js"],t):(c=typeof globalThis<"u"?globalThis:c||self,t(c["button-group"]={},c.Vue,c.FButton,c.dynamicResolver,c.FPopover,c.designerCanvas,c.common))})(this,function(c,t,B,v,C,w,D){"use strict";const N={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/button-group.schema.json",title:"button-group",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for button-group",type:"string"},type:{description:"The type string of button-group",type:"string",default:"button-group"},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},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]};function V(e,i,d){return i}const M=new Map([["appearance",v.resolveAppearance]]),$={title:"button-group",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:[]}}}}}},m={id:String,data:{type:Array,default:[]},disabled:{type:Boolean,default:!1},count:{type:Number,default:2},mode:{type:String,default:"default"},size:{type:String,default:"middle"},type:{type:String,default:"primary"},placement:{type:String,default:"bottom-left"}},h=v.createPropsResolver(m,N,M,V,$);function x(e,i,d){const l=t.ref(),r=t.ref(!1);function y(){const p=l.value;p&&p.show(d.value)}async function u(){r.value=!r.value,await t.nextTick(),y()}function f(){r.value=!1,i.emit("changeState",r.value)}function s(p){p.stopPropagation(),u(),i.emit("changeState",r.value)}function a(p,n){p.stopPropagation(),!n.disabled&&(r.value=!1,i.emit("change",n.id),i.emit("click",n))}function o(){r.value&&setTimeout(()=>{f()},1e3)}return{hidePopup:f,onClickDropdownButton:s,onClickDropdownMenuItem:a,onMouseleaveDropdownButton:o,popoverRef:l,shouldPopupContent:r,togglePopup:u}}function P(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}function S(e,i,d){const{hidePopup:l,onClickDropdownMenuItem:r,popoverRef:y}=d;function u(s){return t.createVNode(t.Fragment,null,[s.divider&&t.createVNode("div",{class:"dropdown-divider"},null),t.createVNode("div",{id:s.id,class:"dropdown-item"+(s.disabled?" disabled":""),onClick:a=>r(a,s)},[s.icon&&t.createVNode("i",{class:"f-icon dropdown-item-icon"+s.icon},null),t.createVNode("span",null,[s.text])])])}function f(s){let a;return t.createVNode(C,{id:`${e.id}-popover`,ref:y,visible:!0,placement:e.placement,host:i.value,fitContent:!0,onHidden:l,minWidth:120},P(a=s.map(o=>u(o)))?a:{default:()=>[a]})}return{renderDropdownMenu:f}}function j(e,i){const d=t.ref(),l=t.ref(),r=x(e,i,l),{onMouseleaveDropdownButton:y,onClickDropdownButton:u,shouldPopupContent:f}=r,{renderDropdownMenu:s}=S(e,d,r);function a(o){return t.createVNode("div",{class:"btn-group f-btn-group-dropdown",ref:d,onMouseleave:y},[t.createVNode("button",{title:"button",ref:l,type:"button",class:"f-btn-dropdown",onClick:u},[t.createVNode("span",{class:"f-icon f-icon-lookup"},null)]),f.value&&s(o)])}return{renderDropdownButton:a}}const b=t.defineComponent({name:"FButtonGroup",props:m,emits:["click","change","changeState"],setup(e,i){const d=t.ref(),l=e.data&&e.data.slice(0,e.count)||[],r=e.data&&e.data.slice(e.count)||[],y=n=>n.type||e.type,u=n=>n.disabled!==void 0?n.disabled:e.disabled,f=function(n){const g={"f-btn-ml":(n.type&&n.type!=="link"||e.type!=="link")&&e.mode==="default","btn-link":!n.type&&!e.type||e.type==="link"||n.type==="link"},k=n.type?n.type:e.type&&e.type!=="link"?e.type:"";return k&&(g[`btn-${k}`]=!0),g},s=function(){return{"position-relative":!0,"btn-group":e.mode==="group","f-btn-group-links":e.type==="link"}};function a(n,g){i.emit("change",g.id),i.emit("click",g)}function o(n){return t.createVNode(B,{disabled:u(n),id:n.id,icon:n.icon,size:e.size,type:y(n),customClass:f(n),onClick:g=>a(g,n)},{default:()=>[n.text]})}const{renderDropdownButton:p}=j(e,i);return()=>t.createVNode("div",{class:"f-btn-group",style:"position:relative;",ref:d},[t.createVNode("div",{class:s(),style:"display:inline-flex;vertical-align:middle"},[l.map(n=>o(n))]),!!r.length&&p(r)])}}),F=t.defineComponent({name:"FButtonGroupDesign",props:m,emits:["click","changeState","change","clickMenuOut"],setup(e,i){const d=t.ref(),l=t.inject("design-item-context"),r=w.useDesignerComponent(d,l);t.onMounted(()=>{d.value.componentInstance=r}),i.expose(r.value);const y=e.data&&e.data.slice(0,e.count)||[],u=e.data&&e.data.slice(e.count)||[],f=function(o){const p={btn:!0,"f-btn-ml":o.type&&o.type!=="link","btn-link":!!o.icon||!o.type,"btn-icontext":!!o.icon,disabled:o.disabled};return o.type&&(p[`btn-${o.type}`]=!0),p};function s(o){return t.createVNode("div",null,[t.createVNode("button",{type:"button",id:o.id,title:o.id,class:f(o)},[o.icon&&t.createVNode("i",{class:`f-icon ${o.icon}`},null),!o.icon&&o.text])])}const{renderDropdownButton:a}=j(e,i);return()=>t.createVNode("div",{class:"f-btn-group",style:"position:relative;",ref:d},[t.createVNode("div",{class:(e.size==="large"?"btn-group-lg":"btn-group-sm")+" btn-group f-btn-group-links"},[y.map(o=>s(o))]),!!u.length&&a(u)])}});b.register=(e,i,d,l)=>{e["button-group"]=b,i["button-group"]=h},b.registerDesigner=(e,i,d)=>{e["button-group"]=F,i["button-group"]=h};const R=D.withInstall(b);c.FButtonGroup=b,c.buttonGroupProps=m,c.default=R,c.propsResolver=h,Object.defineProperties(c,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|