Browse Source

eslint config, added context

master
Lazar Kostic 3 years ago
parent
commit
3a14534af4

+ 6
- 1
.eslintrc.json View File

}, },
"extends": [ "extends": [
"plugin:react/recommended", "plugin:react/recommended",
"standard-with-typescript"
"standard-with-typescript",
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended"
], ],
"overrides": [ "overrides": [
], ],
"parser": "@typescript-eslint/parser",
"parserOptions": { "parserOptions": {
"ecmaVersion": "latest", "ecmaVersion": "latest",
"sourceType": "module", "sourceType": "module",
] ]
}, },
"plugins": [ "plugins": [
"@typescript-eslint",
"react" "react"
], ],
"rules": { "rules": {

+ 1
- 0
src/components/MUI/Examples/PagingSortingFilteringExampleServerSide.tsx View File



const PagingSortingFilteringExampleServerSide = () => { const PagingSortingFilteringExampleServerSide = () => {
const [filterText, setFilterText] = useState(''); const [filterText, setFilterText] = useState('');
/*@ts-ignore*/
const { state, data } = useRandomData(); const { state, data } = useRandomData();
const { items, loading, totalCount, currentPage, itemsPerPage, sort } = data; const { items, loading, totalCount, currentPage, itemsPerPage, sort } = data;
const { setPage, setItemsPerPage, setSort, setFilter } = state; const { setPage, setItemsPerPage, setSort, setFilter } = state;

src/context/RandomDataContext.js → src/context/RandomDataContext.tsx View File

import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import usePagingHook from '../hooks/usePagingHook'; import usePagingHook from '../hooks/usePagingHook';
import { getRequest } from '../request/jsonServerRequest'; import { getRequest } from '../request/jsonServerRequest';
import { FakeData } from '../db/db';


const apiCall = (page, itemsPerPage, sort, sortDirection, filter) =>
interface Props {
children: React.ReactNode;
}

const apiCall = (page: number, itemsPerPage: number, sort: string, sortDirection: string, filter: any) =>
getRequest('/items', { getRequest('/items', {
_page: page, _page: page,
_limit: itemsPerPage, _limit: itemsPerPage,
...(filter && { q: filter }), ...(filter && { q: filter }),
}); });



/* @ts-ignore */
const Context = createContext(); const Context = createContext();
export const useRandomData = () => useContext(Context); export const useRandomData = () => useContext(Context);


const RandomDataProvider = ({ children }) => {
const setPage = (page) => {
const RandomDataProvider: React.FC<Props> = ({ children }) => {
const setPage = (page: number) => {
setState({ ...state, page }); setState({ ...state, page });
}; };


const setItemsPerPage = (itemsPerPage) => {
const setItemsPerPage = (itemsPerPage: number) => {
setState({ ...state, itemsPerPage }); setState({ ...state, itemsPerPage });
}; };


const setSort = (sort) => {
const setSort = (sort: string) => {
setState({ ...state, sort }); setState({ ...state, sort });
}; };


const setFilter = (filter) => {
const setFilter = (filter: string) => {
setState({ ...state, filter }); setState({ ...state, filter });
}; };


state.itemsPerPage, state.itemsPerPage,
state.sort, state.sort,
state.filter, state.filter,
/*@ts-ignore*/
apiCall apiCall
); );
return ( return (

Loading…
Cancel
Save