more
This commit is contained in:
@@ -22,16 +22,19 @@ import "../../styles/doclist-page.scss";
|
|||||||
const DocumentListPage = ({ perPage }) => {
|
const DocumentListPage = ({ perPage }) => {
|
||||||
const size = window.innerWidth < 440;
|
const size = window.innerWidth < 440;
|
||||||
const [isMobile, setIsMobile] = useState(size);
|
const [isMobile, setIsMobile] = useState(size);
|
||||||
|
const { appState } = useContext(AppContext);
|
||||||
const count = useRef(null);
|
const count = useRef(null);
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const [showDeleteModal, setShowDeleteModal] = useState(false);
|
const [showDeleteModal, setShowDeleteModal] = useState(false);
|
||||||
const [selectedDocumentId, setSelectedDocumentId] = useState(null);
|
const [selectedDocumentId, setSelectedDocumentId] = useState(null);
|
||||||
const [allDocs, setAllDocs] = useState(null);
|
//const [allDocs, setAllDocs] = useState(null);
|
||||||
const { appState } = useContext(AppContext);
|
const [allResponseDocs, setAllResponseDocs] = useState(null);
|
||||||
|
const [allRequestDocs, setAllRequestDocs] = useState(null);
|
||||||
const [totalPages, setTotalPages] = useState(1);
|
const [totalPages, setTotalPages] = useState(1);
|
||||||
const { group } = appState;
|
const { group } = appState;
|
||||||
const [page, setPage] = useState(1);
|
const [page, setPage] = useState(1);
|
||||||
const [order, setOrder] = useState("parentCaseName");
|
const [order, setOrder] = useState("parentCaseName");
|
||||||
|
const [order2, setOrder2] = useState("parentCaseName");
|
||||||
const appUserId = group ? group.appUserId : null;
|
const appUserId = group ? group.appUserId : null;
|
||||||
const [isBusy, setIsBusy] = useState(false);
|
const [isBusy, setIsBusy] = useState(false);
|
||||||
const [selectedDocumentType, setSelectedDocumentType] = useState();
|
const [selectedDocumentType, setSelectedDocumentType] = useState();
|
||||||
@@ -55,9 +58,9 @@ const DocumentListPage = ({ perPage }) => {
|
|||||||
};
|
};
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
function getDocuments() {
|
function getRequests() {
|
||||||
if (!appUserId) {
|
if (!appUserId) {
|
||||||
setAllDocs([]);
|
setAllRequestDocs([]);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const q = query(
|
const q = query(
|
||||||
@@ -88,12 +91,52 @@ const DocumentListPage = ({ perPage }) => {
|
|||||||
setPage(pages);
|
setPage(pages);
|
||||||
}
|
}
|
||||||
setTotalPages(pages);
|
setTotalPages(pages);
|
||||||
setAllDocs(data);
|
setAllRequestDocs(data);
|
||||||
});
|
});
|
||||||
return unsub;
|
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) {
|
async function deleteFromDb(documentId) {
|
||||||
if (isBusy) {
|
if (isBusy) {
|
||||||
@@ -112,7 +155,8 @@ const DocumentListPage = ({ perPage }) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function deleteFromStorage() {
|
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;
|
return doc.documentId == selectedDocumentId;
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -182,7 +226,31 @@ const DocumentListPage = ({ perPage }) => {
|
|||||||
<h2 className="doc-header-text">Documents</h2>
|
<h2 className="doc-header-text">Documents</h2>
|
||||||
<div className="user-name-container">{group.firm}</div>
|
<div className="user-name-container">{group.firm}</div>
|
||||||
</div>
|
</div>
|
||||||
{allDocs === null ? <div>Loading...</div> : null}
|
{allResponseDocs === null && allRequestDocs === null ? (
|
||||||
|
<div>Loading...</div>
|
||||||
|
) : null}
|
||||||
|
|
||||||
|
{showDeleteModal && selectedDocumentId !== null ? (
|
||||||
|
<ConfirmModal
|
||||||
|
onCancel={handleCancelDelete}
|
||||||
|
onConfirm={handleDeleteDocument}
|
||||||
|
buttonLabelText="Delete"
|
||||||
|
modalText="Confirm that you want to permanently delete this document."
|
||||||
|
/>
|
||||||
|
) : null}
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
return isMobile ? <MobileContent /> : <DesktopContent />;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default DocumentListPage;
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{allDocs !== null ? (
|
{allDocs !== null ? (
|
||||||
<div className="content-container">
|
<div className="content-container">
|
||||||
{allDocs.length > 0 ? (
|
{allDocs.length > 0 ? (
|
||||||
@@ -267,23 +335,15 @@ const DocumentListPage = ({ perPage }) => {
|
|||||||
) : null}
|
) : null}
|
||||||
</div>
|
</div>
|
||||||
) : null}
|
) : null}
|
||||||
{showDeleteModal && selectedDocumentId !== null ? (
|
|
||||||
<ConfirmModal
|
|
||||||
onCancel={handleCancelDelete}
|
|
||||||
onConfirm={handleDeleteDocument}
|
|
||||||
buttonLabelText="Delete"
|
|
||||||
modalText="Confirm that you want to permanently delete this document."
|
|
||||||
/>
|
|
||||||
) : null}
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
return isMobile ? <MobileContent /> : <DesktopContent />;
|
|
||||||
};
|
|
||||||
|
|
||||||
export default DocumentListPage;
|
|
||||||
|
|
||||||
/*
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div className="toggle-outer">
|
<div className="toggle-outer">
|
||||||
<div className="toggle-header"> Response Verbosity</div>
|
<div className="toggle-header"> Response Verbosity</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user