@farris/ui-vue 1.8.0-alpha.0 → 1.8.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/avatar/index.esm.js +138 -1526
- package/components/avatar/index.umd.cjs +1 -6
- package/components/button/index.css +1 -1
- package/components/button/index.esm.js +15951 -15410
- package/components/button/index.umd.cjs +27 -27
- package/components/calendar/index.esm.js +269 -255
- package/components/calendar/index.umd.cjs +3 -3
- package/components/collection-property-editor/index.esm.js +243 -229
- package/components/collection-property-editor/index.umd.cjs +2 -2
- package/components/combo-list/index.esm.js +32 -32
- package/components/combo-list/index.umd.cjs +1 -1
- package/components/comment/index.esm.js +473 -456
- package/components/comment/index.umd.cjs +6 -6
- package/components/component/index.css +1 -1
- package/components/component/index.esm.js +2503 -2239
- package/components/component/index.umd.cjs +2 -2
- package/components/condition/index.esm.js +1064 -954
- package/components/condition/index.umd.cjs +2 -2
- package/components/data-grid/index.esm.js +1 -1
- package/components/data-grid/index.umd.cjs +1 -1
- package/components/designer-canvas/index.css +1 -1
- package/components/designer-canvas/index.esm.js +3894 -3058
- package/components/designer-canvas/index.umd.cjs +1 -1
- package/components/drawer/index.esm.js +91 -77
- package/components/drawer/index.umd.cjs +2 -2
- package/components/dynamic-form/index.esm.js +220 -215
- package/components/dynamic-form/index.umd.cjs +1 -1
- package/components/dynamic-resolver/index.esm.js +145 -131
- package/components/dynamic-resolver/index.umd.cjs +2 -2
- package/components/dynamic-view/index.esm.js +336 -329
- package/components/dynamic-view/index.umd.cjs +1 -1
- package/components/events-editor/index.esm.js +1611 -1536
- package/components/events-editor/index.umd.cjs +3 -3
- package/components/expression-editor/index.esm.js +219 -219
- package/components/expression-editor/index.umd.cjs +2 -2
- package/components/external-container/index.esm.js +179 -178
- package/components/external-container/index.umd.cjs +1 -1
- package/components/fieldset/index.esm.js +285 -221
- package/components/fieldset/index.umd.cjs +1 -1
- package/components/filter-bar/index.css +1 -0
- package/components/filter-bar/index.esm.js +1512 -1290
- package/components/filter-bar/index.umd.cjs +7 -7
- package/components/filter-condition-editor/index.esm.js +851 -831
- package/components/filter-condition-editor/index.umd.cjs +3 -3
- package/components/flow-canvas/index.esm.js +520 -501
- package/components/flow-canvas/index.umd.cjs +8 -8
- package/components/image/index.esm.js +101 -79
- package/components/image/index.umd.cjs +3 -3
- package/components/language-textbox/index.esm.js +330 -251
- package/components/language-textbox/index.umd.cjs +2 -2
- package/components/list-nav/index.esm.js +399 -313
- package/components/list-nav/index.umd.cjs +1 -1
- package/components/locale/index.esm.js +3 -0
- package/components/locale/index.umd.cjs +1 -1
- package/components/lookup/index.esm.js +997 -976
- package/components/lookup/index.umd.cjs +2 -2
- package/components/mapping-editor/index.esm.js +725 -705
- package/components/mapping-editor/index.umd.cjs +1 -1
- package/components/message-box/index.esm.js +542 -522
- package/components/message-box/index.umd.cjs +1 -1
- package/components/nav/index.esm.js +95 -308
- package/components/nav/index.umd.cjs +1 -1
- package/components/number-range/index.esm.js +115 -107
- package/components/number-range/index.umd.cjs +2 -2
- package/components/order/index.esm.js +56 -54
- package/components/order/index.umd.cjs +1 -1
- package/components/page-footer/index.esm.js +135 -123
- package/components/page-footer/index.umd.cjs +1 -1
- package/components/page-header/index.esm.js +266 -222
- package/components/page-header/index.umd.cjs +1 -1
- package/components/property-panel/index.esm.js +402 -375
- package/components/property-panel/index.umd.cjs +4 -4
- package/components/query-solution/index.esm.js +3171 -3061
- package/components/query-solution/index.umd.cjs +7 -7
- package/components/response-toolbar/index.esm.js +1 -1
- package/components/response-toolbar/index.umd.cjs +1 -1
- package/components/schema-selector/index.esm.js +1620 -1608
- package/components/schema-selector/index.umd.cjs +5 -5
- package/components/scroll-navbar/index.esm.js +150 -136
- package/components/scroll-navbar/index.umd.cjs +2 -2
- package/components/section/index.esm.js +323 -311
- package/components/section/index.umd.cjs +2 -2
- package/components/sort-condition-editor/index.esm.js +850 -830
- package/components/sort-condition-editor/index.umd.cjs +3 -3
- package/components/step/index.esm.js +991 -224
- package/components/step/index.umd.cjs +1 -1
- package/components/tabs/index.esm.js +356 -334
- package/components/tabs/index.umd.cjs +1 -1
- package/components/wizard/index.esm.js +159 -162
- package/components/wizard/index.umd.cjs +1 -1
- package/designer/avatar/index.esm.js +1721 -0
- package/designer/avatar/index.umd.cjs +6 -0
- package/designer/button-edit/index.esm.js +2 -1
- package/designer/button-edit/index.umd.cjs +1 -1
- package/designer/data-grid/index.esm.js +693 -659
- package/designer/data-grid/index.umd.cjs +6 -6
- package/designer/data-view/index.esm.js +90 -78
- package/designer/data-view/index.umd.cjs +2 -2
- package/designer/date-picker/index.esm.js +203 -203
- package/designer/date-picker/index.umd.cjs +1 -1
- package/designer/drawer/index.esm.js +181 -167
- package/designer/drawer/index.umd.cjs +2 -2
- package/designer/dynamic-form/index.esm.js +228 -206
- package/designer/dynamic-form/index.umd.cjs +2 -2
- package/designer/farris-designer.all.esm.js +10014 -9692
- package/designer/farris-designer.all.umd.cjs +18 -18
- package/designer/index.css +1 -1
- package/designer/input-group/index.esm.js +15 -15
- package/designer/input-group/index.umd.cjs +1 -1
- package/designer/nav/index.esm.js +1719 -0
- package/designer/nav/index.umd.cjs +6 -0
- package/designer/number-spinner/index.esm.js +8 -7
- package/designer/number-spinner/index.umd.cjs +1 -1
- package/designer/radio-group/index.esm.js +133 -125
- package/designer/radio-group/index.umd.cjs +2 -2
- package/designer/response-toolbar/index.esm.js +864 -863
- package/designer/response-toolbar/index.umd.cjs +1 -1
- package/designer/section/index.esm.js +245 -183
- package/designer/section/index.umd.cjs +1 -1
- package/designer/tabs/index.css +1 -1
- package/designer/tabs/index.esm.js +3667 -2810
- package/designer/tabs/index.umd.cjs +2 -2
- package/designer/time-picker/index.esm.js +26 -17
- package/designer/time-picker/index.umd.cjs +2 -2
- package/designer/tree-grid/index.esm.js +69 -37
- package/designer/tree-grid/index.umd.cjs +1 -1
- package/designer/wizard/index.esm.js +110 -110
- package/designer/wizard/index.umd.cjs +3 -3
- package/farris.all.esm.js +39993 -39089
- package/farris.all.umd.cjs +36 -36
- package/index.css +1 -1
- package/locales/filter-bar/ui/en.json +1 -0
- package/locales/filter-bar/ui/zh-CHS.json +1 -0
- package/locales/filter-bar/ui/zh-CHT.json +1 -0
- package/locales/ui/en.json +1 -0
- package/locales/ui/zh-CHS.json +1 -0
- package/locales/ui/zh-CHT.json +1 -0
- package/package.json +1 -1
- package/types/avatar/designer.d.ts +28 -0
- package/types/avatar/index.d.ts +0 -15
- package/types/avatar/src/composition/types.d.ts +3 -0
- package/types/avatar/src/composition/use-file.d.ts +19 -0
- package/types/avatar/src/composition/use-image.d.ts +1 -1
- package/types/avatar/src/designer/avatar.design.props.d.ts +24 -0
- package/types/avatar/src/property-config/avatar.property-config.d.ts +11 -13
- package/types/avatar/src/schema/schema-mapper.d.ts +2 -0
- package/types/components.d.ts +3 -0
- package/types/condition/index.d.ts +18 -6
- package/types/condition/src/condition-fields.component.d.ts +9 -3
- package/types/condition/src/condition-fields.design.component.d.ts +9 -3
- package/types/condition/src/condition-list.component.d.ts +9 -3
- package/types/condition/src/condition.props.d.ts +11 -0
- package/types/data-view/designer/property-config/use-appearance.d.ts +17 -10
- package/types/data-view/designer/property-config/use-pagination.d.ts +0 -6
- package/types/designer-canvas/src/composition/dg-control.d.ts +13 -0
- package/types/dynamic-form/src/component/dynamic-form-label/dynamic-form-label.component.d.ts +3 -0
- package/types/dynamic-form/src/component/dynamic-form-label/dynamic-form-label.props.d.ts +4 -0
- package/types/dynamic-resolver/src/converter/tree-auto-check.converter.d.ts +3 -0
- package/types/dynamic-view/src/components/maps.d.ts +130 -4
- package/types/filter-bar/src/composition/types.d.ts +2 -0
- package/types/filter-bar/src/filter-bar.props.d.ts +0 -1
- package/types/filter-bar/src/locale/locale.d.ts +2 -1
- package/types/filter-bar/src/property-config/filter-bar.property-config.d.ts +0 -1
- package/types/language-textbox/index.d.ts +65 -2
- package/types/language-textbox/src/designer/language-textbox.design.component.d.ts +36 -0
- package/types/language-textbox/src/language-textbox.component.d.ts +38 -1
- package/types/language-textbox/src/language-textbox.props.d.ts +20 -0
- package/types/lookup/src/components/popup-container.component.d.ts +3 -3
- package/types/lookup/src/composition/use-compat.d.ts +28 -0
- package/types/lookup/src/composition/use-state.d.ts +1 -0
- package/types/message-box/src/message-box.service.d.ts +2 -1
- package/types/nav/designer.d.ts +28 -0
- package/types/nav/index.d.ts +24 -20
- package/types/nav/src/designer/nav.design.props.d.ts +29 -0
- package/types/nav/src/designer/use-design-rules.d.ts +3 -0
- package/types/nav/src/property-config/nav.property-config.d.ts +9 -0
- package/types/nav/src/schema/schema-mapper.d.ts +4 -0
- package/types/page-footer/src/designer/use-designer-rules.d.ts +2 -2
- package/types/page-header/src/designer/use-designer-rules.d.ts +2 -2
- package/types/property-panel/src/composition/entity/input-base-property.d.ts +1 -0
- package/types/query-solution/src/designer/query-solution-config/composition/use-util.d.ts +1 -1
- package/types/query-solution/src/designer/query-solution-config/query-solution-config.props.d.ts +1 -1
- package/types/section/src/designer/section.design.props.d.ts +4 -0
- package/types/section/src/property-config/section.property-config.d.ts +39 -0
- package/types/section/src/schema/toolbar-resolver.d.ts +0 -1
- package/types/step/src/designer/use-designer-rules.d.ts +3 -0
- package/types/step/src/designer/use-step-creator.d.ts +6 -0
- package/types/step/src/property-config/step.property-config.d.ts +15 -0
- package/types/step/src/schema/schema-resolver.d.ts +2 -1
- package/types/tabs/src/composition/types.d.ts +4 -0
- package/types/tabs/src/tabs.props.d.ts +6 -0
- package/types/tooltip/index.d.ts +3 -3
- package/types/tooltip/src/tooltip.component.d.ts +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
(function(F,g){typeof exports=="object"&&typeof module<"u"?g(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("bignumber.js"),require("../number-spinner/index.umd.js"),require("../designer-canvas/index.umd.js"),require("lodash-es"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","bignumber.js","../number-spinner/index.umd.js","../designer-canvas/index.umd.js","lodash-es","../common/index.umd.js"],g):(F=typeof globalThis<"u"?globalThis:F||self,g(F["number-range"]={},F.Vue,F.dynamicResolver,F.BigNumber,F.numberSpinner,F.designerCanvas,F.LodashES,F.common))})(this,function(F,g,N,M,H,c,J,U){"use strict";var ce=Object.defineProperty;var pe=(F,g,N)=>g in F?ce(F,g,{enumerable:!0,configurable:!0,writable:!0,value:N}):F[g]=N;var b=(F,g,N)=>pe(F,typeof g!="symbol"?g+"":g,N);function Q(l,n,e){return n}const Y=new Map([["appearance",N.resolveAppearance]]),ee={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/number-range.schema.json",title:"number-range",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a number-range",type:"string"},type:{description:"The type string of number-range component",type:"string",default:"number-range"},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},precision:{description:"",type:"number",default:0},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0},beginValue:{description:"",type:"number"},endValue:{description:"",type:"number"},nullable:{description:"",type:"boolean",default:!1},min:{description:"",type:"string"},max:{description:"",type:"string"},beginPlaceholder:{description:"",type:"string"},endPlaceholder:{description:"",type:"string"},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"}},required:["type"]},L={id:String,autoDecimal:{type:Boolean,default:!0},beginPlaceholder:{type:String,default:"开始数字"},beginValue:{type:[Number,String],default:""},bigNumber:{type:Boolean,default:!1},nullable:{type:Boolean,default:!1},decimalSeparator:{type:String,default:"."},disabled:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},endPlaceholder:{type:String,default:"结束数字"},endValue:{type:[Number,String],default:""},formatter:{type:Function},groupSeparator:{type:String,default:","},groupSize:{type:Number,default:3},max:{type:[Number,String]},min:{type:[Number,String]},parser:{type:Function},placeholder:{type:String,default:"请输入数字"},precision:{type:Number,default:0},prefix:{type:String,default:""},readonly:{type:Boolean,default:!1},separator:{type:String,default:"~"},showButton:{type:Boolean,default:!0},showZero:{type:Boolean,default:!0},step:{type:Number,default:1},suffix:{type:String,default:""},textAlign:{type:String,default:"left"},useThousands:{type:Boolean,default:!0}},G=N.createPropsResolver(L,ee,Y,Q);function W(l,n){const e=g.computed(()=>Number(l.precision)||0);function t(s){return s.toFixed(e.value)}function i(s){return isNaN(s)||s===null||s===void 0||s===""}function o(s){const a=i(l.max)?null:new M(String(l.max),10),u=i(l.min)?null:new M(String(l.min),10);return a&&s.gt(a)?a:u&&s.lt(u)?u:s}function r(s,a,u,d){const f=new M(s,10),h=i(u&&u.value)?null:new M(String(u.value),10),m=i(a&&a.value)?null:new M(String(a.value),10);let y;return d?y=h&&f.gt(h)?h:f:y=m&&f.lt(m)?m:f,y.toString()}function p(s,a=!0){if(l.parser)return isNaN(Number(s))?l.parser(s):s;let u=new M(s,10);if(a&&(u=o(u)),u.isNaN()){if(l.nullable)return null;const f=new M(""+l.min,10),h=new M(""+l.max,10);if(!f.isNaN())u=f;else if(!h.isNaN())u=h;else return 0}return t(u)}return{getRealValue:p,isEmpty:i,precision:e,getValidNumberObject:o,getValidNumberInRange:r}}function z(l,n,e){const t=g.computed(()=>({prefix:l.prefix,suffix:l.suffix,decimalSeparator:l.decimalSeparator,groupSeparator:l.useThousands?l.groupSeparator:"",groupSize:l.groupSize})),{getValidNumberObject:i,precision:o}=e;function r(a){return a=a==null||a===""?"":String(a),a=a.replace(new RegExp(l.prefix,"g"),"").replace(new RegExp(l.suffix,"g"),"").replace(/,/g,""),l.groupSeparator&&l.groupSeparator!==","&&(a=a.replace(new RegExp(`\\${l.groupSeparator}`,"g"),"")),l.decimalSeparator&&l.decimalSeparator!=="."&&(a=a.replace(new RegExp(`\\${l.decimalSeparator}`,"g"),".")),a}function p(a,u){return l.precision!==null&&l.precision!==void 0?a.toFormat(o.value,u):a.toFormat(u)}function s(a,u=!0){const d=r(a),f=new M(d,10);let h=f;return u&&(h=i(f)),h.valueOf()==="0"&&!l.showZero||h.isNaN()?"":l.formatter?l.formatter(h.toNumber()):p(h,t.value)}return{cleanFormat:r,format:s}}function A(l,n,e,t,i,o,r,p,s,a){const{format:u}=i,{getRealValue:d,getValidNumberInRange:f}=o;function h(){const x=new M(t.value||0);return!((l.max||l.max===0)&&!new M(l.max).isNaN()&&x.gte(new M(l.max))&&(t.value||t.value===0))}function m(){const x=new M(t.value||0);return!((l.min||l.min===0)&&!new M(l.min).isNaN()&&x.lte(new M(l.min))&&(t.value||t.value===0))}function y(x){if(l.readonly||l.disabled)return;const k=x==="up"?h:m,I=x==="up"?"plus":"minus";if(k()){let P=new M(t.value||0)[I](Number(l.step)).toFixed();P=f(P,p,s,a);const T=d(P);e.value=u(P),t.value!==T&&(t.value=T,r(t.value))}}function C(){y("up")}function w(){y("down")}function V(x){C(),x.stopPropagation()}function S(x){w(),x.stopPropagation()}return{canDownward:m,canUpward:h,downward:w,onClickDownButton:S,onClickUpButton:V,upward:C}}function O(l,n,e,t,i,o,r,p,s,a,u){const{cleanFormat:d,format:f}=i,{getRealValue:h,isEmpty:m,getValidNumberInRange:y}=o,{downward:C,upward:w}=r,V=g.computed(()=>e.value),S=g.ref(!1);function x(E){var X;if(E.stopPropagation(),l.readonly||l.disabled)return;S.value=!1;let P=(X=E.target)==null?void 0:X.value;l.nullable||(P=P||0);let T=d(P);T=y(T,s,a,u);const R=h(T);e.value=f(T),t.value!==R&&(t.value=R,p(t.value)),n.emit("blur",{event:E,formatted:e.value,value:t.value})}function k(E){E.stopPropagation(),!(l.readonly||l.disabled)&&(S.value=!0,e.value=m(t.value)||!l.showZero&&t.value==="0"?"":String(t.value),n.emit("focus",{event:E,formatted:e.value,value:t.value}))}function I(E){var R;E.stopPropagation();let P=(R=E.target)==null?void 0:R.value;l.nullable||(P=P||0);const T=d(P);e.value=T,t.value=h(T),p(t.value)}function v(E){E.key==="ArrowDown"&&(E.preventDefault(),C()),E.key==="ArrowUp"&&(E.preventDefault(),w()),E.stopPropagation()}return{textBoxValue:V,onBlurTextBox:x,onFocusTextBox:k,onInput:I,onKeyDown:v,isTextBoxFocused:S}}function K(l,n,e,t,i){const{onBlurTextBox:o,onFocusTextBox:r,onInput:p,onKeyDown:s,textBoxValue:a}=e,u=g.computed(()=>l.disabled||l.readonly||!l.editable?"":t?i.range.begin:i.range.end),d=g.computed(()=>({"form-control":!0,"sub-input":!0})),f=g.computed(()=>({"text-align":l.textAlign}));function h(m){m.stopPropagation()}return()=>g.createVNode("input",{class:d.value,style:f.value,type:"text",value:a.value,disabled:l.disabled,readonly:l.readonly||!l.editable,placeholder:u.value,onBlur:o,onChange:h,onFocus:r,onInput:p,onKeydown:s},null)}function j(l,n,e){const{canDownward:t,canUpward:i,onClickDownButton:o,onClickUpButton:r}=e,p=g.computed(()=>({"input-group-append":!0,"btn-group":!0,"btn-group-number":!0,"sub-btn-group":!0})),s=g.computed(()=>({btn:!0,"btn-secondary":!0,"btn-number-flag":!0})),a=g.computed(()=>({cursor:i()?"pointer":"not-allowed","margin-left":0})),u=g.computed(()=>({cursor:t()?"pointer":"not-allowed","margin-left":0}));return()=>g.createVNode("div",{class:p.value},[g.createVNode("button",{class:s.value,style:a.value,onClick:r,disabled:!i()},[g.createVNode("span",{class:"f-icon f-icon-arrow-chevron-up number-arrow-chevron"},null)]),g.createVNode("button",{class:s.value,style:u.value,onClick:o,disabled:!t()},[g.createVNode("span",{class:"f-icon f-icon-arrow-chevron-down number-arrow-chevron"},null)])])}const D=g.defineComponent({name:"FNumberRange",props:L,emits:["valueChange","blur","focus","click","input","beginValueChange","endValueChange"],setup(l,n){const e=g.ref(l.beginValue),t=g.ref(""),i=g.ref(l.endValue),o=g.ref(""),r=W(l),p=z(l,n,r),s=H.useNumberLocales(l),a=I=>{n.emit("beginValueChange",I)},u=A(l,n,t,e,p,r,a,e,i,!0),d=O(l,n,t,e,p,r,u,a,e,i,!0),f=j(l,n,u),h=K(l,n,d,!0,s),m=I=>{n.emit("endValueChange",I)},y=A(l,n,o,i,p,r,m,e,i,!1),C=O(l,n,o,i,p,r,y,m,e,i,!1),w=j(l,n,y),V=K(l,n,C,!1,s),{getRealValue:S}=r,{format:x}=p,k=g.computed(()=>!l.disabled&&!l.readonly&&l.showButton);return g.onMounted(()=>{const I=S(l.beginValue,!1),v=S(l.endValue,!1);t.value=x(I,!1),o.value=x(v,!1)}),g.watch(()=>[l.beginValue],([I])=>{if(!d.isTextBoxFocused.value){const v=S(I,!1);e.value=v,t.value=x(v,!1)}}),g.watch(()=>[l.endValue],([I])=>{if(!C.isTextBoxFocused.value){const v=S(I,!1);i.value=v,o.value=x(v,!1)}}),g.watch(()=>[l.precision,l.useThousands,l.prefix,l.suffix,l.showZero],()=>{t.value=x(e.value),o.value=x(i.value)}),()=>g.createVNode("div",{class:"input-group number-range f-cmp-number-spinner"},[g.createVNode("div",{class:"form-control input-container"},[g.createVNode("div",{class:"sub-input-group"},[h(),k.value&&f()]),g.createVNode("span",{class:"spliter"},[g.createTextVNode("~")]),g.createVNode("div",{class:"sub-input-group"},[V(),k.value&&w()])])])}});function Z(l,n,e,t){const{onBlurTextBox:i,onFocusTextBox:o,onInput:r,onKeyDown:p,textBoxValue:s}=e,a=g.computed(()=>t?l.beginPlaceholder:l.endPlaceholder),u=g.computed(()=>({"form-control":!0,"sub-input":!0})),d=g.computed(()=>({"text-align":l.textAlign}));function f(h){h.stopPropagation()}return()=>g.createVNode("input",{class:u.value,style:d.value,type:"text",value:s.value,disabled:l.disabled,readonly:l.readonly||!l.editable,placeholder:a.value,onBlur:i,onChange:f,onFocus:o,onInput:r,onKeydown:p},null)}function te(l){const{formSchemaUtils:n,formStateMachineUtils:e}=l;function t(s,a=""){return{path:a+s.code,field:s.id,fullPath:s.code}}function i(s,a=""){const u=n.getViewModelById(s);return u?u.states.map(d=>t(d,a)):[]}function o(s){const a=n.getRootViewModelId(),u=i(s);if(s===a)return u;const d=i(a,"root-component.");return[...u,...d]}function r(s){return s.binding&&s.binding.path||s.id||""}function p(){return e&&e.getRenderStates()||[]}return{getVariables:o,getControlName:r,getStateMachines:p}}class _{constructor(n){b(this,"sessionVariables",[{key:"CurrentSysOrgName",name:"当前组织Name",description:"当前组织Name"},{key:"CurrentSysOrgId",name:"当前组织Id",description:"当前组织Id"},{key:"CurrentUserName",name:"当前用户Name",description:"当前用户Name"},{key:"CurrentUserCode",name:"当前用户Code",description:"当前用户Code"},{key:"CurrentUserId",name:"当前用户Id",description:"当前用户Id"},{key:"CurrentLanguage",name:"当前语言编号",description:"当前登录的语言编号,例如简体中文返回'zh-CHS',英文返回'en',繁体中文'zh-CHT'"}]);b(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});b(this,"getExpressionConverter",(n,e)=>({convertFrom:(t,i,o,r)=>{const p=o.getExpressionRuleValue(n,e||i);return p&&p.value||""},convertTo:(t,i,o,r,p)=>{var s;if(i==="dataPicking"&&(o!=null&&o.target)){const a=`${o.target}_dataPicking`;((s=o.rules)==null?void 0:s.some(d=>d.id===a&&d.value))?t.dictPickingExpressionId=a:delete t.dictPickingExpressionId}r.updateExpression(o)}}));this.formSchemaService=n}getExpressionRule(n,e){const t=this.formSchemaService.getExpressions();if(!t)return"";const i=t.find(r=>r.target===n);if(!i)return"";const o=i.rules.find(r=>r.type===e);return o||""}getContextFormVariables(){const{module:n}=this.formSchemaService.getFormSchema();if(!n.viewmodels||n.viewmodels.length===0)return[];const e=this.formSchemaService.getRootViewModelId(),t=this.formSchemaService.getViewModelById(e);if(!t||!t.states||t.states.length===0)return[];const i=[];return t.states.filter(o=>o.category==="remote").forEach(o=>{i.push({key:o.code,name:o.name,description:o.name,category:o.category})}),i}createTreeNode(n,e,t="label"){return{id:n.id,name:n.name,bindingPath:n[t],parents:e,type:"field"}}buildEntityFieldsTreeData(n=null,e){const t=[];return n==null||n.forEach(i=>{var p;const o=this.createTreeNode(i,e);let r=[];(p=i.type)!=null&&p.fields&&(r=this.buildEntityFieldsTreeData(i.type.fields,[...e,i.label])),t.push({data:o,children:r,expanded:!0})}),t}buildChildEntityTreeData(n=null,e){const t=[];return n==null||n.forEach(i=>{var s,a;const o=this.createTreeNode(i,e);o.type="entity";const r=this.buildEntityFieldsTreeData((s=i.type)==null?void 0:s.fields,[...e,i.label]),p=this.buildChildEntityTreeData((a=i.type)==null?void 0:a.entities,[...e,i.label]);p!=null&&p.length&&(r==null||r.push(...p)),t.push({data:o,children:r||[],expanded:!0})}),t}getEntitiesTreeData(){const n=this.formSchemaService.getSchemaEntities();if(!(n!=null&&n.length))return[];const e=n[0];if(!(e!=null&&e.type))return[];const t=this.buildEntityFieldsTreeData(e.type.fields,[e.code]),i=this.buildChildEntityTreeData(e.type.entities,[e.code]);return i!=null&&i.length&&(t==null||t.push(...i)),{entityCode:e.code,fields:[{data:this.createTreeNode(e,[],"code"),children:t||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(n,e,t){const i=t==="Field"?n.binding.field:n.id,o=this.getExpressionRule(i,e),r=this.getEntitiesAndVariables(),p={message:["validate","required","dataPicking"].includes(e)&&o?o.message:"",...r};return o.messageType!=null&&(p.messageType=o.messageType),p}buildRule(n,e,t,i){const{expression:o,message:r,messageType:p}=e,s={id:`${n}_${t}`,type:t,value:o};return(t==="validate"||t==="dataPicking"||t==="required")&&(s.message=r),t==="dataPicking"&&(s.messageType=p),t==="validate"&&i&&(s.elementId=i),s}getExpressionData(){const{expressions:n}=this.formSchemaService.getFormSchema().module;return n||[]}updateExpression(n,e,t,i){const o=e==="Field"?n.binding.field:n.id,r=this.buildRule(o,t,i,n.type==="form-group"?n.id:"");let s=this.getExpressionData().find(u=>u.targetType===e&&u.target===o);const a=u=>u.value.trim()==="";if(s){const u=s.rules.find(d=>d.id===r.id);if(u)a(r)?s.rules=s.rules.filter(d=>d.id!==r.id):(Object.assign(u,r),i==="validate"&&n.type==="form-group"&&(u.elementId=n.id));else{if(a(r))return null;s.rules=s.rules||[],s.rules.push(r)}}else{if(a(r))return null;s={target:`${o}`,rules:[r],targetType:e}}return s}getExpressionEditorOptions(n,e,t,i){return t.reduce((o,r)=>{var s,a;const p=e==="Field"?(s=n==null?void 0:n.binding)==null?void 0:s.field:n.id;return o[r]={hide:e==="Field"?!!((a=n==null?void 0:n.binding)!=null&&a.field):!1,description:"",title:this.expressionNames[r],type:"string",$converter:this.getExpressionConverter(p),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[r]}编辑器`,showMessage:r==="validate"||r==="dataPicking"||r==="required",showMessageType:r==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(n,r,e),onSubmitModal:u=>{const d=this.updateExpression(n,e,u,r);if(i){const f=this.buildRule(p,u,r);i(f)}return d}}},o},{})}getExpressionInfo(n,e,t){const i=e==="Field"?n.binding.field:n.id,o=this.getExpressionRule(i,t),r={value:o&&o.value,targetId:i,targetType:e,expressionType:t};return o&&o.message&&(r.message=o.message),r}getExpressionConfig(n,e,t=["compute","dependency","validate"],i){return{description:"表达式",title:"表达式",hide:!n.binding,properties:{...this.getExpressionEditorOptions(n,e,t,i)}}}getExpressionOptions(n,e,t){const i=this.getExpressionInfo(n,e,t);return{dialogTitle:`${this.expressionNames[t]}编辑器`,singleExpand:!1,showMessage:t==="required",beforeOpen:()=>this.onBeforeOpenExpression(n,t,e),expressionInfo:i}}}class ie{constructor(n,e){b(this,"componentId");b(this,"viewModelId");b(this,"eventsEditorUtils");b(this,"formSchemaUtils");b(this,"formMetadataConverter");b(this,"designViewModelUtils");b(this,"designViewModelField");b(this,"controlCreatorUtils");b(this,"designerHostService");b(this,"designerContext");b(this,"schemaService",null);b(this,"metadataService",null);b(this,"propertyConfig",{type:"object",categories:{}});var t;this.componentId=n,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((t=this.formSchemaUtils)==null?void 0:t.getViewModelIdByComponentId(n))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService,this.designerContext=e.designerContext}getFormDesignerInstance(){var n,e;return(e=(n=this.designerContext)==null?void 0:n.instances)==null?void 0:e.formDesigner.value}getTableInfo(){var n;return(n=this.schemaService)==null?void 0:n.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(n){var t;const e=n.binding&&n.binding.type==="Form"&&n.binding.field;if(e){if(!this.designViewModelField){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(o=>o.id===e)}n.updateOn=(t=this.designViewModelField)==null?void 0:t.updateOn}}getBasicPropConfig(n){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",idField:"value",editable:!1,data:[{value:n.type,name:c.DgControl[n.type]&&c.DgControl[n.type].name}]}}}}}getAppearanceConfig(n=null,e={},t){const i={title:"外观",description:"Appearance"},o={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"}};for(const r in e)o[r]=Object.assign(o[r]||{},e[r]);return{...i,properties:{...o},setPropertyRelates(r,p){if(r){switch(r&&r.propertyID){case"class":case"style":{c.canvasChanged.value++;break}}t&&t(r,n,p)}}}}getPropertyEditorParams(n,e=[],t="visible",i={},o={},r=""){const{getVariables:p,getControlName:s,getStateMachines:a}=te(this.designerHostService),u=this.getRealTargetType(n),d=e&&e.length>0?e:["Const","Variable","StateMachine","Expression"],f={type:"property-editor",propertyTypes:d};return d.map(h=>{switch(h){case"Const":Object.assign(f,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},i);break;case"Expression":f.expressionConfig=this.getExpressionOptions(n,u,r||t);break;case"StateMachine":f.stateMachines=a();break;case"Variable":Object.assign(f,{controlName:s(n),newVariablePrefix:"is",newVariableType:"Boolean",variables:p(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:m=>{m.value=p(this.viewModelId)}},o),this.designerContext.designerMode==="PC_RTC"&&(f.newVariablePrefix="ext_"+f.newVariablePrefix);break}}),f}getVisibleProperty(n,e=""){var o;let t=["Const","Variable","StateMachine","Expression"];return e==="gridFieldEditor"?t=["Const","Expression"]:e==="form-group"&&!((o=n.binding)!=null&&o.field)?t=["Const","Variable","StateMachine"]:(e==="dataGrid"||e==="treeGrid"||e==="wizard")&&(t=["Const","Variable","Expression"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(n,t,"visible")}}}getBehaviorConfig(n,e="",t={},i){const o={title:"行为",description:""},r=this.getVisibleProperty(n,e);for(const s in t)r[s]=Object.assign(r[s]||{},t[s]);const p=this;return{...o,properties:{...r},setPropertyRelates(s,a){if(s){switch(s.propertyID){case"disabled":case"readonly":case"visible":p.afterMutilEditorChanged(n,s);break}i&&i(s,a)}}}}afterMutilEditorChanged(n,e){this.addNewVariableToViewModel(e,this.viewModelId),this.updateExpressionValue(e),this.clearExpression(e,n)}updateElementByParentContainer(n,e){const t=e&&e.parent&&e.parent.schema;if(!t)return;const i=t.contents.findIndex(r=>r.id===n),o=J.cloneDeep(t.contents[i]);t.contents.splice(i,1),t.contents.splice(i,0,o),c.refreshCanvas()}addNewVariableToViewModel(n,e){const t=n.propertyValue;if(!(t&&typeof t=="object")||!(t.type==="Variable"&&t.isNewVariable))return;const r={id:t.field,category:"locale",code:t.fullPath,name:t.fullPath,type:t.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete t.newVariableType,delete t.isNewVariable,this.formSchemaUtils.getVariableByCode(r.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(r)}updateExpressionValue(n){const e=n.propertyValue;if(!((e&&e.type)==="Expression"&&e.expressionInfo))return;const{expressionId:o,expressionInfo:r}=e,{targetId:p,targetType:s,expressionType:a,value:u,message:d}=r,f=this.formSchemaUtils.getModule();f.expressions=f.expressions||[];const{expressions:h}=f;let m=h.find(C=>C.target===p);m||(m={target:p,rules:[],targetType:s},h.push(m));const y=m.rules.find(C=>C.type===a);if(y)y.value=u,y.message=d;else{const C={id:o,type:a,value:u,message:d};m.rules.push(C)}delete e.expressionInfo}clearExpression(n,e){const t=n.propertyValue;if(t&&t.type==="Expression")return;const o=n.propertyID,r=this.formSchemaUtils.getExpressions(),p=e.binding?e.binding.field:e.id,s=r.find(a=>a.target===p);!s||!s.rules||(s.rules=s.rules.filter(a=>a.type!==o))}getExpressionOptions(n,e,t){return new _(this.formSchemaUtils).getExpressionOptions(n,e,t)}getRealTargetType(n){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(n.type)>-1?"Button":n.binding&&n.binding.field?"Field":"Container"}createBaseEventProperty(n){const e={};return e[this.viewModelId]={type:"events-editor",editor:{initialData:n,viewSourceHandle:t=>{var i;((i=t.controller)==null?void 0:i.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(t)}}},e}}const B=class B{static getEditorTypesByMDataType(n,e=!1,t=""){if(e)return[{key:c.DgControl["language-textbox"].type,value:c.DgControl["language-textbox"].name}];let i=B.fieldControlTypeMapping[n];if(t==="data-grid-column"&&(i!=null&&i.length)){const o=[c.DgControl["check-group"].type,c.DgControl["radio-group"].type,c.DgControl.image.type,c.DgControl["rich-text-editor"].type];i=i.filter(r=>!o.includes(r.key))}return i}static getAllInputTypes(){const n=[];for(const e in B.fieldControlTypeMapping)B.fieldControlTypeMapping[e].forEach(t=>{n.find(i=>i.key===t.key&&i.value===t.value)||n.push({key:t.key,value:t.value})});return n}static mappingDomPropAndSchemaProp(n,e){var o;const t=(o=n.editor)==null?void 0:o.type,i=[];return(n.type===c.DgControl["data-grid-column"].type||n.type===c.DgControl["tree-grid-column"].type)&&e&&e.categoryId&&e.categoryId.indexOf("gridFieldEditor")<0&&i.push({domField:"title",schemaField:"name"}),i.push({domField:"label",schemaField:"name"}),i.push({domField:"editor.required",schemaField:"require"}),i.push({domField:"editor.readonly",schemaField:"readonly"}),(t===c.DgControl["input-group"].type||t===c.DgControl.textarea.type||t===c.DgControl["number-spinner"].type)&&i.push({domField:"editor.maxLength",schemaField:"type.length"}),t===c.DgControl["number-spinner"].type&&i.push({domField:"editor.precision",schemaField:"type.precision"}),(n.type===c.DgControl["data-grid-column"].type||n.type===c.DgControl["tree-grid-column"].type)&&i.push({domField:"formatter.precision",schemaField:"type.precision"}),(t===c.DgControl["combo-list"].type||t===c.DgControl["radio-group"].type)&&i.push({domField:"editor.data",schemaField:"type.enumValues"}),(n.type===c.DgControl["data-grid-column"].type||n.type===c.DgControl["tree-grid-column"].type)&&i.push({domField:"formatter.data",schemaField:"type.enumValues"}),t===c.DgControl["date-picker"].type&&(i.push({domField:"editor.displayFormat",schemaField:"editor.format"}),i.push({domField:"editor.fieldType",schemaField:"type.name"})),t===c.DgControl["number-spinner"].type&&(i.push({domField:"editor.max",schemaField:"editor.maxValue"}),i.push({domField:"editor.min",schemaField:"editor.minValue"})),t===c.DgControl.lookup.type&&(i.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),i.push({domField:"editor.valueField",schemaField:"editor.valueField"}),i.push({domField:"editor.textField",schemaField:"editor.textField"}),i.push({domField:"editor.displayType",schemaField:"editor.displayType"}),i.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),i.push({domField:"editor.helpId",schemaField:"editor.helpId"})),i.push({domField:"path",schemaField:"bindingPath"}),i.push({domField:"binding.path",schemaField:"bindingField"}),i.push({domField:"binding.fullPath",schemaField:"path"}),(n.type===c.DgControl["data-grid-column"].type||n.type===c.DgControl["tree-grid-column"].type)&&i.push({domField:"field",schemaField:"bindingPath"}),i}};b(B,"fieldControlTypeMapping",{String:[{key:c.DgControl["input-group"].type,value:c.DgControl["input-group"].name},{key:c.DgControl.lookup.type,value:c.DgControl.lookup.name},{key:c.DgControl.image.type,value:c.DgControl.image.name},{key:c.DgControl["date-picker"].type,value:c.DgControl["date-picker"].name},{key:c.DgControl.switch.type,value:c.DgControl.switch.name},{key:c.DgControl["check-box"].type,value:c.DgControl["check-box"].name},{key:c.DgControl["check-group"].type,value:c.DgControl["check-group"].name},{key:c.DgControl["radio-group"].type,value:c.DgControl["radio-group"].name},{key:c.DgControl["combo-list"].type,value:c.DgControl["combo-list"].name},{key:c.DgControl.textarea.type,value:c.DgControl.textarea.name},{key:c.DgControl["time-picker"].type,value:c.DgControl["time-picker"].name}],Text:[{key:c.DgControl.textarea.type,value:c.DgControl.textarea.name},{key:c.DgControl.lookup.type,value:c.DgControl.lookup.name},{key:c.DgControl.image.type,value:c.DgControl.image.name},{key:c.DgControl["rich-text-editor"].type,value:c.DgControl["rich-text-editor"].name}],Decimal:[{key:c.DgControl["number-spinner"].type,value:c.DgControl["number-spinner"].name}],Integer:[{key:c.DgControl["number-spinner"].type,value:c.DgControl["number-spinner"].name}],Number:[{key:c.DgControl["number-spinner"].type,value:c.DgControl["number-spinner"].name},{key:c.DgControl.switch.type,value:c.DgControl.switch.name},{key:c.DgControl["check-box"].type,value:c.DgControl["check-box"].name}],BigNumber:[{key:c.DgControl["number-spinner"].type,value:c.DgControl["number-spinner"].name}],Date:[{key:c.DgControl["date-picker"].type,value:c.DgControl["date-picker"].name}],DateTime:[{key:c.DgControl["date-picker"].type,value:c.DgControl["date-picker"].name}],Boolean:[{key:c.DgControl.switch.type,value:c.DgControl.switch.name},{key:c.DgControl["check-box"].type,value:c.DgControl["check-box"].name}],Enum:[{key:c.DgControl["combo-list"].type,value:c.DgControl["combo-list"].name},{key:c.DgControl["radio-group"].type,value:c.DgControl["radio-group"].name}],Object:[{key:c.DgControl.lookup.type,value:c.DgControl.lookup.name},{key:c.DgControl["combo-list"].type,value:c.DgControl["combo-list"].name},{key:c.DgControl["radio-group"].type,value:c.DgControl["radio-group"].name}]});let q=B;var $=(l=>(l.Form="Form",l.Variable="Variable",l))($||{});class ne{constructor(){b(this,"label","");b(this,"id","");b(this,"columnInSM",12);b(this,"columnInMD",6);b(this,"columnInLG",3);b(this,"columnInEL",2);b(this,"displayWidthInSM",1);b(this,"displayWidthInMD",1);b(this,"displayWidthInLG",1);b(this,"displayWidthInEL",1);b(this,"displayColumnCountAtBreakPoint","md");b(this,"tagRow",0);b(this,"showTopBorder",0);b(this,"group",1);b(this,"isSupportedClass",!0);b(this,"fieldSetId","")}}function oe(l){let n,e;const t=new Map;let i=[];function o(u,d){const h=u.split(" ").filter(V=>V.startsWith("col-"));if(h.length===0){d.isSupportedClass=!1;return}let m=h.find(V=>/^col-([1-9]|10|11|12)$/.test(V)),y=h.find(V=>/^col-md-([1-9]|10|11|12)$/.test(V)),C=h.find(V=>/^col-xl-([1-9]|10|11|12)$/.test(V)),w=h.find(V=>/^col-el-([1-9]|10|11|12)$/.test(V));m=m||"col-12",d.columnInSM=parseInt(m.replace("col-",""),10),d.displayWidthInSM=d.columnInSM/12,d.displayWidthInSM!==1&&(d.isSupportedClass=!1),y=y||"col-md-"+d.columnInSM,d.columnInMD=parseInt(y.replace("col-md-",""),10),d.displayWidthInMD=d.columnInMD/6,[1,2].includes(d.displayWidthInMD)||(d.isSupportedClass=!1),C=C||"col-xl-"+d.columnInMD,d.columnInLG=parseInt(C.replace("col-xl-",""),10),d.displayWidthInLG=d.columnInLG/3,[1,2,3,4].includes(d.displayWidthInLG)||(d.isSupportedClass=!1),w=w||"col-el-"+d.columnInLG,d.columnInEL=parseInt(w.replace("col-el-",""),10),d.displayWidthInEL=d.columnInEL/2,[1,2,3,4,5,6].includes(d.displayWidthInEL)||(d.isSupportedClass=!1)}function r(u,d,f,h=!1){let m=!1;u.contents.forEach(y=>{if(y.type==="fieldset"){f+=1,r(y,d,f,!0),m=!0;return}m&&(f+=1,m=!1);const C=y.appearance&&y.appearance.class,w=new ne;C?o(C,w):w.isSupportedClass=!1,w.label=y.label||y.id,w.id=y.id,w.group=f,h&&(w.fieldSetId=u.id),e===y.id&&(n=f),t.set(y.id,y),d.push(w)})}function p(u){const d=l.getComponentById(u);if(!d||!d.componentType||!d.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const f=l.selectNode(d,h=>h.type===c.DgControl["response-form"].type);return!f||!f.contents||f.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:f}}function s(u,d){d=d||u.id;const{result:f,message:h,formNode:m}=p(d);if(!f)return{result:f,message:h};e=u.id,i=[],t.clear();const y=m.contents[0].type===c.DgControl.fieldset.type?0:1;r(m,i,y);const C=i.find(V=>!V.isSupportedClass);return{defaultState:{defaultGroupNumber:n||1,model:C?"customize":"standard"},importData:i}}function a(u,d){d=d;const{result:f,formNode:h}=p(d);if(!f)return"";const m=[];return u.forEach(y=>{var V;const C=t.get(y.id),w=C.appearance&&C.appearance.class;if(w){const x=w.split(" ").filter(T=>!T.startsWith("col-")),k="col-"+y.columnInSM,I="col-md-"+y.columnInMD,v="col-xl-"+y.columnInLG,E="col-el-"+y.columnInEL,P=[k,I,v,E].concat(x);C.appearance.class=P.join(" ")}if(y.fieldSetId){const S=h.contents.find(k=>k.id===y.fieldSetId),x=m.find(k=>k.id===y.fieldSetId);x?(V=x.contents)==null||V.push(C):(m.push(S),S.contents=[C])}else m.push(C)}),h.contents=m,h.id}return{checkCanFindFormNode:p,checkCanOpenLayoutEditor:s,changeFormControlsByResponseLayoutConfig:a,getResonseFormLayoutConfig:r}}const re=l=>g.createVNode(g.Fragment,null,[g.createVNode("h5",null,[g.createTextVNode("代码示例")]),g.createVNode("pre",{style:"background-color: #f5f5f5; padding: 10px; border-radius: 5px;"},[g.createVNode("code",null,[`
|
|
1
|
+
(function(E,g){typeof exports=="object"&&typeof module<"u"?g(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("bignumber.js"),require("../number-spinner/index.umd.js"),require("../designer-canvas/index.umd.js"),require("lodash-es"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","bignumber.js","../number-spinner/index.umd.js","../designer-canvas/index.umd.js","lodash-es","../common/index.umd.js"],g):(E=typeof globalThis<"u"?globalThis:E||self,g(E["number-range"]={},E.Vue,E.dynamicResolver,E.BigNumber,E.numberSpinner,E.designerCanvas,E.LodashES,E.common))})(this,function(E,g,N,v,H,c,J,R){"use strict";var ce=Object.defineProperty;var pe=(E,g,N)=>g in E?ce(E,g,{enumerable:!0,configurable:!0,writable:!0,value:N}):E[g]=N;var b=(E,g,N)=>pe(E,typeof g!="symbol"?g+"":g,N);function Q(l,n,e){return n}const Y=new Map([["appearance",N.resolveAppearance]]),ee={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/number-range.schema.json",title:"number-range",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a number-range",type:"string"},type:{description:"The type string of number-range component",type:"string",default:"number-range"},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},precision:{description:"",type:"number",default:0},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0},beginValue:{description:"",type:"number"},endValue:{description:"",type:"number"},nullable:{description:"",type:"boolean",default:!1},min:{description:"",type:"string"},max:{description:"",type:"string"},beginPlaceholder:{description:"",type:"string"},endPlaceholder:{description:"",type:"string"},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"}},required:["type"]},U={id:String,autoDecimal:{type:Boolean,default:!0},beginPlaceholder:{type:String,default:"开始数字"},beginValue:{type:[Number,String],default:""},bigNumber:{type:Boolean,default:!1},nullable:{type:Boolean,default:!1},decimalSeparator:{type:String,default:"."},disabled:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},endPlaceholder:{type:String,default:"结束数字"},endValue:{type:[Number,String],default:""},formatter:{type:Function},groupSeparator:{type:String,default:","},groupSize:{type:Number,default:3},max:{type:[Number,String]},min:{type:[Number,String]},parser:{type:Function},placeholder:{type:String,default:"请输入数字"},precision:{type:Number,default:0},prefix:{type:String,default:""},readonly:{type:Boolean,default:!1},separator:{type:String,default:"~"},showButton:{type:Boolean,default:!0},showZero:{type:Boolean,default:!0},step:{type:Number,default:1},suffix:{type:String,default:""},textAlign:{type:String,default:"left"},useThousands:{type:Boolean,default:!0}},G=N.createPropsResolver(U,ee,Y,Q);function W(l,n){const e=g.computed(()=>Number(l.precision)||0);function t(s){return s.toFixed(e.value)}function i(s){return isNaN(s)||s===null||s===void 0||s===""}function o(s){const a=i(l.max)?null:new v(String(l.max),10),u=i(l.min)?null:new v(String(l.min),10);return a&&s.gt(a)?a:u&&s.lt(u)?u:s}function r(s,a,u,d){const f=new v(s,10),h=i(u&&u.value)?null:new v(String(u.value),10),m=i(a&&a.value)?null:new v(String(a.value),10);let y;return d?y=h&&f.gt(h)?h:f:y=m&&f.lt(m)?m:f,y.toString()}function p(s,a=!0){if(l.parser)return isNaN(Number(s))?l.parser(s):s;let u=new v(s,10);if(a&&(u=o(u)),u.isNaN()){if(l.nullable)return null;const f=new v(""+l.min,10),h=new v(""+l.max,10);if(!f.isNaN())u=f;else if(!h.isNaN())u=h;else return 0}return t(u)}return{getRealValue:p,isEmpty:i,precision:e,getValidNumberObject:o,getValidNumberInRange:r}}function z(l,n,e){const t=g.computed(()=>({prefix:l.prefix,suffix:l.suffix,decimalSeparator:l.decimalSeparator,groupSeparator:l.useThousands?l.groupSeparator:"",groupSize:l.groupSize})),{getValidNumberObject:i,precision:o}=e;function r(a){return a=a==null||a===""?"":String(a),a=a.replace(new RegExp(l.prefix,"g"),"").replace(new RegExp(l.suffix,"g"),"").replace(/,/g,""),l.groupSeparator&&l.groupSeparator!==","&&(a=a.replace(new RegExp(`\\${l.groupSeparator}`,"g"),"")),l.decimalSeparator&&l.decimalSeparator!=="."&&(a=a.replace(new RegExp(`\\${l.decimalSeparator}`,"g"),".")),a}function p(a,u){return l.precision!==null&&l.precision!==void 0?a.toFormat(o.value,u):a.toFormat(u)}function s(a,u=!0){const d=r(a),f=new v(d,10);let h=f;return u&&(h=i(f)),h.valueOf()==="0"&&!l.showZero||h.isNaN()?"":l.formatter?l.formatter(h.toNumber()):p(h,t.value)}return{cleanFormat:r,format:s}}function A(l,n,e,t,i,o,r,p,s,a){const{format:u}=i,{getRealValue:d,getValidNumberInRange:f}=o;function h(){const x=new v(t.value||0);return!((l.max||l.max===0)&&!new v(l.max).isNaN()&&x.gte(new v(l.max))&&(t.value||t.value===0))}function m(){const x=new v(t.value||0);return!((l.min||l.min===0)&&!new v(l.min).isNaN()&&x.lte(new v(l.min))&&(t.value||t.value===0))}function y(x){if(l.readonly||l.disabled)return;const k=x==="up"?h:m,I=x==="up"?"plus":"minus";if(k()){let P=new v(t.value||0)[I](Number(l.step)).toFixed();P=f(P,p,s,a);const T=d(P);e.value=u(P),t.value!==T&&(t.value=T,r(t.value))}}function C(){y("up")}function w(){y("down")}function V(x){C(),x.stopPropagation()}function S(x){w(),x.stopPropagation()}return{canDownward:m,canUpward:h,downward:w,onClickDownButton:S,onClickUpButton:V,upward:C}}function O(l,n,e,t,i,o,r,p,s,a,u){const{cleanFormat:d,format:f}=i,{getRealValue:h,isEmpty:m,getValidNumberInRange:y}=o,{downward:C,upward:w}=r,V=g.computed(()=>e.value),S=g.ref(!1);function x(F){var X;if(F.stopPropagation(),l.readonly||l.disabled)return;S.value=!1;let P=(X=F.target)==null?void 0:X.value;l.nullable||(P=P||0);let T=d(P);T=y(T,s,a,u);const L=h(T);e.value=f(T),t.value!==L&&(t.value=L,p(t.value)),n.emit("blur",{event:F,formatted:e.value,value:t.value})}function k(F){F.stopPropagation(),!(l.readonly||l.disabled)&&(S.value=!0,e.value=m(t.value)||!l.showZero&&t.value==="0"?"":String(t.value),n.emit("focus",{event:F,formatted:e.value,value:t.value}))}function I(F){var L;F.stopPropagation();let P=(L=F.target)==null?void 0:L.value;l.nullable||(P=P||0);const T=d(P);e.value=T,t.value=h(T),p(t.value)}function M(F){F.key==="ArrowDown"&&(F.preventDefault(),C()),F.key==="ArrowUp"&&(F.preventDefault(),w()),F.stopPropagation()}return{textBoxValue:V,onBlurTextBox:x,onFocusTextBox:k,onInput:I,onKeyDown:M,isTextBoxFocused:S}}function K(l,n,e,t,i){const{onBlurTextBox:o,onFocusTextBox:r,onInput:p,onKeyDown:s,textBoxValue:a}=e,u=g.computed(()=>l.disabled||l.readonly||!l.editable?"":t?i.range.begin:i.range.end),d=g.computed(()=>({"form-control":!0,"sub-input":!0})),f=g.computed(()=>({"text-align":l.textAlign}));function h(m){m.stopPropagation()}return()=>g.createVNode("input",{class:d.value,style:f.value,type:"text",value:a.value,disabled:l.disabled,readonly:l.readonly||!l.editable,placeholder:u.value,onBlur:o,onChange:h,onFocus:r,onInput:p,onKeydown:s},null)}function j(l,n,e){const{canDownward:t,canUpward:i,onClickDownButton:o,onClickUpButton:r}=e,p=g.computed(()=>({"input-group-append":!0,"btn-group":!0,"btn-group-number":!0,"sub-btn-group":!0})),s=g.computed(()=>({btn:!0,"btn-secondary":!0,"btn-number-flag":!0})),a=g.computed(()=>({cursor:i()?"pointer":"not-allowed","margin-left":0})),u=g.computed(()=>({cursor:t()?"pointer":"not-allowed","margin-left":0}));return()=>g.createVNode("div",{class:p.value},[g.createVNode("button",{class:s.value,style:a.value,onClick:r,disabled:!i()},[g.createVNode("span",{class:"f-icon f-icon-arrow-chevron-up number-arrow-chevron"},null)]),g.createVNode("button",{class:s.value,style:u.value,onClick:o,disabled:!t()},[g.createVNode("span",{class:"f-icon f-icon-arrow-chevron-down number-arrow-chevron"},null)])])}const D=g.defineComponent({name:"FNumberRange",props:U,emits:["valueChange","blur","focus","click","input","beginValueChange","endValueChange"],setup(l,n){const e=g.ref(l.beginValue),t=g.ref(""),i=g.ref(l.endValue),o=g.ref(""),r=W(l),p=z(l,n,r),s=H.useNumberLocales(l),a=I=>{n.emit("beginValueChange",I)},u=A(l,n,t,e,p,r,a,e,i,!0),d=O(l,n,t,e,p,r,u,a,e,i,!0),f=j(l,n,u),h=K(l,n,d,!0,s),m=I=>{n.emit("endValueChange",I)},y=A(l,n,o,i,p,r,m,e,i,!1),C=O(l,n,o,i,p,r,y,m,e,i,!1),w=j(l,n,y),V=K(l,n,C,!1,s),{getRealValue:S}=r,{format:x}=p,k=g.computed(()=>!l.disabled&&!l.readonly&&l.showButton);return g.onMounted(()=>{const I=S(l.beginValue,!1),M=S(l.endValue,!1);t.value=x(I,!1),o.value=x(M,!1)}),g.watch(()=>[l.beginValue],([I])=>{if(!d.isTextBoxFocused.value){const M=S(I,!1);e.value=M,t.value=x(M,!1)}}),g.watch(()=>[l.endValue],([I])=>{if(!C.isTextBoxFocused.value){const M=S(I,!1);i.value=M,o.value=x(M,!1)}}),g.watch(()=>[l.precision,l.useThousands,l.prefix,l.suffix,l.showZero],()=>{t.value=x(e.value),o.value=x(i.value)}),()=>g.createVNode("div",{class:"input-group number-range f-cmp-number-spinner"},[g.createVNode("div",{class:"form-control input-container"},[g.createVNode("div",{class:"sub-input-group"},[h(),k.value&&f()]),g.createVNode("span",{class:"spliter"},[g.createTextVNode("~")]),g.createVNode("div",{class:"sub-input-group"},[V(),k.value&&w()])])])}});function Z(l,n,e,t){const{onBlurTextBox:i,onFocusTextBox:o,onInput:r,onKeyDown:p,textBoxValue:s}=e,a=g.computed(()=>t?l.beginPlaceholder:l.endPlaceholder),u=g.computed(()=>({"form-control":!0,"sub-input":!0})),d=g.computed(()=>({"text-align":l.textAlign}));function f(h){h.stopPropagation()}return()=>g.createVNode("input",{class:u.value,style:d.value,type:"text",value:s.value,disabled:l.disabled,readonly:l.readonly||!l.editable,placeholder:a.value,onBlur:i,onChange:f,onFocus:o,onInput:r,onKeydown:p},null)}function te(l){const{formSchemaUtils:n,formStateMachineUtils:e}=l;function t(s,a=""){return{path:a+s.code,field:s.id,fullPath:s.code}}function i(s,a=""){const u=n.getViewModelById(s);return u?u.states.map(d=>t(d,a)):[]}function o(s){const a=n.getRootViewModelId(),u=i(s);if(s===a)return u;const d=i(a,"root-component.");return[...u,...d]}function r(s){return s.binding&&s.binding.path||s.id||""}function p(){return e&&e.getRenderStates()||[]}return{getVariables:o,getControlName:r,getStateMachines:p}}class _{constructor(n){b(this,"sessionVariables",[{key:"CurrentSysOrgName",name:"当前组织Name",description:"当前组织Name"},{key:"CurrentSysOrgId",name:"当前组织Id",description:"当前组织Id"},{key:"CurrentUserName",name:"当前用户Name",description:"当前用户Name"},{key:"CurrentUserCode",name:"当前用户Code",description:"当前用户Code"},{key:"CurrentUserId",name:"当前用户Id",description:"当前用户Id"},{key:"CurrentLanguage",name:"当前语言编号",description:"当前登录的语言编号,例如简体中文返回'zh-CHS',英文返回'en',繁体中文'zh-CHT'"}]);b(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});b(this,"getExpressionConverter",(n,e)=>({convertFrom:(t,i,o,r)=>{const p=o.getExpressionRuleValue(n,e||i);return p&&p.value||""},convertTo:(t,i,o,r,p)=>{var s;if(i==="dataPicking"&&(o!=null&&o.target)){const a=`${o.target}_dataPicking`;((s=o.rules)==null?void 0:s.some(d=>d.id===a&&d.value))?t.dictPickingExpressionId=a:delete t.dictPickingExpressionId}r.updateExpression(o)}}));this.formSchemaService=n}getExpressionRule(n,e){const t=this.formSchemaService.getExpressions();if(!t)return"";const i=t.find(r=>r.target===n);if(!i)return"";const o=i.rules.find(r=>r.type===e);return o||""}getContextFormVariables(){const{module:n}=this.formSchemaService.getFormSchema();if(!n.viewmodels||n.viewmodels.length===0)return[];const e=this.formSchemaService.getRootViewModelId(),t=this.formSchemaService.getViewModelById(e);if(!t||!t.states||t.states.length===0)return[];const i=[];return t.states.filter(o=>o.category==="remote").forEach(o=>{i.push({key:o.code,name:o.name,description:o.name,category:o.category})}),i}createTreeNode(n,e,t="label"){return{id:n.id,name:n.name,bindingPath:n[t],parents:e,type:"field"}}buildEntityFieldsTreeData(n=null,e){const t=[];return n==null||n.forEach(i=>{var p;const o=this.createTreeNode(i,e);let r=[];(p=i.type)!=null&&p.fields&&(r=this.buildEntityFieldsTreeData(i.type.fields,[...e,i.label])),t.push({data:o,children:r,expanded:!0})}),t}buildChildEntityTreeData(n=null,e){const t=[];return n==null||n.forEach(i=>{var s,a;const o=this.createTreeNode(i,e);o.type="entity";const r=this.buildEntityFieldsTreeData((s=i.type)==null?void 0:s.fields,[...e,i.label]),p=this.buildChildEntityTreeData((a=i.type)==null?void 0:a.entities,[...e,i.label]);p!=null&&p.length&&(r==null||r.push(...p)),t.push({data:o,children:r||[],expanded:!0})}),t}getEntitiesTreeData(){const n=this.formSchemaService.getSchemaEntities();if(!(n!=null&&n.length))return[];const e=n[0];if(!(e!=null&&e.type))return[];const t=this.buildEntityFieldsTreeData(e.type.fields,[e.code]),i=this.buildChildEntityTreeData(e.type.entities,[e.code]);return i!=null&&i.length&&(t==null||t.push(...i)),{entityCode:e.code,fields:[{data:this.createTreeNode(e,[],"code"),children:t||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(n,e,t){const i=t==="Field"?n.binding.field:n.id,o=this.getExpressionRule(i,e),r=this.getEntitiesAndVariables(),p={message:["validate","required","dataPicking"].includes(e)&&o?o.message:"",...r};return o.messageType!=null&&(p.messageType=o.messageType),p}buildRule(n,e,t,i){const{expression:o,message:r,messageType:p}=e,s={id:`${n}_${t}`,type:t,value:o};return(t==="validate"||t==="dataPicking"||t==="required")&&(s.message=r),t==="dataPicking"&&(s.messageType=p),t==="validate"&&i&&(s.elementId=i),s}getExpressionData(){const{expressions:n}=this.formSchemaService.getFormSchema().module;return n||[]}updateExpression(n,e,t,i){const o=e==="Field"?n.binding.field:n.id,r=this.buildRule(o,t,i,n.type==="form-group"?n.id:"");let s=this.getExpressionData().find(u=>u.targetType===e&&u.target===o);const a=u=>u.value.trim()==="";if(s){const u=s.rules.find(d=>d.id===r.id);if(u)a(r)?s.rules=s.rules.filter(d=>d.id!==r.id):(Object.assign(u,r),i==="validate"&&n.type==="form-group"&&(u.elementId=n.id));else{if(a(r))return null;s.rules=s.rules||[],s.rules.push(r)}}else{if(a(r))return null;s={target:`${o}`,rules:[r],targetType:e}}return s}getExpressionEditorOptions(n,e,t,i){return t.reduce((o,r)=>{var s,a;const p=e==="Field"?(s=n==null?void 0:n.binding)==null?void 0:s.field:n.id;return o[r]={hide:e==="Field"?!!((a=n==null?void 0:n.binding)!=null&&a.field):!1,description:"",title:this.expressionNames[r],type:"string",$converter:this.getExpressionConverter(p),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[r]}编辑器`,showMessage:r==="validate"||r==="dataPicking"||r==="required",showMessageType:r==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(n,r,e),onSubmitModal:u=>{const d=this.updateExpression(n,e,u,r);if(i){const f=this.buildRule(p,u,r);i(f)}return d}}},o},{})}getExpressionInfo(n,e,t){const i=e==="Field"?n.binding.field:n.id,o=this.getExpressionRule(i,t),r={value:o&&o.value,targetId:i,targetType:e,expressionType:t};return o&&o.message&&(r.message=o.message),r}getExpressionConfig(n,e,t=["compute","dependency","validate"],i){return{description:"表达式",title:"表达式",hide:!n.binding,properties:{...this.getExpressionEditorOptions(n,e,t,i)}}}getExpressionOptions(n,e,t){const i=this.getExpressionInfo(n,e,t);return{dialogTitle:`${this.expressionNames[t]}编辑器`,singleExpand:!1,showMessage:t==="required",beforeOpen:()=>this.onBeforeOpenExpression(n,t,e),expressionInfo:i}}}class ie{constructor(n,e){b(this,"componentId");b(this,"viewModelId");b(this,"eventsEditorUtils");b(this,"formSchemaUtils");b(this,"formMetadataConverter");b(this,"designViewModelUtils");b(this,"designViewModelField");b(this,"controlCreatorUtils");b(this,"designerHostService");b(this,"designerContext");b(this,"schemaService",null);b(this,"metadataService",null);b(this,"propertyConfig",{type:"object",categories:{}});var t;this.componentId=n,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((t=this.formSchemaUtils)==null?void 0:t.getViewModelIdByComponentId(n))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService,this.designerContext=e.designerContext}getFormDesignerInstance(){var n,e;return(e=(n=this.designerContext)==null?void 0:n.instances)==null?void 0:e.formDesigner.value}getTableInfo(){var n;return(n=this.schemaService)==null?void 0:n.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(n){var t;const e=n.binding&&n.binding.type==="Form"&&n.binding.field;if(e){if(!this.designViewModelField){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(o=>o.id===e)}n.updateOn=(t=this.designViewModelField)==null?void 0:t.updateOn}}getBasicPropConfig(n){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",idField:"value",editable:!1,data:[{value:n.type,name:c.DgControl[n.type]&&c.DgControl[n.type].name}]}}}}}getAppearanceConfig(n=null,e={},t){const i={title:"外观",description:"Appearance"},o={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"}};for(const r in e)o[r]=Object.assign(o[r]||{},e[r]);return{...i,properties:{...o},setPropertyRelates(r,p){if(r){switch(r&&r.propertyID){case"class":case"style":{c.canvasChanged.value++;break}}t&&t(r,n,p)}}}}getPropertyEditorParams(n,e=[],t="visible",i={},o={},r=""){const{getVariables:p,getControlName:s,getStateMachines:a}=te(this.designerHostService),u=this.getRealTargetType(n),d=e&&e.length>0?e:["Const","Variable","StateMachine","Expression"],f={type:"property-editor",propertyTypes:d};return d.map(h=>{switch(h){case"Const":Object.assign(f,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},i);break;case"Expression":f.expressionConfig=this.getExpressionOptions(n,u,r||t);break;case"StateMachine":f.stateMachines=a();break;case"Variable":Object.assign(f,{controlName:s(n),newVariablePrefix:"is",newVariableType:"Boolean",variables:p(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:m=>{m.value=p(this.viewModelId)}},o),this.designerContext.designerMode==="PC_RTC"&&(f.newVariablePrefix="ext_"+f.newVariablePrefix);break}}),f}getVisibleProperty(n,e=""){var o;let t=["Const","Variable","StateMachine","Expression"];return e==="gridFieldEditor"?t=["Const","Expression"]:e==="form-group"&&!((o=n.binding)!=null&&o.field)?t=["Const","Variable","StateMachine"]:(e==="dataGrid"||e==="treeGrid"||e==="wizard")&&(t=["Const","Variable","Expression"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(n,t,"visible")}}}getBehaviorConfig(n,e="",t={},i){const o={title:"行为",description:""},r=this.getVisibleProperty(n,e);for(const s in t)r[s]=Object.assign(r[s]||{},t[s]);const p=this;return{...o,properties:{...r},setPropertyRelates(s,a){if(s){switch(s.propertyID){case"disabled":case"readonly":case"visible":p.afterMutilEditorChanged(n,s);break}i&&i(s,a)}}}}afterMutilEditorChanged(n,e){this.addNewVariableToViewModel(e,this.viewModelId),this.updateExpressionValue(e),this.clearExpression(e,n)}updateElementByParentContainer(n,e){const t=e&&e.parent&&e.parent.schema;if(!t)return;const i=t.contents.findIndex(r=>r.id===n),o=J.cloneDeep(t.contents[i]);t.contents.splice(i,1),t.contents.splice(i,0,o),c.refreshCanvas()}addNewVariableToViewModel(n,e){const t=n.propertyValue;if(!(t&&typeof t=="object")||!(t.type==="Variable"&&t.isNewVariable))return;const r={id:t.field,category:"locale",code:t.fullPath,name:t.fullPath,type:t.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete t.newVariableType,delete t.isNewVariable,this.formSchemaUtils.getVariableByCode(r.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(r)}updateExpressionValue(n){const e=n.propertyValue;if(!((e&&e.type)==="Expression"&&e.expressionInfo))return;const{expressionId:o,expressionInfo:r}=e,{targetId:p,targetType:s,expressionType:a,value:u,message:d}=r,f=this.formSchemaUtils.getModule();f.expressions=f.expressions||[];const{expressions:h}=f;let m=h.find(C=>C.target===p);m||(m={target:p,rules:[],targetType:s},h.push(m));const y=m.rules.find(C=>C.type===a);if(y)y.value=u,y.message=d;else{const C={id:o,type:a,value:u,message:d};m.rules.push(C)}delete e.expressionInfo}clearExpression(n,e){const t=n.propertyValue;if(t&&t.type==="Expression")return;const o=n.propertyID,r=this.formSchemaUtils.getExpressions(),p=e.binding?e.binding.field:e.id,s=r.find(a=>a.target===p);!s||!s.rules||(s.rules=s.rules.filter(a=>a.type!==o))}getExpressionOptions(n,e,t){return new _(this.formSchemaUtils).getExpressionOptions(n,e,t)}getRealTargetType(n){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(n.type)>-1?"Button":n.binding&&n.binding.field?"Field":"Container"}createBaseEventProperty(n){const e={};return e[this.viewModelId]={type:"events-editor",editor:{initialData:n,viewSourceHandle:t=>{var i;((i=t.controller)==null?void 0:i.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(t)}}},e}}const B=class B{static getEditorTypesByMDataType(n,e=!1,t=""){if(e)return[{key:c.DgControl["language-textbox"].type,value:c.DgControl["language-textbox"].name}];let i=B.fieldControlTypeMapping[n];if(t==="data-grid-column"&&(i!=null&&i.length)){const o=[c.DgControl["check-group"].type,c.DgControl["radio-group"].type,c.DgControl.image.type,c.DgControl["rich-text-editor"].type];i=i.filter(r=>!o.includes(r.key))}return i}static getAllInputTypes(){const n=[];for(const e in B.fieldControlTypeMapping)B.fieldControlTypeMapping[e].forEach(t=>{n.find(i=>i.key===t.key&&i.value===t.value)||n.push({key:t.key,value:t.value})});return n}static mappingDomPropAndSchemaProp(n,e){var o;const t=(o=n.editor)==null?void 0:o.type,i=[];return(n.type===c.DgControl["data-grid-column"].type||n.type===c.DgControl["tree-grid-column"].type)&&e&&e.categoryId&&e.categoryId.indexOf("gridFieldEditor")<0&&i.push({domField:"title",schemaField:"name"}),i.push({domField:"label",schemaField:"name"}),i.push({domField:"editor.required",schemaField:"require"}),i.push({domField:"editor.readonly",schemaField:"readonly"}),(t===c.DgControl["input-group"].type||t===c.DgControl.textarea.type||t===c.DgControl["number-spinner"].type)&&i.push({domField:"editor.maxLength",schemaField:"type.length"}),t===c.DgControl["number-spinner"].type&&i.push({domField:"editor.precision",schemaField:"type.precision"}),(n.type===c.DgControl["data-grid-column"].type||n.type===c.DgControl["tree-grid-column"].type)&&i.push({domField:"formatter.precision",schemaField:"type.precision"}),(t===c.DgControl["combo-list"].type||t===c.DgControl["radio-group"].type)&&i.push({domField:"editor.data",schemaField:"type.enumValues"}),(n.type===c.DgControl["data-grid-column"].type||n.type===c.DgControl["tree-grid-column"].type)&&i.push({domField:"formatter.data",schemaField:"type.enumValues"}),t===c.DgControl["date-picker"].type&&(i.push({domField:"editor.displayFormat",schemaField:"editor.format"}),i.push({domField:"editor.fieldType",schemaField:"type.name"})),t===c.DgControl["number-spinner"].type&&(i.push({domField:"editor.max",schemaField:"editor.maxValue"}),i.push({domField:"editor.min",schemaField:"editor.minValue"})),t===c.DgControl.lookup.type&&(i.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),i.push({domField:"editor.valueField",schemaField:"editor.valueField"}),i.push({domField:"editor.textField",schemaField:"editor.textField"}),i.push({domField:"editor.displayType",schemaField:"editor.displayType"}),i.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),i.push({domField:"editor.helpId",schemaField:"editor.helpId"})),i.push({domField:"path",schemaField:"bindingPath"}),i.push({domField:"binding.path",schemaField:"bindingField"}),i.push({domField:"binding.fullPath",schemaField:"path"}),(n.type===c.DgControl["data-grid-column"].type||n.type===c.DgControl["tree-grid-column"].type)&&i.push({domField:"field",schemaField:"bindingPath"}),i}};b(B,"fieldControlTypeMapping",{String:[{key:c.DgControl["input-group"].type,value:c.DgControl["input-group"].name},{key:c.DgControl.lookup.type,value:c.DgControl.lookup.name},{key:c.DgControl.image.type,value:c.DgControl.image.name},{key:c.DgControl["date-picker"].type,value:c.DgControl["date-picker"].name},{key:c.DgControl.switch.type,value:c.DgControl.switch.name},{key:c.DgControl["check-box"].type,value:c.DgControl["check-box"].name},{key:c.DgControl["check-group"].type,value:c.DgControl["check-group"].name},{key:c.DgControl["radio-group"].type,value:c.DgControl["radio-group"].name},{key:c.DgControl["combo-list"].type,value:c.DgControl["combo-list"].name},{key:c.DgControl.textarea.type,value:c.DgControl.textarea.name},{key:c.DgControl["time-picker"].type,value:c.DgControl["time-picker"].name}],Text:[{key:c.DgControl.textarea.type,value:c.DgControl.textarea.name},{key:c.DgControl.lookup.type,value:c.DgControl.lookup.name},{key:c.DgControl.image.type,value:c.DgControl.image.name},{key:c.DgControl.avatar.type,value:c.DgControl.avatar.name},{key:c.DgControl["rich-text-editor"].type,value:c.DgControl["rich-text-editor"].name}],Decimal:[{key:c.DgControl["number-spinner"].type,value:c.DgControl["number-spinner"].name}],Integer:[{key:c.DgControl["number-spinner"].type,value:c.DgControl["number-spinner"].name}],Number:[{key:c.DgControl["number-spinner"].type,value:c.DgControl["number-spinner"].name},{key:c.DgControl.switch.type,value:c.DgControl.switch.name},{key:c.DgControl["check-box"].type,value:c.DgControl["check-box"].name}],BigNumber:[{key:c.DgControl["number-spinner"].type,value:c.DgControl["number-spinner"].name}],Date:[{key:c.DgControl["date-picker"].type,value:c.DgControl["date-picker"].name}],DateTime:[{key:c.DgControl["date-picker"].type,value:c.DgControl["date-picker"].name}],Boolean:[{key:c.DgControl.switch.type,value:c.DgControl.switch.name},{key:c.DgControl["check-box"].type,value:c.DgControl["check-box"].name}],Enum:[{key:c.DgControl["combo-list"].type,value:c.DgControl["combo-list"].name},{key:c.DgControl["radio-group"].type,value:c.DgControl["radio-group"].name}],Object:[{key:c.DgControl.lookup.type,value:c.DgControl.lookup.name},{key:c.DgControl["combo-list"].type,value:c.DgControl["combo-list"].name},{key:c.DgControl["radio-group"].type,value:c.DgControl["radio-group"].name}]});let q=B;var $=(l=>(l.Form="Form",l.Variable="Variable",l))($||{});class ne{constructor(){b(this,"label","");b(this,"id","");b(this,"columnInSM",12);b(this,"columnInMD",6);b(this,"columnInLG",3);b(this,"columnInEL",2);b(this,"displayWidthInSM",1);b(this,"displayWidthInMD",1);b(this,"displayWidthInLG",1);b(this,"displayWidthInEL",1);b(this,"displayColumnCountAtBreakPoint","md");b(this,"tagRow",0);b(this,"showTopBorder",0);b(this,"group",1);b(this,"isSupportedClass",!0);b(this,"fieldSetId","")}}function oe(l){let n,e;const t=new Map;let i=[];function o(u,d){const h=u.split(" ").filter(V=>V.startsWith("col-"));if(h.length===0){d.isSupportedClass=!1;return}let m=h.find(V=>/^col-([1-9]|10|11|12)$/.test(V)),y=h.find(V=>/^col-md-([1-9]|10|11|12)$/.test(V)),C=h.find(V=>/^col-xl-([1-9]|10|11|12)$/.test(V)),w=h.find(V=>/^col-el-([1-9]|10|11|12)$/.test(V));m=m||"col-12",d.columnInSM=parseInt(m.replace("col-",""),10),d.displayWidthInSM=d.columnInSM/12,d.displayWidthInSM!==1&&(d.isSupportedClass=!1),y=y||"col-md-"+d.columnInSM,d.columnInMD=parseInt(y.replace("col-md-",""),10),d.displayWidthInMD=d.columnInMD/6,[1,2].includes(d.displayWidthInMD)||(d.isSupportedClass=!1),C=C||"col-xl-"+d.columnInMD,d.columnInLG=parseInt(C.replace("col-xl-",""),10),d.displayWidthInLG=d.columnInLG/3,[1,2,3,4].includes(d.displayWidthInLG)||(d.isSupportedClass=!1),w=w||"col-el-"+d.columnInLG,d.columnInEL=parseInt(w.replace("col-el-",""),10),d.displayWidthInEL=d.columnInEL/2,[1,2,3,4,5,6].includes(d.displayWidthInEL)||(d.isSupportedClass=!1)}function r(u,d,f,h=!1){let m=!1;u.contents.forEach(y=>{if(y.type==="fieldset"){f+=1,r(y,d,f,!0),m=!0;return}m&&(f+=1,m=!1);const C=y.appearance&&y.appearance.class,w=new ne;C?o(C,w):w.isSupportedClass=!1,w.label=y.label||y.id,w.id=y.id,w.group=f,h&&(w.fieldSetId=u.id),e===y.id&&(n=f),t.set(y.id,y),d.push(w)})}function p(u){const d=l.getComponentById(u);if(!d||!d.componentType||!d.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const f=l.selectNode(d,h=>h.type===c.DgControl["response-form"].type);return!f||!f.contents||f.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:f}}function s(u,d){d=d||u.id;const{result:f,message:h,formNode:m}=p(d);if(!f)return{result:f,message:h};e=u.id,i=[],t.clear();const y=m.contents[0].type===c.DgControl.fieldset.type?0:1;r(m,i,y);const C=i.find(V=>!V.isSupportedClass);return{defaultState:{defaultGroupNumber:n||1,model:C?"customize":"standard"},importData:i}}function a(u,d){d=d;const{result:f,formNode:h}=p(d);if(!f)return"";const m=[];return u.forEach(y=>{var V;const C=t.get(y.id),w=C.appearance&&C.appearance.class;if(w){const x=w.split(" ").filter(T=>!T.startsWith("col-")),k="col-"+y.columnInSM,I="col-md-"+y.columnInMD,M="col-xl-"+y.columnInLG,F="col-el-"+y.columnInEL,P=[k,I,M,F].concat(x);C.appearance.class=P.join(" ")}if(y.fieldSetId){const S=h.contents.find(k=>k.id===y.fieldSetId),x=m.find(k=>k.id===y.fieldSetId);x?(V=x.contents)==null||V.push(C):(m.push(S),S.contents=[C])}else m.push(C)}),h.contents=m,h.id}return{checkCanFindFormNode:p,checkCanOpenLayoutEditor:s,changeFormControlsByResponseLayoutConfig:a,getResonseFormLayoutConfig:r}}const re=l=>g.createVNode(g.Fragment,null,[g.createVNode("h5",null,[g.createTextVNode("代码示例")]),g.createVNode("pre",{style:"background-color: #f5f5f5; padding: 10px; border-radius: 5px;"},[g.createVNode("code",null,[`
|
|
2
2
|
<h3>Tips:</h3>
|
|
3
3
|
<span style="color: blue;">
|
|
4
4
|
自定义提示内容
|
|
5
5
|
</span>
|
|
6
|
-
`])])]);class le extends ie{constructor(e,t){super(e,t);b(this,"responseLayoutEditorFunction");b(this,"bindingVarible");b(this,"formGroupEvents",[{label:"fieldValueChanging",name:"绑定字段值变化前事件"},{label:"fieldValueChanged",name:"绑定字段值变化后事件"},{label:"onClickLabel",name:"点击标签事件"}]);b(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});this.responseLayoutEditorFunction=oe(this.formSchemaUtils)}getCommonPropertyConfig(e,t,i="Card"){if(this.propertyConfig.categories.basic=this.getBasicProperties(e,t,i),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,t),this.propertyConfig.categories.behavior=this.getBehaviorConfig(e,"form-group"),i==="Card"){const o=this.getTipsConfig(e);this.propertyConfig.categories.behavior.properties={...this.propertyConfig.categories.behavior.properties,...o},["time-picker","date-picker","lookup","combo-list","number-spinner","input-group"].includes(e.editor.type)&&(this.propertyConfig.categories.expansion=this.getExpandProperties(e))}}getPropertyConfig(e,t){return this.getCommonPropertyConfig(e,t,"Card"),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressions=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories.eventsEditor=this.getEventPropertyConfig(e),this.propertyConfig}getGridFieldEdtiorPropConfig(e,t){return this.propertyConfig.categories={},this.getCommonPropertyConfig(e,t,"Grid"),this.getGridFieldEdtiorProperties?this.propertyConfig.categories.editor=this.getGridFieldEdtiorProperties(e):this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressons=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories}getBasicProperties(e,t,i="Card"){var a;const o=this;this.setDesignViewModelField(e);const{canChangeControlType:r,editorTypeList:p}=this.getAvailableEditorType(e),s={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",$converter:"/converter/change-editor.converter",parentPropertyID:"editor",editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",editable:!1,data:p,readonly:!r}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},showLabelType:{description:"标签显示方式:1、显示:显示标签 2、占位:保留标签空间,但不显示文本 3、不显示:不显示标签",title:"标签显示",type:"enum",editor:{data:[{id:"visible",name:"显示"},{id:"reserve-space",name:"占位"},{id:"none",name:"不显示"}]},defaultValue:((a=e.editor)==null?void 0:a.type)==="image"?"none":"visible"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!0},editorParams:{componentSchema:e,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0,readonly:this.formSchemaUtils.designerMode==="PC_RTC"&&!e.isRtcControl}},setPropertyRelates(u,d,f){if(u)switch(u&&u.propertyID){case"type":{o.changeControlType(e,u,t);break}case"label":{u.needRefreshControlTree=!0;break}case"binding":{o.changeBindingField(e,u,f);break}}}};return i.toLocaleLowerCase()!=="card"&&delete s.properties.showLabelType,s}getExpandProperties(e){const t=this,i=["Const","Variable"],o=this.getPropertyEditorParams(e,i,"expandable"),r=this.getPropertyEditorParams(e,i,"expandDisabled");return{description:"Expand Information",title:"扩展区域",properties:{expandable:{description:"是否启用扩展区域",title:"启用扩展区域",refreshPanelAfterChanged:!0,$converter:"/converter/property-editor.converter",editor:o},expandMode:{description:"扩展模式 text | button",title:"扩展模式",type:"enum",refreshPanelAfterChanged:!0,$converter:"/converter/property-editor.converter",editor:{data:[{id:"text",name:"静态文本"},{id:"button",name:"交互按钮"}]},defaultValue:"text",visible:!!e.editor.expandable},expandContent:{$converter:"/converter/property-editor.converter",description:"扩展内容",title:"扩展内容",type:"string",visible:!!e.editor.expandable},expandDisabled:{$converter:"/converter/property-editor.converter",description:"是否隐藏扩展区域",title:"隐藏扩展区域",editor:r,visible:!!e.editor.expandable}},setPropertyRelates(s,a){if(s)switch(s.propertyID){case"expandable":case"expandDisabled":t.afterMutilEditorChanged(e,s);break}}}}checkCanChangeControlType(e,t){if(!e.binding)return!1;if(e.binding.type==="Variable"){if(this.bindingVarible=this.formSchemaUtils.getVariableById(e.binding.field),!this.bindingVarible)return!1}else if(!this.designViewModelField||this.designViewModelField.$type!==U.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(e){var o;const t=this.checkCanChangeControlType(e,this.viewModelId);if(!t)return{canChangeControlType:!1,editorTypeList:[{key:e.editor.type,value:((o=c.DgControl[e.editor.type])==null?void 0:o.name)||e.editor.type}]};let i=[];return this.designViewModelField&&this.designViewModelField.$type===U.FormSchemaEntityField$Type.SimpleField?i=q.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(i=q.getEditorTypesByMDataType(this.bindingVarible.type,!1)),{canChangeControlType:t,editorTypeList:i}}changeBindingField(e,t,i){t.needRefreshEntityTree=!0}getAppearanceProperties(e,t){const i=this;return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的内联样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},fill:{title:"填充宽度",description:"启用后,控件占满父容器宽度",type:"boolean",parentPropertyID:"appearance"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",beforeOpen:()=>i.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,i.componentId)}}},setPropertyRelates(o,r){if(o)switch(o&&o.propertyID){case"responseLayout":i.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(o.propertyValue,i.componentId||e.id),i.updateUnifiedLayoutAfterResponseLayoutChanged(i.componentId),i.updateElementByParentContainer(e.id,t),delete e.responseLayout;break;case"class":i.updateUnifiedLayoutAfterControlChanged(o.propertyValue,e.id,this.componentId),c.canvasChanged.value++;break;case"style":{c.canvasChanged.value++;break}}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,t,i){const o=t.propertyValue,r=i&&i.parent&&i.parent.schema;if(!r)return;const p=r.contents.findIndex(u=>u.id===e.id);if(p===-1)return;const s=r.contents[p];let a;if(this.designViewModelField){const f=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(m=>m.id===this.designViewModelField.id).fieldSchema||{};f.editor||(f.editor={}),f.editor.$type=o,this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,f,!1),a=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,o)}a||(a=this.controlCreatorUtils.createFormGroupWithoutField(o)),Object.assign(a,{id:s.id,appearance:s.appearance,size:s.size,label:s.label,binding:s.binding}),Object.prototype.hasOwnProperty.call(s,"visible")&&Object.assign(a,{visible:s.visible}),s.editor&&["readonly","required","placeholder"].map(u=>{Object.prototype.hasOwnProperty.call(s.editor,u)&&(a.editor[u]=s.editor[u])}),i!=null&&i.updateContextSchema?i.updateContextSchema(a):(i.schema=Object.assign(s,a),Object.assign(e,a)),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(u=>u.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(u=>u.classList.remove("dgComponentFocused")),c.canvasChanged.value++,g.nextTick(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}getTipsConfig(e){return["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","textarea","rich-text-editor"].includes(e.editor.type)?{enableTips:{refreshPanelAfterChanged:!0,description:"",title:"启用提示",type:"boolean",default:!1},tipsContent:{description:"提示内容",title:"提示内容",type:"string",editor:{type:"code-editor",language:"html",leftTemplate:re},visible:!!e.enableTips}}:{}}getComponentConfig(e,t={},i={},o){var f,h;const r=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter",parentPropertyID:"editor"},t),p=(f=e.binding)!=null&&f.field?[]:["Const","Variable","StateMachine"],s=this.getPropertyEditorParams(e,p,"readonly"),a=this.getPropertyEditorParams(e,p,"required"),u={readonly:{description:"",title:"只读",editor:s},required:{description:"",title:"必填",type:"boolean",editor:a,visible:!!((h=e.binding)!=null&&h.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}};for(const m in i)u[m]=Object.assign(u[m]||{},i[m]);const d=this;return{...r,properties:{...u},setPropertyRelates(m,y){if(m){switch(m.propertyID){case"readonly":case"required":d.afterMutilEditorChanged(e,m);break}o&&o.bind(d)(m,e,y)}}}}updateUnifiedLayoutAfterControlChanged(e,t,i){const o=e.split(" ");let r=o.find(d=>/^col-([1-9]|10|11|12)$/.test(d)),p=o.find(d=>/^col-md-([1-9]|10|11|12)$/.test(d)),s=o.find(d=>/^col-xl-([1-9]|10|11|12)$/.test(d)),a=o.find(d=>/^col-el-([1-9]|10|11|12)$/.test(d));r=r||"col-12",p=p||"col-md-"+r.replace("col-",""),s=s||"col-xl-"+p.replace("col-md-",""),a=a||"col-el-"+s.replace("col-xl-","");const u={id:t,columnInSM:parseInt(r.replace("col-",""),10),columnInMD:parseInt(p.replace("col-md-",""),10),columnInLG:parseInt(s.replace("col-xl-",""),10),columnInEL:parseInt(a.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(i,u)}updateUnifiedLayoutAfterResponseLayoutChanged(e,t){const{formNode:i}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!i||!i.unifiedLayout)return;const o=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(i,o,1),t){const m=o.find(y=>y.id===t.id);Object.assign(m||{},t)}const r=o.map(m=>m.columnInSM),p=o.map(m=>m.columnInMD),s=o.map(m=>m.columnInLG),a=o.map(m=>m.columnInEL),u=this.checkIsUniqueColumn(r)?r[0]:null,d=this.checkIsUniqueColumn(p)?p[0]:null,f=this.checkIsUniqueColumn(s)?s[0]:null,h=this.checkIsUniqueColumn(a)?a[0]:null;Object.assign(i.unifiedLayout,{uniqueColClassInSM:u,uniqueColClassInMD:d,uniqueColClassInLG:f,uniqueColClassInEL:h})}checkIsUniqueColumn(e){const t=new Set(e);return Array.from(t).length===1}getItemCollectionEditor(e,t,i){return t=t||"value",i=i||"name",{editor:{columns:[{field:t,title:"值",dataType:"string"},{field:i,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:t,nameField:i,requiredFields:[t,i],uniqueFields:[t,i],readonly:this.checkEnumDataReadonly(e)}}}checkEnumDataReadonly(e){return!e.binding||e.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===U.FormSchemaEntityFieldType$Type.EnumType)}appendFieldValueChangeEvents(e,t){e.binding&&e.binding.type===$.Form&&e.binding.field?(t.find(i=>i.label==="fieldValueChanging"),t.find(i=>i.label==="fieldValueChanged"),this.designViewModelField&&(e.fieldValueChanging=this.designViewModelField.valueChanging,e.fieldValueChanged=this.designViewModelField.valueChanged)):t=t.filter(i=>i.label!=="fieldValueChanging"&&i.label!=="fieldValueChanged")}getControlMethodType(e){if(!e.binding)return e.type;switch(e.binding.type){case $.Form:return e.binding.path||e.type;case $.Variable:return e.binding.fullPath||e.type}return e.type}getEventPropertyConfig(e,t="card",i,o){const r=this;let p=[...this.formGroupEvents];if(["time-picker","date-picker","lookup","combo-list","number-spinner","input-group"].includes(e.editor.type)&&p.push({lable:"onClear",name:"清空事件"}),i&&(p=p.concat(i)),p.length===0)return{title:"事件",hideTitle:!0,properties:{},tabId:"commands",tabName:"交互",hide:!0};this.appendFieldValueChangeEvents(e,p);const a=r.eventsEditorUtils.formProperties(e,r.viewModelId,p);return{title:"事件",hideTitle:!0,properties:r.createBaseEventProperty(a),tabId:"commands",tabName:"交互",setPropertyRelates(f,h){const m=f.propertyValue;delete e[r.viewModelId],m&&(m.setPropertyRelates=this.setPropertyRelates,m.controlInfo={type:r.getControlMethodType(e),name:e.title},r.eventsEditorUtils.saveRelatedParameters(e,r.viewModelId,m.events,m)),o&&o(f,h,m);const y=r.designViewModelUtils.getDgViewModel(r.viewModelId);y&&r.designViewModelField&&y.changeField(r.designViewModelField.id,{valueChanging:e.fieldValueChanging,valueChanged:e.fieldValueChanged})}}}getExpressionConfig(e,t,i=["compute","dependency","validate"],o){return new _(this.formSchemaUtils).getExpressionConfig(e,t,i,o)}getBindingDataType(){return this.designViewModelField?this.designViewModelField.type.name==="Number"?"number":this.designViewModelField.type.name==="String"?"string":"boolean":"boolean"}getEditor(){return this.getBindingDataType()==="number"?this.numberEditorOptions:{}}updatePropertyValue(e,t,i){var o;e.editor[t]!==i?e.editor[t]=i:(o=this.getFormDesignerInstance())==null||o.reloadPropertyPanel()}setBooleanValue(e,t,i){let o=i;this.getBindingDataType()==="string"&&(o=(o||"").trim()||(t==="trueValue"?"true":"false"));const p=t==="trueValue"?"falseValue":"trueValue";e.editor[p]===o&&(o=o+1),this.updatePropertyValue(e,t,o)}getBooleanValueConverter(){return{convertFrom:(e,t)=>e.editor[t],convertTo:(e,t,i)=>{this.setBooleanValue(e,t,i)}}}}class se extends le{constructor(n,e){super(n,e)}getEditorProperties(n){return this.getComponentConfig(n,{type:"number-range"},{editable:{description:"",title:"允许编辑",type:"boolean"}})}}function ae(l,n){const e=l.schema;function t(i,o){return new se(i,n).getPropertyConfig(e,o)}return{getPropsConfig:t}}const de=g.defineComponent({name:"FNumberRangeDesign",props:L,emits:["valueChange","blur","focus","click","input","beginValueChange","endValueChange"],setup(l,n){const e=g.ref(l.beginValue),t=g.ref(""),i=g.ref(l.endValue),o=g.ref(""),r=W(l),p=z(l,n,r),s=E=>{n.emit("beginValueChange",E)},a=g.ref(),u=g.inject("designer-host-service"),d=g.inject("design-item-context"),f=ae(d,u),h=c.useDesignerComponent(a,d,f);g.onMounted(()=>{a.value.componentInstance=h}),n.expose(h.value);const m=A(l,n,t,e,p,r,s,e,i,!0),y=O(l,n,t,e,p,r,m,s,e,i,!0),C=j(l,n,m),w=Z(l,n,y,!0),V=E=>{n.emit("endValueChange",E)},S=A(l,n,o,i,p,r,V,e,i,!1),x=O(l,n,o,i,p,r,S,V,e,i,!1),k=j(l,n,S),I=Z(l,n,x,!1),v=g.computed(()=>l.showButton);return()=>g.createVNode("div",{ref:a,class:"input-group number-range f-cmp-number-spinner"},[g.createVNode("div",{class:"form-control input-container"},[g.createVNode("div",{class:"sub-input-group"},[w(),v.value&&C()]),g.createVNode("span",{class:"spliter"},[g.createTextVNode("~")]),g.createVNode("div",{class:"sub-input-group"},[I(),v.value&&k()])])])}});D.register=(l,n,e,t)=>{l["number-range"]=D,n["number-range"]=G},D.registerDesigner=(l,n,e)=>{l["number-range"]=de,n["number-range"]=G};const ue=U.withInstall(D);F.FNumberRange=D,F.default=ue,F.numberRangeProps=L,F.propsResolver=G,Object.defineProperties(F,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
6
|
+
`])])]);class le extends ie{constructor(e,t){super(e,t);b(this,"responseLayoutEditorFunction");b(this,"bindingVarible");b(this,"formGroupEvents",[{label:"fieldValueChanging",name:"绑定字段值变化前事件"},{label:"fieldValueChanged",name:"绑定字段值变化后事件"},{label:"onClickLabel",name:"标签点击事件"}]);b(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});this.responseLayoutEditorFunction=oe(this.formSchemaUtils)}getCommonPropertyConfig(e,t,i="Card"){if(this.propertyConfig.categories.basic=this.getBasicProperties(e,t,i),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,t),this.propertyConfig.categories.behavior=this.getBehaviorConfig(e,"form-group"),i==="Card"){const o=this.getTipsConfig(e);this.propertyConfig.categories.behavior.properties={...this.propertyConfig.categories.behavior.properties,...o},["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","language-textbox"].includes(e.editor.type)&&(this.propertyConfig.categories.expansion=this.getExpandProperties(e))}}getPropertyConfig(e,t){return this.getCommonPropertyConfig(e,t,"Card"),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressions=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories.eventsEditor=this.getEventPropertyConfig(e),this.propertyConfig}getGridFieldEdtiorPropConfig(e,t){return this.propertyConfig.categories={},this.getCommonPropertyConfig(e,t,"Grid"),this.getGridFieldEdtiorProperties?this.propertyConfig.categories.editor=this.getGridFieldEdtiorProperties(e):this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressons=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories}getBasicProperties(e,t,i="Card"){var a;const o=this;this.setDesignViewModelField(e);const{canChangeControlType:r,editorTypeList:p}=this.getAvailableEditorType(e),s={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",$converter:"/converter/change-editor.converter",parentPropertyID:"editor",editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",editable:!1,data:p,readonly:!r}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},showLabelType:{description:"标签显示方式:1、显示:显示标签 2、占位:保留标签空间,但不显示文本 3、不显示:不显示标签",title:"标签显示",type:"enum",editor:{data:[{id:"visible",name:"显示"},{id:"reserve-space",name:"占位"},{id:"none",name:"不显示"}]},defaultValue:((a=e.editor)==null?void 0:a.type)==="image"?"none":"visible"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!0},editorParams:{componentSchema:e,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0,readonly:this.formSchemaUtils.designerMode==="PC_RTC"&&!e.isRtcControl}},setPropertyRelates(u,d,f){if(u)switch(u&&u.propertyID){case"type":{o.changeControlType(e,u,t);break}case"label":{u.needRefreshControlTree=!0;break}case"binding":{o.changeBindingField(e,u,f);break}}}};return i.toLocaleLowerCase()!=="card"&&delete s.properties.showLabelType,s}getExpandProperties(e){const t=this,i=["Const","Variable"],o=this.getPropertyEditorParams(e,i,"expandable"),r=this.getPropertyEditorParams(e,i,"expandDisabled");return{description:"Expand Information",title:"扩展区域",properties:{expandable:{description:"是否启用扩展区域",title:"启用扩展区域",refreshPanelAfterChanged:!0,$converter:"/converter/property-editor.converter",editor:o},expandMode:{description:"扩展模式 text | button",title:"扩展模式",type:"enum",refreshPanelAfterChanged:!0,$converter:"/converter/property-editor.converter",editor:{data:[{id:"text",name:"静态文本"},{id:"button",name:"交互按钮"}]},defaultValue:"text",visible:!!e.editor.expandable},expandContent:{$converter:"/converter/property-editor.converter",description:"扩展内容",title:"扩展内容",type:"string",visible:!!e.editor.expandable},expandDisabled:{$converter:"/converter/property-editor.converter",description:"是否隐藏扩展区域",title:"隐藏扩展区域",editor:r,visible:!!e.editor.expandable}},setPropertyRelates(s,a){if(s)switch(s.propertyID){case"expandable":case"expandDisabled":t.afterMutilEditorChanged(e,s);break}}}}checkCanChangeControlType(e,t){if(!e.binding)return!1;if(e.binding.type==="Variable"){if(this.bindingVarible=this.formSchemaUtils.getVariableById(e.binding.field),!this.bindingVarible)return!1}else if(!this.designViewModelField||this.designViewModelField.$type!==R.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(e){var o;const t=this.checkCanChangeControlType(e,this.viewModelId);if(!t)return{canChangeControlType:!1,editorTypeList:[{key:e.editor.type,value:((o=c.DgControl[e.editor.type])==null?void 0:o.name)||e.editor.type}]};let i=[];return this.designViewModelField&&this.designViewModelField.$type===R.FormSchemaEntityField$Type.SimpleField?i=q.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(i=q.getEditorTypesByMDataType(this.bindingVarible.type,!1)),{canChangeControlType:t,editorTypeList:i}}changeBindingField(e,t,i){t.needRefreshEntityTree=!0}getAppearanceProperties(e,t){const i=this;return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的内联样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},fill:{title:"填充宽度",description:"启用后,控件占满父容器宽度",type:"boolean",parentPropertyID:"appearance"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",beforeOpen:()=>i.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,i.componentId)}}},setPropertyRelates(o,r){if(o)switch(o&&o.propertyID){case"responseLayout":i.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(o.propertyValue,i.componentId||e.id),i.updateUnifiedLayoutAfterResponseLayoutChanged(i.componentId),i.updateElementByParentContainer(e.id,t),delete e.responseLayout;break;case"class":i.updateUnifiedLayoutAfterControlChanged(o.propertyValue,e.id,this.componentId),c.canvasChanged.value++;break;case"style":{c.canvasChanged.value++;break}}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,t,i){const o=t.propertyValue,r=i&&i.parent&&i.parent.schema;if(!r)return;const p=r.contents.findIndex(u=>u.id===e.id);if(p===-1)return;const s=r.contents[p];let a;if(this.designViewModelField){const f=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(m=>m.id===this.designViewModelField.id).fieldSchema||{};f.editor||(f.editor={}),f.editor.$type=o,this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,f,!1),a=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,o)}a||(a=this.controlCreatorUtils.createFormGroupWithoutField(o)),Object.assign(a,{id:s.id,appearance:s.appearance,size:s.size,label:s.label,binding:s.binding}),Object.prototype.hasOwnProperty.call(s,"visible")&&Object.assign(a,{visible:s.visible}),s.editor&&["readonly","required","placeholder"].map(u=>{Object.prototype.hasOwnProperty.call(s.editor,u)&&(a.editor[u]=s.editor[u])}),i!=null&&i.updateContextSchema?i.updateContextSchema(a):(i.schema=Object.assign(s,a),Object.assign(e,a)),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(u=>u.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(u=>u.classList.remove("dgComponentFocused")),c.canvasChanged.value++,g.nextTick(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}getTipsConfig(e){return["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","textarea","rich-text-editor","language-textbox"].includes(e.editor.type)?{enableTips:{refreshPanelAfterChanged:!0,description:"",title:"启用提示",type:"boolean",default:!1},tipsContent:{description:"提示内容",title:"提示内容",type:"string",editor:{type:"code-editor",language:"html",leftTemplate:re},visible:!!e.enableTips}}:{}}getComponentConfig(e,t={},i={},o){var f,h;const r=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter",parentPropertyID:"editor"},t),p=(f=e.binding)!=null&&f.field?[]:["Const","Variable","StateMachine"],s=this.getPropertyEditorParams(e,p,"readonly"),a=this.getPropertyEditorParams(e,p,"required"),u={readonly:{description:"",title:"只读",editor:s},required:{description:"",title:"必填",type:"boolean",editor:a,visible:!!((h=e.binding)!=null&&h.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}};for(const m in i)u[m]=Object.assign(u[m]||{},i[m]);const d=this;return{...r,properties:{...u},setPropertyRelates(m,y){if(m){switch(m.propertyID){case"readonly":case"required":d.afterMutilEditorChanged(e,m);break}o&&o.bind(d)(m,e,y)}}}}updateUnifiedLayoutAfterControlChanged(e,t,i){const o=e.split(" ");let r=o.find(d=>/^col-([1-9]|10|11|12)$/.test(d)),p=o.find(d=>/^col-md-([1-9]|10|11|12)$/.test(d)),s=o.find(d=>/^col-xl-([1-9]|10|11|12)$/.test(d)),a=o.find(d=>/^col-el-([1-9]|10|11|12)$/.test(d));r=r||"col-12",p=p||"col-md-"+r.replace("col-",""),s=s||"col-xl-"+p.replace("col-md-",""),a=a||"col-el-"+s.replace("col-xl-","");const u={id:t,columnInSM:parseInt(r.replace("col-",""),10),columnInMD:parseInt(p.replace("col-md-",""),10),columnInLG:parseInt(s.replace("col-xl-",""),10),columnInEL:parseInt(a.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(i,u)}updateUnifiedLayoutAfterResponseLayoutChanged(e,t){const{formNode:i}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!i||!i.unifiedLayout)return;const o=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(i,o,1),t){const m=o.find(y=>y.id===t.id);Object.assign(m||{},t)}const r=o.map(m=>m.columnInSM),p=o.map(m=>m.columnInMD),s=o.map(m=>m.columnInLG),a=o.map(m=>m.columnInEL),u=this.checkIsUniqueColumn(r)?r[0]:null,d=this.checkIsUniqueColumn(p)?p[0]:null,f=this.checkIsUniqueColumn(s)?s[0]:null,h=this.checkIsUniqueColumn(a)?a[0]:null;Object.assign(i.unifiedLayout,{uniqueColClassInSM:u,uniqueColClassInMD:d,uniqueColClassInLG:f,uniqueColClassInEL:h})}checkIsUniqueColumn(e){const t=new Set(e);return Array.from(t).length===1}getItemCollectionEditor(e,t,i){return t=t||"value",i=i||"name",{editor:{columns:[{field:t,title:"值",dataType:"string"},{field:i,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:t,nameField:i,requiredFields:[t,i],uniqueFields:[t,i],readonly:this.checkEnumDataReadonly(e)}}}checkEnumDataReadonly(e){return!e.binding||e.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===R.FormSchemaEntityFieldType$Type.EnumType)}appendFieldValueChangeEvents(e,t){e.binding&&e.binding.type===$.Form&&e.binding.field?(t.find(i=>i.label==="fieldValueChanging"),t.find(i=>i.label==="fieldValueChanged"),this.designViewModelField&&(e.fieldValueChanging=this.designViewModelField.valueChanging,e.fieldValueChanged=this.designViewModelField.valueChanged)):t=t.filter(i=>i.label!=="fieldValueChanging"&&i.label!=="fieldValueChanged")}getControlMethodType(e){if(!e.binding)return e.type;switch(e.binding.type){case $.Form:return e.binding.path||e.type;case $.Variable:return e.binding.fullPath||e.type}return e.type}updateLinkedLabel(e,t){if(e.boundEventsList&&e.boundEventsList.length>0){const i=e.boundEventsList.find(o=>o.boundEvents&&o.boundEvents.label==="onClickLabel");t.linkLabel=!!i}else t.linkLabel=!1}getEventPropertyConfig(e,t="card",i,o){const r=this;let p=[...this.formGroupEvents];if(["time-picker","date-picker","lookup","combo-list","number-spinner","input-group"].includes(e.editor.type)&&p.push({lable:"onClear",name:"清空事件"}),i&&(p=p.concat(i)),p.length===0)return{title:"事件",hideTitle:!0,properties:{},tabId:"commands",tabName:"交互",hide:!0};this.appendFieldValueChangeEvents(e,p);const a=r.eventsEditorUtils.formProperties(e,r.viewModelId,p);return{title:"事件",hideTitle:!0,properties:r.createBaseEventProperty(a),tabId:"commands",tabName:"交互",setPropertyRelates(f,h){const m=f.propertyValue;delete e[r.viewModelId],m&&(m.setPropertyRelates=this.setPropertyRelates,m.controlInfo={type:r.getControlMethodType(e),name:e.title},r.eventsEditorUtils.saveRelatedParameters(e,r.viewModelId,m.events,m),r.updateLinkedLabel(m,h)),o&&o(f,h,m);const y=r.designViewModelUtils.getDgViewModel(r.viewModelId);y&&r.designViewModelField&&y.changeField(r.designViewModelField.id,{valueChanging:e.fieldValueChanging,valueChanged:e.fieldValueChanged})}}}getExpressionConfig(e,t,i=["compute","dependency","validate"],o){return new _(this.formSchemaUtils).getExpressionConfig(e,t,i,o)}getBindingDataType(){return this.designViewModelField?this.designViewModelField.type.name==="Number"?"number":this.designViewModelField.type.name==="String"?"string":"boolean":"boolean"}getEditor(){return this.getBindingDataType()==="number"?this.numberEditorOptions:{}}updatePropertyValue(e,t,i){var o;e.editor[t]!==i?e.editor[t]=i:(o=this.getFormDesignerInstance())==null||o.reloadPropertyPanel()}setBooleanValue(e,t,i){let o=i;this.getBindingDataType()==="string"&&(o=(o||"").trim()||(t==="trueValue"?"true":"false"));const p=t==="trueValue"?"falseValue":"trueValue";e.editor[p]===o&&(o=o+1),this.updatePropertyValue(e,t,o)}getBooleanValueConverter(){return{convertFrom:(e,t)=>e.editor[t],convertTo:(e,t,i)=>{this.setBooleanValue(e,t,i)}}}}class se extends le{constructor(n,e){super(n,e)}getEditorProperties(n){return this.getComponentConfig(n,{type:"number-range"},{editable:{description:"",title:"允许编辑",type:"boolean"}})}}function ae(l,n){const e=l.schema;function t(i,o){return new se(i,n).getPropertyConfig(e,o)}return{getPropsConfig:t}}const de=g.defineComponent({name:"FNumberRangeDesign",props:U,emits:["valueChange","blur","focus","click","input","beginValueChange","endValueChange"],setup(l,n){const e=g.ref(l.beginValue),t=g.ref(""),i=g.ref(l.endValue),o=g.ref(""),r=W(l),p=z(l,n,r),s=F=>{n.emit("beginValueChange",F)},a=g.ref(),u=g.inject("designer-host-service"),d=g.inject("design-item-context"),f=ae(d,u),h=c.useDesignerComponent(a,d,f);g.onMounted(()=>{a.value.componentInstance=h}),n.expose(h.value);const m=A(l,n,t,e,p,r,s,e,i,!0),y=O(l,n,t,e,p,r,m,s,e,i,!0),C=j(l,n,m),w=Z(l,n,y,!0),V=F=>{n.emit("endValueChange",F)},S=A(l,n,o,i,p,r,V,e,i,!1),x=O(l,n,o,i,p,r,S,V,e,i,!1),k=j(l,n,S),I=Z(l,n,x,!1),M=g.computed(()=>l.showButton);return()=>g.createVNode("div",{ref:a,class:"input-group number-range f-cmp-number-spinner"},[g.createVNode("div",{class:"form-control input-container"},[g.createVNode("div",{class:"sub-input-group"},[w(),M.value&&C()]),g.createVNode("span",{class:"spliter"},[g.createTextVNode("~")]),g.createVNode("div",{class:"sub-input-group"},[I(),M.value&&k()])])])}});D.register=(l,n,e,t)=>{l["number-range"]=D,n["number-range"]=G},D.registerDesigner=(l,n,e)=>{l["number-range"]=de,n["number-range"]=G};const ue=R.withInstall(D);E.FNumberRange=D,E.default=ue,E.numberRangeProps=U,E.propsResolver=G,Object.defineProperties(E,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
@@ -461,36 +461,36 @@ function Ot(e, t, l, n, d, a, o, m, w, C) {
|
|
|
461
461
|
return t.slots.itemContent ? t.slots.itemContent : $;
|
|
462
462
|
}
|
|
463
463
|
const G = A();
|
|
464
|
-
function
|
|
464
|
+
function B(h, b, H) {
|
|
465
465
|
return s("li", {
|
|
466
466
|
class: S(h, b),
|
|
467
467
|
id: i(h, b),
|
|
468
468
|
key: i(h, b),
|
|
469
|
-
onClick: (
|
|
470
|
-
onMouseenter: (
|
|
471
|
-
onMouseover: (
|
|
472
|
-
onMouseout: (
|
|
469
|
+
onClick: (M) => u(h, b, M),
|
|
470
|
+
onMouseenter: (M) => p(M, h, b),
|
|
471
|
+
onMouseover: (M) => T(M, h, b),
|
|
472
|
+
onMouseout: (M) => f(M, h, b),
|
|
473
473
|
draggable: "true",
|
|
474
|
-
onDragstart: (
|
|
475
|
-
onDragenter: (
|
|
476
|
-
onDragend: (
|
|
477
|
-
onDragover: (
|
|
474
|
+
onDragstart: (M) => I(M, h, b),
|
|
475
|
+
onDragenter: (M) => k(M, b),
|
|
476
|
+
onDragend: (M) => O(M, h),
|
|
477
|
+
onDragover: (M) => F(M)
|
|
478
478
|
}, [V.value && s("div", {
|
|
479
479
|
class: "f-list-select",
|
|
480
|
-
onClick: (
|
|
480
|
+
onClick: (M) => M.stopPropagation()
|
|
481
481
|
}, [s(le, {
|
|
482
482
|
id: "list-" + i(h, b),
|
|
483
483
|
customClass: "listview-checkbox",
|
|
484
484
|
disabled: h[y.value] || !h.checked,
|
|
485
485
|
checked: h.checked,
|
|
486
|
-
"onUpdate:checked": (
|
|
487
|
-
onChange: (
|
|
486
|
+
"onUpdate:checked": (M) => h.checked = M,
|
|
487
|
+
onChange: (M) => r(h, b, !M.checked)
|
|
488
488
|
}, null)]), s("div", {
|
|
489
489
|
class: "f-list-content"
|
|
490
490
|
}, [G(h)]), s("div", {
|
|
491
491
|
class: "f-list-remove",
|
|
492
|
-
onClick: (
|
|
493
|
-
|
|
492
|
+
onClick: (M) => {
|
|
493
|
+
M.stopPropagation(), x(b);
|
|
494
494
|
}
|
|
495
495
|
}, [s("div", {
|
|
496
496
|
class: "f-list-remove-icon"
|
|
@@ -503,10 +503,10 @@ function Ot(e, t, l, n, d, a, o, m, w, C) {
|
|
|
503
503
|
}, null)])])]);
|
|
504
504
|
}
|
|
505
505
|
return {
|
|
506
|
-
renderItem:
|
|
506
|
+
renderItem: B
|
|
507
507
|
};
|
|
508
508
|
}
|
|
509
|
-
function
|
|
509
|
+
function Bt(e, t, l, n, d, a, o, m, w, C) {
|
|
510
510
|
var i;
|
|
511
511
|
const V = g(((i = e.group) == null ? void 0 : i.groupFields) || []), {
|
|
512
512
|
collpaseGroupIconClass: y
|
|
@@ -539,7 +539,7 @@ function Mt(e, t, l, n, d, a, o, m, w, C) {
|
|
|
539
539
|
renderItem: f
|
|
540
540
|
};
|
|
541
541
|
}
|
|
542
|
-
function
|
|
542
|
+
function Mt(e, t, l, n) {
|
|
543
543
|
const { dataView: d } = l, { updateSelectedItems: a } = n;
|
|
544
544
|
function o(m) {
|
|
545
545
|
if (m > -1 && m < d.value.length) {
|
|
@@ -552,7 +552,7 @@ function Bt(e, t, l, n) {
|
|
|
552
552
|
return { removeItem: o };
|
|
553
553
|
}
|
|
554
554
|
function Rt(e, t, l, n, d, a, o, m, w, C) {
|
|
555
|
-
const V = g(e.view), y = g(e.view === "CardView"), v = g({}), p =
|
|
555
|
+
const V = g(e.view), y = g(e.view === "CardView"), v = g({}), p = Mt(e, t, n, w), T = P(() => ({
|
|
556
556
|
"f-list-view-group": !0,
|
|
557
557
|
"f-list-view-group-multiselect": e.multiSelect,
|
|
558
558
|
"d-flex": y.value,
|
|
@@ -566,7 +566,7 @@ function Rt(e, t, l, n, d, a, o, m, w, C) {
|
|
|
566
566
|
renderItem: u
|
|
567
567
|
} = r(e, t, l, C, d, a, w, o, p, m), {
|
|
568
568
|
renderItem: I
|
|
569
|
-
} =
|
|
569
|
+
} = Bt(e, t, l, C, d, a, w, o, p, m), k = [u, I];
|
|
570
570
|
function F() {
|
|
571
571
|
return l.value.filter((c) => c.visible !== !1).map((c, R) => k[c.type](c, R, v));
|
|
572
572
|
}
|
|
@@ -747,59 +747,59 @@ function Ht(e, t, l, n) {
|
|
|
747
747
|
function $t(e, t, l, n, d, a) {
|
|
748
748
|
const o = g(e.idField), m = g(e.disableField), w = g(e.draggable);
|
|
749
749
|
g(e.itemClass);
|
|
750
|
-
const C = g(e.selection.multiSelect ?? !1), V = g(e.selection.multiSelectMode), { isDragging: y } = n, { activeIndex: v, focusedItemId: p, hoverIndex: T } = d, { clearSelection: f, getSelectedItems: i, toggleSelectItem: S, currentSelectedDataId: r } = a, u = g(i()), I = (
|
|
750
|
+
const C = g(e.selection.multiSelect ?? !1), V = g(e.selection.multiSelectMode), { isDragging: y } = n, { activeIndex: v, focusedItemId: p, hoverIndex: T } = d, { clearSelection: f, getSelectedItems: i, toggleSelectItem: S, currentSelectedDataId: r } = a, u = g(i()), I = (B) => u.value.length === 0 ? !1 : u.value.some((h) => {
|
|
751
751
|
let b = "";
|
|
752
|
-
return h.data ? b = h.data[o.value] : b = h[o.value], b ===
|
|
752
|
+
return h.data ? b = h.data[o.value] : b = h[o.value], b === B;
|
|
753
753
|
});
|
|
754
754
|
function k() {
|
|
755
755
|
u.value = i();
|
|
756
756
|
}
|
|
757
|
-
function F(
|
|
758
|
-
return
|
|
757
|
+
function F(B, h) {
|
|
758
|
+
return B.raw[o.value] != null ? B.raw[o.value] : "";
|
|
759
759
|
}
|
|
760
|
-
function O(
|
|
760
|
+
function O(B, h) {
|
|
761
761
|
const b = {
|
|
762
762
|
"f-list-view-group-item": !0,
|
|
763
763
|
"f-list-view-draggable-item": w.value,
|
|
764
|
-
"f-un-click": !
|
|
765
|
-
"f-un-select": !!
|
|
764
|
+
"f-un-click": !B.checked,
|
|
765
|
+
"f-un-select": !!B.raw[m.value],
|
|
766
766
|
"f-listview-active": (
|
|
767
767
|
// 多选
|
|
768
|
-
C.value && I(F(
|
|
769
|
-
!C.value &&
|
|
768
|
+
C.value && I(F(B)) || // 单选
|
|
769
|
+
!C.value && B.raw[o.value] === r.value
|
|
770
770
|
),
|
|
771
771
|
"f-listview-hover": !y.value && h === T.value,
|
|
772
|
-
moving: !!
|
|
772
|
+
moving: !!B.moving
|
|
773
773
|
};
|
|
774
774
|
if (typeof e.itemClass == "string")
|
|
775
775
|
return q(b, e.itemClass);
|
|
776
776
|
if (typeof e.itemClass == "function") {
|
|
777
|
-
const H = e.itemClass(
|
|
777
|
+
const H = e.itemClass(B);
|
|
778
778
|
return q(b, H);
|
|
779
779
|
}
|
|
780
780
|
return b;
|
|
781
781
|
}
|
|
782
|
-
function x(
|
|
782
|
+
function x(B, h) {
|
|
783
783
|
const b = {};
|
|
784
784
|
if (typeof e.itemStyle == "string")
|
|
785
785
|
return oe(b, e.itemStyle);
|
|
786
786
|
if (typeof e.itemStyle == "function") {
|
|
787
|
-
const H = e.itemStyle(
|
|
787
|
+
const H = e.itemStyle(B);
|
|
788
788
|
return oe(b, H);
|
|
789
789
|
}
|
|
790
790
|
return b;
|
|
791
791
|
}
|
|
792
792
|
const c = P(() => !C.value);
|
|
793
|
-
function R(
|
|
794
|
-
|
|
793
|
+
function R(B, h, b) {
|
|
794
|
+
B.checked = b, !B.raw[m.value] && (c.value && (p.value = B.raw[o.value]), S(B));
|
|
795
795
|
}
|
|
796
796
|
const $ = P(() => C.value && V.value === "OnCheckClearByClick"), A = P(() => !C.value || C.value && (V.value === "OnCheckAndClick" || V.value === "OnClick"));
|
|
797
|
-
function G(
|
|
798
|
-
if (
|
|
797
|
+
function G(B, h, b) {
|
|
798
|
+
if (B.raw[m.value]) {
|
|
799
799
|
b == null || b.preventDefault(), b == null || b.stopPropagation();
|
|
800
800
|
return;
|
|
801
801
|
}
|
|
802
|
-
r.value =
|
|
802
|
+
r.value = B.raw[o.value], p.value = B.raw[o.value], v.value = h, $.value && f(), A.value && (S(B), k()), t.emit("clickItem", { data: u.value, index: h, dataItem: B.raw }), t.emit("activeChange", u.value);
|
|
803
803
|
}
|
|
804
804
|
return {
|
|
805
805
|
getKey: F,
|
|
@@ -831,9 +831,9 @@ const fe = /* @__PURE__ */ N({
|
|
|
831
831
|
return e.header === "SearchBar" ? ue : e.header === "ContentHeader" ? Pt : ue;
|
|
832
832
|
}
|
|
833
833
|
const G = A(), {
|
|
834
|
-
renderHeader:
|
|
834
|
+
renderHeader: B
|
|
835
835
|
} = G(e, t, T), h = Lt(), b = Ht(e, t, v, h), H = $t(e, t, a, b, h, p), {
|
|
836
|
-
renderListArea:
|
|
836
|
+
renderListArea: M
|
|
837
837
|
} = Rt(e, t, a, v, y, h, p, x, H, b);
|
|
838
838
|
function D(L) {
|
|
839
839
|
T.search(L);
|
|
@@ -893,14 +893,14 @@ const fe = /* @__PURE__ */ N({
|
|
|
893
893
|
j(() => e.selectionValues, (L, E) => {
|
|
894
894
|
L !== E && ae(L);
|
|
895
895
|
});
|
|
896
|
-
const
|
|
897
|
-
sidebarWidth:
|
|
896
|
+
const Be = nt(e, p), {
|
|
897
|
+
sidebarWidth: Me,
|
|
898
898
|
showSidebarCheckBox: hn
|
|
899
|
-
} =
|
|
899
|
+
} = Be, Re = lt(e, t), {
|
|
900
900
|
applyColumnSorter: pn,
|
|
901
901
|
columnContext: Pe,
|
|
902
902
|
updateColumnRenderContext: yn
|
|
903
|
-
} = Re, Le = it(e, v, a, Pe, x, i, o,
|
|
903
|
+
} = Re, Le = it(e, v, a, Pe, x, i, o, Me, r), {
|
|
904
904
|
shouldRenderPagination: bn
|
|
905
905
|
} = f, {
|
|
906
906
|
renderDataGridPagination: Cn
|
|
@@ -908,7 +908,7 @@ const fe = /* @__PURE__ */ N({
|
|
|
908
908
|
return () => s("div", {
|
|
909
909
|
class: R.value,
|
|
910
910
|
onClick: Oe
|
|
911
|
-
}, [
|
|
911
|
+
}, [B(), s("div", {
|
|
912
912
|
ref: l,
|
|
913
913
|
class: "f-list-view-content",
|
|
914
914
|
onMouseover: () => {
|
|
@@ -917,7 +917,7 @@ const fe = /* @__PURE__ */ N({
|
|
|
917
917
|
onMouseleave: () => {
|
|
918
918
|
d.value = !1;
|
|
919
919
|
}
|
|
920
|
-
}, [
|
|
920
|
+
}, [M()]), $.value && s("div", {
|
|
921
921
|
class: "f-list-view-footer"
|
|
922
922
|
}, [e.footerTemplate ? e.footerTemplate() : t.slots.footer && t.slots.footer()])]);
|
|
923
923
|
}
|
|
@@ -1025,7 +1025,9 @@ const me = {
|
|
|
1025
1025
|
* 自定义class
|
|
1026
1026
|
*/
|
|
1027
1027
|
customClass: { type: String, default: "" },
|
|
1028
|
-
customStyle: { type: String, default: "" }
|
|
1028
|
+
customStyle: { type: String, default: "" },
|
|
1029
|
+
/** 控制是否可见 */
|
|
1030
|
+
visible: { type: Boolean, default: !0 }
|
|
1029
1031
|
};
|
|
1030
1032
|
te(me, Ut, qt, Wt);
|
|
1031
1033
|
function Kt(e, t) {
|
|
@@ -1069,14 +1071,14 @@ const ve = /* @__PURE__ */ N({
|
|
|
1069
1071
|
};
|
|
1070
1072
|
return o[`btn-${e.type}`] = !0, e.customClass && (typeof e.customClass == "string" ? q(o, e.customClass) : Object.keys(e.customClass).reduce((m, w) => (m[w] = e.customClass[w], m), o)), o;
|
|
1071
1073
|
});
|
|
1072
|
-
return () => s("button", {
|
|
1074
|
+
return () => e.visible ? s("button", {
|
|
1073
1075
|
class: a.value,
|
|
1074
1076
|
disabled: e.disabled,
|
|
1075
1077
|
style: e.customStyle,
|
|
1076
1078
|
onClick: (o) => l(o)
|
|
1077
1079
|
}, [d.value && s("i", {
|
|
1078
1080
|
class: n.value
|
|
1079
|
-
}, null), e.text ? e.text : "", t.slots.default && t.slots.default()]);
|
|
1081
|
+
}, null), e.text ? e.text : "", t.slots.default && t.slots.default()]) : null;
|
|
1080
1082
|
}
|
|
1081
1083
|
}), ge = /* @__PURE__ */ new Map([
|
|
1082
1084
|
["appearance", ee]
|
|
@@ -1725,8 +1727,8 @@ const W = /* @__PURE__ */ N({
|
|
|
1725
1727
|
if (e.multiSelect) {
|
|
1726
1728
|
const b = v(h);
|
|
1727
1729
|
e.viewType;
|
|
1728
|
-
const
|
|
1729
|
-
y.value !==
|
|
1730
|
+
const M = b.map((D) => D[e.idField || e.valueField]).join(e.separator);
|
|
1731
|
+
y.value !== M && (y.value = M, t.emit("update:modelValue", y.value), t.emit("change", b, y.value));
|
|
1730
1732
|
} else h !== y.value && (y.value = h, t.emit("update:modelValue", y.value), t.emit("change", [], h));
|
|
1731
1733
|
}
|
|
1732
1734
|
function c() {
|
|
@@ -1747,14 +1749,14 @@ const W = /* @__PURE__ */ N({
|
|
|
1747
1749
|
function G() {
|
|
1748
1750
|
return w.value;
|
|
1749
1751
|
}
|
|
1750
|
-
const
|
|
1752
|
+
const B = {
|
|
1751
1753
|
getDisplayText: c,
|
|
1752
1754
|
hidePopup: $,
|
|
1753
1755
|
updateDataSource: A,
|
|
1754
1756
|
getData: G
|
|
1755
1757
|
};
|
|
1756
|
-
return t.expose(
|
|
1757
|
-
d.value = h, V.value = b, a.value = H, o.value =
|
|
1758
|
+
return t.expose(B), j([() => e.disabled, () => e.editable, () => e.enableClear, () => e.enableSearch, () => e.readonly], ([h, b, H, M, D]) => {
|
|
1759
|
+
d.value = h, V.value = b, a.value = H, o.value = M, m.value = D;
|
|
1758
1760
|
}), () => s(ot, {
|
|
1759
1761
|
ref: n,
|
|
1760
1762
|
id: e.id,
|
|
@@ -2127,7 +2129,7 @@ class fn extends dt {
|
|
|
2127
2129
|
tabName: "交互",
|
|
2128
2130
|
setPropertyRelates(V, y) {
|
|
2129
2131
|
const v = V.propertyValue;
|
|
2130
|
-
delete t[a.viewModelId], v && (v.setPropertyRelates = this.setPropertyRelates, a.eventsEditorUtils.saveRelatedParameters(t, a.viewModelId, v.events, v)), d && d(V, y, v);
|
|
2132
|
+
delete t[a.viewModelId], v && (v.setPropertyRelates = this.setPropertyRelates, a.eventsEditorUtils.saveRelatedParameters(t, a.viewModelId, v.events, v), a.updateLinkedLabel(v, y)), d && d(V, y, v);
|
|
2131
2133
|
const p = a.designViewModelUtils.getDgViewModel(a.viewModelId);
|
|
2132
2134
|
p && a.designViewModelField && p.changeField(a.designViewModelField.id, { valueChanging: t.fieldValueChanging, valueChanged: t.fieldValueChanged }), t.editor.beforeOpen !== t.beforeOpen && (t.editor.beforeOpen = t.beforeOpen), t.editor.onChange !== t.onChange && (t.editor.onChange = t.onChange), t.editor.onClear !== t.onClear && (t.editor.onClear = t.onClear);
|
|
2133
2135
|
}
|