Commit 35b4e88a authored by Merekeyev Dias's avatar Merekeyev Dias

fixed syncBtn in Homepage when isError

parent c49b494d
...@@ -15,7 +15,7 @@ const HomePage: React.FC = () => { ...@@ -15,7 +15,7 @@ const HomePage: React.FC = () => {
const navigate = useNavigate(); const navigate = useNavigate();
const dispatch = useDispatch(); const dispatch = useDispatch();
const tableRef = createRef<TableRef>(); const tableRef = createRef<TableRef>();
const [updateDictionary] = useUpdateDictionaryMutation(); const [updateDictionary, {isError: isUpdateError}] = useUpdateDictionaryMutation();
const totalOrgNumber = useSelector((state: any) => state.mainPagination.totalOrgNumber); const totalOrgNumber = useSelector((state: any) => state.mainPagination.totalOrgNumber);
const currentPage = useSelector((state: any) => state.mainPagination.currentPage); const currentPage = useSelector((state: any) => state.mainPagination.currentPage);
...@@ -30,16 +30,12 @@ const HomePage: React.FC = () => { ...@@ -30,16 +30,12 @@ const HomePage: React.FC = () => {
}; };
const handleSyncClick = async () => { const handleSyncClick = async () => {
setIsSyncLoading(true); setIsSyncLoading(true);
console.log(checkedCodes);
await updateDictionary(checkedCodes).unwrap(); await updateDictionary(checkedCodes).unwrap();
message.success('Организации успешны синхронизированы!') message.success('Организации успешны синхронизированы!')
dispatch(clearCheckedCodes()); dispatch(clearCheckedCodes());
setIsSyncLoading(false); setIsSyncLoading(false);
}; };
const handlePaginationChange = (page: number) => { const handlePaginationChange = (page: number) => {
dispatch(setCurrentPage(page)); dispatch(setCurrentPage(page));
...@@ -53,23 +49,21 @@ const HomePage: React.FC = () => { ...@@ -53,23 +49,21 @@ const HomePage: React.FC = () => {
const { const {
data: orgs = [], data: orgs = [],
isLoading, isLoading: isGetLoading,
isSuccess, isSuccess: isGetSuccess,
isError,
error
} = useGetOrganizationsQuery(); } = useGetOrganizationsQuery();
let table; let table;
if (isSuccess) { if (isGetSuccess) {
table = <Table table = <Table
dataSource={paginatedData(orgs)} dataSource={paginatedData(orgs)}
columns={columns} columns={columns}
rowKey="id" rowKey="id"
className='home_table' className='home_table'
ref={tableRef} ref={tableRef}
loading={isTableLoading} loading={isTableLoading}
scroll={{ scroll={{
scrollToFirstRowOnChange: true, scrollToFirstRowOnChange: true,
x: 'max-content', x: 'max-content',
y: window.innerHeight - 250 y: window.innerHeight - 250
...@@ -85,18 +79,22 @@ const HomePage: React.FC = () => { ...@@ -85,18 +79,22 @@ const HomePage: React.FC = () => {
showSizeChanger: false showSizeChanger: false
}} }}
/> />
} else if (isError) {
table = <div>{error.toString()}</div>
} }
useEffect(() => { useEffect(() => {
if (isLoading) { if (isGetLoading) {
setIsTableLoading(true); setIsTableLoading(true);
} else if (isSuccess) { } else if (isGetSuccess) {
setIsTableLoading(false); setIsTableLoading(false);
dispatch(setTotalOrgNumber(orgs.length)); dispatch(setTotalOrgNumber(orgs.length));
} }
}, [isSuccess, orgs]); }, [isGetLoading, isGetSuccess, dispatch, orgs]);
useEffect(() => {
if (isUpdateError) {
setIsSyncLoading(false);
}
}, [isUpdateError]);
useEffect(() => { useEffect(() => {
if (checkedCodes.length > 0) { if (checkedCodes.length > 0) {
......
...@@ -24,13 +24,13 @@ export const columns: TableProps<DataType>['columns'] = [ ...@@ -24,13 +24,13 @@ export const columns: TableProps<DataType>['columns'] = [
title: "ID", title: "ID",
dataIndex: "id", dataIndex: "id",
key: "id", key: "id",
width: '1%' width: '2%'
}, },
{ {
title: "XML", title: "XML",
dataIndex: "xml", dataIndex: "xml",
key: "xml", key: "xml",
width: '1%', width: '4%',
render: (_, record) => ( render: (_, record) => (
<div className={styles.data_interchange_btnGroup}> <div className={styles.data_interchange_btnGroup}>
<Button <Button
...@@ -73,13 +73,13 @@ export const columns: TableProps<DataType>['columns'] = [ ...@@ -73,13 +73,13 @@ export const columns: TableProps<DataType>['columns'] = [
title: "Метод", title: "Метод",
dataIndex: "requestType", dataIndex: "requestType",
key: "requestType", key: "requestType",
width: '1%' width: '2.5%'
}, },
{ {
title: "Статус", title: "Статус",
dataIndex: "status", dataIndex: "status",
key: "status", key: "status",
width: '1%', width: '3%',
render: (_, record) => ( render: (_, record) => (
<Tag color={getStatusColor(record.status)}> <Tag color={getStatusColor(record.status)}>
{getStatusText(record.status)} {getStatusText(record.status)}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment