Skip to content

Commit

Permalink
bugfix-release version 1.0.5
Browse files Browse the repository at this point in the history
  • Loading branch information
Dulanja Wijethunga committed May 23, 2017
1 parent 6c6dfab commit c3c76da
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 24 deletions.
33 changes: 22 additions & 11 deletions Kendo-Grid-VirtualScroll.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,13 @@ var InfiniteScroll = (function () {
this.innerWrap = $(".infinite_scroll_inner_wrap", this.target);
this.delayFire = function (value) {
_this.fired = value;
$(_this.target).scrollTop(_this.lastScrollTop);

};
this.adjustScrollTop = function () {
$(_this.target).scrollTop(0);
}

$(scope).scroll(function () {
$(scope).off("scroll").on("scroll", function () {
_this.detectTarget(scope);
return _this.detectScrollDirection();
});
Expand Down Expand Up @@ -127,6 +130,7 @@ var InfiniteScroll = (function () {

})();

var infiniteScrollObjcet = null;

var kendoGridVS = function (kendoOptions) {
var _data = null;
Expand All @@ -135,11 +139,11 @@ var kendoGridVS = function (kendoOptions) {
var _gridContent = kendoOptions.gridElement.children(".k-grid-content");

var _totalRows = _dataSource.total();
var _pageSize = _dataSource.pageSize();
var _group = _dataSource.group();
var _pageSize = _dataSource.pageSize();
var _group = _dataSource.group();
var _isGrouped = false;

if(typeof _group !== 'undefined' && _group.length > 0){
if (typeof _group !== 'undefined' && _group.length > 0) {
_isGrouped = true;
}

Expand Down Expand Up @@ -178,29 +182,36 @@ var kendoGridVS = function (kendoOptions) {
_dataSource.data(_data);
};

_dataSource.page(1);
return new InfiniteScroll(_gridContent, {
if (infiniteScrollObjcet !== null) {
infiniteScrollObjcet.adjustScrollTop();
}

infiniteScrollObjcet = new InfiniteScroll(_gridContent, {
callback: function (fireSequence, scrollDirection, delayFire) {
_data = _dataSource.data();
if ((Math.ceil(_totalRows / _pageSize) >= _dataSource.page() + 1) && scrollDirection === 'next') {
if (!_isGrouped) {
_dataSourceQuery({
page: _dataSource.page() + 1,
pageSize: _pageSize
pageSize: _pageSize,
sort: _dataSource.sort()
}, _normalDataAppend, delayFire);
} else {
_dataSourceQuery({
page: _dataSource.page() + 1,
pageSize: _pageSize,
group: _group
group: _group,
sort: _dataSource.sort()
}, _groupedDataAppend, delayFire)
}
}
}
}).run();
});

_dataSource.page(1);
return infiniteScrollObjcet.run();
};


module.exports = kendoGridVS;


15 changes: 14 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,20 @@ Can be use inside dataBound event in Kendo-Grid.

```javascript
//set this as global variable and set true if grid is reload/change grouping etc..
initDataBound = true;
initDataBound = true;
```
```javascript
//when support sort, set initDataBound=true in sort event(Kendo grid event)
sort: function(e) {
initDataBound = true;
}
```

```javascript
//when support group, set initDataBound=true in group event(Kendo grid event)
group: function(e) {
initDataBound = true;
}
```
<br/>

Expand Down
33 changes: 22 additions & 11 deletions dist/Kendo-Grid-VirtualScroll.js
Original file line number Diff line number Diff line change
Expand Up @@ -119,10 +119,13 @@ var InfiniteScroll = (function () {
this.innerWrap = $(".infinite_scroll_inner_wrap", this.target);
this.delayFire = function (value) {
_this.fired = value;
$(_this.target).scrollTop(_this.lastScrollTop);

};
this.adjustScrollTop = function () {
$(_this.target).scrollTop(0);
}

$(scope).scroll(function () {
$(scope).off("scroll").on("scroll", function () {
_this.detectTarget(scope);
return _this.detectScrollDirection();
});
Expand Down Expand Up @@ -215,6 +218,7 @@ var InfiniteScroll = (function () {

})();

var infiniteScrollObjcet = null;

var kendoGridVS = function (kendoOptions) {
var _data = null;
Expand All @@ -223,11 +227,11 @@ var kendoGridVS = function (kendoOptions) {
var _gridContent = kendoOptions.gridElement.children(".k-grid-content");

var _totalRows = _dataSource.total();
var _pageSize = _dataSource.pageSize();
var _group = _dataSource.group();
var _pageSize = _dataSource.pageSize();
var _group = _dataSource.group();
var _isGrouped = false;

if(typeof _group !== 'undefined' && _group.length > 0){
if (typeof _group !== 'undefined' && _group.length > 0) {
_isGrouped = true;
}

Expand Down Expand Up @@ -266,34 +270,41 @@ var kendoGridVS = function (kendoOptions) {
_dataSource.data(_data);
};

_dataSource.page(1);
return new InfiniteScroll(_gridContent, {
if (infiniteScrollObjcet !== null) {
infiniteScrollObjcet.adjustScrollTop();
}

infiniteScrollObjcet = new InfiniteScroll(_gridContent, {
callback: function (fireSequence, scrollDirection, delayFire) {
_data = _dataSource.data();
if ((Math.ceil(_totalRows / _pageSize) >= _dataSource.page() + 1) && scrollDirection === 'next') {
if (!_isGrouped) {
_dataSourceQuery({
page: _dataSource.page() + 1,
pageSize: _pageSize
pageSize: _pageSize,
sort: _dataSource.sort()
}, _normalDataAppend, delayFire);
} else {
_dataSourceQuery({
page: _dataSource.page() + 1,
pageSize: _pageSize,
group: _group
group: _group,
sort: _dataSource.sort()
}, _groupedDataAppend, delayFire)
}
}
}
}).run();
});

_dataSource.page(1);
return infiniteScrollObjcet.run();
};


module.exports = kendoGridVS;




/***/ })
/******/ ]);
});
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "kendo-grid-virtual-scrolling",
"version": "1.0.4",
"version": "1.0.5",
"description": "Custom implementation of virtual scrolling in Kendo-grid to support grouping and editing",
"main": "Kendo-Grid-VirtualScroll.js",
"scripts": {
Expand Down

0 comments on commit c3c76da

Please sign in to comment.