change block timeout for buttons

This commit is contained in:
vchikalkin 2020-11-17 14:52:20 +03:00
parent 170014dbab
commit 2f17e833d7

View File

@ -19,6 +19,22 @@ const cleanResults = () => {
}
};
const BUTTONS_TIMEOUT = 500;
function blockButtons() {
CalculationStore.setStatus('btnCreateKP', Status.Loading);
CalculationStore.setStatus('btnCalculate', Status.Loading);
}
function unlockButtons() {
setTimeout(() => {
CalculationStore.setStatus('btnCreateKP', Status.Default);
}, BUTTONS_TIMEOUT);
setTimeout(() => {
CalculationStore.setStatus('btnCalculate', Status.Default);
}, BUTTONS_TIMEOUT);
}
const actions: TAction = {
createLead: () => {
// TODO: block button for time
@ -239,14 +255,7 @@ const actions: TAction = {
calculate: async () => {
// TODO: collect errors
CalculationStore.setStatus('btnCreateKP', Status.Loading);
setTimeout(() => {
CalculationStore.setStatus('btnCreateKP', Status.Default);
}, 3500);
CalculationStore.setStatus('btnCalculate', Status.Loading);
setTimeout(() => {
CalculationStore.setStatus('btnCalculate', Status.Default);
}, 3500);
blockButtons();
const { rows } = CalculationStore.tables.tableInsurance;
const kaskoRow = rows[1];
@ -308,11 +317,6 @@ const actions: TAction = {
calculationStore: CalculationStore,
});
CalculationStore.setStatus('btnCalculate', Status.Loading);
setTimeout(() => {
CalculationStore.setStatus('btnCalculate', Status.Default);
}, 3500);
CalculationStore.cleanTable('tableResults');
console.log('preparedData', preparedData);
@ -419,9 +423,10 @@ const actions: TAction = {
(1 + preparedData.preparedValues.salaryRate),
),
);
//set values
unlockButtons();
return { ...res, ...preparedData };
})
.catch(err => {
@ -429,6 +434,9 @@ const actions: TAction = {
type: 'error',
title: 'Ошибка во время расчета!',
})();
unlockButtons();
throw err;
});
},