vxe-table 3.4.14-beta.2 → 3.5.0-beta.0
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/README.md +2 -6
- package/lib/button/src/button.js +19 -9
- package/lib/button/src/button.min.js +1 -1
- package/lib/checkbox/src/checkbox.js +2 -2
- package/lib/checkbox/src/checkbox.min.js +1 -1
- package/lib/edit/src/mixin.js +26 -18
- package/lib/edit/src/mixin.min.js +1 -1
- package/lib/export/src/export-panel.js +2 -2
- package/lib/export/src/export-panel.min.js +1 -1
- package/lib/export/src/import-panel.js +2 -2
- package/lib/export/src/import-panel.min.js +1 -1
- package/lib/export/src/mixin.js +26 -24
- package/lib/export/src/mixin.min.js +1 -1
- package/lib/filter/src/mixin.js +28 -21
- package/lib/filter/src/mixin.min.js +1 -1
- package/lib/filter/src/panel.js +2 -2
- package/lib/filter/src/panel.min.js +1 -1
- package/lib/footer/src/footer.js +7 -4
- package/lib/footer/src/footer.min.js +1 -1
- package/lib/form/src/form-gather.js +2 -2
- package/lib/form/src/form-gather.min.js +1 -1
- package/lib/form/src/form-item.js +8 -3
- package/lib/form/src/form-item.min.js +1 -1
- package/lib/form/src/form.js +48 -38
- package/lib/form/src/form.min.js +1 -1
- package/lib/form/src/render.js +5 -5
- package/lib/form/src/render.min.js +1 -1
- package/lib/form/src/util.js +13 -2
- package/lib/form/src/util.min.js +1 -1
- package/lib/grid/src/grid.js +44 -34
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/header/src/header.js +10 -8
- package/lib/header/src/header.min.js +1 -1
- package/lib/index.umd.js +2322 -2170
- package/lib/index.umd.min.js +1 -2
- package/lib/input/src/input.js +30 -18
- package/lib/input/src/input.min.js +1 -1
- package/lib/keyboard/src/mixin.js +12 -8
- package/lib/keyboard/src/mixin.min.js +1 -1
- package/lib/list/src/list.js +7 -5
- package/lib/list/src/list.min.js +1 -1
- package/lib/menu/src/mixin.js +24 -14
- package/lib/menu/src/mixin.min.js +1 -1
- package/lib/menu/src/panel.js +3 -3
- package/lib/menu/src/panel.min.js +1 -1
- package/lib/modal/src/modal.js +24 -12
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/pulldown/src/pulldown.js +16 -12
- package/lib/pulldown/src/pulldown.min.js +1 -1
- package/lib/radio/src/button.js +2 -2
- package/lib/radio/src/button.min.js +1 -1
- package/lib/radio/src/radio.js +2 -2
- package/lib/radio/src/radio.min.js +1 -1
- package/lib/select/src/select.js +26 -16
- package/lib/select/src/select.min.js +1 -1
- package/lib/switch/src/switch.js +4 -4
- package/lib/switch/src/switch.min.js +1 -1
- package/lib/table/src/body.js +46 -22
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +19 -11
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/column.js +3 -3
- package/lib/table/src/column.min.js +1 -1
- package/lib/table/src/columnInfo.js +201 -0
- package/lib/table/src/columnInfo.min.js +1 -0
- package/lib/table/src/methods.js +339 -307
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +80 -62
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +38 -3
- package/lib/table/src/util.min.js +1 -1
- package/lib/textarea/src/textarea.js +2 -2
- package/lib/textarea/src/textarea.min.js +1 -1
- package/lib/toolbar/src/toolbar.js +16 -10
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/tools/{src/dom.js → dom.js} +12 -1
- package/lib/tools/dom.min.js +1 -0
- package/lib/tools/{src/event.js → event.js} +3 -6
- package/lib/tools/event.min.js +1 -0
- package/lib/tools/log.js +29 -0
- package/lib/tools/log.min.js +1 -0
- package/lib/tools/{src/resize.js → resize.js} +1 -1
- package/lib/tools/resize.min.js +1 -0
- package/lib/tools/utils.js +155 -0
- package/lib/tools/utils.min.js +1 -0
- package/lib/tooltip/src/tooltip.js +89 -50
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/v-x-e-table/index.js +7 -4
- package/lib/v-x-e-table/index.min.js +1 -1
- package/lib/v-x-e-table/src/conf.js +4 -1
- package/lib/v-x-e-table/src/conf.min.js +1 -1
- package/lib/v-x-e-table/src/interceptor.js +4 -4
- package/lib/v-x-e-table/src/interceptor.min.js +1 -1
- package/lib/v-x-e-table/src/renderer.js +18 -10
- package/lib/v-x-e-table/src/renderer.min.js +1 -1
- package/lib/v-x-e-table/src/store.js +3 -3
- package/lib/v-x-e-table/src/store.min.js +1 -1
- package/lib/validator/src/mixin.js +4 -4
- package/lib/validator/src/mixin.min.js +1 -1
- package/package.json +3 -3
- package/packages/button/src/button.js +4 -2
- package/packages/checkbox/src/checkbox.js +2 -2
- package/packages/edit/src/mixin.js +7 -6
- package/packages/export/src/export-panel.js +1 -1
- package/packages/export/src/import-panel.js +1 -1
- package/packages/export/src/mixin.js +20 -19
- package/packages/filter/src/mixin.js +18 -14
- package/packages/filter/src/panel.js +1 -1
- package/packages/footer/src/footer.js +4 -2
- package/packages/form/src/form-gather.js +2 -2
- package/packages/form/src/form-item.js +7 -2
- package/packages/form/src/form.js +29 -23
- package/packages/form/src/render.js +4 -4
- package/packages/form/src/util.js +9 -2
- package/packages/grid/src/grid.js +22 -20
- package/packages/header/src/header.js +3 -2
- package/packages/input/src/input.js +6 -3
- package/packages/keyboard/src/mixin.js +1 -2
- package/packages/list/src/list.js +3 -2
- package/packages/menu/src/mixin.js +5 -3
- package/packages/menu/src/panel.js +3 -3
- package/packages/modal/src/modal.js +7 -4
- package/packages/pulldown/src/pulldown.js +3 -1
- package/packages/radio/src/button.js +2 -2
- package/packages/radio/src/radio.js +2 -2
- package/packages/select/src/select.js +5 -3
- package/packages/switch/src/switch.js +4 -4
- package/packages/table/src/body.js +36 -17
- package/packages/table/src/cell.js +5 -4
- package/packages/table/src/column.js +1 -1
- package/packages/table/src/columnInfo.js +148 -0
- package/packages/table/src/methods.js +100 -75
- package/packages/table/src/table.js +56 -41
- package/packages/table/src/util.js +19 -1
- package/packages/textarea/src/textarea.js +2 -2
- package/packages/toolbar/src/toolbar.js +7 -4
- package/packages/tools/{src/dom.js → dom.js} +13 -1
- package/packages/tools/{src/event.js → event.js} +1 -3
- package/packages/tools/log.js +16 -0
- package/packages/tools/{src/resize.js → resize.js} +1 -1
- package/packages/tools/utils.js +108 -0
- package/packages/tooltip/src/tooltip.js +49 -24
- package/packages/v-x-e-table/index.js +4 -2
- package/packages/v-x-e-table/src/conf.js +4 -1
- package/packages/v-x-e-table/src/interceptor.js +3 -3
- package/packages/v-x-e-table/src/renderer.js +4 -3
- package/packages/v-x-e-table/src/store.js +2 -2
- package/packages/validator/src/mixin.js +3 -3
- package/types/v-x-e-table/index.d.ts +8 -0
- package/README.en.md +0 -170
- package/README.zh-TW.md +0 -174
- package/lib/tools/index.js +0 -76
- package/lib/tools/index.min.js +0 -1
- package/lib/tools/src/dom.min.js +0 -1
- package/lib/tools/src/event.min.js +0 -1
- package/lib/tools/src/resize.min.js +0 -1
- package/lib/tools/src/utils.js +0 -365
- package/lib/tools/src/utils.min.js +0 -1
- package/packages/tools/index.js +0 -14
- package/packages/tools/src/utils.js +0 -272
|
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var _tools = require("../../tools");
|
|
9
|
-
|
|
10
8
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
11
9
|
|
|
10
|
+
var _log = require("../../tools/log");
|
|
11
|
+
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
13
|
|
|
14
14
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
@@ -44,7 +44,7 @@ var Store = /*#__PURE__*/function () {
|
|
|
44
44
|
// 检测是否覆盖
|
|
45
45
|
if (process.env.NODE_ENV === 'development') {
|
|
46
46
|
if (!_xeUtils.default.eqNull(this.store[name]) && this.store[name] !== render) {
|
|
47
|
-
|
|
47
|
+
(0, _log.warnLog)('vxe.error.coverProp', [this._name, name]);
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_log=require("../../tools/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),e}var Store=function(){function r(){_classCallCheck(this,r),this.store={}}return _createClass(r,[{key:"mixin",value:function(e){return Object.assign(this.store,e),r}},{key:"get",value:function(e){return this.store[e]}},{key:"add",value:function(e,t){return"development"===process.env.NODE_ENV&&(_xeUtils.default.eqNull(this.store[e])||this.store[e]===t||(0,_log.warnLog)("vxe.error.coverProp",[this._name,e])),this.store[e]=t,r}},{key:"delete",value:function(e){return delete this.store[e],r}}]),r}(),_default=Store;exports.default=_default;
|
|
@@ -9,9 +9,9 @@ var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
|
9
9
|
|
|
10
10
|
var _conf = _interopRequireDefault(require("../../v-x-e-table/src/conf"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _utils = require("../../tools/utils");
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _dom = _interopRequireDefault(require("../../tools/dom"));
|
|
15
15
|
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
17
|
|
|
@@ -49,7 +49,7 @@ var Rule = /*#__PURE__*/function () {
|
|
|
49
49
|
_createClass(Rule, [{
|
|
50
50
|
key: "content",
|
|
51
51
|
get: function get() {
|
|
52
|
-
return
|
|
52
|
+
return (0, _utils.getFuncText)(this.$options.content || this.$options.message);
|
|
53
53
|
}
|
|
54
54
|
}, {
|
|
55
55
|
key: "message",
|
|
@@ -247,7 +247,7 @@ var _default = {
|
|
|
247
247
|
var posAndFinish = function posAndFinish() {
|
|
248
248
|
firstErrParams.cell = _this2.getCell(firstErrParams.row, firstErrParams.column);
|
|
249
249
|
|
|
250
|
-
|
|
250
|
+
_dom.default.scrollToView(firstErrParams.cell);
|
|
251
251
|
|
|
252
252
|
_this2.handleValidError(firstErrParams).then(finish);
|
|
253
253
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_utils=require("../../tools/utils"),_dom=_interopRequireDefault(require("../../tools/dom"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),e}var Rule=function(){function t(e){_classCallCheck(this,t),Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}return _createClass(t,[{key:"content",get:function(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}},{key:"message",get:function(){return this.content}}]),t}();function validErrorRuleValue(e,t){var r=e.type,i=e.min,l=e.max,n=e.pattern,e="number"===r,r=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||(!_xeUtils.default.eqNull(i)&&r<_xeUtils.default.toNumber(i)||(!_xeUtils.default.eqNull(l)&&r>_xeUtils.default.toNumber(l)||!(!n||(_xeUtils.default.isRegExp(n)?n:new RegExp(n)).test(t))))}var _default={methods:{_fullValidate:function(e,t){return this.beginValidate(e,t,!0)},_validate:function(e,t){return this.beginValidate(e,t)},handleValidError:function(t){var r=this;return new Promise(function(e){!1===r.validOpts.autoPos?(r.emitEvent("valid-error",t),e()):r.handleActived(t,{type:"valid-error",trigger:"call"}).then(function(){setTimeout(function(){e(r.showValidTooltip(t))},10)})})},beginValidate:function(e,o,i){var a=this,s={},l=this.editRules,c=this.afterFullData,d=this.treeConfig,t=this.treeOpts;!0===e?r=c:e&&(_xeUtils.default.isFunction(e)?o=e:r=_xeUtils.default.isArray(e)?e:[e]);var r=r||this.getInsertRecords().concat(this.getUpdateRecords()),n=[];if(this.lastCallTime=Date.now(),this.validRuleErr=!1,this.clearValidate(),l){var u=this.getColumns(),e=function(r){var e;!i&&a.validRuleErr||(e=[],u.forEach(function(t){!i&&a.validRuleErr||!_xeUtils.default.has(l,t.property)||e.push(a.validCellRules("all",r,t).catch(function(e){e={rule:e.rule,rules:e.rules,rowIndex:a.getRowIndex(r),row:r,columnIndex:a.getColumnIndex(t),column:t,field:t.property,$table:a};if(s[t.property]||(s[t.property]=[]),s[t.property].push(e),!i)return a.validRuleErr=!0,Promise.reject(e)}))}),n.push(Promise.all(e)))};return d?_xeUtils.default.eachTree(r,e,t):r.forEach(e),Promise.all(n).then(function(){var e=Object.keys(s);return a.$nextTick().then(function(){return e.length?Promise.reject(s[e[0]][0]):void(o&&o())})}).catch(function(u){return new Promise(function(e,t){function r(){a.$nextTick(function(){o?(o(s),e()):("obsolete"===_conf.default.validToReject?t:e)(s)})}function i(){u.cell=a.getCell(u.row,u.column),_dom.default.scrollToView(u.cell),a.handleValidError(u).then(r)}var l=u.row,n=c.indexOf(l),l=0<n?c[n-1]:l;!1===a.validOpts.autoPos?r():(d?a.scrollToTreeRow(l):a.scrollToRow(l)).then(i)})})}return this.$nextTick().then(function(){o&&o()})},hasCellRules:function(t,e,r){var i=this.editRules,r=r.property;if(r&&i){r=_xeUtils.default.get(i,r);return r&&_xeUtils.default.find(r,function(e){return"all"===t||!e.trigger||t===e.trigger})}return!1},validCellRules:function(n,u,o,e){var a,s,c=this,t=this.editRules,r=o.property,d=[],f=[];return r&&t&&((a=_xeUtils.default.get(t,r))&&(s=_xeUtils.default.isUndefined(e)?_xeUtils.default.get(u,r):e,a.forEach(function(t){var e,r=t.type,i=t.trigger,l=t.required;"all"!==n&&i&&n!==i||(_xeUtils.default.isFunction(t.validator)?(e=t.validator({cellValue:s,rule:t,rules:a,row:u,rowIndex:c.getRowIndex(u),column:o,columnIndex:c.getColumnIndex(o),field:o.property,$table:c}))&&(_xeUtils.default.isError(e)?(c.validRuleErr=!0,d.push(new Rule({type:"custom",trigger:i,content:e.message,rule:new Rule(t)}))):e.catch&&f.push(e.catch(function(e){c.validRuleErr=!0,d.push(new Rule({type:"custom",trigger:i,content:e&&e.message?e.message:t.content||t.message,rule:new Rule(t)}))}))):(r="array"===r?!_xeUtils.default.isArray(s)||!s.length:(0,_utils.eqEmptyValue)(s),(l?r||validErrorRuleValue(t,s):!r&&validErrorRuleValue(t,s))&&(c.validRuleErr=!0,d.push(new Rule(t)))))}))),Promise.all(f).then(function(){if(d.length){var e={rules:d,rule:d[0]};return Promise.reject(e)}})},_clearValidate:function(){var e=this.$refs.validTip;return Object.assign(this.validStore,{visible:!1,row:null,column:null,content:"",rule:null}),e&&e.visible&&e.close(),this.$nextTick()},triggerValidate:function(t){var r=this,e=this.editConfig,i=this.editStore,l=this.editRules,n=this.validStore,i=i.actived;if(i.row&&l){var i=i.args,u=i.row,o=i.column,a=i.cell;if(this.hasCellRules(t,u,o))return this.validCellRules(t,u,o).then(function(){"row"===e.mode&&n.visible&&n.row===u&&n.column===o&&r.clearValidate()}).catch(function(e){e=e.rule;if(e.trigger&&t!==e.trigger)return Promise.resolve();e={rule:e,row:u,column:o,cell:a};return r.showValidTooltip(e),Promise.reject(e)})}return Promise.resolve()},showValidTooltip:function(e){var t=this,r=this.$refs,i=this.height,l=this.tableData,n=this.validOpts,u=e.rule,o=e.row,a=e.column,s=e.cell,c=r.validTip,d=u.content;return this.$nextTick(function(){if(Object.assign(t.validStore,{row:o,column:a,rule:u,content:d,visible:!0}),t.emitEvent("valid-error",e),c&&("tooltip"===n.message||"default"===n.message&&!i&&l.length<2))return c.open(s,d)})}}};exports.default=_default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vxe-table",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.0-beta.0",
|
|
4
4
|
"description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、贼灵活的配置项、扩展接口等...",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"serve": "vue-cli-service serve",
|
|
@@ -66,11 +66,11 @@
|
|
|
66
66
|
"vuex": "^3.4.0",
|
|
67
67
|
"xe-ajax": "^4.0.5",
|
|
68
68
|
"xe-clipboard": "^1.10.1",
|
|
69
|
-
"xe-utils": "^3.5.
|
|
69
|
+
"xe-utils": "^3.5.4"
|
|
70
70
|
},
|
|
71
71
|
"peerDependencies": {
|
|
72
72
|
"vue": "^2.6.0",
|
|
73
|
-
"xe-utils": "^3.5.
|
|
73
|
+
"xe-utils": "^3.5.0"
|
|
74
74
|
},
|
|
75
75
|
"vetur": {
|
|
76
76
|
"tags": "helper/vetur/tags.json",
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import XEUtils from 'xe-utils'
|
|
2
2
|
import GlobalConfig from '../../v-x-e-table/src/conf'
|
|
3
3
|
import vSize from '../../mixins/size'
|
|
4
|
-
import
|
|
4
|
+
import UtilTools, { getFuncText } from '../../tools/utils'
|
|
5
|
+
import DomTools from '../../tools/dom'
|
|
6
|
+
import { GlobalEvent } from '../../tools/event'
|
|
5
7
|
|
|
6
8
|
export default {
|
|
7
9
|
name: 'VxeButton',
|
|
@@ -155,7 +157,7 @@ export default {
|
|
|
155
157
|
contents.push(
|
|
156
158
|
h('span', {
|
|
157
159
|
class: 'vxe-button--content'
|
|
158
|
-
}, [
|
|
160
|
+
}, [getFuncText(content)])
|
|
159
161
|
)
|
|
160
162
|
}
|
|
161
163
|
return contents
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getFuncText } from '../../tools/utils'
|
|
2
2
|
import XEUtils from 'xe-utils'
|
|
3
3
|
import GlobalConfig from '../../v-x-e-table/src/conf'
|
|
4
4
|
import vSize from '../../mixins/size'
|
|
@@ -62,7 +62,7 @@ export default {
|
|
|
62
62
|
}),
|
|
63
63
|
h('span', {
|
|
64
64
|
class: 'vxe-checkbox--label'
|
|
65
|
-
}, $scopedSlots.default ? $scopedSlots.default.call(this, {}) : [
|
|
65
|
+
}, $scopedSlots.default ? $scopedSlots.default.call(this, {}) : [getFuncText(content)])
|
|
66
66
|
])
|
|
67
67
|
},
|
|
68
68
|
methods: {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import XEUtils from 'xe-utils'
|
|
2
2
|
import VXETable from '../../v-x-e-table'
|
|
3
|
-
import
|
|
4
|
-
import { browse } from '../../tools/
|
|
3
|
+
import UtilTools, { isEnableConf } from '../../tools/utils'
|
|
4
|
+
import DomTools, { browse } from '../../tools/dom'
|
|
5
|
+
import { warnLog, errLog } from '../../tools/log'
|
|
5
6
|
|
|
6
7
|
const { getRowid } = UtilTools
|
|
7
8
|
|
|
@@ -28,7 +29,7 @@ function insertTreeRow (_vm, newRecords, isAppend) {
|
|
|
28
29
|
} else {
|
|
29
30
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
30
31
|
if (parentRowId) {
|
|
31
|
-
|
|
32
|
+
warnLog('vxe.error.unableInsert')
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
afterFullData[funcName](item)
|
|
@@ -110,7 +111,7 @@ export default {
|
|
|
110
111
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
111
112
|
if (item[treeOpts.parentField]) {
|
|
112
113
|
if (parentRow && item[treeOpts.parentField] !== parentRow[rowField]) {
|
|
113
|
-
|
|
114
|
+
errLog('vxe.error.errProp', [`${treeOpts.parentField}=${item[treeOpts.parentField]}`, `${treeOpts.parentField}=${parentRow[rowField]}`])
|
|
114
115
|
}
|
|
115
116
|
}
|
|
116
117
|
}
|
|
@@ -124,7 +125,7 @@ export default {
|
|
|
124
125
|
})
|
|
125
126
|
} else {
|
|
126
127
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
127
|
-
|
|
128
|
+
warnLog('vxe.error.unableInsert')
|
|
128
129
|
}
|
|
129
130
|
insertTreeRow(this, newRecords, true)
|
|
130
131
|
}
|
|
@@ -142,7 +143,7 @@ export default {
|
|
|
142
143
|
afIndex = afterFullData.indexOf(row)
|
|
143
144
|
}
|
|
144
145
|
if (afIndex === -1) {
|
|
145
|
-
throw new Error(
|
|
146
|
+
throw new Error(errLog('vxe.error.unableInsert'))
|
|
146
147
|
}
|
|
147
148
|
afterFullData.splice(afIndex, 0, ...newRecords)
|
|
148
149
|
tableFullData.splice(tableFullData.indexOf(row), 0, ...newRecords)
|
|
@@ -5,7 +5,7 @@ import VxeInput from '../../input/src/input'
|
|
|
5
5
|
import VxeCheckbox from '../../checkbox/src/checkbox'
|
|
6
6
|
import VxeSelect from '../../select/src/select'
|
|
7
7
|
import VxeOption from '../../select/src/option'
|
|
8
|
-
import
|
|
8
|
+
import UtilTools from '../../tools/utils'
|
|
9
9
|
|
|
10
10
|
export default {
|
|
11
11
|
name: 'VxeExportPanel',
|
|
@@ -2,7 +2,7 @@ import XEUtils from 'xe-utils'
|
|
|
2
2
|
import GlobalConfig from '../../v-x-e-table/src/conf'
|
|
3
3
|
import VxeModal from '../../modal/src/modal'
|
|
4
4
|
import VxeRadio from '../../radio/src/radio'
|
|
5
|
-
import
|
|
5
|
+
import UtilTools from '../../tools/utils'
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
name: 'VxeImportPanel',
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import XEUtils from 'xe-utils'
|
|
2
2
|
import GlobalConfig from '../../v-x-e-table/src/conf'
|
|
3
3
|
import VXETable from '../../v-x-e-table'
|
|
4
|
-
import
|
|
5
|
-
import { mergeBodyMethod } from '../../table/src/util'
|
|
6
|
-
import { browse } from '../../tools/
|
|
4
|
+
import UtilTools from '../../tools/utils'
|
|
5
|
+
import { mergeBodyMethod, isColumnInfo } from '../../table/src/util'
|
|
6
|
+
import { browse } from '../../tools/dom'
|
|
7
|
+
import { warnLog, errLog } from '../../tools/log'
|
|
7
8
|
|
|
8
9
|
const { formatText } = UtilTools
|
|
9
10
|
|
|
@@ -589,7 +590,7 @@ function downloadFile ($xetable, opts, content) {
|
|
|
589
590
|
// 检测弹窗模块
|
|
590
591
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
591
592
|
if (!VXETable.modal) {
|
|
592
|
-
|
|
593
|
+
errLog('vxe.error.reqModule', ['Modal'])
|
|
593
594
|
}
|
|
594
595
|
}
|
|
595
596
|
VXETable.modal.message({ content: GlobalConfig.i18n('vxe.table.expSuccess'), status: 'success' })
|
|
@@ -816,7 +817,7 @@ function handleImport ($xetable, content, opts) {
|
|
|
816
817
|
// 检测弹窗模块
|
|
817
818
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
818
819
|
if (!VXETable.modal) {
|
|
819
|
-
|
|
820
|
+
errLog('vxe.error.reqModule', ['Modal'])
|
|
820
821
|
}
|
|
821
822
|
}
|
|
822
823
|
VXETable.modal.message({ content: GlobalConfig.i18n('vxe.table.impSuccess', [rows.length]), status: 'success' })
|
|
@@ -831,7 +832,7 @@ function handleImport ($xetable, content, opts) {
|
|
|
831
832
|
// 检测弹窗模块
|
|
832
833
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
833
834
|
if (!VXETable.modal) {
|
|
834
|
-
|
|
835
|
+
errLog('vxe.error.reqModule', ['Modal'])
|
|
835
836
|
}
|
|
836
837
|
}
|
|
837
838
|
VXETable.modal.message({ content: GlobalConfig.i18n('vxe.error.impFields'), status: 'error' })
|
|
@@ -851,7 +852,7 @@ function handleFileImport ($xetable, file, opts) {
|
|
|
851
852
|
// 检测弹窗模块
|
|
852
853
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
853
854
|
if (!VXETable.modal) {
|
|
854
|
-
|
|
855
|
+
errLog('vxe.error.reqModule', ['Modal'])
|
|
855
856
|
}
|
|
856
857
|
}
|
|
857
858
|
VXETable.modal.message({ content: GlobalConfig.i18n('vxe.error.notType', [type]), status: 'error' })
|
|
@@ -889,7 +890,7 @@ function handleFileImport ($xetable, file, opts) {
|
|
|
889
890
|
$xetable.preventEvent(null, 'event.import', { file, options, columns: $xetable.tableFullColumn }, () => {
|
|
890
891
|
const reader = new FileReader()
|
|
891
892
|
reader.onerror = () => {
|
|
892
|
-
|
|
893
|
+
errLog('vxe.error.notType', [type])
|
|
893
894
|
_importReject({ status: false })
|
|
894
895
|
}
|
|
895
896
|
reader.onload = (e) => {
|
|
@@ -901,7 +902,7 @@ function handleFileImport ($xetable, file, opts) {
|
|
|
901
902
|
} else {
|
|
902
903
|
// 不支持的浏览器
|
|
903
904
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
904
|
-
|
|
905
|
+
errLog('vxe.error.notExp')
|
|
905
906
|
}
|
|
906
907
|
_importResolve({ status: true })
|
|
907
908
|
}
|
|
@@ -959,7 +960,7 @@ export function readLocalFile (options = {}) {
|
|
|
959
960
|
// 检测弹窗模块
|
|
960
961
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
961
962
|
if (!VXETable.modal) {
|
|
962
|
-
|
|
963
|
+
errLog('vxe.error.reqModule', ['Modal'])
|
|
963
964
|
}
|
|
964
965
|
}
|
|
965
966
|
VXETable.modal.message({ content: GlobalConfig.i18n('vxe.error.notType', [errType]), status: 'error' })
|
|
@@ -1053,7 +1054,7 @@ function handleExportAndPrint ($xetable, options, isPrint) {
|
|
|
1053
1054
|
const isColGroup = column.children && column.children.length
|
|
1054
1055
|
if (isColGroup || defaultFilterExportColumn(column)) {
|
|
1055
1056
|
column.checked = columns ? columns.some((item) => {
|
|
1056
|
-
if (
|
|
1057
|
+
if (isColumnInfo(item)) {
|
|
1057
1058
|
return column === item
|
|
1058
1059
|
} else if (XEUtils.isString(item)) {
|
|
1059
1060
|
return column.field === item
|
|
@@ -1209,7 +1210,7 @@ export default {
|
|
|
1209
1210
|
XEUtils.mapTree(customCols, item => {
|
|
1210
1211
|
let targetColumn
|
|
1211
1212
|
if (item) {
|
|
1212
|
-
if (
|
|
1213
|
+
if (isColumnInfo(item)) {
|
|
1213
1214
|
targetColumn = item
|
|
1214
1215
|
} else if (XEUtils.isString(item)) {
|
|
1215
1216
|
targetColumn = this.getColumnByField(item)
|
|
@@ -1233,7 +1234,7 @@ export default {
|
|
|
1233
1234
|
children: 'childNodes',
|
|
1234
1235
|
mapChildren: '_children'
|
|
1235
1236
|
}),
|
|
1236
|
-
(column, index) =>
|
|
1237
|
+
(column, index) => isColumnInfo(column) && (!columnFilterMethod || columnFilterMethod({ column, $columnIndex: index })),
|
|
1237
1238
|
{
|
|
1238
1239
|
children: '_children',
|
|
1239
1240
|
mapChildren: 'childNodes',
|
|
@@ -1264,7 +1265,7 @@ export default {
|
|
|
1264
1265
|
// 检查类型,如果为自定义导出,则不需要校验类型
|
|
1265
1266
|
if (!opts.exportMethod && !XEUtils.includes(VXETable.config.exportTypes, type)) {
|
|
1266
1267
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
1267
|
-
|
|
1268
|
+
errLog('vxe.error.notType', [type])
|
|
1268
1269
|
}
|
|
1269
1270
|
const params = { status: false }
|
|
1270
1271
|
return Promise.reject(params)
|
|
@@ -1288,7 +1289,7 @@ export default {
|
|
|
1288
1289
|
} else if (mode === 'all') {
|
|
1289
1290
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
1290
1291
|
if (!$xegrid) {
|
|
1291
|
-
|
|
1292
|
+
warnLog('vxe.error.errProp', ['all', 'mode=current,selected'])
|
|
1292
1293
|
}
|
|
1293
1294
|
}
|
|
1294
1295
|
|
|
@@ -1298,7 +1299,7 @@ export default {
|
|
|
1298
1299
|
|
|
1299
1300
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
1300
1301
|
if (!ajaxMethods) {
|
|
1301
|
-
|
|
1302
|
+
warnLog('vxe.error.notFunc', ['proxy-config.ajax.queryAll'])
|
|
1302
1303
|
}
|
|
1303
1304
|
}
|
|
1304
1305
|
|
|
@@ -1397,7 +1398,7 @@ export default {
|
|
|
1397
1398
|
return
|
|
1398
1399
|
}
|
|
1399
1400
|
if (!this.importConfig) {
|
|
1400
|
-
|
|
1401
|
+
errLog('vxe.error.reqProp', ['import-config'])
|
|
1401
1402
|
}
|
|
1402
1403
|
// 处理类型
|
|
1403
1404
|
const typeList = types.map(value => {
|
|
@@ -1427,7 +1428,7 @@ export default {
|
|
|
1427
1428
|
const { exportOpts } = this
|
|
1428
1429
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
1429
1430
|
if (!this.exportConfig) {
|
|
1430
|
-
|
|
1431
|
+
errLog('vxe.error.reqProp', ['export-config'])
|
|
1431
1432
|
}
|
|
1432
1433
|
}
|
|
1433
1434
|
return handleExportAndPrint(this, Object.assign({}, exportOpts, options))
|
|
@@ -1436,7 +1437,7 @@ export default {
|
|
|
1436
1437
|
const { printOpts } = this
|
|
1437
1438
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
1438
1439
|
if (!this.printConfig) {
|
|
1439
|
-
|
|
1440
|
+
errLog('vxe.error.reqProp', ['print-config'])
|
|
1440
1441
|
}
|
|
1441
1442
|
}
|
|
1442
1443
|
return handleExportAndPrint(this, Object.assign({}, printOpts, options), true)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import XEUtils from 'xe-utils'
|
|
2
|
-
import
|
|
3
|
-
import { handleFieldOrColumn } from '../../table/src/util'
|
|
2
|
+
import DomTools from '../../tools/dom'
|
|
3
|
+
import { toFilters, handleFieldOrColumn } from '../../table/src/util'
|
|
4
4
|
import VXETable from '../../v-x-e-table'
|
|
5
5
|
|
|
6
6
|
export default {
|
|
@@ -32,7 +32,7 @@ export default {
|
|
|
32
32
|
_setFilter (fieldOrColumn, options) {
|
|
33
33
|
const column = handleFieldOrColumn(this, fieldOrColumn)
|
|
34
34
|
if (column && column.filters && options) {
|
|
35
|
-
column.filters =
|
|
35
|
+
column.filters = toFilters(options)
|
|
36
36
|
}
|
|
37
37
|
return this.$nextTick()
|
|
38
38
|
},
|
|
@@ -159,7 +159,7 @@ export default {
|
|
|
159
159
|
* @param {Event} evnt 事件
|
|
160
160
|
*/
|
|
161
161
|
confirmFilterEvent (evnt) {
|
|
162
|
-
const { filterStore, filterOpts, scrollXLoad, scrollYLoad } = this
|
|
162
|
+
const { filterStore, filterOpts, scrollXLoad: oldScrollXLoad, scrollYLoad: oldScrollYLoad } = this
|
|
163
163
|
const { column } = filterStore
|
|
164
164
|
const { property } = column
|
|
165
165
|
const values = []
|
|
@@ -175,22 +175,26 @@ export default {
|
|
|
175
175
|
if (!filterOpts.remote) {
|
|
176
176
|
this.handleTableData(true)
|
|
177
177
|
this.checkSelectionStatus()
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
178
|
+
}
|
|
179
|
+
this.emitEvent('filter-change', { column, property, values, datas, filters: filterList, filterList }, evnt)
|
|
180
|
+
this.closeFilter()
|
|
181
|
+
this.updateFooter().then(() => {
|
|
182
|
+
const { scrollXLoad, scrollYLoad } = this
|
|
183
|
+
if ((oldScrollXLoad || scrollXLoad) || (oldScrollYLoad || scrollYLoad)) {
|
|
184
|
+
if ((oldScrollXLoad || scrollXLoad)) {
|
|
181
185
|
this.updateScrollXSpace()
|
|
182
186
|
}
|
|
183
|
-
if (scrollYLoad) {
|
|
187
|
+
if ((oldScrollYLoad || scrollYLoad)) {
|
|
184
188
|
this.updateScrollYSpace()
|
|
185
189
|
}
|
|
186
|
-
this.refreshScroll()
|
|
190
|
+
return this.refreshScroll()
|
|
187
191
|
}
|
|
188
|
-
}
|
|
189
|
-
this.emitEvent('filter-change', { column, property, values, datas, filters: filterList, filterList }, evnt)
|
|
190
|
-
this.closeFilter()
|
|
191
|
-
this.$nextTick(() => {
|
|
192
|
-
this.recalculate()
|
|
192
|
+
}).then(() => {
|
|
193
193
|
this.updateCellAreas()
|
|
194
|
+
return this.recalculate(true)
|
|
195
|
+
}).then(() => {
|
|
196
|
+
// 存在滚动行为未结束情况
|
|
197
|
+
setTimeout(() => this.recalculate(), 50)
|
|
194
198
|
})
|
|
195
199
|
},
|
|
196
200
|
handleClearFilter (column) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import XEUtils from 'xe-utils'
|
|
2
|
-
import
|
|
2
|
+
import UtilTools from '../../tools/utils'
|
|
3
|
+
import DomTools from '../../tools/dom'
|
|
3
4
|
|
|
4
5
|
const cellType = 'footer'
|
|
5
6
|
|
|
@@ -61,6 +62,7 @@ export default {
|
|
|
61
62
|
align: allAlign,
|
|
62
63
|
scrollXLoad,
|
|
63
64
|
columnKey,
|
|
65
|
+
columnOpts,
|
|
64
66
|
showFooterOverflow: allColumnFooterOverflow,
|
|
65
67
|
currentColumn,
|
|
66
68
|
overflowX,
|
|
@@ -227,7 +229,7 @@ export default {
|
|
|
227
229
|
attrs,
|
|
228
230
|
style: footerCellStyle ? (XEUtils.isFunction(footerCellStyle) ? footerCellStyle(params) : footerCellStyle) : null,
|
|
229
231
|
on: tfOns,
|
|
230
|
-
key: columnKey ? column.id : $columnIndex
|
|
232
|
+
key: columnKey || columnOpts.useKey ? column.id : $columnIndex
|
|
231
233
|
}, [
|
|
232
234
|
h('div', {
|
|
233
235
|
class: ['vxe-cell', {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import VxeFormItem from './form-item'
|
|
2
|
-
import {
|
|
2
|
+
import { errLog } from '../../tools/log'
|
|
3
3
|
|
|
4
4
|
export default {
|
|
5
5
|
name: 'VxeFormGather',
|
|
@@ -13,7 +13,7 @@ export default {
|
|
|
13
13
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
14
14
|
this.$nextTick(() => {
|
|
15
15
|
if (this.$xeform && this.$xeform.customLayout) {
|
|
16
|
-
|
|
16
|
+
errLog('vxe.error.errConflicts', ['custom-layout', '<form-gather ...>'])
|
|
17
17
|
}
|
|
18
18
|
})
|
|
19
19
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import XEUtils from 'xe-utils'
|
|
2
2
|
import GlobalConfig from '../../v-x-e-table/src/conf'
|
|
3
3
|
import VXETable from '../../v-x-e-table'
|
|
4
|
-
import {
|
|
4
|
+
import { isEnableConf, getFuncText } from '../../tools/utils'
|
|
5
5
|
import { createItem, destroyItem, assemItem } from './util'
|
|
6
6
|
import { renderTitle } from './render'
|
|
7
7
|
|
|
@@ -93,7 +93,7 @@ const renderItem = (h, _vm, item, slots) => {
|
|
|
93
93
|
width: isNaN(titleWidth) ? titleWidth : `${titleWidth}px`
|
|
94
94
|
} : null,
|
|
95
95
|
attrs: {
|
|
96
|
-
title: showTitle ?
|
|
96
|
+
title: showTitle ? getFuncText(title) : null
|
|
97
97
|
},
|
|
98
98
|
on: ons
|
|
99
99
|
}, renderTitle(h, _vm, item)) : null,
|
|
@@ -137,6 +137,11 @@ export default {
|
|
|
137
137
|
default: null
|
|
138
138
|
}
|
|
139
139
|
},
|
|
140
|
+
data () {
|
|
141
|
+
return {
|
|
142
|
+
itemConfig: null
|
|
143
|
+
}
|
|
144
|
+
},
|
|
140
145
|
watch,
|
|
141
146
|
mounted () {
|
|
142
147
|
assemItem(this)
|