- implemented functionality of adding to preferred calls;
This commit is contained in:
@@ -4,7 +4,7 @@ import { uniq } from 'ramda';
|
||||
import { Link } from 'react-router-dom';
|
||||
|
||||
// store
|
||||
import { storeSet } from '../../../../store';
|
||||
import { storeGet, storeSet } from '../../../../store';
|
||||
|
||||
// api
|
||||
import BandoService from '../../../../service/bando-service';
|
||||
@@ -19,6 +19,8 @@ import { InputIcon } from 'primereact/inputicon';
|
||||
import { Button } from 'primereact/button';
|
||||
import { Calendar } from 'primereact/calendar';
|
||||
import ProperBandoLabel from '../../../../components/ProperBandoLabel';
|
||||
import PreferredBandoService from '../../../../service/preferred-bando-service';
|
||||
import set404FromErrorResponse from '../../../../helpers/set404FromErrorResponse';
|
||||
|
||||
|
||||
const LatestBandiTable = () => {
|
||||
@@ -29,7 +31,7 @@ const LatestBandiTable = () => {
|
||||
const [statuses, setStatuses] = useState([]);
|
||||
|
||||
useEffect(() => {
|
||||
storeSet.main.setAsyncRequest();
|
||||
setLoading(true);
|
||||
BandoService.getBandi(getCallback, errGetCallbacks);
|
||||
}, []);
|
||||
|
||||
@@ -40,16 +42,47 @@ const LatestBandiTable = () => {
|
||||
setStatuses(uniq(data.data.map(o => o.status)))
|
||||
initFilters();
|
||||
}
|
||||
storeSet.main.unsetAsyncRequest();
|
||||
setLoading(false);
|
||||
}
|
||||
|
||||
const errGetCallbacks = (data) => {
|
||||
console.log('errGetCallbacks', data)
|
||||
storeSet.main.unsetAsyncRequest();
|
||||
set404FromErrorResponse(data);
|
||||
setLoading(false);
|
||||
}
|
||||
|
||||
const addToFavourites = (id) => {
|
||||
const addToFavourites = (id, preferredId = 0) => {
|
||||
const companyId = storeGet.main.chosenCompanyId()
|
||||
const data = {
|
||||
companyId,
|
||||
callId: id
|
||||
}
|
||||
setLoading(true);
|
||||
if (preferredId !== 0) {
|
||||
// TODO implement removing from preferrenced
|
||||
//PreferredBandoService.addToPreferred(data, toggleFavCallback, errToggleFavCallback);
|
||||
} else {
|
||||
PreferredBandoService.addToPreferred(data, toggleFavCallback, errToggleFavCallback);
|
||||
}
|
||||
}
|
||||
|
||||
const toggleFavCallback = (data) => {
|
||||
if (data.status === 'SUCCESS') {
|
||||
const newItems = items.map((o) => {
|
||||
if (o.id === data.data.callId) {
|
||||
return {
|
||||
...o,
|
||||
preferred: data.data.id
|
||||
}
|
||||
} else {
|
||||
return o;
|
||||
}
|
||||
});
|
||||
setItems(newItems)
|
||||
}
|
||||
}
|
||||
|
||||
const errToggleFavCallback = (data) => {
|
||||
set404FromErrorResponse(data);
|
||||
}
|
||||
|
||||
const getFormattedData = (data) => {
|
||||
@@ -138,7 +171,8 @@ const LatestBandiTable = () => {
|
||||
return <div className="appPageSection__tableActions">
|
||||
<button type="button"
|
||||
className="appPageSection__addToFavourites"
|
||||
onClick={() => addToFavourites(rowData.id)}>
|
||||
data-active={rowData.preferred}
|
||||
onClick={() => addToFavourites(rowData.id, rowData.preferred)}>
|
||||
<i className="pi pi-heart" style={{ fontSize: '1rem' }}></i>
|
||||
</button>
|
||||
{rowData.confidi
|
||||
|
||||
Reference in New Issue
Block a user