vxe-table 3.4.4 → 3.4.7-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/README.en.md +1 -1
- package/README.md +1 -1
- package/README.zh-TW.md +1 -1
- package/lib/button/src/button.js +15 -14
- package/lib/button/src/button.min.js +1 -1
- package/lib/edit/src/mixin.js +19 -25
- package/lib/edit/src/mixin.min.js +1 -1
- package/lib/export/src/mixin.js +25 -10
- package/lib/export/src/mixin.min.js +1 -1
- package/lib/filter/src/mixin.js +25 -1
- package/lib/filter/src/mixin.min.js +1 -1
- package/lib/grid/src/grid.js +6 -3
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +1472 -426
- package/lib/index.umd.min.js +2 -1
- package/lib/select/src/select.js +1 -1
- package/lib/select/src/select.min.js +1 -1
- package/lib/table/src/body.js +9 -17
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +16 -17
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/methods.js +490 -324
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +6 -6
- package/lib/table/src/util.js +7 -0
- package/lib/table/src/util.min.js +1 -1
- package/lib/tools/src/dom.js +2 -9
- package/lib/tools/src/dom.min.js +1 -1
- package/lib/tools/src/utils.js +1 -1
- package/lib/tools/src/utils.min.js +1 -1
- package/lib/v-x-e-table/src/conf.js +6 -2
- package/lib/v-x-e-table/src/conf.min.js +1 -1
- package/lib/validator/src/mixin.js +3 -3
- package/lib/validator/src/mixin.min.js +1 -1
- package/package.json +3 -24
- package/packages/button/src/button.js +14 -14
- package/packages/edit/src/mixin.js +18 -21
- package/packages/export/src/mixin.js +17 -6
- package/packages/filter/src/mixin.js +20 -1
- package/packages/grid/src/grid.js +6 -2
- package/packages/select/src/select.js +1 -1
- package/packages/table/src/body.js +12 -16
- package/packages/table/src/cell.js +15 -15
- package/packages/table/src/methods.js +147 -52
- package/packages/table/src/table.js +6 -6
- package/packages/table/src/util.js +4 -0
- package/packages/tools/src/dom.js +2 -7
- package/packages/tools/src/utils.js +1 -1
- package/packages/v-x-e-table/src/conf.js +6 -2
- package/packages/validator/src/mixin.js +3 -3
- package/types/v-x-e-table/renderer.d.ts +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.UtilTools=void 0,exports.eqEmptyValue=eqEmptyValue,exports.isEnableConf=isEnableConf;var _xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_formats=require("../../v-x-e-table/src/formats");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(r="Object"===r&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}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),e}var zindexIndex=0,lastZindex=1,ColumnInfo=function(){function f(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},o=r.renderHeader,l=r.renderCell,n=r.renderFooter,i=r.renderData;_classCallCheck(this,f);var a,s=e.$xegrid,u=s?s.proxyOpts:null,d=t.formatter,c=!_xeUtils.default.isBoolean(t.visible)||t.visible;"development"===process.env.NODE_ENV&&(r=["seq","checkbox","radio","expand","html"],t.type&&-1===r.indexOf(t.type)&&UtilTools.warn("vxe.error.errProp",["type=".concat(t.type),r.join(", ")]),(_xeUtils.default.isBoolean(t.cellRender)||t.cellRender&&!_xeUtils.default.isObject(t.cellRender))&&UtilTools.warn("vxe.error.errProp",["column.cell-render=".concat(t.cellRender),"column.cell-render={}"]),(_xeUtils.default.isBoolean(t.editRender)||t.editRender&&!_xeUtils.default.isObject(t.editRender))&&UtilTools.warn("vxe.error.errProp",["column.edit-render=".concat(t.editRender),"column.edit-render={}"]),t.cellRender&&t.editRender&&UtilTools.warn("vxe.error.errConflicts",["column.cell-render","column.edit-render"]),"expand"===t.type&&e.treeConfig&&e.treeOpts.line&&UtilTools.error("vxe.error.errConflicts",["tree-config.line","column.type=expand"]),t.remoteSort&&UtilTools.warn("vxe.error.delProp",["column.remote-sort","sort-config.remote"]),t.sortMethod&&UtilTools.warn("vxe.error.delProp",["column.sort-method","sort-config.sortMethod"]),d&&(_xeUtils.default.isString(d)?(a=_formats.formats.get(d)||_xeUtils.default[d],_xeUtils.default.isFunction(a)||UtilTools.error("vxe.error.notFunc",[d])):_xeUtils.default.isArray(d)&&(a=_formats.formats.get(d[0])||_xeUtils.default[d[0]],_xeUtils.default.isFunction(a)||UtilTools.error("vxe.error.notFunc",[d[0]])))),Object.assign(this,{type:t.type,property:t.field,title:t.title,width:t.width,minWidth:t.minWidth,resizable:t.resizable,fixed:t.fixed,align:t.align,headerAlign:t.headerAlign,footerAlign:t.footerAlign,showOverflow:t.showOverflow,showHeaderOverflow:t.showHeaderOverflow,showFooterOverflow:t.showFooterOverflow,className:t.className,headerClassName:t.headerClassName,footerClassName:t.footerClassName,formatter:d,sortable:t.sortable,sortBy:t.sortBy,sortType:t.sortType,sortMethod:t.sortMethod,remoteSort:t.remoteSort,filters:UtilTools.getFilters(t.filters),filterMultiple:!_xeUtils.default.isBoolean(t.filterMultiple)||t.filterMultiple,filterMethod:t.filterMethod,filterResetMethod:t.filterResetMethod,filterRecoverMethod:t.filterRecoverMethod,filterRender:t.filterRender,treeNode:t.treeNode,cellType:t.cellType,cellRender:t.cellRender,editRender:t.editRender,contentRender:t.contentRender,exportMethod:t.exportMethod,footerExportMethod:t.footerExportMethod,titleHelp:t.titleHelp,params:t.params,id:t.colId||_xeUtils.default.uniqueId("col_"),parentId:null,visible:c,halfVisible:!1,defaultVisible:c,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,renderWidth:0,renderHeight:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:o||t.renderHeader,renderCell:l||t.renderCell,renderFooter:n||t.renderFooter,renderData:i,slots:t.slots}),u&&u.beforeColumn&&u.beforeColumn({$grid:s,column:this})}return _createClass(f,[{key:"getTitle",value:function(){return UtilTools.getFuncText(this.title||("seq"===this.type?_conf.default.i18n("vxe.table.seqTitle"):""))}},{key:"getKey",value:function(){return this.property||(this.type?"type=".concat(this.type):null)}},{key:"update",value:function(e,t){"filters"!==e&&("field"===e?this.property=t:this[e]=t)}}]),f}();function isEnableConf(e){return e&&!1!==e.enabled}function outLog(r){return function(e,t){t=UtilTools.getLog(e,t);return console[r](t),t}}function eqEmptyValue(e){return""===e||_xeUtils.default.eqNull(e)}var UtilTools={warn:outLog("warn"),error:outLog("error"),getLog:function(e,t){return"[vxe-table] ".concat(_conf.default.i18n(e,t))},getFuncText:function(e){return _xeUtils.default.isFunction(e)?e():_conf.default.translate?_conf.default.translate(e):e},nextZIndex:function(){return lastZindex=_conf.default.zIndex+zindexIndex++},getLastZIndex:function(){return lastZindex},getRowkey:function(e){return e.rowId||"
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.UtilTools=void 0,exports.eqEmptyValue=eqEmptyValue,exports.isEnableConf=isEnableConf;var _xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_formats=require("../../v-x-e-table/src/formats");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(r="Object"===r&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}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),e}var zindexIndex=0,lastZindex=1,ColumnInfo=function(){function f(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},o=r.renderHeader,l=r.renderCell,n=r.renderFooter,i=r.renderData;_classCallCheck(this,f);var a,s=e.$xegrid,u=s?s.proxyOpts:null,d=t.formatter,c=!_xeUtils.default.isBoolean(t.visible)||t.visible;"development"===process.env.NODE_ENV&&(r=["seq","checkbox","radio","expand","html"],t.type&&-1===r.indexOf(t.type)&&UtilTools.warn("vxe.error.errProp",["type=".concat(t.type),r.join(", ")]),(_xeUtils.default.isBoolean(t.cellRender)||t.cellRender&&!_xeUtils.default.isObject(t.cellRender))&&UtilTools.warn("vxe.error.errProp",["column.cell-render=".concat(t.cellRender),"column.cell-render={}"]),(_xeUtils.default.isBoolean(t.editRender)||t.editRender&&!_xeUtils.default.isObject(t.editRender))&&UtilTools.warn("vxe.error.errProp",["column.edit-render=".concat(t.editRender),"column.edit-render={}"]),t.cellRender&&t.editRender&&UtilTools.warn("vxe.error.errConflicts",["column.cell-render","column.edit-render"]),"expand"===t.type&&e.treeConfig&&e.treeOpts.line&&UtilTools.error("vxe.error.errConflicts",["tree-config.line","column.type=expand"]),t.remoteSort&&UtilTools.warn("vxe.error.delProp",["column.remote-sort","sort-config.remote"]),t.sortMethod&&UtilTools.warn("vxe.error.delProp",["column.sort-method","sort-config.sortMethod"]),d&&(_xeUtils.default.isString(d)?(a=_formats.formats.get(d)||_xeUtils.default[d],_xeUtils.default.isFunction(a)||UtilTools.error("vxe.error.notFunc",[d])):_xeUtils.default.isArray(d)&&(a=_formats.formats.get(d[0])||_xeUtils.default[d[0]],_xeUtils.default.isFunction(a)||UtilTools.error("vxe.error.notFunc",[d[0]])))),Object.assign(this,{type:t.type,property:t.field,title:t.title,width:t.width,minWidth:t.minWidth,resizable:t.resizable,fixed:t.fixed,align:t.align,headerAlign:t.headerAlign,footerAlign:t.footerAlign,showOverflow:t.showOverflow,showHeaderOverflow:t.showHeaderOverflow,showFooterOverflow:t.showFooterOverflow,className:t.className,headerClassName:t.headerClassName,footerClassName:t.footerClassName,formatter:d,sortable:t.sortable,sortBy:t.sortBy,sortType:t.sortType,sortMethod:t.sortMethod,remoteSort:t.remoteSort,filters:UtilTools.getFilters(t.filters),filterMultiple:!_xeUtils.default.isBoolean(t.filterMultiple)||t.filterMultiple,filterMethod:t.filterMethod,filterResetMethod:t.filterResetMethod,filterRecoverMethod:t.filterRecoverMethod,filterRender:t.filterRender,treeNode:t.treeNode,cellType:t.cellType,cellRender:t.cellRender,editRender:t.editRender,contentRender:t.contentRender,exportMethod:t.exportMethod,footerExportMethod:t.footerExportMethod,titleHelp:t.titleHelp,params:t.params,id:t.colId||_xeUtils.default.uniqueId("col_"),parentId:null,visible:c,halfVisible:!1,defaultVisible:c,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,renderWidth:0,renderHeight:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:o||t.renderHeader,renderCell:l||t.renderCell,renderFooter:n||t.renderFooter,renderData:i,slots:t.slots}),u&&u.beforeColumn&&u.beforeColumn({$grid:s,column:this})}return _createClass(f,[{key:"getTitle",value:function(){return UtilTools.getFuncText(this.title||("seq"===this.type?_conf.default.i18n("vxe.table.seqTitle"):""))}},{key:"getKey",value:function(){return this.property||(this.type?"type=".concat(this.type):null)}},{key:"update",value:function(e,t){"filters"!==e&&("field"===e?this.property=t:this[e]=t)}}]),f}();function isEnableConf(e){return e&&!1!==e.enabled}function outLog(r){return function(e,t){t=UtilTools.getLog(e,t);return console[r](t),t}}function eqEmptyValue(e){return""===e||_xeUtils.default.eqNull(e)}var UtilTools={warn:outLog("warn"),error:outLog("error"),getLog:function(e,t){return"[vxe-table] ".concat(_conf.default.i18n(e,t))},getFuncText:function(e){return _xeUtils.default.isFunction(e)?e():_conf.default.translate?_conf.default.translate(e):e},nextZIndex:function(){return lastZindex=_conf.default.zIndex+zindexIndex++},getLastZIndex:function(){return lastZindex},getRowkey:function(e){return e.rowId||"_X_ID"},getRowid:function(e,t){e=_xeUtils.default.get(t,UtilTools.getRowkey(e));return _xeUtils.default.eqNull(e)?"":encodeURIComponent(e)},getColumnList:function(e){var t=[];return e.forEach(function(e){t.push.apply(t,_toConsumableArray(e.children&&e.children.length?UtilTools.getColumnList(e.children):[e]))}),t},getClass:function(e,t){return e?_xeUtils.default.isFunction(e)?e(t):e:""},getFilters:function(e){return e&&_xeUtils.default.isArray(e)?e.map(function(e){var t=e.label,r=e.value,o=e.data,l=e.resetValue,e=e.checked;return{label:t,value:r,data:o,resetValue:l,checked:!!e,_checked:!!e}}):e},formatText:function(e,t){return""+(""===e||null==e?t?_conf.default.emptyCell:"":e)},getCellValue:function(e,t){return _xeUtils.default.get(e,t.property)},setCellValue:function(e,t,r){return _xeUtils.default.set(e,t.property,r)},isColumn:function(e){return e instanceof ColumnInfo},getColumnConfig:function(e,t,r){return UtilTools.isColumn(t)?t:new ColumnInfo(e,t,r)},assemColumn:function(e){var t=e.$el,r=e.$xetable,o=e.$xecolumn,l=e.columnConfig,n=o?o.columnConfig:null;l.slots=e.$scopedSlots,n?("development"===process.env.NODE_ENV&&("vxe-table-column"===o.$options._componentTag?UtilTools.error("vxe.error.groupTag",["<vxe-table-colgroup title=".concat(o.title," ...>"),"<vxe-table-column title=".concat(o.title," ...>")]):"vxe-column"===o.$options._componentTag&&UtilTools.warn("vxe.error.groupTag",["<vxe-colgroup title=".concat(o.title," ...>"),"<vxe-column title=".concat(o.title," ...>")])),n.children||(n.children=[]),n.children.splice([].indexOf.call(o.$el.children,t),0,l)):r.staticColumns.splice([].indexOf.call(r.$refs.hideColumn.children,t),0,l)},destroyColumn:function(e){var t=e.$xetable,r=e.columnConfig,t=_xeUtils.default.findTree(t.staticColumns,function(e){return e===r});t&&t.items.splice(t.index,1)},hasChildrenList:function(e){return e&&e.children&&0<e.children.length},parseFile:function(e){var t=e.name,r=_xeUtils.default.lastIndexOf(t,"."),e=t.substring(r+1,t.length);return{filename:t.substring(0,r),type:e}},isNumVal:function(e){return!isNaN(parseFloat(""+e))}},_default=exports.UtilTools=UtilTools;exports.default=_default;
|
|
@@ -19,6 +19,7 @@ var _default = {
|
|
|
19
19
|
showHeader: true,
|
|
20
20
|
animat: true,
|
|
21
21
|
delayHover: 250,
|
|
22
|
+
autoResize: true,
|
|
22
23
|
// keepSource: false,
|
|
23
24
|
// showOverflow: null,
|
|
24
25
|
// showHeaderOverflow: null,
|
|
@@ -26,7 +27,6 @@ var _default = {
|
|
|
26
27
|
// resizeInterval: 500,
|
|
27
28
|
// size: null,
|
|
28
29
|
// zIndex: null,
|
|
29
|
-
// autoResize: false,
|
|
30
30
|
// stripe: false,
|
|
31
31
|
// border: false,
|
|
32
32
|
// round: false,
|
|
@@ -57,7 +57,7 @@ var _default = {
|
|
|
57
57
|
// storage: false,
|
|
58
58
|
// checkMethod () {}
|
|
59
59
|
// },
|
|
60
|
-
// rowId: '
|
|
60
|
+
// rowId: '_X_ID', // 行数据的唯一主键字段名
|
|
61
61
|
sortConfig: {
|
|
62
62
|
// remote: false,
|
|
63
63
|
// trigger: 'default',
|
|
@@ -75,6 +75,7 @@ var _default = {
|
|
|
75
75
|
parentField: 'parentId',
|
|
76
76
|
children: 'children',
|
|
77
77
|
hasChild: 'hasChild',
|
|
78
|
+
mapChildren: '_X_CHILD',
|
|
78
79
|
indent: 20,
|
|
79
80
|
showIcon: true
|
|
80
81
|
},
|
|
@@ -99,6 +100,9 @@ var _default = {
|
|
|
99
100
|
mouseConfig: {
|
|
100
101
|
extension: true
|
|
101
102
|
},
|
|
103
|
+
keyboardConfig: {
|
|
104
|
+
isEsc: true
|
|
105
|
+
},
|
|
102
106
|
areaConfig: {
|
|
103
107
|
selectCellByHeader: true
|
|
104
108
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var iconPrefix="vxe-icon--",_default={size:null,zIndex:999,version:0,emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,radioConfig:{strict:!0},checkboxConfig:{strict:!0},validConfig:{showMessage:!0,message:"default"},sortConfig:{showIcon:!0},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",children:"children",hasChild:"hasChild",indent:20,showIcon:!0},expandConfig:{showIcon:!0},editConfig:{showIcon:!0,showAsterisk:!0},importConfig:{modes:["insert","covering"]},exportConfig:{modes:["current","selected"]},printConfig:{modes:["current","selected"]},mouseConfig:{extension:!0},areaConfig:{selectCellByHeader:!0},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},scrollX:{enabled:!0,gt:60},scrollY:{enabled:!0,gt:100}},export:{types:{}},icon:{TABLE_SORT_ASC:iconPrefix+"caret-top",TABLE_SORT_DESC:iconPrefix+"caret-bottom",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit-outline",TABLE_HELP:iconPrefix+"question",TABLE_TREE_LOADED:iconPrefix+"refresh roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"refresh roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",BUTTON_DROPDOWN:iconPrefix+"arrow-bottom",BUTTON_LOADING:iconPrefix+"refresh roll",SELECT_LOADED:iconPrefix+"refresh roll",SELECT_OPEN:iconPrefix+"caret-bottom rotate180",SELECT_CLOSE:iconPrefix+"caret-bottom",PAGER_JUMP_PREV:iconPrefix+"d-arrow-left",PAGER_JUMP_NEXT:iconPrefix+"d-arrow-right",PAGER_PREV_PAGE:iconPrefix+"arrow-left",PAGER_NEXT_PAGE:iconPrefix+"arrow-right",PAGER_JUMP_MORE:iconPrefix+"more",INPUT_CLEAR:iconPrefix+"close",INPUT_PWD:iconPrefix+"eye-slash",INPUT_SHOW_PWD:iconPrefix+"eye",INPUT_PREV_NUM:iconPrefix+"caret-top",INPUT_NEXT_NUM:iconPrefix+"caret-bottom",INPUT_DATE:iconPrefix+"calendar",INPUT_SEARCH:iconPrefix+"search",MODAL_ZOOM_IN:iconPrefix+"square",MODAL_ZOOM_OUT:iconPrefix+"zoomout",MODAL_CLOSE:iconPrefix+"close",MODAL_INFO:iconPrefix+"info",MODAL_SUCCESS:iconPrefix+"success",MODAL_WARNING:iconPrefix+"warning",MODAL_ERROR:iconPrefix+"error",MODAL_QUESTION:iconPrefix+"question",MODAL_LOADING:iconPrefix+"refresh roll",TOOLBAR_TOOLS_REFRESH:iconPrefix+"refresh",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"refresh roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_ZOOM_IN:iconPrefix+"zoomin",TOOLBAR_TOOLS_ZOOM_OUT:iconPrefix+"zoomout",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"menu",FORM_PREFIX:iconPrefix+"question",FORM_SUFFIX:iconPrefix+"question",FORM_FOLDING:iconPrefix+"arrow-top rotate180",FORM_UNFOLDING:iconPrefix+"arrow-top"},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,message:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},tooltip:{trigger:"hover",theme:"dark",leaveDelay:300},pager:{},form:{validConfig:{showMessage:!0,autoPos:!0},titleAsterisk:!0},input:{minDate:new Date(1900,0,1),maxDate:new Date(2100,0,1),startDay:1,selectDay:1,digits:2,controls:!0},textarea:{},select:{multiCharOverflow:8},toolbar:{},button:{},radio:{},checkbox:{},switch:{},modal:{top:15,showHeader:!0,minWidth:340,minHeight:140,lockView:!0,mask:!0,duration:3e3,marginSize:0,dblclickZoom:!0,showTitleOverflow:!0,animat:!0,showClose:!0,draggable:!0,storageKey:"VXE_MODAL_POSITION"},list:{scrollY:{enabled:!0,gt:100}},i18n:function(e){return e}};exports.default=_default;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var iconPrefix="vxe-icon--",_default={size:null,zIndex:999,version:0,emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,radioConfig:{strict:!0},checkboxConfig:{strict:!0},validConfig:{showMessage:!0,message:"default"},sortConfig:{showIcon:!0},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",children:"children",hasChild:"hasChild",mapChildren:"_X_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0},editConfig:{showIcon:!0,showAsterisk:!0},importConfig:{modes:["insert","covering"]},exportConfig:{modes:["current","selected"]},printConfig:{modes:["current","selected"]},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{selectCellByHeader:!0},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},scrollX:{enabled:!0,gt:60},scrollY:{enabled:!0,gt:100}},export:{types:{}},icon:{TABLE_SORT_ASC:iconPrefix+"caret-top",TABLE_SORT_DESC:iconPrefix+"caret-bottom",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit-outline",TABLE_HELP:iconPrefix+"question",TABLE_TREE_LOADED:iconPrefix+"refresh roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"refresh roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",BUTTON_DROPDOWN:iconPrefix+"arrow-bottom",BUTTON_LOADING:iconPrefix+"refresh roll",SELECT_LOADED:iconPrefix+"refresh roll",SELECT_OPEN:iconPrefix+"caret-bottom rotate180",SELECT_CLOSE:iconPrefix+"caret-bottom",PAGER_JUMP_PREV:iconPrefix+"d-arrow-left",PAGER_JUMP_NEXT:iconPrefix+"d-arrow-right",PAGER_PREV_PAGE:iconPrefix+"arrow-left",PAGER_NEXT_PAGE:iconPrefix+"arrow-right",PAGER_JUMP_MORE:iconPrefix+"more",INPUT_CLEAR:iconPrefix+"close",INPUT_PWD:iconPrefix+"eye-slash",INPUT_SHOW_PWD:iconPrefix+"eye",INPUT_PREV_NUM:iconPrefix+"caret-top",INPUT_NEXT_NUM:iconPrefix+"caret-bottom",INPUT_DATE:iconPrefix+"calendar",INPUT_SEARCH:iconPrefix+"search",MODAL_ZOOM_IN:iconPrefix+"square",MODAL_ZOOM_OUT:iconPrefix+"zoomout",MODAL_CLOSE:iconPrefix+"close",MODAL_INFO:iconPrefix+"info",MODAL_SUCCESS:iconPrefix+"success",MODAL_WARNING:iconPrefix+"warning",MODAL_ERROR:iconPrefix+"error",MODAL_QUESTION:iconPrefix+"question",MODAL_LOADING:iconPrefix+"refresh roll",TOOLBAR_TOOLS_REFRESH:iconPrefix+"refresh",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"refresh roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_ZOOM_IN:iconPrefix+"zoomin",TOOLBAR_TOOLS_ZOOM_OUT:iconPrefix+"zoomout",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"menu",FORM_PREFIX:iconPrefix+"question",FORM_SUFFIX:iconPrefix+"question",FORM_FOLDING:iconPrefix+"arrow-top rotate180",FORM_UNFOLDING:iconPrefix+"arrow-top"},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,message:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},tooltip:{trigger:"hover",theme:"dark",leaveDelay:300},pager:{},form:{validConfig:{showMessage:!0,autoPos:!0},titleAsterisk:!0},input:{minDate:new Date(1900,0,1),maxDate:new Date(2100,0,1),startDay:1,selectDay:1,digits:2,controls:!0},textarea:{},select:{multiCharOverflow:8},toolbar:{},button:{},radio:{},checkbox:{},switch:{},modal:{top:15,showHeader:!0,minWidth:340,minHeight:140,lockView:!0,mask:!0,duration:3e3,marginSize:0,dblclickZoom:!0,showTitleOverflow:!0,animat:!0,showClose:!0,draggable:!0,storageKey:"VXE_MODAL_POSITION"},list:{scrollY:{enabled:!0,gt:100}},i18n:function(e){return e}};exports.default=_default;
|
|
@@ -216,7 +216,7 @@ var _default = {
|
|
|
216
216
|
var ruleProps = Object.keys(validRest);
|
|
217
217
|
return _this2.$nextTick().then(function () {
|
|
218
218
|
if (ruleProps.length) {
|
|
219
|
-
return
|
|
219
|
+
return validRest[ruleProps[0]][0];
|
|
220
220
|
}
|
|
221
221
|
|
|
222
222
|
if (cb) {
|
|
@@ -224,14 +224,14 @@ var _default = {
|
|
|
224
224
|
}
|
|
225
225
|
});
|
|
226
226
|
}).catch(function (firstErrParams) {
|
|
227
|
-
return new Promise(function (resolve
|
|
227
|
+
return new Promise(function (resolve) {
|
|
228
228
|
var finish = function finish() {
|
|
229
229
|
_this2.$nextTick(function () {
|
|
230
230
|
if (cb) {
|
|
231
231
|
cb(validRest);
|
|
232
232
|
resolve();
|
|
233
233
|
} else {
|
|
234
|
-
|
|
234
|
+
resolve(validRest);
|
|
235
235
|
}
|
|
236
236
|
});
|
|
237
237
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_tools=require("../../tools"),_utils=require("../../tools/src/utils");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
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_tools=require("../../tools"),_utils=require("../../tools/src/utils");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 l=t[r];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}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 _tools.UtilTools.getFuncText(this.$options.content||this.$options.message)}},{key:"message",get:function(){return this.content}}]),t}();function validErrorRuleValue(e,t){var r=e.type,l=e.min,i=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(l)&&r<_xeUtils.default.toNumber(l)||(!_xeUtils.default.eqNull(i)&&r>_xeUtils.default.toNumber(i)||!(!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,l){var u=this,a={},i=this.editRules,s=this.afterFullData,c=this.treeConfig,t=this.treeOpts;!0===e?r=s: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(),i){var d=this.getColumns(),e=function(r){var e;!l&&u.validRuleErr||(e=[],d.forEach(function(t){!l&&u.validRuleErr||!_xeUtils.default.has(i,t.property)||e.push(u.validCellRules("all",r,t).catch(function(e){e={rule:e.rule,rules:e.rules,rowIndex:u.getRowIndex(r),row:r,columnIndex:u.getColumnIndex(t),column:t,$table:u};if(a[t.property]||(a[t.property]=[]),a[t.property].push(e),!l)return u.validRuleErr=!0,Promise.reject(e)}))}),n.push(Promise.all(e)))};return c?_xeUtils.default.eachTree(r,e,t):r.forEach(e),Promise.all(n).then(function(){var e=Object.keys(a);return u.$nextTick().then(function(){return e.length?a[e[0]][0]:void(o&&o())})}).catch(function(n){return new Promise(function(e){function t(){u.$nextTick(function(){o?(o(a),e()):e(a)})}function r(){n.cell=u.getCell(n.row,n.column),_tools.DomTools.scrollToView(n.cell),u.handleValidError(n).then(t)}var l=n.row,i=s.indexOf(l),l=0<i?s[i-1]:l;!1===u.validOpts.autoPos?t():(c?u.scrollToTreeRow(l):u.scrollToRow(l)).then(r)})})}return this.$nextTick().then(function(){o&&o()})},hasCellRules:function(t,e,r){var l=this.editRules,r=r.property;if(r&&l){r=_xeUtils.default.get(l,r);return r&&_xeUtils.default.find(r,function(e){return"all"===t||!e.trigger||t===e.trigger})}return!1},validCellRules:function(n,o,u,e){var a,s,c=this,t=this.editRules,r=u.property,d=[],f=[];return r&&t&&((a=_xeUtils.default.get(t,r))&&(s=_xeUtils.default.isUndefined(e)?_xeUtils.default.get(o,r):e,a.forEach(function(t){var e,r=t.type,l=t.trigger,i=t.required;"all"!==n&&l&&n!==l||(_xeUtils.default.isFunction(t.validator)?(e=t.validator({cellValue:s,rule:t,rules:a,row:o,rowIndex:c.getRowIndex(o),column:u,columnIndex:c.getColumnIndex(u),$table:c}))&&(_xeUtils.default.isError(e)?(c.validRuleErr=!0,d.push(new Rule({type:"custom",trigger:l,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:l,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),(i?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,l=this.editStore,i=this.editRules,n=this.validStore,l=l.actived;if(l.row&&i){var l=l.args,o=l.row,u=l.column,a=l.cell;if(this.hasCellRules(t,o,u))return this.validCellRules(t,o,u).then(function(){"row"===e.mode&&n.visible&&n.row===o&&n.column===u&&r.clearValidate()}).catch(function(e){e=e.rule;if(e.trigger&&t!==e.trigger)return Promise.resolve();e={rule:e,row:o,column:u,cell:a};return r.showValidTooltip(e),Promise.reject(e)})}return Promise.resolve()},showValidTooltip:function(e){var t=this,r=this.$refs,l=this.height,i=this.tableData,n=this.validOpts,o=e.rule,u=e.row,a=e.column,s=e.cell,c=r.validTip,d=o.content;return this.$nextTick(function(){if(Object.assign(t.validStore,{row:u,column:a,rule:o,content:d,visible:!0}),t.emitEvent("valid-error",e),c&&("tooltip"===n.message||"default"===n.message&&!l&&i.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.4.
|
|
3
|
+
"version": "3.4.7-beta.1",
|
|
4
4
|
"description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、贼灵活的配置项、扩展接口等...",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"serve": "vue-cli-service serve",
|
|
@@ -35,20 +35,14 @@
|
|
|
35
35
|
"@vue/cli-service": "~4.4.0",
|
|
36
36
|
"@vue/eslint-config-standard": "^5.1.2",
|
|
37
37
|
"@vue/eslint-config-typescript": "^5.0.2",
|
|
38
|
-
"ant-design-vue": "^1.7.8",
|
|
39
|
-
"codemirror": "^5.53.2",
|
|
40
38
|
"core-js": "^3.6.5",
|
|
41
|
-
"dayjs": "^1.10.4",
|
|
42
39
|
"del": "^5.1.0",
|
|
43
|
-
"element-ui": "^2.15.6",
|
|
44
40
|
"eslint": "^6.7.2",
|
|
45
41
|
"eslint-plugin-import": "^2.20.2",
|
|
46
42
|
"eslint-plugin-node": "^11.1.0",
|
|
47
43
|
"eslint-plugin-promise": "^4.2.1",
|
|
48
44
|
"eslint-plugin-standard": "^4.0.0",
|
|
49
45
|
"eslint-plugin-vue": "^6.2.2",
|
|
50
|
-
"exceljs": "^4.2.1",
|
|
51
|
-
"font-awesome": "^4.7.0",
|
|
52
46
|
"gulp": "^4.0.2",
|
|
53
47
|
"gulp-autoprefixer": "^6.1.0",
|
|
54
48
|
"gulp-babel": "^8.0.0",
|
|
@@ -60,15 +54,9 @@
|
|
|
60
54
|
"gulp-sass": "^4.1.0",
|
|
61
55
|
"gulp-sourcemaps": "^2.6.5",
|
|
62
56
|
"gulp-uglify": "^3.0.2",
|
|
63
|
-
"highlight.js": "^10.5.0",
|
|
64
|
-
"jsbarcode": "^3.11.0",
|
|
65
|
-
"jspdf": "^2.3.1",
|
|
66
57
|
"node-sass": "^4.14.0",
|
|
67
|
-
"qrcode": "^1.4.4",
|
|
68
58
|
"sass-loader": "^8.0.2",
|
|
69
|
-
"sortablejs": "^1.10.2",
|
|
70
59
|
"typescript": "~3.9.3",
|
|
71
|
-
"view-design": "^4.6.1",
|
|
72
60
|
"vue": "^2.6.14",
|
|
73
61
|
"vue-class-component": "^7.2.3",
|
|
74
62
|
"vue-i18n": "^8.18.1",
|
|
@@ -76,23 +64,14 @@
|
|
|
76
64
|
"vue-router": "^3.2.0",
|
|
77
65
|
"vue-template-compiler": "^2.6.14",
|
|
78
66
|
"vuex": "^3.4.0",
|
|
79
|
-
"vxe-table-plugin-antd": "^1.11.3",
|
|
80
|
-
"vxe-table-plugin-charts": "^1.7.1",
|
|
81
|
-
"vxe-table-plugin-element": "^1.11.3",
|
|
82
|
-
"vxe-table-plugin-export-pdf": "^1.9.2",
|
|
83
|
-
"vxe-table-plugin-export-xlsx": "^2.2.1",
|
|
84
|
-
"vxe-table-plugin-iview": "^1.11.4",
|
|
85
|
-
"vxe-table-plugin-menus": "^2.0.2",
|
|
86
|
-
"vxe-table-plugin-renderer": "^1.3.5",
|
|
87
|
-
"vxe-table-plugin-shortcut-key": "^1.5.1",
|
|
88
67
|
"xe-ajax": "^4.0.5",
|
|
89
68
|
"xe-clipboard": "^1.10.1",
|
|
90
|
-
"xe-utils": "^3.4.
|
|
69
|
+
"xe-utils": "^3.4.2",
|
|
91
70
|
"xlsx": "^0.17.0"
|
|
92
71
|
},
|
|
93
72
|
"peerDependencies": {
|
|
94
73
|
"vue": "^2.6.0",
|
|
95
|
-
"xe-utils": "^3.2
|
|
74
|
+
"xe-utils": "^3.4.2"
|
|
96
75
|
},
|
|
97
76
|
"vetur": {
|
|
98
77
|
"tags": "helper/vetur/tags.json",
|
|
@@ -264,38 +264,38 @@ export default {
|
|
|
264
264
|
const panelStyle = {
|
|
265
265
|
zIndex: panelIndex
|
|
266
266
|
}
|
|
267
|
-
const {
|
|
267
|
+
const { top, left, boundingTop, visibleHeight, visibleWidth } = DomTools.getAbsolutePos(targetElem)
|
|
268
268
|
let panelPlacement = 'bottom'
|
|
269
269
|
if (transfer) {
|
|
270
|
-
let
|
|
271
|
-
let
|
|
270
|
+
let btnLeft = left + targetWidth - panelWidth
|
|
271
|
+
let btnTop = top + targetHeight
|
|
272
272
|
if (placement === 'top') {
|
|
273
273
|
panelPlacement = 'top'
|
|
274
|
-
|
|
274
|
+
btnTop = top - panelHeight
|
|
275
275
|
} else if (!placement) {
|
|
276
276
|
// 如果下面不够放,则向上
|
|
277
|
-
if (
|
|
277
|
+
if (boundingTop + targetHeight + panelHeight + marginSize > visibleHeight) {
|
|
278
278
|
panelPlacement = 'top'
|
|
279
|
-
|
|
279
|
+
btnTop = top - panelHeight
|
|
280
280
|
}
|
|
281
281
|
// 如果上面不够放,则向下(优先)
|
|
282
|
-
if (
|
|
282
|
+
if (btnTop < marginSize) {
|
|
283
283
|
panelPlacement = 'bottom'
|
|
284
|
-
|
|
284
|
+
btnTop = top + targetHeight
|
|
285
285
|
}
|
|
286
286
|
}
|
|
287
287
|
// 如果溢出右边
|
|
288
|
-
if (
|
|
289
|
-
|
|
288
|
+
if (btnLeft + panelWidth + marginSize > visibleWidth) {
|
|
289
|
+
btnLeft -= btnLeft + panelWidth + marginSize - visibleWidth
|
|
290
290
|
}
|
|
291
291
|
// 如果溢出左边
|
|
292
|
-
if (
|
|
293
|
-
|
|
292
|
+
if (btnLeft < marginSize) {
|
|
293
|
+
btnLeft = marginSize
|
|
294
294
|
}
|
|
295
295
|
Object.assign(panelStyle, {
|
|
296
|
-
left: `${
|
|
296
|
+
left: `${btnLeft}px`,
|
|
297
297
|
right: 'auto',
|
|
298
|
-
top: `${
|
|
298
|
+
top: `${btnTop}px`,
|
|
299
299
|
minWidth: `${targetWidth}px`
|
|
300
300
|
})
|
|
301
301
|
} else {
|
|
@@ -6,12 +6,12 @@ import { browse } from '../../tools/src/dom'
|
|
|
6
6
|
const { getRowid } = UtilTools
|
|
7
7
|
|
|
8
8
|
function insertTreeRow (_vm, newRecords, isAppend) {
|
|
9
|
-
const {
|
|
9
|
+
const { tableFullTreeData, afterFullData, fullDataRowIdData, fullAllDataRowIdData, treeOpts } = _vm
|
|
10
10
|
const funcName = isAppend ? 'push' : 'unshift'
|
|
11
11
|
newRecords.forEach(item => {
|
|
12
12
|
const parentRowId = item[treeOpts.parentField]
|
|
13
13
|
const rowid = getRowid(_vm, item)
|
|
14
|
-
const matchObj = parentRowId ? XEUtils.findTree(
|
|
14
|
+
const matchObj = parentRowId ? XEUtils.findTree(tableFullTreeData, item => parentRowId === item[treeOpts.rowField], treeOpts) : null
|
|
15
15
|
if (matchObj) {
|
|
16
16
|
const { item: parentRow } = matchObj
|
|
17
17
|
const parentRest = fullAllDataRowIdData[getRowid(_vm, parentRow)]
|
|
@@ -21,7 +21,7 @@ function insertTreeRow (_vm, newRecords, isAppend) {
|
|
|
21
21
|
parentChilds = parentRow[treeOpts.children] = []
|
|
22
22
|
}
|
|
23
23
|
parentChilds[funcName](item)
|
|
24
|
-
const rest = { row: item, rowid, index: -1, _index: -1, $index: -1, items: parentChilds, parent, level: parentLevel + 1 }
|
|
24
|
+
const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, items: parentChilds, parent, level: parentLevel + 1 }
|
|
25
25
|
fullDataRowIdData[rowid] = rest
|
|
26
26
|
fullAllDataRowIdData[rowid] = rest
|
|
27
27
|
} else {
|
|
@@ -31,13 +31,12 @@ function insertTreeRow (_vm, newRecords, isAppend) {
|
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
afterFullData[funcName](item)
|
|
34
|
-
|
|
35
|
-
const rest = { row: item, rowid, index: -1, _index: -1, $index: -1, items:
|
|
34
|
+
tableFullTreeData[funcName](item)
|
|
35
|
+
const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, items: tableFullTreeData, parent: null, level: 0 }
|
|
36
36
|
fullDataRowIdData[rowid] = rest
|
|
37
37
|
fullAllDataRowIdData[rowid] = rest
|
|
38
38
|
}
|
|
39
39
|
})
|
|
40
|
-
_vm.updateVirtualTreeData()
|
|
41
40
|
}
|
|
42
41
|
|
|
43
42
|
export default {
|
|
@@ -59,7 +58,7 @@ export default {
|
|
|
59
58
|
* @param {Row} row 指定行
|
|
60
59
|
*/
|
|
61
60
|
_insertAt (records, row) {
|
|
62
|
-
const {
|
|
61
|
+
const { tableFullTreeData, mergeList, afterFullData, editStore, tableFullData, treeConfig, fullDataRowIdData, fullAllDataRowIdData, treeOpts } = this
|
|
63
62
|
const { transform } = treeOpts
|
|
64
63
|
if (!XEUtils.isArray(records)) {
|
|
65
64
|
records = [records]
|
|
@@ -99,7 +98,7 @@ export default {
|
|
|
99
98
|
} else {
|
|
100
99
|
// 如果为虚拟树
|
|
101
100
|
if (treeConfig && transform) {
|
|
102
|
-
const matchObj = XEUtils.findTree(
|
|
101
|
+
const matchObj = XEUtils.findTree(tableFullTreeData, item => row[treeOpts.rowField] === item[treeOpts.rowField], treeOpts)
|
|
103
102
|
if (matchObj) {
|
|
104
103
|
const { parent: parentRow } = matchObj
|
|
105
104
|
const parentChilds = matchObj.items
|
|
@@ -118,11 +117,10 @@ export default {
|
|
|
118
117
|
item[treeOpts.parentField] = parentRow[treeOpts.rowField]
|
|
119
118
|
}
|
|
120
119
|
parentChilds.splice(matchObj.index + i, 0, item)
|
|
121
|
-
const rest = { row: item, rowid, index: -1, _index: -1, $index: -1, items: parentChilds, parent: parentRow, level: parentLevel + 1 }
|
|
120
|
+
const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, items: parentChilds, parent: parentRow, level: parentLevel + 1 }
|
|
122
121
|
fullDataRowIdData[rowid] = rest
|
|
123
122
|
fullAllDataRowIdData[rowid] = rest
|
|
124
123
|
})
|
|
125
|
-
this.updateVirtualTreeData()
|
|
126
124
|
} else {
|
|
127
125
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
128
126
|
UtilTools.warn('vxe.error.unableInsert')
|
|
@@ -152,12 +150,12 @@ export default {
|
|
|
152
150
|
}
|
|
153
151
|
}
|
|
154
152
|
editStore.insertList.unshift(...newRecords)
|
|
155
|
-
this.
|
|
156
|
-
this.handleTableData(transform)
|
|
153
|
+
this.handleTableData(treeConfig && treeOpts.transform)
|
|
157
154
|
this.updateFooter()
|
|
158
155
|
this.cacheRowMap()
|
|
156
|
+
this.updateAfterDataIndex()
|
|
159
157
|
this.checkSelectionStatus()
|
|
160
|
-
if (scrollYLoad) {
|
|
158
|
+
if (this.scrollYLoad) {
|
|
161
159
|
this.updateScrollYSpace()
|
|
162
160
|
}
|
|
163
161
|
return this.$nextTick().then(() => {
|
|
@@ -177,7 +175,7 @@ export default {
|
|
|
177
175
|
* 如果为空则删除所有
|
|
178
176
|
*/
|
|
179
177
|
_remove (rows) {
|
|
180
|
-
const { afterFullData, tableFullData,
|
|
178
|
+
const { afterFullData, tableFullData, tableFullTreeData, treeConfig, mergeList, editStore, checkboxOpts, selection, isInsertByRow, treeOpts } = this
|
|
181
179
|
const { transform } = treeOpts
|
|
182
180
|
const { actived, removeList, insertList } = editStore
|
|
183
181
|
const { checkField: property } = checkboxOpts
|
|
@@ -213,7 +211,7 @@ export default {
|
|
|
213
211
|
if (treeConfig && transform) {
|
|
214
212
|
rows.forEach((row) => {
|
|
215
213
|
const rowid = getRowid(this, row)
|
|
216
|
-
const matchObj = XEUtils.findTree(
|
|
214
|
+
const matchObj = XEUtils.findTree(tableFullTreeData, item => rowid === getRowid(this, item), treeOpts)
|
|
217
215
|
if (matchObj) {
|
|
218
216
|
const rItems = matchObj.items.splice(matchObj.index, 1)
|
|
219
217
|
rest.push(rItems[0])
|
|
@@ -222,7 +220,6 @@ export default {
|
|
|
222
220
|
if (afIndex > -1) {
|
|
223
221
|
afterFullData.splice(afIndex, 1)
|
|
224
222
|
}
|
|
225
|
-
this.updateVirtualTreeData()
|
|
226
223
|
})
|
|
227
224
|
} else {
|
|
228
225
|
rows.forEach(row => {
|
|
@@ -258,12 +255,12 @@ export default {
|
|
|
258
255
|
insertList.splice(iIndex, 1)
|
|
259
256
|
}
|
|
260
257
|
})
|
|
261
|
-
this.
|
|
262
|
-
this.handleTableData(transform)
|
|
258
|
+
this.handleTableData(treeConfig && treeOpts.transform)
|
|
263
259
|
this.updateFooter()
|
|
264
260
|
this.cacheRowMap()
|
|
261
|
+
this.updateAfterDataIndex()
|
|
265
262
|
this.checkSelectionStatus()
|
|
266
|
-
if (scrollYLoad) {
|
|
263
|
+
if (this.scrollYLoad) {
|
|
267
264
|
this.updateScrollYSpace()
|
|
268
265
|
}
|
|
269
266
|
return this.$nextTick().then(() => {
|
|
@@ -316,7 +313,7 @@ export default {
|
|
|
316
313
|
* 获取新增的临时数据
|
|
317
314
|
*/
|
|
318
315
|
_getInsertRecords () {
|
|
319
|
-
const { treeConfig,
|
|
316
|
+
const { treeConfig, tableFullTreeData, tableFullData, treeOpts } = this
|
|
320
317
|
const insertList = this.editStore.insertList
|
|
321
318
|
const insertRecords = []
|
|
322
319
|
if (insertList.length) {
|
|
@@ -324,7 +321,7 @@ export default {
|
|
|
324
321
|
if (treeConfig && treeOpts.transform) {
|
|
325
322
|
insertList.forEach(row => {
|
|
326
323
|
const rowid = getRowid(this, row)
|
|
327
|
-
const matchObj = XEUtils.findTree(
|
|
324
|
+
const matchObj = XEUtils.findTree(tableFullTreeData, item => rowid === getRowid(this, item), treeOpts)
|
|
328
325
|
if (matchObj) {
|
|
329
326
|
insertRecords.push(row)
|
|
330
327
|
}
|
|
@@ -2,7 +2,7 @@ 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
4
|
import { UtilTools } from '../../tools'
|
|
5
|
-
import { mergeBodyMethod } from '../../table/src/util'
|
|
5
|
+
import { mergeBodyMethod, toTreePathSeq } from '../../table/src/util'
|
|
6
6
|
import { browse } from '../../tools/src/dom'
|
|
7
7
|
|
|
8
8
|
const { formatText } = UtilTools
|
|
@@ -40,10 +40,16 @@ function hasTreeChildren ($xetable, row) {
|
|
|
40
40
|
return row[treeOpts.children] && row[treeOpts.children].length > 0
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
function getSeq ($xetable, row, rowIndex, column, columnIndex) {
|
|
43
|
+
function getSeq ($xetable, row, rowIndex, column, columnIndex, path) {
|
|
44
44
|
const seqOpts = $xetable.seqOpts
|
|
45
45
|
const seqMethod = seqOpts.seqMethod || column.seqMethod
|
|
46
|
-
|
|
46
|
+
if (seqMethod) {
|
|
47
|
+
return seqMethod({ row, rowIndex, column, columnIndex })
|
|
48
|
+
}
|
|
49
|
+
if (path) {
|
|
50
|
+
return toTreePathSeq(path)
|
|
51
|
+
}
|
|
52
|
+
return seqOpts.startIndex + rowIndex + 1
|
|
47
53
|
}
|
|
48
54
|
|
|
49
55
|
function defaultFilterExportColumn (column) {
|
|
@@ -73,10 +79,11 @@ function getLabelData ($xetable, opts, columns, datas) {
|
|
|
73
79
|
if (treeConfig) {
|
|
74
80
|
// 如果是树表格只允许导出数据源
|
|
75
81
|
const rest = []
|
|
82
|
+
const expandMaps = new Map()
|
|
76
83
|
XEUtils.eachTree(datas, (item, rowIndex, items, path, parent, nodes) => {
|
|
77
84
|
const row = item._row || item
|
|
78
85
|
const parentRow = parent && parent._row ? parent._row : parent
|
|
79
|
-
if ((isAllExpand || !parentRow || $xetable.isTreeExpandByRow(parentRow))) {
|
|
86
|
+
if ((isAllExpand || !parentRow || (expandMaps.has(parentRow) && $xetable.isTreeExpandByRow(parentRow)))) {
|
|
80
87
|
const hasRowChild = hasTreeChildren($xetable, row)
|
|
81
88
|
const item = {
|
|
82
89
|
_row: row,
|
|
@@ -99,7 +106,7 @@ function getLabelData ($xetable, opts, columns, datas) {
|
|
|
99
106
|
} else {
|
|
100
107
|
switch (column.type) {
|
|
101
108
|
case 'seq':
|
|
102
|
-
cellValue = getSeq($xetable, row, rowIndex, column, columnIndex)
|
|
109
|
+
cellValue = getSeq($xetable, row, rowIndex, column, columnIndex, path)
|
|
103
110
|
break
|
|
104
111
|
case 'checkbox':
|
|
105
112
|
cellValue = toBooleanValue($xetable.isCheckedByCheckboxRow(row))
|
|
@@ -130,6 +137,7 @@ function getLabelData ($xetable, opts, columns, datas) {
|
|
|
130
137
|
}
|
|
131
138
|
item[column.id] = XEUtils.toValueString(cellValue)
|
|
132
139
|
})
|
|
140
|
+
expandMaps.set(row, 1)
|
|
133
141
|
rest.push(Object.assign(item, row))
|
|
134
142
|
}
|
|
135
143
|
}, treeOpts)
|
|
@@ -154,7 +162,7 @@ function getLabelData ($xetable, opts, columns, datas) {
|
|
|
154
162
|
} else {
|
|
155
163
|
switch (column.type) {
|
|
156
164
|
case 'seq':
|
|
157
|
-
cellValue = getSeq($xetable, row, rowIndex, column, columnIndex)
|
|
165
|
+
cellValue = getSeq($xetable, row, rowIndex, column, columnIndex, null)
|
|
158
166
|
break
|
|
159
167
|
case 'checkbox':
|
|
160
168
|
cellValue = toBooleanValue($xetable.isCheckedByCheckboxRow(row))
|
|
@@ -227,6 +235,9 @@ function getFooterData (opts, footerTableData) {
|
|
|
227
235
|
|
|
228
236
|
function getCsvCellTypeLabel (column, cellValue) {
|
|
229
237
|
if (cellValue) {
|
|
238
|
+
if (column.type === 'seq') {
|
|
239
|
+
return `\t${cellValue}`
|
|
240
|
+
}
|
|
230
241
|
switch (column.cellType) {
|
|
231
242
|
case 'string':
|
|
232
243
|
if (!isNaN(cellValue)) {
|
|
@@ -5,6 +5,25 @@ import VXETable from '../../v-x-e-table'
|
|
|
5
5
|
|
|
6
6
|
export default {
|
|
7
7
|
methods: {
|
|
8
|
+
/**
|
|
9
|
+
* 手动弹出筛选面板
|
|
10
|
+
* @param column
|
|
11
|
+
*/
|
|
12
|
+
_openFilter (fieldOrColumn) {
|
|
13
|
+
const column = handleFieldOrColumn(this, fieldOrColumn)
|
|
14
|
+
if (column && column.filters) {
|
|
15
|
+
const { elemStore } = this
|
|
16
|
+
const { fixed } = column
|
|
17
|
+
return this.scrollToColumn(column).then(() => {
|
|
18
|
+
const headerWrapperElem = elemStore[`${fixed || 'main'}-header-wrapper`] || elemStore['main-header-wrapper']
|
|
19
|
+
if (headerWrapperElem) {
|
|
20
|
+
const filterBtnElem = headerWrapperElem.querySelector(`.vxe-header--column.${column.id} .vxe-filter--btn`)
|
|
21
|
+
DomTools.triggerEvent(filterBtnElem, 'click')
|
|
22
|
+
}
|
|
23
|
+
})
|
|
24
|
+
}
|
|
25
|
+
return this.$nextTick()
|
|
26
|
+
},
|
|
8
27
|
/**
|
|
9
28
|
* 修改筛选条件列表
|
|
10
29
|
* @param {ColumnInfo} fieldOrColumn 列
|
|
@@ -85,7 +104,7 @@ export default {
|
|
|
85
104
|
// 判断面板不能大于表格高度
|
|
86
105
|
let maxHeight = null
|
|
87
106
|
if (filterHeight >= bodyElem.clientHeight) {
|
|
88
|
-
maxHeight = Math.max(
|
|
107
|
+
maxHeight = Math.max(60, bodyElem.clientHeight - (filterFootElem ? filterFootElem.offsetHeight : 0) - (filterHeadElem ? filterHeadElem.offsetHeight : 0))
|
|
89
108
|
}
|
|
90
109
|
if (column.fixed === 'left') {
|
|
91
110
|
left = targetElem.offsetLeft + targetElem.offsetParent.offsetLeft - centerWidth
|
|
@@ -670,7 +670,11 @@ export default {
|
|
|
670
670
|
body.insertRecords = insertRecords.filter(row => pendingRecords.indexOf(row) === -1)
|
|
671
671
|
}
|
|
672
672
|
// 只校验新增和修改的数据
|
|
673
|
-
return this.validate(body.insertRecords.concat(updateRecords)).then(() => {
|
|
673
|
+
return this.validate(body.insertRecords.concat(updateRecords)).then((errMap) => {
|
|
674
|
+
if (errMap) {
|
|
675
|
+
// 如果校验不通过
|
|
676
|
+
return
|
|
677
|
+
}
|
|
674
678
|
if (body.insertRecords.length || removeRecords.length || updateRecords.length || body.pendingRecords.length) {
|
|
675
679
|
this.tableLoading = true
|
|
676
680
|
return Promise.resolve((beforeSave || ajaxMethods)(...applyArgs))
|
|
@@ -715,7 +719,7 @@ export default {
|
|
|
715
719
|
VXETable.modal.message({ id: code, content: GlobalConfig.i18n('vxe.grid.dataUnchanged'), status: 'info' })
|
|
716
720
|
}
|
|
717
721
|
}
|
|
718
|
-
})
|
|
722
|
+
})
|
|
719
723
|
} else {
|
|
720
724
|
if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
721
725
|
UtilTools.error('vxe.error.notFunc', ['proxy-config.ajax.save'])
|