CEC-4341 - Fix Can signal export select all (#340)

* CEC-4341 - Fix Can signal export select all

* fix code smell
This commit is contained in:
Paul Adamsen
2023-05-23 09:30:08 -04:00
committed by GitHub
parent 2345daf82e
commit a701d4ceec
4 changed files with 21 additions and 14 deletions

View File

@@ -16,7 +16,7 @@ const MainForm = ({ id }) => {
const [selectedStartDate, setSelectedStartDate] = useState(new Date(Date.now() - 24 * 60 * 60 * 1000)); const [selectedStartDate, setSelectedStartDate] = useState(new Date(Date.now() - 24 * 60 * 60 * 1000));
const [selectedEndDate, setSelectedEndDate] = useState(new Date()); const [selectedEndDate, setSelectedEndDate] = useState(new Date());
const [selectedCanSignals, setSelectedCanSignals] = useState([]); const [selectedCanSignals, setSelectedCanSignals] = useState([]);
const [selectAllCanSignals, setSelectAllCanSignals] = useState(false);
const { const {
token: { token: {
@@ -29,8 +29,8 @@ const MainForm = ({ id }) => {
let timestamp_start = Date.parse(selectedStartDate.toUTCString()) / 1000 let timestamp_start = Date.parse(selectedStartDate.toUTCString()) / 1000
let timestamp_end = Date.parse(selectedEndDate.toUTCString()) / 1000 let timestamp_end = Date.parse(selectedEndDate.toUTCString()) / 1000
try { try {
await getDynamicColumnCANSignals(id, timestamp_start, timestamp_end, selectedCanSignals, token) await getDynamicColumnCANSignals(id, timestamp_start, timestamp_end, selectedCanSignals, selectAllCanSignals, token)
} catch(e){ } catch (e) {
setMessage(e.message); setMessage(e.message);
logger.error(e.stack) logger.error(e.stack)
} }
@@ -74,12 +74,14 @@ const MainForm = ({ id }) => {
const handleSelectedItemsChange = (event) => { const handleSelectedItemsChange = (event) => {
const { value } = event.target; const { value } = event.target;
if (value.some(item => item === "Select All")) { if (value.some(item => item === "Select All")) {
setSelectAllCanSignals(true);
if (selectedCanSignals.length === canSignals.length) { if (selectedCanSignals.length === canSignals.length) {
setSelectedCanSignals([]); setSelectedCanSignals([]);
} else { } else {
setSelectedCanSignals(canSignals.map(signal => signal.signal_name)); setSelectedCanSignals(canSignals.map(signal => signal.signal_name));
} }
} else { } else {
setSelectAllCanSignals(false);
setSelectedCanSignals(value); setSelectedCanSignals(value);
} }
}; };

View File

@@ -23,14 +23,20 @@ export const CANSignalsExportProvider = ({ children }) => {
} }
}; };
const getDynamicColumnCANSignals = async (vin, timestart, timeend, cansingals, token) => { const getDynamicColumnCANSignals = async (vin, timestart, timeend, cansignals, selectall, token) => {
try { try {
setBusy(true) setBusy(true)
if (!vin) return; if (!vin) return;
validateVIN(vin); validateVIN(vin);
if (timestart > timeend) throw new Error("Start time cannot be after end time"); if (timestart > timeend) throw new Error("Start time cannot be after end time");
const result = await api.getCanSignalsVin(vin, timestart, timeend, cansingals, token);
let result
if (selectall === true) {
result = await api.getCanSignalsVin(vin, timestart, timeend, [], selectall, token);
} else {
result = await api.getCanSignalsVin(vin, timestart, timeend, cansignals, false, token);
}
if (result.error || !result.ok) if (result.error || !result.ok)
throw new Error(`Get CAN signals error. ${result.message}`); throw new Error(`Get CAN signals error. ${result.message}`);

View File

@@ -6,8 +6,8 @@ const API_ENDPOINT = process.env.REACT_APP_OTA_SERVICE_URL;
const canSignalAPI = { const canSignalAPI = {
getCanSignalsVin: async (vin, timestamp_start, timestamp_end, can_signals, token) => getCanSignalsVin: async (vin, timestamp_start, timestamp_end, can_signals, select_all, token) =>
fetch(addQueryParams(`${API_ENDPOINT}/can_signals_export`, { vin, timestamp_start, timestamp_end, can_signals }), { fetch(addQueryParams(`${API_ENDPOINT}/can_signals_export`, { vin, timestamp_start, timestamp_end, can_signals, select_all }), {
method: "GET", method: "GET",
headers: Object.assign( headers: Object.assign(
{ "Content-Type": "application/json" }, { "Content-Type": "application/json" },
@@ -17,7 +17,6 @@ const canSignalAPI = {
}) })
.catch(errorHandler), .catch(errorHandler),
getCanSignalList: async (token) => getCanSignalList: async (token) =>
fetch(addQueryParams(`${API_ENDPOINT}/can_signals_list`), { fetch(addQueryParams(`${API_ENDPOINT}/can_signals_list`), {
method: "GET", method: "GET",

View File

@@ -1,11 +1,11 @@
const canSignalList = [ const canSignalList = [
{ signal_name: "123"}, { signal_name: "123" },
{ signal_name: "456"}, { signal_name: "456" },
{ signal_name: "789"} { signal_name: "789" }
]; ];
const canSignalAPI = { const canSignalAPI = {
getCanSignalsVin: async (vin, timestamp_start, timestamp_end, can_signals, token) => { getCanSignalsVin: async (vin, timestamp_start, timestamp_end, can_signals, select_all, token) => {
return { data: "fake data" }; return { data: "fake data" };
}, },
getCanSignalList: async (token) => { getCanSignalList: async (token) => {