@farris/ui-vue 1.3.4 → 1.3.6
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 +16 -16
- package/components/accordion/index.umd.cjs +1 -1
- package/components/avatar/index.esm.js +65 -65
- package/components/avatar/index.umd.cjs +1 -1
- package/components/button-edit/index.esm.js +13 -13
- package/components/button-edit/index.umd.cjs +1 -1
- package/components/calendar/index.esm.js +504 -490
- package/components/calendar/index.umd.cjs +1 -1
- package/components/capsule/index.esm.js +247 -233
- package/components/capsule/index.umd.cjs +1 -1
- package/components/checkbox/index.esm.js +356 -344
- package/components/checkbox/index.umd.cjs +1 -1
- package/components/color-picker/index.esm.js +159 -145
- package/components/color-picker/index.umd.cjs +2 -2
- package/components/combo-list/index.esm.js +127 -128
- package/components/combo-list/index.umd.cjs +1 -1
- package/components/combo-tree/index.esm.js +15 -15
- package/components/combo-tree/index.umd.cjs +1 -1
- package/components/component/index.esm.js +101 -87
- package/components/component/index.umd.cjs +1 -1
- package/components/condition/index.esm.js +9 -7
- package/components/condition/index.umd.cjs +1 -1
- package/components/content-container/index.esm.js +181 -167
- package/components/content-container/index.umd.cjs +1 -1
- package/components/data-grid/index.esm.js +746 -730
- package/components/data-grid/index.umd.cjs +1 -1
- package/components/data-view/index.esm.js +9 -7
- package/components/data-view/index.umd.cjs +1 -1
- package/components/date-picker/index.esm.js +789 -777
- package/components/date-picker/index.umd.cjs +1 -1
- package/components/designer-canvas/index.esm.js +3096 -3069
- package/components/designer-canvas/index.umd.cjs +1 -1
- package/components/dropdown/index.esm.js +257 -243
- package/components/dropdown/index.umd.cjs +2 -2
- package/components/dynamic-form/index.esm.js +322 -306
- package/components/dynamic-form/index.umd.cjs +1 -1
- package/components/dynamic-resolver/index.esm.js +177 -163
- package/components/dynamic-resolver/index.umd.cjs +1 -1
- package/components/event-parameter/index.esm.js +78 -82
- package/components/event-parameter/index.umd.cjs +1 -1
- package/components/events-editor/index.esm.js +501 -487
- package/components/events-editor/index.umd.cjs +1 -1
- package/components/expression-editor/index.esm.js +37 -37
- package/components/expression-editor/index.umd.cjs +1 -1
- package/components/external-container/index.esm.js +487 -472
- package/components/external-container/index.umd.cjs +1 -1
- package/components/field-selector/index.esm.js +440 -433
- package/components/field-selector/index.umd.cjs +1 -1
- package/components/filter-bar/index.esm.js +594 -587
- package/components/filter-bar/index.umd.cjs +1 -1
- package/components/flow-canvas/index.esm.js +2766 -2739
- package/components/flow-canvas/index.umd.cjs +1 -1
- package/components/image-cropper/index.esm.js +402 -388
- package/components/image-cropper/index.umd.cjs +1 -1
- package/components/input-group/index.esm.js +201 -202
- package/components/input-group/index.umd.cjs +1 -1
- package/components/layout/index.esm.js +264 -245
- package/components/layout/index.umd.cjs +1 -1
- package/components/list-nav/index.esm.js +157 -143
- package/components/list-nav/index.umd.cjs +1 -1
- package/components/list-view/index.esm.js +314 -298
- package/components/list-view/index.umd.cjs +1 -1
- package/components/lookup/index.esm.js +862 -843
- package/components/lookup/index.umd.cjs +1 -1
- package/components/mapping-editor/index.esm.js +1031 -1015
- package/components/mapping-editor/index.umd.cjs +1 -1
- package/components/nav/index.esm.js +169 -155
- package/components/nav/index.umd.cjs +2 -2
- package/components/number-range/index.esm.js +150 -137
- package/components/number-range/index.umd.cjs +1 -1
- package/components/number-spinner/index.esm.js +207 -194
- package/components/number-spinner/index.umd.cjs +1 -1
- package/components/order/index.esm.js +427 -414
- package/components/order/index.umd.cjs +1 -1
- package/components/page-footer/index.esm.js +22 -22
- package/components/page-footer/index.umd.cjs +1 -1
- package/components/page-header/index.esm.js +510 -492
- package/components/page-header/index.umd.cjs +1 -1
- package/components/pagination/index.esm.js +192 -178
- package/components/pagination/index.umd.cjs +1 -1
- package/components/progress/index.esm.js +234 -220
- package/components/progress/index.umd.cjs +3 -3
- package/components/property-editor/index.esm.js +288 -277
- package/components/property-editor/index.umd.cjs +2 -2
- package/components/property-panel/index.esm.js +62 -61
- package/components/property-panel/index.umd.cjs +1 -1
- package/components/query-solution/index.esm.js +776 -770
- package/components/query-solution/index.umd.cjs +6 -6
- package/components/radio-button/index.esm.js +64 -64
- package/components/radio-button/index.umd.cjs +1 -1
- package/components/radio-group/index.esm.js +296 -283
- package/components/radio-group/index.umd.cjs +1 -1
- package/components/rate/index.esm.js +222 -208
- package/components/rate/index.umd.cjs +1 -1
- package/components/response-layout/index.esm.js +187 -173
- package/components/response-layout/index.umd.cjs +1 -1
- package/components/response-layout-editor/index.esm.js +554 -542
- package/components/response-layout-editor/index.umd.cjs +1 -1
- package/components/response-toolbar/index.esm.js +483 -469
- package/components/response-toolbar/index.umd.cjs +1 -1
- package/components/schema-selector/index.esm.js +634 -619
- package/components/schema-selector/index.umd.cjs +2 -2
- package/components/search-box/index.esm.js +228 -214
- package/components/search-box/index.umd.cjs +1 -1
- package/components/section/index.esm.js +419 -406
- package/components/section/index.umd.cjs +1 -1
- package/components/smoke-detector/index.esm.js +162 -148
- package/components/smoke-detector/index.umd.cjs +1 -1
- package/components/splitter/index.esm.js +308 -284
- package/components/splitter/index.umd.cjs +1 -1
- package/components/step/index.esm.js +279 -265
- package/components/step/index.umd.cjs +1 -1
- package/components/switch/index.esm.js +183 -170
- package/components/switch/index.umd.cjs +1 -1
- package/components/tabs/index.esm.js +307 -294
- package/components/tabs/index.umd.cjs +1 -1
- package/components/tags/index.esm.js +320 -306
- package/components/tags/index.umd.cjs +1 -1
- package/components/text/index.esm.js +245 -231
- package/components/text/index.umd.cjs +1 -1
- package/components/textarea/index.esm.js +260 -247
- package/components/textarea/index.umd.cjs +1 -1
- package/components/time-picker/index.esm.js +409 -396
- package/components/time-picker/index.umd.cjs +1 -1
- package/components/transfer/index.esm.js +424 -410
- package/components/transfer/index.umd.cjs +1 -1
- package/components/tree-grid/index.esm.js +383 -376
- package/components/tree-grid/index.umd.cjs +1 -1
- package/components/tree-view/index.esm.js +595 -575
- package/components/tree-view/index.umd.cjs +1 -1
- package/components/uploader/index.esm.js +325 -311
- package/components/uploader/index.umd.cjs +2 -2
- package/components/verify-detail/index.esm.js +304 -290
- package/components/verify-detail/index.umd.cjs +1 -1
- package/components/video/index.esm.js +99 -85
- package/components/video/index.umd.cjs +1 -1
- package/components/weather/index.esm.js +947 -933
- package/components/weather/index.umd.cjs +4 -4
- package/farris.all.esm.js +5492 -5470
- package/farris.all.umd.cjs +13 -13
- package/index.css +1 -1
- package/package.json +1 -1
- package/types/condition/src/composition/condition-value/input-group-value.d.ts +1 -1
- package/types/entity-binding-selector/composition/use-entity-tree.d.ts +3 -0
- package/types/entity-binding-selector/composition/use-field-tree.d.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(k,m){typeof exports=="object"&&typeof module<"u"?m(exports,require("vue"),require("lodash-es"),require("../common/index.umd.js"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../common/index.umd.js","../designer-canvas/index.umd.js"],m):(k=typeof globalThis<"u"?globalThis:k||self,m(k.textarea={},k.Vue,k.LodashES,k.common,k.designerCanvas))})(this,function(k,m,B,N,x){"use strict";var pe=Object.defineProperty;var de=(k,m,B)=>m in k?pe(k,m,{enumerable:!0,configurable:!0,writable:!0,value:B}):k[m]=B;var C=(k,m,B)=>de(k,typeof m!="symbol"?m+"":m,B);const j={},q={};function A(a){const{properties:t,title:e,ignore:r}=a,n=r&&Array.isArray(r),l=Object.keys(t).reduce((s,y)=>((!n||!r.find(h=>h===y))&&(s[y]=t[y].type==="object"&&t[y].properties?A(t[y]):B.cloneDeep(t[y].default)),s),{});if(e&&(!n||!r.find(s=>s==="id"))){const s=e.toLowerCase().replace(/-/g,"_");l.id=`${s}_${Math.random().toString().slice(2,6)}`}return l}function G(a,t={},e){const r=j[a];if(r){let n=A(r);const l=q[a];return n=l?l({getSchemaByType:G},n,t,e):n,n}return null}function O(a,t){const e=A(t);return Object.keys(e).reduce((r,n)=>(r[n]&&B.isPlainObject(r[n])&&B.isPlainObject(a[n]||!a[n])?Object.assign(r[n],a[n]||{}):r[n]=a[n],r),e),e}function W(a,t){return Object.keys(a).filter(r=>a[r]!=null).reduce((r,n)=>{if(t.has(n)){const l=t.get(n);if(typeof l=="string")r[l]=a[n];else{const s=l(n,a[n],a);Object.assign(r,s)}}else r[n]=a[n];return r},{})}function z(a,t,e=new Map){const r=O(a,t);return W(r,e)}function X(a={}){function t(i,c,o,d){if(typeof o=="number")return d[i].length===o;if(typeof o=="object"){const f=Object.keys(o)[0],u=o[f];if(f==="not")return Number(d[i].length)!==Number(u);if(f==="moreThan")return Number(d[i].length)>=Number(u);if(f==="lessThan")return Number(d[i].length)<=Number(u)}return!1}function e(i,c,o,d){return d[i]&&d[i].propertyValue&&String(d[i].propertyValue.value)===String(o)}const r=new Map([["length",t],["getProperty",e]]);Object.keys(a).reduce((i,c)=>(i.set(c,a[c]),i),r);function n(i,c){const o=i;return typeof c=="number"?[{target:o,operator:"length",param:null,value:Number(c)}]:typeof c=="boolean"?[{target:o,operator:"getProperty",param:i,value:!!c}]:typeof c=="object"?Object.keys(c).map(d=>{if(d==="length")return{target:o,operator:"length",param:null,value:c[d]};const f=d,u=c[d];return{target:o,operator:"getProperty",param:f,value:u}}):[]}function l(i){return Object.keys(i).reduce((o,d)=>{const f=n(d,i[d]);return o.push(...f),o},[])}function s(i,c){if(r.has(i.operator)){const o=r.get(i.operator);return o&&o(i.target,i.param,i.value,c)||!1}return!1}function y(i,c){return l(i).reduce((f,u)=>f&&s(u,c),!0)}function h(i,c){const o=Object.keys(i),d=o.includes("allOf"),f=o.includes("anyOf"),u=d||f,v=(u?i[u?d?"allOf":"anyOf":"allOf"]:[i]).map(S=>y(S,c));return d?!v.includes(!1):v.includes(!0)}return{parseValueSchema:h}}const p={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"},"query-solution":{type:"query-solution",name:"筛选方案",icon:"QueryScheme"}},_={},H={};X();function Q(a,t,e=new Map,r=(s,y,h,i)=>y,n={},l=s=>s){return j[t.title]=t,q[t.title]=r,_[t.title]=n,H[t.title]=l,(s={})=>{const y=z(s,t,e),h=Object.keys(a).reduce((i,c)=>(i[c]=a[c].default,i),{});return Object.assign(h,y)}}function J(a,t){return{customClass:t.class,customStyle:t.style}}const Y=new Map([["appearance",J]]),Z={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/switch.schema.json",title:"textarea",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a textarea",type:"string"},type:{description:"The type string of textarea component",type:"string",default:"textarea"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0},rows:{description:"",type:"number"},showCount:{description:"",type:"boolean",default:!0}},required:["id","type"],ignore:["id","appearance","binding","visible"]};function K(a,t,e){return t}const I={autoHeight:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},autocomplete:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!1},id:{type:String,default:""},minLength:{type:Number,default:0},maxLength:{type:Number},modelValue:{type:String,default:""},placeholder:{type:String,default:""},readonly:{type:Boolean,default:!1},rows:{type:Number,default:2},showCount:{type:Boolean,default:!1},showBorder:{Type:Boolean,default:!0},tabIndex:{type:Number,default:-1}},U=Q(I,Z,Y,K),L=m.defineComponent({name:"FTextarea",props:I,emits:["update:modelValue","valueChange"],setup(a,t){const e=m.ref(),r=m.ref(a.modelValue),n=m.computed(()=>a.modelValue),l=N.useTextBox(a,t,r,n),{inputGroupClass:s,onBlur:y,onFocus:h}=l,i=N.useClear(a,t,l),{onMouseEnter:c,onMouseLeave:o,clearButtonClass:d,shouldShowClearButton:f,clearButtonStyle:u}=i,b=m.computed(()=>a.maxLength?a.maxLength:a.modelValue.length),M=S=>{var P,g;S.stopPropagation(),t.emit("update:modelValue",(P=S.target)==null?void 0:P.value),t.emit("valueChange",(g=S.target)==null?void 0:g.value)},v=S=>{S.stopPropagation(),e.value.value="",t.emit("update:modelValue",""),t.emit("valueChange","")},w=m.computed(()=>({"form-control":!0,"h-100":a.autoHeight}));return t.expose({elementRef:e}),m.onMounted(()=>{}),()=>m.createVNode("div",{class:s.value,onMouseenter:c,onMouseleave:o,style:"position:relative"},[m.withDirectives(m.createVNode("textarea",{class:w.value,id:a.id,"onUpdate:modelValue":S=>a.modelValue=S,ref:e,minlength:a.minLength,maxlength:a.maxLength?a.maxLength:null,tabindex:a.tabIndex,disabled:a.disabled,readonly:a.readonly,autocomplete:a.autocomplete,placeholder:a.placeholder,autofocus:a.autofocus,rows:a.rows,onInput:M,onFocus:h,onBlur:y},null),[[m.vModelText,a.modelValue]]),f.value&&m.createVNode("span",{id:"clearIcon",class:d.value,style:u.value,onClick:S=>v(S)},[m.createVNode("i",{class:"f-icon modal_close"},null)]),a.showCount&&m.createVNode("span",{style:"position: absolute;bottom: 5px;right: 10px"},[`${a.modelValue.length}/${b.value}`])])}});function R(a,t,e){var P;const r=e&&e.getStyles&&e.getStyles()||"",n=e&&e.getDesignerClass&&e.getDesignerClass()||"",l=m.ref();function s(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:e&&e.checkCanMoveComponent?e.checkCanMoveComponent():!0}function y(){return!1}function h(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:e&&e.checkCanDeleteComponent?e.checkCanDeleteComponent():!0}function i(){return(t==null?void 0:t.schema.componentType)==="frame"?!0:e&&e.hideNestedPaddingInDesginerView?e.hideNestedPaddingInDesginerView():!1}function c(g){if(!g||!g.value)return null;if(g.value.schema&&g.value.schema.type==="component")return g.value;const T=m.ref(g==null?void 0:g.value.parent),F=c(T);return F||null}function o(g=t){const{componentInstance:T,designerItemElementRef:F}=g;return!T||!T.value?null:T.value.canMove?F:o(g.parent)}function d(g){return!!e&&e.canAccepts(g)}function f(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function u(){}function b(g,T){T&&e!=null&&e.onAcceptMovedChildElement&&e.onAcceptMovedChildElement(T)}function M(g,T){const{componentType:F}=g;let V=G(F,g,T);e&&e.onResolveNewComponentSchema&&(V=e.onResolveNewComponentSchema(g,V));const $=F.toLowerCase().replace(/-/g,"_");return V&&!V.id&&V.type===F&&(V.id=`${$}_${Math.random().toString().slice(2,6)}`),V}function v(g){}function w(...g){if(e&&e.getPropsConfig)return e.getPropsConfig(...g)}function S(){e&&e.onRemoveComponent&&e.onRemoveComponent(),t!=null&&t.schema.contents&&t.schema.contents.map(g=>{var V;let T=g.id;g.type==="component-ref"&&(T=g.component);const F=a.value.querySelector(`#${T}-design-item`);(V=F==null?void 0:F.componentInstance)!=null&&V.value.onRemoveComponent&&F.componentInstance.value.onRemoveComponent()})}return l.value={canMove:s(),canSelectParent:y(),canDelete:h(),canNested:!i(),contents:t==null?void 0:t.schema.contents,elementRef:a,parent:(P=t==null?void 0:t.parent)==null?void 0:P.componentInstance,schema:t==null?void 0:t.schema,styles:r,designerClass:n,canAccepts:d,getBelongedComponentInstance:c,getDraggableDesignItemElement:o,getDraggingDisplayText:f,getPropConfig:w,getDragScopeElement:u,onAcceptMovedChildElement:b,onChildElementMovedOut:v,addNewChildComponentSchema:M,triggerBelongedComponentToMoveWhenMoved:!!e&&e.triggerBelongedComponentToMoveWhenMoved||m.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!e&&e.triggerBelongedComponentToDeleteWhenDeleted||m.ref(!1),onRemoveComponent:S},l}class ee{constructor(t,e){C(this,"componentId");C(this,"viewModelId");C(this,"eventsEditorUtils");C(this,"formSchemaUtils");C(this,"formMetadataConverter");C(this,"designViewModelUtils");C(this,"designViewModelField");C(this,"controlCreatorUtils");C(this,"designerHostService");C(this,"schemaService",null);C(this,"metadataService",null);C(this,"propertyConfig",{type:"object",categories:{}});var r;this.componentId=t,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((r=this.formSchemaUtils)==null?void 0:r.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){var r;const e=t.binding&&t.binding.type==="Form"&&t.binding.field;if(e){if(!this.designViewModelField){const n=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=n.fields.find(l=>l.id===e)}t.updateOn=(r=this.designViewModelField)==null?void 0:r.updateOn}}changeFieldEditorType(t,e){}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:p[t.type].name}]}}}}}getAppearanceConfig(t=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(t,e){const r=e&&e.parent&&e.parent.schema;if(!r)return;const n=r.contents.findIndex(s=>s.id===t),l=B.cloneDeep(r.contents[n]);r.contents.splice(n,1),r.contents.splice(n,0,l)}}const E=class E{static getEditorTypesByMDataType(t){const e=E.fieldControlTypeMapping[t];return e||[{key:"",value:""}]}static getAllInputTypes(){const t=[];for(const e in E.fieldControlTypeMapping)E.fieldControlTypeMapping[e].forEach(r=>{t.find(n=>n.key===r.key&&n.value===r.value)||t.push({key:r.key,value:r.value})});return t}};C(E,"fieldControlTypeMapping",{String:[{key:p["input-group"].type,value:p["input-group"].name},{key:p.lookup.type,value:p.lookup.name},{key:p["date-picker"].type,value:p["date-picker"].name},{key:p["check-box"].type,value:p["check-box"].name},{key:p["check-group"].type,value:p["check-group"].name},{key:p["radio-group"].type,value:p["radio-group"].name},{key:p["combo-list"].type,value:p["combo-list"].name},{key:p.textarea.type,value:p.textarea.name}],Text:[{key:p.textarea.type,value:p.textarea.name},{key:p.lookup.type,value:p.lookup.name}],Decimal:[{key:p["number-spinner"].type,value:p["number-spinner"].name}],Integer:[{key:p["number-spinner"].type,value:p["number-spinner"].name}],Number:[{key:p["number-spinner"].type,value:p["number-spinner"].name}],BigNumber:[{key:p["number-spinner"].type,value:p["number-spinner"].name}],Date:[{key:p["date-picker"].type,value:p["date-picker"].name}],DateTime:[{key:p["date-picker"].type,value:p["date-picker"].name}],Boolean:[{key:p.switch.type,value:p.switch.name},{key:p["check-box"].type,value:p["check-box"].name}],Enum:[{key:p["combo-list"].type,value:p["combo-list"].name},{key:p["radio-group"].type,value:p["radio-group"].name}],Object:[{key:p.lookup.type,value:p.lookup.name},{key:p["combo-list"].type,value:p["combo-list"].name},{key:p["radio-group"].type,value:p["radio-group"].name}]});let D=E;const te=m.ref(0);class ne{constructor(){C(this,"label","");C(this,"id","");C(this,"columnInSM",12);C(this,"columnInMD",6);C(this,"columnInLG",3);C(this,"columnInEL",2);C(this,"displayWidthInSM",1);C(this,"displayWidthInMD",1);C(this,"displayWidthInLG",1);C(this,"displayWidthInEL",1);C(this,"displayColumnCountAtBreakPoint","md");C(this,"tagRow",0);C(this,"showTopBorder",0);C(this,"group",1);C(this,"isSupportedClass",!0);C(this,"fieldSetId","")}}function oe(a){let t,e;const r=new Map;let n=[];function l(c,o){const f=c.split(" ").filter(w=>w.startsWith("col-"));if(f.length===0){o.isSupportedClass=!1;return}let u=f.find(w=>/^col-([1-9]|10|11|12)$/.test(w)),b=f.find(w=>/^col-md-([1-9]|10|11|12)$/.test(w)),M=f.find(w=>/^col-xl-([1-9]|10|11|12)$/.test(w)),v=f.find(w=>/^col-el-([1-9]|10|11|12)$/.test(w));u=u||"col-12",o.columnInSM=parseInt(u.replace("col-",""),10),o.displayWidthInSM=o.columnInSM/12,o.displayWidthInSM!==1&&(o.isSupportedClass=!1),b=b||"col-md-"+o.columnInSM,o.columnInMD=parseInt(b.replace("col-md-",""),10),o.displayWidthInMD=o.columnInMD/6,[1,2].includes(o.displayWidthInMD)||(o.isSupportedClass=!1),M=M||"col-xl-"+o.columnInMD,o.columnInLG=parseInt(M.replace("col-xl-",""),10),o.displayWidthInLG=o.columnInLG/3,[1,2,3,4].includes(o.displayWidthInLG)||(o.isSupportedClass=!1),v=v||"col-el-"+o.columnInLG,o.columnInEL=parseInt(v.replace("col-el-",""),10),o.displayWidthInEL=o.columnInEL/2,[1,2,3,4,5,6].includes(o.displayWidthInEL)||(o.isSupportedClass=!1)}function s(c,o,d,f=!1){let u=!1;c.contents.forEach(b=>{if(b.type==="fieldset"){d+=1,s(b,o,d,!0),u=!0;return}u&&(d+=1,u=!1);const M=b.appearance&&b.appearance.class,v=new ne;M?l(M,v):v.isSupportedClass=!1,v.label=b.label||b.id,v.id=b.id,v.group=d,f&&(v.fieldSetId=c.id),e===b.id&&(t=d),r.set(b.id,b),o.push(v)})}function y(c){const o=a.getComponentById(c);if(!o||!o.componentType||!o.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const d=a.selectNode(o,f=>f.type===x.DgControl["response-form"].type);return!d||!d.contents||d.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:d}}function h(c,o){o=o||c.id;const{result:d,message:f,formNode:u}=y(o);if(!d)return{result:d,message:f};e=c.id,n=[],r.clear();const b=u.contents[0].type===x.DgControl.fieldset.type?0:1;s(u,n,b);const M=n.find(w=>!w.isSupportedClass);return{defaultState:{defaultGroupNumber:t||1,model:M?"customize":"standard"},importData:n}}function i(c,o){o=o;const{result:d,formNode:f}=y(o);if(!d)return"";const u=[];return c.forEach(b=>{var w;const M=r.get(b.id),v=M.appearance&&M.appearance.class;if(v){const P=v.split(" ").filter(ce=>!ce.startsWith("col-")),g="col-"+b.columnInSM,T="col-md-"+b.columnInMD,F="col-xl-"+b.columnInLG,V="col-el-"+b.columnInEL,$=[g,T,F,V].concat(P);M.appearance.class=$.join(" ")}if(b.fieldSetId){const S=f.contents.find(g=>g.id===b.fieldSetId),P=u.find(g=>g.id===b.fieldSetId);P?(w=P.contents)==null||w.push(M):(u.push(S),S.contents=[M])}else u.push(M)}),f.contents=u,f.id}return{checkCanFindFormNode:y,checkCanOpenLayoutEditor:h,changeFormControlsByResponseLayoutConfig:i,getResonseFormLayoutConfig:s}}class re extends ee{constructor(e,r){super(e,r);C(this,"responseLayoutEditorFunction");this.responseLayoutEditorFunction=oe(this.formSchemaUtils)}getPropertyConfig(e,r){return this.propertyConfig.categories.basic=this.getBasicProperties(e,r),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,r),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig}getBasicProperties(e,r){var l;const n=this;return this.setDesignViewModelField(e),this.formSchemaUtils.getFormMetadataBasicInfo(),{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?D.getEditorTypesByMDataType((l=n.designViewModelField.type)==null?void 0:l.name):D.getAllInputTypes()}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:e,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"}}},setPropertyRelates(s,y){if(s)switch(s&&s.propertyID){case"type":{n.changeControlType(e,s,r);break}case"label":{s.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(e,r){const n=this;return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",initialState:n.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,n.componentId)}}},setPropertyRelates(l,s){if(l)switch(l&&l.propertyID){case"responseLayout":n.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(l.propertyValue,n.componentId||e.id),n.updateUnifiedLayoutAfterResponseLayoutChanged(n.componentId),n.updateElementByParentContainer(e.id,r),delete e.responseLayout;break;case"class":n.updateUnifiedLayoutAfterControlChanged(l.propertyValue,e.id,this.componentId),n.updateElementByParentContainer(e.id,r);break}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,r,n){var c,o,d,f;const l=r.propertyValue,s=n&&n.parent&&n.parent.schema;if(!s)return;const y=s.contents.findIndex(u=>u.id===e.id),h=s.contents[y];let i;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),i=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,l)),i||(i=this.controlCreatorUtils.createFormGroupWithoutField(l)),Object.assign(i,{id:h.id,appearance:h.appearance,size:h.size,label:h.label,binding:h.binding,visible:h.visible}),Object.assign(i.editor,{isTextArea:i.isTextArea&&h.isTextArea,placeholder:(c=h.editor)==null?void 0:c.placeholder,holdPlace:(o=h.editor)==null?void 0:o.holdPlace,readonly:(d=h.editor)==null?void 0:d.readonly,require:(f=h.editor)==null?void 0:f.require}),s.contents.splice(y,1),s.contents.splice(y,0,i),n.schema=Object.assign(h,i),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(u=>u.classList.remove("dgComponentSelected")),te.value++}getComponentConfig(e,r={},n={}){const l=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},r),s=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},n);return{...l,properties:{...s}}}updateUnifiedLayoutAfterControlChanged(e,r,n){const l=e.split(" ");let s=l.find(o=>/^col-([1-9]|10|11|12)$/.test(o)),y=l.find(o=>/^col-md-([1-9]|10|11|12)$/.test(o)),h=l.find(o=>/^col-xl-([1-9]|10|11|12)$/.test(o)),i=l.find(o=>/^col-el-([1-9]|10|11|12)$/.test(o));s=s||"col-12",y=y||"col-md-"+s.replace("col-",""),h=h||"col-xl-"+y.replace("col-md-",""),i=i||"col-el-"+h.replace("col-xl-","");const c={id:r,columnInSM:parseInt(s.replace("col-",""),10),columnInMD:parseInt(y.replace("col-md-",""),10),columnInLG:parseInt(h.replace("col-xl-",""),10),columnInEL:parseInt(i.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(n,c)}updateUnifiedLayoutAfterResponseLayoutChanged(e,r){const{formNode:n}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!n||!n.unifiedLayout)return;const l=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(n,l,1),r){const u=l.find(b=>b.id===r.id);Object.assign(u||{},r)}const s=l.map(u=>u.columnInSM),y=l.map(u=>u.columnInMD),h=l.map(u=>u.columnInLG),i=l.map(u=>u.columnInEL),c=this.checkIsUniqueColumn(s)?s[0]:null,o=this.checkIsUniqueColumn(y)?y[0]:null,d=this.checkIsUniqueColumn(h)?h[0]:null,f=this.checkIsUniqueColumn(i)?i[0]:null;Object.assign(n.unifiedLayout,{uniqueColClassInSM:c,uniqueColClassInMD:o,uniqueColClassInLG:d,uniqueColClassInEL:f})}checkIsUniqueColumn(e){const r=new Set(e);return Array.from(r).length===1}}class ae extends re{constructor(t,e){super(t,e)}getEditorProperties(t){return this.getComponentConfig(t,{type:"textarea"},{rows:{description:"",title:"文本区域可见的行数",type:"number"},showCount:{description:"",title:"展示输入文本数量",type:"boolean"}})}}function ie(a,t){const e=a.schema;function r(n,l){return new ae(n,t).getPropertyConfig(e,l)}return{getPropsConfig:r}}const le=m.defineComponent({name:"FTextareaDesign",props:I,emits:[""],setup(a,t){const e=m.ref(),r=m.inject("designer-host-service"),n=m.inject("design-item-context"),l=ie(n,r),s=R(e,n,l),y=m.computed(()=>a.maxLength?a.maxLength:a.modelValue.length),h=m.computed(()=>({position:"relative"})),i=m.computed(()=>({"box-shadow":"0 0 0 1px #dcdfe6 inset",border:"none",padding:"5px 10px",width:"100%"})),c={position:"absolute",bottom:"5px",right:"10px"};return m.onMounted(()=>{e.value.componentInstance=s}),t.expose(s.value),()=>m.createVNode("div",{style:h.value,ref:e},[m.createVNode("textarea",{id:a.id,tabindex:a.tabIndex,disabled:!1,readonly:!0,style:i.value,placeholder:a.placeholder,rows:a.rows},null),a.showCount&&m.createVNode("span",{style:c},[`${a.modelValue.length}/${y.value}`])])}});L.register=(a,t,e,r)=>{a.textarea=L,t.textarea=U},L.registerDesigner=(a,t,e)=>{a.textarea=le,t.textarea=U};const se=N.withInstall(L);k.FTextarea=L,k.default=se,k.propsResolver=U,k.textAreaProps=I,Object.defineProperties(k,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(k,m){typeof exports=="object"&&typeof module<"u"?m(exports,require("vue"),require("lodash-es"),require("../common/index.umd.js"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../common/index.umd.js","../designer-canvas/index.umd.js"],m):(k=typeof globalThis<"u"?globalThis:k||self,m(k.textarea={},k.Vue,k.LodashES,k.common,k.designerCanvas))})(this,function(k,m,V,A,U){"use strict";var de=Object.defineProperty;var ue=(k,m,V)=>m in k?de(k,m,{enumerable:!0,configurable:!0,writable:!0,value:V}):k[m]=V;var C=(k,m,V)=>ue(k,typeof m!="symbol"?m+"":m,V);const q={},j={};function N(i){const{properties:t,title:e,ignore:n}=i,o=n&&Array.isArray(n),a=Object.keys(t).reduce((l,y)=>((!o||!n.find(h=>h===y))&&(l[y]=t[y].type==="object"&&t[y].properties?N(t[y]):V.cloneDeep(t[y].default)),l),{});if(e&&(!o||!n.find(l=>l==="id"))){const l=e.toLowerCase().replace(/-/g,"_");a.id=`${l}_${Math.random().toString().slice(2,6)}`}return a}function O(i){const{properties:t,title:e,required:n}=i;if(n&&Array.isArray(n)){const o=n.reduce((a,l)=>(a[l]=t[l].type==="object"&&t[l].properties?N(t[l]):V.cloneDeep(t[l].default),a),{});if(e&&n.find(a=>a==="id")){const a=e.toLowerCase().replace(/-/g,"_");o.id=`${a}_${Math.random().toString().slice(2,6)}`}return o}return{type:e}}function G(i,t={},e){const n=q[i];if(n){let o=O(n);const a=j[i];return o=a?a({getSchemaByType:G},o,t,e):o,o}return null}function W(i,t){const e=N(t);return Object.keys(e).reduce((n,o)=>(Object.prototype.hasOwnProperty.call(i,o)&&(n[o]&&V.isPlainObject(n[o])&&V.isPlainObject(i[o]||!i[o])?Object.assign(n[o],i[o]||{}):n[o]=i[o]),n),e),e}function _(i,t){return Object.keys(i).filter(n=>i[n]!=null).reduce((n,o)=>{if(t.has(o)){const a=t.get(o);if(typeof a=="string")n[a]=i[o];else{const l=a(o,i[o],i);Object.assign(n,l)}}else n[o]=i[o];return n},{})}function z(i,t,e=new Map){const n=W(i,t);return _(n,e)}function X(i={}){function t(s,c,r,d){if(typeof r=="number")return d[s].length===r;if(typeof r=="object"){const f=Object.keys(r)[0],u=r[f];if(f==="not")return Number(d[s].length)!==Number(u);if(f==="moreThan")return Number(d[s].length)>=Number(u);if(f==="lessThan")return Number(d[s].length)<=Number(u)}return!1}function e(s,c,r,d){return d[s]&&d[s].propertyValue&&String(d[s].propertyValue.value)===String(r)}const n=new Map([["length",t],["getProperty",e]]);Object.keys(i).reduce((s,c)=>(s.set(c,i[c]),s),n);function o(s,c){const r=s;return typeof c=="number"?[{target:r,operator:"length",param:null,value:Number(c)}]:typeof c=="boolean"?[{target:r,operator:"getProperty",param:s,value:!!c}]:typeof c=="object"?Object.keys(c).map(d=>{if(d==="length")return{target:r,operator:"length",param:null,value:c[d]};const f=d,u=c[d];return{target:r,operator:"getProperty",param:f,value:u}}):[]}function a(s){return Object.keys(s).reduce((r,d)=>{const f=o(d,s[d]);return r.push(...f),r},[])}function l(s,c){if(n.has(s.operator)){const r=n.get(s.operator);return r&&r(s.target,s.param,s.value,c)||!1}return!1}function y(s,c){return a(s).reduce((f,u)=>f&&l(u,c),!0)}function h(s,c){const r=Object.keys(s),d=r.includes("allOf"),f=r.includes("anyOf"),u=d||f,v=(u?s[u?d?"allOf":"anyOf":"allOf"]:[s]).map(S=>y(S,c));return d?!v.includes(!1):v.includes(!0)}return{parseValueSchema:h}}const p={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"},"query-solution":{type:"query-solution",name:"筛选方案",icon:"QueryScheme"}},H={},Q={};X();function J(i,t,e=new Map,n=(l,y,h,s)=>y,o={},a=l=>l){return q[t.title]=t,j[t.title]=n,H[t.title]=o,Q[t.title]=a,(l={})=>{const y=z(l,t,e),h=Object.keys(i).reduce((s,c)=>(s[c]=i[c].default,s),{});return Object.assign(h,y)}}function Y(i,t){return{customClass:t.class,customStyle:t.style}}const Z=new Map([["appearance",Y]]),R={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/switch.schema.json",title:"textarea",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a textarea",type:"string"},type:{description:"The type string of textarea component",type:"string",default:"textarea"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0},rows:{description:"",type:"number"},showCount:{description:"",type:"boolean",default:!0}},required:["type"],ignore:["id","appearance","binding","visible"]};function K(i,t,e){return t}const I={autoHeight:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},autocomplete:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!1},id:{type:String,default:""},minLength:{type:Number,default:0},maxLength:{type:Number},modelValue:{type:String,default:""},placeholder:{type:String,default:""},readonly:{type:Boolean,default:!1},rows:{type:Number,default:2},showCount:{type:Boolean,default:!1},showBorder:{Type:Boolean,default:!0},tabIndex:{type:Number,default:-1}},$=J(I,R,Z,K),L=m.defineComponent({name:"FTextarea",props:I,emits:["update:modelValue","valueChange"],setup(i,t){const e=m.ref(),n=m.ref(i.modelValue),o=m.computed(()=>i.modelValue),a=A.useTextBox(i,t,n,o),{inputGroupClass:l,onBlur:y,onFocus:h}=a,s=A.useClear(i,t,a),{onMouseEnter:c,onMouseLeave:r,clearButtonClass:d,shouldShowClearButton:f,clearButtonStyle:u}=s,b=m.computed(()=>i.maxLength?i.maxLength:i.modelValue.length),M=S=>{var B,g;S.stopPropagation(),t.emit("update:modelValue",(B=S.target)==null?void 0:B.value),t.emit("valueChange",(g=S.target)==null?void 0:g.value)},v=S=>{S.stopPropagation(),e.value.value="",t.emit("update:modelValue",""),t.emit("valueChange","")},w=m.computed(()=>({"form-control":!0,"h-100":i.autoHeight}));return t.expose({elementRef:e}),m.onMounted(()=>{}),()=>m.createVNode("div",{class:l.value,onMouseenter:c,onMouseleave:r,style:"position:relative"},[m.withDirectives(m.createVNode("textarea",{class:w.value,id:i.id,"onUpdate:modelValue":S=>i.modelValue=S,ref:e,minlength:i.minLength,maxlength:i.maxLength?i.maxLength:null,tabindex:i.tabIndex,disabled:i.disabled,readonly:i.readonly,autocomplete:i.autocomplete,placeholder:i.placeholder,autofocus:i.autofocus,rows:i.rows,onInput:M,onFocus:h,onBlur:y},null),[[m.vModelText,i.modelValue]]),f.value&&m.createVNode("span",{id:"clearIcon",class:d.value,style:u.value,onClick:S=>v(S)},[m.createVNode("i",{class:"f-icon modal_close"},null)]),i.showCount&&m.createVNode("span",{style:"position: absolute;bottom: 5px;right: 10px"},[`${i.modelValue.length}/${b.value}`])])}});function ee(i,t,e){var B;const n=e&&e.getStyles&&e.getStyles()||"",o=e&&e.getDesignerClass&&e.getDesignerClass()||"",a=m.ref();function l(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:e&&e.checkCanMoveComponent?e.checkCanMoveComponent():!0}function y(){return!1}function h(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:e&&e.checkCanDeleteComponent?e.checkCanDeleteComponent():!0}function s(){return(t==null?void 0:t.schema.componentType)==="frame"?!0:e&&e.hideNestedPaddingInDesginerView?e.hideNestedPaddingInDesginerView():!1}function c(g){if(!g||!g.value)return null;if(g.value.schema&&g.value.schema.type==="component")return g.value;const T=m.ref(g==null?void 0:g.value.parent),F=c(T);return F||null}function r(g=t){const{componentInstance:T,designerItemElementRef:F}=g;return!T||!T.value?null:T.value.canMove?F:r(g.parent)}function d(g){return!!e&&e.canAccepts(g)}function f(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function u(){}function b(g,T){T&&e!=null&&e.onAcceptMovedChildElement&&e.onAcceptMovedChildElement(T)}function M(g,T){const{componentType:F}=g;let P=G(F,g,T);e&&e.onResolveNewComponentSchema&&(P=e.onResolveNewComponentSchema(g,P));const x=F.toLowerCase().replace(/-/g,"_");return P&&!P.id&&P.type===F&&(P.id=`${x}_${Math.random().toString().slice(2,6)}`),P}function v(g){}function w(...g){if(e&&e.getPropsConfig)return e.getPropsConfig(...g)}function S(){e&&e.onRemoveComponent&&e.onRemoveComponent(),t!=null&&t.schema.contents&&t.schema.contents.map(g=>{var P;let T=g.id;g.type==="component-ref"&&(T=g.component);const F=i.value.querySelector(`#${T}-design-item`);(P=F==null?void 0:F.componentInstance)!=null&&P.value.onRemoveComponent&&F.componentInstance.value.onRemoveComponent()})}return a.value={canMove:l(),canSelectParent:y(),canDelete:h(),canNested:!s(),contents:t==null?void 0:t.schema.contents,elementRef:i,parent:(B=t==null?void 0:t.parent)==null?void 0:B.componentInstance,schema:t==null?void 0:t.schema,styles:n,designerClass:o,canAccepts:d,getBelongedComponentInstance:c,getDraggableDesignItemElement:r,getDraggingDisplayText:f,getPropConfig:w,getDragScopeElement:u,onAcceptMovedChildElement:b,onChildElementMovedOut:v,addNewChildComponentSchema:M,triggerBelongedComponentToMoveWhenMoved:!!e&&e.triggerBelongedComponentToMoveWhenMoved||m.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!e&&e.triggerBelongedComponentToDeleteWhenDeleted||m.ref(!1),onRemoveComponent:S},a}class te{constructor(t,e){C(this,"componentId");C(this,"viewModelId");C(this,"eventsEditorUtils");C(this,"formSchemaUtils");C(this,"formMetadataConverter");C(this,"designViewModelUtils");C(this,"designViewModelField");C(this,"controlCreatorUtils");C(this,"designerHostService");C(this,"schemaService",null);C(this,"metadataService",null);C(this,"propertyConfig",{type:"object",categories:{}});var n;this.componentId=t,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((n=this.formSchemaUtils)==null?void 0:n.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){var n;const e=t.binding&&t.binding.type==="Form"&&t.binding.field;if(e){if(!this.designViewModelField){const o=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=o.fields.find(a=>a.id===e)}t.updateOn=(n=this.designViewModelField)==null?void 0:n.updateOn}}changeFieldEditorType(t,e){}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:p[t.type].name}]}}}}}getAppearanceConfig(t=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(t,e){const n=e&&e.parent&&e.parent.schema;if(!n)return;const o=n.contents.findIndex(l=>l.id===t),a=V.cloneDeep(n.contents[o]);n.contents.splice(o,1),n.contents.splice(o,0,a)}}const E=class E{static getEditorTypesByMDataType(t){const e=E.fieldControlTypeMapping[t];return e||[{key:"",value:""}]}static getAllInputTypes(){const t=[];for(const e in E.fieldControlTypeMapping)E.fieldControlTypeMapping[e].forEach(n=>{t.find(o=>o.key===n.key&&o.value===n.value)||t.push({key:n.key,value:n.value})});return t}};C(E,"fieldControlTypeMapping",{String:[{key:p["input-group"].type,value:p["input-group"].name},{key:p.lookup.type,value:p.lookup.name},{key:p["date-picker"].type,value:p["date-picker"].name},{key:p["check-box"].type,value:p["check-box"].name},{key:p["check-group"].type,value:p["check-group"].name},{key:p["radio-group"].type,value:p["radio-group"].name},{key:p["combo-list"].type,value:p["combo-list"].name},{key:p.textarea.type,value:p.textarea.name}],Text:[{key:p.textarea.type,value:p.textarea.name},{key:p.lookup.type,value:p.lookup.name}],Decimal:[{key:p["number-spinner"].type,value:p["number-spinner"].name}],Integer:[{key:p["number-spinner"].type,value:p["number-spinner"].name}],Number:[{key:p["number-spinner"].type,value:p["number-spinner"].name}],BigNumber:[{key:p["number-spinner"].type,value:p["number-spinner"].name}],Date:[{key:p["date-picker"].type,value:p["date-picker"].name}],DateTime:[{key:p["date-picker"].type,value:p["date-picker"].name}],Boolean:[{key:p.switch.type,value:p.switch.name},{key:p["check-box"].type,value:p["check-box"].name}],Enum:[{key:p["combo-list"].type,value:p["combo-list"].name},{key:p["radio-group"].type,value:p["radio-group"].name}],Object:[{key:p.lookup.type,value:p.lookup.name},{key:p["combo-list"].type,value:p["combo-list"].name},{key:p["radio-group"].type,value:p["radio-group"].name}]});let D=E;const ne=m.ref(0);class oe{constructor(){C(this,"label","");C(this,"id","");C(this,"columnInSM",12);C(this,"columnInMD",6);C(this,"columnInLG",3);C(this,"columnInEL",2);C(this,"displayWidthInSM",1);C(this,"displayWidthInMD",1);C(this,"displayWidthInLG",1);C(this,"displayWidthInEL",1);C(this,"displayColumnCountAtBreakPoint","md");C(this,"tagRow",0);C(this,"showTopBorder",0);C(this,"group",1);C(this,"isSupportedClass",!0);C(this,"fieldSetId","")}}function re(i){let t,e;const n=new Map;let o=[];function a(c,r){const f=c.split(" ").filter(w=>w.startsWith("col-"));if(f.length===0){r.isSupportedClass=!1;return}let u=f.find(w=>/^col-([1-9]|10|11|12)$/.test(w)),b=f.find(w=>/^col-md-([1-9]|10|11|12)$/.test(w)),M=f.find(w=>/^col-xl-([1-9]|10|11|12)$/.test(w)),v=f.find(w=>/^col-el-([1-9]|10|11|12)$/.test(w));u=u||"col-12",r.columnInSM=parseInt(u.replace("col-",""),10),r.displayWidthInSM=r.columnInSM/12,r.displayWidthInSM!==1&&(r.isSupportedClass=!1),b=b||"col-md-"+r.columnInSM,r.columnInMD=parseInt(b.replace("col-md-",""),10),r.displayWidthInMD=r.columnInMD/6,[1,2].includes(r.displayWidthInMD)||(r.isSupportedClass=!1),M=M||"col-xl-"+r.columnInMD,r.columnInLG=parseInt(M.replace("col-xl-",""),10),r.displayWidthInLG=r.columnInLG/3,[1,2,3,4].includes(r.displayWidthInLG)||(r.isSupportedClass=!1),v=v||"col-el-"+r.columnInLG,r.columnInEL=parseInt(v.replace("col-el-",""),10),r.displayWidthInEL=r.columnInEL/2,[1,2,3,4,5,6].includes(r.displayWidthInEL)||(r.isSupportedClass=!1)}function l(c,r,d,f=!1){let u=!1;c.contents.forEach(b=>{if(b.type==="fieldset"){d+=1,l(b,r,d,!0),u=!0;return}u&&(d+=1,u=!1);const M=b.appearance&&b.appearance.class,v=new oe;M?a(M,v):v.isSupportedClass=!1,v.label=b.label||b.id,v.id=b.id,v.group=d,f&&(v.fieldSetId=c.id),e===b.id&&(t=d),n.set(b.id,b),r.push(v)})}function y(c){const r=i.getComponentById(c);if(!r||!r.componentType||!r.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const d=i.selectNode(r,f=>f.type===U.DgControl["response-form"].type);return!d||!d.contents||d.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:d}}function h(c,r){r=r||c.id;const{result:d,message:f,formNode:u}=y(r);if(!d)return{result:d,message:f};e=c.id,o=[],n.clear();const b=u.contents[0].type===U.DgControl.fieldset.type?0:1;l(u,o,b);const M=o.find(w=>!w.isSupportedClass);return{defaultState:{defaultGroupNumber:t||1,model:M?"customize":"standard"},importData:o}}function s(c,r){r=r;const{result:d,formNode:f}=y(r);if(!d)return"";const u=[];return c.forEach(b=>{var w;const M=n.get(b.id),v=M.appearance&&M.appearance.class;if(v){const B=v.split(" ").filter(pe=>!pe.startsWith("col-")),g="col-"+b.columnInSM,T="col-md-"+b.columnInMD,F="col-xl-"+b.columnInLG,P="col-el-"+b.columnInEL,x=[g,T,F,P].concat(B);M.appearance.class=x.join(" ")}if(b.fieldSetId){const S=f.contents.find(g=>g.id===b.fieldSetId),B=u.find(g=>g.id===b.fieldSetId);B?(w=B.contents)==null||w.push(M):(u.push(S),S.contents=[M])}else u.push(M)}),f.contents=u,f.id}return{checkCanFindFormNode:y,checkCanOpenLayoutEditor:h,changeFormControlsByResponseLayoutConfig:s,getResonseFormLayoutConfig:l}}class ie extends te{constructor(e,n){super(e,n);C(this,"responseLayoutEditorFunction");this.responseLayoutEditorFunction=re(this.formSchemaUtils)}getPropertyConfig(e,n){return this.propertyConfig.categories.basic=this.getBasicProperties(e,n),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,n),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig}getBasicProperties(e,n){var a;const o=this;return this.setDesignViewModelField(e),{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",editable:!1,data:o.designViewModelField?D.getEditorTypesByMDataType((a=o.designViewModelField.type)==null?void 0:a.name):D.getAllInputTypes()}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:e,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"}}},setPropertyRelates(l,y){if(l)switch(l&&l.propertyID){case"type":{o.changeControlType(e,l,n);break}case"label":{l.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(e,n){const o=this;return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",initialState:o.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,o.componentId)}}},setPropertyRelates(a,l){if(a)switch(a&&a.propertyID){case"responseLayout":o.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(a.propertyValue,o.componentId||e.id),o.updateUnifiedLayoutAfterResponseLayoutChanged(o.componentId),o.updateElementByParentContainer(e.id,n),delete e.responseLayout;break;case"class":o.updateUnifiedLayoutAfterControlChanged(a.propertyValue,e.id,this.componentId),o.updateElementByParentContainer(e.id,n);break}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,n,o){var c,r,d,f;const a=n.propertyValue,l=o&&o.parent&&o.parent.schema;if(!l)return;const y=l.contents.findIndex(u=>u.id===e.id),h=l.contents[y];let s;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:a},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),s=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,a)),s||(s=this.controlCreatorUtils.createFormGroupWithoutField(a)),Object.assign(s,{id:h.id,appearance:h.appearance,size:h.size,label:h.label,binding:h.binding,visible:h.visible}),Object.assign(s.editor,{isTextArea:s.isTextArea&&h.isTextArea,placeholder:(c=h.editor)==null?void 0:c.placeholder,holdPlace:(r=h.editor)==null?void 0:r.holdPlace,readonly:(d=h.editor)==null?void 0:d.readonly,require:(f=h.editor)==null?void 0:f.require}),l.contents.splice(y,1),l.contents.splice(y,0,s),o.schema=Object.assign(h,s),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(u=>u.classList.remove("dgComponentSelected")),ne.value++}getComponentConfig(e,n={},o={}){const a=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},n),l=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},o);return{...a,properties:{...l}}}updateUnifiedLayoutAfterControlChanged(e,n,o){const a=e.split(" ");let l=a.find(r=>/^col-([1-9]|10|11|12)$/.test(r)),y=a.find(r=>/^col-md-([1-9]|10|11|12)$/.test(r)),h=a.find(r=>/^col-xl-([1-9]|10|11|12)$/.test(r)),s=a.find(r=>/^col-el-([1-9]|10|11|12)$/.test(r));l=l||"col-12",y=y||"col-md-"+l.replace("col-",""),h=h||"col-xl-"+y.replace("col-md-",""),s=s||"col-el-"+h.replace("col-xl-","");const c={id:n,columnInSM:parseInt(l.replace("col-",""),10),columnInMD:parseInt(y.replace("col-md-",""),10),columnInLG:parseInt(h.replace("col-xl-",""),10),columnInEL:parseInt(s.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(o,c)}updateUnifiedLayoutAfterResponseLayoutChanged(e,n){const{formNode:o}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!o||!o.unifiedLayout)return;const a=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(o,a,1),n){const u=a.find(b=>b.id===n.id);Object.assign(u||{},n)}const l=a.map(u=>u.columnInSM),y=a.map(u=>u.columnInMD),h=a.map(u=>u.columnInLG),s=a.map(u=>u.columnInEL),c=this.checkIsUniqueColumn(l)?l[0]:null,r=this.checkIsUniqueColumn(y)?y[0]:null,d=this.checkIsUniqueColumn(h)?h[0]:null,f=this.checkIsUniqueColumn(s)?s[0]:null;Object.assign(o.unifiedLayout,{uniqueColClassInSM:c,uniqueColClassInMD:r,uniqueColClassInLG:d,uniqueColClassInEL:f})}checkIsUniqueColumn(e){const n=new Set(e);return Array.from(n).length===1}}class ae extends ie{constructor(t,e){super(t,e)}getEditorProperties(t){return this.getComponentConfig(t,{type:"textarea"},{rows:{description:"",title:"文本区域可见的行数",type:"number"},showCount:{description:"",title:"展示输入文本数量",type:"boolean"}})}}function le(i,t){const e=i.schema;function n(o,a){return new ae(o,t).getPropertyConfig(e,a)}return{getPropsConfig:n}}const se=m.defineComponent({name:"FTextareaDesign",props:I,emits:[""],setup(i,t){const e=m.ref(),n=m.inject("designer-host-service"),o=m.inject("design-item-context"),a=le(o,n),l=ee(e,o,a),y=m.computed(()=>i.maxLength?i.maxLength:i.modelValue.length),h=m.computed(()=>({position:"relative"})),s=m.computed(()=>({"box-shadow":"0 0 0 1px #dcdfe6 inset",border:"none",padding:"5px 10px",width:"100%"})),c={position:"absolute",bottom:"5px",right:"10px"};return m.onMounted(()=>{e.value.componentInstance=l}),t.expose(l.value),()=>m.createVNode("div",{style:h.value,ref:e},[m.createVNode("textarea",{id:i.id,tabindex:i.tabIndex,disabled:!1,readonly:!0,style:s.value,placeholder:i.placeholder,rows:i.rows},null),i.showCount&&m.createVNode("span",{style:c},[`${i.modelValue.length}/${y.value}`])])}});L.register=(i,t,e,n)=>{i.textarea=L,t.textarea=$},L.registerDesigner=(i,t,e)=>{i.textarea=se,t.textarea=$};const ce=A.withInstall(L);k.FTextarea=L,k.default=ce,k.propsResolver=$,k.textAreaProps=I,Object.defineProperties(k,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|