diff --git a/microfrontends/SignDocuments/src/Component/LegaDrive/FolderDrive/legaDriveComponent.js b/microfrontends/SignDocuments/src/Component/LegaDrive/FolderDrive/legaDriveComponent.js
index de39df94c..39f4211d0 100644
--- a/microfrontends/SignDocuments/src/Component/LegaDrive/FolderDrive/legaDriveComponent.js
+++ b/microfrontends/SignDocuments/src/Component/LegaDrive/FolderDrive/legaDriveComponent.js
@@ -11,6 +11,8 @@ import { useNavigate } from "react-router-dom";
import Table from "react-bootstrap/Table";
import * as HoverCard from "@radix-ui/react-hover-card";
import SelectFolder from "../../../premitives/SelectFolder";
+import ModalUi from "../../../premitives/ModalUi";
+import { themeColor } from "../../../utils/ThemeColor/backColor";
function PdfFileComponent({
pdfData,
@@ -25,6 +27,7 @@ function PdfFileComponent({
const inputRef = useRef(null);
const [isOpenMoveModal, setIsOpenMoveModal] = useState(false);
const [selectDoc, setSelectDoc] = useState();
+ const [isDeleteDoc, setIsDeleteDoc] = useState(false);
const contextMenu = ["Download", "Rename", "Delete", "Move"];
const navigate = useNavigate();
@@ -163,9 +166,138 @@ function PdfFileComponent({
}
};
+ const handleMenuItemClick = (selectType, data) => {
+ switch (selectType) {
+ case "Download":
+ const pdfName = data && data.Name;
+ const pdfUrl = data && data.SignedUrl ? data.SignedUrl : data.URL;
+ saveAs(pdfUrl, `${sanitizeFileName(pdfName)}_signed_by_OpenSign™.pdf`);
+ break;
+ case "Rename":
+ setRenameValue(data.Name);
+ setRename(data.objectId);
+ break;
+ case "Delete":
+ setIsDeleteDoc(true);
+ setSelectDoc(data);
+ break;
+
+ case "Move":
+ handleMoveDocument(data);
+ break;
+ }
+ };
+ //function for delete document
+ const handleDeleteDocument = async (docData) => {
+ const docId = docData.objectId;
+ const data = {
+ IsArchive: true
+ };
+
+ await axios
+ .put(
+ `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem(
+ "_appName"
+ )}_Document/${docId}`,
+ data,
+ {
+ headers: {
+ "Content-Type": "application/json",
+ "X-Parse-Application-Id": localStorage.getItem("parseAppId"),
+ "X-Parse-Session-Token": localStorage.getItem("accesstoken")
+ }
+ }
+ )
+ .then((result) => {
+ const res = result.data;
+ const updatedData = pdfData.filter((x) => x.objectId !== docId);
+ setPdfData(updatedData);
+ })
+ .catch((err) => {
+ console.log("err", err);
+ });
+ };
+ const handleMoveDocument = async (docData) => {
+ setIsOpenMoveModal(true);
+ setSelectDoc(docData);
+ };
+ //function for move document from one folder to another folder
+ const handleMoveFolder = async (selectFolderData) => {
+ const selecFolderId = selectDoc?.Folder?.objectId;
+ const moveFolderId = selectFolderData?.ObjectId;
+ let updateDocId = selectDoc?.objectId;
+ let updateData;
+ const checkExist = moveFolderId
+ ? selecFolderId === moveFolderId
+ ? true
+ : false
+ : false;
+
+ if (!checkExist) {
+ if (moveFolderId) {
+ updateData = {
+ Folder: {
+ __type: "Pointer",
+ className: `${localStorage.getItem("_appName")}_Document`,
+ objectId: moveFolderId
+ }
+ };
+ } else {
+ updateData = {
+ Folder: { __op: "Delete" }
+ };
+ }
+
+ await axios
+ .put(
+ `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem(
+ "_appName"
+ )}_Document/${updateDocId}`,
+ updateData,
+ {
+ headers: {
+ "Content-Type": "application/json",
+ "X-Parse-Application-Id": localStorage.getItem("parseAppId"),
+ "X-Parse-Session-Token": localStorage.getItem("accesstoken")
+ }
+ }
+ )
+
+ .then((Listdata) => {
+ // console.log("Listdata ", Listdata);
+ const json = Listdata.data;
+
+ const updatedData = pdfData.filter((x) => x.objectId !== updateDocId);
+ setPdfData(updatedData);
+ })
+ .catch((err) => {
+ console.log("err", err);
+ });
+
+ setIsOpenMoveModal(false);
+ } else {
+ alert("folder already exist!");
+ setIsOpenMoveModal(false);
+ }
+ };
+
+ const sanitizeFileName = (pdfName) => {
+ // Replace spaces with underscore
+ return pdfName.replace(/ /g, "_");
+ };
+
+ const handleEnterPress = (e, data) => {
+ if (e.key === "Enter") {
+ handledRenameDoc(data);
+ }
+ };
+
+ const handleDraftDoc = (data) => {
+ window.location.hash = `/mf/remoteUrl=aHR0cHM6Ly9xaWstYWktb3JnLmdpdGh1Yi5pby9MZWdhR2VuaWUtTWljcm9hcHBWMi9yZW1vdGVFbnRyeS5qcw==&moduleToLoad=AppRoutes&remoteName=legageniemicroapp/legagenie?${data.objectId}`;
+ };
+
//component to handle type of document and render according to type
const handleFolderData = (data, ind, listType) => {
- // console.log("data", data);
let createddate,
status,
isDecline,
@@ -210,86 +342,12 @@ function PdfFileComponent({
}
}
- const handleDraftDoc = (data) => {
- window.location.hash = `/mf/remoteUrl=aHR0cHM6Ly9xaWstYWktb3JnLmdpdGh1Yi5pby9MZWdhR2VuaWUtTWljcm9hcHBWMi9yZW1vdGVFbnRyeS5qcw==&moduleToLoad=AppRoutes&remoteName=legageniemicroapp/legagenie?${data.objectId}`;
- };
-
- const handleMenuItemClick = (selectType, data) => {
- switch (selectType) {
- case "Download":
- const pdfName = data && data.Name;
- const pdfUrl = data && data.SignedUrl ? data.SignedUrl : data.URL;
- saveAs(
- pdfUrl,
- `${sanitizeFileName(pdfName)}_signed_by_OpenSign™.pdf`
- );
- break;
- case "Rename":
- setRenameValue(data.Name);
- setRename(data.objectId);
- break;
- case "Delete":
- handleDeleteDocument(data);
- break;
-
- case "Move":
- handleMoveDocument(data);
- break;
- }
- };
-
- //function for delete document
- const handleDeleteDocument = async (docData) => {
- const docId = docData.objectId;
- const data = {
- IsArchive: true
- };
-
- await axios
- .put(
- `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem(
- "_appName"
- )}_Document/${docId}`,
- data,
- {
- headers: {
- "Content-Type": "application/json",
- "X-Parse-Application-Id": localStorage.getItem("parseAppId"),
- "X-Parse-Session-Token": localStorage.getItem("accesstoken")
- }
- }
- )
- .then((result) => {
- const res = result.data;
- const updatedData = pdfData.filter((x) => x.objectId !== docId);
- setPdfData(updatedData);
- })
- .catch((err) => {
- console.log("err", err);
- });
- };
- const handleMoveDocument = async (docData) => {
- setIsOpenMoveModal(true);
- setSelectDoc(docData);
- };
- const sanitizeFileName = (pdfName) => {
- // Replace spaces with underscore
- return pdfName.replace(/ /g, "_");
- };
-
- const handleEnterPress = (e, data) => {
- if (e.key === "Enter") {
- handledRenameDoc(data);
- }
- };
-
const signersName = () => {
const getSignersName = signerExist.map((data) => data.Name);
const signerName = getSignersName.join(",");
return {signerName} ;
};
-
return listType === "table" ? (
data.Type === "Folder" ? (
handleOnclikFolder(data)}>
@@ -383,7 +441,6 @@ function PdfFileComponent({
}}
autoFocus={true}
type="text"
- // onFocus={()=>console.log("focus")}
onBlur={() => handledRenameDoc(data)}
onKeyDown={(e) => handleEnterPress(e, data)}
ref={inputRef}
@@ -448,7 +505,6 @@ function PdfFileComponent({
}}
autoFocus={true}
type="text"
- // onFocus={()=>console.log("focus")}
onBlur={() => handledRenameDoc(data)}
onKeyDown={(e) => handleEnterPress(e, data)}
ref={inputRef}
@@ -568,33 +624,6 @@ function PdfFileComponent({
);
})}
-
- {/* handleMenuItemClick("Download", data)}
- // onSelect={(e) => console.log("event", e)}
- className="ContextMenuItem"
- >
- Download
-
-
- handleMenuItemClick("Rename", data)}
- className="ContextMenuItem"
- >
- Rename
-
- handleMenuItemClick("Delete", data)}
- className="ContextMenuItem"
- >
- Delete
-
- handleMenuItemClick("Move", data)}
- className="ContextMenuItem"
- >
- Move
- */}
@@ -627,66 +656,6 @@ function PdfFileComponent({
);
};
- //function for move document from one folder to another folder
- const handleMoveFolder = async (selectFolderData) => {
- const selecFolderId = selectDoc?.Folder?.objectId;
- const moveFolderId = selectFolderData?.ObjectId;
- let updateDocId = selectDoc?.objectId;
- let updateData;
- const checkExist = moveFolderId
- ? selecFolderId === moveFolderId
- ? true
- : false
- : false;
-
- if (!checkExist) {
- if (moveFolderId) {
- updateData = {
- Folder: {
- __type: "Pointer",
- className: `${localStorage.getItem("_appName")}_Document`,
- objectId: moveFolderId
- }
- };
- } else {
- updateData = {
- Folder: undefined
- };
- }
-
- await axios
- .put(
- `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem(
- "_appName"
- )}_Document/${updateDocId}`,
- updateData,
- {
- headers: {
- "Content-Type": "application/json",
- "X-Parse-Application-Id": localStorage.getItem("parseAppId"),
- "X-Parse-Session-Token": localStorage.getItem("accesstoken")
- }
- }
- )
-
- .then((Listdata) => {
- // console.log("Listdata ", Listdata);
- const json = Listdata.data;
-
- const updatedData = pdfData.filter((x) => x.objectId !== updateDocId);
- setPdfData(updatedData);
- })
- .catch((err) => {
- console.log("err", err);
- });
-
- setIsOpenMoveModal(false);
- } else {
- alert("folder already exist!");
- setIsOpenMoveModal(false);
- }
- };
-
//component to handle type of document and render according to type
return (
<>
@@ -730,8 +699,58 @@ function PdfFileComponent({
isOpenModal={isOpenMoveModal}
folderCls={"contracts_Document"}
setIsOpenMoveModal={setIsOpenMoveModal}
+ setPdfData={setPdfData}
/>
)}
+ {
+ setIsDeleteDoc(false);
+ }}
+ >
+
+
Are you sure you want to delete this document?
+
+
+
+
+
+
+
>
);
}
diff --git a/microfrontends/SignDocuments/src/Component/LegaDrive/LegaDrive.css b/microfrontends/SignDocuments/src/Component/LegaDrive/LegaDrive.css
index 7df3321f4..0266b29e4 100644
--- a/microfrontends/SignDocuments/src/Component/LegaDrive/LegaDrive.css
+++ b/microfrontends/SignDocuments/src/Component/LegaDrive/LegaDrive.css
@@ -497,6 +497,27 @@ a {
/* for Chrome, Safari, and Opera */
}
+.docDeleteBtn {
+ /* box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.18); */
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+ padding: 7px 17px;
+ color: white;
+ font-weight: 600 !important;
+ font-size: 12px !important;
+ border: none;
+ border-radius: 2px;
+}
+
+.docDeleteBtn:focus {
+ border: none;
+ outline: none;
+}
+
+.docDeleteBtn:hover {
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.18);
+ color: white;
+}
+
@media screen and (max-width:766px) {
.itemColor {
font-size: 10px !important;
diff --git a/microfrontends/SignDocuments/src/Component/LegaDrive/LegaDrive.js b/microfrontends/SignDocuments/src/Component/LegaDrive/LegaDrive.js
index 5c3c24c0e..5f04b38ed 100644
--- a/microfrontends/SignDocuments/src/Component/LegaDrive/LegaDrive.js
+++ b/microfrontends/SignDocuments/src/Component/LegaDrive/LegaDrive.js
@@ -11,6 +11,7 @@ import AlertComponent from "../component/alertComponent";
import { useNavigate } from "react-router-dom";
import Title from "../component/Title";
import Parse from "parse";
+import ModalUi from "../../premitives/ModalUi";
function PdfFile() {
const navigate = useNavigate();
@@ -29,7 +30,7 @@ function PdfFile() {
message: "This might take some time"
});
const [docId, setDocId] = useState();
- const [handleError, setHandleError] = useState();
+ const [handleError, setHandleError] = useState("");
const [folderName, setFolderName] = useState([]);
const [isAlert, setIsAlert] = useState({ isShow: false, alertMessage: "" });
const [isNewFol, setIsNewFol] = useState(false);
@@ -123,38 +124,6 @@ function PdfFile() {
isLoad: true,
message: "This might take some time"
};
- // if (data.name === "OpenSign™ Drive") {
- // setIsLoading(loadObj);
- // if (docId) {
- // setDocId();
- // } else {
- // setTimeout(() => {
- // const loadObj = {
- // isLoad: false
- // };
- // setIsLoading(loadObj);
- // }, 1000);
- // }
- // } else if (data.name === folderName[folderName.length - 1].name) {
- // setIsLoading(loadObj);
- // setTimeout(() => {
- // const loadObj = {
- // isLoad: false
- // };
- // setIsLoading(loadObj);
- // }, 1000);
- // } else {
- // const findIndex = folderName.findIndex(
- // (fold) => fold.objectId === data.objectId
- // );
- // const newFolder = folderName.slice(0, findIndex + 1);
-
- // setFolderName(newFolder);
- // const getLastId = newFolder[newFolder.length - 1];
-
- // setDocId(getLastId.objectId);
- // setIsLoading(loadObj);
- // }
const updateFolderName = folderName.filter((x, i) => {
if (i <= index) {
@@ -173,77 +142,60 @@ function PdfFile() {
const value = e.target.value;
setNewFolderName(value);
};
- //function for add folder
+ //function for create folder
const handleAddFolder = async () => {
if (newFolderName) {
setIsFolderLoader(true);
const getParentObjId = folderName[folderName.length - 1];
const parentId = getParentObjId && getParentObjId.objectId;
- let data;
- if (parentId) {
- data = {
- Name: newFolderName,
- Type: "Folder",
- Folder: {
- __type: "Pointer",
- className: `${localStorage.getItem("_appName")}_Document`,
- objectId: parentId
- },
- CreatedBy: {
- __type: "Pointer",
- className: "_User",
- objectId: jsonCurrentUser.objectId
- }
- };
- } else {
- data = {
- Name: newFolderName,
- Type: "Folder",
- CreatedBy: {
- __type: "Pointer",
- className: "_User",
- objectId: jsonCurrentUser.objectId
- }
- };
- }
+ const foldercls = `${localStorage.getItem("_appName")}_Document`;
+ const folderPtr = {
+ __type: "Pointer",
+ className: foldercls,
+ objectId: parentId
+ };
+ const CreatedBy = {
+ __type: "Pointer",
+ className: "_User",
+ objectId: jsonCurrentUser.objectId
+ };
- await axios
- .post(
- `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem(
- "_appName"
- )}_Document`,
- data,
- {
- headers: {
- "Content-Type": "application/json",
- "X-Parse-Application-Id": localStorage.getItem("parseAppId"),
- "X-Parse-Session-Token": localStorage.getItem("accesstoken")
- }
- }
- )
+ try {
+ const exsitQuery = new Parse.Query(foldercls);
+ exsitQuery.equalTo("Name", newFolderName);
+ exsitQuery.equalTo("Type", "Folder");
+ if (parentId) {
+ exsitQuery.equalTo("Folder", folderPtr);
+ }
+ const templExist = await exsitQuery.first();
+ if (templExist) {
+ setError("Folder already exist!");
+ setIsFolderLoader(false);
+ } else {
+ const template = new Parse.Object(foldercls);
+ template.set("Name", newFolderName);
+ template.set("Type", "Folder");
- .then((Listdata) => {
- // console.log("Listdata ", Listdata);
- const json = Listdata.data;
- // console.log("json ", json);
- if (json) {
+ if (parentId) {
+ template.set("Folder", folderPtr);
+ }
+ template.set("CreatedBy", CreatedBy);
+ const res = await template.save();
+ if (res) {
+ const result = JSON.parse(JSON.stringify(res));
+
+ setPdfData((prev) => [...prev, result]);
setNewFolderName();
-
setIsFolderLoader(false);
setIsFolder(false);
- if (docId) {
- getPdfFolderDocumentList();
- } else {
- getPdfDocumentList();
- }
}
- })
- .catch((err) => {
- setIsAlert({
- isShow: true,
- alertMessage: "something went wrong"
- });
+ }
+ } catch (e) {
+ setIsAlert({
+ isShow: true,
+ alertMessage: "something went wrong"
});
+ }
} else {
setError("Please fill out this field");
}
@@ -383,23 +335,14 @@ function PdfFile() {
alertMessage={isAlert.alertMessage}
setIsAlert={setIsAlert}
/>
-
-
- Add New Folder
- {!folderLoader && (
- {
- setNewFolderName("");
- setIsFolder(false);
- }}
- >
- X
-
- )}
-
-
-
+ {
+ setIsFolder(false);
+ }}
+ >
+
{folderLoader ? (
) : (
-
+
{isLoading.isLoad ? (
{
template.set("CreatedBy", Parse.User.createWithoutData(currentUser.id));
const res = await template.save();
if (res) {
+ const result = JSON.parse(JSON.stringify(res));
if (onSuccess) {
setAlert({
type: "success",
@@ -84,7 +85,7 @@ const CreateFolder = ({ parentFolderId, onSuccess, folderCls }) => {
setTimeout(() => {
setIsAlert(false);
}, 1000);
- onSuccess(res);
+ onSuccess(result);
}
}
}
@@ -105,32 +106,36 @@ const CreateFolder = ({ parentFolderId, onSuccess, folderCls }) => {
{isAlert &&
{alert.message}}
Create Folder
-
+
setName(e.target.value)}
required
/>
-
+