- implemented functionality of adding to preferred and removing from preferred calls;
This commit is contained in:
@@ -93,27 +93,41 @@ const AllBandiAccordion = () => {
|
|||||||
return <Tag value={getBandoLabel(option)} severity={getBandoSeverity(option)} />;
|
return <Tag value={getBandoLabel(option)} severity={getBandoSeverity(option)} />;
|
||||||
};
|
};
|
||||||
|
|
||||||
const addToFavourites = (id, preferredId = 0) => {
|
const addToFavourites = (id, preferredId) => {
|
||||||
const companyId = storeGet.main.chosenCompanyId()
|
const companyId = storeGet.main.chosenCompanyId()
|
||||||
const data = {
|
const data = {
|
||||||
companyId,
|
companyId,
|
||||||
callId: id
|
callId: id
|
||||||
}
|
}
|
||||||
if (preferredId !== 0) {
|
if (preferredId && preferredId !== 0) {
|
||||||
// TODO implement removing from preferrenced
|
PreferredBandoService.deleteFromPreferred(preferredId, (data) => removeFavCallback(data, id), errToggleFavCallback);
|
||||||
//PreferredBandoService.addToPreferred(data, toggleFavCallback, errToggleFavCallback);
|
|
||||||
} else {
|
} else {
|
||||||
PreferredBandoService.addToPreferred(data, toggleFavCallback, errToggleFavCallback);
|
PreferredBandoService.addToPreferred(data, addFavCallback, errToggleFavCallback);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const toggleFavCallback = (data) => {
|
const removeFavCallback = (data, id) => {
|
||||||
|
if (data.status === 'SUCCESS') {
|
||||||
|
const newItems = items.map((o) => {
|
||||||
|
if (o.id === id) {
|
||||||
|
return {
|
||||||
|
...o,
|
||||||
|
preferredCallId: null
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
setItems(newItems)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const addFavCallback = (data) => {
|
||||||
if (data.status === 'SUCCESS') {
|
if (data.status === 'SUCCESS') {
|
||||||
const newItems = items.map((o) => {
|
const newItems = items.map((o) => {
|
||||||
if (o.id === data.data.callId) {
|
if (o.id === data.data.callId) {
|
||||||
return {
|
return {
|
||||||
...o,
|
...o,
|
||||||
preferred: data.data.id
|
preferredCallId: data.data.id
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return o;
|
return o;
|
||||||
@@ -135,8 +149,8 @@ const AllBandiAccordion = () => {
|
|||||||
return <div className="appPageSection__tableActions">
|
return <div className="appPageSection__tableActions">
|
||||||
<button type="button"
|
<button type="button"
|
||||||
className="appPageSection__addToFavourites"
|
className="appPageSection__addToFavourites"
|
||||||
data-active={rowData.preferred}
|
data-active={!isNil(rowData.preferredCallId)}
|
||||||
onClick={() => addToFavourites(rowData.id, rowData.preferred)}>
|
onClick={() => addToFavourites(rowData.id, rowData.preferredCallId)}>
|
||||||
<i className="pi pi-heart" style={{ fontSize: '1rem' }}></i>
|
<i className="pi pi-heart" style={{ fontSize: '1rem' }}></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import React, { useState, useEffect } from 'react';
|
import React, { useState, useEffect } from 'react';
|
||||||
import { __ } from '@wordpress/i18n';
|
import { __ } from '@wordpress/i18n';
|
||||||
import { uniq } from 'ramda';
|
import { uniq, isNil } from 'ramda';
|
||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
|
|
||||||
// store
|
// store
|
||||||
import { storeGet, storeSet } from '../../../../store';
|
import { storeGet } from '../../../../store';
|
||||||
|
|
||||||
// api
|
// api
|
||||||
import BandoService from '../../../../service/bando-service';
|
import BandoService from '../../../../service/bando-service';
|
||||||
@@ -50,28 +50,27 @@ const LatestBandiTable = () => {
|
|||||||
setLoading(false);
|
setLoading(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
const addToFavourites = (id, preferredId = 0) => {
|
const addToFavourites = (id, preferredId) => {
|
||||||
const companyId = storeGet.main.chosenCompanyId()
|
const companyId = storeGet.main.chosenCompanyId()
|
||||||
const data = {
|
const data = {
|
||||||
companyId,
|
companyId,
|
||||||
callId: id
|
callId: id
|
||||||
}
|
}
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
if (preferredId !== 0) {
|
if (preferredId && preferredId !== 0) {
|
||||||
// TODO implement removing from preferrenced
|
PreferredBandoService.deleteFromPreferred(preferredId, (data) => removeFavCallback(data, id), errToggleFavCallback);
|
||||||
//PreferredBandoService.addToPreferred(data, toggleFavCallback, errToggleFavCallback);
|
|
||||||
} else {
|
} else {
|
||||||
PreferredBandoService.addToPreferred(data, toggleFavCallback, errToggleFavCallback);
|
PreferredBandoService.addToPreferred(data, addFavCallback, errToggleFavCallback);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const toggleFavCallback = (data) => {
|
const removeFavCallback = (data, id) => {
|
||||||
if (data.status === 'SUCCESS') {
|
if (data.status === 'SUCCESS') {
|
||||||
const newItems = items.map((o) => {
|
const newItems = items.map((o) => {
|
||||||
if (o.id === data.data.callId) {
|
if (o.id === id) {
|
||||||
return {
|
return {
|
||||||
...o,
|
...o,
|
||||||
preferred: data.data.id
|
preferredCallId: null
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return o;
|
return o;
|
||||||
@@ -79,10 +78,28 @@ const LatestBandiTable = () => {
|
|||||||
});
|
});
|
||||||
setItems(newItems)
|
setItems(newItems)
|
||||||
}
|
}
|
||||||
|
setLoading(false);
|
||||||
|
}
|
||||||
|
const addFavCallback = (data) => {
|
||||||
|
if (data.status === 'SUCCESS') {
|
||||||
|
const newItems = items.map((o) => {
|
||||||
|
if (o.id === data.data.callId) {
|
||||||
|
return {
|
||||||
|
...o,
|
||||||
|
preferredCallId: data.data.id
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
setItems(newItems)
|
||||||
|
}
|
||||||
|
setLoading(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
const errToggleFavCallback = (data) => {
|
const errToggleFavCallback = (data) => {
|
||||||
set404FromErrorResponse(data);
|
set404FromErrorResponse(data);
|
||||||
|
setLoading(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
const getFormattedData = (data) => {
|
const getFormattedData = (data) => {
|
||||||
@@ -171,8 +188,8 @@ const LatestBandiTable = () => {
|
|||||||
return <div className="appPageSection__tableActions">
|
return <div className="appPageSection__tableActions">
|
||||||
<button type="button"
|
<button type="button"
|
||||||
className="appPageSection__addToFavourites"
|
className="appPageSection__addToFavourites"
|
||||||
data-active={rowData.preferred}
|
data-active={!isNil(rowData.preferredCallId)}
|
||||||
onClick={() => addToFavourites(rowData.id, rowData.preferred)}>
|
onClick={() => addToFavourites(rowData.id, rowData.preferredCallId)}>
|
||||||
<i className="pi pi-heart" style={{ fontSize: '1rem' }}></i>
|
<i className="pi pi-heart" style={{ fontSize: '1rem' }}></i>
|
||||||
</button>
|
</button>
|
||||||
{rowData.confidi
|
{rowData.confidi
|
||||||
|
|||||||
@@ -7,4 +7,8 @@ export default class PreferredBandoService {
|
|||||||
static addToPreferred = (body, callback, errCallback) => {
|
static addToPreferred = (body, callback, errCallback) => {
|
||||||
NetworkService.post(`${API_BASE_URL}/beneficiaryPreferredCall`, body, callback, errCallback);
|
NetworkService.post(`${API_BASE_URL}/beneficiaryPreferredCall`, body, callback, errCallback);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static deleteFromPreferred = (id, callback, errCallback) => {
|
||||||
|
NetworkService.delete(`${API_BASE_URL}/beneficiaryPreferredCall/${id}`, {}, callback, errCallback);
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user