vxe-table 4.2.7-beta.2 → 4.2.8
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/es/button/src/button.js +5 -0
- package/es/edit/src/hook.js +11 -9
- package/es/filter/src/panel.js +0 -1
- package/es/form/src/form-config-item.js +3 -6
- package/es/form/src/form-item.js +9 -10
- package/es/form/src/form.js +3 -3
- package/es/form/src/util.js +25 -2
- package/es/header/src/header.js +3 -2
- package/es/tools/log.js +1 -1
- package/es/v-x-e-table/index.js +1 -1
- package/es/v-x-e-table/src/store.js +8 -4
- package/lib/button/src/button.js +4 -0
- package/lib/button/src/button.min.js +1 -1
- package/lib/edit/src/hook.js +12 -9
- package/lib/edit/src/hook.min.js +1 -1
- package/lib/filter/src/panel.js +1 -1
- package/lib/filter/src/panel.min.js +1 -1
- package/lib/form/src/form-config-item.js +3 -7
- package/lib/form/src/form-config-item.min.js +1 -1
- package/lib/form/src/form-item.js +7 -9
- package/lib/form/src/form-item.min.js +1 -1
- package/lib/form/src/form.js +2 -2
- package/lib/form/src/form.min.js +1 -1
- package/lib/form/src/util.js +46 -4
- package/lib/form/src/util.min.js +1 -1
- package/lib/header/src/header.js +5 -2
- package/lib/header/src/header.min.js +1 -1
- package/lib/index.umd.js +415 -362
- package/lib/index.umd.min.js +1 -1
- package/lib/tools/log.js +1 -1
- package/lib/tools/log.min.js +1 -1
- package/lib/v-x-e-table/index.js +1 -1
- package/lib/v-x-e-table/index.min.js +1 -1
- package/lib/v-x-e-table/src/store.js +10 -5
- package/lib/v-x-e-table/src/store.min.js +1 -1
- package/package.json +1 -1
- package/packages/button/src/button.ts +6 -0
- package/packages/edit/src/hook.ts +10 -7
- package/packages/filter/src/panel.ts +0 -1
- package/packages/form/src/form-config-item.ts +3 -6
- package/packages/form/src/form-item.ts +9 -10
- package/packages/form/src/form.ts +3 -3
- package/packages/form/src/util.ts +26 -1
- package/packages/header/src/header.ts +3 -2
- package/packages/v-x-e-table/src/store.ts +8 -4
- package/types/table.d.ts +3 -1
- package/types/v-x-e-table/renderer.d.ts +1 -1
package/lib/tools/log.js
CHANGED
|
@@ -12,7 +12,7 @@ var _conf = _interopRequireDefault(require("../v-x-e-table/src/conf"));
|
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
13
|
|
|
14
14
|
function getLog(message, params) {
|
|
15
|
-
return "[vxe-table v" + "4.2.
|
|
15
|
+
return "[vxe-table v" + "4.2.8" + "] " + _conf.default.i18n(message, params);
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
function outLog(type) {
|
package/lib/tools/log.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.errLog=void 0,exports.getLog=getLog,exports.warnLog=void 0;var _conf=_interopRequireDefault(require("../v-x-e-table/src/conf"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getLog(e,r){return"[vxe-table v4.2.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.errLog=void 0,exports.getLog=getLog,exports.warnLog=void 0;var _conf=_interopRequireDefault(require("../v-x-e-table/src/conf"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getLog(e,r){return"[vxe-table v4.2.8] "+_conf.default.i18n(e,r)}function outLog(o){return function(e,r){r=getLog(e,r);return console[o](r),r}}var warnLog=outLog("warn");exports.warnLog=warnLog;var errLog=outLog("error");exports.errLog=errLog;
|
package/lib/v-x-e-table/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={use:!0,t:!0,_t:!0,config:!0,v:!0,VXETable:!0};exports.VXETable=void 0,exports._t=_t,exports.default=exports.config=void 0,exports.t=t,exports.use=use,exports.v=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("./src/conf")),_interceptor=require("./src/interceptor");Object.keys(_interceptor).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_interceptor[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _interceptor[e]}}))});var _renderer=require("./src/renderer");Object.keys(_renderer).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_renderer[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _renderer[e]}}))});var _commands=require("./src/commands");Object.keys(_commands).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_commands[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _commands[e]}}))});var _menus=require("./src/menus");Object.keys(_menus).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_menus[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _menus[e]}}))});var _formats=require("./src/formats");Object.keys(_formats).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_formats[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _formats[e]}}))});var _hooks=require("./src/hooks");Object.keys(_hooks).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_hooks[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _hooks[e]}}))});var _setup=require("./src/setup");Object.keys(_setup).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_setup[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _setup[e]}}))});var _utils=require("../tools/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getExportOrImpotType(e,r){var o=[];return _xeUtils.default.objectEach(e,function(e,t){0!==e&&e!==r||o.push(t)}),o}var installedPlugins=[];function use(e,t){return e&&e.install&&-1===installedPlugins.indexOf(e)&&(e.install(VXETable,t),installedPlugins.push(e)),VXETable}function t(e,t){return _conf.default.i18n(e,t)}function _t(e,t){return e?_xeUtils.default.toValueString(_conf.default.translate?_conf.default.translate(e,t):e):""}var VXETableConfig=function(){function e(){}return Object.defineProperty(e.prototype,"zIndex",{get:function(){return(0,_utils.getLastZIndex)()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"nextZIndex",{get:function(){return(0,_utils.nextZIndex)()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"exportTypes",{get:function(){return getExportOrImpotType(_conf.default.export.types,1)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"importTypes",{get:function(){return getExportOrImpotType(_conf.default.export.types,2)},enumerable:!1,configurable:!0}),e}(),config=new VXETableConfig;exports.config=config;var v="v4",VXETable={v:exports.v=v,version:"4.2.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={use:!0,t:!0,_t:!0,config:!0,v:!0,VXETable:!0};exports.VXETable=void 0,exports._t=_t,exports.default=exports.config=void 0,exports.t=t,exports.use=use,exports.v=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("./src/conf")),_interceptor=require("./src/interceptor");Object.keys(_interceptor).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_interceptor[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _interceptor[e]}}))});var _renderer=require("./src/renderer");Object.keys(_renderer).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_renderer[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _renderer[e]}}))});var _commands=require("./src/commands");Object.keys(_commands).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_commands[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _commands[e]}}))});var _menus=require("./src/menus");Object.keys(_menus).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_menus[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _menus[e]}}))});var _formats=require("./src/formats");Object.keys(_formats).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_formats[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _formats[e]}}))});var _hooks=require("./src/hooks");Object.keys(_hooks).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_hooks[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _hooks[e]}}))});var _setup=require("./src/setup");Object.keys(_setup).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_setup[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _setup[e]}}))});var _utils=require("../tools/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getExportOrImpotType(e,r){var o=[];return _xeUtils.default.objectEach(e,function(e,t){0!==e&&e!==r||o.push(t)}),o}var installedPlugins=[];function use(e,t){return e&&e.install&&-1===installedPlugins.indexOf(e)&&(e.install(VXETable,t),installedPlugins.push(e)),VXETable}function t(e,t){return _conf.default.i18n(e,t)}function _t(e,t){return e?_xeUtils.default.toValueString(_conf.default.translate?_conf.default.translate(e,t):e):""}var VXETableConfig=function(){function e(){}return Object.defineProperty(e.prototype,"zIndex",{get:function(){return(0,_utils.getLastZIndex)()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"nextZIndex",{get:function(){return(0,_utils.nextZIndex)()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"exportTypes",{get:function(){return getExportOrImpotType(_conf.default.export.types,1)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"importTypes",{get:function(){return getExportOrImpotType(_conf.default.export.types,2)},enumerable:!1,configurable:!0}),e}(),config=new VXETableConfig;exports.config=config;var v="v4",VXETable={v:exports.v=v,version:"4.2.8",setup:_setup.setup,interceptor:_interceptor.interceptor,renderer:_renderer.renderer,commands:_commands.commands,formats:_formats.formats,menus:_menus.menus,hooks:_hooks.hooks,config:config,use:use,t:t,_t:_t},_default=exports.VXETable=VXETable;exports.default=_default;
|
|
@@ -35,14 +35,19 @@ function () {
|
|
|
35
35
|
};
|
|
36
36
|
|
|
37
37
|
Store.prototype.add = function (name, render) {
|
|
38
|
-
// 检测是否覆盖
|
|
38
|
+
var conf = this.store[name]; // 检测是否覆盖
|
|
39
|
+
|
|
39
40
|
if (process.env.NODE_ENV === 'development') {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
var confKeys_1 = _xeUtils.default.keys(conf);
|
|
42
|
+
|
|
43
|
+
_xeUtils.default.each(render, function (item, key) {
|
|
44
|
+
if (confKeys_1.includes(key)) {
|
|
45
|
+
(0, _log.warnLog)('vxe.error.coverProp', [name, key]);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
43
48
|
}
|
|
44
49
|
|
|
45
|
-
this.store[name] = render;
|
|
50
|
+
this.store[name] = conf ? _xeUtils.default.merge(conf, render) : render;
|
|
46
51
|
return this;
|
|
47
52
|
};
|
|
48
53
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Store=void 0;var _log=require("../../tools/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Store=void 0;var _log=require("../../tools/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var Store=function(){function e(){this.store={}}return e.prototype.mixin=function(e){return Object.assign(this.store,e),this},e.prototype.has=function(e){return!!this.get(e)},e.prototype.get=function(e){return this.store[e]},e.prototype.add=function(o,e){var r,t=this.store[o];return"development"===process.env.NODE_ENV&&(r=_xeUtils.default.keys(t),_xeUtils.default.each(e,function(e,t){r.includes(t)&&(0,_log.warnLog)("vxe.error.coverProp",[o,t])})),this.store[o]=t?_xeUtils.default.merge(t,e):e,this},e.prototype.delete=function(e){delete this.store[e]},e.prototype.forEach=function(e){_xeUtils.default.objectEach(this.store,e)},e}(),_default=exports.Store=Store;exports.default=_default;
|
package/package.json
CHANGED
|
@@ -298,6 +298,12 @@ export default defineComponent({
|
|
|
298
298
|
class: ['vxe-button--loading-icon', GlobalConfig.icon.BUTTON_LOADING]
|
|
299
299
|
})
|
|
300
300
|
)
|
|
301
|
+
} else if (slots.icon) {
|
|
302
|
+
contVNs.push(
|
|
303
|
+
h('span', {
|
|
304
|
+
class: 'vxe-button--custom-icon'
|
|
305
|
+
}, slots.icon({}))
|
|
306
|
+
)
|
|
301
307
|
} else if (icon) {
|
|
302
308
|
contVNs.push(
|
|
303
309
|
h('i', {
|
|
@@ -669,18 +669,21 @@ const editHook: VxeGlobalHooksHandles.HookOptions = {
|
|
|
669
669
|
const { editRender } = column
|
|
670
670
|
if (isEnableConf(editRender)) {
|
|
671
671
|
const compRender = renderer.get(editRender.name)
|
|
672
|
-
|
|
672
|
+
let { autofocus, autoselect } = editRender
|
|
673
673
|
let inputElem
|
|
674
|
+
if (!autofocus && compRender) {
|
|
675
|
+
autofocus = compRender.autofocus
|
|
676
|
+
}
|
|
674
677
|
// 如果指定了聚焦 class
|
|
675
|
-
if (autofocus) {
|
|
678
|
+
if (XEUtils.isFunction(autofocus)) {
|
|
679
|
+
inputElem = autofocus.call(this, params)
|
|
680
|
+
} else if (autofocus) {
|
|
676
681
|
inputElem = cell.querySelector(autofocus)
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
inputElem = cell.querySelector(compRender.autofocus)
|
|
682
|
+
if (inputElem) {
|
|
683
|
+
inputElem.focus()
|
|
684
|
+
}
|
|
681
685
|
}
|
|
682
686
|
if (inputElem) {
|
|
683
|
-
inputElem.focus()
|
|
684
687
|
if (autoselect) {
|
|
685
688
|
inputElem.select()
|
|
686
689
|
} else {
|
|
@@ -220,7 +220,6 @@ export default defineComponent({
|
|
|
220
220
|
class: [
|
|
221
221
|
'vxe-table--filter-wrapper',
|
|
222
222
|
'filter--prevent-default',
|
|
223
|
-
compConf && compConf.className ? compConf.className : '',
|
|
224
223
|
getPropClass(filterClassName, params),
|
|
225
224
|
{
|
|
226
225
|
'is--animat': $xetable.props.animat,
|
|
@@ -4,6 +4,7 @@ import GlobalConfig from '../../v-x-e-table/src/conf'
|
|
|
4
4
|
import { VXETable } from '../../v-x-e-table'
|
|
5
5
|
import { getFuncText, isEnableConf } from '../../tools/utils'
|
|
6
6
|
import { renderTitle } from './render'
|
|
7
|
+
import { isActivetem } from './util'
|
|
7
8
|
|
|
8
9
|
import { VxeFormConstructor, VxeFormDefines, VxeFormPrivateMethods } from '../../../types/all'
|
|
9
10
|
|
|
@@ -27,7 +28,7 @@ const VxeFormConfigItem = defineComponent({
|
|
|
27
28
|
const item = props.itemConfig as VxeFormDefines.ItemInfo
|
|
28
29
|
const { collapseAll } = reactData
|
|
29
30
|
const validOpts = computeValidOpts.value
|
|
30
|
-
const { slots, title, visible, folding,
|
|
31
|
+
const { slots, title, visible, folding, field, collapseNode, itemRender, showError, errRule, className, titleOverflow, children } = item
|
|
31
32
|
const compConf = isEnableConf(itemRender) ? VXETable.renderer.get(itemRender.name) : null
|
|
32
33
|
const itemClassName = compConf ? compConf.itemClassName : ''
|
|
33
34
|
const defaultSlot = slots ? slots.default : null
|
|
@@ -43,7 +44,6 @@ const VxeFormConfigItem = defineComponent({
|
|
|
43
44
|
const showTitle = itemOverflow === 'title'
|
|
44
45
|
const showTooltip = itemOverflow === true || itemOverflow === 'tooltip'
|
|
45
46
|
const hasEllipsis = showTitle || showTooltip || showEllipsis
|
|
46
|
-
let itemVisibleMethod = visibleMethod
|
|
47
47
|
const params = { data, field, property: field, item, $form: $xeform }
|
|
48
48
|
if (visible === false) {
|
|
49
49
|
return createCommentVNode()
|
|
@@ -68,9 +68,6 @@ const VxeFormConfigItem = defineComponent({
|
|
|
68
68
|
class: ['vxe-form--gather vxe-row', item.id, span ? `vxe-col--${span} is--span` : '', className ? (XEUtils.isFunction(className) ? className(params) : className) : '']
|
|
69
69
|
}, childVNs) : createCommentVNode()
|
|
70
70
|
}
|
|
71
|
-
if (!itemVisibleMethod && compConf && compConf.itemVisibleMethod) {
|
|
72
|
-
itemVisibleMethod = compConf.itemVisibleMethod
|
|
73
|
-
}
|
|
74
71
|
let contentVNs: any[] = []
|
|
75
72
|
if (defaultSlot) {
|
|
76
73
|
contentVNs = $xeform.callSlot(defaultSlot, params)
|
|
@@ -123,7 +120,7 @@ const VxeFormConfigItem = defineComponent({
|
|
|
123
120
|
'is--asterisk': titleAsterisk,
|
|
124
121
|
'is--required': isRequired,
|
|
125
122
|
'is--hidden': folding && collapseAll,
|
|
126
|
-
'is--active':
|
|
123
|
+
'is--active': isActivetem($xeform, item),
|
|
127
124
|
'is--error': showError
|
|
128
125
|
}
|
|
129
126
|
],
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { defineComponent, h, onUnmounted, inject, ref, Ref, provide, onMounted, PropType } from 'vue'
|
|
1
|
+
import { defineComponent, h, onUnmounted, inject, ref, Ref, provide, onMounted, PropType, createCommentVNode, reactive } from 'vue'
|
|
2
2
|
import XEUtils from 'xe-utils'
|
|
3
3
|
import GlobalConfig from '../../v-x-e-table/src/conf'
|
|
4
4
|
import { VXETable } from '../../v-x-e-table'
|
|
5
5
|
import { getFuncText, isEnableConf } from '../../tools/utils'
|
|
6
|
-
import { createItem, watchItem, destroyItem, assemItem, XEFormItemProvide } from './util'
|
|
6
|
+
import { createItem, watchItem, destroyItem, assemItem, XEFormItemProvide, isActivetem } from './util'
|
|
7
7
|
import { renderTitle } from './render'
|
|
8
8
|
|
|
9
9
|
import { VxeFormConstructor, VxeFormDefines, VxeFormItemPropTypes, VxeFormPrivateMethods } from '../../../types/all'
|
|
@@ -42,7 +42,7 @@ export default defineComponent({
|
|
|
42
42
|
const refElem = ref() as Ref<HTMLDivElement>
|
|
43
43
|
const $xeform = inject('$xeform', {} as VxeFormConstructor & VxeFormPrivateMethods)
|
|
44
44
|
const formGather = inject('$xeformgather', null as XEFormItemProvide | null)
|
|
45
|
-
const formItem = createItem($xeform, props)
|
|
45
|
+
const formItem = reactive(createItem($xeform, props))
|
|
46
46
|
const xeformitem: XEFormItemProvide = { formItem }
|
|
47
47
|
const xeformiteminfo = { itemConfig: formItem }
|
|
48
48
|
formItem.slots = slots
|
|
@@ -67,7 +67,7 @@ export default defineComponent({
|
|
|
67
67
|
const { collapseAll } = reactData
|
|
68
68
|
const { computeValidOpts } = $xeform.getComputeMaps()
|
|
69
69
|
const validOpts = computeValidOpts.value
|
|
70
|
-
const { slots, title, visible, folding,
|
|
70
|
+
const { slots, title, visible, folding, field, collapseNode, itemRender, showError, errRule, className, titleOverflow } = item
|
|
71
71
|
const compConf = isEnableConf(itemRender) ? VXETable.renderer.get(itemRender.name) : null
|
|
72
72
|
const itemClassName = compConf ? compConf.itemClassName : ''
|
|
73
73
|
const defaultSlot = slots ? slots.default : null
|
|
@@ -81,18 +81,17 @@ export default defineComponent({
|
|
|
81
81
|
const showTitle = itemOverflow === 'title'
|
|
82
82
|
const showTooltip = itemOverflow === true || itemOverflow === 'tooltip'
|
|
83
83
|
const hasEllipsis = showTitle || showTooltip || showEllipsis
|
|
84
|
-
let itemVisibleMethod = visibleMethod
|
|
85
84
|
const params = { data, field, property: field, item, $form: $xeform }
|
|
86
85
|
let isRequired = false
|
|
86
|
+
if (visible === false) {
|
|
87
|
+
return createCommentVNode()
|
|
88
|
+
}
|
|
87
89
|
if (rules) {
|
|
88
90
|
const itemRules = rules[field]
|
|
89
91
|
if (itemRules) {
|
|
90
92
|
isRequired = itemRules.some((rule) => rule.required)
|
|
91
93
|
}
|
|
92
94
|
}
|
|
93
|
-
if (!itemVisibleMethod && compConf && compConf.itemVisibleMethod) {
|
|
94
|
-
itemVisibleMethod = compConf.itemVisibleMethod
|
|
95
|
-
}
|
|
96
95
|
let contentVNs: any[] = []
|
|
97
96
|
if (defaultSlot) {
|
|
98
97
|
contentVNs = $xeform.callSlot(defaultSlot, params)
|
|
@@ -143,8 +142,8 @@ export default defineComponent({
|
|
|
143
142
|
{
|
|
144
143
|
'is--title': title,
|
|
145
144
|
'is--required': isRequired,
|
|
146
|
-
'is--hidden':
|
|
147
|
-
'is--active':
|
|
145
|
+
'is--hidden': folding && collapseAll,
|
|
146
|
+
'is--active': isActivetem($xeform, item),
|
|
148
147
|
'is--error': showError
|
|
149
148
|
}
|
|
150
149
|
]
|
|
@@ -5,7 +5,7 @@ import { VXETable } from '../../v-x-e-table'
|
|
|
5
5
|
import { getFuncText, isEnableConf, eqEmptyValue } from '../../tools/utils'
|
|
6
6
|
import { errLog } from '../../tools/log'
|
|
7
7
|
import { scrollToView } from '../../tools/dom'
|
|
8
|
-
import { createItem, handleFieldOrItem } from './util'
|
|
8
|
+
import { createItem, handleFieldOrItem, isHiddenItem, isActivetem } from './util'
|
|
9
9
|
import { useSize } from '../../hooks/size'
|
|
10
10
|
import VxeFormConfigItem from './form-config-item'
|
|
11
11
|
import VxeLoading from '../../loading/index'
|
|
@@ -361,7 +361,7 @@ export default defineComponent({
|
|
|
361
361
|
if (data && formRules) {
|
|
362
362
|
itemList.forEach((item) => {
|
|
363
363
|
const { field } = item
|
|
364
|
-
if (field) {
|
|
364
|
+
if (field && !isHiddenItem($xeform, item) && isActivetem($xeform, item)) {
|
|
365
365
|
itemValids.push(
|
|
366
366
|
validItemRules(type || 'all', field).then(() => {
|
|
367
367
|
item.errRule = null
|
|
@@ -494,7 +494,7 @@ export default defineComponent({
|
|
|
494
494
|
|
|
495
495
|
const triggerItemEvent = (evnt: Event, field: string, itemValue?: any) => {
|
|
496
496
|
if (field) {
|
|
497
|
-
return validItemRules(evnt ? evnt.type : 'all', field, itemValue)
|
|
497
|
+
return validItemRules(evnt ? (['blur'].includes(evnt.type) ? 'blur' : 'change') : 'all', field, itemValue)
|
|
498
498
|
.then(() => {
|
|
499
499
|
clearValidate(field)
|
|
500
500
|
})
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { watch } from 'vue'
|
|
2
|
+
import { VXETable } from '../../v-x-e-table'
|
|
2
3
|
import XEUtils from 'xe-utils'
|
|
3
4
|
import { ItemInfo } from './itemInfo'
|
|
5
|
+
import { isEnableConf } from '../../tools/utils'
|
|
4
6
|
|
|
5
7
|
import { VxeFormConstructor, VxeFormDefines } from '../../../types/all'
|
|
6
8
|
|
|
@@ -16,13 +18,36 @@ export function createItem ($xeform: VxeFormConstructor, _vm: any) {
|
|
|
16
18
|
return isFormItem(_vm) ? _vm : new ItemInfo($xeform, _vm)
|
|
17
19
|
}
|
|
18
20
|
|
|
19
|
-
export
|
|
21
|
+
export function handleFieldOrItem ($xeform: VxeFormConstructor, fieldOrItem: string | VxeFormDefines.ItemInfo) {
|
|
20
22
|
if (fieldOrItem) {
|
|
21
23
|
return XEUtils.isString(fieldOrItem) ? $xeform.getItemByField(fieldOrItem) : fieldOrItem
|
|
22
24
|
}
|
|
23
25
|
return null
|
|
24
26
|
}
|
|
25
27
|
|
|
28
|
+
export function isHiddenItem ($xeform: VxeFormConstructor, formItem: VxeFormDefines.ItemInfo) {
|
|
29
|
+
const { reactData } = $xeform
|
|
30
|
+
const { collapseAll } = reactData
|
|
31
|
+
const { folding, visible } = formItem
|
|
32
|
+
return visible === false || (folding && collapseAll)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export function isActivetem ($xeform: VxeFormConstructor, formItem: VxeFormDefines.ItemInfo) {
|
|
36
|
+
let { visibleMethod, itemRender, visible, field } = formItem
|
|
37
|
+
if (visible === false) {
|
|
38
|
+
return visible
|
|
39
|
+
}
|
|
40
|
+
const compConf = isEnableConf(itemRender) ? VXETable.renderer.get(itemRender.name) : null
|
|
41
|
+
if (!visibleMethod && compConf && compConf.itemVisibleMethod) {
|
|
42
|
+
visibleMethod = compConf.itemVisibleMethod
|
|
43
|
+
}
|
|
44
|
+
if (!visibleMethod) {
|
|
45
|
+
return true
|
|
46
|
+
}
|
|
47
|
+
const { data } = $xeform.props
|
|
48
|
+
return visibleMethod({ data, field, property: field, item: formItem, $form: $xeform })
|
|
49
|
+
}
|
|
50
|
+
|
|
26
51
|
export function watchItem (props: any, formItem: ItemInfo) {
|
|
27
52
|
Object.keys(props).forEach(name => {
|
|
28
53
|
watch(() => props[name], (value: any) => {
|
|
@@ -110,7 +110,8 @@ export default defineComponent({
|
|
|
110
110
|
document.onmouseup = function (evnt) {
|
|
111
111
|
document.onmousemove = domMousemove
|
|
112
112
|
document.onmouseup = domMouseup
|
|
113
|
-
|
|
113
|
+
const resizeWidth = column.renderWidth + (isRightFixed ? dragPosLeft - dragLeft : dragLeft - dragPosLeft)
|
|
114
|
+
column.resizeWidth = resizeWidth
|
|
114
115
|
resizeBarElem.style.display = 'none'
|
|
115
116
|
tableInternalData._isResize = false
|
|
116
117
|
tableInternalData._lastResizeTime = Date.now()
|
|
@@ -118,7 +119,7 @@ export default defineComponent({
|
|
|
118
119
|
$xetable.recalculate(true).then(() => {
|
|
119
120
|
$xetable.saveCustomResizable()
|
|
120
121
|
$xetable.updateCellAreas()
|
|
121
|
-
$xetable.dispatchEvent('resizable-change', params, evnt)
|
|
122
|
+
$xetable.dispatchEvent('resizable-change', { ...params, resizeWidth }, evnt)
|
|
122
123
|
})
|
|
123
124
|
removeClass(tableEl, 'drag--resize')
|
|
124
125
|
}
|
|
@@ -21,13 +21,17 @@ export class Store {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
add (name: string, render: any): Store {
|
|
24
|
+
const conf = this.store[name]
|
|
24
25
|
// 检测是否覆盖
|
|
25
26
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
const confKeys = XEUtils.keys(conf)
|
|
28
|
+
XEUtils.each(render, (item, key) => {
|
|
29
|
+
if (confKeys.includes(key)) {
|
|
30
|
+
warnLog('vxe.error.coverProp', [name, key])
|
|
31
|
+
}
|
|
32
|
+
})
|
|
29
33
|
}
|
|
30
|
-
this.store[name] = render
|
|
34
|
+
this.store[name] = conf ? XEUtils.merge(conf, render) : render
|
|
31
35
|
return this
|
|
32
36
|
}
|
|
33
37
|
|
package/types/table.d.ts
CHANGED
|
@@ -2466,7 +2466,9 @@ export namespace VxeTableDefines {
|
|
|
2466
2466
|
export interface FilterVisibleEventParams extends TableEventParams, FilterVisibleParams { }
|
|
2467
2467
|
|
|
2468
2468
|
export interface ResizableChangeParams extends TableBaseHeaderCellParams { }
|
|
2469
|
-
export interface ResizableChangeEventParams extends TableEventParams, ResizableChangeParams {
|
|
2469
|
+
export interface ResizableChangeEventParams extends TableEventParams, ResizableChangeParams {
|
|
2470
|
+
resizeWidth: number
|
|
2471
|
+
}
|
|
2470
2472
|
|
|
2471
2473
|
export interface ToggleRowExpandParams extends TableBaseCellParams { }
|
|
2472
2474
|
export interface ToggleRowExpandEventParams extends TableEventParams, ToggleRowExpandParams { }
|
|
@@ -30,7 +30,7 @@ export interface DefineRendererOption<T> {
|
|
|
30
30
|
footerExportMethod?(params: VxeGlobalRendererHandles.FooterExportMethodParams): string
|
|
31
31
|
|
|
32
32
|
// 编辑渲染
|
|
33
|
-
autofocus?: string
|
|
33
|
+
autofocus?: string | ((params: VxeGlobalRendererHandles.RenderEditParams | VxeGlobalRendererHandles.RenderCellParams) => HTMLElement | null)
|
|
34
34
|
renderEdit?(renderOpts: VxeGlobalRendererHandles.RenderEditOptions, params: VxeGlobalRendererHandles.RenderEditParams): T
|
|
35
35
|
renderCell?(renderOpts: VxeGlobalRendererHandles.RenderCellOptions, params: VxeGlobalRendererHandles.RenderCellParams): T
|
|
36
36
|
|