From 6359641b8c7b79eaf374cde91ba303b9e33dee41 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Mon, 26 Oct 2020 10:22:21 -0700 Subject: [PATCH] Added delete all EMS functionality RPS-11 --- electron/file-scan/file-scan-ipc.js | 15 +++++++++- electron/file-scan/file-scan.js | 29 +++++++++++++++++++ .../delete-all-ems/delete-all-ems.atom.jsx | 17 +++++++++++ .../scan-estimate-list.molecule.jsx | 11 ++++--- src/index.js | 11 ------- src/ipc.types.js | 1 + 6 files changed, 68 insertions(+), 16 deletions(-) create mode 100644 src/components/atoms/delete-all-ems/delete-all-ems.atom.jsx diff --git a/electron/file-scan/file-scan-ipc.js b/electron/file-scan/file-scan-ipc.js index 10a4568..f388001 100644 --- a/electron/file-scan/file-scan-ipc.js +++ b/electron/file-scan/file-scan-ipc.js @@ -2,7 +2,7 @@ const { ipcMain } = require("electron"); const Nucleus = require("nucleus-nodejs"); const ipcTypes = require("../../src/ipc.types"); const { ImportJob } = require("../decoder/decoder"); -const { GetListOfEstimates } = require("./file-scan"); +const { GetListOfEstimates, DeleteAllEms } = require("./file-scan"); ipcMain.on( ipcTypes.default.fileScan.toMain.scanFilePaths, @@ -22,3 +22,16 @@ ipcMain.on( await ImportJob(filePath); } ); + +ipcMain.on( + ipcTypes.default.fileScan.toMain.deleteAllEms, + async (event, filePath) => { + Nucleus.track("DELETE_ALLEMS"); + await DeleteAllEms(); + const ret = await GetListOfEstimates(); + event.reply( + ipcTypes.default.fileScan.toRenderer.scanFilePathsResponse, + ret + ); + } +); diff --git a/electron/file-scan/file-scan.js b/electron/file-scan/file-scan.js index 17cf699..1b17158 100644 --- a/electron/file-scan/file-scan.js +++ b/electron/file-scan/file-scan.js @@ -6,6 +6,7 @@ const fsPromises = fs.promises; const _ = require("lodash"); const { DecodeEstimate } = require("../decoder/decoder"); const Nucleus = require("nucleus-nodejs"); +const { format } = require("path"); async function GetListOfEstimates() { Nucleus.track("SCAN_ALL_ESTIMATES"); @@ -42,4 +43,32 @@ async function GetEnvFiles() { return allFilePaths; } +async function DeleteAllEms() { + try { + const filePaths = store.get("filePaths"); + const allFilePaths = []; + await Promise.all( + filePaths.map(async (fp) => { + const allFilesinDir = await fsPromises.readdir(fp); + + allFilesinDir.map((envFileName) => { + allFilePaths.push(path.join(fp, envFileName)); + return null; + }); + }) + ); + + await Promise.all( + allFilePaths.map(async (file) => { + await fsPromises.unlink(file); + }) + ); + + return true; + } catch (error) { + return false; + } +} + exports.GetListOfEstimates = GetListOfEstimates; +exports.DeleteAllEms = DeleteAllEms \ No newline at end of file diff --git a/src/components/atoms/delete-all-ems/delete-all-ems.atom.jsx b/src/components/atoms/delete-all-ems/delete-all-ems.atom.jsx new file mode 100644 index 0000000..6d39ffd --- /dev/null +++ b/src/components/atoms/delete-all-ems/delete-all-ems.atom.jsx @@ -0,0 +1,17 @@ +import { Button, Popconfirm } from "antd"; +import React from "react"; +import ipcTypes from "../../../ipc.types"; + +const { ipcRenderer } = window; +export default function DeleteAllEmsAtom() { + return ( + + ipcRenderer.send(ipcTypes.default.fileScan.toMain.deleteAllEms) + } + > + + + ); +} diff --git a/src/components/molecules/scan-estimate-list/scan-estimate-list.molecule.jsx b/src/components/molecules/scan-estimate-list/scan-estimate-list.molecule.jsx index ceef2ad..0a36b27 100644 --- a/src/components/molecules/scan-estimate-list/scan-estimate-list.molecule.jsx +++ b/src/components/molecules/scan-estimate-list/scan-estimate-list.molecule.jsx @@ -1,4 +1,4 @@ -import { Button, Input, Table } from "antd"; +import { Button, Input, message, Table } from "antd"; import React, { useState } from "react"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; @@ -8,6 +8,7 @@ import { selectScanLoading, } from "../../../redux/scan/scan.selectors"; import { alphaSort } from "../../../util/sorters"; +import DeleteAllEmsAtom from "../../atoms/delete-all-ems/delete-all-ems.atom"; import LastScannedAtom from "../../atoms/last-scanned/last-scanned.atom"; import ScanRefreshAtom from "../../atoms/scan-refresh/scan-refresh.atom"; @@ -64,12 +65,13 @@ export function ScanEstimateListMolecule({ scanLoading, estimates }) { key: "import", render: (text, record) => ( @@ -96,6 +98,7 @@ export function ScanEstimateListMolecule({ scanLoading, estimates }) {
+ , document.getElementById("root") ); - -window.onkeydown = function (evt) { - // disable zooming - if ( - (evt.code === "Minus" || evt.code === "Equal") && - (evt.ctrlKey || evt.metaKey) - ) { - console.log("Preventing zoom!"); - evt.preventDefault(); - } -}; diff --git a/src/ipc.types.js b/src/ipc.types.js index 94d639f..794d547 100644 --- a/src/ipc.types.js +++ b/src/ipc.types.js @@ -21,6 +21,7 @@ exports.default = { toMain: { scanFilePaths: "fileScan__scanFilePaths", importJob: "fileScan__importJob", + deleteAllEms: "filescan_deleteAllEms", }, toRenderer: { scanFilePathsResponse: "fileScan__scanFilePathsResponse",