Client: Cleaned up layout form with collapsibles
This commit is contained in:
@@ -56,7 +56,9 @@
|
|||||||
"printing": {
|
"printing": {
|
||||||
"generic": {
|
"generic": {
|
||||||
"title": "Printing",
|
"title": "Printing",
|
||||||
"description": "Tune in the settings below to get the desired print layout. Keep in mind that printers and your OS may apply it's own margins and scaling, so you may need to perform some trial-and-error before it's all correct. Test it on a piece of regular paper before printing on the actual labels.\nThe \"Margin\" fields should be configured to match your label paper and printer, changing these will affect the size of the entire grid.\nThe \"Safe-Zone\" fields should be set to how close to the paper edge your printer can print, changing these will not affect the entire grid.",
|
"description": "Tune in the settings below to get the desired print layout. Keep in mind that printers and your OS may apply it's own margins and scaling, so you may need to perform some trial-and-error before it's all correct. Test it on a piece of regular paper before printing on the actual labels.",
|
||||||
|
"helpMargin": "Margins should be configured to match your label paper and printer, changing these will affect the size of the entire grid.",
|
||||||
|
"helpPrinterMargin": "Safe-Zone should be set to how close to the paper edge your printer can print, changing these will not affect the entire grid.",
|
||||||
"print": "Print",
|
"print": "Print",
|
||||||
"columns": "Columns",
|
"columns": "Columns",
|
||||||
"rows": "Rows",
|
"rows": "Rows",
|
||||||
@@ -64,6 +66,8 @@
|
|||||||
"showBorder": "Show Border",
|
"showBorder": "Show Border",
|
||||||
"previewScale": "Preview Scale",
|
"previewScale": "Preview Scale",
|
||||||
"skipItems": "Skip Items",
|
"skipItems": "Skip Items",
|
||||||
|
"contentSettings": "Content Settings",
|
||||||
|
"layoutSettings": "Layout Settings",
|
||||||
"marginLeft": "Left Margin",
|
"marginLeft": "Left Margin",
|
||||||
"marginRight": "Right Margin",
|
"marginRight": "Right Margin",
|
||||||
"marginTop": "Top Margin",
|
"marginTop": "Top Margin",
|
||||||
@@ -72,10 +76,6 @@
|
|||||||
"printerMarginRight": "Safe-Zone Right",
|
"printerMarginRight": "Safe-Zone Right",
|
||||||
"printerMarginTop": "Safe-Zone Top",
|
"printerMarginTop": "Safe-Zone Top",
|
||||||
"printerMarginBottom": "Safe-Zone Bottom",
|
"printerMarginBottom": "Safe-Zone Bottom",
|
||||||
"blockRowsTop": "Block Rows Top",
|
|
||||||
"blockRowsBottom": "Block Rows Bottom",
|
|
||||||
"blockColumnsLeft": "Block Columns Left",
|
|
||||||
"blockColumnsRight": "Block Columns Right",
|
|
||||||
"borders": {
|
"borders": {
|
||||||
"none": "None",
|
"none": "None",
|
||||||
"border": "Border",
|
"border": "Border",
|
||||||
|
|||||||
@@ -57,20 +57,24 @@
|
|||||||
"generic": {
|
"generic": {
|
||||||
"title": "Utskrift",
|
"title": "Utskrift",
|
||||||
"description": "Justera inställningarna nedan för att få önskat utskriftslayout. Kom ihåg att skrivare och ditt operativsystem kan tillämpa sina egna marginaler och skalning, så du kan behöva justera inställningarna därefter. Testa på ett vanligt papper innan du skriver ut på de faktiska etiketterna.",
|
"description": "Justera inställningarna nedan för att få önskat utskriftslayout. Kom ihåg att skrivare och ditt operativsystem kan tillämpa sina egna marginaler och skalning, så du kan behöva justera inställningarna därefter. Testa på ett vanligt papper innan du skriver ut på de faktiska etiketterna.",
|
||||||
|
"helpMargin": "Marginaler bör konfigureras för att matcha ditt etikettpapper och skrivare, ändringar av dessa kommer att påverka storleken på hela rutnätet.",
|
||||||
|
"helpPrinterMargin": "Säkerhetszon bör ställas in på hur nära papperskanten din skrivare kan skriva ut, ändringar av dessa kommer inte att påverka hela rutnätet.",
|
||||||
"print": "Skriv ut",
|
"print": "Skriv ut",
|
||||||
"columns": "Kolumner",
|
"columns": "Kolumner",
|
||||||
"rows": "Rader",
|
"rows": "Rader",
|
||||||
"paperSize": "Papperstyp",
|
"paperSize": "Papperstyp",
|
||||||
"showBorder": "Visa ram",
|
"showBorder": "Visa ram",
|
||||||
"previewScale": "Skala förhandsgranskning",
|
"previewScale": "Skala förhandsgranskning",
|
||||||
|
"contentSettings": "Innehållsinställningar",
|
||||||
|
"layoutSettings": "Layoutinställningar",
|
||||||
"marginLeft": "Marginal - vänster",
|
"marginLeft": "Marginal - vänster",
|
||||||
"marginRight": "Marginal - höger",
|
"marginRight": "Marginal - höger",
|
||||||
"marginTop": "Marginal - topp",
|
"marginTop": "Marginal - topp",
|
||||||
"marginBottom": "Marginal - botten",
|
"marginBottom": "Marginal - botten",
|
||||||
"blockRowsTop": "Blockera rader - topp",
|
"printerMarginLeft": "Säkerhetszon - vänster",
|
||||||
"blockRowsBottom": "Blockera rader - botten",
|
"printerMarginRight": "Säkerhetszon - höger",
|
||||||
"blockColumnsLeft": "Blockera kolumner - vänster",
|
"printerMarginTop": "Säkerhetszon - topp",
|
||||||
"blockColumnsRight": "Blockera kolumner - höger",
|
"printerMarginBottom": "Säkerhetszon - botten",
|
||||||
"borders": {
|
"borders": {
|
||||||
"none": "Ingen",
|
"none": "Ingen",
|
||||||
"border": "Ram",
|
"border": "Ram",
|
||||||
|
|||||||
@@ -1,5 +1,18 @@
|
|||||||
import React, { useRef } from "react";
|
import React, { useRef } from "react";
|
||||||
import { Modal, Slider, Button, Select, Row, Col, Form, Divider, RadioChangeEvent, Radio, InputNumber } from "antd";
|
import {
|
||||||
|
Modal,
|
||||||
|
Slider,
|
||||||
|
Button,
|
||||||
|
Select,
|
||||||
|
Row,
|
||||||
|
Col,
|
||||||
|
Form,
|
||||||
|
Divider,
|
||||||
|
RadioChangeEvent,
|
||||||
|
Radio,
|
||||||
|
InputNumber,
|
||||||
|
Collapse,
|
||||||
|
} from "antd";
|
||||||
import ReactToPrint from "react-to-print";
|
import ReactToPrint from "react-to-print";
|
||||||
import { useSavedState } from "../../utils/saveload";
|
import { useSavedState } from "../../utils/saveload";
|
||||||
import { useTranslate } from "@refinedev/core";
|
import { useTranslate } from "@refinedev/core";
|
||||||
@@ -48,6 +61,7 @@ const paperDimensions: { [key: string]: PaperDimensions } = {
|
|||||||
const PrintingDialog: React.FC<PrintingDialogProps> = ({ items, style, extraSettings, visible, onCancel, title }) => {
|
const PrintingDialog: React.FC<PrintingDialogProps> = ({ items, style, extraSettings, visible, onCancel, title }) => {
|
||||||
const t = useTranslate();
|
const t = useTranslate();
|
||||||
|
|
||||||
|
const [collapseState, setCollapseState] = useSavedState<string[]>("print-collapseState", []);
|
||||||
const [marginLeft, setMarginLeft] = useSavedState("print-marginLeft", 10);
|
const [marginLeft, setMarginLeft] = useSavedState("print-marginLeft", 10);
|
||||||
const [marginTop, setMarginTop] = useSavedState("print-marginTop", 10);
|
const [marginTop, setMarginTop] = useSavedState("print-marginTop", 10);
|
||||||
const [marginRight, setMarginRight] = useSavedState("print-marginRight", 10);
|
const [marginRight, setMarginRight] = useSavedState("print-marginRight", 10);
|
||||||
@@ -224,270 +238,6 @@ const PrintingDialog: React.FC<PrintingDialogProps> = ({ items, style, extraSett
|
|||||||
</Col>
|
</Col>
|
||||||
<Col span={10}>
|
<Col span={10}>
|
||||||
<Form labelAlign="left" colon={false} labelWrap={true} labelCol={{ span: 8 }} wrapperCol={{ span: 16 }}>
|
<Form labelAlign="left" colon={false} labelWrap={true} labelCol={{ span: 8 }} wrapperCol={{ span: 16 }}>
|
||||||
<Form.Item label={t("printing.generic.marginLeft")}>
|
|
||||||
<Row>
|
|
||||||
<Col span={12}>
|
|
||||||
<Slider
|
|
||||||
min={-20}
|
|
||||||
max={50}
|
|
||||||
step={0.1}
|
|
||||||
tooltip={{ formatter: (value) => `${value} mm` }}
|
|
||||||
value={marginLeft}
|
|
||||||
onChange={(value) => {
|
|
||||||
setMarginLeft(value);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
<Col span={12}>
|
|
||||||
<InputNumber
|
|
||||||
step={0.1}
|
|
||||||
style={{ margin: "0 16px" }}
|
|
||||||
value={marginLeft}
|
|
||||||
addonAfter="mm"
|
|
||||||
onChange={(value) => {
|
|
||||||
setMarginLeft(value ?? 0);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item label={t("printing.generic.marginTop")}>
|
|
||||||
<Row>
|
|
||||||
<Col span={12}>
|
|
||||||
<Slider
|
|
||||||
min={-20}
|
|
||||||
max={50}
|
|
||||||
step={0.1}
|
|
||||||
tooltip={{ formatter: (value) => `${value} mm` }}
|
|
||||||
value={marginTop}
|
|
||||||
onChange={(value) => {
|
|
||||||
setMarginTop(value);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
<Col span={12}>
|
|
||||||
<InputNumber
|
|
||||||
step={0.1}
|
|
||||||
style={{ margin: "0 16px" }}
|
|
||||||
value={marginTop}
|
|
||||||
addonAfter="mm"
|
|
||||||
onChange={(value) => {
|
|
||||||
setMarginTop(value ?? 0);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item label={t("printing.generic.marginRight")}>
|
|
||||||
<Row>
|
|
||||||
<Col span={12}>
|
|
||||||
<Slider
|
|
||||||
min={-20}
|
|
||||||
max={50}
|
|
||||||
step={0.1}
|
|
||||||
tooltip={{ formatter: (value) => `${value} mm` }}
|
|
||||||
value={marginRight}
|
|
||||||
onChange={(value) => {
|
|
||||||
setMarginRight(value);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
<Col span={12}>
|
|
||||||
<InputNumber
|
|
||||||
step={0.1}
|
|
||||||
style={{ margin: "0 16px" }}
|
|
||||||
value={marginRight}
|
|
||||||
addonAfter="mm"
|
|
||||||
onChange={(value) => {
|
|
||||||
setMarginRight(value ?? 0);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item label={t("printing.generic.marginBottom")}>
|
|
||||||
<Row>
|
|
||||||
<Col span={12}>
|
|
||||||
<Slider
|
|
||||||
min={-20}
|
|
||||||
max={50}
|
|
||||||
step={0.1}
|
|
||||||
tooltip={{ formatter: (value) => `${value} mm` }}
|
|
||||||
value={marginBottom}
|
|
||||||
onChange={(value) => {
|
|
||||||
setMarginBottom(value);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
<Col span={12}>
|
|
||||||
<InputNumber
|
|
||||||
step={0.1}
|
|
||||||
style={{ margin: "0 16px" }}
|
|
||||||
value={marginBottom}
|
|
||||||
addonAfter="mm"
|
|
||||||
onChange={(value) => {
|
|
||||||
setMarginBottom(value ?? 0);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item label={t("printing.generic.printerMarginLeft")}>
|
|
||||||
<Row>
|
|
||||||
<Col span={12}>
|
|
||||||
<Slider
|
|
||||||
min={0}
|
|
||||||
max={50}
|
|
||||||
step={0.1}
|
|
||||||
tooltip={{ formatter: (value) => `${value} mm` }}
|
|
||||||
value={printerMarginLeft}
|
|
||||||
onChange={(value) => {
|
|
||||||
setPrinterMarginLeft(value);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
<Col span={12}>
|
|
||||||
<InputNumber
|
|
||||||
step={0.1}
|
|
||||||
style={{ margin: "0 16px" }}
|
|
||||||
value={printerMarginLeft}
|
|
||||||
addonAfter="mm"
|
|
||||||
onChange={(value) => {
|
|
||||||
setPrinterMarginLeft(value ?? 0);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item label={t("printing.generic.printerMarginTop")}>
|
|
||||||
<Row>
|
|
||||||
<Col span={12}>
|
|
||||||
<Slider
|
|
||||||
min={0}
|
|
||||||
max={50}
|
|
||||||
step={0.1}
|
|
||||||
tooltip={{ formatter: (value) => `${value} mm` }}
|
|
||||||
value={printerMarginTop}
|
|
||||||
onChange={(value) => {
|
|
||||||
setPrinterMarginTop(value);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
<Col span={12}>
|
|
||||||
<InputNumber
|
|
||||||
step={0.1}
|
|
||||||
style={{ margin: "0 16px" }}
|
|
||||||
value={printerMarginTop}
|
|
||||||
addonAfter="mm"
|
|
||||||
onChange={(value) => {
|
|
||||||
setPrinterMarginTop(value ?? 0);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item label={t("printing.generic.printerMarginRight")}>
|
|
||||||
<Row>
|
|
||||||
<Col span={12}>
|
|
||||||
<Slider
|
|
||||||
min={0}
|
|
||||||
max={50}
|
|
||||||
step={0.1}
|
|
||||||
tooltip={{ formatter: (value) => `${value} mm` }}
|
|
||||||
value={printerMarginRight}
|
|
||||||
onChange={(value) => {
|
|
||||||
setPrinterMarginRight(value);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
<Col span={12}>
|
|
||||||
<InputNumber
|
|
||||||
step={0.1}
|
|
||||||
style={{ margin: "0 16px" }}
|
|
||||||
value={printerMarginRight}
|
|
||||||
addonAfter="mm"
|
|
||||||
onChange={(value) => {
|
|
||||||
setPrinterMarginRight(value ?? 0);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item label={t("printing.generic.printerMarginBottom")}>
|
|
||||||
<Row>
|
|
||||||
<Col span={12}>
|
|
||||||
<Slider
|
|
||||||
min={0}
|
|
||||||
max={50}
|
|
||||||
step={0.1}
|
|
||||||
tooltip={{ formatter: (value) => `${value} mm` }}
|
|
||||||
value={printerMarginBottom}
|
|
||||||
onChange={(value) => {
|
|
||||||
setPrinterMarginBottom(value);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
<Col span={12}>
|
|
||||||
<InputNumber
|
|
||||||
step={0.1}
|
|
||||||
style={{ margin: "0 16px" }}
|
|
||||||
value={printerMarginBottom}
|
|
||||||
addonAfter="mm"
|
|
||||||
onChange={(value) => {
|
|
||||||
setPrinterMarginBottom(value ?? 0);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item label={t("printing.generic.columns")}>
|
|
||||||
<Row>
|
|
||||||
<Col span={12}>
|
|
||||||
<Slider
|
|
||||||
min={1}
|
|
||||||
max={5}
|
|
||||||
value={paperColumns}
|
|
||||||
onChange={(value) => {
|
|
||||||
setPaperColumns(value);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
<Col span={12}>
|
|
||||||
<InputNumber
|
|
||||||
min={1}
|
|
||||||
style={{ margin: "0 16px" }}
|
|
||||||
value={paperColumns}
|
|
||||||
onChange={(value) => {
|
|
||||||
setPaperColumns(value ?? 1);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item label={t("printing.generic.rows")}>
|
|
||||||
<Row>
|
|
||||||
<Col span={12}>
|
|
||||||
<Slider
|
|
||||||
min={1}
|
|
||||||
max={15}
|
|
||||||
value={paperRows}
|
|
||||||
onChange={(value) => {
|
|
||||||
setPaperRows(value);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
<Col span={12}>
|
|
||||||
<InputNumber
|
|
||||||
min={1}
|
|
||||||
style={{ margin: "0 16px" }}
|
|
||||||
value={paperRows}
|
|
||||||
onChange={(value) => {
|
|
||||||
setPaperRows(value ?? 1);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item label={t("printing.generic.skipItems")}>
|
<Form.Item label={t("printing.generic.skipItems")}>
|
||||||
<Row>
|
<Row>
|
||||||
<Col span={12}>
|
<Col span={12}>
|
||||||
@@ -512,15 +262,6 @@ const PrintingDialog: React.FC<PrintingDialogProps> = ({ items, style, extraSett
|
|||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
<Form.Item label={t("printing.generic.paperSize")}>
|
|
||||||
<Select value={paperSize} onChange={(value) => setPaperSize(value)}>
|
|
||||||
{Object.keys(paperDimensions).map((key) => (
|
|
||||||
<Select.Option key={key} value={key}>
|
|
||||||
{key}
|
|
||||||
</Select.Option>
|
|
||||||
))}
|
|
||||||
</Select>
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item label={t("printing.generic.showBorder")}>
|
<Form.Item label={t("printing.generic.showBorder")}>
|
||||||
<Radio.Group
|
<Radio.Group
|
||||||
options={[
|
options={[
|
||||||
@@ -539,9 +280,6 @@ const PrintingDialog: React.FC<PrintingDialogProps> = ({ items, style, extraSett
|
|||||||
buttonStyle="solid"
|
buttonStyle="solid"
|
||||||
/>
|
/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
{extraSettings && <Divider />}
|
|
||||||
{extraSettings}
|
|
||||||
<Divider />
|
|
||||||
<Form.Item label={t("printing.generic.previewScale")}>
|
<Form.Item label={t("printing.generic.previewScale")}>
|
||||||
<Row>
|
<Row>
|
||||||
<Col span={12}>
|
<Col span={12}>
|
||||||
@@ -569,6 +307,300 @@ const PrintingDialog: React.FC<PrintingDialogProps> = ({ items, style, extraSett
|
|||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
<Divider />
|
||||||
|
<Collapse
|
||||||
|
defaultActiveKey={collapseState}
|
||||||
|
bordered={false}
|
||||||
|
ghost
|
||||||
|
onChange={(key) => {
|
||||||
|
if (Array.isArray(key)) {
|
||||||
|
setCollapseState(key);
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Collapse.Panel header={t("printing.generic.contentSettings")} key="1">
|
||||||
|
{extraSettings}
|
||||||
|
</Collapse.Panel>
|
||||||
|
<Collapse.Panel header={t("printing.generic.layoutSettings")} key="2">
|
||||||
|
<Form.Item label={t("printing.generic.paperSize")}>
|
||||||
|
<Select value={paperSize} onChange={(value) => setPaperSize(value)}>
|
||||||
|
{Object.keys(paperDimensions).map((key) => (
|
||||||
|
<Select.Option key={key} value={key}>
|
||||||
|
{key}
|
||||||
|
</Select.Option>
|
||||||
|
))}
|
||||||
|
</Select>
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item label={t("printing.generic.columns")}>
|
||||||
|
<Row>
|
||||||
|
<Col span={12}>
|
||||||
|
<Slider
|
||||||
|
min={1}
|
||||||
|
max={5}
|
||||||
|
value={paperColumns}
|
||||||
|
onChange={(value) => {
|
||||||
|
setPaperColumns(value);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
<Col span={12}>
|
||||||
|
<InputNumber
|
||||||
|
min={1}
|
||||||
|
style={{ margin: "0 16px" }}
|
||||||
|
value={paperColumns}
|
||||||
|
onChange={(value) => {
|
||||||
|
setPaperColumns(value ?? 1);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item label={t("printing.generic.rows")}>
|
||||||
|
<Row>
|
||||||
|
<Col span={12}>
|
||||||
|
<Slider
|
||||||
|
min={1}
|
||||||
|
max={15}
|
||||||
|
value={paperRows}
|
||||||
|
onChange={(value) => {
|
||||||
|
setPaperRows(value);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
<Col span={12}>
|
||||||
|
<InputNumber
|
||||||
|
min={1}
|
||||||
|
style={{ margin: "0 16px" }}
|
||||||
|
value={paperRows}
|
||||||
|
onChange={(value) => {
|
||||||
|
setPaperRows(value ?? 1);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
</Form.Item>
|
||||||
|
<Divider />
|
||||||
|
<p>{t("printing.generic.helpMargin")}</p>
|
||||||
|
<Form.Item label={t("printing.generic.marginLeft")}>
|
||||||
|
<Row>
|
||||||
|
<Col span={12}>
|
||||||
|
<Slider
|
||||||
|
min={-20}
|
||||||
|
max={50}
|
||||||
|
step={0.1}
|
||||||
|
tooltip={{ formatter: (value) => `${value} mm` }}
|
||||||
|
value={marginLeft}
|
||||||
|
onChange={(value) => {
|
||||||
|
setMarginLeft(value);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
<Col span={12}>
|
||||||
|
<InputNumber
|
||||||
|
step={0.1}
|
||||||
|
style={{ margin: "0 16px" }}
|
||||||
|
value={marginLeft}
|
||||||
|
addonAfter="mm"
|
||||||
|
onChange={(value) => {
|
||||||
|
setMarginLeft(value ?? 0);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item label={t("printing.generic.marginTop")}>
|
||||||
|
<Row>
|
||||||
|
<Col span={12}>
|
||||||
|
<Slider
|
||||||
|
min={-20}
|
||||||
|
max={50}
|
||||||
|
step={0.1}
|
||||||
|
tooltip={{ formatter: (value) => `${value} mm` }}
|
||||||
|
value={marginTop}
|
||||||
|
onChange={(value) => {
|
||||||
|
setMarginTop(value);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
<Col span={12}>
|
||||||
|
<InputNumber
|
||||||
|
step={0.1}
|
||||||
|
style={{ margin: "0 16px" }}
|
||||||
|
value={marginTop}
|
||||||
|
addonAfter="mm"
|
||||||
|
onChange={(value) => {
|
||||||
|
setMarginTop(value ?? 0);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item label={t("printing.generic.marginRight")}>
|
||||||
|
<Row>
|
||||||
|
<Col span={12}>
|
||||||
|
<Slider
|
||||||
|
min={-20}
|
||||||
|
max={50}
|
||||||
|
step={0.1}
|
||||||
|
tooltip={{ formatter: (value) => `${value} mm` }}
|
||||||
|
value={marginRight}
|
||||||
|
onChange={(value) => {
|
||||||
|
setMarginRight(value);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
<Col span={12}>
|
||||||
|
<InputNumber
|
||||||
|
step={0.1}
|
||||||
|
style={{ margin: "0 16px" }}
|
||||||
|
value={marginRight}
|
||||||
|
addonAfter="mm"
|
||||||
|
onChange={(value) => {
|
||||||
|
setMarginRight(value ?? 0);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item label={t("printing.generic.marginBottom")}>
|
||||||
|
<Row>
|
||||||
|
<Col span={12}>
|
||||||
|
<Slider
|
||||||
|
min={-20}
|
||||||
|
max={50}
|
||||||
|
step={0.1}
|
||||||
|
tooltip={{ formatter: (value) => `${value} mm` }}
|
||||||
|
value={marginBottom}
|
||||||
|
onChange={(value) => {
|
||||||
|
setMarginBottom(value);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
<Col span={12}>
|
||||||
|
<InputNumber
|
||||||
|
step={0.1}
|
||||||
|
style={{ margin: "0 16px" }}
|
||||||
|
value={marginBottom}
|
||||||
|
addonAfter="mm"
|
||||||
|
onChange={(value) => {
|
||||||
|
setMarginBottom(value ?? 0);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
</Form.Item>
|
||||||
|
<Divider />
|
||||||
|
<p>{t("printing.generic.helpPrinterMargin")}</p>
|
||||||
|
<Form.Item label={t("printing.generic.printerMarginLeft")}>
|
||||||
|
<Row>
|
||||||
|
<Col span={12}>
|
||||||
|
<Slider
|
||||||
|
min={0}
|
||||||
|
max={50}
|
||||||
|
step={0.1}
|
||||||
|
tooltip={{ formatter: (value) => `${value} mm` }}
|
||||||
|
value={printerMarginLeft}
|
||||||
|
onChange={(value) => {
|
||||||
|
setPrinterMarginLeft(value);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
<Col span={12}>
|
||||||
|
<InputNumber
|
||||||
|
step={0.1}
|
||||||
|
style={{ margin: "0 16px" }}
|
||||||
|
value={printerMarginLeft}
|
||||||
|
addonAfter="mm"
|
||||||
|
onChange={(value) => {
|
||||||
|
setPrinterMarginLeft(value ?? 0);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item label={t("printing.generic.printerMarginTop")}>
|
||||||
|
<Row>
|
||||||
|
<Col span={12}>
|
||||||
|
<Slider
|
||||||
|
min={0}
|
||||||
|
max={50}
|
||||||
|
step={0.1}
|
||||||
|
tooltip={{ formatter: (value) => `${value} mm` }}
|
||||||
|
value={printerMarginTop}
|
||||||
|
onChange={(value) => {
|
||||||
|
setPrinterMarginTop(value);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
<Col span={12}>
|
||||||
|
<InputNumber
|
||||||
|
step={0.1}
|
||||||
|
style={{ margin: "0 16px" }}
|
||||||
|
value={printerMarginTop}
|
||||||
|
addonAfter="mm"
|
||||||
|
onChange={(value) => {
|
||||||
|
setPrinterMarginTop(value ?? 0);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item label={t("printing.generic.printerMarginRight")}>
|
||||||
|
<Row>
|
||||||
|
<Col span={12}>
|
||||||
|
<Slider
|
||||||
|
min={0}
|
||||||
|
max={50}
|
||||||
|
step={0.1}
|
||||||
|
tooltip={{ formatter: (value) => `${value} mm` }}
|
||||||
|
value={printerMarginRight}
|
||||||
|
onChange={(value) => {
|
||||||
|
setPrinterMarginRight(value);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
<Col span={12}>
|
||||||
|
<InputNumber
|
||||||
|
step={0.1}
|
||||||
|
style={{ margin: "0 16px" }}
|
||||||
|
value={printerMarginRight}
|
||||||
|
addonAfter="mm"
|
||||||
|
onChange={(value) => {
|
||||||
|
setPrinterMarginRight(value ?? 0);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item label={t("printing.generic.printerMarginBottom")}>
|
||||||
|
<Row>
|
||||||
|
<Col span={12}>
|
||||||
|
<Slider
|
||||||
|
min={0}
|
||||||
|
max={50}
|
||||||
|
step={0.1}
|
||||||
|
tooltip={{ formatter: (value) => `${value} mm` }}
|
||||||
|
value={printerMarginBottom}
|
||||||
|
onChange={(value) => {
|
||||||
|
setPrinterMarginBottom(value);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
<Col span={12}>
|
||||||
|
<InputNumber
|
||||||
|
step={0.1}
|
||||||
|
style={{ margin: "0 16px" }}
|
||||||
|
value={printerMarginBottom}
|
||||||
|
addonAfter="mm"
|
||||||
|
onChange={(value) => {
|
||||||
|
setPrinterMarginBottom(value ?? 0);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
</Form.Item>
|
||||||
|
</Collapse.Panel>
|
||||||
|
</Collapse>
|
||||||
</Form>
|
</Form>
|
||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
|
|||||||
Reference in New Issue
Block a user