mirror of
https://github.com/xiaoqidun/ofdgo.git
synced 2026-10-29 08:46:55 +08:00
1 parent
297e093457
commit
a82d5858bd
3 files changed
+6
-5
No files matched your search
@@ -701,7 +701,7 @@
|
|||||||
<div class="form-row" data-print-row="sides" hidden><label for="printSides">打印纸面</label><select id="printSides"><option value="all">正反两面</option><option value="front">只印正面</option><option value="back">只印背面</option></select></div>
|
<div class="form-row" data-print-row="sides" hidden><label for="printSides">打印纸面</label><select id="printSides"><option value="all">正反两面</option><option value="front">只印正面</option><option value="back">只印背面</option></select></div>
|
||||||
<div class="form-row" data-print-row="manual" hidden><span>背面处理</span><div class="print-field"><label class="print-check"><input id="printBackReverse" type="checkbox">倒序送纸</label><label class="print-check" title="背面旋转180°"><input id="printBackRotate" type="checkbox">背面旋转</label></div></div>
|
<div class="form-row" data-print-row="manual" hidden><span>背面处理</span><div class="print-field"><label class="print-check"><input id="printBackReverse" type="checkbox">倒序送纸</label><label class="print-check" title="背面旋转180°"><input id="printBackRotate" type="checkbox">背面旋转</label></div></div>
|
||||||
<div class="form-row"><label for="printContents">打印内容</label><select id="printContents"><option value="documentAndAnnotations">文档注解</option><option value="document">文档表单</option><option value="annotations">仅限注解</option><option value="forms">仅限表单</option></select></div>
|
<div class="form-row"><label for="printContents">打印内容</label><select id="printContents"><option value="documentAndAnnotations">文档注解</option><option value="document">文档表单</option><option value="annotations">仅限注解</option><option value="forms">仅限表单</option></select></div>
|
||||||
<div class="print-options"><label><input id="printRotate" type="checkbox" checked>自动旋转</label><label><input id="printGrayscale" type="checkbox">灰度打印</label><label><input id="printBorders" type="checkbox">页面边框</label><label><input id="printCropMarks" type="checkbox">裁切标记</label><label><input id="printRaster" type="checkbox">图像打印</label><select id="printDPI" title="图像精度"><option value="96">96 DPI</option><option value="150">150 DPI</option><option value="300" selected>300 DPI</option><option value="600">600 DPI</option></select></div>
|
<div class="print-options"><label><input id="printRotate" type="checkbox" checked>自动旋转</label><label><input id="printGrayscale" type="checkbox">灰度打印</label><label><input id="printBorders" type="checkbox">页面边框</label><label><input id="printCropMarks" type="checkbox">裁切标记</label><label><input id="printRaster" type="checkbox">图像打印</label><div class="form-select"><select id="printDPI" title="图像精度"><option value="96">96 DPI</option><option value="150">150 DPI</option><option value="300" selected>300 DPI</option><option value="600">600 DPI</option></select><span id="printDPIValue">300</span></div></div>
|
||||||
<div class="print-options" data-print-row="poster" hidden><label title="仅拼接超出纸面的页面"><input id="printTileOnlyLarge" type="checkbox" checked>仅拼大页</label><label><input id="printLabels" type="checkbox" checked>拼接标签</label></div>
|
<div class="print-options" data-print-row="poster" hidden><label title="仅拼接超出纸面的页面"><input id="printTileOnlyLarge" type="checkbox" checked>仅拼大页</label><label><input id="printLabels" type="checkbox" checked>拼接标签</label></div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="form-actions"><button id="printCancel" class="button" type="button">关闭</button><button id="printSubmit" class="button" type="submit" disabled>打印</button></div>
|
<div class="form-actions"><button id="printCancel" class="button" type="button">关闭</button><button id="printSubmit" class="button" type="submit" disabled>打印</button></div>
|
||||||
|
|||||||
@@ -60,14 +60,14 @@
|
|||||||
.print-dialog :is(input, select, button):focus-visible { outline-offset: -2px; }
|
.print-dialog :is(input, select, button):focus-visible { outline-offset: -2px; }
|
||||||
.print-field { display: flex; min-width: 0; align-items: center; gap: 6px; }
|
.print-field { display: flex; min-width: 0; align-items: center; gap: 6px; }
|
||||||
.print-dialog .print-field > :is(input, select) { flex: 1 1 0; min-width: 0; width: 0; }
|
.print-dialog .print-field > :is(input, select) { flex: 1 1 0; min-width: 0; width: 0; }
|
||||||
.print-field > :is(.print-check, button) { flex: 0 0 80px; justify-content: center; }
|
.print-field > :is(.print-check, button) { flex: 0 0 80px; }
|
||||||
.print-field:has(#printBackReverse) .print-check:first-child { flex: 1; justify-content: start; }
|
.print-field:has(#printBackReverse) .print-check:first-child { flex: 1; justify-content: start; }
|
||||||
.print-field > span { flex: none; color: var(--text-muted); white-space: nowrap; }
|
.print-field > span { flex: none; color: var(--text-muted); white-space: nowrap; }
|
||||||
.print-dialog .print-settings .print-margins input { padding: 0 3px; text-align: center; }
|
.print-dialog .print-settings .print-margins input { padding: 0 3px; text-align: center; }
|
||||||
.print-check { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
|
.print-check { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
|
||||||
.print-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) 80px; grid-auto-rows: var(--control-height); align-items: center; gap: 8px; margin-top: 12px; }
|
.print-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) 80px; grid-auto-rows: var(--control-height); align-items: center; gap: 8px; margin-top: 12px; }
|
||||||
.print-options label { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
|
.print-options label { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
|
||||||
.print-options > label:nth-child(3n) { justify-content: center; }
|
.print-field > .print-check, .print-options > label:nth-child(3n) { justify-content: flex-end; }
|
||||||
.print-check input, .print-options input { margin: 0; accent-color: var(--accent); }
|
.print-check input, .print-options input { margin: 0; accent-color: var(--accent); }
|
||||||
.print-settings-panel, .print-preview { display: flex; min-width: 0; min-height: 0; flex-direction: column; gap: 12px; }
|
.print-settings-panel, .print-preview { display: flex; min-width: 0; min-height: 0; flex-direction: column; gap: 12px; }
|
||||||
.print-dialog .form-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
.print-dialog .form-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
||||||
@@ -1502,7 +1502,7 @@ button:not(:disabled):hover {
|
|||||||
color: #1f2428;
|
color: #1f2428;
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-row .form-select select {
|
.form-select select {
|
||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
appearance: none;
|
appearance: none;
|
||||||
color: transparent;
|
color: transparent;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
export class PrintDialog {
|
export class PrintDialog {
|
||||||
constructor(options) {
|
constructor(options) {
|
||||||
Object.assign(this, options);
|
Object.assign(this, options);
|
||||||
this.el = Object.fromEntries(["Panel", "Form", "Settings", "Printer", "Properties", "Copies", "Collation", "Duplex", "BackReverse", "BackRotate", "Contents", "Scope", "Range", "Parity", "Reverse", "Mode", "Paper", "Width", "Height", "Orientation", "Scaling", "Scale", "MarginTop", "MarginRight", "MarginBottom", "MarginLeft", "Grid", "PageOrder", "Gap", "Binding", "BookletSheets", "SheetFrom", "SheetTo", "Overlap", "Sides", "Rotate", "Grayscale", "Borders", "CropMarks", "Raster", "DPI", "TileOnlyLarge", "Labels", "Preview", "Previous", "Next", "PreviewNumber", "PageControl", "PageCount", "Status", "Spinner", "ProgressTrack", "ProgressBar", "Cancel", "Submit"].map(name => [name, document.querySelector(`#print${name}`)]));
|
this.el = Object.fromEntries(["Panel", "Form", "Settings", "Printer", "Properties", "Copies", "Collation", "Duplex", "BackReverse", "BackRotate", "Contents", "Scope", "Range", "Parity", "Reverse", "Mode", "Paper", "Width", "Height", "Orientation", "Scaling", "Scale", "MarginTop", "MarginRight", "MarginBottom", "MarginLeft", "Grid", "PageOrder", "Gap", "Binding", "BookletSheets", "SheetFrom", "SheetTo", "Overlap", "Sides", "Rotate", "Grayscale", "Borders", "CropMarks", "Raster", "DPI", "DPIValue", "TileOnlyLarge", "Labels", "Preview", "Previous", "Next", "PreviewNumber", "PageControl", "PageCount", "Status", "Spinner", "ProgressTrack", "ProgressBar", "Cancel", "Submit"].map(name => [name, document.querySelector(`#print${name}`)]));
|
||||||
this.printerOptions = this.el.Printer.innerHTML;
|
this.printerOptions = this.el.Printer.innerHTML;
|
||||||
this.paperOptions = this.el.Paper.innerHTML;
|
this.paperOptions = this.el.Paper.innerHTML;
|
||||||
this.queue = Promise.resolve();
|
this.queue = Promise.resolve();
|
||||||
@@ -305,6 +305,7 @@ export class PrintDialog {
|
|||||||
|
|
||||||
controls() {
|
controls() {
|
||||||
const count = this.layout?.sides.length || 0, busy = !!this.running || !!this.loading;
|
const count = this.layout?.sides.length || 0, busy = !!this.running || !!this.loading;
|
||||||
|
this.el.DPIValue.textContent = this.el.DPI.value;
|
||||||
this.el.Settings.disabled = busy;
|
this.el.Settings.disabled = busy;
|
||||||
this.el.Submit.disabled = !count || busy;
|
this.el.Submit.disabled = !count || busy;
|
||||||
if (this.el.Printer.value !== "pdf" && this.manual() && this.el.Sides.value === "back" && !this.layout?.backContent) this.el.Submit.disabled = true;
|
if (this.el.Printer.value !== "pdf" && this.manual() && this.el.Sides.value === "back" && !this.layout?.backContent) this.el.Submit.disabled = true;
|
||||||
|
|||||||
Reference in new issue
Block a user