mirror of
https://github.com/OpenSignLabs/OpenSign.git
synced 2026-09-05 01:07:39 +02:00
feat: create duplicate template functionality feat: add support of csv and xlsx for bulk contacts import feat: add info text for forms and dashboard button feat: implement functionality to delete a PDF page while editing the document feat: show completed documents in which signers included but not owner in completed reports feat: add delete folder button in opensign drive feat: introduce Bcc email support for sending completed documents feat: allow merging multiple pdf while drafting document and template feat: add 'My Initials' tab for auto-signing in request-sign flow feat: add support for redirect URL to navigate after document completion feat: introduce privacy policy and digital signature terms before signing documents. feat: add feature to allow adding new pages to existing document feat: add save signature, initials, stamp functionality in sign pad for logged in user feat: add preferences menu feat: add save custom email template, notifyonsignature, set timezone, allow signature types in preferences feat: secure local url feat: implement Italian language translation feat: implement German language translation feat: update menu name from report to documents and shift contactbook in main menu feat: provide edit contact functionality fix: unable to delete folder when all its documents are deleted fix: fields.push is not function fix: document loading issue in opensign drive fix: adjust the guest signature flow to display the document in full screen, eliminating any blank space which is displayed below the place holder in mobile view fix: resolve issue of instance of pdfdict or pdfstream but got undefined build(deps): update dependencies refactor: change note text from add contact form
61 lines
1.8 KiB
JavaScript
61 lines
1.8 KiB
JavaScript
import React from "react";
|
|
import { themeColor } from "../../constant/const";
|
|
import {
|
|
defaultWidthHeight,
|
|
isMobile,
|
|
radioButtonWidget,
|
|
resizeBorderExtraWidth,
|
|
textWidget
|
|
} from "../../constant/Utils";
|
|
function PlaceholderBorder(props) {
|
|
const getResizeBorderExtraWidth = resizeBorderExtraWidth();
|
|
const defaultWidth = defaultWidthHeight(props.pos.type).width;
|
|
const defaultHeight = defaultWidthHeight(props.pos.type).height;
|
|
const width = () => {
|
|
const getWidth =
|
|
props.placeholderBorder.w || props.pos.Width || defaultWidth;
|
|
return (
|
|
getWidth * props.scale * props.containerScale + getResizeBorderExtraWidth
|
|
);
|
|
};
|
|
const height = () => {
|
|
const getHeight =
|
|
props.placeholderBorder.h || props.pos.Height || defaultHeight;
|
|
|
|
return (
|
|
getHeight * props.scale * props.containerScale + getResizeBorderExtraWidth
|
|
);
|
|
};
|
|
|
|
const handleMinWidth = () => {
|
|
if (props.pos.type === "checkbox" || props.pos.type === radioButtonWidget) {
|
|
return props.getCheckboxRenderWidth.width + getResizeBorderExtraWidth;
|
|
} else {
|
|
return width();
|
|
}
|
|
};
|
|
const handleMinHeight = () => {
|
|
if (props.pos.type === "checkbox" || props.pos.type === radioButtonWidget) {
|
|
return props.getCheckboxRenderWidth.height + getResizeBorderExtraWidth;
|
|
} else {
|
|
return height();
|
|
}
|
|
};
|
|
return (
|
|
<div
|
|
onMouseEnter={() => !isMobile && props?.setDraggingEnabled(false)}
|
|
onTouchEnd={() =>
|
|
props.pos.type === textWidget && props?.setDraggingEnabled(false)
|
|
}
|
|
className="absolute inline-block w-[14px] h-[14px] border-[0.2px] overflow-hidden border-dashed"
|
|
style={{
|
|
borderColor: themeColor,
|
|
minWidth: handleMinWidth() || 0,
|
|
minHeight: handleMinHeight() || 0
|
|
}}
|
|
></div>
|
|
);
|
|
}
|
|
|
|
export default PlaceholderBorder;
|