transaction pagination selectors
This commit is contained in:
parent
fe4ae1568e
commit
66462144b2
3 changed files with 53 additions and 0 deletions
19
dist/bundle.es.js
vendored
19
dist/bundle.es.js
vendored
|
@ -1283,6 +1283,8 @@ function doDismissError() {
|
|||
};
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
const selectState$1 = state => state.wallet || {};
|
||||
|
||||
const selectWalletState = selectState$1;
|
||||
|
@ -1441,6 +1443,20 @@ const selectCurrentHeight = reselect.createSelector(selectState$1, state => stat
|
|||
|
||||
const selectTransactionListFilter = reselect.createSelector(selectState$1, state => state.transactionListFilter || '');
|
||||
|
||||
const selectFilteredTransactions = reselect.createSelector(selectTransactionItems, selectTransactionListFilter, (transactions, filter) => {
|
||||
return transactions.filter(transaction => {
|
||||
return filter === ALL || filter === transaction.type;
|
||||
});
|
||||
});
|
||||
|
||||
const makeSelectFilteredTransactionsForPage = (page = 1) => reselect.createSelector(selectFilteredTransactions, filteredTransactions => {
|
||||
const start = (Number(page) - 1) * Number(PAGE_SIZE);
|
||||
const end = Number(page) * Number(PAGE_SIZE);
|
||||
return filteredTransactions && filteredTransactions.length ? filteredTransactions.slice(start, end) : [];
|
||||
});
|
||||
|
||||
const selectFilteredTransactionCount = reselect.createSelector(selectFilteredTransactions, filteredTransactions => filteredTransactions.length);
|
||||
|
||||
var _extends$2 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
||||
|
||||
function _objectWithoutProperties$1(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
|
||||
|
@ -5064,6 +5080,7 @@ exports.makeSelectFetchingChannelClaims = makeSelectFetchingChannelClaims;
|
|||
exports.makeSelectFileInfoForUri = makeSelectFileInfoForUri;
|
||||
exports.makeSelectFileNameForUri = makeSelectFileNameForUri;
|
||||
exports.makeSelectFilePartlyDownloaded = makeSelectFilePartlyDownloaded;
|
||||
exports.makeSelectFilteredTransactionsForPage = makeSelectFilteredTransactionsForPage;
|
||||
exports.makeSelectFirstRecommendedFileForUri = makeSelectFirstRecommendedFileForUri;
|
||||
exports.makeSelectIsFollowingTag = makeSelectIsFollowingTag;
|
||||
exports.makeSelectIsUriResolving = makeSelectIsUriResolving;
|
||||
|
@ -5132,6 +5149,8 @@ exports.selectFileInfosByOutpoint = selectFileInfosByOutpoint;
|
|||
exports.selectFileInfosDownloaded = selectFileInfosDownloaded;
|
||||
exports.selectFileListDownloadedSort = selectFileListDownloadedSort;
|
||||
exports.selectFileListPublishedSort = selectFileListPublishedSort;
|
||||
exports.selectFilteredTransactionCount = selectFilteredTransactionCount;
|
||||
exports.selectFilteredTransactions = selectFilteredTransactions;
|
||||
exports.selectFollowedTags = selectFollowedTags;
|
||||
exports.selectGettingNewAddress = selectGettingNewAddress;
|
||||
exports.selectHasTransactions = selectHasTransactions;
|
||||
|
|
|
@ -287,6 +287,9 @@ export {
|
|||
selectWalletUnlockSucceeded,
|
||||
selectWalletUnlockResult,
|
||||
selectTransactionListFilter,
|
||||
selectFilteredTransactions,
|
||||
makeSelectFilteredTransactionsForPage,
|
||||
selectFilteredTransactionCount,
|
||||
} from 'redux/selectors/wallet';
|
||||
|
||||
export {
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
// @flow
|
||||
|
||||
import { createSelector } from 'reselect';
|
||||
import * as TRANSACTIONS from 'constants/transaction_types';
|
||||
import { PAGE_SIZE } from 'constants/claim';
|
||||
|
||||
export const selectState = state => state.wallet || {};
|
||||
|
||||
|
@ -214,6 +217,8 @@ export const selectTransactionItems = createSelector(
|
|||
}
|
||||
);
|
||||
|
||||
|
||||
|
||||
export const selectRecentTransactions = createSelector(
|
||||
selectTransactionItems,
|
||||
transactions => {
|
||||
|
@ -288,3 +293,29 @@ export const selectTransactionListFilter = createSelector(
|
|||
selectState,
|
||||
state => state.transactionListFilter || ''
|
||||
);
|
||||
|
||||
export const selectFilteredTransactions = createSelector(
|
||||
selectTransactionItems,
|
||||
selectTransactionListFilter,
|
||||
(transactions, filter) => {
|
||||
return transactions.filter(transaction => {
|
||||
return filter === TRANSACTIONS.ALL || filter === transaction.type;
|
||||
});
|
||||
});
|
||||
|
||||
export const makeSelectFilteredTransactionsForPage = (page: number = 1): Array<any> =>
|
||||
createSelector(
|
||||
selectFilteredTransactions,
|
||||
filteredTransactions => {
|
||||
const start = (Number(page) - 1) * Number(PAGE_SIZE);
|
||||
const end = (Number(page) * Number(PAGE_SIZE));
|
||||
return (filteredTransactions && filteredTransactions.length)
|
||||
? filteredTransactions.slice(start, end)
|
||||
: [];
|
||||
}
|
||||
);
|
||||
|
||||
export const selectFilteredTransactionCount = createSelector(
|
||||
selectFilteredTransactions,
|
||||
filteredTransactions => filteredTransactions.length
|
||||
);
|
||||
|
|
Loading…
Add table
Reference in a new issue