vxe-table 3.19.4 → 3.19.5

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.
Files changed (48) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/style.css +1 -1
  4. package/es/style.min.css +1 -1
  5. package/es/table/module/edit/mixin.js +13 -11
  6. package/es/table/src/methods.js +17 -1
  7. package/es/table/src/table.js +5 -1
  8. package/es/table/style.css +4 -3
  9. package/es/table/style.min.css +1 -1
  10. package/es/ui/index.js +1 -1
  11. package/es/ui/src/dom.js +17 -0
  12. package/es/ui/src/log.js +1 -1
  13. package/es/vxe-table/style.css +4 -3
  14. package/es/vxe-table/style.min.css +1 -1
  15. package/lib/index.css +1 -1
  16. package/lib/index.min.css +1 -1
  17. package/lib/index.umd.js +53 -14
  18. package/lib/index.umd.min.js +1 -1
  19. package/lib/style.css +1 -1
  20. package/lib/style.min.css +1 -1
  21. package/lib/table/module/edit/mixin.js +13 -11
  22. package/lib/table/module/edit/mixin.min.js +1 -1
  23. package/lib/table/src/methods.js +16 -0
  24. package/lib/table/src/methods.min.js +1 -1
  25. package/lib/table/src/table.js +5 -1
  26. package/lib/table/src/table.min.js +1 -1
  27. package/lib/table/style/style.css +4 -3
  28. package/lib/table/style/style.min.css +1 -1
  29. package/lib/ui/index.js +1 -1
  30. package/lib/ui/index.min.js +1 -1
  31. package/lib/ui/src/dom.js +18 -0
  32. package/lib/ui/src/dom.min.js +1 -1
  33. package/lib/ui/src/log.js +1 -1
  34. package/lib/ui/src/log.min.js +1 -1
  35. package/lib/vxe-table/style/style.css +4 -3
  36. package/lib/vxe-table/style/style.min.css +1 -1
  37. package/package.json +1 -1
  38. package/packages/table/module/edit/mixin.ts +13 -11
  39. package/packages/table/src/methods.ts +18 -1
  40. package/packages/table/src/table.ts +5 -1
  41. package/packages/ui/src/dom.ts +18 -0
  42. package/styles/components/table.scss +34 -3
  43. /package/es/{iconfont.1761699967297.ttf → iconfont.1761784799557.ttf} +0 -0
  44. /package/es/{iconfont.1761699967297.woff → iconfont.1761784799557.woff} +0 -0
  45. /package/es/{iconfont.1761699967297.woff2 → iconfont.1761784799557.woff2} +0 -0
  46. /package/lib/{iconfont.1761699967297.ttf → iconfont.1761784799557.ttf} +0 -0
  47. /package/lib/{iconfont.1761699967297.woff → iconfont.1761784799557.woff} +0 -0
  48. /package/lib/{iconfont.1761699967297.woff2 → iconfont.1761784799557.woff2} +0 -0
@@ -1,5 +1,5 @@
1
1
  import XEUtils from 'xe-utils'
2
- import { getTpImg, isPx, isScale, hasClass, addClass, removeClass, getEventTargetNode, getPaddingTopBottomSize, setScrollTop, setScrollLeft, toCssUnit, hasControlKey } from '../../ui/src/dom'
2
+ import { getTpImg, isPx, isScale, hasClass, addClass, removeClass, getEventTargetNode, getPaddingTopBottomSize, setScrollTop, setScrollLeft, toCssUnit, hasControlKey, checkTargetElement } from '../../ui/src/dom'
3
3
  import { getLastZIndex, nextZIndex, hasChildrenList, getFuncText, isEnableConf, formatText, eqEmptyValue } from '../../ui/src/utils'
4
4
  import { VxeUI } from '../../ui'
5
5
  import Cell from './cell'
@@ -11286,6 +11286,7 @@ const Methods = {
11286
11286
  },
11287
11287
  triggerBodyWheelEvent (evnt: WheelEvent) {
11288
11288
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
11289
+ const $xeParentTable = $xeTable.$xeParentTable as VxeTableConstructor & VxeTablePrivateMethods
11289
11290
  const tableProps = $xeTable
11290
11291
  const reactData = $xeTable as unknown as TableReactData
11291
11292
  const internalData = $xeTable as unknown as TableInternalData
@@ -11352,6 +11353,22 @@ const Methods = {
11352
11353
  }
11353
11354
  }
11354
11355
 
11356
+ // 展开行处理,如果展开行嵌入表格中
11357
+ if ($xeParentTable) {
11358
+ if (isRollY) {
11359
+ if (checkTargetElement(evnt.target, [leftScrollElem, bodyScrollElem, rightScrollElem], evnt.currentTarget)) {
11360
+ evnt.stopPropagation()
11361
+ return
11362
+ }
11363
+ }
11364
+ if (isRollX) {
11365
+ if (checkTargetElement(evnt.target, [headerScrollElem, bodyScrollElem, footerScrollElem], evnt.currentTarget)) {
11366
+ evnt.stopPropagation()
11367
+ return
11368
+ }
11369
+ }
11370
+ }
11371
+
11355
11372
  if (!(leftFixedWidth || rightFixedWidth || expandColumn)) {
11356
11373
  return
11357
11374
  }
