@@ -101,7 +101,7 @@ function App() {
|
|||||||
/>
|
/>
|
||||||
<Route
|
<Route
|
||||||
exact
|
exact
|
||||||
path="/documents"
|
path="/documents/:docId?/:docType?/:caseId?"
|
||||||
element={
|
element={
|
||||||
<PrivateRoute>
|
<PrivateRoute>
|
||||||
<DocumentListPage perPage={10} />
|
<DocumentListPage perPage={10} />
|
||||||
|
|||||||
@@ -35,8 +35,12 @@ const CaseDetailsPage = () => {
|
|||||||
const message =
|
const message =
|
||||||
"Parsing document. Please be patient, this may take several minutes.";
|
"Parsing document. Please be patient, this may take several minutes.";
|
||||||
|
|
||||||
const handleNavigate = () => {
|
const handleNavigate = (docId, caseId) => {
|
||||||
navigate("/documents");
|
//documentId, responseGenerations, caseId, documentType
|
||||||
|
console.log("handle navigate fired docId", docId);
|
||||||
|
let docType = "interrogatories";
|
||||||
|
|
||||||
|
navigate(`/documents/${docId}/${docType}/${caseId}`);
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleNavEdit = (documentId, reqType, caseId) => {
|
const handleNavEdit = (documentId, reqType, caseId) => {
|
||||||
@@ -114,7 +118,7 @@ const CaseDetailsPage = () => {
|
|||||||
if (docType === "interrogatories-out") {
|
if (docType === "interrogatories-out") {
|
||||||
setTimeout(handleNavEdit, 40000, docId, caseId);
|
setTimeout(handleNavEdit, 40000, docId, caseId);
|
||||||
} else {
|
} else {
|
||||||
setTimeout(handleNavigate, 40000);
|
setTimeout(handleNavigate, 40000, docId, caseId);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -149,7 +153,7 @@ const CaseDetailsPage = () => {
|
|||||||
if (!group) {
|
if (!group) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
console.log("-----------------------------------------subCase", subCase);
|
|
||||||
const HeadingContent = () => {
|
const HeadingContent = () => {
|
||||||
return (
|
return (
|
||||||
<div className="details-heading-container">
|
<div className="details-heading-container">
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import "../../styles/docedit-page.scss";
|
|||||||
const DocEditPage = () => {
|
const DocEditPage = () => {
|
||||||
const { documentId, responseGenerations, caseId, documentType } = useParams();
|
const { documentId, responseGenerations, caseId, documentType } = useParams();
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
const [docType, setDocType] = useState(documentType);
|
||||||
const [parsedRogs, setParsedRogs] = useState();
|
const [parsedRogs, setParsedRogs] = useState();
|
||||||
const [responses, setResponses] = useState([1]);
|
const [responses, setResponses] = useState([1]);
|
||||||
const [fetchedCase, setFetchedCase] = useState();
|
const [fetchedCase, setFetchedCase] = useState();
|
||||||
@@ -127,7 +128,8 @@ const DocEditPage = () => {
|
|||||||
];
|
];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GET docuement data from Firebase
|
* GET document data from Firebase
|
||||||
|
*
|
||||||
* */
|
* */
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -154,7 +156,7 @@ const DocEditPage = () => {
|
|||||||
}
|
}
|
||||||
// TODO: possible *BUG* sometimes sends network req to gen repsonses after first (maybe state is not updating?)
|
// TODO: possible *BUG* sometimes sends network req to gen repsonses after first (maybe state is not updating?)
|
||||||
getParsedRequests(documentId, documentType);
|
getParsedRequests(documentId, documentType);
|
||||||
if (responsesCreated > 0) {
|
if (responsesCreated > 2) {
|
||||||
getCompletions(documentId)
|
getCompletions(documentId)
|
||||||
.then((data) => {
|
.then((data) => {
|
||||||
const resp = data[0].responses.map((item, index) => {
|
const resp = data[0].responses.map((item, index) => {
|
||||||
@@ -172,10 +174,12 @@ const DocEditPage = () => {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
/*
|
||||||
if (responsesCreated > 0) {
|
if (responsesCreated > 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (responsesCreated < 1) {
|
*/
|
||||||
|
if (responsesCreated == 1) {
|
||||||
if (documentType == "combined-numbered") {
|
if (documentType == "combined-numbered") {
|
||||||
try {
|
try {
|
||||||
const res = generateResponsesCombined(documentId);
|
const res = generateResponsesCombined(documentId);
|
||||||
@@ -213,6 +217,12 @@ const DocEditPage = () => {
|
|||||||
const unsub = onSnapshot(docRef, (snapshot) => {
|
const unsub = onSnapshot(docRef, (snapshot) => {
|
||||||
if (snapshot.exists() && snapshot.data().ownerId === appUserId) {
|
if (snapshot.exists() && snapshot.data().ownerId === appUserId) {
|
||||||
setDocument({ ...snapshot.data(), documentId: snapshot.id });
|
setDocument({ ...snapshot.data(), documentId: snapshot.id });
|
||||||
|
if (
|
||||||
|
docType === undefined ||
|
||||||
|
(docType === null && document.length > 1)
|
||||||
|
) {
|
||||||
|
setDocType(document.docType);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
setDocument(null);
|
setDocument(null);
|
||||||
}
|
}
|
||||||
@@ -292,12 +302,12 @@ const DocEditPage = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function generateResponses(documentId) {
|
async function generateResponses(documentId) {
|
||||||
|
/*
|
||||||
if (responsesCreated > 0) {
|
if (responsesCreated > 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
const docType = String(documentType);
|
const docType = String(documentType);
|
||||||
let mode;
|
|
||||||
//TODO: remove isRequests var
|
//TODO: remove isRequests var
|
||||||
const isRequests = false;
|
const isRequests = false;
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import { useContext, useEffect, useState, useRef } from "react";
|
|||||||
import { useNavigate } from "react-router-dom";
|
import { useNavigate } from "react-router-dom";
|
||||||
import { AppContext } from "../../Hooks/useContext/appContext";
|
import { AppContext } from "../../Hooks/useContext/appContext";
|
||||||
import SelectDropdown from "../../pageElements/SelectDropdown";
|
import SelectDropdown from "../../pageElements/SelectDropdown";
|
||||||
|
import { useParams } from "react-router-dom";
|
||||||
import { DocCard } from "../../pageElements/Cards";
|
import { DocCard } from "../../pageElements/Cards";
|
||||||
import { db } from "../../firebase";
|
import { db } from "../../firebase";
|
||||||
import MobileContent from "../MobileContent";
|
import MobileContent from "../MobileContent";
|
||||||
@@ -21,6 +22,7 @@ import "../../styles/doclist-page.scss";
|
|||||||
|
|
||||||
const DocumentListPage = ({ perPage }) => {
|
const DocumentListPage = ({ perPage }) => {
|
||||||
const size = window.innerWidth < 440;
|
const size = window.innerWidth < 440;
|
||||||
|
const { docId, documentType, caseId } = useParams();
|
||||||
const [isMobile, setIsMobile] = useState(size);
|
const [isMobile, setIsMobile] = useState(size);
|
||||||
const { appState } = useContext(AppContext);
|
const { appState } = useContext(AppContext);
|
||||||
const count = useRef(null);
|
const count = useRef(null);
|
||||||
@@ -40,6 +42,7 @@ const DocumentListPage = ({ perPage }) => {
|
|||||||
const [selectedDocumentType, setSelectedDocumentType] = useState();
|
const [selectedDocumentType, setSelectedDocumentType] = useState();
|
||||||
const [showModal, setShowModal] = useState(false);
|
const [showModal, setShowModal] = useState(false);
|
||||||
const [verbValue, setVerbValue] = useState(1);
|
const [verbValue, setVerbValue] = useState(1);
|
||||||
|
|
||||||
const apiUrl =
|
const apiUrl =
|
||||||
process.env.NODE_ENV === "development"
|
process.env.NODE_ENV === "development"
|
||||||
? process.env.REACT_APP_API_DEV
|
? process.env.REACT_APP_API_DEV
|
||||||
@@ -58,6 +61,43 @@ const DocumentListPage = ({ perPage }) => {
|
|||||||
};
|
};
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
async function generateResponses(docId) {
|
||||||
|
/*
|
||||||
|
if (responsesCreated > 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
console.log("docId in generate responses", docId);
|
||||||
|
//const docType = String(documentType);
|
||||||
|
//TODO: remove isRequests var
|
||||||
|
const isRequests = false;
|
||||||
|
const docType = "interrogatories";
|
||||||
|
try {
|
||||||
|
fetch(
|
||||||
|
`${apiUrl}/genResponseFromArray/${docId}/${docType}/${isRequests}`,
|
||||||
|
{
|
||||||
|
method: "GET",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.then(function (response) {
|
||||||
|
return response.json();
|
||||||
|
})
|
||||||
|
.catch((err) => console.log(err));
|
||||||
|
} catch (err) {
|
||||||
|
console.log("err", err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
console.log(
|
||||||
|
"useEffect fired in doc list to gen response here's docId",
|
||||||
|
docId
|
||||||
|
);
|
||||||
|
generateResponses(docId).then((response) => {
|
||||||
|
console.log("response", response);
|
||||||
|
});
|
||||||
|
}, [documentId]);
|
||||||
|
|
||||||
function getRequests() {
|
function getRequests() {
|
||||||
if (!appUserId) {
|
if (!appUserId) {
|
||||||
setAllRequestDocs([]);
|
setAllRequestDocs([]);
|
||||||
@@ -229,20 +269,24 @@ const DocumentListPage = ({ perPage }) => {
|
|||||||
{allResponseDocs === null && allRequestDocs === null ? (
|
{allResponseDocs === null && allRequestDocs === null ? (
|
||||||
<div>Loading...</div>
|
<div>Loading...</div>
|
||||||
) : null}
|
) : null}
|
||||||
<div className="document-list-upper-wrapper">
|
{allRequestDocs != null && allRequestDocs.length > 0 ? (
|
||||||
<div className="list-upper-left">Discovery Request Documents</div>
|
<div className="document-list-upper-wrapper">
|
||||||
<div className="list-upper-right">
|
<div className="list-upper-left">Discovery Request Documents</div>
|
||||||
<div className="d-flex justify-content-end mb-3">
|
<div className="list-upper-right">
|
||||||
<SelectDropdown
|
<div className="d-flex justify-content-end mb-3">
|
||||||
dropDownOptions={dropDownOptions}
|
<SelectDropdown
|
||||||
titleText="Sort documents"
|
dropDownOptions={dropDownOptions}
|
||||||
handleSelect={setOrder}
|
titleText="Sort documents"
|
||||||
/>
|
handleSelect={setOrder}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
) : (
|
||||||
|
<></>
|
||||||
|
)}
|
||||||
<div className="document-list-lower-wrapper">
|
<div className="document-list-lower-wrapper">
|
||||||
{allRequestDocs.length > 0 ? (
|
{allRequestDocs?.length > 0 ? (
|
||||||
allRequestDocs
|
allRequestDocs
|
||||||
.slice((page - 1) * perPage, page * perPage)
|
.slice((page - 1) * perPage, page * perPage)
|
||||||
.map((doc, i) => (
|
.map((doc, i) => (
|
||||||
@@ -266,20 +310,24 @@ const DocumentListPage = ({ perPage }) => {
|
|||||||
<></>
|
<></>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
<div className="document-list-upper-wrapper">
|
{allResponseDocs != null && allResponseDocs.length > 0 ? (
|
||||||
<div className="list-upper-left">Discovery Response Documents</div>
|
<div className="document-list-upper-wrapper">
|
||||||
<div className="list-upper-right">
|
<div className="list-upper-left">Discovery Response Documents</div>
|
||||||
<div className="d-flex justify-content-end mb-3">
|
<div className="list-upper-right">
|
||||||
<SelectDropdown
|
<div className="d-flex justify-content-end mb-3">
|
||||||
dropDownOptions={dropDownOptions}
|
<SelectDropdown
|
||||||
titleText="Sort documents"
|
dropDownOptions={dropDownOptions}
|
||||||
handleSelect={setOrder}
|
titleText="Sort documents"
|
||||||
/>
|
handleSelect={setOrder}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
) : (
|
||||||
|
<></>
|
||||||
|
)}
|
||||||
<div className="document-list-lower-wrapper">
|
<div className="document-list-lower-wrapper">
|
||||||
{allResponseDocs.length > 0 ? (
|
{allResponseDocs?.length > 0 ? (
|
||||||
allResponseDocs
|
allResponseDocs
|
||||||
.slice((page - 1) * perPage, page * perPage)
|
.slice((page - 1) * perPage, page * perPage)
|
||||||
.map((doc, i) => (
|
.map((doc, i) => (
|
||||||
@@ -405,15 +453,6 @@ export default DocumentListPage;
|
|||||||
</div>
|
</div>
|
||||||
) : null}
|
) : null}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div className="toggle-outer">
|
<div className="toggle-outer">
|
||||||
<div className="toggle-header"> Response Verbosity</div>
|
<div className="toggle-header"> Response Verbosity</div>
|
||||||
<div className="toggle-box">
|
<div className="toggle-box">
|
||||||
|
|||||||
Reference in New Issue
Block a user