vxe-pc-ui 3.14.20 → 3.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.
Files changed (42) hide show
  1. package/es/form/src/form.js +2 -1
  2. package/es/form/src/render.js +1 -1
  3. package/es/tabs/src/tabs.js +1 -1
  4. package/es/tree/src/tree.js +24 -19
  5. package/es/ui/index.js +1 -1
  6. package/es/ui/src/log.js +1 -1
  7. package/lib/form/src/form.js +2 -1
  8. package/lib/form/src/form.min.js +1 -1
  9. package/lib/form/src/render.js +1 -1
  10. package/lib/form/src/render.min.js +1 -1
  11. package/lib/index.umd.js +39 -29
  12. package/lib/index.umd.min.js +1 -1
  13. package/lib/tabs/src/tabs.js +1 -1
  14. package/lib/tabs/src/tabs.min.js +1 -1
  15. package/lib/tree/src/tree.js +33 -24
  16. package/lib/tree/src/tree.min.js +1 -1
  17. package/lib/ui/index.js +1 -1
  18. package/lib/ui/index.min.js +1 -1
  19. package/lib/ui/src/log.js +1 -1
  20. package/lib/ui/src/log.min.js +1 -1
  21. package/package.json +2 -2
  22. package/packages/form/src/form.ts +2 -1
  23. package/packages/form/src/render.ts +1 -1
  24. package/packages/tabs/src/tabs.ts +1 -1
  25. package/packages/tree/src/tree.ts +25 -19
  26. package/types/components/colgroup.d.ts +3 -71
  27. package/types/components/column.d.ts +6 -0
  28. package/types/components/form-item.d.ts +1 -1
  29. package/types/components/table.d.ts +1 -0
  30. package/types/components/tree.d.ts +4 -0
  31. /package/es/icon/{iconfont.1779671249035.ttf → iconfont.1779767616042.ttf} +0 -0
  32. /package/es/icon/{iconfont.1779671249035.woff → iconfont.1779767616042.woff} +0 -0
  33. /package/es/icon/{iconfont.1779671249035.woff2 → iconfont.1779767616042.woff2} +0 -0
  34. /package/es/{iconfont.1779671249035.ttf → iconfont.1779767616042.ttf} +0 -0
  35. /package/es/{iconfont.1779671249035.woff → iconfont.1779767616042.woff} +0 -0
  36. /package/es/{iconfont.1779671249035.woff2 → iconfont.1779767616042.woff2} +0 -0
  37. /package/lib/icon/style/{iconfont.1779671249035.ttf → iconfont.1779767616042.ttf} +0 -0
  38. /package/lib/icon/style/{iconfont.1779671249035.woff → iconfont.1779767616042.woff} +0 -0
  39. /package/lib/icon/style/{iconfont.1779671249035.woff2 → iconfont.1779767616042.woff2} +0 -0
  40. /package/lib/{iconfont.1779671249035.ttf → iconfont.1779767616042.ttf} +0 -0
  41. /package/lib/{iconfont.1779671249035.woff → iconfont.1779767616042.woff} +0 -0
  42. /package/lib/{iconfont.1779671249035.woff2 → iconfont.1779767616042.woff2} +0 -0
