Commit 74485741 authored by Merekeyev Dias's avatar Merekeyev Dias

fixed dictionary update

parent 7c1232a6
......@@ -9,7 +9,7 @@ interface InitialState {
const initialState: InitialState = {
currentPage: 1,
totalOrgNumber: 0,
ORG_NUMBER_PER_PAGE: 12
ORG_NUMBER_PER_PAGE: 11
}
const mainPaginationSlice = createSlice({
......
......@@ -72,7 +72,7 @@ export const CheckboxColumn: React.FC<{ data: DataType }> = ({ data }) => {
useEffect(() => {
setChecked(checkedCodes.includes(data.code));
}, [checkedCodes, data.code]);
}, [checkedCodes]);
const handleCheck = (e: { target: { checked: any } }) => {
const isChecked = e.target.checked;
......@@ -89,6 +89,7 @@ export const CheckboxColumn: React.FC<{ data: DataType }> = ({ data }) => {
className='checkbox_org--custom'
checked={checked}
onChange={handleCheck}
id={`checkbox-${data.id}`}
/>
);
};
......
import React, { createRef, useEffect } from 'react';
import React, { createRef, useEffect, useState } from 'react';
import { useNavigate } from 'react-router';
import { useSelector, useDispatch } from 'react-redux';
import { Button, message, Pagination, Space, Spin, Table } from 'antd';
......@@ -21,18 +21,24 @@ const HomePage: React.FC = () => {
const syncBtnState = useSelector((state: any) => state.syncBtn.disabled);
const checkedCodes = useSelector((state: any) => state.syncBtn.checkedCodes);
const [updateDictionary] = useUpdateDictionaryMutation();
const [isSyncLoading, setIsSyncLoading] = useState(false);
const handleAddClick = () => {
navigate("/add");
};
const handleSyncClick = async () => {
setIsSyncLoading(true);
try {
await updateDictionary(checkedCodes);
dispatch(clearCheckedCodes());
console.log(checkedCodes);
await updateDictionary(checkedCodes).unwrap();
message.success('Организации успешны синхронизированы!')
} catch (err) {
console.log(err);
message.error('Произошла ошибка при синхронизации организации!')
} finally {
dispatch(clearCheckedCodes());
setIsSyncLoading(false);
}
};
......@@ -102,6 +108,8 @@ const HomePage: React.FC = () => {
className='add_title'
onClick={handleSyncClick}
disabled={syncBtnState}
loading={isSyncLoading}
type='primary'
>
Синхронизировать справочники
</Button>
......@@ -125,4 +133,4 @@ const HomePage: React.FC = () => {
);
}
export default HomePage;
export default HomePage;
\ No newline at end of file
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