@@ -532,6 +532,10 @@ export default {
532
532
  $xeTabs: {
533
533
  default: null
534
534
  },
535
+ $xeParentTable: {
536
+ from: '$xeTable',
537
+ default: null
538
+ },
535
539
  $xeGrid: {
536
540
  default: null
537
541
  },
@@ -1490,7 +1494,7 @@ export default {
1490
1494
  const reactData = $xeTable as unknown as TableReactData
1491
1495
 
1492
1496
  const { initStatus } = this
1493
- if (value && value.length >= 50000) {
1497
+ if (value && value.length >= 20000) {
1494
1498
  warnLog('vxe.error.errLargeData', ['loadData(data), reloadData(data)'])
1495
1499
  }
1496
1500
  this.loadTableData(value || [], true).then(() => {
@@ -140,6 +140,24 @@ export function updateCellTitle (overflowElem: any, column: any) {
140
140
  }
141
141
  }
142
142
 
143
+ export function checkTargetElement (target: HTMLElement | EventTarget | null, exEls: (HTMLElement | null)[], endEl?: HTMLElement | EventTarget | null) {
144
+ let targetEl = target
145
+ if (!exEls || !exEls.length) {
146
+ return false
147
+ }
148
+ const [exEl1, exEl2, exEl3] = exEls
149
+ while (targetEl) {
150
+ if (exEl1 === targetEl || (exEl2 && targetEl === exEl2) || (exEl3 && targetEl === exEl3)) {
151
+ return true
152
+ }
153
+ if (endEl && targetEl === endEl) {
154
+ return false
155
+ }
156
+ targetEl = (targetEl as HTMLElement).parentElement
157
+ }
158
+ return false
159
+ }
160
+
143
161
  /**
144
162
  * 检查触发源是否属于目标节点
145
163
  */
@@ -2223,16 +2223,28 @@ $btnThemeList: (
2223
2223
  left: 50%;
2224
2224
  font-size: 12px;
2225
2225
  line-height: 1em;
2226
- transform: translate(-50%, -50%);
2226
+ transform: translate(-50%, -2px);
2227
2227
  text-align: left;
2228
2228
  z-index: 4;
2229
2229
  padding: 0 var(--vxe-ui-table-cell-padding-default);
2230
2230
  pointer-events: none;
2231
2231
  }
2232
2232
  .vxe-cell--valid-error-wrapper {
2233
+ position: relative;
2233
2234
  display: inline-block;
2234
2235
  border-radius: var(--vxe-ui-border-radius);
2235
2236
  pointer-events: auto;
2237
+ // &::before {
2238
+ // content: "";
2239
+ // position: absolute;
2240
+ // top: -0.75em;
2241
+ // left: 50%;
2242
+ // bottom: auto;
2243
+ // transform: translateX(-50%);
2244
+ // border-width: 0.5em;
2245
+ // border-style: solid;
2246
+ // border-color: transparent transparent var(--vxe-ui-table-validate-error-color) transparent;
2247
+ // }
2236
2248
  }
2237
2249
  .vxe-cell--valid-error-theme-beautify {
2238
2250
  padding: 0.2em 0.6em 0.25em 0.6em;
@@ -2267,12 +2279,26 @@ $btnThemeList: (
2267
2279
  &:last-child {
2268
2280
  .vxe-cell--valid-error-tip {
2269
2281
  bottom: calc(100%);
2270
- transform: translate(-50%, 50%);
2282
+ transform: translate(-50%, 0);
2283
+ // .vxe-cell--valid-error-wrapper {
2284
+ // &::before {
2285
+ // bottom: -0.75em;
2286
+ // top: auto;
2287
+ // border-color: var(--vxe-ui-table-validate-error-color) transparent transparent transparent;
2288
+ // }
2289
+ // }
2271
2290
  }
2272
2291
  &:first-child {
2273
2292
  .vxe-cell--valid-error-tip {
2274
2293
  bottom: auto;
2275
- transform: translate(-50%, -50%);
2294
+ transform: translate(-50%, -2px);
2295
+ // .vxe-cell--valid-error-wrapper {
2296
+ // &::before {
2297
+ // top: -0.75em;
2298
+ // bottom: auto;
2299
+ // border-color: transparent transparent var(--vxe-ui-table-validate-error-color) transparent;
2300
+ // }
2301
+ // }
2276
2302
  }
2277
2303
  }
2278
2304
  }
@@ -2308,6 +2334,11 @@ $btnThemeList: (
2308
2334
  background-color: #f56c6c;
2309
2335
  pointer-events: auto;
2310
2336
  }
2337
+ // .vxe-cell--valid-error-wrapper {
2338
+ // &::before {
2339
+ // display: none;
2340
+ // }
2341
+ // }
2311
2342
  }
2312
2343
  }
2313
2344
  }