@progress/kendo-vue-grid 3.8.4-dev.202302231609 → 3.8.5-dev.202303090938

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/es/Grid.d.ts CHANGED
@@ -121,8 +121,6 @@ export interface GridState {
121
121
  initialHeight: String | null;
122
122
  dragLogic: CommonDragLogic;
123
123
  slicedCurrentData: Array<DataItemWrapper> | undefined;
124
- containerRef: any;
125
- tableBodyRef: any;
126
124
  vs: VirtualScrollInterface;
127
125
  columnResize: ColumnResize;
128
126
  _gridId: string;
package/dist/es/Grid.js CHANGED
@@ -394,9 +394,6 @@ var GridVue2 = {
394
394
  this.vs.containerHeight = 1533915;
395
395
  }
396
396
  }
397
- this.vs.containerRef = this.containerRef;
398
- this.vs.tableBodyRef = this.tableBodyRef;
399
- this.vs.table = this.tableElement;
400
397
  this.slicedCurrentData = undefined;
401
398
  if (this.vs instanceof VirtualScrollFixed) {
402
399
  var _a = this.$props,
@@ -26,15 +26,18 @@ var VirtualScroll = /** @class */ (function () {
26
26
  var screenHeight = _this.container.clientHeight;
27
27
  var footerRowsCount = _this.container.querySelectorAll('.k-group-footer').length;
28
28
  var itemsOnScreen = Math.ceil(screenHeight / heights[0].line);
29
- var topItemsCount = Math.max(itemsOnScreen / 2, Math.ceil((heights.length - itemsOnScreen) / 2));
29
+ var footersToItems = Math.ceil(footerRowsCount / itemsOnScreen);
30
+ var topItemsCount = Math.max(footersToItems, Math.ceil((heights.length - itemsOnScreen) / 2));
30
31
  var topItemsHeight = 0;
31
32
  for (var i = 0; i < topItemsCount; i++) {
32
33
  topItemsHeight += heights[i].line + heights[i].acc;
33
34
  }
35
+ var additioanlFooterItems = footersToItems ? footerRowsCount / (1 + footersToItems) : 0;
36
+ var itemsNeededOnScreen = itemsOnScreen + itemsOnScreen / 2 + additioanlFooterItems;
34
37
  return {
35
38
  topItemsCount: topItemsCount,
36
39
  topItemsHeight: topItemsHeight,
37
- itemsNeededOnScreen: itemsOnScreen + itemsOnScreen / 2 + footerRowsCount
40
+ itemsNeededOnScreen: itemsNeededOnScreen
38
41
  };
39
42
  };
40
43
  this.horizontalScrollbarHeight = function () {
@@ -195,8 +198,12 @@ var VirtualScroll = /** @class */ (function () {
195
198
  else if (rowIndexOffset === -1) {
196
199
  microAdjust = -((heights[heights.length - 1].line + heights[heights.length - 1].acc) * rowpercentage);
197
200
  }
198
- var _a = this.topItems(heights, Boolean(this.topCacheCount)), topItemsCount = _a.topItemsCount, topItemsHeight = _a.topItemsHeight;
199
- this.translate(Math.max(0, microAdjust - topItemsHeight - this.horizontalScrollbarHeight() + this.containerHeight * floatRowIndex / this.total));
201
+ var _a = this.topItems(heights, Boolean(this.topCacheCount)), topItemsCount = _a.topItemsCount, topItemsHeight = _a.topItemsHeight, itemsNeededOnScreen = _a.itemsNeededOnScreen;
202
+ var nextScroll = Math.max(0, microAdjust - topItemsHeight - this.horizontalScrollbarHeight() + this.containerHeight * floatRowIndex / this.total);
203
+ if ((this.prevScrollPos < nextScroll) && heights.length <= itemsNeededOnScreen) {
204
+ return;
205
+ }
206
+ this.translate(nextScroll);
200
207
  this.changePage(rowIndex - topItemsCount, e);
201
208
  };
202
209
  VirtualScroll.prototype.scrollHandler = function (e) {
@@ -5,7 +5,7 @@ export var packageMetadata = {
5
5
  name: '@progress/kendo-vue-grid',
6
6
  productName: 'Kendo UI for Vue',
7
7
  productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],
8
- publishDate: 1677168084,
8
+ publishDate: 1678354302,
9
9
  version: '',
10
10
  licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'
11
11
  };
@@ -121,8 +121,6 @@ export interface GridState {
121
121
  initialHeight: String | null;
122
122
  dragLogic: CommonDragLogic;
123
123
  slicedCurrentData: Array<DataItemWrapper> | undefined;
124
- containerRef: any;
125
- tableBodyRef: any;
126
124
  vs: VirtualScrollInterface;
127
125
  columnResize: ColumnResize;
128
126
  _gridId: string;
package/dist/esm/Grid.js CHANGED
@@ -394,9 +394,6 @@ var GridVue2 = {
394
394
  this.vs.containerHeight = 1533915;
395
395
  }
396
396
  }
397
- this.vs.containerRef = this.containerRef;
398
- this.vs.tableBodyRef = this.tableBodyRef;
399
- this.vs.table = this.tableElement;
400
397
  this.slicedCurrentData = undefined;
401
398
  if (this.vs instanceof VirtualScrollFixed) {
402
399
  var _a = this.$props,
@@ -26,15 +26,18 @@ var VirtualScroll = /** @class */ (function () {
26
26
  var screenHeight = _this.container.clientHeight;
27
27
  var footerRowsCount = _this.container.querySelectorAll('.k-group-footer').length;
28
28
  var itemsOnScreen = Math.ceil(screenHeight / heights[0].line);
29
- var topItemsCount = Math.max(itemsOnScreen / 2, Math.ceil((heights.length - itemsOnScreen) / 2));
29
+ var footersToItems = Math.ceil(footerRowsCount / itemsOnScreen);
30
+ var topItemsCount = Math.max(footersToItems, Math.ceil((heights.length - itemsOnScreen) / 2));
30
31
  var topItemsHeight = 0;
31
32
  for (var i = 0; i < topItemsCount; i++) {
32
33
  topItemsHeight += heights[i].line + heights[i].acc;
33
34
  }
35
+ var additioanlFooterItems = footersToItems ? footerRowsCount / (1 + footersToItems) : 0;
36
+ var itemsNeededOnScreen = itemsOnScreen + itemsOnScreen / 2 + additioanlFooterItems;
34
37
  return {
35
38
  topItemsCount: topItemsCount,
36
39
  topItemsHeight: topItemsHeight,
37
- itemsNeededOnScreen: itemsOnScreen + itemsOnScreen / 2 + footerRowsCount
40
+ itemsNeededOnScreen: itemsNeededOnScreen
38
41
  };
39
42
  };
40
43
  this.horizontalScrollbarHeight = function () {
@@ -195,8 +198,12 @@ var VirtualScroll = /** @class */ (function () {
195
198
  else if (rowIndexOffset === -1) {
196
199
  microAdjust = -((heights[heights.length - 1].line + heights[heights.length - 1].acc) * rowpercentage);
197
200
  }
198
- var _a = this.topItems(heights, Boolean(this.topCacheCount)), topItemsCount = _a.topItemsCount, topItemsHeight = _a.topItemsHeight;
199
- this.translate(Math.max(0, microAdjust - topItemsHeight - this.horizontalScrollbarHeight() + this.containerHeight * floatRowIndex / this.total));
201
+ var _a = this.topItems(heights, Boolean(this.topCacheCount)), topItemsCount = _a.topItemsCount, topItemsHeight = _a.topItemsHeight, itemsNeededOnScreen = _a.itemsNeededOnScreen;
202
+ var nextScroll = Math.max(0, microAdjust - topItemsHeight - this.horizontalScrollbarHeight() + this.containerHeight * floatRowIndex / this.total);
203
+ if ((this.prevScrollPos < nextScroll) && heights.length <= itemsNeededOnScreen) {
204
+ return;
205
+ }
206
+ this.translate(nextScroll);
200
207
  this.changePage(rowIndex - topItemsCount, e);
201
208
  };
202
209
  VirtualScroll.prototype.scrollHandler = function (e) {
@@ -5,7 +5,7 @@ export var packageMetadata = {
5
5
  name: '@progress/kendo-vue-grid',
6
6
  productName: 'Kendo UI for Vue',
7
7
  productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],
8
- publishDate: 1677168084,
8
+ publishDate: 1678354302,
9
9
  version: '',
10
10
  licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'
11
11
  };
@@ -121,8 +121,6 @@ export interface GridState {
121
121
  initialHeight: String | null;
122
122
  dragLogic: CommonDragLogic;
123
123
  slicedCurrentData: Array<DataItemWrapper> | undefined;
124
- containerRef: any;
125
- tableBodyRef: any;
126
124
  vs: VirtualScrollInterface;
127
125
  columnResize: ColumnResize;
128
126
  _gridId: string;
package/dist/npm/Grid.js CHANGED
@@ -400,9 +400,6 @@ var GridVue2 = {
400
400
  this.vs.containerHeight = 1533915;
401
401
  }
402
402
  }
403
- this.vs.containerRef = this.containerRef;
404
- this.vs.tableBodyRef = this.tableBodyRef;
405
- this.vs.table = this.tableElement;
406
403
  this.slicedCurrentData = undefined;
407
404
  if (this.vs instanceof VirtualScrollFixed_1.VirtualScrollFixed) {
408
405
  var _a = this.$props,
@@ -29,15 +29,18 @@ var VirtualScroll = /** @class */ (function () {
29
29
  var screenHeight = _this.container.clientHeight;
30
30
  var footerRowsCount = _this.container.querySelectorAll('.k-group-footer').length;
31
31
  var itemsOnScreen = Math.ceil(screenHeight / heights[0].line);
32
- var topItemsCount = Math.max(itemsOnScreen / 2, Math.ceil((heights.length - itemsOnScreen) / 2));
32
+ var footersToItems = Math.ceil(footerRowsCount / itemsOnScreen);
33
+ var topItemsCount = Math.max(footersToItems, Math.ceil((heights.length - itemsOnScreen) / 2));
33
34
  var topItemsHeight = 0;
34
35
  for (var i = 0; i < topItemsCount; i++) {
35
36
  topItemsHeight += heights[i].line + heights[i].acc;
36
37
  }
38
+ var additioanlFooterItems = footersToItems ? footerRowsCount / (1 + footersToItems) : 0;
39
+ var itemsNeededOnScreen = itemsOnScreen + itemsOnScreen / 2 + additioanlFooterItems;
37
40
  return {
38
41
  topItemsCount: topItemsCount,
39
42
  topItemsHeight: topItemsHeight,
40
- itemsNeededOnScreen: itemsOnScreen + itemsOnScreen / 2 + footerRowsCount
43
+ itemsNeededOnScreen: itemsNeededOnScreen
41
44
  };
42
45
  };
43
46
  this.horizontalScrollbarHeight = function () {
@@ -198,8 +201,12 @@ var VirtualScroll = /** @class */ (function () {
198
201
  else if (rowIndexOffset === -1) {
199
202
  microAdjust = -((heights[heights.length - 1].line + heights[heights.length - 1].acc) * rowpercentage);
200
203
  }
201
- var _a = this.topItems(heights, Boolean(this.topCacheCount)), topItemsCount = _a.topItemsCount, topItemsHeight = _a.topItemsHeight;
202
- this.translate(Math.max(0, microAdjust - topItemsHeight - this.horizontalScrollbarHeight() + this.containerHeight * floatRowIndex / this.total));
204
+ var _a = this.topItems(heights, Boolean(this.topCacheCount)), topItemsCount = _a.topItemsCount, topItemsHeight = _a.topItemsHeight, itemsNeededOnScreen = _a.itemsNeededOnScreen;
205
+ var nextScroll = Math.max(0, microAdjust - topItemsHeight - this.horizontalScrollbarHeight() + this.containerHeight * floatRowIndex / this.total);
206
+ if ((this.prevScrollPos < nextScroll) && heights.length <= itemsNeededOnScreen) {
207
+ return;
208
+ }
209
+ this.translate(nextScroll);
203
210
  this.changePage(rowIndex - topItemsCount, e);
204
211
  };
205
212
  VirtualScroll.prototype.scrollHandler = function (e) {
@@ -8,7 +8,7 @@ exports.packageMetadata = {
8
8
  name: '@progress/kendo-vue-grid',
9
9
  productName: 'Kendo UI for Vue',
10
10
  productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],
11
- publishDate: 1677168084,
11
+ publishDate: 1678354302,
12
12
  version: '',
13
13
  licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'
14
14
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-vue-grid",
3
- "version": "3.8.4-dev.202302231609",
3
+ "version": "3.8.5-dev.202303090938",
4
4
  "description": "Kendo UI for Vue Grid package",
5
5
  "repository": {
6
6
  "type": "git",
@@ -42,25 +42,25 @@
42
42
  "vue": "^2.6.12 || ^3.0.2"
43
43
  },
44
44
  "dependencies": {
45
- "@progress/kendo-vue-common": "3.8.4-dev.202302231609"
45
+ "@progress/kendo-vue-common": "3.8.5-dev.202303090938"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@progress/kendo-data-query": "^1.5.4",
49
49
  "@progress/kendo-drawing": "^1.9.3",
50
50
  "@progress/kendo-licensing": "^1.3.0",
51
51
  "@progress/kendo-svg-icons": "^1.0.0",
52
- "@progress/kendo-vue-animation": "3.8.4-dev.202302231609",
53
- "@progress/kendo-vue-buttons": "3.8.4-dev.202302231609",
54
- "@progress/kendo-vue-charts": "3.8.4-dev.202302231609",
55
- "@progress/kendo-vue-data-tools": "3.8.4-dev.202302231609",
56
- "@progress/kendo-vue-dateinputs": "3.8.4-dev.202302231609",
57
- "@progress/kendo-vue-dropdowns": "3.8.4-dev.202302231609",
58
- "@progress/kendo-vue-excel-export": "3.8.4-dev.202302231609",
59
- "@progress/kendo-vue-indicators": "3.8.4-dev.202302231609",
60
- "@progress/kendo-vue-inputs": "3.8.4-dev.202302231609",
61
- "@progress/kendo-vue-intl": "3.8.4-dev.202302231609",
62
- "@progress/kendo-vue-pdf": "3.8.4-dev.202302231609",
63
- "@progress/kendo-vue-popup": "3.8.4-dev.202302231609",
52
+ "@progress/kendo-vue-animation": "3.8.5-dev.202303090938",
53
+ "@progress/kendo-vue-buttons": "3.8.5-dev.202303090938",
54
+ "@progress/kendo-vue-charts": "3.8.5-dev.202303090938",
55
+ "@progress/kendo-vue-data-tools": "3.8.5-dev.202303090938",
56
+ "@progress/kendo-vue-dateinputs": "3.8.5-dev.202303090938",
57
+ "@progress/kendo-vue-dropdowns": "3.8.5-dev.202303090938",
58
+ "@progress/kendo-vue-excel-export": "3.8.5-dev.202303090938",
59
+ "@progress/kendo-vue-indicators": "3.8.5-dev.202303090938",
60
+ "@progress/kendo-vue-inputs": "3.8.5-dev.202303090938",
61
+ "@progress/kendo-vue-intl": "3.8.5-dev.202303090938",
62
+ "@progress/kendo-vue-pdf": "3.8.5-dev.202303090938",
63
+ "@progress/kendo-vue-popup": "3.8.5-dev.202303090938",
64
64
  "cldr-core": "^41.0.0",
65
65
  "cldr-dates-full": "^41.0.0",
66
66
  "cldr-numbers-full": "^41.0.0",