vxe-table 3.6.14-beta.0 → 3.6.14-beta.2
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 +1 -1
- package/lib/edit/src/mixin.js +23 -31
- package/lib/edit/src/mixin.min.js +1 -1
- package/lib/form/src/form-config-item.js +7 -2
- package/lib/form/src/form-config-item.min.js +1 -1
- package/lib/form/src/form-item.js +7 -2
- package/lib/form/src/form-item.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.umd.js +114 -91
- package/lib/index.umd.min.js +1 -1
- package/lib/select/src/select.js +8 -2
- package/lib/select/src/select.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/body.js +5 -5
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/methods.js +68 -46
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +3 -1
- package/lib/table/src/table.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/package.json +1 -1
- package/packages/edit/src/mixin.js +18 -22
- package/packages/form/src/form-config-item.js +7 -2
- package/packages/form/src/form-item.js +7 -2
- package/packages/select/src/select.js +4 -2
- package/packages/table/src/body.js +5 -5
- package/packages/table/src/methods.js +66 -35
- package/packages/table/src/table.js +3 -1
- package/types/table.d.ts +6 -0
- package/types/v-x-e-table/renderer.d.ts +11 -7
- /package/lib/icon/style/{iconfont.1682555826742.ttf → iconfont.1684560851897.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1682555826742.woff → iconfont.1684560851897.woff} +0 -0
- /package/lib/icon/style/{iconfont.1682555826742.woff2 → iconfont.1684560851897.woff2} +0 -0
- /package/lib/{iconfont.1682555826742.ttf → iconfont.1684560851897.ttf} +0 -0
- /package/lib/{iconfont.1682555826742.woff → iconfont.1684560851897.woff} +0 -0
- /package/lib/{iconfont.1682555826742.woff2 → iconfont.1684560851897.woff2} +0 -0
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,o){return"[vxe-table v".concat("3.6.14-beta.
|
|
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,o){return"[vxe-table v".concat("3.6.14-beta.2","] ",_conf.default.i18n(e,o))}function outLog(r){return function(e,o){e=getLog(e,o);return console[r](e),e}}var warnLog=outLog("warn"),errLog=(exports.warnLog=warnLog,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,config:!0,t:!0,_t:!0,v:!0,VXETable:!0},_xeUtils=(exports.VXETable=void 0,exports._t=_t,exports.default=exports.config=void 0,exports.t=t,exports.use=use,exports.v=void 0,_interopRequireDefault(require("xe-utils"))),_conf=_interopRequireDefault(require("../v-x-e-table/src/conf")),_interceptor=require("./src/interceptor"),_renderer=(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]}})}),require("./src/renderer")),_commands=(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]}})}),require("./src/commands")),_menus=(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]}})}),require("./src/menus")),_formats=(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]}})}),require("./src/formats")),_setup=(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]}})}),require("./src/setup")),_utils=(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]}})}),require("../tools/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 o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}var installedPlugins=[];function use(e,t){return e&&e.install&&-1===installedPlugins.indexOf(e)&&(e.install(VXETable,t),installedPlugins.push(e)),VXETable}function reg(e){"development"===process.env.NODE_ENV&&VXETable.Table&&(0,_log.errLog)("vxe.error.useErr",[e]),VXETable["_".concat(e)]=1}function getExportOrImpotType(e,r){var o=[];return _xeUtils.default.objectEach(e,function(e,t){0!==e&&e!==r||o.push(t)}),o}var VXETableConfig=function(){function e(){_classCallCheck(this,e)}return _createClass(e,[{key:"zIndex",get:function(){return _utils.UtilTools.getLastZIndex()}},{key:"nextZIndex",get:function(){return _utils.UtilTools.nextZIndex()}},{key:"exportTypes",get:function(){return getExportOrImpotType(_conf.default.export.types,1)}},{key:"importTypes",get:function(){return getExportOrImpotType(_conf.default.export.types,2)}}]),e}(),config=new VXETableConfig;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):""}exports.config=config;var v="v3",VXETable={v:exports.v=v,version:"3.6.14-beta.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={use:!0,config:!0,t:!0,_t:!0,v:!0,VXETable:!0},_xeUtils=(exports.VXETable=void 0,exports._t=_t,exports.default=exports.config=void 0,exports.t=t,exports.use=use,exports.v=void 0,_interopRequireDefault(require("xe-utils"))),_conf=_interopRequireDefault(require("../v-x-e-table/src/conf")),_interceptor=require("./src/interceptor"),_renderer=(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]}})}),require("./src/renderer")),_commands=(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]}})}),require("./src/commands")),_menus=(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]}})}),require("./src/menus")),_formats=(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]}})}),require("./src/formats")),_setup=(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]}})}),require("./src/setup")),_utils=(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]}})}),require("../tools/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 o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}var installedPlugins=[];function use(e,t){return e&&e.install&&-1===installedPlugins.indexOf(e)&&(e.install(VXETable,t),installedPlugins.push(e)),VXETable}function reg(e){"development"===process.env.NODE_ENV&&VXETable.Table&&(0,_log.errLog)("vxe.error.useErr",[e]),VXETable["_".concat(e)]=1}function getExportOrImpotType(e,r){var o=[];return _xeUtils.default.objectEach(e,function(e,t){0!==e&&e!==r||o.push(t)}),o}var VXETableConfig=function(){function e(){_classCallCheck(this,e)}return _createClass(e,[{key:"zIndex",get:function(){return _utils.UtilTools.getLastZIndex()}},{key:"nextZIndex",get:function(){return _utils.UtilTools.nextZIndex()}},{key:"exportTypes",get:function(){return getExportOrImpotType(_conf.default.export.types,1)}},{key:"importTypes",get:function(){return getExportOrImpotType(_conf.default.export.types,2)}}]),e}(),config=new VXETableConfig;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):""}exports.config=config;var v="v3",VXETable={v:exports.v=v,version:"3.6.14-beta.2",reg:reg,use:use,setup:_setup.setup,interceptor:_interceptor.interceptor,renderer:_renderer.renderer,commands:_commands.commands,formats:_formats.formats,menus:_menus.menus,config:config,t:t,_t:_t},_default=exports.VXETable=VXETable;exports.default=_default;
|
package/package.json
CHANGED
|
@@ -64,7 +64,7 @@ export default {
|
|
|
64
64
|
if (!XEUtils.isArray(records)) {
|
|
65
65
|
records = [records]
|
|
66
66
|
}
|
|
67
|
-
const newRecords = records.map(record =>
|
|
67
|
+
const newRecords = this.defineField(records.map(record => Object.assign({}, record)))
|
|
68
68
|
if (!row) {
|
|
69
69
|
// 如果为虚拟树
|
|
70
70
|
if (treeConfig && transform) {
|
|
@@ -158,13 +158,19 @@ export default {
|
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
|
-
editStore
|
|
161
|
+
const { insertList, insertMaps } = editStore
|
|
162
|
+
newRecords.forEach(newRow => {
|
|
163
|
+
const rowid = getRowid(this, newRow)
|
|
164
|
+
insertMaps[rowid] = newRow
|
|
165
|
+
})
|
|
166
|
+
insertList.unshift(...newRecords)
|
|
167
|
+
this.cacheRowMap()
|
|
168
|
+
this.updateScrollYStatus()
|
|
162
169
|
this.handleTableData(treeConfig && transform)
|
|
163
170
|
if (!(treeConfig && transform)) {
|
|
164
171
|
this.updateAfterDataIndex()
|
|
165
172
|
}
|
|
166
173
|
this.updateFooter()
|
|
167
|
-
this.cacheRowMap()
|
|
168
174
|
this.checkSelectionStatus()
|
|
169
175
|
if (this.scrollYLoad) {
|
|
170
176
|
this.updateScrollYSpace()
|
|
@@ -188,7 +194,7 @@ export default {
|
|
|
188
194
|
_remove (rows) {
|
|
189
195
|
const { afterFullData, tableFullData, tableFullTreeData, treeConfig, mergeList, editStore, checkboxOpts, selection, isInsertByRow, treeOpts } = this
|
|
190
196
|
const { transform } = treeOpts
|
|
191
|
-
const { actived, removeList, insertList } = editStore
|
|
197
|
+
const { actived, removeList, insertList, insertMaps } = editStore
|
|
192
198
|
const { checkField } = checkboxOpts
|
|
193
199
|
let rest = []
|
|
194
200
|
if (!rows) {
|
|
@@ -261,10 +267,12 @@ export default {
|
|
|
261
267
|
}
|
|
262
268
|
// 从新增中移除已删除的数据
|
|
263
269
|
rows.forEach(row => {
|
|
270
|
+
const rowid = getRowid(this, row)
|
|
264
271
|
const iIndex = this.findRowIndexOf(insertList, row)
|
|
265
272
|
if (iIndex > -1) {
|
|
266
273
|
insertList.splice(iIndex, 1)
|
|
267
274
|
}
|
|
275
|
+
delete insertMaps[rowid]
|
|
268
276
|
})
|
|
269
277
|
this.handleTableData(treeConfig && transform)
|
|
270
278
|
if (!(treeConfig && transform)) {
|
|
@@ -326,27 +334,15 @@ export default {
|
|
|
326
334
|
* 获取新增的临时数据
|
|
327
335
|
*/
|
|
328
336
|
_getInsertRecords () {
|
|
329
|
-
const {
|
|
337
|
+
const { fullAllDataRowIdData } = this
|
|
330
338
|
const insertList = this.editStore.insertList
|
|
331
339
|
const insertRecords = []
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
if (
|
|
335
|
-
|
|
336
|
-
const rowid = getRowid(this, row)
|
|
337
|
-
const matchObj = XEUtils.findTree(tableFullTreeData, item => rowid === getRowid(this, item), treeOpts)
|
|
338
|
-
if (matchObj) {
|
|
339
|
-
insertRecords.push(row)
|
|
340
|
-
}
|
|
341
|
-
})
|
|
342
|
-
} else {
|
|
343
|
-
insertList.forEach(row => {
|
|
344
|
-
if (tableFullData.indexOf(row) > -1) {
|
|
345
|
-
insertRecords.push(row)
|
|
346
|
-
}
|
|
347
|
-
})
|
|
340
|
+
insertList.forEach(row => {
|
|
341
|
+
const rowid = getRowid(this, row)
|
|
342
|
+
if (fullAllDataRowIdData[rowid]) {
|
|
343
|
+
insertRecords.push(row)
|
|
348
344
|
}
|
|
349
|
-
}
|
|
345
|
+
})
|
|
350
346
|
return insertRecords
|
|
351
347
|
},
|
|
352
348
|
/**
|
|
@@ -31,6 +31,9 @@ const VxeFormConfigItem = {
|
|
|
31
31
|
const { slots, title, folding, visible, field, collapseNode, itemRender, showError, errRule, className, titleOverflow, children } = item
|
|
32
32
|
const compConf = isEnableConf(itemRender) ? VXETable.renderer.get(itemRender.name) : null
|
|
33
33
|
const itemClassName = compConf ? compConf.itemClassName : ''
|
|
34
|
+
const itemStyle = compConf ? compConf.itemStyle : null
|
|
35
|
+
const itemContentClassName = compConf ? compConf.itemContentClassName : ''
|
|
36
|
+
const itemContentStyle = compConf ? compConf.itemContentStyle : null
|
|
34
37
|
const span = item.span || $xeform.span
|
|
35
38
|
const align = item.align || $xeform.align
|
|
36
39
|
const titleAlign = XEUtils.eqNull(item.titleAlign) ? allTitleAlign : item.titleAlign
|
|
@@ -100,7 +103,8 @@ const VxeFormConfigItem = {
|
|
|
100
103
|
'is--active': isActivetem($xeform, item),
|
|
101
104
|
'is--error': showError
|
|
102
105
|
}
|
|
103
|
-
]
|
|
106
|
+
],
|
|
107
|
+
style: XEUtils.isFunction(itemStyle) ? itemStyle(params) : itemStyle
|
|
104
108
|
}, [
|
|
105
109
|
h('div', {
|
|
106
110
|
class: 'vxe-form--item-inner'
|
|
@@ -118,7 +122,8 @@ const VxeFormConfigItem = {
|
|
|
118
122
|
on: ons
|
|
119
123
|
}, renderTitle(h, $xeform, item)) : null,
|
|
120
124
|
h('div', {
|
|
121
|
-
class: ['vxe-form--item-content', align ? `align--${align}` :
|
|
125
|
+
class: ['vxe-form--item-content', align ? `align--${align}` : '', itemContentClassName ? (XEUtils.isFunction(itemContentClassName) ? itemContentClassName(params) : itemContentClassName) : ''],
|
|
126
|
+
style: XEUtils.isFunction(itemContentStyle) ? itemContentStyle(params) : itemContentStyle
|
|
122
127
|
}, contentVNs.concat(
|
|
123
128
|
[
|
|
124
129
|
collapseNode ? h('div', {
|
|
@@ -55,6 +55,9 @@ const renderItem = (h, _vm, item, slots) => {
|
|
|
55
55
|
const { title, folding, visible, field, collapseNode, itemRender, showError, errRule, className, titleOverflow } = item
|
|
56
56
|
const compConf = isEnableConf(itemRender) ? VXETable.renderer.get(itemRender.name) : null
|
|
57
57
|
const itemClassName = compConf ? compConf.itemClassName : ''
|
|
58
|
+
const itemStyle = compConf ? compConf.itemStyle : null
|
|
59
|
+
const itemContentClassName = compConf ? compConf.itemContentClassName : ''
|
|
60
|
+
const itemContentStyle = compConf ? compConf.itemContentStyle : null
|
|
58
61
|
const span = item.span || _vm.span
|
|
59
62
|
const align = item.align || _vm.align
|
|
60
63
|
const titleAlign = XEUtils.eqNull(item.titleAlign) ? allTitleAlign : item.titleAlign
|
|
@@ -109,7 +112,8 @@ const renderItem = (h, _vm, item, slots) => {
|
|
|
109
112
|
'is--active': isActivetem(_vm, item),
|
|
110
113
|
'is--error': showError
|
|
111
114
|
}
|
|
112
|
-
]
|
|
115
|
+
],
|
|
116
|
+
style: XEUtils.isFunction(itemStyle) ? itemStyle(params) : itemStyle
|
|
113
117
|
}, [
|
|
114
118
|
h('div', {
|
|
115
119
|
class: 'vxe-form--item-inner'
|
|
@@ -127,7 +131,8 @@ const renderItem = (h, _vm, item, slots) => {
|
|
|
127
131
|
on: ons
|
|
128
132
|
}, renderTitle(h, _vm, item)) : null,
|
|
129
133
|
h('div', {
|
|
130
|
-
class: ['vxe-form--item-content', align ? `align--${align}` :
|
|
134
|
+
class: ['vxe-form--item-content', align ? `align--${align}` : '', itemContentClassName ? (XEUtils.isFunction(itemContentClassName) ? itemContentClassName(params) : itemContentClassName) : ''],
|
|
135
|
+
style: XEUtils.isFunction(itemContentStyle) ? itemContentStyle(params) : itemContentStyle
|
|
131
136
|
}, contentVNs.concat(
|
|
132
137
|
[
|
|
133
138
|
collapseNode ? h('div', {
|
|
@@ -706,13 +706,15 @@ export default {
|
|
|
706
706
|
})
|
|
707
707
|
}
|
|
708
708
|
},
|
|
709
|
-
focusEvent () {
|
|
709
|
+
focusEvent (evnt) {
|
|
710
710
|
if (!this.disabled) {
|
|
711
711
|
this.isActivated = true
|
|
712
712
|
}
|
|
713
|
+
this.$emit('focus', { $event: evnt })
|
|
713
714
|
},
|
|
714
|
-
blurEvent () {
|
|
715
|
+
blurEvent (evnt) {
|
|
715
716
|
this.isActivated = false
|
|
717
|
+
this.$emit('blur', { $event: evnt })
|
|
716
718
|
},
|
|
717
719
|
modelSearchEvent (value) {
|
|
718
720
|
this.searchValue = value
|
|
@@ -93,7 +93,8 @@ function renderColumn (h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, r
|
|
|
93
93
|
const { height: rowHeight } = rowOpts
|
|
94
94
|
const renderOpts = editRender || cellRender
|
|
95
95
|
const compConf = renderOpts ? VXETable.renderer.get(renderOpts.name) : null
|
|
96
|
-
const
|
|
96
|
+
const compCellClassName = compConf ? compConf.cellClassName : ''
|
|
97
|
+
const compCellStyle = compConf ? compConf.cellStyle : ''
|
|
97
98
|
const showAllTip = tooltipOpts.showAll || tooltipOpts.enabled
|
|
98
99
|
const columnIndex = $xetable.getColumnIndex(column)
|
|
99
100
|
const _columnIndex = $xetable.getVTColumnIndex(column)
|
|
@@ -275,7 +276,7 @@ function renderColumn (h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, r
|
|
|
275
276
|
'col--valid-error': hasValidError,
|
|
276
277
|
'col--current': currentColumn === column
|
|
277
278
|
},
|
|
278
|
-
UtilTools.getClass(
|
|
279
|
+
UtilTools.getClass(compCellClassName, params),
|
|
279
280
|
UtilTools.getClass(className, params),
|
|
280
281
|
UtilTools.getClass(allCellClassName, params)
|
|
281
282
|
],
|
|
@@ -283,7 +284,7 @@ function renderColumn (h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, r
|
|
|
283
284
|
attrs,
|
|
284
285
|
style: Object.assign({
|
|
285
286
|
height: hasEllipsis && (scrollYRHeight || rowHeight) ? `${scrollYRHeight || rowHeight}px` : ''
|
|
286
|
-
},
|
|
287
|
+
}, XEUtils.isFunction(compCellStyle) ? compCellStyle(params) : compCellStyle, XEUtils.isFunction(cellStyle) ? cellStyle(params) : cellStyle),
|
|
287
288
|
on: tdOns
|
|
288
289
|
}, tdVNs)
|
|
289
290
|
}
|
|
@@ -303,7 +304,6 @@ function renderRows (h, _vm, $xetable, fixedType, tableData, tableColumn) {
|
|
|
303
304
|
editOpts,
|
|
304
305
|
treeExpandeds,
|
|
305
306
|
scrollYLoad,
|
|
306
|
-
editStore,
|
|
307
307
|
rowExpandeds,
|
|
308
308
|
radioOpts,
|
|
309
309
|
checkboxOpts,
|
|
@@ -347,7 +347,7 @@ function renderRows (h, _vm, $xetable, fixedType, tableData, tableColumn) {
|
|
|
347
347
|
// 是否新增行
|
|
348
348
|
let isNewRow = false
|
|
349
349
|
if (editConfig) {
|
|
350
|
-
isNewRow =
|
|
350
|
+
isNewRow = $xetable.isInsertByRow(row)
|
|
351
351
|
}
|
|
352
352
|
if (treeConfig && !scrollYLoad && !treeOpts.transform && treeExpandeds.length) {
|
|
353
353
|
rowChildren = row[treeOpts.children]
|
|
@@ -343,8 +343,9 @@ const Methods = {
|
|
|
343
343
|
updateScrollYStatus (fullData) {
|
|
344
344
|
const { treeConfig, treeOpts, sYOpts } = this
|
|
345
345
|
const { transform } = treeOpts
|
|
346
|
+
const allList = fullData || this.tableFullData
|
|
346
347
|
// 如果gt为0,则总是启用
|
|
347
|
-
const scrollYLoad = (transform || !treeConfig) && !!sYOpts.enabled && sYOpts.gt > -1 && (sYOpts.gt === 0 || sYOpts.gt <=
|
|
348
|
+
const scrollYLoad = (transform || !treeConfig) && !!sYOpts.enabled && sYOpts.gt > -1 && (sYOpts.gt === 0 || sYOpts.gt <= allList.length)
|
|
348
349
|
this.scrollYLoad = scrollYLoad
|
|
349
350
|
return scrollYLoad
|
|
350
351
|
},
|
|
@@ -397,7 +398,9 @@ const Methods = {
|
|
|
397
398
|
scrollXStore.startIndex = 0
|
|
398
399
|
scrollXStore.endIndex = 1
|
|
399
400
|
editStore.insertList = []
|
|
401
|
+
editStore.insertMaps = {}
|
|
400
402
|
editStore.removeList = []
|
|
403
|
+
editStore.removeMaps = {}
|
|
401
404
|
const sYLoad = this.updateScrollYStatus(fullData)
|
|
402
405
|
this.scrollYLoad = sYLoad
|
|
403
406
|
// 全量数据
|
|
@@ -654,7 +657,7 @@ const Methods = {
|
|
|
654
657
|
* 牺牲数据组装的耗时,用来换取使用过程中的流畅
|
|
655
658
|
*/
|
|
656
659
|
cacheColumnMap () {
|
|
657
|
-
const { tableFullColumn, collectColumn, fullColumnMap, showOverflow } = this
|
|
660
|
+
const { tableFullColumn, collectColumn, fullColumnMap, showOverflow, columnOpts, rowOpts } = this
|
|
658
661
|
const fullColumnIdData = this.fullColumnIdData = {}
|
|
659
662
|
const fullColumnFieldData = this.fullColumnFieldData = {}
|
|
660
663
|
const isGroup = collectColumn.some(hasChildrenList)
|
|
@@ -663,6 +666,7 @@ const Methods = {
|
|
|
663
666
|
let treeNodeColumn
|
|
664
667
|
let checkboxColumn
|
|
665
668
|
let radioColumn
|
|
669
|
+
let htmlColumn
|
|
666
670
|
let hasFixed
|
|
667
671
|
const handleFunc = (column, index, items, path, parent) => {
|
|
668
672
|
const { id: colid, field, fixed, type, treeNode } = column
|
|
@@ -675,9 +679,14 @@ const Methods = {
|
|
|
675
679
|
}
|
|
676
680
|
fullColumnFieldData[field] = rest
|
|
677
681
|
}
|
|
682
|
+
|
|
678
683
|
if (!hasFixed && fixed) {
|
|
679
684
|
hasFixed = fixed
|
|
680
685
|
}
|
|
686
|
+
if (!htmlColumn && type === 'html') {
|
|
687
|
+
htmlColumn = column
|
|
688
|
+
}
|
|
689
|
+
|
|
681
690
|
if (treeNode) {
|
|
682
691
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
683
692
|
if (treeNodeColumn) {
|
|
@@ -725,6 +734,18 @@ const Methods = {
|
|
|
725
734
|
warnLog('vxe.error.errConflicts', [`table.show-footer-overflow=${this.showFooterOverflow}`, `column.show-footer-overflow=${column.showFooterOverflow}`])
|
|
726
735
|
}
|
|
727
736
|
}
|
|
737
|
+
|
|
738
|
+
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
739
|
+
if (htmlColumn) {
|
|
740
|
+
if (!columnOpts.useKey) {
|
|
741
|
+
errLog('vxe.error.reqProp', ['column-config.useKey', 'column.type=html'])
|
|
742
|
+
}
|
|
743
|
+
if (!rowOpts.useKey) {
|
|
744
|
+
errLog('vxe.error.reqProp', ['row-config.useKey', 'column.type=html'])
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
}
|
|
748
|
+
|
|
728
749
|
if (isAllOverflow && column.showOverflow === false) {
|
|
729
750
|
isAllOverflow = false
|
|
730
751
|
}
|
|
@@ -879,40 +900,45 @@ const Methods = {
|
|
|
879
900
|
},
|
|
880
901
|
/**
|
|
881
902
|
* 定义行数据中的列属性,如果不存在则定义
|
|
882
|
-
* @param {Row}
|
|
903
|
+
* @param {Row} records 行数据
|
|
883
904
|
*/
|
|
884
|
-
defineField (
|
|
905
|
+
defineField (records) {
|
|
885
906
|
const { radioOpts, checkboxOpts, treeConfig, treeOpts, expandOpts } = this
|
|
886
907
|
const rowkey = getRowkey(this)
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
908
|
+
if (!XEUtils.isArray(records)) {
|
|
909
|
+
records = [records || {}]
|
|
910
|
+
}
|
|
911
|
+
return records.map(record => {
|
|
912
|
+
this.tableFullColumn.forEach(column => {
|
|
913
|
+
const { field, editRender } = column
|
|
914
|
+
if (field && !XEUtils.has(record, field)) {
|
|
915
|
+
let cellValue = null
|
|
916
|
+
if (editRender) {
|
|
917
|
+
const { defaultValue } = editRender
|
|
918
|
+
if (XEUtils.isFunction(defaultValue)) {
|
|
919
|
+
cellValue = defaultValue({ column })
|
|
920
|
+
} else if (!XEUtils.isUndefined(defaultValue)) {
|
|
921
|
+
cellValue = defaultValue
|
|
922
|
+
}
|
|
897
923
|
}
|
|
924
|
+
XEUtils.set(record, field, cellValue)
|
|
898
925
|
}
|
|
899
|
-
|
|
926
|
+
})
|
|
927
|
+
const otherFields = [radioOpts.labelField, checkboxOpts.checkField, checkboxOpts.labelField, expandOpts.labelField]
|
|
928
|
+
otherFields.forEach((key) => {
|
|
929
|
+
if (key && eqEmptyValue(XEUtils.get(record, key))) {
|
|
930
|
+
XEUtils.set(record, key, null)
|
|
931
|
+
}
|
|
932
|
+
})
|
|
933
|
+
if (treeConfig && treeOpts.lazy && XEUtils.isUndefined(record[treeOpts.children])) {
|
|
934
|
+
record[treeOpts.children] = null
|
|
900
935
|
}
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
if (key && eqEmptyValue(XEUtils.get(record, key))) {
|
|
905
|
-
XEUtils.set(record, key, null)
|
|
936
|
+
// 必须有行数据的唯一主键,可以自行设置;也可以默认生成一个随机数
|
|
937
|
+
if (eqEmptyValue(XEUtils.get(record, rowkey))) {
|
|
938
|
+
XEUtils.set(record, rowkey, getRowUniqueId())
|
|
906
939
|
}
|
|
940
|
+
return record
|
|
907
941
|
})
|
|
908
|
-
if (treeConfig && treeOpts.lazy && XEUtils.isUndefined(record[treeOpts.children])) {
|
|
909
|
-
record[treeOpts.children] = null
|
|
910
|
-
}
|
|
911
|
-
// 必须有行数据的唯一主键,可以自行设置;也可以默认生成一个随机数
|
|
912
|
-
if (eqEmptyValue(XEUtils.get(record, rowkey))) {
|
|
913
|
-
XEUtils.set(record, rowkey, getRowUniqueId())
|
|
914
|
-
}
|
|
915
|
-
return record
|
|
916
942
|
},
|
|
917
943
|
/**
|
|
918
944
|
* 创建 data 对象
|
|
@@ -920,10 +946,9 @@ const Methods = {
|
|
|
920
946
|
* @param {Array} records 新数据
|
|
921
947
|
*/
|
|
922
948
|
createData (records) {
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
return this.$nextTick().then(() => rows)
|
|
949
|
+
return this.$nextTick().then(() => {
|
|
950
|
+
return this.defineField(records)
|
|
951
|
+
})
|
|
927
952
|
},
|
|
928
953
|
/**
|
|
929
954
|
* 创建 Row|Rows 对象
|
|
@@ -935,7 +960,7 @@ const Methods = {
|
|
|
935
960
|
if (!isArr) {
|
|
936
961
|
records = [records]
|
|
937
962
|
}
|
|
938
|
-
return this
|
|
963
|
+
return this.createData(records).then(rows => isArr ? rows : rows[0])
|
|
939
964
|
},
|
|
940
965
|
/**
|
|
941
966
|
* 还原数据
|
|
@@ -1017,7 +1042,9 @@ const Methods = {
|
|
|
1017
1042
|
* @param {Row} row 行对象
|
|
1018
1043
|
*/
|
|
1019
1044
|
isInsertByRow (row) {
|
|
1020
|
-
|
|
1045
|
+
const { editStore } = this
|
|
1046
|
+
const rowid = getRowid(this, row)
|
|
1047
|
+
return editStore.insertList.length && editStore.insertMaps[rowid]
|
|
1021
1048
|
},
|
|
1022
1049
|
/**
|
|
1023
1050
|
* 删除所有新增的临时数据
|
|
@@ -3723,13 +3750,17 @@ const Methods = {
|
|
|
3723
3750
|
* 判断指定列是否为筛选状态,如果为空则判断所有列
|
|
3724
3751
|
* @param {String} fieldOrColumn 字段名
|
|
3725
3752
|
*/
|
|
3726
|
-
|
|
3753
|
+
isActiveFilterByColumn (fieldOrColumn) {
|
|
3727
3754
|
const column = handleFieldOrColumn(this, fieldOrColumn)
|
|
3728
3755
|
if (column) {
|
|
3729
3756
|
return column.filters && column.filters.some(option => option.checked)
|
|
3730
3757
|
}
|
|
3731
3758
|
return this.getCheckedFilters().length > 0
|
|
3732
3759
|
},
|
|
3760
|
+
// 已废弃
|
|
3761
|
+
isFilter (fieldOrColumn) {
|
|
3762
|
+
return this.isActiveFilterByColumn(fieldOrColumn)
|
|
3763
|
+
},
|
|
3733
3764
|
/**
|
|
3734
3765
|
* 判断展开行是否懒加载完成
|
|
3735
3766
|
* @param {Row} row 行对象
|
package/types/table.d.ts
CHANGED
|
@@ -272,6 +272,7 @@ export declare class Table extends VXETableComponent {
|
|
|
272
272
|
*/
|
|
273
273
|
clearAll(): Promise<any>;
|
|
274
274
|
/**
|
|
275
|
+
* 该方法已废弃!!!
|
|
275
276
|
* 同步 data 数据;如果用了该方法,那么组件将不再记录增删改的状态,只能自行实现对应逻辑
|
|
276
277
|
* 对于某些特殊的场景,比如深层树节点元素发生变动时可能会用到
|
|
277
278
|
* @deprecated
|
|
@@ -629,6 +630,11 @@ export declare class Table extends VXETableComponent {
|
|
|
629
630
|
* 判断指定列是否为筛选状态,如果为空则判断所有列
|
|
630
631
|
* @param column 列对象
|
|
631
632
|
*/
|
|
633
|
+
isActiveFilterByColumn(column: ColumnInfo): boolean;
|
|
634
|
+
/**
|
|
635
|
+
* 已废弃,请使用 isFilterByColumn
|
|
636
|
+
* @deprecated
|
|
637
|
+
*/
|
|
632
638
|
isFilter(column: ColumnInfo): boolean;
|
|
633
639
|
/**
|
|
634
640
|
* 用于 expand-config.lazy,用于懒加载展开行,判断展开行是否懒加载完成
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CreateElement
|
|
2
|
-
import { SlotVNodeType, RowInfo } from '../component'
|
|
1
|
+
import { CreateElement } from 'vue'
|
|
2
|
+
import { SlotVNodeType, RowInfo, VNodeStyle } from '../component'
|
|
3
3
|
import { Table } from '../table'
|
|
4
4
|
import { Grid } from '../grid'
|
|
5
5
|
import { ColumnInfo, ColumnCellRenderOptions, ColumnContentRenderOptions } from '../column'
|
|
@@ -43,6 +43,7 @@ export interface RendererMapOptions {
|
|
|
43
43
|
|
|
44
44
|
// 单元格渲染
|
|
45
45
|
cellClassName?: string | ((params: ColumnCellRenderParams | ColumnEditRenderParams) => string | { [key: string]: boolean })
|
|
46
|
+
cellStyle?: string | VNodeStyle | ((params: ColumnCellRenderParams | ColumnEditRenderParams) => string | VNodeStyle)
|
|
46
47
|
renderHeader?(h: CreateElement, renderOpts: ColumnCellRenderOptions | ColumnEditRenderOptions, params: ColumnCellRenderParams | ColumnEditRenderParams): SlotVNodeType | SlotVNodeType[];
|
|
47
48
|
renderDefault?(h: CreateElement, renderOpts: ColumnCellRenderOptions | ColumnEditRenderOptions, params: ColumnCellRenderParams | ColumnEditRenderParams): SlotVNodeType | SlotVNodeType[];
|
|
48
49
|
renderFooter?(h: CreateElement, renderOpts: ColumnCellRenderOptions | ColumnEditRenderOptions, params: ColumnFooterRenderParams): SlotVNodeType | SlotVNodeType[];
|
|
@@ -63,6 +64,9 @@ export interface RendererMapOptions {
|
|
|
63
64
|
|
|
64
65
|
// 表单-项渲染
|
|
65
66
|
itemClassName?: string | ((params: FormItemRenderParams) => string | { [key: string]: boolean })
|
|
67
|
+
itemStyle?: string | VNodeStyle | ((params: FormItemRenderParams) => string | VNodeStyle)
|
|
68
|
+
itemContentClassName?: string | ((params: FormItemRenderParams) => string | { [key: string]: boolean })
|
|
69
|
+
itemContentStyle?: string | VNodeStyle | ((params: FormItemRenderParams) => string | VNodeStyle)
|
|
66
70
|
renderItemTitle?(h: CreateElement, renderOpts: FormItemRenderOptions, params: FormItemRenderParams): SlotVNodeType | SlotVNodeType[];
|
|
67
71
|
renderItemContent?(h: CreateElement, renderOpts: FormItemRenderOptions, params: FormItemRenderParams): SlotVNodeType | SlotVNodeType[];
|
|
68
72
|
itemVisibleMethod?(params: FormItemVisibleParams): boolean;
|
|
@@ -178,9 +182,9 @@ export class GridRenderParams extends TableRenderParams {
|
|
|
178
182
|
|
|
179
183
|
export class EmptyRenderParams extends TableRenderParams { }
|
|
180
184
|
|
|
181
|
-
export
|
|
182
|
-
export
|
|
183
|
-
export
|
|
185
|
+
export type ColumnDefaultSlotParams = ColumnCellRenderParams
|
|
186
|
+
export type ColumnContentSlotParams = ColumnContentRenderParams
|
|
187
|
+
export type ColumnIconSlotParams = ColumnIconRenderParams
|
|
184
188
|
|
|
185
|
-
export
|
|
186
|
-
export
|
|
189
|
+
export type ColumnContentRenderParams = ColumnCellRenderParams
|
|
190
|
+
export type ColumnIconRenderParams = ColumnCellRenderParams
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|