vxe-table 3.6.13 → 3.6.14-beta.1
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/lib/edit/src/mixin.js +23 -31
- package/lib/edit/src/mixin.min.js +1 -1
- package/lib/footer/src/footer.js +4 -2
- package/lib/footer/src/footer.min.js +1 -1
- package/lib/form/src/form-config-item.js +3 -1
- package/lib/form/src/form-config-item.min.js +1 -1
- package/lib/form/src/form-item.js +3 -1
- 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 +375 -354
- 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 +8 -6
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/methods.js +320 -307
- 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/dom.js +1 -1
- package/lib/tools/dom.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/footer/src/footer.js +4 -2
- package/packages/form/src/form-config-item.js +3 -1
- package/packages/form/src/form-item.js +3 -1
- package/packages/select/src/select.js +4 -2
- package/packages/table/src/body.js +8 -7
- package/packages/table/src/methods.js +42 -30
- package/packages/table/src/table.js +3 -1
- package/packages/tools/dom.js +1 -1
- package/types/table.d.ts +1 -0
- package/types/v-x-e-table/renderer.d.ts +9 -7
- /package/lib/icon/style/{iconfont.1681255874086.ttf → iconfont.1683440144042.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1681255874086.woff → iconfont.1683440144042.woff} +0 -0
- /package/lib/icon/style/{iconfont.1681255874086.woff2 → iconfont.1683440144042.woff2} +0 -0
- /package/lib/{iconfont.1681255874086.ttf → iconfont.1683440144042.ttf} +0 -0
- /package/lib/{iconfont.1681255874086.woff → iconfont.1683440144042.woff} +0 -0
- /package/lib/{iconfont.1681255874086.woff2 → iconfont.1683440144042.woff2} +0 -0
package/lib/tools/dom.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.browse=exports.DomTools=void 0,exports.getOffsetHeight=getOffsetHeight,exports.getPaddingTopBottomSize=getPaddingTopBottomSize,exports.setScrollLeft=setScrollLeft,exports.setScrollTop=setScrollTop;var _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var browse=_xeUtils.default.browse(),reClsMap=(exports.browse=browse,{});function getClsRE(e){return reClsMap[e]||(reClsMap[e]=new RegExp("(?:^|\\s)".concat(e,"(?!\\S)"),"g")),reClsMap[e]}function getNodeOffset(e,t,o){if(e){var s=e.parentNode;if(o.top+=e.offsetTop,o.left+=e.offsetLeft,s&&s!==document.documentElement&&s!==document.body&&(o.top-=s.scrollTop,o.left-=s.scrollLeft),(!t||e!==t&&e.offsetParent!==t)&&e.offsetParent)return getNodeOffset(e.offsetParent,t,o)}return o}function isScale(e){return e&&/^\d+%$/.test(e)}function hasClass(e,t){return e&&e.className&&e.className.match&&e.className.match(getClsRE(t))}function removeClass(e,t){e&&hasClass(e,t)&&(e.className=e.className.replace(getClsRE(t),""))}function getDomNode(){var e=document.documentElement,t=document.body;return{scrollTop:e.scrollTop||t.scrollTop,scrollLeft:e.scrollLeft||t.scrollLeft,visibleHeight:e.clientHeight||t.clientHeight,visibleWidth:e.clientWidth||t.clientWidth}}function getOffsetHeight(e){return e?e.offsetHeight:0}function getPaddingTopBottomSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingTop)+_xeUtils.default.toNumber(e.paddingBottom)):0}function setScrollTop(e,t){e&&(e.scrollTop=t)}function setScrollLeft(e,t){e&&(e.scrollLeft=t)}function isNodeElement(e){return e&&1===e.nodeType}var DomTools={browse:browse,isPx:function(e){return e&&/^\d+(px)?$/.test(e)},isScale:isScale,hasClass:hasClass,removeClass:removeClass,addClass:function(e,t){e&&!hasClass(e,t)&&(removeClass(e,t),e.className="".concat(e.className," ").concat(t))},updateCellTitle:function(e,t){t="html"===t.type?e.innerText:e.textContent;e.getAttribute("title")!==t&&e.setAttribute("title",t)},getDomNode:getDomNode,getEventTargetNode:function(e,t,o,s){for(var l,r=e.target;r&&r.nodeType&&r!==document;){if(o&&hasClass(r,o)&&(!s||s(r)))l=r;else if(r===t)return{flag:!o||!!l,container:t,targetElem:l};r=r.parentNode}return{flag:!1}},getOffsetPos:function(e,t){return getNodeOffset(e,t,{left:0,top:0})},getAbsolutePos:function(e){var e=e.getBoundingClientRect(),t=e.top,e=e.left,o=getDomNode();return{boundingTop:t,top:o.scrollTop+t,boundingLeft:e,left:o.scrollLeft+e,visibleHeight:o.visibleHeight,visibleWidth:o.visibleWidth}},scrollToView:function(e){var t="scrollIntoViewIfNeeded",o="scrollIntoView";e&&(e[t]?e[t]():e[o]&&e[o]())},triggerEvent:function(e,t){e&&e.dispatchEvent(new Event(t))},calcHeight:function(e,t){var o,t=e[t],s=0;return s=t?"auto"===t?e.parentHeight:(o=e.getExcludeHeight(),s=isScale(t)?Math.floor((_xeUtils.default.toInteger(t)||1)/100*e.parentHeight):_xeUtils.default.toNumber(t),Math.max(40,s-o)):s},isNodeElement:isNodeElement},_default=exports.DomTools=DomTools;exports.default=_default;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.browse=exports.DomTools=void 0,exports.getOffsetHeight=getOffsetHeight,exports.getPaddingTopBottomSize=getPaddingTopBottomSize,exports.setScrollLeft=setScrollLeft,exports.setScrollTop=setScrollTop;var _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var browse=_xeUtils.default.browse(),reClsMap=(exports.browse=browse,{});function getClsRE(e){return reClsMap[e]||(reClsMap[e]=new RegExp("(?:^|\\s)".concat(e,"(?!\\S)"),"g")),reClsMap[e]}function getNodeOffset(e,t,o){if(e){var s=e.parentNode;if(o.top+=e.offsetTop,o.left+=e.offsetLeft,s&&s!==document.documentElement&&s!==document.body&&(o.top-=s.scrollTop,o.left-=s.scrollLeft),(!t||e!==t&&e.offsetParent!==t)&&e.offsetParent)return getNodeOffset(e.offsetParent,t,o)}return o}function isScale(e){return e&&/^\d+%$/.test(e)}function hasClass(e,t){return e&&e.className&&e.className.match&&e.className.match(getClsRE(t))}function removeClass(e,t){e&&hasClass(e,t)&&(e.className=e.className.replace(getClsRE(t),""))}function getDomNode(){var e=document.documentElement,t=document.body;return{scrollTop:e.scrollTop||t.scrollTop,scrollLeft:e.scrollLeft||t.scrollLeft,visibleHeight:e.clientHeight||t.clientHeight,visibleWidth:e.clientWidth||t.clientWidth}}function getOffsetHeight(e){return e?e.offsetHeight:0}function getPaddingTopBottomSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingTop)+_xeUtils.default.toNumber(e.paddingBottom)):0}function setScrollTop(e,t){e&&(e.scrollTop=t)}function setScrollLeft(e,t){e&&(e.scrollLeft=t)}function isNodeElement(e){return e&&1===e.nodeType}var DomTools={browse:browse,isPx:function(e){return e&&/^\d+(px)?$/.test(e)},isScale:isScale,hasClass:hasClass,removeClass:removeClass,addClass:function(e,t){e&&!hasClass(e,t)&&(removeClass(e,t),e.className="".concat(e.className," ").concat(t))},updateCellTitle:function(e,t){t="html"===t.type?e.innerText:e.textContent;e.getAttribute("title")!==t&&e.setAttribute("title",t)},getDomNode:getDomNode,getEventTargetNode:function(e,t,o,s){for(var l,r=e.target.shadowRoot&&e.composed&&e.composedPath()[0]||e.target;r&&r.nodeType&&r!==document;){if(o&&hasClass(r,o)&&(!s||s(r)))l=r;else if(r===t)return{flag:!o||!!l,container:t,targetElem:l};r=r.parentNode}return{flag:!1}},getOffsetPos:function(e,t){return getNodeOffset(e,t,{left:0,top:0})},getAbsolutePos:function(e){var e=e.getBoundingClientRect(),t=e.top,e=e.left,o=getDomNode();return{boundingTop:t,top:o.scrollTop+t,boundingLeft:e,left:o.scrollLeft+e,visibleHeight:o.visibleHeight,visibleWidth:o.visibleWidth}},scrollToView:function(e){var t="scrollIntoViewIfNeeded",o="scrollIntoView";e&&(e[t]?e[t]():e[o]&&e[o]())},triggerEvent:function(e,t){e&&e.dispatchEvent(new Event(t))},calcHeight:function(e,t){var o,t=e[t],s=0;return s=t?"auto"===t?e.parentHeight:(o=e.getExcludeHeight(),s=isScale(t)?Math.floor((_xeUtils.default.toInteger(t)||1)/100*e.parentHeight):_xeUtils.default.toNumber(t),Math.max(40,s-o)):s},isNodeElement:isNodeElement},_default=exports.DomTools=DomTools;exports.default=_default;
|
package/lib/tools/log.js
CHANGED
|
@@ -9,7 +9,7 @@ exports.warnLog = void 0;
|
|
|
9
9
|
var _conf = _interopRequireDefault(require("../v-x-e-table/src/conf"));
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
11
|
function getLog(message, params) {
|
|
12
|
-
return "[vxe-table v".concat("3.6.
|
|
12
|
+
return "[vxe-table v".concat("3.6.14-beta.1", "] ", _conf["default"].i18n(message, params));
|
|
13
13
|
}
|
|
14
14
|
function outLog(type) {
|
|
15
15
|
return function (message, params) {
|
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.
|
|
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","] ",_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.
|
|
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",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
|
/**
|
|
@@ -68,11 +68,13 @@ export default {
|
|
|
68
68
|
overflowX,
|
|
69
69
|
scrollbarWidth,
|
|
70
70
|
tooltipOpts,
|
|
71
|
-
visibleColumn
|
|
71
|
+
visibleColumn,
|
|
72
|
+
expandColumn
|
|
72
73
|
} = $xetable
|
|
73
74
|
// 如果是使用优化模式
|
|
74
75
|
if (fixedType) {
|
|
75
|
-
|
|
76
|
+
// 如果存在展开行使用全量渲染
|
|
77
|
+
if (!expandColumn && (scrollXLoad || allColumnFooterOverflow)) {
|
|
76
78
|
if (!mergeFooterList.length || !footerSpanMethod) {
|
|
77
79
|
tableColumn = fixedColumn
|
|
78
80
|
} else {
|
|
@@ -31,6 +31,7 @@ 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
|
|
34
35
|
const span = item.span || $xeform.span
|
|
35
36
|
const align = item.align || $xeform.align
|
|
36
37
|
const titleAlign = XEUtils.eqNull(item.titleAlign) ? allTitleAlign : item.titleAlign
|
|
@@ -100,7 +101,8 @@ const VxeFormConfigItem = {
|
|
|
100
101
|
'is--active': isActivetem($xeform, item),
|
|
101
102
|
'is--error': showError
|
|
102
103
|
}
|
|
103
|
-
]
|
|
104
|
+
],
|
|
105
|
+
style: XEUtils.isFunction(itemStyle) ? itemStyle(params) : itemStyle
|
|
104
106
|
}, [
|
|
105
107
|
h('div', {
|
|
106
108
|
class: 'vxe-form--item-inner'
|
|
@@ -55,6 +55,7 @@ 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
|
|
58
59
|
const span = item.span || _vm.span
|
|
59
60
|
const align = item.align || _vm.align
|
|
60
61
|
const titleAlign = XEUtils.eqNull(item.titleAlign) ? allTitleAlign : item.titleAlign
|
|
@@ -109,7 +110,8 @@ const renderItem = (h, _vm, item, slots) => {
|
|
|
109
110
|
'is--active': isActivetem(_vm, item),
|
|
110
111
|
'is--error': showError
|
|
111
112
|
}
|
|
112
|
-
]
|
|
113
|
+
],
|
|
114
|
+
style: XEUtils.isFunction(itemStyle) ? itemStyle(params) : itemStyle
|
|
113
115
|
}, [
|
|
114
116
|
h('div', {
|
|
115
117
|
class: 'vxe-form--item-inner'
|
|
@@ -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]
|
|
@@ -520,10 +520,11 @@ export default {
|
|
|
520
520
|
},
|
|
521
521
|
render (h) {
|
|
522
522
|
const { _e, $parent: $xetable, fixedColumn, fixedType } = this
|
|
523
|
-
let { $scopedSlots, tId, tableData, tableColumn, visibleColumn, showOverflow: allColumnOverflow, keyboardConfig, keyboardOpts, mergeList, spanMethod, scrollXLoad, scrollYLoad, isAllOverflow, emptyOpts, mouseConfig, mouseOpts, sYOpts } = $xetable
|
|
523
|
+
let { $scopedSlots, tId, tableData, tableColumn, visibleColumn, expandColumn, showOverflow: allColumnOverflow, keyboardConfig, keyboardOpts, mergeList, spanMethod, scrollXLoad, scrollYLoad, isAllOverflow, emptyOpts, mouseConfig, mouseOpts, sYOpts } = $xetable
|
|
524
524
|
// 如果是使用优化模式
|
|
525
525
|
if (fixedType) {
|
|
526
|
-
|
|
526
|
+
// 如果存在展开行使用全量渲染
|
|
527
|
+
if (!expandColumn && (scrollXLoad || scrollYLoad || (allColumnOverflow ? isAllOverflow : allColumnOverflow))) {
|
|
527
528
|
if (!mergeList.length && !spanMethod && !(keyboardConfig && keyboardOpts.isMerge)) {
|
|
528
529
|
tableColumn = fixedColumn
|
|
529
530
|
} else {
|
|
@@ -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
|
// 全量数据
|
|
@@ -879,40 +882,45 @@ const Methods = {
|
|
|
879
882
|
},
|
|
880
883
|
/**
|
|
881
884
|
* 定义行数据中的列属性,如果不存在则定义
|
|
882
|
-
* @param {Row}
|
|
885
|
+
* @param {Row} records 行数据
|
|
883
886
|
*/
|
|
884
|
-
defineField (
|
|
887
|
+
defineField (records) {
|
|
885
888
|
const { radioOpts, checkboxOpts, treeConfig, treeOpts, expandOpts } = this
|
|
886
889
|
const rowkey = getRowkey(this)
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
890
|
+
if (!XEUtils.isArray(records)) {
|
|
891
|
+
records = [records]
|
|
892
|
+
}
|
|
893
|
+
return records.map(record => {
|
|
894
|
+
this.tableFullColumn.forEach(column => {
|
|
895
|
+
const { field, editRender } = column
|
|
896
|
+
if (field && !XEUtils.has(record, field)) {
|
|
897
|
+
let cellValue = null
|
|
898
|
+
if (editRender) {
|
|
899
|
+
const { defaultValue } = editRender
|
|
900
|
+
if (XEUtils.isFunction(defaultValue)) {
|
|
901
|
+
cellValue = defaultValue({ column })
|
|
902
|
+
} else if (!XEUtils.isUndefined(defaultValue)) {
|
|
903
|
+
cellValue = defaultValue
|
|
904
|
+
}
|
|
897
905
|
}
|
|
906
|
+
XEUtils.set(record, field, cellValue)
|
|
907
|
+
}
|
|
908
|
+
})
|
|
909
|
+
const otherFields = [radioOpts.labelField, checkboxOpts.checkField, checkboxOpts.labelField, expandOpts.labelField]
|
|
910
|
+
otherFields.forEach((key) => {
|
|
911
|
+
if (key && eqEmptyValue(XEUtils.get(record, key))) {
|
|
912
|
+
XEUtils.set(record, key, null)
|
|
898
913
|
}
|
|
899
|
-
|
|
914
|
+
})
|
|
915
|
+
if (treeConfig && treeOpts.lazy && XEUtils.isUndefined(record[treeOpts.children])) {
|
|
916
|
+
record[treeOpts.children] = null
|
|
900
917
|
}
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
if (key && eqEmptyValue(XEUtils.get(record, key))) {
|
|
905
|
-
XEUtils.set(record, key, null)
|
|
918
|
+
// 必须有行数据的唯一主键,可以自行设置;也可以默认生成一个随机数
|
|
919
|
+
if (eqEmptyValue(XEUtils.get(record, rowkey))) {
|
|
920
|
+
XEUtils.set(record, rowkey, getRowUniqueId())
|
|
906
921
|
}
|
|
922
|
+
return record
|
|
907
923
|
})
|
|
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
924
|
},
|
|
917
925
|
/**
|
|
918
926
|
* 创建 data 对象
|
|
@@ -1017,7 +1025,9 @@ const Methods = {
|
|
|
1017
1025
|
* @param {Row} row 行对象
|
|
1018
1026
|
*/
|
|
1019
1027
|
isInsertByRow (row) {
|
|
1020
|
-
|
|
1028
|
+
const { editStore } = this
|
|
1029
|
+
const rowid = getRowid(this, row)
|
|
1030
|
+
return editStore.insertList.length && editStore.insertMaps[rowid]
|
|
1021
1031
|
},
|
|
1022
1032
|
/**
|
|
1023
1033
|
* 删除所有新增的临时数据
|
|
@@ -2044,7 +2054,8 @@ const Methods = {
|
|
|
2044
2054
|
|
|
2045
2055
|
// 如果是使用优化模式
|
|
2046
2056
|
if (fixedType) {
|
|
2047
|
-
|
|
2057
|
+
// 如果存在展开行使用全量渲染
|
|
2058
|
+
if (!this.expandColumn && (scrollXLoad || scrollYLoad || (allColumnOverflow ? isAllOverflow : allColumnOverflow))) {
|
|
2048
2059
|
if (!mergeList.length && !spanMethod && !(keyboardConfig && keyboardOpts.isMerge)) {
|
|
2049
2060
|
renderColumnList = fixedColumn
|
|
2050
2061
|
} else {
|
|
@@ -2070,7 +2081,8 @@ const Methods = {
|
|
|
2070
2081
|
|
|
2071
2082
|
// 如果是使用优化模式
|
|
2072
2083
|
if (fixedType) {
|
|
2073
|
-
|
|
2084
|
+
// 如果存在展开行使用全量渲染
|
|
2085
|
+
if (!this.expandColumn && (scrollXLoad || allColumnFooterOverflow)) {
|
|
2074
2086
|
if (!mergeFooterList.length || !footerSpanMethod) {
|
|
2075
2087
|
renderColumnList = fixedColumn
|
|
2076
2088
|
} else {
|
package/packages/tools/dom.js
CHANGED
|
@@ -114,7 +114,7 @@ export const DomTools = {
|
|
|
114
114
|
*/
|
|
115
115
|
getEventTargetNode (evnt, container, queryCls, queryMethod) {
|
|
116
116
|
let targetElem
|
|
117
|
-
let target = evnt.target
|
|
117
|
+
let target = (evnt.target.shadowRoot && evnt.composed) ? (evnt.composedPath()[0] || evnt.target) : evnt.target
|
|
118
118
|
while (target && target.nodeType && target !== document) {
|
|
119
119
|
if (queryCls && hasClass(target, queryCls) && (!queryMethod || queryMethod(target))) {
|
|
120
120
|
targetElem = target
|
package/types/table.d.ts
CHANGED
|
@@ -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,7 @@ 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)
|
|
66
68
|
renderItemTitle?(h: CreateElement, renderOpts: FormItemRenderOptions, params: FormItemRenderParams): SlotVNodeType | SlotVNodeType[];
|
|
67
69
|
renderItemContent?(h: CreateElement, renderOpts: FormItemRenderOptions, params: FormItemRenderParams): SlotVNodeType | SlotVNodeType[];
|
|
68
70
|
itemVisibleMethod?(params: FormItemVisibleParams): boolean;
|
|
@@ -178,9 +180,9 @@ export class GridRenderParams extends TableRenderParams {
|
|
|
178
180
|
|
|
179
181
|
export class EmptyRenderParams extends TableRenderParams { }
|
|
180
182
|
|
|
181
|
-
export
|
|
182
|
-
export
|
|
183
|
-
export
|
|
183
|
+
export type ColumnDefaultSlotParams = ColumnCellRenderParams
|
|
184
|
+
export type ColumnContentSlotParams = ColumnContentRenderParams
|
|
185
|
+
export type ColumnIconSlotParams = ColumnIconRenderParams
|
|
184
186
|
|
|
185
|
-
export
|
|
186
|
-
export
|
|
187
|
+
export type ColumnContentRenderParams = ColumnCellRenderParams
|
|
188
|
+
export type ColumnIconRenderParams = ColumnCellRenderParams
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|