vxe-table 4.1.5 → 4.1.6

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/package.json CHANGED
@@ -1,13 +1,11 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "4.1.5",
3
+ "version": "4.1.6",
4
4
  "description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、贼灵活的配置项、扩展接口等...",
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
7
7
  "lint": "vue-cli-service lint",
8
- "build": "npm run build:examples & npm run build:docs",
9
- "build:examples": "vue-cli-service build",
10
- "build:docs": "gulp update_docs",
8
+ "build": "vue-cli-service build",
11
9
  "lib:modules": "gulp build",
12
10
  "lib:pack": "vue-cli-service build --target lib --name index --dest lib_temp index.ts",
13
11
  "lib": "npm run lib:pack && npm run lib:modules",
@@ -29,9 +27,7 @@
29
27
  "style": "lib/style.css",
30
28
  "typings": "types/index.d.ts",
31
29
  "devDependencies": {
32
- "@types/qrcode": "^1.4.1",
33
30
  "@types/resize-observer-browser": "^0.1.6",
34
- "@types/sortablejs": "^1.10.7",
35
31
  "@typescript-eslint/eslint-plugin": "^4.18.0",
36
32
  "@typescript-eslint/parser": "^4.18.0",
37
33
  "@vue/cli-plugin-babel": "~4.5.0",
@@ -43,18 +39,13 @@
43
39
  "@vue/compiler-sfc": "^3.2.18",
44
40
  "@vue/eslint-config-standard": "^5.1.2",
45
41
  "@vue/eslint-config-typescript": "^7.0.0",
46
- "ant-design-vue": "^2.2.8",
47
42
  "core-js": "^3.6.5",
48
- "dayjs": "^1.10.7",
49
- "element-plus": "^1.1.0-beta.24",
50
43
  "eslint": "^6.7.2",
51
44
  "eslint-plugin-import": "^2.20.2",
52
45
  "eslint-plugin-node": "^11.1.0",
53
46
  "eslint-plugin-promise": "^4.2.1",
54
47
  "eslint-plugin-standard": "^4.0.0",
55
48
  "eslint-plugin-vue": "^7.0.0",
56
- "exceljs": "^4.3.0",
57
- "font-awesome": "^4.7.0",
58
49
  "gulp": "^4.0.2",
59
50
  "gulp-autoprefixer": "^6.1.0",
60
51
  "gulp-babel": "^8.0.0",
@@ -67,29 +58,15 @@
67
58
  "gulp-sourcemaps": "^2.6.5",
68
59
  "gulp-typescript": "^5.0.1",
69
60
  "gulp-uglify": "^3.0.2",
70
- "highlight.js": "^11.2.0",
71
- "jsbarcode": "^3.11.0",
72
- "jspdf": "^2.4.0",
73
61
  "node-sass": "^6.0.1",
74
- "qrcode": "^1.4.4",
75
62
  "sass-loader": "^10.0.5",
76
- "sortablejs": "^1.14.0",
77
63
  "typescript": "~4.3.5",
78
64
  "vue": "^3.2.21",
79
65
  "vue-i18n": "^9.1.7",
80
66
  "vue-router": "^4.0.11",
81
67
  "vuex": "^4.0.2",
82
- "vxe-table-plugin-antd": "^3.0.5",
83
- "vxe-table-plugin-element": "^3.0.5",
84
- "vxe-table-plugin-export-pdf": "^3.0.2",
85
- "vxe-table-plugin-export-xlsx": "^3.0.3",
86
- "vxe-table-plugin-menus": "^3.0.6",
87
- "vxe-table-plugin-renderer": "^3.0.2",
88
- "vxe-table-plugin-shortcut-key": "^3.0.2",
89
68
  "xe-ajax": "^4.0.5",
90
- "xe-clipboard": "^1.10.1",
91
- "xe-utils": "^3.4.0",
92
- "xlsx": "^0.17.2"
69
+ "xe-utils": "^3.4.0"
93
70
  },