@@ -530,7 +530,8 @@ export default {
530
530
  const errorRules = [];
531
531
  const syncVailds = [];
532
532
  if (property && formRules) {
533
- const rules = XEUtils.get(formRules, property);
533
+ const item = $xeForm.getItemByField(property);
534
+ const rules = item && item.rules ? item.rules : XEUtils.get(formRules, property);
534
535
  if (rules) {
535
536
  const itemValue = XEUtils.isUndefined(val) ? XEUtils.get(data, property) : val;
536
537
  rules.forEach((rule) => {
@@ -54,7 +54,7 @@ export function getItemClass($xeForm, item, isGroup) {
54
54
  let isRequired = false;
55
55
  let isValid = false;
56
56
  if (!readonly && rules) {
57
- const itemRules = rules[field];
57
+ const itemRules = item.rules ? item.rules : rules[field];
58
58
  if (itemRules && itemRules.length) {
59
59
  isValid = true;
60
60
  isRequired = itemRules.some((rule) => rule.required);
@@ -134,7 +134,7 @@ export default {
134
134
  stys.width = toCssUnit(width);
135
135
  }
136
136
  if (height) {
137
- stys.height = toCssUnit(height);
137
+ stys.height = height === 'auto' ? '100%' : toCssUnit(height);
138
138
  }
139
139
  return stys;
140
140
  },
@@ -450,6 +450,17 @@ function handleNodeDragSwapEvent($xeTree, evnt, dragNode, prevDragNode, prevDrag
450
450
  clearCrossTreeDragStatus($xeTree);
451
451
  return Promise.resolve(errRest);
452
452
  }
453
+ function handleVisibleOrCheckMode(mode, isExistChild, nLevel) {
454
+ if (mode) {
455
+ if (mode === 'first') {
456
+ return !nLevel;
457
+ }
458
+ if (mode === 'last') {
459
+ return !isExistChild;
460
+ }
461
+ }
462
+ return true;
463
+ }
453
464
  function createInternalData() {
454
465
  return {
455
466
  // initialized: false,
@@ -2498,18 +2509,15 @@ export default {
2498
2509
  }
2499
2510
  return renderEmptyElement($xeTree);
2500
2511
  },
2501
- renderRadio(h, node, nodeid, isChecked) {
2512
+ renderRadio(h, node, nodeid, isExistChild, nLevel, isChecked) {
2502
2513
  const $xeTree = this;
2503
2514
  const props = $xeTree;
2504
2515
  const { showRadio } = props;
2505
2516
  const radioOpts = $xeTree.computeRadioOpts;
2506
- const { showIcon, checkMethod, visibleMethod } = radioOpts;
2507
- const isVisible = !visibleMethod || visibleMethod({ $tree: $xeTree, node });
2508
- let isDisabled = !!checkMethod;
2517
+ const { showIcon, checkMode, checkMethod, visibleMode, visibleMethod } = radioOpts;
2518
+ const isVisible = visibleMethod ? visibleMethod({ $tree: $xeTree, node }) : handleVisibleOrCheckMode(visibleMode, isExistChild, nLevel);
2509
2519
  if (showRadio && showIcon && isVisible) {
2510
- if (checkMethod) {
2511
- isDisabled = !checkMethod({ $tree: $xeTree, node });
2512
- }
2520
+ const isDisabled = checkMethod ? !checkMethod({ $tree: $xeTree, node }) : !handleVisibleOrCheckMode(checkMode, isExistChild, nLevel);
2513
2521
  return h('div', {
2514
2522
  class: ['vxe-tree--radio-option', {
2515
2523
  'is--checked': isChecked,
@@ -2530,18 +2538,15 @@ export default {
2530
2538
  }
2531
2539
  return renderEmptyElement($xeTree);
2532
2540
  },
2533
- renderCheckbox(h, node, nodeid, isChecked, isIndeterminate) {
2541
+ renderCheckbox(h, node, nodeid, isExistChild, nLevel, isChecked, isIndeterminate) {
2534
2542
  const $xeTree = this;
2535
2543
  const props = $xeTree;
2536
2544
  const { showCheckbox } = props;
2537
2545
  const checkboxOpts = $xeTree.computeCheckboxOpts;
2538
- const { showIcon, checkMethod, visibleMethod } = checkboxOpts;
2539
- const isVisible = !visibleMethod || visibleMethod({ $tree: $xeTree, node });
2540
- let isDisabled = !!checkMethod;
2546
+ const { showIcon, checkMode, checkMethod, visibleMode, visibleMethod } = checkboxOpts;
2547
+ const isVisible = visibleMethod ? visibleMethod({ $tree: $xeTree, node }) : handleVisibleOrCheckMode(visibleMode, isExistChild, nLevel);
2541
2548
  if (showCheckbox && showIcon && isVisible) {
2542
- if (checkMethod) {
2543
- isDisabled = !checkMethod({ $tree: $xeTree, node });
2544
- }
2549
+ const isDisabled = checkMethod ? !checkMethod({ $tree: $xeTree, node }) : !handleVisibleOrCheckMode(checkMode, isExistChild, nLevel);
2545
2550
  return h('div', {
2546
2551
  class: ['vxe-tree--checkbox-option', {
2547
2552
  'is--checked': isChecked,
@@ -2576,12 +2581,12 @@ export default {
2576
2581
  const titleField = $xeTree.computeTitleField;
2577
2582
  const hasChildField = $xeTree.computeHasChildField;
2578
2583
  const childList = XEUtils.get(node, childrenField);
2579
- const hasChild = childList && childList.length;
2584
+ const isExistChild = childList && childList.length > 0;
2580
2585
  const iconSlot = slots.icon;
2581
2586
  const titleSlot = slots.title;
2582
2587
  const extraSlot = slots.extra;
2583
2588
  const isExpand = updateExpandedFlag && treeExpandedMaps[nodeid];
2584
- const nodeItem = nodeMaps[nodeid];
2589
+ const nodeItem = nodeMaps[nodeid] || {};
2585
2590
  const nodeValue = XEUtils.get(node, titleField);
2586
2591
  const nLevel = nodeItem.level;
2587
2592
  let isRadioChecked = false;
@@ -2655,7 +2660,7 @@ export default {
2655
2660
  : renderEmptyElement($xeTree),
2656
2661
  h('div', {
2657
2662
  class: 'vxe-tree--node-item-switcher'
2658
- }, showIcon && (lazy ? (isLazyLoaded ? hasChild : hasLazyChilds) : hasChild)
2663
+ }, showIcon && (lazy ? (isLazyLoaded ? isExistChild : hasLazyChilds) : isExistChild)
2659
2664
  ? [
2660
2665
  h('div', {
2661
2666
  class: 'vxe-tree--node-item-icon',
@@ -2674,8 +2679,8 @@ export default {
2674
2679
  ]
2675
2680
  : []),
2676
2681
  $xeTree.renderDragIcon(h, node, nodeid),
2677
- $xeTree.renderRadio(h, node, nodeid, isRadioChecked),
2678
- $xeTree.renderCheckbox(h, node, nodeid, isCheckboxChecked, isIndeterminate),
2682
+ $xeTree.renderRadio(h, node, nodeid, isExistChild, nLevel, isRadioChecked),
2683
+ $xeTree.renderCheckbox(h, node, nodeid, isExistChild, nLevel, isCheckboxChecked, isIndeterminate),
2679
2684
  h('div', {
2680
2685
  class: 'vxe-tree--node-item-inner'
2681
2686
  }, [
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 = "3.14.20";
4
+ export const version = "3.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
@@ -1,4 +1,4 @@
1
1
  import { log } from '@vxe-ui/core';
2
- const version = `ui v${"3.14.20"}`;
2
+ const version = `ui v${"3.14.22"}`;
3
3
  export const warnLog = log.create('warn', version);
4
4
  export const errLog = log.create('error', version);
@@ -626,7 +626,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
626
626
  var errorRules = [];
627
627
  var syncVailds = [];
628
628
  if (property && formRules) {
629
- var rules = _xeUtils.default.get(formRules, property);
629
+ var item = $xeForm.getItemByField(property);
630
+ var rules = item && item.rules ? item.rules : _xeUtils.default.get(formRules, property);
630
631
  if (rules) {
631
632
  var itemValue = _xeUtils.default.isUndefined(val) ? _xeUtils.default.get(data, property) : val;
632
633
  rules.forEach(function (rule) {
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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(t){return t&&t.__esModule?t:{default:t}}function _defineProperty(t,e,i){return(e=_toPropertyKey(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,_toPropertyKey(r.key),r)}}function _createClass(t,e,i){return e&&_defineProperties(t.prototype,e),i&&_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}function _toPropertyKey(t){t=_toPrimitive(t,"string");return"symbol"==_typeof(t)?t:t+""}function _toPrimitive(t,e){if("object"!=_typeof(t)||!t)return t;var i=t[Symbol.toPrimitive];if(void 0===i)return("string"===e?String:Number)(t);i=i.call(t,e||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}require("../render");var Rule=(()=>_createClass(function t(e){_classCallCheck(this,t),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})},[{key:"content",get:function(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}},{key:"message",get:function(){return this.content}}]))();function validREValue(t,e){return!(t&&!(_xeUtils.default.isRegExp(t)?t:new RegExp(t)).test(e))}function validMaxValue(t,e){return!(!_xeUtils.default.eqNull(t)&&e>_xeUtils.default.toNumber(t))}function validMinValue(t,e){return!(!_xeUtils.default.eqNull(t)&&e<_xeUtils.default.toNumber(t))}function validRuleValue(t,e,i){var r=t.type,n=t.min,l=t.max,t=t.pattern,a="array"===r,o="number"===r,r="string"===r,u="".concat(e);if(!validREValue(t,u))return!1;if(a){if(!_xeUtils.default.isArray(e))return!1;if(i&&!e.length)return!1;if(!validMinValue(n,e.length))return!1;if(!validMaxValue(l,e.length))return!1}else if(o){t=Number(e);if(isNaN(t))return!1;if(!validMinValue(n,t))return!1;if(!validMaxValue(l,t))return!1}else{if(r&&!_xeUtils.default.isString(e))return!1;if(i&&!u)return!1;if(!validMinValue(n,u.length))return!1;if(!validMaxValue(l,u.length))return!1}return!0}function checkRuleStatus(t,e,i){var r=t.required,n=t.field,e=n?_xeUtils.default.get(e,n):i,n=_xeUtils.default.isArray(e)?!e.length:(0,_utils.eqEmptyValue)(e);if(r){if(n)return!1;if(!validRuleValue(t,e,r))return!1}else if(!n&&!validRuleValue(t,e,r))return!1;return!0}function createInternalData(){return{meTimeout:void 0,stTimeout:void 0,tooltipStore:{item:null,visible:!1},itemFormatCache:{}}}var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeForm",mixins:[_ui.globalMixins.sizeMixin],props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:function(){return(0,_ui.getConfig)().form.size||(0,_ui.getConfig)().size}},span:{type:[String,Number],default:function(){return(0,_ui.getConfig)().form.span}},align:{type:String,default:function(){return(0,_ui.getConfig)().form.align}},verticalAlign:{type:String,default:function(){return(0,_ui.getConfig)().form.verticalAlign}},border:{type:Boolean,default:function(){return(0,_ui.getConfig)().form.border}},titleBackground:{type:Boolean,default:function(){return(0,_ui.getConfig)().form.titleBackground}},titleBold:{type:Boolean,default:function(){return(0,_ui.getConfig)().form.titleBold}},titleAlign:{type:String,default:function(){return(0,_ui.getConfig)().form.titleAlign}},titleWidth:{type:[String,Number],default:function(){return(0,_ui.getConfig)().form.titleWidth}},titleColon:{type:Boolean,default:function(){return(0,_ui.getConfig)().form.titleColon}},titleAsterisk:{type:Boolean,default:function(){return(0,_ui.getConfig)().form.titleAsterisk}},titleOverflow:{type:[Boolean,String],default:function(){return(0,_ui.getConfig)().form.titleOverflow}},vertical:{type:Boolean,default:function(){return(0,_ui.getConfig)().form.vertical}},padding:{type:Boolean,default:function(){return(0,_ui.getConfig)().form.padding}},className:[String,Function],readonly:Boolean,disabled:Boolean,items:Array,rules:Object,preventSubmit:{type:Boolean,default:function(){return(0,_ui.getConfig)().form.preventSubmit}},validConfig:Object,tooltipConfig:Object,collapseConfig:Object,customLayout:{type:Boolean,default:function(){return(0,_ui.getConfig)().form.customLayout}},params:Object},inject:{$xeGrid:{default:null}},provide:function(){return{$xeForm:this,xeFormItemInfo:null,$xeFormGroup:null,$xeFormItem:null}},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{collapseAll:!1,staticItems:[],formItems:[],itemWidth:0},internalData:createInternalData(),recalcFlag:0}},computed:Object.assign(Object.assign({},{}),{computeValidOpts:function(){return Object.assign({},(0,_ui.getConfig)().form.validConfig,this.validConfig)},computeTooltipOpts:function(){return Object.assign({},(0,_ui.getConfig)().tooltip,(0,_ui.getConfig)().form.tooltipConfig,this.tooltipConfig)},computeCollapseOpts:function(){return Object.assign({},(0,_ui.getConfig)().form.collapseConfig,this.collapseConfig)},computeAutoItemWidthList:function(){var t=this.reactData,r=this.titleWidth,n=this.vertical,t=t.formItems,l=[];return _xeUtils.default.eachTree(t,function(t){var e=t.titleWidth,i=t.vertical;"auto"!==e&&("auto"!==((_xeUtils.default.eqNull(i)?n:i)?null:_xeUtils.default.eqNull(e)?r:e)||t.children&&t.children.length)||l.push(t)},{children:"children"}),l}}),methods:{dispatchEvent:function(t,e,i){this.$emit(t,(0,_ui.createEvent)(i,{$form:this},e))},callSlot:function(t,e,i){var r=this.$scopedSlots;return t&&(_xeUtils.default.isString(t)&&(t=r[t]||null),_xeUtils.default.isFunction(t))?(0,_vn.getSlotVNs)(t.call(this,e,i)):[]},loadItem:function(t){var e=this,i=e.$scopedSlots,r=e.reactData,n=e.internalData;return t.length&&t.forEach(function(t){t.slots&&_xeUtils.default.each(t.slots,function(t){_xeUtils.default.isFunction(t)||i[t]||(0,_log.errLog)("vxe.error.notSlot",["[form] ".concat(t)])})}),r.staticItems=_xeUtils.default.mapTree(t,function(t){return(0,_util.createItem)(e,t)},{children:"children"}),n.itemFormatCache={},e.$nextTick().then(function(){return e.recalculate()})},getItems:function(){var t=this.reactData,e=[];return _xeUtils.default.eachTree(t.formItems,function(t){e.push(t)},{children:"children"}),e},getItemByField:function(e){var t=this.reactData,t=_xeUtils.default.findTree(t.formItems,function(t){return t.field===e},{children:"children"});return t?t.item:null},getCollapseStatus:function(){return this.reactData.collapseAll},toggleCollapse:function(){var t=this.reactData,e=!this.getCollapseStatus();return t.collapseAll=e,this.$emit("update:collapseStatus",e),this.$nextTick()},toggleCollapseEvent:function(t){var e=this,i=e,r=e.$xeGrid,n=e.toggleCollapse(),l=e.getCollapseStatus();e.dispatchEvent("toggle-collapse",{status:l,collapse:l,data:i.data},t),e.dispatchEvent("collapse",{status:l,collapse:l,data:i.data},t),n.then(function(){e.recalculate().then(function(){r&&r.recalculate(!0)}),r&&r.recalculate()})},clearValidate:function(t){var e,i=this;return t?(e=_xeUtils.default.isArray(e=t)?e:[t]).forEach(function(t){t&&(t=(0,_util.handleFieldOrItem)(i,t))&&(t.showError=!1,t.showIconMsg=!1)}):i.getItems().forEach(function(t){t.showError=!1,t.showIconMsg=!1}),i.$nextTick()},getResetValue:function(t,e,i){var r=this.$xeGrid,n=t.field,l=t.resetValue;return _xeUtils.default.isFunction(l)?l({field:n,item:t,data:e,$form:this,$grid:r}):null===l&&_xeUtils.default.isArray(i)?[]:l},reset:function(){var a=this,o=a.$xeGrid,t=a.internalData,u=a.data,e=a.getItems();return u&&e.forEach(function(t){var e,i,r,n=t.field,l=t.itemRender;(0,_utils.isEnableConf)(l)&&(r=l.name,e=l.startField,l=l.endField,i=(r=_ui.renderer.get(r))?r.formItemResetMethod||r.itemResetMethod:null,r&&i?i({data:u,field:n,property:n,item:t,$form:a,$grid:o}):n&&(r=_xeUtils.default.get(u,n),_xeUtils.default.set(u,n,a.getResetValue(t,u,r))),e)&&l&&(_xeUtils.default.set(u,e,a.getResetValue(t,u,_xeUtils.default.get(u,e))),_xeUtils.default.set(u,l,a.getResetValue(t,u,_xeUtils.default.get(u,l))))}),t.itemFormatCache={},a.clearValidate(),a.recalculate()},resetEvent:function(t){t.preventDefault(),this.reset(),this.dispatchEvent("reset",{data:this.data},t)},handleFocus:function(t){var e=this,i=e,r=e.$xeGrid,n=e.$refs.refElem;if(n)for(var l=0;l<t.length;l++){var a=t[l],o=e.getItemByField(a);if(o&&(0,_utils.isEnableConf)(o.itemRender)){var u=o.itemRender,s=_ui.renderer.get(u.name),c=(l||(0,_dom.scrollToView)(n.querySelector(".".concat(o.id))),null),u=u.autoFocus||u.autofocus||(s?s.formItemAutoFocus:null);if(_xeUtils.default.isFunction(u)?c=u({$form:e,$grid:r,item:o,data:i.data,field:a}):!0===u?c=n.querySelector(".".concat(o.id," input,textarea")):u&&(c=n.querySelector(".".concat(o.id," ").concat(u))),c){c.focus();break}}}},validItemRules:function(f,t,e){var d=this,m=d.data,i=d.rules,r={};return _xeUtils.default.isArray(t)||(t=[t]),Promise.all(t.map(function(a){var o,u,s=[],c=[];return a&&i&&(o=_xeUtils.default.get(i,a))&&(u=_xeUtils.default.isUndefined(e)?_xeUtils.default.get(m,a):e,o.forEach(function(e){var t,i,r,n=e.trigger,l=e.validator;"all"!==f&&n&&f!==n||(l?(t={itemValue:u,rule:e,rules:o,data:m,field:a,property:a,$form:d},_xeUtils.default.isString(l)?(r=_ui.validators.get(l))?(r=r.formItemValidatorMethod||r.itemValidatorMethod)?i=r(t):(0,_log.warnLog)("vxe.error.notValidators",["[form] ".concat(l)]):(0,_log.errLog)("vxe.error.notValidators",["[form] ".concat(l)]):i=l(t),i&&(_xeUtils.default.isError(i)?s.push(new Rule({type:"custom",trigger:n,content:i.message,rule:new Rule(e)})):i.catch&&c.push(i.catch(function(t){s.push(new Rule({type:"custom",trigger:n,content:t?t.message:e.content||e.message,rule:new Rule(e)}))})))):checkRuleStatus(e,m,u)||s.push(new Rule(e)))})),Promise.all(c).then(function(){s.length&&(r[a]=s.map(function(t){return{$form:d,rule:t,data:m,field:a,property:a}}))})})).then(function(){if(!_xeUtils.default.isEmpty(r))return Promise.reject(r)})},beginValidate:function(e,t,i){var r=this,n=r.internalData,l=r.data,a=r.rules,o=r.computeValidOpts,u={},s=[],c=[];return clearTimeout(n.meTimeout),l&&a?(e.forEach(function(e){var i=e.field;i&&!(0,_util.isHiddenItem)(r,e)&&(0,_util.isActiveItem)(r,e)&&c.push(r.validItemRules(t||"all",i).then(function(){e.errRule=null}).catch(function(t){t=t[i];return u[i]||(u[i]=[]),u[i].push(t),s.push(i),e.errRule=t[0].rule,Promise.reject(t)}))}),Promise.all(c).then(function(){i&&i()}).catch(function(){return new Promise(function(t){n.meTimeout=setTimeout(function(){e.forEach(function(t){t.errRule&&(t.showError=!0)})},20),!1!==o.autoPos&&r.$nextTick(function(){r.handleFocus(s)}),i?(i(u),t()):t(u)})})):(i&&i(),Promise.resolve())},validate:function(t){var e=this,i=e.readonly;return e.clearValidate(),i?e.$nextTick():e.beginValidate(e.getItems(),"",t).then(function(t){return e.recalculate(),t})},validateField:function(t,e){var i,r=this;return r.readonly?r.$nextTick():(i=[],t=(i=t?_xeUtils.default.isArray(t)?t:[t]:i).map(function(t){return(0,_util.handleFieldOrItem)(r,t)}),r.beginValidate(t,"",e).then(function(t){return r.recalculate(),t}))},handleSubmitEvent:function(e){var i=this,r=i,t=r.readonly;i.clearValidate(),t?(i.dispatchEvent("submit",{data:r.data},e),i.recalculate()):i.beginValidate(i.getItems()).then(function(t){t?i.dispatchEvent("submit-invalid",{data:r.data,errMap:t},e):i.dispatchEvent("submit",{data:r.data},e),i.recalculate()})},submitEvent:function(t){t.preventDefault(),this.preventSubmit||this.handleSubmitEvent(t)},closeTooltip:function(){var t=this.internalData.tooltipStore,e=this.$refs.refTooltip;return t.visible&&(Object.assign(t,{item:null,visible:!1}),e)&&e.close(),this.$nextTick()},triggerTitleTipEvent:function(t,e){var i=this.internalData,e=e.item,r=i.tooltipStore,n=this.$refs.refTooltip,t=t.currentTarget.children[0],l=(t.textContent||"").trim(),a=t.scrollWidth>t.clientWidth;clearTimeout(i.stTimeout),r.item!==e&&this.closeTooltip(),l&&a&&(Object.assign(r,{item:e,visible:!0}),n)&&n.open(t,l)},handleTitleTipLeaveEvent:function(){var t=this,e=t.internalData,i=t.computeTooltipOpts,r=t.$refs.refTooltip;r&&r.setActived(!1),i.enterable?e.stTimeout=setTimeout(function(){(r=t.$refs.refTooltip)&&!r.isActived()&&t.closeTooltip()},i.leaveDelay):t.closeTooltip()},handleValidIconEvent:function(t,e){e=e.item;e.showIconMsg=!e.showIconMsg},triggerItemEvent:function(t,i,e){var r=this;return i?r.validItemRules(t?["blur"].includes(t.type)?"blur":"change":"all",i,e).then(function(){r.clearValidate(i)}).catch(function(t){var t=t[i],e=r.getItemByField(i);t&&e&&(e.showError=!0,e.errRule=t[0].rule)}):r.$nextTick()},updateStatus:function(t,e){t=t.field;return this.triggerItemEvent(new Event("change"),t,e)},recalculate:function(){var e,t=this.computeAutoItemWidthList,i=this.$refs.refElem;return i&&t.length&&(i=i.querySelectorAll(t.map(function(t){return'.vxe-form--item-title[itemid="'.concat(t.id,'"]')}).join(",")),e=0,_xeUtils.default.arrayEach(i,function(t){t.style.width="",e=Math.max(e,Math.ceil(t.clientWidth+2))}),_xeUtils.default.arrayEach(i,function(t){t.style.width="".concat(e,"px")})),this.$nextTick()},handleGlobalResizeEvent:function(){this.recalculate()},renderVN:function(i){var t=this,e=t.$scopedSlots,r=t.loading,n=t.border,l=t.className,a=t.data,o=t.customLayout,u=t.reactData.formItems,s=t.computeSize,c=t.computeTooltipOpts,e=e.default;return i("form",{ref:"refElem",class:["vxe-form",l?_xeUtils.default.isFunction(l)?l({items:u,data:a,$form:t}):l:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(s),s),"is--border",n),"custom--layout",o),"is--loading",r)],on:{submit:t.submitEvent,reset:t.resetEvent}},[i("div",{class:"vxe-form--wrapper vxe-form--item-row"},o?e?e({}):[]:u.map(function(t,e){return i(_formConfigItem.default,{key:e,props:{itemConfig:t}})})),i("div",{class:"vxe-form-slots",ref:"hideItem"},!o&&e?e({}):[]),i(_loading.default,{class:"vxe-form--loading",props:{value:r}}),i(_tooltip.default,Object.assign({ref:"refTooltip"},c))])}},watch:{vertical:function(){this.recalcFlag++},titleWidth:function(){this.recalcFlag++},recalcFlag:function(){var t=this;t.$nextTick().then(function(){t.recalculate()})},"reactData.staticItems":function(){var t=this.reactData;t.formItems=t.staticItems,this.recalcFlag++},items:function(){this.loadItem(this.items||[])},collapseStatus:function(t){this.reactData.collapseAll=!!t},readonly:function(){this.clearValidate()},disabled:function(){this.clearValidate()}},created:function(){this.reactData.collapseAll=!!this.collapseStatus},mounted:function(){var t=this,e=t;e.items&&t.loadItem(e.items),t.$nextTick(function(){e.customLayout&&e.items&&(0,_log.errLog)("vxe.error.errConflicts",["[form] custom-layout","items"])}),_ui.globalEvents.on(t,"resize",t.handleGlobalResizeEvent)},destroyed:function(){var t=this.internalData;_ui.globalEvents.off(this,"resize"),_xeUtils.default.assign(t,createInternalData())},render:function(t){return this.renderVN(t)}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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(t){return t&&t.__esModule?t:{default:t}}function _defineProperty(t,e,i){return(e=_toPropertyKey(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,_toPropertyKey(r.key),r)}}function _createClass(t,e,i){return e&&_defineProperties(t.prototype,e),i&&_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}function _toPropertyKey(t){t=_toPrimitive(t,"string");return"symbol"==_typeof(t)?t:t+""}function _toPrimitive(t,e){if("object"!=_typeof(t)||!t)return t;var i=t[Symbol.toPrimitive];if(void 0===i)return("string"===e?String:Number)(t);i=i.call(t,e||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}require("../render");var Rule=(()=>_createClass(function t(e){_classCallCheck(this,t),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})},[{key:"content",get:function(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}},{key:"message",get:function(){return this.content}}]))();function validREValue(t,e){return!(t&&!(_xeUtils.default.isRegExp(t)?t:new RegExp(t)).test(e))}function validMaxValue(t,e){return!(!_xeUtils.default.eqNull(t)&&e>_xeUtils.default.toNumber(t))}function validMinValue(t,e){return!(!_xeUtils.default.eqNull(t)&&e<_xeUtils.default.toNumber(t))}function validRuleValue(t,e,i){var r=t.type,n=t.min,l=t.max,t=t.pattern,a="array"===r,o="number"===r,r="string"===r,u="".concat(e);if(!validREValue(t,u))return!1;if(a){if(!_xeUtils.default.isArray(e))return!1;if(i&&!e.length)return!1;if(!validMinValue(n,e.length))return!1;if(!validMaxValue(l,e.length))return!1}else if(o){t=Number(e);if(isNaN(t))return!1;if(!validMinValue(n,t))return!1;if(!validMaxValue(l,t))return!1}else{if(r&&!_xeUtils.default.isString(e))return!1;if(i&&!u)return!1;if(!validMinValue(n,u.length))return!1;if(!validMaxValue(l,u.length))return!1}return!0}function checkRuleStatus(t,e,i){var r=t.required,n=t.field,e=n?_xeUtils.default.get(e,n):i,n=_xeUtils.default.isArray(e)?!e.length:(0,_utils.eqEmptyValue)(e);if(r){if(n)return!1;if(!validRuleValue(t,e,r))return!1}else if(!n&&!validRuleValue(t,e,r))return!1;return!0}function createInternalData(){return{meTimeout:void 0,stTimeout:void 0,tooltipStore:{item:null,visible:!1},itemFormatCache:{}}}var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeForm",mixins:[_ui.globalMixins.sizeMixin],props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:function(){return(0,_ui.getConfig)().form.size||(0,_ui.getConfig)().size}},span:{type:[String,Number],default:function(){return(0,_ui.getConfig)().form.span}},align:{type:String,default:function(){return(0,_ui.getConfig)().form.align}},verticalAlign:{type:String,default:function(){return(0,_ui.getConfig)().form.verticalAlign}},border:{type:Boolean,default:function(){return(0,_ui.getConfig)().form.border}},titleBackground:{type:Boolean,default:function(){return(0,_ui.getConfig)().form.titleBackground}},titleBold:{type:Boolean,default:function(){return(0,_ui.getConfig)().form.titleBold}},titleAlign:{type:String,default:function(){return(0,_ui.getConfig)().form.titleAlign}},titleWidth:{type:[String,Number],default:function(){return(0,_ui.getConfig)().form.titleWidth}},titleColon:{type:Boolean,default:function(){return(0,_ui.getConfig)().form.titleColon}},titleAsterisk:{type:Boolean,default:function(){return(0,_ui.getConfig)().form.titleAsterisk}},titleOverflow:{type:[Boolean,String],default:function(){return(0,_ui.getConfig)().form.titleOverflow}},vertical:{type:Boolean,default:function(){return(0,_ui.getConfig)().form.vertical}},padding:{type:Boolean,default:function(){return(0,_ui.getConfig)().form.padding}},className:[String,Function],readonly:Boolean,disabled:Boolean,items:Array,rules:Object,preventSubmit:{type:Boolean,default:function(){return(0,_ui.getConfig)().form.preventSubmit}},validConfig:Object,tooltipConfig:Object,collapseConfig:Object,customLayout:{type:Boolean,default:function(){return(0,_ui.getConfig)().form.customLayout}},params:Object},inject:{$xeGrid:{default:null}},provide:function(){return{$xeForm:this,xeFormItemInfo:null,$xeFormGroup:null,$xeFormItem:null}},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{collapseAll:!1,staticItems:[],formItems:[],itemWidth:0},internalData:createInternalData(),recalcFlag:0}},computed:Object.assign(Object.assign({},{}),{computeValidOpts:function(){return Object.assign({},(0,_ui.getConfig)().form.validConfig,this.validConfig)},computeTooltipOpts:function(){return Object.assign({},(0,_ui.getConfig)().tooltip,(0,_ui.getConfig)().form.tooltipConfig,this.tooltipConfig)},computeCollapseOpts:function(){return Object.assign({},(0,_ui.getConfig)().form.collapseConfig,this.collapseConfig)},computeAutoItemWidthList:function(){var t=this.reactData,r=this.titleWidth,n=this.vertical,t=t.formItems,l=[];return _xeUtils.default.eachTree(t,function(t){var e=t.titleWidth,i=t.vertical;"auto"!==e&&("auto"!==((_xeUtils.default.eqNull(i)?n:i)?null:_xeUtils.default.eqNull(e)?r:e)||t.children&&t.children.length)||l.push(t)},{children:"children"}),l}}),methods:{dispatchEvent:function(t,e,i){this.$emit(t,(0,_ui.createEvent)(i,{$form:this},e))},callSlot:function(t,e,i){var r=this.$scopedSlots;return t&&(_xeUtils.default.isString(t)&&(t=r[t]||null),_xeUtils.default.isFunction(t))?(0,_vn.getSlotVNs)(t.call(this,e,i)):[]},loadItem:function(t){var e=this,i=e.$scopedSlots,r=e.reactData,n=e.internalData;return t.length&&t.forEach(function(t){t.slots&&_xeUtils.default.each(t.slots,function(t){_xeUtils.default.isFunction(t)||i[t]||(0,_log.errLog)("vxe.error.notSlot",["[form] ".concat(t)])})}),r.staticItems=_xeUtils.default.mapTree(t,function(t){return(0,_util.createItem)(e,t)},{children:"children"}),n.itemFormatCache={},e.$nextTick().then(function(){return e.recalculate()})},getItems:function(){var t=this.reactData,e=[];return _xeUtils.default.eachTree(t.formItems,function(t){e.push(t)},{children:"children"}),e},getItemByField:function(e){var t=this.reactData,t=_xeUtils.default.findTree(t.formItems,function(t){return t.field===e},{children:"children"});return t?t.item:null},getCollapseStatus:function(){return this.reactData.collapseAll},toggleCollapse:function(){var t=this.reactData,e=!this.getCollapseStatus();return t.collapseAll=e,this.$emit("update:collapseStatus",e),this.$nextTick()},toggleCollapseEvent:function(t){var e=this,i=e,r=e.$xeGrid,n=e.toggleCollapse(),l=e.getCollapseStatus();e.dispatchEvent("toggle-collapse",{status:l,collapse:l,data:i.data},t),e.dispatchEvent("collapse",{status:l,collapse:l,data:i.data},t),n.then(function(){e.recalculate().then(function(){r&&r.recalculate(!0)}),r&&r.recalculate()})},clearValidate:function(t){var e,i=this;return t?(e=_xeUtils.default.isArray(e=t)?e:[t]).forEach(function(t){t&&(t=(0,_util.handleFieldOrItem)(i,t))&&(t.showError=!1,t.showIconMsg=!1)}):i.getItems().forEach(function(t){t.showError=!1,t.showIconMsg=!1}),i.$nextTick()},getResetValue:function(t,e,i){var r=this.$xeGrid,n=t.field,l=t.resetValue;return _xeUtils.default.isFunction(l)?l({field:n,item:t,data:e,$form:this,$grid:r}):null===l&&_xeUtils.default.isArray(i)?[]:l},reset:function(){var a=this,o=a.$xeGrid,t=a.internalData,u=a.data,e=a.getItems();return u&&e.forEach(function(t){var e,i,r,n=t.field,l=t.itemRender;(0,_utils.isEnableConf)(l)&&(r=l.name,e=l.startField,l=l.endField,i=(r=_ui.renderer.get(r))?r.formItemResetMethod||r.itemResetMethod:null,r&&i?i({data:u,field:n,property:n,item:t,$form:a,$grid:o}):n&&(r=_xeUtils.default.get(u,n),_xeUtils.default.set(u,n,a.getResetValue(t,u,r))),e)&&l&&(_xeUtils.default.set(u,e,a.getResetValue(t,u,_xeUtils.default.get(u,e))),_xeUtils.default.set(u,l,a.getResetValue(t,u,_xeUtils.default.get(u,l))))}),t.itemFormatCache={},a.clearValidate(),a.recalculate()},resetEvent:function(t){t.preventDefault(),this.reset(),this.dispatchEvent("reset",{data:this.data},t)},handleFocus:function(t){var e=this,i=e,r=e.$xeGrid,n=e.$refs.refElem;if(n)for(var l=0;l<t.length;l++){var a=t[l],o=e.getItemByField(a);if(o&&(0,_utils.isEnableConf)(o.itemRender)){var u=o.itemRender,s=_ui.renderer.get(u.name),c=(l||(0,_dom.scrollToView)(n.querySelector(".".concat(o.id))),null),u=u.autoFocus||u.autofocus||(s?s.formItemAutoFocus:null);if(_xeUtils.default.isFunction(u)?c=u({$form:e,$grid:r,item:o,data:i.data,field:a}):!0===u?c=n.querySelector(".".concat(o.id," input,textarea")):u&&(c=n.querySelector(".".concat(o.id," ").concat(u))),c){c.focus();break}}}},validItemRules:function(f,t,e){var d=this,m=d.data,i=d.rules,r={};return _xeUtils.default.isArray(t)||(t=[t]),Promise.all(t.map(function(a){var t,o,u,s=[],c=[];return a&&i&&(t=d.getItemByField(a),o=t&&t.rules?t.rules:_xeUtils.default.get(i,a))&&(u=_xeUtils.default.isUndefined(e)?_xeUtils.default.get(m,a):e,o.forEach(function(e){var t,i,r,n=e.trigger,l=e.validator;"all"!==f&&n&&f!==n||(l?(t={itemValue:u,rule:e,rules:o,data:m,field:a,property:a,$form:d},_xeUtils.default.isString(l)?(r=_ui.validators.get(l))?(r=r.formItemValidatorMethod||r.itemValidatorMethod)?i=r(t):(0,_log.warnLog)("vxe.error.notValidators",["[form] ".concat(l)]):(0,_log.errLog)("vxe.error.notValidators",["[form] ".concat(l)]):i=l(t),i&&(_xeUtils.default.isError(i)?s.push(new Rule({type:"custom",trigger:n,content:i.message,rule:new Rule(e)})):i.catch&&c.push(i.catch(function(t){s.push(new Rule({type:"custom",trigger:n,content:t?t.message:e.content||e.message,rule:new Rule(e)}))})))):checkRuleStatus(e,m,u)||s.push(new Rule(e)))})),Promise.all(c).then(function(){s.length&&(r[a]=s.map(function(t){return{$form:d,rule:t,data:m,field:a,property:a}}))})})).then(function(){if(!_xeUtils.default.isEmpty(r))return Promise.reject(r)})},beginValidate:function(e,t,i){var r=this,n=r.internalData,l=r.data,a=r.rules,o=r.computeValidOpts,u={},s=[],c=[];return clearTimeout(n.meTimeout),l&&a?(e.forEach(function(e){var i=e.field;i&&!(0,_util.isHiddenItem)(r,e)&&(0,_util.isActiveItem)(r,e)&&c.push(r.validItemRules(t||"all",i).then(function(){e.errRule=null}).catch(function(t){t=t[i];return u[i]||(u[i]=[]),u[i].push(t),s.push(i),e.errRule=t[0].rule,Promise.reject(t)}))}),Promise.all(c).then(function(){i&&i()}).catch(function(){return new Promise(function(t){n.meTimeout=setTimeout(function(){e.forEach(function(t){t.errRule&&(t.showError=!0)})},20),!1!==o.autoPos&&r.$nextTick(function(){r.handleFocus(s)}),i?(i(u),t()):t(u)})})):(i&&i(),Promise.resolve())},validate:function(t){var e=this,i=e.readonly;return e.clearValidate(),i?e.$nextTick():e.beginValidate(e.getItems(),"",t).then(function(t){return e.recalculate(),t})},validateField:function(t,e){var i,r=this;return r.readonly?r.$nextTick():(i=[],t=(i=t?_xeUtils.default.isArray(t)?t:[t]:i).map(function(t){return(0,_util.handleFieldOrItem)(r,t)}),r.beginValidate(t,"",e).then(function(t){return r.recalculate(),t}))},handleSubmitEvent:function(e){var i=this,r=i,t=r.readonly;i.clearValidate(),t?(i.dispatchEvent("submit",{data:r.data},e),i.recalculate()):i.beginValidate(i.getItems()).then(function(t){t?i.dispatchEvent("submit-invalid",{data:r.data,errMap:t},e):i.dispatchEvent("submit",{data:r.data},e),i.recalculate()})},submitEvent:function(t){t.preventDefault(),this.preventSubmit||this.handleSubmitEvent(t)},closeTooltip:function(){var t=this.internalData.tooltipStore,e=this.$refs.refTooltip;return t.visible&&(Object.assign(t,{item:null,visible:!1}),e)&&e.close(),this.$nextTick()},triggerTitleTipEvent:function(t,e){var i=this.internalData,e=e.item,r=i.tooltipStore,n=this.$refs.refTooltip,t=t.currentTarget.children[0],l=(t.textContent||"").trim(),a=t.scrollWidth>t.clientWidth;clearTimeout(i.stTimeout),r.item!==e&&this.closeTooltip(),l&&a&&(Object.assign(r,{item:e,visible:!0}),n)&&n.open(t,l)},handleTitleTipLeaveEvent:function(){var t=this,e=t.internalData,i=t.computeTooltipOpts,r=t.$refs.refTooltip;r&&r.setActived(!1),i.enterable?e.stTimeout=setTimeout(function(){(r=t.$refs.refTooltip)&&!r.isActived()&&t.closeTooltip()},i.leaveDelay):t.closeTooltip()},handleValidIconEvent:function(t,e){e=e.item;e.showIconMsg=!e.showIconMsg},triggerItemEvent:function(t,i,e){var r=this;return i?r.validItemRules(t?["blur"].includes(t.type)?"blur":"change":"all",i,e).then(function(){r.clearValidate(i)}).catch(function(t){var t=t[i],e=r.getItemByField(i);t&&e&&(e.showError=!0,e.errRule=t[0].rule)}):r.$nextTick()},updateStatus:function(t,e){t=t.field;return this.triggerItemEvent(new Event("change"),t,e)},recalculate:function(){var e,t=this.computeAutoItemWidthList,i=this.$refs.refElem;return i&&t.length&&(i=i.querySelectorAll(t.map(function(t){return'.vxe-form--item-title[itemid="'.concat(t.id,'"]')}).join(",")),e=0,_xeUtils.default.arrayEach(i,function(t){t.style.width="",e=Math.max(e,Math.ceil(t.clientWidth+2))}),_xeUtils.default.arrayEach(i,function(t){t.style.width="".concat(e,"px")})),this.$nextTick()},handleGlobalResizeEvent:function(){this.recalculate()},renderVN:function(i){var t=this,e=t.$scopedSlots,r=t.loading,n=t.border,l=t.className,a=t.data,o=t.customLayout,u=t.reactData.formItems,s=t.computeSize,c=t.computeTooltipOpts,e=e.default;return i("form",{ref:"refElem",class:["vxe-form",l?_xeUtils.default.isFunction(l)?l({items:u,data:a,$form:t}):l:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(s),s),"is--border",n),"custom--layout",o),"is--loading",r)],on:{submit:t.submitEvent,reset:t.resetEvent}},[i("div",{class:"vxe-form--wrapper vxe-form--item-row"},o?e?e({}):[]:u.map(function(t,e){return i(_formConfigItem.default,{key:e,props:{itemConfig:t}})})),i("div",{class:"vxe-form-slots",ref:"hideItem"},!o&&e?e({}):[]),i(_loading.default,{class:"vxe-form--loading",props:{value:r}}),i(_tooltip.default,Object.assign({ref:"refTooltip"},c))])}},watch:{vertical:function(){this.recalcFlag++},titleWidth:function(){this.recalcFlag++},recalcFlag:function(){var t=this;t.$nextTick().then(function(){t.recalculate()})},"reactData.staticItems":function(){var t=this.reactData;t.formItems=t.staticItems,this.recalcFlag++},items:function(){this.loadItem(this.items||[])},collapseStatus:function(t){this.reactData.collapseAll=!!t},readonly:function(){this.clearValidate()},disabled:function(){this.clearValidate()}},created:function(){this.reactData.collapseAll=!!this.collapseStatus},mounted:function(){var t=this,e=t;e.items&&t.loadItem(e.items),t.$nextTick(function(){e.customLayout&&e.items&&(0,_log.errLog)("vxe.error.errConflicts",["[form] custom-layout","items"])}),_ui.globalEvents.on(t,"resize",t.handleGlobalResizeEvent)},destroyed:function(){var t=this.internalData;_ui.globalEvents.off(this,"resize"),_xeUtils.default.assign(t,createInternalData())},render:function(t){return this.renderVN(t)}});
@@ -102,7 +102,7 @@ function getItemClass($xeForm, item, isGroup) {
102
102
  var isRequired = false;
103
103
  var isValid = false;
104
104
  if (!readonly && rules) {
105
- var itemRules = rules[field];
105
+ var itemRules = item.rules ? item.rules : rules[field];
106
106
  if (itemRules && itemRules.length) {
107
107
  isValid = true;
108
108
  isRequired = itemRules.some(function (rule) {
@@ -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 _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 _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=Array(t);r<t;r++)i[r]=e[r];return i}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);r=r.call(e,t||"default");if("object"!=_typeof(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}function renderPrefixIcon(e,t){return e("span",{class:"vxe-form--item-title-tip-prefix"},[e(_icon.default,{class:t.icon||(0,_ui.getIcon)().FORM_PREFIX,props:{status:t.iconStatus}})])}function renderSuffixIcon(e,t){return e("span",{class:"vxe-form--item-title-tip-suffix"},[e(_icon.default,{class:t.icon||(0,_ui.getIcon)().FORM_SUFFIX,props:{status:t.iconStatus}})])}function getItemClass(e,t,r){var i=e.reactData,l=e.$xeGrid,o=e.data,n=e.rules,a=e.readonly,s=e.disabled,u=e.span,d=e.titleBackground,c=e.titleBold,f=e.titleColon,m=e.titleAsterisk,p=e.vertical,_=e.padding,i=i.collapseAll,g=t.folding,y=t.field,v=t.itemRender,x=t.showError,b=t.className,I=t.vertical,h=t.padding,C=t.children,S=t.showContent,A=e.computeSize,T=e.computeValidOpts,U=T.showErrorMessage,N=T.showMessage,P=T.showErrorBackground,T=T.showErrorIcon,v=(0,_utils.isEnableConf)(v)?_ui.renderer.get(v.name):null,v=v?v.formItemClassName||v.itemClassName:"",u=t.span||u,_=_xeUtils.default.eqNull(h)?_:h,h=_xeUtils.default.eqNull(I)?p:I,p=_xeUtils.default.eqNull(t.titleBackground)?d:t.titleBackground,I=_xeUtils.default.eqNull(t.titleBold)?c:t.titleBold,d=_xeUtils.default.eqNull(t.titleColon)?f:t.titleColon,c=_xeUtils.default.eqNull(t.titleAsterisk)?m:t.titleAsterisk,f={data:o,disabled:s,readonly:a,field:y,property:y,item:t,$form:e,$grid:l},m=C&&0<C.length,o=!1,s=!1;return!a&&n&&(l=n[y])&&l.length&&(s=!0,o=l.some(function(e){return e.required})),[r||m?"vxe-form--group":"","vxe-form--item",t.id,u?"vxe-form--item-col_".concat(u," is--span"):"","".concat((_xeUtils.default.isBoolean(U)?U:N)?"show":"hide","--err-msg"),b?_xeUtils.default.isFunction(b)?b(f):b:"",v?_xeUtils.default.isFunction(v)?v(f):v:"",(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(C={},"size--".concat(A),A),"is--colon",d),"is--tbg",p),"is--bold",I),"is--padding",_),"is--vertical",h),"is--asterisk",c),"hide--content",!1===S),"is--valid",s),"is--required",o),_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(C,"is--hidden",g&&i),"is--active",(0,_util.isActiveItem)(e,t)),"err--icon",T),"err--bg",P),"is--error",x))]}function getItemContentClass(e,t,r){var i=e.$xeGrid,l=e.data,o=e.readonly,n=e.disabled,a=e.align,s=e.verticalAlign,u=t.field,d=t.itemRender,c=t.contentClassName,f=t.children,f=f&&0<f.length,d=(0,_utils.isEnableConf)(d)?_ui.renderer.get(d.name):null,d=d?d.formItemContentClassName||d.itemContentClassName:"",a=!f&&_xeUtils.default.eqNull(t.align)?a:t.align,s=!f&&_xeUtils.default.eqNull(t.verticalAlign)?s:t.verticalAlign,l={data:l,disabled:n,readonly:o,field:u,property:u,item:t,$form:e,$grid:i};return[r||f?"vxe-form--group-content vxe-form--item-row":"","vxe-form--item-content",a?"align--".concat(a):"",s?"vertical-align--".concat(s):"",d?_xeUtils.default.isFunction(d)?d(l):d:"",c?_xeUtils.default.isFunction(c)?c(l):c:""]}function renderTitle(e,t,r,i){var l=t.$xeGrid,o=t.data,n=t.readonly,a=t.disabled,s=t.titleAlign,u=t.titleWidth,d=t.titleOverflow,c=t.vertical,f=r.slots,m=r.title,p=r.field,_=r.itemRender,g=r.titleOverflow,y=r.vertical,v=r.showTitle,x=r.titleClassName,b=r.titleStyle,I=r.titlePrefix,h=r.titleSuffix,C=r.children,S=r.showContent,A=t.computeTooltipOpts,T=(0,_utils.isEnableConf)(_)?_ui.renderer.get(_.name):null,U=T?T.formItemTitleClassName||T.itemTitleClassName:"",N=T?T.formItemTitleStyle||T.itemTitleStyle:null,c=_xeUtils.default.eqNull(y)?c:y,y=_xeUtils.default.eqNull(r.titleAlign)?s:r.titleAlign,s=c?null:_xeUtils.default.eqNull(r.titleWidth)?u:r.titleWidth,c=_xeUtils.default.eqNull(g)?d:g,u="title"===c,d=!0===c||"tooltip"===c,g=u||d||"ellipsis"===c,P={data:o,disabled:a,readonly:n,field:p,property:p,item:r,$form:t,$grid:l},c=f?f.title:null,o=f?f.prefix:null,a=f?f.suffix||f.extra:null,n=!1!==v&&(m||c),p=C&&0<C.length,l=[],f=(o&&l.push(e("span",{key:"pt",class:"vxe-form--item-title-prefix"},t.callSlot(o,P,e))),I&&l.push(I.content||I.message?e(_tooltip.default,{key:"pm",props:Object.assign(Object.assign(Object.assign({},A),I),{content:(0,_utils.getFuncText)(I.content||I.message)}),scopedSlots:{default:function(){return renderPrefixIcon(e,I)}}}):renderPrefixIcon(e,I)),T?T.renderFormItemTitle||T.renderItemTitle:null),v=(l.push(e("span",{key:"pl",class:"vxe-form--item-title-label"},c?t.callSlot(c,P,e):f?(0,_vn.getSlotVNs)(f.call(t,e,_,P)):(0,_utils.getFuncText)(r.title))),[]),C=(h&&v.push(h.content||h.message?e(_tooltip.default,{key:"sm",props:Object.assign(Object.assign(Object.assign({},A),h),{content:(0,_utils.getFuncText)(h.content||h.message)}),scopedSlots:{default:function(){return renderSuffixIcon(e,h)}}}):renderSuffixIcon(e,h)),a&&v.push(e("span",{key:"st",class:"vxe-form--item-title-suffix"},t.callSlot(a,P,e))),d?{onMouseenter:function(e){t.triggerTitleTipEvent(e,P)},onMouseleave:t.handleTitleTipLeaveEvent}:{}),o=Object.assign({},_xeUtils.default.isFunction(N)?N(P):N,_xeUtils.default.isFunction(b)?b(P):b);return s&&"auto"!==s&&!1!==S&&(o.width=(0,_dom.toCssUnit)(s)),n?e("div",{class:[i||p?"vxe-form--group-title":"","vxe-form--item-title",y?"align--".concat(y):"",g?"is--ellipsis":"",U?_xeUtils.default.isFunction(U)?U(P):U:"",x?_xeUtils.default.isFunction(x)?x(P):x:""],style:o,attrs:{itemid:r.id,title:u?(0,_utils.getFuncText)(m):null},on:C},[e("div",{class:"vxe-form--item-title-content"},l),e("div",{class:"vxe-form--item-title-postfix"},v)]):(0,_ui.renderEmptyElement)(t)}function renderItemErrorIcon(e,t,r){var i=t.computeValidOpts,l=i.showErrorIcon,o=r.errRule,n=r.showIconMsg;return l?e("div",{key:"emi",class:["vxe-form-item--valid-error-icon-wrapper",{"is--show":n,"is--hide":!n}]},[e("span",{class:"vxe-form-item--valid-error-icon-btn",on:{click:function(e){t.handleValidIconEvent(e,{item:r})}}},[e("i",{class:i.errorIcon||(0,_ui.getIcon)().FORM_VALID_ERROR_ICON})]),e("div",{class:"vxe-form-item--valid-error-icon-msg-tip"},o?[e("div",{class:"vxe-form-item--valid-error-icon-msg vxe-form-item--valid-error-icon-theme-".concat(i.theme||"normal")},o.content||o.message)]:[])]):(0,_ui.renderEmptyElement)(t)}function renderItemContent(e,t,r){var i=t.reactData,l=t.$xeGrid,o=t.data,n=t.readonly,a=t.disabled,s=t.internalData.itemFormatCache,i=i.collapseAll,u=r.slots,d=r.field,c=r.itemRender,f=r.collapseNode,m=r.errRule,p=r.formatter,_=u?u.default:null,u=u?u.valid:null,g=t.computeCollapseOpts,y=t.computeValidOpts,v=y.showErrorMessage,x=y.showMessage,b=(0,_utils.isEnableConf)(c)?_ui.renderer.get(c.name):null,I=_xeUtils.default.get(o,d),o={data:o,disabled:a,readonly:n,field:d,property:d,item:r,itemValue:I,$form:t,$grid:l},a=[],n=b?b.renderFormItemContent||b.renderItemContent:null;if(_)a=t.callSlot(_,o,e);else if(n)a=(0,_vn.getSlotVNs)(n.call(t,e,c,o));else if(d){var h,r=I;if(p){if(d){var l=s[d];if(l)if(h=l.formatData){if(h.value===I)return h.label}else h=l.formatData={};else s[d]={field:d}}r=_xeUtils.default.isString(p)?(_=(b=_ui.formats.get(p))?b.formItemFormatMethod:null)?_(o):"":_xeUtils.default.isArray(p)?(c=(n=_ui.formats.get(p[0]))?n.formItemFormatMethod:null)?c.apply(void 0,[o].concat(_toConsumableArray(p.slice(1)))):"":p(o),h&&(h.value=I,h.label=r)}a=[(0,_utils.eqEmptyValue)(r)?"":"".concat(r)]}return f&&a.push(e("div",{class:"vxe-form--item-trigger-node",on:{click:t.toggleCollapseEvent}},[e("span",{class:"vxe-form--item-trigger-text"},i?g.unfoldButtonText||(0,_ui.getI18n)("vxe.form.unfolding"):g.foldButtonText||(0,_ui.getI18n)("vxe.form.folding")),e("i",{class:["vxe-form--item-trigger-icon",i?g.foldIcon||(0,_ui.getIcon)().FORM_FOLDING:g.unfoldIcon||(0,_ui.getIcon)().FORM_UNFOLDING]})])),m&&(_xeUtils.default.isBoolean(v)?v:x)&&(l=Object.assign(Object.assign({},o),{rule:m}),a.push(e("div",{class:"vxe-form-item--valid-error-tip",style:m.maxWidth?{width:(0,_dom.toCssUnit)(m.maxWidth)}:{}},[e("div",{class:"vxe-form-item--valid-error-wrapper vxe-form-item--valid-error-theme-".concat(y.theme||"normal")},[u?t.callSlot(u,l,e):[e("span",{class:"vxe-form--item--valid-error-msg"},m.content||m.message)]])]))),e("div",{key:"ct",class:"vxe-form--item-inner"},a)}
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.getItemClass=getItemClass,exports.getItemContentClass=getItemContentClass,exports.renderItemContent=renderItemContent,exports.renderItemErrorIcon=renderItemErrorIcon,exports.renderTitle=renderTitle;var _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 _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=Array(t);r<t;r++)i[r]=e[r];return i}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);r=r.call(e,t||"default");if("object"!=_typeof(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}function renderPrefixIcon(e,t){return e("span",{class:"vxe-form--item-title-tip-prefix"},[e(_icon.default,{class:t.icon||(0,_ui.getIcon)().FORM_PREFIX,props:{status:t.iconStatus}})])}function renderSuffixIcon(e,t){return e("span",{class:"vxe-form--item-title-tip-suffix"},[e(_icon.default,{class:t.icon||(0,_ui.getIcon)().FORM_SUFFIX,props:{status:t.iconStatus}})])}function getItemClass(e,t,r){var i=e.reactData,l=e.$xeGrid,o=e.data,n=e.rules,a=e.readonly,s=e.disabled,u=e.span,d=e.titleBackground,c=e.titleBold,f=e.titleColon,m=e.titleAsterisk,p=e.vertical,_=e.padding,i=i.collapseAll,g=t.folding,y=t.field,v=t.itemRender,x=t.showError,b=t.className,I=t.vertical,h=t.padding,C=t.children,S=t.showContent,A=e.computeSize,T=e.computeValidOpts,U=T.showErrorMessage,N=T.showMessage,P=T.showErrorBackground,T=T.showErrorIcon,v=(0,_utils.isEnableConf)(v)?_ui.renderer.get(v.name):null,v=v?v.formItemClassName||v.itemClassName:"",u=t.span||u,_=_xeUtils.default.eqNull(h)?_:h,h=_xeUtils.default.eqNull(I)?p:I,p=_xeUtils.default.eqNull(t.titleBackground)?d:t.titleBackground,I=_xeUtils.default.eqNull(t.titleBold)?c:t.titleBold,d=_xeUtils.default.eqNull(t.titleColon)?f:t.titleColon,c=_xeUtils.default.eqNull(t.titleAsterisk)?m:t.titleAsterisk,f={data:o,disabled:s,readonly:a,field:y,property:y,item:t,$form:e,$grid:l},m=C&&0<C.length,o=!1,s=!1;return!a&&n&&(l=t.rules||n[y])&&l.length&&(s=!0,o=l.some(function(e){return e.required})),[r||m?"vxe-form--group":"","vxe-form--item",t.id,u?"vxe-form--item-col_".concat(u," is--span"):"","".concat((_xeUtils.default.isBoolean(U)?U:N)?"show":"hide","--err-msg"),b?_xeUtils.default.isFunction(b)?b(f):b:"",v?_xeUtils.default.isFunction(v)?v(f):v:"",(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(C={},"size--".concat(A),A),"is--colon",d),"is--tbg",p),"is--bold",I),"is--padding",_),"is--vertical",h),"is--asterisk",c),"hide--content",!1===S),"is--valid",s),"is--required",o),_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(C,"is--hidden",g&&i),"is--active",(0,_util.isActiveItem)(e,t)),"err--icon",T),"err--bg",P),"is--error",x))]}function getItemContentClass(e,t,r){var i=e.$xeGrid,l=e.data,o=e.readonly,n=e.disabled,a=e.align,s=e.verticalAlign,u=t.field,d=t.itemRender,c=t.contentClassName,f=t.children,f=f&&0<f.length,d=(0,_utils.isEnableConf)(d)?_ui.renderer.get(d.name):null,d=d?d.formItemContentClassName||d.itemContentClassName:"",a=!f&&_xeUtils.default.eqNull(t.align)?a:t.align,s=!f&&_xeUtils.default.eqNull(t.verticalAlign)?s:t.verticalAlign,l={data:l,disabled:n,readonly:o,field:u,property:u,item:t,$form:e,$grid:i};return[r||f?"vxe-form--group-content vxe-form--item-row":"","vxe-form--item-content",a?"align--".concat(a):"",s?"vertical-align--".concat(s):"",d?_xeUtils.default.isFunction(d)?d(l):d:"",c?_xeUtils.default.isFunction(c)?c(l):c:""]}function renderTitle(e,t,r,i){var l=t.$xeGrid,o=t.data,n=t.readonly,a=t.disabled,s=t.titleAlign,u=t.titleWidth,d=t.titleOverflow,c=t.vertical,f=r.slots,m=r.title,p=r.field,_=r.itemRender,g=r.titleOverflow,y=r.vertical,v=r.showTitle,x=r.titleClassName,b=r.titleStyle,I=r.titlePrefix,h=r.titleSuffix,C=r.children,S=r.showContent,A=t.computeTooltipOpts,T=(0,_utils.isEnableConf)(_)?_ui.renderer.get(_.name):null,U=T?T.formItemTitleClassName||T.itemTitleClassName:"",N=T?T.formItemTitleStyle||T.itemTitleStyle:null,c=_xeUtils.default.eqNull(y)?c:y,y=_xeUtils.default.eqNull(r.titleAlign)?s:r.titleAlign,s=c?null:_xeUtils.default.eqNull(r.titleWidth)?u:r.titleWidth,c=_xeUtils.default.eqNull(g)?d:g,u="title"===c,d=!0===c||"tooltip"===c,g=u||d||"ellipsis"===c,P={data:o,disabled:a,readonly:n,field:p,property:p,item:r,$form:t,$grid:l},c=f?f.title:null,o=f?f.prefix:null,a=f?f.suffix||f.extra:null,n=!1!==v&&(m||c),p=C&&0<C.length,l=[],f=(o&&l.push(e("span",{key:"pt",class:"vxe-form--item-title-prefix"},t.callSlot(o,P,e))),I&&l.push(I.content||I.message?e(_tooltip.default,{key:"pm",props:Object.assign(Object.assign(Object.assign({},A),I),{content:(0,_utils.getFuncText)(I.content||I.message)}),scopedSlots:{default:function(){return renderPrefixIcon(e,I)}}}):renderPrefixIcon(e,I)),T?T.renderFormItemTitle||T.renderItemTitle:null),v=(l.push(e("span",{key:"pl",class:"vxe-form--item-title-label"},c?t.callSlot(c,P,e):f?(0,_vn.getSlotVNs)(f.call(t,e,_,P)):(0,_utils.getFuncText)(r.title))),[]),C=(h&&v.push(h.content||h.message?e(_tooltip.default,{key:"sm",props:Object.assign(Object.assign(Object.assign({},A),h),{content:(0,_utils.getFuncText)(h.content||h.message)}),scopedSlots:{default:function(){return renderSuffixIcon(e,h)}}}):renderSuffixIcon(e,h)),a&&v.push(e("span",{key:"st",class:"vxe-form--item-title-suffix"},t.callSlot(a,P,e))),d?{onMouseenter:function(e){t.triggerTitleTipEvent(e,P)},onMouseleave:t.handleTitleTipLeaveEvent}:{}),o=Object.assign({},_xeUtils.default.isFunction(N)?N(P):N,_xeUtils.default.isFunction(b)?b(P):b);return s&&"auto"!==s&&!1!==S&&(o.width=(0,_dom.toCssUnit)(s)),n?e("div",{class:[i||p?"vxe-form--group-title":"","vxe-form--item-title",y?"align--".concat(y):"",g?"is--ellipsis":"",U?_xeUtils.default.isFunction(U)?U(P):U:"",x?_xeUtils.default.isFunction(x)?x(P):x:""],style:o,attrs:{itemid:r.id,title:u?(0,_utils.getFuncText)(m):null},on:C},[e("div",{class:"vxe-form--item-title-content"},l),e("div",{class:"vxe-form--item-title-postfix"},v)]):(0,_ui.renderEmptyElement)(t)}function renderItemErrorIcon(e,t,r){var i=t.computeValidOpts,l=i.showErrorIcon,o=r.errRule,n=r.showIconMsg;return l?e("div",{key:"emi",class:["vxe-form-item--valid-error-icon-wrapper",{"is--show":n,"is--hide":!n}]},[e("span",{class:"vxe-form-item--valid-error-icon-btn",on:{click:function(e){t.handleValidIconEvent(e,{item:r})}}},[e("i",{class:i.errorIcon||(0,_ui.getIcon)().FORM_VALID_ERROR_ICON})]),e("div",{class:"vxe-form-item--valid-error-icon-msg-tip"},o?[e("div",{class:"vxe-form-item--valid-error-icon-msg vxe-form-item--valid-error-icon-theme-".concat(i.theme||"normal")},o.content||o.message)]:[])]):(0,_ui.renderEmptyElement)(t)}function renderItemContent(e,t,r){var i=t.reactData,l=t.$xeGrid,o=t.data,n=t.readonly,a=t.disabled,s=t.internalData.itemFormatCache,i=i.collapseAll,u=r.slots,d=r.field,c=r.itemRender,f=r.collapseNode,m=r.errRule,p=r.formatter,_=u?u.default:null,u=u?u.valid:null,g=t.computeCollapseOpts,y=t.computeValidOpts,v=y.showErrorMessage,x=y.showMessage,b=(0,_utils.isEnableConf)(c)?_ui.renderer.get(c.name):null,I=_xeUtils.default.get(o,d),o={data:o,disabled:a,readonly:n,field:d,property:d,item:r,itemValue:I,$form:t,$grid:l},a=[],n=b?b.renderFormItemContent||b.renderItemContent:null;if(_)a=t.callSlot(_,o,e);else if(n)a=(0,_vn.getSlotVNs)(n.call(t,e,c,o));else if(d){var h,r=I;if(p){if(d){var l=s[d];if(l)if(h=l.formatData){if(h.value===I)return h.label}else h=l.formatData={};else s[d]={field:d}}r=_xeUtils.default.isString(p)?(_=(b=_ui.formats.get(p))?b.formItemFormatMethod:null)?_(o):"":_xeUtils.default.isArray(p)?(c=(n=_ui.formats.get(p[0]))?n.formItemFormatMethod:null)?c.apply(void 0,[o].concat(_toConsumableArray(p.slice(1)))):"":p(o),h&&(h.value=I,h.label=r)}a=[(0,_utils.eqEmptyValue)(r)?"":"".concat(r)]}return f&&a.push(e("div",{class:"vxe-form--item-trigger-node",on:{click:t.toggleCollapseEvent}},[e("span",{class:"vxe-form--item-trigger-text"},i?g.unfoldButtonText||(0,_ui.getI18n)("vxe.form.unfolding"):g.foldButtonText||(0,_ui.getI18n)("vxe.form.folding")),e("i",{class:["vxe-form--item-trigger-icon",i?g.foldIcon||(0,_ui.getIcon)().FORM_FOLDING:g.unfoldIcon||(0,_ui.getIcon)().FORM_UNFOLDING]})])),m&&(_xeUtils.default.isBoolean(v)?v:x)&&(l=Object.assign(Object.assign({},o),{rule:m}),a.push(e("div",{class:"vxe-form-item--valid-error-tip",style:m.maxWidth?{width:(0,_dom.toCssUnit)(m.maxWidth)}:{}},[e("div",{class:"vxe-form-item--valid-error-wrapper vxe-form-item--valid-error-theme-".concat(y.theme||"normal")},[u?t.callSlot(u,l,e):[e("span",{class:"vxe-form--item--valid-error-msg"},m.content||m.message)]])]))),e("div",{key:"ct",class:"vxe-form--item-inner"},a)}
package/lib/index.umd.js CHANGED
@@ -13214,7 +13214,7 @@ function checkDynamic() {
13214
13214
  }
