From 666135c153a03f4e224afa1e3e4e69c35a439b63 Mon Sep 17 00:00:00 2001 From: Kenneth Jannette Date: Sat, 2 Mar 2024 22:55:00 -0600 Subject: [PATCH 1/7] more --- src/Components/Document/DocumentListPage.js | 66 ++++++++++++--------- 1 file changed, 37 insertions(+), 29 deletions(-) diff --git a/src/Components/Document/DocumentListPage.js b/src/Components/Document/DocumentListPage.js index 1edd23f..416750e 100644 --- a/src/Components/Document/DocumentListPage.js +++ b/src/Components/Document/DocumentListPage.js @@ -32,7 +32,7 @@ const DocumentListPage = ({ perPage }) => { const [totalPages, setTotalPages] = useState(1); const { group } = appState; const [page, setPage] = useState(1); - // const [order, setOrder] = useState("parentCaseName"); + const [order, setOrder] = useState("parentCaseName"); const [lowerOrder, setLowerOrder] = useState("parentCaseName"); const [upperOrder, setUpperOrder] = useState("parentCaseName"); const appUserId = group ? group.appUserId : null; @@ -192,22 +192,26 @@ const DocumentListPage = ({ perPage }) => { {allDocs === null ?
Loading...
: null}
-
-
-
-
Discovery Responses
+ {respDocs && respDocs.length > 0 ? ( +
+
+
+
Discovery Responses
+
+
+
+
+ +
-
-
- -
-
-
+ ) : ( + <> + )}
{respDocs && respDocs.length > 0 ? ( respDocs.map((doc, i) => ( @@ -233,22 +237,26 @@ const DocumentListPage = ({ perPage }) => {
-
-
-
-
Discovery Requests
+ {reqDocs && reqDocs.length > 0 ? ( +
+
+
+
Discovery Requests
+
+
+
+
+ +
-
-
- -
-
-
+ ) : ( + <> + )}
{reqDocs && reqDocs.length > 0 ? ( reqDocs.map((doc, i) => ( From 5bc3318a645f70b527e3096e4354c5a456841e29 Mon Sep 17 00:00:00 2001 From: Kenneth Jannette Date: Sat, 2 Mar 2024 23:18:42 -0600 Subject: [PATCH 2/7] more --- src/Components/Document/DocumentListPage.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Components/Document/DocumentListPage.js b/src/Components/Document/DocumentListPage.js index 416750e..e0b3e1a 100644 --- a/src/Components/Document/DocumentListPage.js +++ b/src/Components/Document/DocumentListPage.js @@ -92,13 +92,12 @@ const DocumentListPage = ({ perPage }) => { return unsub; } - useEffect(getDocuments, [appUserId, respDocs, reqDocs]); + useEffect(getDocuments, [appUserId, allDocs, respDocs, reqDocs]); async function deleteFromDb(documentId) { if (isBusy) { return; } - setIsBusy(true); try { const docRef = doc(db, "documents", `${documentId}`); From 29a3900e9bdbd94bd46e06a88e89dc24affee831 Mon Sep 17 00:00:00 2001 From: Kenneth Jannette Date: Sun, 3 Mar 2024 00:23:39 -0600 Subject: [PATCH 3/7] m --- src/Components/Document/DocumentListPage.js | 200 +++++--------------- 1 file changed, 43 insertions(+), 157 deletions(-) diff --git a/src/Components/Document/DocumentListPage.js b/src/Components/Document/DocumentListPage.js index e0b3e1a..972dcc0 100644 --- a/src/Components/Document/DocumentListPage.js +++ b/src/Components/Document/DocumentListPage.js @@ -1,4 +1,4 @@ -import { useContext, useEffect, useState, useRef, useCallback } from "react"; +import { useContext, useEffect, useState, useRef } from "react"; import { useNavigate } from "react-router-dom"; import { AppContext } from "../../Hooks/useContext/appContext"; import SelectDropdown from "../../pageElements/SelectDropdown"; @@ -16,6 +16,7 @@ import { } from "firebase/firestore"; import ListPagination from "../../pageElements/ListPagination"; import ConfirmModal from "../Modals/ConfirmModal"; +import Toggle from "../../pageElements/Toggle"; import "../../styles/doclist-page.scss"; const DocumentListPage = ({ perPage }) => { @@ -26,21 +27,16 @@ const DocumentListPage = ({ perPage }) => { const [showDeleteModal, setShowDeleteModal] = useState(false); const [selectedDocumentId, setSelectedDocumentId] = useState(null); const [allDocs, setAllDocs] = useState(null); - const [respDocs, setRespDocs] = useState(null); - const [reqDocs, setReqDocs] = useState(null); const { appState } = useContext(AppContext); const [totalPages, setTotalPages] = useState(1); const { group } = appState; const [page, setPage] = useState(1); const [order, setOrder] = useState("parentCaseName"); - const [lowerOrder, setLowerOrder] = useState("parentCaseName"); - const [upperOrder, setUpperOrder] = useState("parentCaseName"); const appUserId = group ? group.appUserId : null; const [isBusy, setIsBusy] = useState(false); const [selectedDocumentType, setSelectedDocumentType] = useState(); const [showModal, setShowModal] = useState(false); const [verbValue, setVerbValue] = useState(1); - const apiUrl = process.env.NODE_ENV === "development" ? process.env.REACT_APP_API_DEV @@ -73,31 +69,36 @@ const DocumentListPage = ({ perPage }) => { ...doc.data(), documentId: doc.id, })); - + if (order === "parentCaseName") { + data.sort((a, b) => { + return a.parentCaseName.toLowerCase() > b.parentCaseName.toLowerCase() + ? 1 + : -1; + }); + } else if (order === "parentCaseName2") { + data.sort((a, b) => { + return a.parentCaseName.toLowerCase() < b.parentCaseName.toLowerCase() + ? 1 + : -1; + }); + } const pages = Math.ceil(data.length / perPage); if (page > pages) { setPage(pages); } setTotalPages(pages); setAllDocs(data); - const temp = allDocs?.filter((doc) => { - return doc.docType != "interrogatories-out"; - }); - const temp2 = allDocs?.filter((doc) => { - return doc.docType === "interrogatories-out"; - }); - setRespDocs(temp); - setReqDocs(temp2); }); return unsub; } - useEffect(getDocuments, [appUserId, allDocs, respDocs, reqDocs]); + useEffect(getDocuments, [appUserId, order]); async function deleteFromDb(documentId) { if (isBusy) { return; } + setIsBusy(true); try { const docRef = doc(db, "documents", `${documentId}`); @@ -130,20 +131,11 @@ const DocumentListPage = ({ perPage }) => { } } - const upperDropDownOptions = [ + const dropDownOptions = [ { label: "Associated case name a - z", value: "parentCaseName" }, { label: "Associated case name z - a", value: "parentCaseName2" }, ]; - const lowerDropDownOptions = [ - { label: "Associated case name a - z", value: "parentCaseName" }, - { label: "Associated case name z - a", value: "parentCaseName2" }, - ]; - - const handleUpperSort = () => { - console.log("handleUpperSort"); - }; - function handleNavigate( documentId, responseGenerations, @@ -190,122 +182,18 @@ const DocumentListPage = ({ perPage }) => {
{group.firm}
{allDocs === null ?
Loading...
: null} -
- {respDocs && respDocs.length > 0 ? ( -
-
-
-
Discovery Responses
-
-
-
-
- -
-
-
- ) : ( - <> - )} -
- {respDocs && respDocs.length > 0 ? ( - respDocs.map((doc, i) => ( - - )) - ) : ( - <> - )} -
-
-
- {reqDocs && reqDocs.length > 0 ? ( -
-
-
-
Discovery Requests
-
-
-
-
- -
-
-
- ) : ( - <> - )} -
- {reqDocs && reqDocs.length > 0 ? ( - reqDocs.map((doc, i) => ( - - )) - ) : ( - <> - )} -
-
- {showDeleteModal && selectedDocumentId !== null ? ( - - ) : null} - - ); - }; - return isMobile ? : ; -}; - -export default DocumentListPage; - -/* - - {allDocs !== null ? (
{allDocs.length > 0 ? (
-
-
Discovery Responses
+
+
Response Verbosity
+
+

Min

+ +

Max

+
@@ -322,9 +210,10 @@ export default DocumentListPage; <> )}
- {respDocs && respDocs.length > 0 ? ( - respDocs + {allDocs.length > 0 ? ( + allDocs .slice((page - 1) * perPage, page * perPage) + .filter((doc) => doc.docType !== "interrogatories-out") .map((doc, i) => ( ) : null} -
-
- {" "} -

- Novos -

-
-
-

Min

- -

Max

-
-
- */ + {showDeleteModal && selectedDocumentId !== null ? ( + + ) : null} + + ); + }; + return isMobile ? : ; +}; + +export default DocumentListPage; From 95697eade533be04fde39fbc9c8c19ec3c6649ea Mon Sep 17 00:00:00 2001 From: Kenneth Jannette Date: Sun, 3 Mar 2024 13:38:27 -0600 Subject: [PATCH 4/7] more --- src/Components/Document/DocumentListPage.js | 27 ++++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/Components/Document/DocumentListPage.js b/src/Components/Document/DocumentListPage.js index 972dcc0..511afd1 100644 --- a/src/Components/Document/DocumentListPage.js +++ b/src/Components/Document/DocumentListPage.js @@ -62,7 +62,8 @@ const DocumentListPage = ({ perPage }) => { } const q = query( collection(db, "documents"), - where("ownerId", "==", appUserId) + where("ownerId", "==", appUserId), + where("docType", "==", "interrogatories-out") ); const unsub = onSnapshot(q, (snapshot) => { const data = snapshot.docs.map((doc) => ({ @@ -186,16 +187,7 @@ const DocumentListPage = ({ perPage }) => {
{allDocs.length > 0 ? (
-
-
-
Response Verbosity
-
-

Min

- -

Max

-
-
-
+
{ {allDocs.length > 0 ? ( allDocs .slice((page - 1) * perPage, page * perPage) - .filter((doc) => doc.docType !== "interrogatories-out") .map((doc, i) => ( { }; export default DocumentListPage; + +/* + +
+
Response Verbosity
+
+

Min

+ +

Max

+
+
+ */ From 78a41a011e381cdb43ea9a87d34a095b6e8d11b1 Mon Sep 17 00:00:00 2001 From: Kenneth Jannette Date: Sun, 3 Mar 2024 14:00:16 -0600 Subject: [PATCH 5/7] more --- src/Components/Document/DocumentListPage.js | 106 +++++++++++++++----- 1 file changed, 83 insertions(+), 23 deletions(-) diff --git a/src/Components/Document/DocumentListPage.js b/src/Components/Document/DocumentListPage.js index 511afd1..53786ed 100644 --- a/src/Components/Document/DocumentListPage.js +++ b/src/Components/Document/DocumentListPage.js @@ -22,16 +22,19 @@ import "../../styles/doclist-page.scss"; const DocumentListPage = ({ perPage }) => { const size = window.innerWidth < 440; const [isMobile, setIsMobile] = useState(size); + const { appState } = useContext(AppContext); const count = useRef(null); const navigate = useNavigate(); const [showDeleteModal, setShowDeleteModal] = useState(false); const [selectedDocumentId, setSelectedDocumentId] = useState(null); - const [allDocs, setAllDocs] = useState(null); - const { appState } = useContext(AppContext); + //const [allDocs, setAllDocs] = useState(null); + const [allResponseDocs, setAllResponseDocs] = useState(null); + const [allRequestDocs, setAllRequestDocs] = useState(null); const [totalPages, setTotalPages] = useState(1); const { group } = appState; const [page, setPage] = useState(1); const [order, setOrder] = useState("parentCaseName"); + const [order2, setOrder2] = useState("parentCaseName"); const appUserId = group ? group.appUserId : null; const [isBusy, setIsBusy] = useState(false); const [selectedDocumentType, setSelectedDocumentType] = useState(); @@ -55,9 +58,9 @@ const DocumentListPage = ({ perPage }) => { }; }, []); - function getDocuments() { + function getRequests() { if (!appUserId) { - setAllDocs([]); + setAllRequestDocs([]); return; } const q = query( @@ -88,12 +91,52 @@ const DocumentListPage = ({ perPage }) => { setPage(pages); } setTotalPages(pages); - setAllDocs(data); + setAllRequestDocs(data); }); return unsub; } - useEffect(getDocuments, [appUserId, order]); + function getResponses() { + if (!appUserId) { + setAllResponseDocs([]); + return; + } + const q = query( + collection(db, "documents"), + where("ownerId", "==", appUserId), + where("docType", "!=", "interrogatories-out") + ); + const unsub = onSnapshot(q, (snapshot) => { + const data = snapshot.docs.map((doc) => ({ + ...doc.data(), + documentId: doc.id, + })); + if (order2 === "parentCaseName") { + data.sort((a, b) => { + return a.parentCaseName.toLowerCase() > b.parentCaseName.toLowerCase() + ? 1 + : -1; + }); + } else if (order2 === "parentCaseName2") { + data.sort((a, b) => { + return a.parentCaseName.toLowerCase() < b.parentCaseName.toLowerCase() + ? 1 + : -1; + }); + } + const pages = Math.ceil(data.length / perPage); + if (page > pages) { + setPage(pages); + } + setTotalPages(pages); + setAllResponseDocs(data); + }); + return unsub; + } + + useEffect(getRequests, [appUserId, order]); + + useEffect(getResponses, [appUserId]); async function deleteFromDb(documentId) { if (isBusy) { @@ -112,7 +155,8 @@ const DocumentListPage = ({ perPage }) => { } async function deleteFromStorage() { - const selectedDoc = allDocs.filter((doc) => { + //have to refactor to account for two diff lists + const selectedDoc = allRequestDocs.filter((doc) => { return doc.documentId == selectedDocumentId; }); @@ -182,7 +226,31 @@ const DocumentListPage = ({ perPage }) => {

Documents

{group.firm}
- {allDocs === null ?
Loading...
: null} + {allResponseDocs === null && allRequestDocs === null ? ( +
Loading...
+ ) : null} + + {showDeleteModal && selectedDocumentId !== null ? ( + + ) : null} + + ); + }; + return isMobile ? : ; +}; + +export default DocumentListPage; + +/* + + + + {allDocs !== null ? (
{allDocs.length > 0 ? ( @@ -267,23 +335,15 @@ const DocumentListPage = ({ perPage }) => { ) : null}
) : null} - {showDeleteModal && selectedDocumentId !== null ? ( - - ) : null} - - ); - }; - return isMobile ? : ; -}; -export default DocumentListPage; -/* + + + + + + +
Response Verbosity
From 578384bb69814de3c582d2e19cfe1ef5391543d4 Mon Sep 17 00:00:00 2001 From: Kenneth Jannette Date: Sun, 3 Mar 2024 14:24:06 -0600 Subject: [PATCH 6/7] more --- src/Components/Document/DocumentListPage.js | 75 ++++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) diff --git a/src/Components/Document/DocumentListPage.js b/src/Components/Document/DocumentListPage.js index 53786ed..428bcf0 100644 --- a/src/Components/Document/DocumentListPage.js +++ b/src/Components/Document/DocumentListPage.js @@ -229,7 +229,80 @@ const DocumentListPage = ({ perPage }) => { {allResponseDocs === null && allRequestDocs === null ? (
Loading...
) : null} - +
+
Discovery Request Documents
+
+
+ +
+
+
+
+ {allRequestDocs.length > 0 ? ( + allRequestDocs + .slice((page - 1) * perPage, page * perPage) + .map((doc, i) => ( + + )) + ) : ( + <> + )} +
+
+
Discovery Response Documents
+
+
+ +
+
+
+
+ {allResponseDocs.length > 0 ? ( + allResponseDocs + .slice((page - 1) * perPage, page * perPage) + .map((doc, i) => ( + + )) + ) : ( + <> + )} +
{showDeleteModal && selectedDocumentId !== null ? ( Date: Sun, 3 Mar 2024 14:25:23 -0600 Subject: [PATCH 7/7] more --- src/Components/Document/DocumentListPage.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/Components/Document/DocumentListPage.js b/src/Components/Document/DocumentListPage.js index 428bcf0..28cf26f 100644 --- a/src/Components/Document/DocumentListPage.js +++ b/src/Components/Document/DocumentListPage.js @@ -320,10 +320,6 @@ const DocumentListPage = ({ perPage }) => { export default DocumentListPage; /* - - - - {allDocs !== null ? (
{allDocs.length > 0 ? ( @@ -426,4 +422,4 @@ export default DocumentListPage;

Max

- */ +*/