node-red-contrib-chatbot
Version:
REDBot a Chat bot for a full featured chat bot for Telegram, Facebook Messenger and Slack. Almost no coding skills required
37 lines (33 loc) • 950 B
JavaScript
import { useState } from 'react';
import { useQuery } from 'react-apollo';
const makeOrder = (sortField, sortType) => `${sortType === 'desc' ? 'reverse:' : ''}${sortField}`;
const useTable = ({ query, limit, page, sortField, sortType, filters = {}, variables = {}, onCompleted = () => {} }) => {
const { loading, error, data, refetch } = useQuery(query, {
fetchPolicy: 'network-only',
errorPolicy: 'all',
variables: {
limit,
offset: (page - 1) * limit,
sortField, sortType,
order: makeOrder(sortField, sortType),
...filters,
...variables
},
onCompleted: data => {
setBootstrapping(false);
onCompleted(data.rows, data.counters);
},
onError: () => {
setBootstrapping(false);
}
});
const [bootstrapping, setBootstrapping] = useState(true);
return {
bootstrapping,
loading: loading,
error,
data,
refetch
};
};
export default useTable;