diff --git a/src/components/Controls/TRexLogs/index.jsx b/src/components/Controls/TRexLogs/index.jsx index 165c4ed..c8967df 100644 --- a/src/components/Controls/TRexLogs/index.jsx +++ b/src/components/Controls/TRexLogs/index.jsx @@ -140,7 +140,7 @@ const TRexLogsTable = ({ vin, token, classes }) => { return pageSize * pageIndex + pageSize } const getReadPercentage = () => { - return (currentOffset * 100 / blobSize).toFixed(2); + return (currentOffset * 100 / blobSize); } const getFilteredLogs = (logs) => { return logs.filter(log => currectLogLevels[log.level] === true) @@ -182,6 +182,19 @@ const TRexLogsTable = ({ vin, token, classes }) => { return fetched } + const downloadFile = async () => { + let day = formatTwoDigit(selectedDate.getDate()) + let month = formatTwoDigit(selectedDate.getMonth() + 1)// 0 Indexed + let year = selectedDate.getFullYear() + + let result = await api.getLogFileLink({ vin, year, month, day }, token) + window.open(result['Link'], '_blank') + } + + const formatTwoDigit = (num) => { + return num < 10 ? '0' + num : '' + num + } + useEffect(() => { (async () => { try { @@ -266,11 +279,12 @@ const TRexLogsTable = ({ vin, token, classes }) => { }} /> - + + { blobSize === 0 ? `No logs for ${fromatDateForRequest(selectedDate)}` : - `Read ${getReadPercentage()}% of logs` + `Read ${getReadPercentage().toFixed(2)}% of logs` } { { align="center" value={getReadPercentage()} /> } - +

+ + diff --git a/src/services/vehiclesAPI.js b/src/services/vehiclesAPI.js index 8d38faa..80345e4 100644 --- a/src/services/vehiclesAPI.js +++ b/src/services/vehiclesAPI.js @@ -197,6 +197,18 @@ const vehiclesAPI = { .then(fetchRespHandler) .catch(errorHandler) }, + + getLogFileLink: async ({vin, year, month, day}, token) => { + const u = `${API_ENDPOINT}/vehicle/${vin}/trex-logs-link?year=${year}&month=${month}&day=${day}` + return fetch(u, { + method: "GET", + headers: Object.assign( + { "Content-Type": "application/json" }, + getAuthHeaderOptions(token) + ), + }).then(fetchRespHandler) + .catch(errorHandler) + }, }; export default vehiclesAPI;