13215
13215
  ;// ./packages/ui/src/log.ts
13216
13216
 
13217
- var log_version = "ui v".concat("3.14.20");
13217
+ var log_version = "ui v".concat("3.14.22");
13218
13218
  var warnLog = log.create('warn', log_version);
13219
13219
  var errLog = log.create('error', log_version);
13220
13220
  ;// ./packages/ui/index.ts
@@ -13222,7 +13222,7 @@ var errLog = log.create('error', log_version);
13222
13222
 
13223
13223
 
13224
13224
 
13225
- var ui_version = "3.14.20";
13225
+ var ui_version = "3.14.22";
13226
13226
  VxeUI.uiVersion = ui_version;
13227
13227
  VxeUI.dynamicApp = dynamicApp;
13228
13228
  function config(options) {
@@ -36310,7 +36310,7 @@ function getItemClass($xeForm, item, isGroup) {
36310
36310
  var isRequired = false;
36311
36311
  var isValid = false;
36312
36312
  if (!readonly && rules) {
36313
- var itemRules = rules[field];
36313
+ var itemRules = item.rules ? item.rules : rules[field];
36314
36314
  if (itemRules && itemRules.length) {
36315
36315
  isValid = true;
36316
36316
  isRequired = itemRules.some(function (rule) {
@@ -37978,7 +37978,8 @@ function form_createInternalData() {
37978
37978
  var errorRules = [];
37979
37979
  var syncVailds = [];
37980
37980
  if (property && formRules) {
37981
- var rules = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(formRules, property);
37981
+ var item = $xeForm.getItemByField(property);
37982
+ var rules = item && item.rules ? item.rules : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(formRules, property);
37982
37983
  if (rules) {
37983
37984
  var 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;
37984
37985
  rules.forEach(function (rule) {
@@ -54222,7 +54223,7 @@ var scrollbarOffsetSize = 20;
54222
54223
  stys.width = toCssUnit(width);
54223
54224
  }
54224
54225
  if (height) {
54225
- stys.height = toCssUnit(height);
54226
+ stys.height = height === 'auto' ? '100%' : toCssUnit(height);
54226
54227
  }
54227
54228
  return stys;
54228
54229
  },
@@ -56888,6 +56889,17 @@ function handleNodeDragSwapEvent($xeTree, evnt, dragNode, prevDragNode, prevDrag
56888
56889
  clearCrossTreeDragStatus($xeTree);
56889
56890
  return Promise.resolve(errRest);
56890
56891
  }
56892
+ function handleVisibleOrCheckMode(mode, isExistChild, nLevel) {
56893
+ if (mode) {
56894
+ if (mode === 'first') {
56895
+ return !nLevel;
56896
+ }
56897
+ if (mode === 'last') {
56898
+ return !isExistChild;
56899
+ }
56900
+ }
56901
+ return true;
56902
+ }
56891
56903
  function tree_createInternalData() {
56892
56904
  return {
56893
56905
  // initialized: false,
@@ -59112,26 +59124,25 @@ function tree_createReactData() {
59112
59124
  }
59113
59125
  return renderEmptyElement($xeTree);
59114
59126
  },
59115
- renderRadio: function renderRadio(h, node, nodeid, isChecked) {
59127
+ renderRadio: function renderRadio(h, node, nodeid, isExistChild, nLevel, isChecked) {
59116
59128
  var $xeTree = this;
59117
59129
  var props = $xeTree;
59118
59130
  var showRadio = props.showRadio;
59119
59131
  var radioOpts = $xeTree.computeRadioOpts;
59120
59132
  var showIcon = radioOpts.showIcon,
59133
+ checkMode = radioOpts.checkMode,
59121
59134
  checkMethod = radioOpts.checkMethod,
59135
+ visibleMode = radioOpts.visibleMode,
59122
59136
  visibleMethod = radioOpts.visibleMethod;
59123
- var isVisible = !visibleMethod || visibleMethod({
59137
+ var isVisible = visibleMethod ? visibleMethod({
59124
59138
  $tree: $xeTree,
59125
59139
  node: node
59126
- });
59127
- var isDisabled = !!checkMethod;
59140
+ }) : handleVisibleOrCheckMode(visibleMode, isExistChild, nLevel);
59128
59141
  if (showRadio && showIcon && isVisible) {
59129
- if (checkMethod) {
59130
- isDisabled = !checkMethod({
59131
- $tree: $xeTree,
59132
- node: node
59133
- });
59134
- }
59142
+ var isDisabled = checkMethod ? !checkMethod({
59143
+ $tree: $xeTree,
59144
+ node: node
59145
+ }) : !handleVisibleOrCheckMode(checkMode, isExistChild, nLevel);
59135
59146
  return h('div', {
59136
59147
  class: ['vxe-tree--radio-option', {
59137
59148
  'is--checked': isChecked,
@@ -59150,26 +59161,25 @@ function tree_createReactData() {
59150
59161
  }
59151
59162
  return renderEmptyElement($xeTree);
59152
59163
  },
59153
- renderCheckbox: function renderCheckbox(h, node, nodeid, isChecked, isIndeterminate) {
59164
+ renderCheckbox: function renderCheckbox(h, node, nodeid, isExistChild, nLevel, isChecked, isIndeterminate) {
59154
59165
  var $xeTree = this;
59155
59166
  var props = $xeTree;
59156
59167
  var showCheckbox = props.showCheckbox;
59157
59168
  var checkboxOpts = $xeTree.computeCheckboxOpts;
59158
59169
  var showIcon = checkboxOpts.showIcon,
59170
+ checkMode = checkboxOpts.checkMode,
59159
59171
  checkMethod = checkboxOpts.checkMethod,
59172
+ visibleMode = checkboxOpts.visibleMode,
59160
59173
  visibleMethod = checkboxOpts.visibleMethod;
59161
- var isVisible = !visibleMethod || visibleMethod({
59174
+ var isVisible = visibleMethod ? visibleMethod({
59162
59175
  $tree: $xeTree,
59163
59176
  node: node
59164
- });
59165
- var isDisabled = !!checkMethod;
59177
+ }) : handleVisibleOrCheckMode(visibleMode, isExistChild, nLevel);
59166
59178
  if (showCheckbox && showIcon && isVisible) {
59167
- if (checkMethod) {
59168
- isDisabled = !checkMethod({
59169
- $tree: $xeTree,
59170
- node: node
59171
- });
59172
- }
59179
+ var isDisabled = checkMethod ? !checkMethod({
59180
+ $tree: $xeTree,
59181
+ node: node
59182
+ }) : !handleVisibleOrCheckMode(checkMode, isExistChild, nLevel);
59173
59183
  return h('div', {
59174
59184
  class: ['vxe-tree--checkbox-option', {
59175
59185
  'is--checked': isChecked,
@@ -59216,12 +59226,12 @@ function tree_createReactData() {
59216
59226
  var titleField = $xeTree.computeTitleField;
59217
59227
  var hasChildField = $xeTree.computeHasChildField;
59218
59228
  var childList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(node, childrenField);
59219
- var hasChild = childList && childList.length;
59229
+ var isExistChild = childList && childList.length > 0;
59220
59230
  var iconSlot = slots.icon;
59221
59231
  var titleSlot = slots.title;
59222
59232
  var extraSlot = slots.extra;
59223
59233
  var isExpand = updateExpandedFlag && treeExpandedMaps[nodeid];
59224
- var nodeItem = nodeMaps[nodeid];
59234
+ var nodeItem = nodeMaps[nodeid] || {};
59225
59235
  var nodeValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(node, titleField);
59226
59236
  var nLevel = nodeItem.level;
59227
59237
  var isRadioChecked = false;
@@ -59291,7 +59301,7 @@ function tree_createReactData() {
59291
59301
  }
59292
59302
  })]) : renderEmptyElement($xeTree), h('div', {
59293
59303
  class: 'vxe-tree--node-item-switcher'
59294
- }, showIcon && (lazy ? isLazyLoaded ? hasChild : hasLazyChilds : hasChild) ? [h('div', {
59304
+ }, showIcon && (lazy ? isLazyLoaded ? isExistChild : hasLazyChilds : isExistChild) ? [h('div', {
59295
59305
  class: 'vxe-tree--node-item-icon',
59296
59306
  on: {
59297
59307
  click: function click(evnt) {
@@ -59300,7 +59310,7 @@ function tree_createReactData() {
59300
59310
  }
59301
59311
  }, iconSlot ? vn_getSlotVNs(iconSlot(nParams)) : [h('i', {
59302
59312
  class: isLazyLoading ? iconLoaded || tree_getIcon().TREE_NODE_LOADED : isExpand ? iconOpen || tree_getIcon().TREE_NODE_OPEN : iconClose || tree_getIcon().TREE_NODE_CLOSE
59303
- })])] : []), $xeTree.renderDragIcon(h, node, nodeid), $xeTree.renderRadio(h, node, nodeid, isRadioChecked), $xeTree.renderCheckbox(h, node, nodeid, isCheckboxChecked, isIndeterminate), h('div', {
59313
+ })])] : []), $xeTree.renderDragIcon(h, node, nodeid), $xeTree.renderRadio(h, node, nodeid, isExistChild, nLevel, isRadioChecked), $xeTree.renderCheckbox(h, node, nodeid, isExistChild, nLevel, isCheckboxChecked, isIndeterminate), h('div', {
59304
59314
  class: 'vxe-tree--node-item-inner'
59305
59315
  }, [h('div', {
59306
59316
  class: 'vxe-tree--node-item-title'