94
71
  "peerDependencies": {
95
72
  "vue": "^3.2.2",
@@ -395,7 +395,7 @@ export default defineComponent({
395
395
  callback()
396
396
  }
397
397
  }).catch(() => {
398
- return new Promise<void>((resolve, reject) => {
398
+ return new Promise<void>((resolve) => {
399
399
  showErrTime = window.setTimeout(() => {
400
400
  itemList.forEach((item) => {
401
401
  if (item.errRule) {
@@ -412,7 +412,7 @@ export default defineComponent({
412
412
  callback(validRest)
413
413
  resolve()
414
414
  } else {
415
- reject(validRest)
415
+ resolve(validRest)
416
416
  }
417
417
  })
418
418
  })
@@ -3086,6 +3086,16 @@ export default defineComponent({
3086
3086
  const treeOpts = computeTreeOpts.value
3087
3087
  const reserveSelection: any[] = []
3088
3088
  if (checkboxOpts.reserve) {
3089
+ const afterFullIdMaps: { [key: string]: number } = {}
3090
+ if (treeConfig) {
3091
+ XEUtils.eachTree(afterFullData, row => {
3092
+ afterFullIdMaps[getRowid($xetable, row)] = 1
3093
+ }, treeOpts)
3094
+ } else {
3095
+ afterFullData.forEach(row => {
3096
+ afterFullIdMaps[getRowid($xetable, row)] = 1
3097
+ })
3098
+ }
3089
3099
  XEUtils.each(checkboxReserveRowMap, (oldRow, oldRowid) => {
3090
3100
  if (oldRow) {
3091
3101
  if (isFull) {
@@ -3093,14 +3103,8 @@ export default defineComponent({
3093
3103
  reserveSelection.push(oldRow)
3094
3104
  }
3095
3105
  } else {
3096
- if (treeConfig) {
3097
- if (!XEUtils.findTree(afterFullData, row => getRowid($xetable, row) === oldRowid, treeOpts)) {
3098
- reserveSelection.push(oldRow)
3099
- }
3100
- } else {
3101
- if (!afterFullData.some(row => getRowid($xetable, row) === oldRowid)) {
3102
- reserveSelection.push(oldRow)
3103
- }
3106
+ if (!afterFullIdMaps[oldRowid]) {
3107
+ reserveSelection.push(oldRow)
3104
3108
  }
3105
3109
  }
3106
3110
  }
@@ -13,6 +13,7 @@ const GlobalConfig: VXETableGlobalConfig = {
13
13
  showHeader: true,
14
14
  animat: true,
15
15
  delayHover: 250,
16
+ autoResize: true,
16
17
  // keepSource: false,
17
18
  // showOverflow: null,
18
19
  // showHeaderOverflow: null,
@@ -20,7 +21,6 @@ const GlobalConfig: VXETableGlobalConfig = {
20
21
  // resizeInterval: 500,
21
22
  // size: null,
22
23
  // zIndex: null,
23
- // autoResize: false,
24
24
  // stripe: false,
25
25
  // border: false,
26
26
  // round: false,
@@ -685,7 +685,7 @@ export const renderer: VxeGlobalRenderer = {
685
685
  XEUtils.each(opts, (options, name) => renderer.add(name, options))
686
686
  return renderer
687
687
  },
688
- get (name) {
688
+ get (name: string) {
689
689
  return renderMap[name] || null
690
690
  },
691
691
  add (name, options) {
@@ -149,21 +149,21 @@ const validatorHook: VxeGlobalHooksHandles.HookOptions = {
149
149
  const ruleProps = Object.keys(validRest)
150
150
  return nextTick().then(() => {
151
151
  if (ruleProps.length) {
152
- return Promise.reject(validRest[ruleProps[0]][0])
152
+ return validRest[ruleProps[0]][0]
153
153
  }
154
154
  if (cb) {
155
155
  cb()
156
156
  }
157
157
  })
158
158
  }).catch(firstErrParams => {
159
- return new Promise<void>((resolve, reject) => {
159
+ return new Promise<void>((resolve) => {
160
160
  const finish = () => {
161
161
  nextTick(() => {
162
162
  if (cb) {
163
163
  cb(validRest)
164
164
  resolve()
165
165
  } else {
166
- reject(validRest)
166
+ resolve(validRest)
167
167
  }
168
168
  })
169
169
  }
@@ -17,6 +17,8 @@ export interface DefineRendererOption<T> {
17
17
  filterRemoteMethod?(params: VxeGlobalRendererHandles.FilterRemoteMethod): boolean;
18
18
  filterResetMethod?(params: VxeGlobalRendererHandles.FilterResetMethodParams): void;
19
19
  filterRecoverMethod?(params: VxeGlobalRendererHandles.FilterRecoverMethodParams): void;
20
+ // 默认行为
21
+ defaultFilterMethod?(params: VxeGlobalRendererHandles.FilterMethodParams): boolean;
20
22
 
21
23
  // 单元格渲染
22
24
  renderHeader?(renderOpts: VxeGlobalRendererHandles.RenderHeaderOptions, params: VxeGlobalRendererHandles.RenderHeaderParams): T;
@@ -197,7 +199,7 @@ export namespace VxeGlobalRendererHandles {
197
199
  /**
198
200
  * 渲染器名称
199
201
  */
200
- name: string;
202
+ name?: string;
201
203
  /**
202
204
  * 目标组件渲染的参数
203
205
  */
@@ -246,7 +248,7 @@ export interface VxeGlobalRenderer {
246
248
  mixin(options: {
247
249
  [name: string]: RendererOptions;
248
250
  }): VxeGlobalRenderer;
249
- get(name: string): DefineRendererOption<VxeGlobalRendererHandles.RenderResult>;
251
+ get(name: string | null | undefined): DefineRendererOption<VxeGlobalRendererHandles.RenderResult>;
250
252
  add(name: string, options: RendererOptions): VxeGlobalRenderer;
251
253
  delete(name: string): void;
252
254
  }