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:
@@ -16,7 +16,7 @@ const MainForm = ({ id }) => {
|
||||
const [selectedStartDate, setSelectedStartDate] = useState(new Date(Date.now() - 24 * 60 * 60 * 1000));
|
||||
const [selectedEndDate, setSelectedEndDate] = useState(new Date());
|
||||
const [selectedCanSignals, setSelectedCanSignals] = useState([]);
|
||||
|
||||
const [selectAllCanSignals, setSelectAllCanSignals] = useState(false);
|
||||
|
||||
const {
|
||||
token: {
|
||||
@@ -29,8 +29,8 @@ const MainForm = ({ id }) => {
|
||||
let timestamp_start = Date.parse(selectedStartDate.toUTCString()) / 1000
|
||||
let timestamp_end = Date.parse(selectedEndDate.toUTCString()) / 1000
|
||||
try {
|
||||
await getDynamicColumnCANSignals(id, timestamp_start, timestamp_end, selectedCanSignals, token)
|
||||
} catch(e){
|
||||
await getDynamicColumnCANSignals(id, timestamp_start, timestamp_end, selectedCanSignals, selectAllCanSignals, token)
|
||||
} catch (e) {
|
||||
setMessage(e.message);
|
||||
logger.error(e.stack)
|
||||
}
|
||||
@@ -74,12 +74,14 @@ const MainForm = ({ id }) => {
|
||||
const handleSelectedItemsChange = (event) => {
|
||||
const { value } = event.target;
|
||||
if (value.some(item => item === "Select All")) {
|
||||
setSelectAllCanSignals(true);
|
||||
if (selectedCanSignals.length === canSignals.length) {
|
||||
setSelectedCanSignals([]);
|
||||
} else {
|
||||
setSelectedCanSignals(canSignals.map(signal => signal.signal_name));
|
||||
}
|
||||
} else {
|
||||
setSelectAllCanSignals(false);
|
||||
setSelectedCanSignals(value);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -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 {
|
||||
setBusy(true)
|
||||
if (!vin) return;
|
||||
|
||||
validateVIN(vin);
|
||||
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)
|
||||
throw new Error(`Get CAN signals error. ${result.message}`);
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ const API_ENDPOINT = process.env.REACT_APP_OTA_SERVICE_URL;
|
||||
|
||||
const canSignalAPI = {
|
||||
|
||||
getCanSignalsVin: async (vin, timestamp_start, timestamp_end, can_signals, token) =>
|
||||
fetch(addQueryParams(`${API_ENDPOINT}/can_signals_export`, { vin, timestamp_start, timestamp_end, can_signals }), {
|
||||
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, select_all }), {
|
||||
method: "GET",
|
||||
headers: Object.assign(
|
||||
{ "Content-Type": "application/json" },
|
||||
@@ -17,7 +17,6 @@ const canSignalAPI = {
|
||||
})
|
||||
.catch(errorHandler),
|
||||
|
||||
|
||||
getCanSignalList: async (token) =>
|
||||
fetch(addQueryParams(`${API_ENDPOINT}/can_signals_list`), {
|
||||
method: "GET",
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
const canSignalList = [
|
||||
{ signal_name: "123"},
|
||||
{ signal_name: "456"},
|
||||
{ signal_name: "789"}
|
||||
{ signal_name: "123" },
|
||||
{ signal_name: "456" },
|
||||
{ signal_name: "789" }
|
||||
];
|
||||
|
||||
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" };
|
||||
},
|
||||
getCanSignalList: async (token) => {
|
||||
|
||||
Reference in New Issue
Block a user