import React, { useState, useRef, useEffect } from "react"; import ModalUi from "../../premitives/ModalUi"; import RecipientList from "../../premitives/RecipientList"; import { useDrag } from "react-dnd"; import AllWidgets from "../WidgetComponent/allWidgets"; import { widgets } from "../../utils/Utils"; function FieldsComponent({ pdfUrl, dragSignature, signRef, handleDivClick, handleMouseLeave, isDragSign, themeColor, dragStamp, dragRef, isDragStamp, dragSignatureSS, dragStampSS, isDragSignatureSS, isSignYourself, addPositionOfSignature, signersdata, isSelectListId, setSignerObjId, setIsSelectId, setContractName, isSigners, dataTut, dataTut2, isMailSend, handleAddSigner, setUniqueId, setRoleName, handleDeleteUser, signerPos, handleRoleChange, handleOnBlur, title, initial }) { const [isSignersModal, setIsSignersModal] = useState(false); const [{ isDragDropdown }, dropdown] = useDrag({ type: "BOX", item: { type: "BOX", id: 5, text: "dropdown" }, collect: (monitor) => ({ isDragDropdown: !!monitor.isDragging() }) }); const [{ isDragCheck }, checkbox] = useDrag({ type: "BOX", item: { type: "BOX", id: 6, text: "checkbox" }, collect: (monitor) => ({ isDragCheck: !!monitor.isDragging() }) }); const [{ isDragText }, text] = useDrag({ type: "BOX", item: { type: "BOX", id: 7, text: "text" }, collect: (monitor) => ({ isDragText: !!monitor.isDragging() }) }); const [{ isDragInitial }, initials] = useDrag({ type: "BOX", item: { type: "BOX", id: 8, text: "initials" }, collect: (monitor) => ({ isDragInitial: !!monitor.isDragging() }) }); const [{ isDragName }, name] = useDrag({ type: "BOX", item: { type: "BOX", id: 9, text: "name" }, collect: (monitor) => ({ isDragName: !!monitor.isDragging() }) }); const [{ isDragCompany }, company] = useDrag({ type: "BOX", item: { type: "BOX", id: 10, text: "company" }, collect: (monitor) => ({ isDragCompany: !!monitor.isDragging() }) }); const [{ isDragJobtitle }, jobTitle] = useDrag({ type: "BOX", item: { type: "BOX", id: 11, text: "job title" }, collect: (monitor) => ({ isDragJobtitle: !!monitor.isDragging() }) }); const [{ isDragDate }, date] = useDrag({ type: "BOX", item: { type: "BOX", id: 11, text: "date" }, collect: (monitor) => ({ isDragDate: !!monitor.isDragging() }) }); const isMobile = window.innerWidth < 767; const scrollContainerRef = useRef(null); const [widget, setWidget] = useState([]); const color = [ "#93a3db", "#e6c3db", "#c0e3bc", "#bce3db", "#b8ccdb", "#ceb8db", "#ffccff", "#99ffcc", "#cc99ff", "#ffcc99", "#66ccff", "#ffffcc" ]; const handleModal = () => { setIsSignersModal(!isSignersModal); }; useEffect(() => { const widgetRef = [ dragSignature, dragStamp, dropdown, checkbox, text, initials, name, company, jobTitle, date ]; const getWidgetArray = widgets; const newUpdateSigner = getWidgetArray.map((obj, ind) => { return { ...obj, ref: widgetRef[ind] }; }); const removeInitial = newUpdateSigner.filter( (widgetData) => widgetData.type !== "initials" ); setWidget(initial ? newUpdateSigner : removeInitial); }, []); const filterWidgets = widget.filter((data) => data.type !== "dropdown"); const updateWidgets = isSignYourself ? filterWidgets : widget; const handleScroll = (scrollOffset) => { if (scrollContainerRef.current) { scrollContainerRef.current.scrollLeft += scrollOffset; } }; return ( <> {isMobile ? ( !isMailSend && ( ) ) : (
Fields
{/* {pdfUrl ? ( <> ) : ( <>
{ dragSignature(element); if (element) { signRef.current = element; } }} className={signStyle} onMouseMove={handleDivClick} onMouseDown={handleMouseLeave} style={{ opacity: isDragSign ? 0.5 : 1, boxShadow: "0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.18)" }} > Signature sign img
{ dragStamp(element); dragRef.current = element; if (isDragStamp) { } }} className={!pdfUrl ? signStyle : "disableSign"} disabled={pdfUrl && true} onMouseMove={handleDivClick} onMouseDown={handleMouseLeave} style={{ opacity: isDragStamp ? 0.5 : 1, boxShadow: "0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.18)" }} > Stamp stamp img
)} */} {/* {updateWidgets.map((item, ind) => { return (
{ item.ref(element); if (element) { signRef.current = element; } }} className={signStyle} onMouseMove={handleDivClick} onMouseDown={handleMouseLeave} style={{ opacity: isDragSign ? 0.5 : 1, boxShadow: "0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.18)" }} >
{item.type}
); })} */}
)} {isSignersModal && ( {signersdata.length > 0 ? ( ) : (
Please add Recipient
)}
)} ); } export default FieldsComponent;