Skip to content

Commit b2c3aa7

Browse files
authored
Merge pull request #47 from easeq/master
0.7.5
2 parents a4644aa + d56e23b commit b2c3aa7

File tree

7 files changed

+30
-20
lines changed

7 files changed

+30
-20
lines changed

demo/src/store.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ const _prepareReducers = function(reducers) {
2626
};
2727

2828
const prepareEpics = ( epics ) => {
29-
if( isUndefined(epics) || epics.length == 0 ) {
29+
if( isUndefined(epics) || epics.length === 0 ) {
3030
return false;
3131
}
3232

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@flipbyte/redux-datatable",
3-
"version": "0.7.4",
3+
"version": "0.7.5",
44
"description": "React-Redux data table",
55
"main": "lib/index.js",
66
"module": "es/index.js",

src/components/Pages.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,15 @@ export const List = styled.div `
1717
const ExtendedList = styled(List)(getExtendedStyles());
1818

1919
const NUM_LINKS = 5;
20-
const fillRange = ( start, end ) => {
21-
return Array(end - start + 1).fill().map((item, index) => start + index);
22-
};
20+
const fillRange = ( start, end ) => Array(end - start + 1).fill().map((item, index) => start + index);
2321

2422
const getPages = ( currentPage = 1, total = 0 ) => {
2523
var padding = Math.floor(NUM_LINKS / 2);
2624
var left = (currentPage - padding < padding) ? 1 : currentPage - padding;
2725
var right = (left + NUM_LINKS - 1 > total) ? total : left + NUM_LINKS - 1;
2826

29-
left = (right === total) ?
30-
(right - NUM_LINKS < 1) ? 1 : right - NUM_LINKS + 1
27+
left = (right === total)
28+
? (right - NUM_LINKS < 1) ? 1 : right - NUM_LINKS + 1
3129
: left;
3230

3331
return fillRange(left, right);

src/epics.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import _ from 'lodash';
22
import { normalize } from 'normalizr';
33
import { ofType } from 'redux-observable';
44
import { Observable, of, pipe } from 'rxjs';
5+
import objectAssignDeep from 'object-assign-deep';
56
import { concatMap, mergeMap, map, takeUntil, filter, catchError } from 'rxjs/operators';
67
import { createNotification, NOTIFICATION_TYPE_SUCCESS, NOTIFICATION_TYPE_ERROR } from 'react-redux-notify';
78
import {
@@ -42,10 +43,7 @@ export const fetchDataEpic = ( action$, state$, { api }) => action$.pipe(
4243
const query = _.get(state$.value, [reducerName, name]).query;
4344

4445
return api.get(routes.get.route, {
45-
params: {
46-
...routes.get.params,
47-
...query
48-
}
46+
params: objectAssignDeep({}, routes.get.params, query)
4947
}).pipe(
5048
map((response) => {
5149
if(entity) {

src/reducer.js

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -105,13 +105,27 @@ export default function reducer(state = {}, action) {
105105
dir: payload.dir
106106
},
107107
}),
108-
[actions.SET_LIMIT]: () => stateUpdater({
109-
isFetching: true,
110-
query: {
111-
limit: parseInt(payload.limit, 10),
112-
offset: (tableState.query.page - 1) * tableState.query.limit
113-
},
114-
}),
108+
[actions.SET_LIMIT]: () => {
109+
let maxPage = 1;
110+
if (payload.limit > 0) {
111+
maxPage = (tableState.query.count / payload.limit) || 1
112+
}
113+
const currentPage = tableState.query.page > maxPage ? maxPage : tableState.query.page;
114+
const offset = (currentPage - 1) * payload.limit;
115+
116+
let page = 1;
117+
if (payload.limit > 0) {
118+
page = (offset / payload.limit) + 1;
119+
}
120+
return stateUpdater({
121+
isFetching: true,
122+
query: {
123+
limit: parseInt(payload.limit, 10),
124+
page,
125+
offset
126+
},
127+
})
128+
},
115129
[actions.SET_FILTER]: () => {
116130
var updatedFilters = {};
117131
if (!payload.clear) {

src/utils.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ export const calculatePaginationProps = _.memoize((
7171
if (page < 1) {
7272
page = 1;
7373
}
74-
limit = limit || defaultLimit;
74+
limit = isUndefined(limit) !== true ? limit : defaultLimit;
7575

7676
let start = (page - 1) * limit;
7777
let end = start + limit - 1;

0 commit comments

Comments
 (0)