vxe-pc-ui 4.14.21 → 4.14.22
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/dist/all.esm.js +41989 -0
- package/dist/style.css +1 -0
- package/dist/style.min.css +1 -0
- package/es/form/src/form.js +2 -1
- package/es/form/src/render.js +1 -1
- package/es/tabs/src/tabs.js +4 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/form/src/form.js +2 -1
- package/lib/form/src/form.min.js +1 -1
- package/lib/form/src/render.js +1 -1
- package/lib/form/src/render.min.js +1 -1
- package/lib/index.umd.js +10 -5
- package/lib/index.umd.min.js +1 -1
- package/lib/tabs/src/tabs.js +5 -1
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +5 -2
- package/packages/form/src/form.ts +2 -1
- package/packages/form/src/render.ts +1 -1
- package/packages/tabs/src/tabs.ts +4 -1
- package/types/components/colgroup.d.ts +3 -71
- package/types/components/column.d.ts +6 -0
- package/types/components/form-item.d.ts +1 -1
- package/types/components/table.d.ts +1 -0
- /package/es/icon/{iconfont.1779687105351.ttf → iconfont.1779767616126.ttf} +0 -0
- /package/es/icon/{iconfont.1779687105351.woff → iconfont.1779767616126.woff} +0 -0
- /package/es/icon/{iconfont.1779687105351.woff2 → iconfont.1779767616126.woff2} +0 -0
- /package/es/{iconfont.1779687105351.ttf → iconfont.1779767616126.ttf} +0 -0
- /package/es/{iconfont.1779687105351.woff → iconfont.1779767616126.woff} +0 -0
- /package/es/{iconfont.1779687105351.woff2 → iconfont.1779767616126.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1779687105351.ttf → iconfont.1779767616126.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1779687105351.woff → iconfont.1779767616126.woff} +0 -0
- /package/lib/icon/style/{iconfont.1779687105351.woff2 → iconfont.1779767616126.woff2} +0 -0
- /package/lib/{iconfont.1779687105351.ttf → iconfont.1779767616126.ttf} +0 -0
- /package/lib/{iconfont.1779687105351.woff → iconfont.1779767616126.woff} +0 -0
- /package/lib/{iconfont.1779687105351.woff2 → iconfont.1779767616126.woff2} +0 -0
package/es/form/src/form.js
CHANGED
|
@@ -493,7 +493,8 @@ export default defineVxeComponent({
|
|
|
493
493
|
const errorRules = [];
|
|
494
494
|
const syncVailds = [];
|
|
495
495
|
if (property && formRules) {
|
|
496
|
-
const
|
|
496
|
+
const item = getItemByField(property);
|
|
497
|
+
const rules = item && item.rules ? item.rules : XEUtils.get(formRules, property);
|
|
497
498
|
if (rules) {
|
|
498
499
|
const itemValue = XEUtils.isUndefined(val) ? XEUtils.get(data, property) : val;
|
|
499
500
|
rules.forEach((rule) => {
|
package/es/form/src/render.js
CHANGED
|
@@ -52,7 +52,7 @@ export function getItemClass($xeForm, item, isGroup) {
|
|
|
52
52
|
let isRequired = false;
|
|
53
53
|
let isValid = false;
|
|
54
54
|
if (!readonly && rules) {
|
|
55
|
-
const itemRules = rules[field];
|
|
55
|
+
const itemRules = item.rules ? item.rules : rules[field];
|
|
56
56
|
if (itemRules && itemRules.length) {
|
|
57
57
|
isValid = true;
|
|
58
58
|
isRequired = itemRules.some((rule) => rule.required);
|
package/es/tabs/src/tabs.js
CHANGED
|
@@ -114,11 +114,14 @@ export default defineVxeComponent({
|
|
|
114
114
|
};
|
|
115
115
|
});
|
|
116
116
|
const computeWrapperStyle = computed(() => {
|
|
117
|
-
const { width } = props;
|
|
117
|
+
const { width, height } = props;
|
|
118
118
|
const stys = {};
|
|
119
119
|
if (width) {
|
|
120
120
|
stys.width = toCssUnit(width);
|
|
121
121
|
}
|
|
122
|
+
if (height) {
|
|
123
|
+
stys.height = height === 'auto' ? '100%' : toCssUnit(height);
|
|
124
|
+
}
|
|
122
125
|
return stys;
|
|
123
126
|
});
|
|
124
127
|
const computeCloseOpts = computed(() => {
|
package/es/ui/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VxeUI, setConfig, setIcon } from '@vxe-ui/core';
|
|
2
2
|
import { dynamicApp } from '../dynamics';
|
|
3
3
|
import { warnLog } from './src/log';
|
|
4
|
-
export const version = "4.14.
|
|
4
|
+
export const version = "4.14.22";
|
|
5
5
|
VxeUI.uiVersion = version;
|
|
6
6
|
VxeUI.dynamicApp = dynamicApp;
|
|
7
7
|
export function config(options) {
|
package/es/ui/src/log.js
CHANGED
package/lib/form/src/form.js
CHANGED
|
@@ -559,7 +559,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
559
559
|
const errorRules = [];
|
|
560
560
|
const syncVailds = [];
|
|
561
561
|
if (property && formRules) {
|
|
562
|
-
const
|
|
562
|
+
const item = getItemByField(property);
|
|
563
|
+
const rules = item && item.rules ? item.rules : _xeUtils.default.get(formRules, property);
|
|
563
564
|
if (rules) {
|
|
564
565
|
const itemValue = _xeUtils.default.isUndefined(val) ? _xeUtils.default.get(data, property) : val;
|
|
565
566
|
rules.forEach(rule => {
|
package/lib/form/src/form.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_tooltip=_interopRequireDefault(require("../../tooltip")),_formConfigItem=_interopRequireDefault(require("./form-config-item")),_loading=_interopRequireDefault(require("../../loading")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}require("../render");class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.min,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}function validREValue(e,t){return!(e&&!(_xeUtils.default.isRegExp(e)?e:new RegExp(e)).test(t))}function validMaxValue(e,t){return!(!_xeUtils.default.eqNull(e)&&t>_xeUtils.default.toNumber(e))}function validMinValue(e,t){return!(!_xeUtils.default.eqNull(e)&&t<_xeUtils.default.toNumber(e))}function validRuleValue(e,t,l){var{type:e,min:i,max:r,pattern:a}=e,u="array"===e,o="number"===e,e="string"===e,n=""+t;if(!validREValue(a,n))return!1;if(u){if(!_xeUtils.default.isArray(t))return!1;if(l&&!t.length)return!1;if(!validMinValue(i,t.length))return!1;if(!validMaxValue(r,t.length))return!1}else if(o){a=Number(t);if(isNaN(a))return!1;if(!validMinValue(i,a))return!1;if(!validMaxValue(r,a))return!1}else{if(e&&!_xeUtils.default.isString(t))return!1;if(l&&!n)return!1;if(!validMinValue(i,n.length))return!1;if(!validMaxValue(r,n.length))return!1}return!0}function checkRuleStatus(e,t,l){var{required:i,field:r}=e,t=r?_xeUtils.default.get(t,r):l,r=_xeUtils.default.isArray(t)?!t.length:(0,_utils.eqEmptyValue)(t);if(i){if(r)return!1;if(!validRuleValue(e,t,i))return!1}else if(!r&&!validRuleValue(e,t,i))return!1;return!0}function createInternalData(){return{meTimeout:void 0,stTimeout:void 0,tooltipStore:{item:null,visible:!1},itemFormatCache:{}}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeForm",props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:()=>(0,_ui.getConfig)().form.size||(0,_ui.getConfig)().size},span:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.span},align:{type:String,default:()=>(0,_ui.getConfig)().form.align},verticalAlign:{type:String,default:()=>(0,_ui.getConfig)().form.verticalAlign},border:{type:Boolean,default:()=>(0,_ui.getConfig)().form.border},titleBackground:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleBackground},titleBold:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleBold},titleAlign:{type:String,default:()=>(0,_ui.getConfig)().form.titleAlign},titleWidth:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.titleWidth},titleColon:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleColon},titleAsterisk:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleAsterisk},titleOverflow:{type:[Boolean,String],default:()=>(0,_ui.getConfig)().form.titleOverflow},vertical:{type:Boolean,default:()=>(0,_ui.getConfig)().form.vertical},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().form.padding},className:[String,Function],readonly:Boolean,disabled:Boolean,items:Array,rules:Object,preventSubmit:{type:Boolean,default:()=>(0,_ui.getConfig)().form.preventSubmit},validConfig:Object,tooltipConfig:Object,collapseConfig:Object,customLayout:{type:Boolean,default:()=>(0,_ui.getConfig)().form.customLayout},params:Object},emits:["update:collapseStatus","collapse","toggle-collapse","submit","submit-invalid","reset"],setup(s,e){let{slots:d,emit:i}=e,o=(0,_vue.inject)("$xeGrid",null);var t=_xeUtils.default.uniqueId();let f=(0,_ui.useSize)(s).computeSize,c=(0,_vue.reactive)({collapseAll:s.collapseStatus,staticItems:[],formItems:[],itemWidth:0}),m=createInternalData(),v=(0,_vue.ref)(),g=(0,_vue.ref)(),r={},_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.validConfig,s.validConfig)),p=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tooltip,(0,_ui.getConfig)().form.tooltipConfig,s.tooltipConfig));var l=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.collapseConfig,s.collapseConfig));let a=(0,_vue.computed)(()=>{let{titleWidth:i,vertical:r}=s;var e=c.formItems;let a=[];return _xeUtils.default.eachTree(e,e=>{var{titleWidth:t,vertical:l}=e;"auto"!==t&&("auto"!==((_xeUtils.default.eqNull(l)?r:l)?null:_xeUtils.default.eqNull(t)?i:t)||e.children&&e.children.length)||a.push(e)},{children:"children"}),a}),u={refElem:v},n={computeSize:f,computeValidOpts:_,computeTooltipOpts:p,computeCollapseOpts:l,computeAutoItemWidthList:a},h={xID:t,props:s,context:e,reactData:c,internalData:m,xeGrid:o,getRefMaps:()=>u,getComputeMaps:()=>n};let x=e=>(e.length&&e.forEach(e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]||(0,_log.errLog)("vxe.error.notSlot",["[form] "+e])})}),c.staticItems=_xeUtils.default.mapTree(e,e=>(0,_util.createItem)(h,e),{children:"children"}),m.itemFormatCache={},(0,_vue.nextTick)().then(()=>M())),y=()=>{let t=[];return _xeUtils.default.eachTree(c.formItems,e=>{t.push(e)},{children:"children"}),t},b=t=>{var e=_xeUtils.default.findTree(c.formItems,e=>e.field===t,{children:"children"});return e?e.item:null},C=()=>c.collapseAll,U=()=>{var e=!C();return c.collapseAll=e,i("update:collapseStatus",e),(0,_vue.nextTick)()};let E=t=>{if(t){let e=t;(e=_xeUtils.default.isArray(t)?e:[t]).forEach(e=>{e&&(e=(0,_util.handleFieldOrItem)(h,e))&&(e.showError=!1,e.showIconMsg=!1)})}else y().forEach(e=>{e.showError=!1,e.showIconMsg=!1});return(0,_vue.nextTick)()},I=(e,t,l)=>{var{field:i,resetValue:r}=e;return _xeUtils.default.isFunction(r)?r({field:i,item:e,data:t,$form:h,$grid:o}):_xeUtils.default.eqNull(r)&&_xeUtils.default.isArray(l)?[]:r},S=()=>{let u=s.data;var e=y();return u&&e.forEach(e=>{var t,l,i,{field:r,itemRender:a}=e;(0,_utils.isEnableConf)(a)&&({name:a,startField:t,endField:l}=a,i=(a=_ui.renderer.get(a))?a.formItemResetMethod||a.itemResetMethod:null,a&&i?i({data:u,field:r,property:r,item:e,$form:h,$grid:o}):r&&(a=_xeUtils.default.get(u,r),_xeUtils.default.set(u,r,I(e,u,a))),t)&&l&&(_xeUtils.default.set(u,t,I(e,u,_xeUtils.default.get(u,t))),_xeUtils.default.set(u,l,I(e,u,_xeUtils.default.get(u,l))))}),m.itemFormatCache={},E(),M()},$=e=>{e.preventDefault(),S(),r.dispatchEvent("reset",{data:s.data},e)},j=e=>{var l=v.value;if(l)for(let t=0;t<e.length;t++){var i=e[t],r=b(i);if(r&&(0,_utils.isEnableConf)(r.itemRender)){var a=r.itemRender,u=_ui.renderer.get(a.name);t||(0,_dom.scrollToView)(l.querySelector("."+r.id));let e=null;a=a.autoFocus||a.autofocus||(u?u.formItemAutoFocus:null);if(_xeUtils.default.isFunction(a)?e=a({$form:h,$grid:o,item:r,data:s.data,field:i}):!0===a?e=l.querySelector(`.${r.id} input,textarea`):a&&(e=l.querySelector(`.${r.id} `+a)),e){e.focus();break}}}},w=(e,t,l)=>{let{data:f,rules:i}=s,r={};return _xeUtils.default.isArray(t)||(t=[t]),Promise.all(t.map(n=>{let s=[],d=[];if(n&&i){let o=_xeUtils.default.get(i,n);if(o){let u=_xeUtils.default.isUndefined(l)?_xeUtils.default.get(f,n):l;o.forEach(t=>{let{trigger:l,validator:i}=t;if("all"===e||!l||e===l)if(i){var r,a={itemValue:u,rule:t,rules:o,data:f,field:n,property:n,$form:h};let e;_xeUtils.default.isString(i)?(r=_ui.validators.get(i))?(r=r.formItemValidatorMethod||r.itemValidatorMethod)?e=r(a):(0,_log.warnLog)("vxe.error.notValidators",["[form] "+i]):(0,_log.errLog)("vxe.error.notValidators",["[form] "+i]):e=i(a),e&&(_xeUtils.default.isError(e)?s.push(new Rule({type:"custom",trigger:l,content:e.message,rule:new Rule(t)})):e.catch&&d.push(e.catch(e=>{s.push(new Rule({type:"custom",trigger:l,content:e?e.message:t.content||t.message,rule:new Rule(t)}))})))}else checkRuleStatus(t,f,u)||s.push(new Rule(t))})}}return Promise.all(d).then(()=>{s.length&&(r[n]=s.map(e=>({$form:h,rule:e,data:f,field:n,property:n})))})})).then(()=>{if(!_xeUtils.default.isEmpty(r))return Promise.reject(r)})},T=(t,e,l)=>{var{data:i,rules:r}=s;let a=_.value,u={},o=[],n=[];return clearTimeout(m.meTimeout),i&&r?(t.forEach(t=>{let l=t.field;l&&!(0,_util.isHiddenItem)(h,t)&&(0,_util.isActiveItem)(h,t)&&n.push(w(e||"all",l).then(()=>{t.errRule=null}).catch(e=>{e=e[l];return u[l]||(u[l]=[]),u[l].push(e),o.push(l),t.errRule=e[0].rule,Promise.reject(e)}))}),Promise.all(n).then(()=>{l&&l()}).catch(()=>new Promise(e=>{m.meTimeout=setTimeout(()=>{t.forEach(e=>{e.errRule&&(e.showError=!0)})},20),!1!==a.autoPos&&(0,_vue.nextTick)(()=>{j(o)}),l?(l(u),e()):e(u)}))):(l&&l(),Promise.resolve())};let q=t=>{var e=s.readonly;E(),e?(h.dispatchEvent("submit",{data:s.data},t),M()):T(y()).then(e=>{e?h.dispatchEvent("submit-invalid",{data:s.data,errMap:e},t):h.dispatchEvent("submit",{data:s.data},t),M()})},k=e=>{e.preventDefault(),s.preventSubmit||q(e)},R=()=>{var e=m.tooltipStore,t=g.value;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t)&&t.close(),(0,_vue.nextTick)()};let V=(e,l,t)=>l?w(e?["blur"].includes(e.type)?"blur":"change":"all",l,t).then(()=>{E(l)}).catch(e=>{var e=e[l],t=b(l);e&&t&&(t.showError=!0,t.errRule=e[0].rule)}):(0,_vue.nextTick)();let M=()=>{var e=a.value,l=v.value;if(l&&e.length){l=l.querySelectorAll(e.map(e=>`.vxe-form--item-title[itemid="${e.id}"]`).join(","));let t=0;_xeUtils.default.arrayEach(l,e=>{e.style.width="",t=Math.max(t,Math.ceil(e.clientWidth+2))}),_xeUtils.default.arrayEach(l,e=>{e.style.width=t+"px"})}return(0,_vue.nextTick)()},B=()=>{M()};r={dispatchEvent(e,t,l){i(e,(0,_ui.createEvent)(l,{$form:h,$grid:o},t))},reset:S,validate:e=>{var t=s.readonly;return E(),t?(0,_vue.nextTick)():T(y(),"",e).then(e=>(M(),e))},validateField:(e,t)=>{var l=s.readonly;if(l)return(0,_vue.nextTick)();let i=[];l=(i=e?_xeUtils.default.isArray(e)?e:[e]:i).map(e=>(0,_util.handleFieldOrItem)(h,e));return T(l,"",t).then(e=>(M(),e))},clearValidate:E,updateStatus:(e,t)=>{e=e.field;return V(new Event("change"),e,t)},toggleCollapse:U,getItems:y,getItemByField:b,closeTooltip:R,recalculate:M};l={callSlot:(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],triggerItemEvent:V,toggleCollapseEvent:e=>{var t=U(),l=C();r.dispatchEvent("toggle-collapse",{status:l,collapse:l,data:s.data},e),r.dispatchEvent("collapse",{status:l,collapse:l,data:s.data},e),t.then(()=>{M().then(()=>{o&&o.recalculate(!0)}),o&&o.recalculate()})},triggerTitleTipEvent:(e,t)=>{var t=t.item,l=m.tooltipStore,i=g.value,e=e.currentTarget.children[0],r=(e.textContent||"").trim(),a=e.scrollWidth>e.clientWidth;clearTimeout(m.stTimeout),l.item!==t&&R(),r&&a&&(Object.assign(l,{item:t,visible:!0}),i)&&i.open(e,r)},handleTitleTipLeaveEvent:()=>{var e=p.value;let t=g.value;t&&t.setActived(!1),e.enterable?m.stTimeout=setTimeout(()=>{(t=g.value)&&!t.isActived()&&R()},e.leaveDelay):R()},handleValidIconEvent(e,t){t=t.item;t.showIconMsg=!t.showIconMsg},handleSubmitEvent:q};Object.assign(h,r,l);let A=(0,_vue.ref)(0),F=((0,_vue.watch)(()=>s.vertical,()=>{A.value++}),(0,_vue.watch)(()=>s.titleWidth,()=>{A.value++}),(0,_vue.watch)(A,()=>{(0,_vue.nextTick)().then(()=>{M()})}),(0,_vue.ref)(0)),O=((0,_vue.watch)(()=>c.staticItems.length,()=>{F.value++}),(0,_vue.watch)(()=>c.staticItems,()=>{F.value++}),(0,_vue.watch)(F,()=>{c.formItems=c.staticItems,A.value++}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>s.items?s.items.length:-1,()=>{O.value++}),(0,_vue.watch)(()=>s.items,()=>{O.value++}),(0,_vue.watch)(O,()=>{x(s.items||[])}),(0,_vue.watch)(()=>s.collapseStatus,e=>{c.collapseAll=!!e}),(0,_vue.watch)(()=>s.readonly,()=>{E()}),(0,_vue.watch)(()=>s.disabled,()=>{E()}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{s.customLayout&&s.items&&(0,_log.errLog)("vxe.error.errConflicts",["[form] custom-layout","items"])}),_ui.globalEvents.on(h,"resize",B)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(h,"resize"),_xeUtils.default.assign(m,createInternalData())}),s.items&&x(s.items),(0,_vue.provide)("xeFormItemInfo",null),(0,_vue.provide)("$xeForm",h),(0,_vue.provide)("$xeFormGroup",null),(0,_vue.provide)("$xeFormItem",null),h.renderVN=()=>{var{loading:e,border:t,className:l,data:i,customLayout:r}=s,a=c.formItems,u=f.value,o=p.value,n=d.default;return(0,_vue.h)("form",{ref:v,class:["vxe-form",l?_xeUtils.default.isFunction(l)?l({items:a,data:i,$form:h}):l:"",{["size--"+u]:u,"is--border":t,"custom--layout":r,"is--loading":e}],onSubmit:k,onReset:$},[(0,_vue.h)("div",{class:"vxe-form--wrapper vxe-form--item-row"},r?n?n({}):[]:a.map((e,t)=>(0,_vue.h)(_formConfigItem.default,{key:t,itemConfig:e}))),(0,_vue.h)("div",{class:"vxe-form-slots",ref:"hideItem"},!r&&n?n({}):[]),(0,_vue.h)(_loading.default,{class:"vxe-form--loading",modelValue:e}),(0,_vue.h)(_tooltip.default,Object.assign({ref:g},o))])},h},render(){return this.renderVN()}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_tooltip=_interopRequireDefault(require("../../tooltip")),_formConfigItem=_interopRequireDefault(require("./form-config-item")),_loading=_interopRequireDefault(require("../../loading")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}require("../render");class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.min,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}function validREValue(e,t){return!(e&&!(_xeUtils.default.isRegExp(e)?e:new RegExp(e)).test(t))}function validMaxValue(e,t){return!(!_xeUtils.default.eqNull(e)&&t>_xeUtils.default.toNumber(e))}function validMinValue(e,t){return!(!_xeUtils.default.eqNull(e)&&t<_xeUtils.default.toNumber(e))}function validRuleValue(e,t,l){var{type:e,min:i,max:r,pattern:a}=e,u="array"===e,o="number"===e,e="string"===e,n=""+t;if(!validREValue(a,n))return!1;if(u){if(!_xeUtils.default.isArray(t))return!1;if(l&&!t.length)return!1;if(!validMinValue(i,t.length))return!1;if(!validMaxValue(r,t.length))return!1}else if(o){a=Number(t);if(isNaN(a))return!1;if(!validMinValue(i,a))return!1;if(!validMaxValue(r,a))return!1}else{if(e&&!_xeUtils.default.isString(t))return!1;if(l&&!n)return!1;if(!validMinValue(i,n.length))return!1;if(!validMaxValue(r,n.length))return!1}return!0}function checkRuleStatus(e,t,l){var{required:i,field:r}=e,t=r?_xeUtils.default.get(t,r):l,r=_xeUtils.default.isArray(t)?!t.length:(0,_utils.eqEmptyValue)(t);if(i){if(r)return!1;if(!validRuleValue(e,t,i))return!1}else if(!r&&!validRuleValue(e,t,i))return!1;return!0}function createInternalData(){return{meTimeout:void 0,stTimeout:void 0,tooltipStore:{item:null,visible:!1},itemFormatCache:{}}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeForm",props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:()=>(0,_ui.getConfig)().form.size||(0,_ui.getConfig)().size},span:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.span},align:{type:String,default:()=>(0,_ui.getConfig)().form.align},verticalAlign:{type:String,default:()=>(0,_ui.getConfig)().form.verticalAlign},border:{type:Boolean,default:()=>(0,_ui.getConfig)().form.border},titleBackground:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleBackground},titleBold:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleBold},titleAlign:{type:String,default:()=>(0,_ui.getConfig)().form.titleAlign},titleWidth:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.titleWidth},titleColon:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleColon},titleAsterisk:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleAsterisk},titleOverflow:{type:[Boolean,String],default:()=>(0,_ui.getConfig)().form.titleOverflow},vertical:{type:Boolean,default:()=>(0,_ui.getConfig)().form.vertical},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().form.padding},className:[String,Function],readonly:Boolean,disabled:Boolean,items:Array,rules:Object,preventSubmit:{type:Boolean,default:()=>(0,_ui.getConfig)().form.preventSubmit},validConfig:Object,tooltipConfig:Object,collapseConfig:Object,customLayout:{type:Boolean,default:()=>(0,_ui.getConfig)().form.customLayout},params:Object},emits:["update:collapseStatus","collapse","toggle-collapse","submit","submit-invalid","reset"],setup(s,e){let{slots:d,emit:i}=e,o=(0,_vue.inject)("$xeGrid",null);var t=_xeUtils.default.uniqueId();let f=(0,_ui.useSize)(s).computeSize,c=(0,_vue.reactive)({collapseAll:s.collapseStatus,staticItems:[],formItems:[],itemWidth:0}),m=createInternalData(),v=(0,_vue.ref)(),g=(0,_vue.ref)(),r={},_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.validConfig,s.validConfig)),p=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tooltip,(0,_ui.getConfig)().form.tooltipConfig,s.tooltipConfig));var l=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.collapseConfig,s.collapseConfig));let a=(0,_vue.computed)(()=>{let{titleWidth:i,vertical:r}=s;var e=c.formItems;let a=[];return _xeUtils.default.eachTree(e,e=>{var{titleWidth:t,vertical:l}=e;"auto"!==t&&("auto"!==((_xeUtils.default.eqNull(l)?r:l)?null:_xeUtils.default.eqNull(t)?i:t)||e.children&&e.children.length)||a.push(e)},{children:"children"}),a}),u={refElem:v},n={computeSize:f,computeValidOpts:_,computeTooltipOpts:p,computeCollapseOpts:l,computeAutoItemWidthList:a},h={xID:t,props:s,context:e,reactData:c,internalData:m,xeGrid:o,getRefMaps:()=>u,getComputeMaps:()=>n};let x=e=>(e.length&&e.forEach(e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]||(0,_log.errLog)("vxe.error.notSlot",["[form] "+e])})}),c.staticItems=_xeUtils.default.mapTree(e,e=>(0,_util.createItem)(h,e),{children:"children"}),m.itemFormatCache={},(0,_vue.nextTick)().then(()=>M())),y=()=>{let t=[];return _xeUtils.default.eachTree(c.formItems,e=>{t.push(e)},{children:"children"}),t},b=t=>{var e=_xeUtils.default.findTree(c.formItems,e=>e.field===t,{children:"children"});return e?e.item:null},C=()=>c.collapseAll,U=()=>{var e=!C();return c.collapseAll=e,i("update:collapseStatus",e),(0,_vue.nextTick)()};let E=t=>{if(t){let e=t;(e=_xeUtils.default.isArray(t)?e:[t]).forEach(e=>{e&&(e=(0,_util.handleFieldOrItem)(h,e))&&(e.showError=!1,e.showIconMsg=!1)})}else y().forEach(e=>{e.showError=!1,e.showIconMsg=!1});return(0,_vue.nextTick)()},I=(e,t,l)=>{var{field:i,resetValue:r}=e;return _xeUtils.default.isFunction(r)?r({field:i,item:e,data:t,$form:h,$grid:o}):_xeUtils.default.eqNull(r)&&_xeUtils.default.isArray(l)?[]:r},S=()=>{let u=s.data;var e=y();return u&&e.forEach(e=>{var t,l,i,{field:r,itemRender:a}=e;(0,_utils.isEnableConf)(a)&&({name:a,startField:t,endField:l}=a,i=(a=_ui.renderer.get(a))?a.formItemResetMethod||a.itemResetMethod:null,a&&i?i({data:u,field:r,property:r,item:e,$form:h,$grid:o}):r&&(a=_xeUtils.default.get(u,r),_xeUtils.default.set(u,r,I(e,u,a))),t)&&l&&(_xeUtils.default.set(u,t,I(e,u,_xeUtils.default.get(u,t))),_xeUtils.default.set(u,l,I(e,u,_xeUtils.default.get(u,l))))}),m.itemFormatCache={},E(),M()},$=e=>{e.preventDefault(),S(),r.dispatchEvent("reset",{data:s.data},e)},j=e=>{var l=v.value;if(l)for(let t=0;t<e.length;t++){var i=e[t],r=b(i);if(r&&(0,_utils.isEnableConf)(r.itemRender)){var a=r.itemRender,u=_ui.renderer.get(a.name);t||(0,_dom.scrollToView)(l.querySelector("."+r.id));let e=null;a=a.autoFocus||a.autofocus||(u?u.formItemAutoFocus:null);if(_xeUtils.default.isFunction(a)?e=a({$form:h,$grid:o,item:r,data:s.data,field:i}):!0===a?e=l.querySelector(`.${r.id} input,textarea`):a&&(e=l.querySelector(`.${r.id} `+a)),e){e.focus();break}}}},w=(f,e,t)=>{let{data:c,rules:l}=s,i={};return _xeUtils.default.isArray(e)||(e=[e]),Promise.all(e.map(n=>{let s=[],d=[];if(n&&l){var e=b(n);let o=e&&e.rules?e.rules:_xeUtils.default.get(l,n);if(o){let u=_xeUtils.default.isUndefined(t)?_xeUtils.default.get(c,n):t;o.forEach(t=>{let{trigger:l,validator:i}=t;if("all"===f||!l||f===l)if(i){var r,a={itemValue:u,rule:t,rules:o,data:c,field:n,property:n,$form:h};let e;_xeUtils.default.isString(i)?(r=_ui.validators.get(i))?(r=r.formItemValidatorMethod||r.itemValidatorMethod)?e=r(a):(0,_log.warnLog)("vxe.error.notValidators",["[form] "+i]):(0,_log.errLog)("vxe.error.notValidators",["[form] "+i]):e=i(a),e&&(_xeUtils.default.isError(e)?s.push(new Rule({type:"custom",trigger:l,content:e.message,rule:new Rule(t)})):e.catch&&d.push(e.catch(e=>{s.push(new Rule({type:"custom",trigger:l,content:e?e.message:t.content||t.message,rule:new Rule(t)}))})))}else checkRuleStatus(t,c,u)||s.push(new Rule(t))})}}return Promise.all(d).then(()=>{s.length&&(i[n]=s.map(e=>({$form:h,rule:e,data:c,field:n,property:n})))})})).then(()=>{if(!_xeUtils.default.isEmpty(i))return Promise.reject(i)})},T=(t,e,l)=>{var{data:i,rules:r}=s;let a=_.value,u={},o=[],n=[];return clearTimeout(m.meTimeout),i&&r?(t.forEach(t=>{let l=t.field;l&&!(0,_util.isHiddenItem)(h,t)&&(0,_util.isActiveItem)(h,t)&&n.push(w(e||"all",l).then(()=>{t.errRule=null}).catch(e=>{e=e[l];return u[l]||(u[l]=[]),u[l].push(e),o.push(l),t.errRule=e[0].rule,Promise.reject(e)}))}),Promise.all(n).then(()=>{l&&l()}).catch(()=>new Promise(e=>{m.meTimeout=setTimeout(()=>{t.forEach(e=>{e.errRule&&(e.showError=!0)})},20),!1!==a.autoPos&&(0,_vue.nextTick)(()=>{j(o)}),l?(l(u),e()):e(u)}))):(l&&l(),Promise.resolve())};let q=t=>{var e=s.readonly;E(),e?(h.dispatchEvent("submit",{data:s.data},t),M()):T(y()).then(e=>{e?h.dispatchEvent("submit-invalid",{data:s.data,errMap:e},t):h.dispatchEvent("submit",{data:s.data},t),M()})},k=e=>{e.preventDefault(),s.preventSubmit||q(e)},R=()=>{var e=m.tooltipStore,t=g.value;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t)&&t.close(),(0,_vue.nextTick)()};let V=(e,l,t)=>l?w(e?["blur"].includes(e.type)?"blur":"change":"all",l,t).then(()=>{E(l)}).catch(e=>{var e=e[l],t=b(l);e&&t&&(t.showError=!0,t.errRule=e[0].rule)}):(0,_vue.nextTick)();let M=()=>{var e=a.value,l=v.value;if(l&&e.length){l=l.querySelectorAll(e.map(e=>`.vxe-form--item-title[itemid="${e.id}"]`).join(","));let t=0;_xeUtils.default.arrayEach(l,e=>{e.style.width="",t=Math.max(t,Math.ceil(e.clientWidth+2))}),_xeUtils.default.arrayEach(l,e=>{e.style.width=t+"px"})}return(0,_vue.nextTick)()},B=()=>{M()};r={dispatchEvent(e,t,l){i(e,(0,_ui.createEvent)(l,{$form:h,$grid:o},t))},reset:S,validate:e=>{var t=s.readonly;return E(),t?(0,_vue.nextTick)():T(y(),"",e).then(e=>(M(),e))},validateField:(e,t)=>{var l=s.readonly;if(l)return(0,_vue.nextTick)();let i=[];l=(i=e?_xeUtils.default.isArray(e)?e:[e]:i).map(e=>(0,_util.handleFieldOrItem)(h,e));return T(l,"",t).then(e=>(M(),e))},clearValidate:E,updateStatus:(e,t)=>{e=e.field;return V(new Event("change"),e,t)},toggleCollapse:U,getItems:y,getItemByField:b,closeTooltip:R,recalculate:M};l={callSlot:(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],triggerItemEvent:V,toggleCollapseEvent:e=>{var t=U(),l=C();r.dispatchEvent("toggle-collapse",{status:l,collapse:l,data:s.data},e),r.dispatchEvent("collapse",{status:l,collapse:l,data:s.data},e),t.then(()=>{M().then(()=>{o&&o.recalculate(!0)}),o&&o.recalculate()})},triggerTitleTipEvent:(e,t)=>{var t=t.item,l=m.tooltipStore,i=g.value,e=e.currentTarget.children[0],r=(e.textContent||"").trim(),a=e.scrollWidth>e.clientWidth;clearTimeout(m.stTimeout),l.item!==t&&R(),r&&a&&(Object.assign(l,{item:t,visible:!0}),i)&&i.open(e,r)},handleTitleTipLeaveEvent:()=>{var e=p.value;let t=g.value;t&&t.setActived(!1),e.enterable?m.stTimeout=setTimeout(()=>{(t=g.value)&&!t.isActived()&&R()},e.leaveDelay):R()},handleValidIconEvent(e,t){t=t.item;t.showIconMsg=!t.showIconMsg},handleSubmitEvent:q};Object.assign(h,r,l);let A=(0,_vue.ref)(0),F=((0,_vue.watch)(()=>s.vertical,()=>{A.value++}),(0,_vue.watch)(()=>s.titleWidth,()=>{A.value++}),(0,_vue.watch)(A,()=>{(0,_vue.nextTick)().then(()=>{M()})}),(0,_vue.ref)(0)),O=((0,_vue.watch)(()=>c.staticItems.length,()=>{F.value++}),(0,_vue.watch)(()=>c.staticItems,()=>{F.value++}),(0,_vue.watch)(F,()=>{c.formItems=c.staticItems,A.value++}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>s.items?s.items.length:-1,()=>{O.value++}),(0,_vue.watch)(()=>s.items,()=>{O.value++}),(0,_vue.watch)(O,()=>{x(s.items||[])}),(0,_vue.watch)(()=>s.collapseStatus,e=>{c.collapseAll=!!e}),(0,_vue.watch)(()=>s.readonly,()=>{E()}),(0,_vue.watch)(()=>s.disabled,()=>{E()}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{s.customLayout&&s.items&&(0,_log.errLog)("vxe.error.errConflicts",["[form] custom-layout","items"])}),_ui.globalEvents.on(h,"resize",B)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(h,"resize"),_xeUtils.default.assign(m,createInternalData())}),s.items&&x(s.items),(0,_vue.provide)("xeFormItemInfo",null),(0,_vue.provide)("$xeForm",h),(0,_vue.provide)("$xeFormGroup",null),(0,_vue.provide)("$xeFormItem",null),h.renderVN=()=>{var{loading:e,border:t,className:l,data:i,customLayout:r}=s,a=c.formItems,u=f.value,o=p.value,n=d.default;return(0,_vue.h)("form",{ref:v,class:["vxe-form",l?_xeUtils.default.isFunction(l)?l({items:a,data:i,$form:h}):l:"",{["size--"+u]:u,"is--border":t,"custom--layout":r,"is--loading":e}],onSubmit:k,onReset:$},[(0,_vue.h)("div",{class:"vxe-form--wrapper vxe-form--item-row"},r?n?n({}):[]:a.map((e,t)=>(0,_vue.h)(_formConfigItem.default,{key:t,itemConfig:e}))),(0,_vue.h)("div",{class:"vxe-form-slots",ref:"hideItem"},!r&&n?n({}):[]),(0,_vue.h)(_loading.default,{class:"vxe-form--loading",modelValue:e}),(0,_vue.h)(_tooltip.default,Object.assign({ref:g},o))])},h},render(){return this.renderVN()}});
|
package/lib/form/src/render.js
CHANGED
|
@@ -100,7 +100,7 @@ function getItemClass($xeForm, item, isGroup) {
|
|
|
100
100
|
let isRequired = false;
|
|
101
101
|
let isValid = false;
|
|
102
102
|
if (!readonly && rules) {
|
|
103
|
-
const itemRules = rules[field];
|
|
103
|
+
const itemRules = item.rules ? item.rules : rules[field];
|
|
104
104
|
if (itemRules && itemRules.length) {
|
|
105
105
|
isValid = true;
|
|
106
106
|
isRequired = itemRules.some(rule => rule.required);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.getItemClass=getItemClass,exports.getItemContentClass=getItemContentClass,exports.renderItemContent=renderItemContent,exports.renderItemErrorIcon=renderItemErrorIcon,exports.renderTitle=renderTitle;var _vue=require("vue"),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_util=require("./util"),_tooltip=_interopRequireDefault(require("../../tooltip/src/tooltip")),_icon=_interopRequireDefault(require("../../icon/src/icon")),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function renderPrefixIcon(e){return(0,_vue.h)("span",{class:"vxe-form--item-title-tip-prefix"},[(0,_vue.h)(_icon.default,{class:e.icon||(0,_ui.getIcon)().FORM_PREFIX,status:e.iconStatus})])}function renderSuffixIcon(e){return(0,_vue.h)("span",{class:"vxe-form--item-title-tip-suffix"},[(0,_vue.h)(_icon.default,{class:e.icon||(0,_ui.getIcon)().FORM_SUFFIX,status:e.iconStatus})])}function getItemClass(e,t,l){var i=e.props,r=e.reactData,s=e.xeGrid,{computeSize:n,computeValidOpts:o}=e.getComputeMaps(),{data:i,rules:a,readonly:u,disabled:d,span:m,titleBackground:c,titleBold:f,titleColon:v,titleAsterisk:_,vertical:p,padding:g}=i,r=r.collapseAll,{folding:x,field:h,itemRender:I,showError:C,className:b,vertical:U,padding:y,children:q,showContent:N}=t,n=n.value,{showErrorMessage:o,showMessage:F,showErrorBackground:O,showErrorIcon:E}=o.value,I=(0,_utils.isEnableConf)(I)?_ui.renderer.get(I.name):null,I=I?I.formItemClassName||I.itemClassName:"",m=t.span||m,g=_xeUtils.default.eqNull(y)?g:y,y=_xeUtils.default.eqNull(U)?p:U,p=_xeUtils.default.eqNull(t.titleBackground)?c:t.titleBackground,U=_xeUtils.default.eqNull(t.titleBold)?f:t.titleBold,c=_xeUtils.default.eqNull(t.titleColon)?v:t.titleColon,f=_xeUtils.default.eqNull(t.titleAsterisk)?_:t.titleAsterisk,v={data:i,disabled:d,readonly:u,field:h,property:h,item:t,$form:e,$grid:s},_=q&&0<q.length;let w=!1,T=!1;!u&&a&&(i=a[h])&&i.length&&(T=!0,w=i.some(e=>e.required));d=_xeUtils.default.isBoolean(o)?o:F;return[l||_?"vxe-form--group":"","vxe-form--item",t.id,m?`vxe-form--item-col_${m} is--span`:"",`${d?"show":"hide"}--err-msg`,b?_xeUtils.default.isFunction(b)?b(v):b:"",I?_xeUtils.default.isFunction(I)?I(v):I:"",{["size--"+n]:n,"is--colon":c,"is--tbg":p,"is--bold":U,"is--padding":g,"is--vertical":y,"is--asterisk":f,"hide--content":!1===N,"is--valid":T,"is--required":w,"is--hidden":x&&r,"is--active":(0,_util.isActiveItem)(e,t),"err--icon":E,"err--bg":O,"is--error":C}]}function getItemContentClass(e,t,l){var i=e.props,r=e.xeGrid,{data:i,readonly:s,disabled:n,align:o,verticalAlign:a}=i,{field:u,itemRender:d,contentClassName:m,children:c}=t,c=c&&0<c.length,d=(0,_utils.isEnableConf)(d)?_ui.renderer.get(d.name):null,d=d?d.formItemContentClassName||d.itemContentClassName:"",o=!c&&_xeUtils.default.eqNull(t.align)?o:t.align,a=!c&&_xeUtils.default.eqNull(t.verticalAlign)?a:t.verticalAlign,i={data:i,disabled:n,readonly:s,field:u,property:u,item:t,$form:e,$grid:r};return[l||c?"vxe-form--group-content vxe-form--item-row":"","vxe-form--item-content",o?"align--"+o:"",a?"vertical-align--"+a:"",d?_xeUtils.default.isFunction(d)?d(i):d:"",m?_xeUtils.default.isFunction(m)?m(i):m:""]}function renderTitle(t,e,l){var i=t.props,r=t.xeGrid,{data:i,readonly:s,disabled:n,titleAlign:o,titleWidth:a,titleOverflow:u,vertical:d}=i;let{slots:m,title:c,field:f,itemRender:v,titleOverflow:_,vertical:p,showTitle:g,titleClassName:x,titleStyle:h,titlePrefix:I,titleSuffix:C,children:b,showContent:U}=e;var y=t.getComputeMaps().computeTooltipOpts,y=y.value,q=(0,_utils.isEnableConf)(v)?_ui.renderer.get(v.name):null,N=q?q.formItemTitleClassName||q.itemTitleClassName:"",F=q?q.formItemTitleStyle||q.itemTitleStyle:null,d=_xeUtils.default.eqNull(p)?d:p,o=_xeUtils.default.eqNull(e.titleAlign)?o:e.titleAlign,d=d?null:_xeUtils.default.eqNull(e.titleWidth)?a:e.titleWidth,a=_xeUtils.default.eqNull(_)?u:_,u="title"===a,O=!0===a||"tooltip"===a,a=u||O||"ellipsis"===a;let E={data:i,disabled:n,readonly:s,field:f,property:f,item:e,$form:t,$grid:r};var i=m?m.title:null,n=m?m.prefix:null,s=m?m.suffix||m.extra:null,r=!1!==g&&(c||i),w=b&&0<b.length,T=[],n=(n&&T.push((0,_vue.h)("span",{key:"pt",class:"vxe-form--item-title-prefix"},t.callSlot(n,E))),I&&T.push(I.content||I.message?(0,_vue.h)(_tooltip.default,Object.assign(Object.assign(Object.assign({key:"pm"},y),I),{content:(0,_utils.getFuncText)(I.content||I.message)}),{default:()=>renderPrefixIcon(I)}):renderPrefixIcon(I)),q?q.renderFormItemTitle||q.renderItemTitle:null),q=(T.push((0,_vue.h)("span",{key:"pl",class:"vxe-form--item-title-label"},i?t.callSlot(i,E):n?(0,_vn.getSlotVNs)(n(v,E)):(0,_utils.getFuncText)(e.title))),[]),i=(C&&q.push(C.content||C.message?(0,_vue.h)(_tooltip.default,Object.assign(Object.assign(Object.assign({key:"sm"},y),C),{content:(0,_utils.getFuncText)(C.content||C.message)}),{default:()=>renderSuffixIcon(C)}):renderSuffixIcon(C)),s&&q.push((0,_vue.h)("span",{key:"st",class:"vxe-form--item-title-suffix"},t.callSlot(s,E))),O?{onMouseenter(e){t.triggerTitleTipEvent(e,E)},onMouseleave:t.handleTitleTipLeaveEvent}:{}),n=Object.assign({},_xeUtils.default.isFunction(F)?F(E):F,_xeUtils.default.isFunction(h)?h(E):h);return d&&"auto"!==d&&!1!==U&&(n.width=(0,_dom.toCssUnit)(d)),r?(0,_vue.h)("div",Object.assign({class:[l||w?"vxe-form--group-title":"","vxe-form--item-title",o?"align--"+o:"",a?"is--ellipsis":"",N?_xeUtils.default.isFunction(N)?N(E):N:"",x?_xeUtils.default.isFunction(x)?x(E):x:""],style:n,itemid:e.id,title:u?(0,_utils.getFuncText)(c):null},i),[(0,_vue.h)("div",{class:"vxe-form--item-title-content"},T),(0,_vue.h)("div",{class:"vxe-form--item-title-postfix"},q)]):(0,_ui.renderEmptyElement)(t)}function renderItemErrorIcon(t,l){var e=t.getComputeMaps().computeValidOpts,e=e.value,{showErrorIcon:i,errorIcon:r}=e,{errRule:s,showIconMsg:n}=l;return i?(0,_vue.h)("div",{key:"emi",class:["vxe-form-item--valid-error-icon-wrapper",{"is--show":n,"is--hide":!n}]},[(0,_vue.h)("span",{class:"vxe-form-item--valid-error-icon-btn",onClick(e){t.handleValidIconEvent(e,{item:l})}},[(0,_vue.h)("i",{class:r||(0,_ui.getIcon)().FORM_VALID_ERROR_ICON})]),(0,_vue.h)("div",{class:"vxe-form-item--valid-error-icon-msg-tip"},s?[(0,_vue.h)("div",{class:"vxe-form-item--valid-error-icon-msg vxe-form-item--valid-error-icon-theme-"+(e.theme||"normal")},s.content||s.message)]:[])]):(0,_ui.renderEmptyElement)(t)}function renderItemContent(e,l){var i=e.props,t=e.reactData,r=e.internalData,s=e.xeGrid,{computeCollapseOpts:n,computeValidOpts:o}=e.getComputeMaps(),r=r.itemFormatCache,{data:i,readonly:a,disabled:u}=i,t=t.collapseAll,{slots:d,field:m,itemRender:c,collapseNode:f,errRule:v,formatter:_}=l,p=d?d.default:null,d=d?d.valid:null,n=n.value,o=o.value,{showErrorMessage:g,showMessage:x}=o,h=(0,_utils.isEnableConf)(c)?_ui.renderer.get(c.name):null,I=_xeUtils.default.get(i,m),i={data:i,disabled:u,readonly:a,field:m,property:m,item:l,itemValue:I,$form:e,$grid:s};let C=[];var u=h?h.renderFormItemContent||h.renderItemContent:null;if(p)C=e.callSlot(p,i);else if(u)C=(0,_vn.getSlotVNs)(u(c,i));else if(m){let t=I;if(_){let e;if(m){a=r[m];if(a)if(e=a.formatData){if(e.value===I)return e.label}else e=a.formatData={};else r[m]={field:m}}t=_xeUtils.default.isString(_)?(s=(l=_ui.formats.get(_))?l.formItemFormatMethod:null)?s(i):"":_xeUtils.default.isArray(_)?(p=(h=_ui.formats.get(_[0]))?h.formItemFormatMethod:null)?p(i,..._.slice(1)):"":_(i),e&&(e.value=I,e.label=t)}C=[(0,_utils.eqEmptyValue)(t)?"":""+t]}return f&&C.push((0,_vue.h)("div",{class:"vxe-form--item-trigger-node",onClick:e.toggleCollapseEvent},[(0,_vue.h)("span",{class:"vxe-form--item-trigger-text"},t?n.unfoldButtonText||(0,_ui.getI18n)("vxe.form.unfolding"):n.foldButtonText||(0,_ui.getI18n)("vxe.form.folding")),(0,_vue.h)("i",{class:["vxe-form--item-trigger-icon",t?n.foldIcon||(0,_ui.getIcon)().FORM_FOLDING:n.unfoldIcon||(0,_ui.getIcon)().FORM_UNFOLDING]})])),v&&(_xeUtils.default.isBoolean(g)?g:x)&&(u=Object.assign(Object.assign({},i),{rule:v}),C.push((0,_vue.h)("div",{class:"vxe-form-item--valid-error-tip",style:v.maxWidth?{width:(0,_dom.toCssUnit)(v.maxWidth)}:null},[(0,_vue.h)("div",{class:"vxe-form-item--valid-error-wrapper vxe-form-item--valid-error-theme-"+(o.theme||"normal")},[d?e.callSlot(d,u):[(0,_vue.h)("span",{class:"vxe-form--item--valid-error-msg"},v.content||v.message)]])]))),(0,_vue.h)("div",{key:"ct",class:"vxe-form--item-inner"},C)}
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.getItemClass=getItemClass,exports.getItemContentClass=getItemContentClass,exports.renderItemContent=renderItemContent,exports.renderItemErrorIcon=renderItemErrorIcon,exports.renderTitle=renderTitle;var _vue=require("vue"),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_util=require("./util"),_tooltip=_interopRequireDefault(require("../../tooltip/src/tooltip")),_icon=_interopRequireDefault(require("../../icon/src/icon")),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function renderPrefixIcon(e){return(0,_vue.h)("span",{class:"vxe-form--item-title-tip-prefix"},[(0,_vue.h)(_icon.default,{class:e.icon||(0,_ui.getIcon)().FORM_PREFIX,status:e.iconStatus})])}function renderSuffixIcon(e){return(0,_vue.h)("span",{class:"vxe-form--item-title-tip-suffix"},[(0,_vue.h)(_icon.default,{class:e.icon||(0,_ui.getIcon)().FORM_SUFFIX,status:e.iconStatus})])}function getItemClass(e,t,l){var i=e.props,r=e.reactData,s=e.xeGrid,{computeSize:n,computeValidOpts:o}=e.getComputeMaps(),{data:i,rules:a,readonly:u,disabled:d,span:m,titleBackground:c,titleBold:f,titleColon:v,titleAsterisk:_,vertical:p,padding:g}=i,r=r.collapseAll,{folding:x,field:h,itemRender:I,showError:C,className:b,vertical:U,padding:y,children:q,showContent:N}=t,n=n.value,{showErrorMessage:o,showMessage:F,showErrorBackground:O,showErrorIcon:E}=o.value,I=(0,_utils.isEnableConf)(I)?_ui.renderer.get(I.name):null,I=I?I.formItemClassName||I.itemClassName:"",m=t.span||m,g=_xeUtils.default.eqNull(y)?g:y,y=_xeUtils.default.eqNull(U)?p:U,p=_xeUtils.default.eqNull(t.titleBackground)?c:t.titleBackground,U=_xeUtils.default.eqNull(t.titleBold)?f:t.titleBold,c=_xeUtils.default.eqNull(t.titleColon)?v:t.titleColon,f=_xeUtils.default.eqNull(t.titleAsterisk)?_:t.titleAsterisk,v={data:i,disabled:d,readonly:u,field:h,property:h,item:t,$form:e,$grid:s},_=q&&0<q.length;let w=!1,T=!1;!u&&a&&(i=t.rules||a[h])&&i.length&&(T=!0,w=i.some(e=>e.required));d=_xeUtils.default.isBoolean(o)?o:F;return[l||_?"vxe-form--group":"","vxe-form--item",t.id,m?`vxe-form--item-col_${m} is--span`:"",`${d?"show":"hide"}--err-msg`,b?_xeUtils.default.isFunction(b)?b(v):b:"",I?_xeUtils.default.isFunction(I)?I(v):I:"",{["size--"+n]:n,"is--colon":c,"is--tbg":p,"is--bold":U,"is--padding":g,"is--vertical":y,"is--asterisk":f,"hide--content":!1===N,"is--valid":T,"is--required":w,"is--hidden":x&&r,"is--active":(0,_util.isActiveItem)(e,t),"err--icon":E,"err--bg":O,"is--error":C}]}function getItemContentClass(e,t,l){var i=e.props,r=e.xeGrid,{data:i,readonly:s,disabled:n,align:o,verticalAlign:a}=i,{field:u,itemRender:d,contentClassName:m,children:c}=t,c=c&&0<c.length,d=(0,_utils.isEnableConf)(d)?_ui.renderer.get(d.name):null,d=d?d.formItemContentClassName||d.itemContentClassName:"",o=!c&&_xeUtils.default.eqNull(t.align)?o:t.align,a=!c&&_xeUtils.default.eqNull(t.verticalAlign)?a:t.verticalAlign,i={data:i,disabled:n,readonly:s,field:u,property:u,item:t,$form:e,$grid:r};return[l||c?"vxe-form--group-content vxe-form--item-row":"","vxe-form--item-content",o?"align--"+o:"",a?"vertical-align--"+a:"",d?_xeUtils.default.isFunction(d)?d(i):d:"",m?_xeUtils.default.isFunction(m)?m(i):m:""]}function renderTitle(t,e,l){var i=t.props,r=t.xeGrid,{data:i,readonly:s,disabled:n,titleAlign:o,titleWidth:a,titleOverflow:u,vertical:d}=i;let{slots:m,title:c,field:f,itemRender:v,titleOverflow:_,vertical:p,showTitle:g,titleClassName:x,titleStyle:h,titlePrefix:I,titleSuffix:C,children:b,showContent:U}=e;var y=t.getComputeMaps().computeTooltipOpts,y=y.value,q=(0,_utils.isEnableConf)(v)?_ui.renderer.get(v.name):null,N=q?q.formItemTitleClassName||q.itemTitleClassName:"",F=q?q.formItemTitleStyle||q.itemTitleStyle:null,d=_xeUtils.default.eqNull(p)?d:p,o=_xeUtils.default.eqNull(e.titleAlign)?o:e.titleAlign,d=d?null:_xeUtils.default.eqNull(e.titleWidth)?a:e.titleWidth,a=_xeUtils.default.eqNull(_)?u:_,u="title"===a,O=!0===a||"tooltip"===a,a=u||O||"ellipsis"===a;let E={data:i,disabled:n,readonly:s,field:f,property:f,item:e,$form:t,$grid:r};var i=m?m.title:null,n=m?m.prefix:null,s=m?m.suffix||m.extra:null,r=!1!==g&&(c||i),w=b&&0<b.length,T=[],n=(n&&T.push((0,_vue.h)("span",{key:"pt",class:"vxe-form--item-title-prefix"},t.callSlot(n,E))),I&&T.push(I.content||I.message?(0,_vue.h)(_tooltip.default,Object.assign(Object.assign(Object.assign({key:"pm"},y),I),{content:(0,_utils.getFuncText)(I.content||I.message)}),{default:()=>renderPrefixIcon(I)}):renderPrefixIcon(I)),q?q.renderFormItemTitle||q.renderItemTitle:null),q=(T.push((0,_vue.h)("span",{key:"pl",class:"vxe-form--item-title-label"},i?t.callSlot(i,E):n?(0,_vn.getSlotVNs)(n(v,E)):(0,_utils.getFuncText)(e.title))),[]),i=(C&&q.push(C.content||C.message?(0,_vue.h)(_tooltip.default,Object.assign(Object.assign(Object.assign({key:"sm"},y),C),{content:(0,_utils.getFuncText)(C.content||C.message)}),{default:()=>renderSuffixIcon(C)}):renderSuffixIcon(C)),s&&q.push((0,_vue.h)("span",{key:"st",class:"vxe-form--item-title-suffix"},t.callSlot(s,E))),O?{onMouseenter(e){t.triggerTitleTipEvent(e,E)},onMouseleave:t.handleTitleTipLeaveEvent}:{}),n=Object.assign({},_xeUtils.default.isFunction(F)?F(E):F,_xeUtils.default.isFunction(h)?h(E):h);return d&&"auto"!==d&&!1!==U&&(n.width=(0,_dom.toCssUnit)(d)),r?(0,_vue.h)("div",Object.assign({class:[l||w?"vxe-form--group-title":"","vxe-form--item-title",o?"align--"+o:"",a?"is--ellipsis":"",N?_xeUtils.default.isFunction(N)?N(E):N:"",x?_xeUtils.default.isFunction(x)?x(E):x:""],style:n,itemid:e.id,title:u?(0,_utils.getFuncText)(c):null},i),[(0,_vue.h)("div",{class:"vxe-form--item-title-content"},T),(0,_vue.h)("div",{class:"vxe-form--item-title-postfix"},q)]):(0,_ui.renderEmptyElement)(t)}function renderItemErrorIcon(t,l){var e=t.getComputeMaps().computeValidOpts,e=e.value,{showErrorIcon:i,errorIcon:r}=e,{errRule:s,showIconMsg:n}=l;return i?(0,_vue.h)("div",{key:"emi",class:["vxe-form-item--valid-error-icon-wrapper",{"is--show":n,"is--hide":!n}]},[(0,_vue.h)("span",{class:"vxe-form-item--valid-error-icon-btn",onClick(e){t.handleValidIconEvent(e,{item:l})}},[(0,_vue.h)("i",{class:r||(0,_ui.getIcon)().FORM_VALID_ERROR_ICON})]),(0,_vue.h)("div",{class:"vxe-form-item--valid-error-icon-msg-tip"},s?[(0,_vue.h)("div",{class:"vxe-form-item--valid-error-icon-msg vxe-form-item--valid-error-icon-theme-"+(e.theme||"normal")},s.content||s.message)]:[])]):(0,_ui.renderEmptyElement)(t)}function renderItemContent(e,l){var i=e.props,t=e.reactData,r=e.internalData,s=e.xeGrid,{computeCollapseOpts:n,computeValidOpts:o}=e.getComputeMaps(),r=r.itemFormatCache,{data:i,readonly:a,disabled:u}=i,t=t.collapseAll,{slots:d,field:m,itemRender:c,collapseNode:f,errRule:v,formatter:_}=l,p=d?d.default:null,d=d?d.valid:null,n=n.value,o=o.value,{showErrorMessage:g,showMessage:x}=o,h=(0,_utils.isEnableConf)(c)?_ui.renderer.get(c.name):null,I=_xeUtils.default.get(i,m),i={data:i,disabled:u,readonly:a,field:m,property:m,item:l,itemValue:I,$form:e,$grid:s};let C=[];var u=h?h.renderFormItemContent||h.renderItemContent:null;if(p)C=e.callSlot(p,i);else if(u)C=(0,_vn.getSlotVNs)(u(c,i));else if(m){let t=I;if(_){let e;if(m){a=r[m];if(a)if(e=a.formatData){if(e.value===I)return e.label}else e=a.formatData={};else r[m]={field:m}}t=_xeUtils.default.isString(_)?(s=(l=_ui.formats.get(_))?l.formItemFormatMethod:null)?s(i):"":_xeUtils.default.isArray(_)?(p=(h=_ui.formats.get(_[0]))?h.formItemFormatMethod:null)?p(i,..._.slice(1)):"":_(i),e&&(e.value=I,e.label=t)}C=[(0,_utils.eqEmptyValue)(t)?"":""+t]}return f&&C.push((0,_vue.h)("div",{class:"vxe-form--item-trigger-node",onClick:e.toggleCollapseEvent},[(0,_vue.h)("span",{class:"vxe-form--item-trigger-text"},t?n.unfoldButtonText||(0,_ui.getI18n)("vxe.form.unfolding"):n.foldButtonText||(0,_ui.getI18n)("vxe.form.folding")),(0,_vue.h)("i",{class:["vxe-form--item-trigger-icon",t?n.foldIcon||(0,_ui.getIcon)().FORM_FOLDING:n.unfoldIcon||(0,_ui.getIcon)().FORM_UNFOLDING]})])),v&&(_xeUtils.default.isBoolean(g)?g:x)&&(u=Object.assign(Object.assign({},i),{rule:v}),C.push((0,_vue.h)("div",{class:"vxe-form-item--valid-error-tip",style:v.maxWidth?{width:(0,_dom.toCssUnit)(v.maxWidth)}:null},[(0,_vue.h)("div",{class:"vxe-form-item--valid-error-wrapper vxe-form-item--valid-error-theme-"+(o.theme||"normal")},[d?e.callSlot(d,u):[(0,_vue.h)("span",{class:"vxe-form--item--valid-error-msg"},v.content||v.message)]])]))),(0,_vue.h)("div",{key:"ct",class:"vxe-form--item-inner"},C)}
|
package/lib/index.umd.js
CHANGED
|
@@ -4646,7 +4646,7 @@ function checkDynamic() {
|
|
|
4646
4646
|
}
|
|
4647
4647
|
;// ./packages/ui/src/log.ts
|
|
4648
4648
|
|
|
4649
|
-
const log_version = `ui v${"4.14.
|
|
4649
|
+
const log_version = `ui v${"4.14.22"}`;
|
|
4650
4650
|
const warnLog = log.create('warn', log_version);
|
|
4651
4651
|
const errLog = log.create('error', log_version);
|
|
4652
4652
|
;// ./packages/ui/index.ts
|
|
@@ -4654,7 +4654,7 @@ const errLog = log.create('error', log_version);
|
|
|
4654
4654
|
|
|
4655
4655
|
|
|
4656
4656
|
|
|
4657
|
-
const ui_version = "4.14.
|
|
4657
|
+
const ui_version = "4.14.22";
|
|
4658
4658
|
VxeUI.uiVersion = ui_version;
|
|
4659
4659
|
VxeUI.dynamicApp = dynamicApp;
|
|
4660
4660
|
function config(options) {
|
|
@@ -25630,7 +25630,7 @@ function getItemClass($xeForm, item, isGroup) {
|
|
|
25630
25630
|
let isRequired = false;
|
|
25631
25631
|
let isValid = false;
|
|
25632
25632
|
if (!readonly && rules) {
|
|
25633
|
-
const itemRules = rules[field];
|
|
25633
|
+
const itemRules = item.rules ? item.rules : rules[field];
|
|
25634
25634
|
if (itemRules && itemRules.length) {
|
|
25635
25635
|
isValid = true;
|
|
25636
25636
|
isRequired = itemRules.some(rule => rule.required);
|
|
@@ -27286,7 +27286,8 @@ function form_createInternalData() {
|
|
|
27286
27286
|
const errorRules = [];
|
|
27287
27287
|
const syncVailds = [];
|
|
27288
27288
|
if (property && formRules) {
|
|
27289
|
-
const
|
|
27289
|
+
const item = getItemByField(property);
|
|
27290
|
+
const rules = item && item.rules ? item.rules : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(formRules, property);
|
|
27290
27291
|
if (rules) {
|
|
27291
27292
|
const itemValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(val) ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(data, property) : val;
|
|
27292
27293
|
rules.forEach(rule => {
|
|
@@ -42050,12 +42051,16 @@ const scrollbarOffsetSize = 20;
|
|
|
42050
42051
|
});
|
|
42051
42052
|
const computeWrapperStyle = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
42052
42053
|
const {
|
|
42053
|
-
width
|
|
42054
|
+
width,
|
|
42055
|
+
height
|
|
42054
42056
|
} = props;
|
|
42055
42057
|
const stys = {};
|
|
42056
42058
|
if (width) {
|
|
42057
42059
|
stys.width = toCssUnit(width);
|
|
42058
42060
|
}
|
|
42061
|
+
if (height) {
|
|
42062
|
+
stys.height = height === 'auto' ? '100%' : toCssUnit(height);
|
|
42063
|
+
}
|
|
42059
42064
|
return stys;
|
|
42060
42065
|
});
|
|
42061
42066
|
const computeCloseOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|