@v-c/table 0.0.3 → 1.0.0

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/dist/Table.cjs CHANGED
@@ -26,6 +26,8 @@ let vue = require("vue");
26
26
  let _v_c_resize_observer = require("@v-c/resize-observer");
27
27
  _v_c_resize_observer = require_rolldown_runtime.__toESM(_v_c_resize_observer);
28
28
  let _v_c_util = require("@v-c/util");
29
+ let _v_c_util_dist_Dom_canUseDom = require("@v-c/util/dist/Dom/canUseDom");
30
+ _v_c_util_dist_Dom_canUseDom = require_rolldown_runtime.__toESM(_v_c_util_dist_Dom_canUseDom);
29
31
  let _v_c_util_dist_Dom_findDOMNode = require("@v-c/util/dist/Dom/findDOMNode");
30
32
  let _v_c_util_dist_getScrollBarSize = require("@v-c/util/dist/getScrollBarSize");
31
33
  let _v_c_util_dist_isEqual = require("@v-c/util/dist/isEqual");
@@ -174,11 +176,7 @@ var ImmutableTable = /* @__PURE__ */ (0, vue.defineComponent)((props, { attrs, s
174
176
  target(scrollLeft);
175
177
  return;
176
178
  }
177
- if (target.scrollTo) {
178
- target.scrollTo({ left: scrollLeft });
179
- return;
180
- }
181
- const element = (0, _v_c_util_dist_Dom_findDOMNode.getDOM)(target);
179
+ const element = target.nativeElement ? (0, _v_c_util_dist_Dom_findDOMNode.getDOM)(target.nativeElement) : (0, _v_c_util_dist_Dom_findDOMNode.getDOM)(target);
182
180
  if (element && element.scrollLeft !== scrollLeft) {
183
181
  element.scrollLeft = scrollLeft;
184
182
  if (element.scrollLeft !== scrollLeft) setTimeout(() => {
@@ -265,6 +263,7 @@ var ImmutableTable = /* @__PURE__ */ (0, vue.defineComponent)((props, { attrs, s
265
263
  else scrollbarSize.value = (0, _v_c_util_dist_getScrollBarSize.getTargetScrollBarSize)(scrollBodyContainerRef.value).width;
266
264
  });
267
265
  (0, vue.watchEffect)(() => {
266
+ if (!(0, _v_c_util_dist_Dom_canUseDom.default)()) return;
268
267
  if (useInternalHooks.value && props.internalRefs?.body) props.internalRefs.body.value = (0, _v_c_util_dist_Dom_findDOMNode.getDOM)(scrollBodyRef.value);
269
268
  });
270
269
  const TableComponent = (0, vue.computed)(() => getComponent(["table"], "table"));
package/dist/Table.js CHANGED
@@ -20,6 +20,7 @@ import ColumnGroup_default from "./sugar/ColumnGroup.js";
20
20
  import { Fragment, computed, createVNode, defineComponent, isVNode, mergeDefaults, mergeProps, nextTick, onMounted, reactive, ref, shallowRef, watch, watchEffect } from "vue";
21
21
  import ResizeObserver from "@v-c/resize-observer";
22
22
  import { clsx, get, warning } from "@v-c/util";
23
+ import canUseDom from "@v-c/util/dist/Dom/canUseDom";
23
24
  import { getDOM } from "@v-c/util/dist/Dom/findDOMNode";
24
25
  import { getTargetScrollBarSize } from "@v-c/util/dist/getScrollBarSize";
25
26
  import isEqual from "@v-c/util/dist/isEqual";
@@ -166,11 +167,7 @@ var ImmutableTable = /* @__PURE__ */ defineComponent((props, { attrs, slots, exp
166
167
  target(scrollLeft);
167
168
  return;
168
169
  }
169
- if (target.scrollTo) {
170
- target.scrollTo({ left: scrollLeft });
171
- return;
172
- }
173
- const element = getDOM(target);
170
+ const element = target.nativeElement ? getDOM(target.nativeElement) : getDOM(target);
174
171
  if (element && element.scrollLeft !== scrollLeft) {
175
172
  element.scrollLeft = scrollLeft;
176
173
  if (element.scrollLeft !== scrollLeft) setTimeout(() => {
@@ -257,6 +254,7 @@ var ImmutableTable = /* @__PURE__ */ defineComponent((props, { attrs, slots, exp
257
254
  else scrollbarSize.value = getTargetScrollBarSize(scrollBodyContainerRef.value).width;
258
255
  });
259
256
  watchEffect(() => {
257
+ if (!canUseDom()) return;
260
258
  if (useInternalHooks.value && props.internalRefs?.body) props.internalRefs.body.value = getDOM(scrollBodyRef.value);
261
259
  });
262
260
  const TableComponent = computed(() => getComponent(["table"], "table"));
@@ -82,8 +82,13 @@ var BodyGrid = /* @__PURE__ */ (0, vue.defineComponent)({
82
82
  if (!item) return null;
83
83
  const rowKey = item.rowKey;
84
84
  const getHeight = (rowSpan) => {
85
- const endItem = rawData[index + rowSpan - 1];
86
- if (!endItem) return 0;
85
+ const endItemIndex = index + rowSpan - 1;
86
+ const endItem = rawData[endItemIndex];
87
+ if (!endItem || !endItem.record) {
88
+ const endItemKey$1 = rawData[Math.min(endItemIndex, rawData.length - 1)].rowKey;
89
+ const sizeInfo$2 = getSize(rowKey, endItemKey$1);
90
+ return sizeInfo$2.bottom - sizeInfo$2.top;
91
+ }
87
92
  const endItemKey = endItem.rowKey;
88
93
  const sizeInfo$1 = getSize(rowKey, endItemKey);
89
94
  return sizeInfo$1.bottom - sizeInfo$1.top;
@@ -76,8 +76,13 @@ var BodyGrid_default = /* @__PURE__ */ defineComponent({
76
76
  if (!item) return null;
77
77
  const rowKey = item.rowKey;
78
78
  const getHeight = (rowSpan) => {
79
- const endItem = rawData[index + rowSpan - 1];
80
- if (!endItem) return 0;
79
+ const endItemIndex = index + rowSpan - 1;
80
+ const endItem = rawData[endItemIndex];
81
+ if (!endItem || !endItem.record) {
82
+ const endItemKey$1 = rawData[Math.min(endItemIndex, rawData.length - 1)].rowKey;
83
+ const sizeInfo$2 = getSize(rowKey, endItemKey$1);
84
+ return sizeInfo$2.bottom - sizeInfo$2.top;
85
+ }
81
86
  const endItemKey = endItem.rowKey;
82
87
  const sizeInfo$1 = getSize(rowKey, endItemKey);
83
88
  return sizeInfo$1.bottom - sizeInfo$1.top;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@v-c/table",
3
3
  "type": "module",
4
- "version": "0.0.3",
4
+ "version": "1.0.0",
5
5
  "exports": {
6
6
  ".": {
7
7
  "types": "./dist/index.d.ts",
@@ -20,8 +20,8 @@
20
20
  "vue": "^3.0.0"
21
21
  },
22
22
  "dependencies": {
23
- "@v-c/util": "^1.0.6",
24
- "@v-c/resize-observer": "^1.0.3",
23
+ "@v-c/resize-observer": "^1.0.8",
24
+ "@v-c/util": "^1.0.9",
25
25
  "@v-c/virtual-list": "^1.0.5"
26
26
  },
27
27
  "publishConfig": {