data-feed
Advanced tools
Comparing version 2.2.0 to 2.3.0
@@ -208,10 +208,10 @@ import React, { useCallback, useEffect, useRef, useReducer, useMemo } from 'react'; | ||
case "Filter": | ||
var init = state.init; | ||
if (init) { | ||
var params = __assign(__assign(__assign({}, state.filterParams), payload), { skip: 0 }); | ||
return __assign(__assign({}, state), { params: params, filterParams: params }); | ||
} | ||
else { | ||
return __assign(__assign({}, state), { filterParams: __assign(__assign({}, payload), { skip: 0 }) }); | ||
} | ||
return __assign(__assign({}, state), { params: __assign(__assign({}, payload), { skip: 0 }) }); | ||
// const { init } = state; | ||
// if (init) { | ||
// const params = { ...state.initParams, ...payload, skip: 0 }; | ||
// return { ...state, params, initParams: params }; | ||
// } else { | ||
// return { ...state, initParams: { ...payload, skip: 0 } }; | ||
// } | ||
default: | ||
@@ -225,3 +225,3 @@ return state; | ||
init: initialLoad, | ||
filterParams: params, | ||
initParams: __assign({}, params), | ||
params: initialLoad ? params : undefined, | ||
@@ -231,5 +231,5 @@ }; | ||
function DataFeed(_a) { | ||
var _b = _a.data, data = _b === void 0 ? [] : _b, _c = _a.total, total = _c === void 0 ? 0 : _c, pageItems = _a.pageItems, _d = _a.currentPage, currentPage = _d === void 0 ? 1 : _d, renderRow = _a.renderRow, renderFilter = _a.renderFilter, _e = _a.texts, texts = _e === void 0 ? {} : _e, className = _a.className, dataClassName = _a.dataClassName, _f = _a.loading, loading = _f === void 0 ? false : _f, onChange = _a.onChange, renderPageItem = _a.renderPageItem, initParams = _a.initParams, _g = _a.changeDelay, changeDelay = _g === void 0 ? 300 : _g, _h = _a.initialLoad, initialLoad = _h === void 0 ? true : _h; | ||
var _b = _a.data, data = _b === void 0 ? [] : _b, _c = _a.total, total = _c === void 0 ? 0 : _c, pageItems = _a.pageItems, _d = _a.currentPage, currentPage = _d === void 0 ? 1 : _d, renderRow = _a.renderRow, renderFilter = _a.renderFilter, _e = _a.texts, texts = _e === void 0 ? {} : _e, className = _a.className, dataClassName = _a.dataClassName, _f = _a.loading, loading = _f === void 0 ? false : _f, onChange = _a.onChange, renderPageItem = _a.renderPageItem, initValues = _a.initValues, _g = _a.changeDelay, changeDelay = _g === void 0 ? 300 : _g, _h = _a.initialLoad, initialLoad = _h === void 0 ? true : _h; | ||
var loadRef = useRef(null); | ||
var _j = useReducer(dfReducer, initState(initialLoad, initParams)), state = _j[0], dispatch = _j[1]; | ||
var _j = useReducer(dfReducer, initState(initialLoad, initValues)), state = _j[0], dispatch = _j[1]; | ||
var pageNumber = typeof currentPage === "string" ? parseInt(currentPage) : currentPage; | ||
@@ -259,4 +259,7 @@ var handleLoad = useCallback(function () { | ||
}, [dispatch]); | ||
var filter = useMemo(function () { | ||
return renderFilter ? React.createElement(React.Fragment, null, renderFilter(state.initParams, filterChangeHandler)) : null; | ||
}, [state.initParams, filterChangeHandler]); | ||
return (React.createElement("div", { className: classNames("df-feed", className) }, | ||
React.createElement(React.Fragment, null, renderFilter === null || renderFilter === void 0 ? void 0 : renderFilter(state.filterParams, filterChangeHandler)), | ||
filter, | ||
React.createElement("div", { className: classNames("df-feed__data", dataClassName) }, data.map(function (item, i) { | ||
@@ -263,0 +266,0 @@ return React.createElement(React.Fragment, { key: i }, renderRow(item)); |
@@ -210,10 +210,10 @@ 'use strict'; | ||
case "Filter": | ||
var init = state.init; | ||
if (init) { | ||
var params = __assign(__assign(__assign({}, state.filterParams), payload), { skip: 0 }); | ||
return __assign(__assign({}, state), { params: params, filterParams: params }); | ||
} | ||
else { | ||
return __assign(__assign({}, state), { filterParams: __assign(__assign({}, payload), { skip: 0 }) }); | ||
} | ||
return __assign(__assign({}, state), { params: __assign(__assign({}, payload), { skip: 0 }) }); | ||
// const { init } = state; | ||
// if (init) { | ||
// const params = { ...state.initParams, ...payload, skip: 0 }; | ||
// return { ...state, params, initParams: params }; | ||
// } else { | ||
// return { ...state, initParams: { ...payload, skip: 0 } }; | ||
// } | ||
default: | ||
@@ -227,3 +227,3 @@ return state; | ||
init: initialLoad, | ||
filterParams: params, | ||
initParams: __assign({}, params), | ||
params: initialLoad ? params : undefined, | ||
@@ -233,5 +233,5 @@ }; | ||
function DataFeed(_a) { | ||
var _b = _a.data, data = _b === void 0 ? [] : _b, _c = _a.total, total = _c === void 0 ? 0 : _c, pageItems = _a.pageItems, _d = _a.currentPage, currentPage = _d === void 0 ? 1 : _d, renderRow = _a.renderRow, renderFilter = _a.renderFilter, _e = _a.texts, texts = _e === void 0 ? {} : _e, className = _a.className, dataClassName = _a.dataClassName, _f = _a.loading, loading = _f === void 0 ? false : _f, onChange = _a.onChange, renderPageItem = _a.renderPageItem, initParams = _a.initParams, _g = _a.changeDelay, changeDelay = _g === void 0 ? 300 : _g, _h = _a.initialLoad, initialLoad = _h === void 0 ? true : _h; | ||
var _b = _a.data, data = _b === void 0 ? [] : _b, _c = _a.total, total = _c === void 0 ? 0 : _c, pageItems = _a.pageItems, _d = _a.currentPage, currentPage = _d === void 0 ? 1 : _d, renderRow = _a.renderRow, renderFilter = _a.renderFilter, _e = _a.texts, texts = _e === void 0 ? {} : _e, className = _a.className, dataClassName = _a.dataClassName, _f = _a.loading, loading = _f === void 0 ? false : _f, onChange = _a.onChange, renderPageItem = _a.renderPageItem, initValues = _a.initValues, _g = _a.changeDelay, changeDelay = _g === void 0 ? 300 : _g, _h = _a.initialLoad, initialLoad = _h === void 0 ? true : _h; | ||
var loadRef = React.useRef(null); | ||
var _j = React.useReducer(dfReducer, initState(initialLoad, initParams)), state = _j[0], dispatch = _j[1]; | ||
var _j = React.useReducer(dfReducer, initState(initialLoad, initValues)), state = _j[0], dispatch = _j[1]; | ||
var pageNumber = typeof currentPage === "string" ? parseInt(currentPage) : currentPage; | ||
@@ -261,4 +261,7 @@ var handleLoad = React.useCallback(function () { | ||
}, [dispatch]); | ||
var filter = React.useMemo(function () { | ||
return renderFilter ? React.createElement(React.Fragment, null, renderFilter(state.initParams, filterChangeHandler)) : null; | ||
}, [state.initParams, filterChangeHandler]); | ||
return (React.createElement("div", { className: classNames("df-feed", className) }, | ||
React.createElement(React.Fragment, null, renderFilter === null || renderFilter === void 0 ? void 0 : renderFilter(state.filterParams, filterChangeHandler)), | ||
filter, | ||
React.createElement("div", { className: classNames("df-feed__data", dataClassName) }, data.map(function (item, i) { | ||
@@ -265,0 +268,0 @@ return React.createElement(React.Fragment, { key: i }, renderRow(item)); |
@@ -15,3 +15,3 @@ import React from "react"; | ||
renderRow: (item: T) => React.ReactNode; | ||
renderFilter?: (initParams: BasicFeedParams, onChange: (changedParams: BasicFeedParams) => void) => React.ReactNode; | ||
renderFilter?: (initValues: BasicFeedParams, onChange: (changedParams: BasicFeedParams) => void) => React.ReactNode; | ||
/** Root class name */ | ||
@@ -31,6 +31,6 @@ className?: string; | ||
texts?: Partial<DataFeedTexts>; | ||
initParams?: Partial<BasicFeedParams>; | ||
initValues?: Partial<BasicFeedParams>; | ||
changeDelay?: number; | ||
initialLoad?: boolean; | ||
} | ||
export declare function DataFeed<T = any>({ data, total, pageItems, currentPage, renderRow, renderFilter, texts, className, dataClassName, loading, onChange, renderPageItem, initParams, changeDelay, initialLoad, }: DataFeedProps<T>): JSX.Element; | ||
export declare function DataFeed<T = any>({ data, total, pageItems, currentPage, renderRow, renderFilter, texts, className, dataClassName, loading, onChange, renderPageItem, initValues, changeDelay, initialLoad, }: DataFeedProps<T>): JSX.Element; |
{ | ||
"name": "data-feed", | ||
"version": "2.2.0", | ||
"version": "2.3.0", | ||
"description": "Data feed view", | ||
@@ -19,4 +19,3 @@ "main": "dist/index.js", | ||
"react-dom": "^16.8.6", | ||
"rollup": "^3.21.5", | ||
"rollup": "^3.21.5", | ||
"rollup-obfuscator": "^3.0.2", | ||
@@ -23,0 +22,0 @@ "rollup-plugin-scss": "^3.0.0", |
Sorry, the diff of this file is not supported yet
44428
986