mirror of
https://github.com/xiaoqidun/ofdgo.git
synced 2026-10-29 16:59:27 +08:00
1 parent
89e7f09de8
commit
fb23d92d08
3 files changed
+70
-31
No files matched your search
+46
-29
@@ -193,14 +193,14 @@
|
||||
<button id="batchPagesButton" class="editor-group-action" type="button">页面</button>
|
||||
</div>
|
||||
</div>
|
||||
<dialog id="closePanel" class="form-dialog confirm-dialog">
|
||||
<dialog id="closePanel" class="form-dialog confirm-dialog" aria-labelledby="closeTitle">
|
||||
<form method="dialog">
|
||||
<h2 class="form-title">关闭文档</h2>
|
||||
<h2 id="closeTitle" class="form-title">关闭文档</h2>
|
||||
<p class="confirm-message">文档尚未保存</p>
|
||||
<div class="form-actions"><button class="button" value="cancel" autofocus>取消</button><button class="button" value="discard">放弃</button><button class="button" value="save">保存</button></div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="convertPanel" class="form-dialog convert-dialog">
|
||||
<dialog id="convertPanel" class="form-dialog convert-dialog" aria-labelledby="convertTitle">
|
||||
<form id="convertForm">
|
||||
<h2 id="convertTitle" class="form-title">批量转换<span id="convertCount"></span></h2>
|
||||
<input id="convertInput" class="file-input" type="file" accept=".pdf,.ofd" multiple>
|
||||
@@ -219,16 +219,18 @@
|
||||
</div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="batchPagesPanel" class="form-dialog">
|
||||
<dialog id="batchPagesPanel" class="form-dialog" aria-labelledby="batchPagesTitle">
|
||||
<form id="batchPagesForm">
|
||||
<h2 id="batchPagesTitle" class="form-title">复制页面</h2>
|
||||
<div class="form-row"><label for="batchPageAction">操作</label><select id="batchPageAction"><option value="copy">复制</option><option value="move">移动</option><option value="delete">删除</option><option value="save">另存</option></select></div>
|
||||
<div class="form-row"><label for="batchPageRange">页码</label><input id="batchPageRange" type="text" required autocomplete="off" spellcheck="false" autofocus></div>
|
||||
<div id="batchPagePositionRow" class="form-row" hidden><label for="batchPagePosition">位置</label><select id="batchPagePosition"><option value="before">页前</option><option value="after">页后</option><option value="first">开头</option><option value="last">末尾</option></select></div>
|
||||
<div class="form-actions"><div id="batchPagesStatus" class="form-status"></div><button id="batchPagesCancel" class="button" type="button">取消</button><button id="batchPagesSubmit" class="button" type="submit">复制</button></div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="objectStylePanel" class="form-dialog">
|
||||
<dialog id="objectStylePanel" class="form-dialog" aria-labelledby="objectStyleTitle">
|
||||
<form id="objectStyleForm">
|
||||
<h2 id="objectStyleTitle" class="form-title">对象样式</h2>
|
||||
<div class="form-row"><span>组合</span><div class="form-format"><button id="groupObjectsButton" class="button" type="button">组合</button><button id="ungroupObjectButton" class="button" type="button">解组</button></div></div>
|
||||
<div class="form-row"><span>格式</span><div class="form-format"><button id="copyStyleButton" class="button" type="button">复制</button><button id="pasteStyleButton" class="button" type="button">粘贴</button></div></div>
|
||||
<details id="objectLinkFields" hidden>
|
||||
@@ -288,8 +290,9 @@
|
||||
<div class="form-actions"><div id="objectStyleStatus" class="form-status"></div><button id="objectStyleCancel" class="button" type="button">取消</button><button class="button" type="submit">确定</button></div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="structureDialog" class="form-dialog structure-dialog">
|
||||
<dialog id="structureDialog" class="form-dialog structure-dialog" aria-labelledby="structureTitle">
|
||||
<form id="structureForm">
|
||||
<h2 id="structureTitle" class="form-title">结构标引</h2>
|
||||
<div class="form-row"><label for="structureEntry">标引</label><select id="structureEntry"></select></div>
|
||||
<div id="structureNodeRow" class="form-row"><label for="structureNodeSelect">节点</label><select id="structureNodeSelect"></select></div>
|
||||
<div id="structureActionRow" class="form-row"><label for="structureAction">操作</label><select id="structureAction"><option value="update">修改</option><option value="add">新增</option><option value="bind">绑定</option><option value="delete">删除</option></select></div>
|
||||
@@ -308,8 +311,9 @@
|
||||
<div class="form-actions"><div id="structureStatus" class="form-status"></div><button id="structureCancel" class="button" type="button">取消</button><button id="structureSubmit" class="button" type="submit">确定</button></div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="outlinePanel" class="form-dialog">
|
||||
<dialog id="outlinePanel" class="form-dialog" aria-labelledby="outlinePanelTitle">
|
||||
<form id="outlineForm">
|
||||
<h2 id="outlinePanelTitle" class="form-title">新增目录</h2>
|
||||
<div class="form-row"><label for="outlineTitle">标题</label><input id="outlineTitle" type="text" required autofocus></div>
|
||||
<div class="form-row"><label for="outlineParent">上级</label><select id="outlineParent"></select></div>
|
||||
<div class="form-row"><label for="outlinePage">页码</label><input id="outlinePage" type="number" min="1" step="1" placeholder="无"></div>
|
||||
@@ -317,8 +321,9 @@
|
||||
<div class="form-actions"><div id="outlineStatus" class="form-status"></div><button id="outlineCancel" class="button" type="button">取消</button><button id="outlineSubmit" class="button" type="submit">新增</button></div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="objectBoundsPanel" class="form-dialog">
|
||||
<dialog id="objectBoundsPanel" class="form-dialog" aria-labelledby="objectBoundsTitle">
|
||||
<form id="objectBoundsForm">
|
||||
<h2 id="objectBoundsTitle" class="form-title">位置尺寸</h2>
|
||||
<div class="form-pair">
|
||||
<div class="form-row"><label for="objectX">横向</label><div class="form-unit"><input id="objectX" type="number" step="any" required autofocus><span>mm</span></div></div>
|
||||
<div class="form-row"><label for="objectY">纵向</label><div class="form-unit"><input id="objectY" type="number" step="any" required><span>mm</span></div></div>
|
||||
@@ -331,8 +336,9 @@
|
||||
<div class="form-actions"><div id="objectBoundsStatus" class="form-status"></div><button id="objectBoundsCancel" class="button" type="button">取消</button><button class="button" type="submit">确定</button></div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="createPanel" class="form-dialog">
|
||||
<dialog id="createPanel" class="form-dialog" aria-labelledby="createTitle">
|
||||
<form id="createForm">
|
||||
<h2 id="createTitle" class="form-title">新建文档</h2>
|
||||
<div id="createModeRow" class="form-row"><label for="createMode">来源</label><select id="createMode"><option value="blank">空白</option><option value="images">图片</option></select></div>
|
||||
<div class="form-row">
|
||||
<label for="createName">名称</label>
|
||||
@@ -359,8 +365,9 @@
|
||||
</div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="importPanel" class="form-dialog">
|
||||
<dialog id="importPanel" class="form-dialog" aria-labelledby="importTitle">
|
||||
<form id="importForm">
|
||||
<h2 id="importTitle" class="form-title">插入页面</h2>
|
||||
<div class="form-row"><label for="importFile">文档</label><input id="importFile" type="file" accept=".ofd" required autofocus></div>
|
||||
<div class="form-row"><label for="importRange">范围</label><select id="importRange"><option value="all">全部</option><option value="custom">指定</option></select></div>
|
||||
<div id="importDocuments" class="document-list" hidden></div>
|
||||
@@ -370,8 +377,9 @@
|
||||
<div class="form-actions"><div id="importStatus" class="form-status"></div><button id="importCancel" class="button" type="button">取消</button><button id="importSubmit" class="button" type="submit" disabled>插入</button></div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="paragraphPanel" class="form-dialog">
|
||||
<dialog id="paragraphPanel" class="form-dialog" aria-labelledby="paragraphTitle">
|
||||
<form id="paragraphForm">
|
||||
<h2 id="paragraphTitle" class="form-title">段落设置</h2>
|
||||
<div class="form-row"><label for="firstLineIndent">首行</label><div class="form-unit"><input id="firstLineIndent" type="number" step="any" required autofocus><span>mm</span></div></div>
|
||||
<div class="form-pair">
|
||||
<div class="form-row"><label for="leftIndent">左侧</label><div class="form-unit"><input id="leftIndent" type="number" step="any" required><span>mm</span></div></div>
|
||||
@@ -380,7 +388,7 @@
|
||||
<div class="form-actions"><div id="paragraphStatus" class="form-status"></div><button id="paragraphCancel" class="button" type="button">取消</button><button class="button" type="submit">确定</button></div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="resourcePanel" class="form-dialog resource-dialog">
|
||||
<dialog id="resourcePanel" class="form-dialog resource-dialog" aria-labelledby="resourceTitle">
|
||||
<form id="resourceForm">
|
||||
<h2 id="resourceTitle" class="form-title">资源管理</h2>
|
||||
<div id="resourceTabs" class="panel-tabs"></div>
|
||||
@@ -411,7 +419,7 @@
|
||||
<input id="resourceFile" type="file" hidden>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="documentPanel" class="form-dialog document-dialog">
|
||||
<dialog id="documentPanel" class="form-dialog document-dialog" aria-labelledby="documentTitle">
|
||||
<form id="documentForm">
|
||||
<h2 id="documentTitle" class="form-title">文档管理</h2>
|
||||
<div id="documentList" class="document-list"></div>
|
||||
@@ -427,7 +435,7 @@
|
||||
</div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="settingsPanel" class="form-dialog settings-dialog">
|
||||
<dialog id="settingsPanel" class="form-dialog settings-dialog" aria-labelledby="settingsTitle">
|
||||
<form id="settingsForm">
|
||||
<header class="settings-header">
|
||||
<h2 id="settingsTitle" class="form-title">文档配置</h2>
|
||||
@@ -444,7 +452,7 @@
|
||||
</div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="versionPanel" class="form-dialog document-dialog">
|
||||
<dialog id="versionPanel" class="form-dialog document-dialog" aria-labelledby="versionTitle">
|
||||
<form id="versionForm">
|
||||
<h2 id="versionTitle" class="form-title">版本管理</h2>
|
||||
<div id="versionNotice" class="font-permission-hint" hidden></div>
|
||||
@@ -462,8 +470,9 @@
|
||||
</div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="infoPanel" class="form-dialog">
|
||||
<dialog id="infoPanel" class="form-dialog" aria-labelledby="infoPanelTitle">
|
||||
<form id="infoForm">
|
||||
<h2 id="infoPanelTitle" class="form-title">文档信息</h2>
|
||||
<label class="form-row"><span>标题</span><input id="infoTitle" type="text" autofocus></label>
|
||||
<label class="form-row"><span>主题</span><input id="infoSubject" type="text"></label>
|
||||
<label class="form-row"><span>作者</span><input id="infoAuthor" type="text"></label>
|
||||
@@ -471,8 +480,9 @@
|
||||
<div class="form-actions"><div id="infoStatus" class="form-status"></div><button id="infoCancel" class="button" type="button">取消</button><button class="button" type="submit">确定</button></div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="annotationCreate" class="form-dialog">
|
||||
<dialog id="annotationCreate" class="form-dialog" aria-labelledby="annotationCreateTitle">
|
||||
<form id="annotationCreateForm">
|
||||
<h2 id="annotationCreateTitle" class="form-title">添加批注</h2>
|
||||
<label class="form-row" data-annotation="watermark"><span>类型</span><select id="annotationContent"><option value="text">文字</option><option value="image">图片</option></select></label>
|
||||
<label class="form-row" data-annotation="replace"><span>原文</span><select id="annotationOld"></select></label>
|
||||
<label class="form-row" data-annotation="replace"><span>字体</span><select id="annotationFont"><option value="keep">原有</option><option value="current">当前</option></select></label>
|
||||
@@ -501,11 +511,16 @@
|
||||
<div class="form-actions"><div id="annotationCreateStatus" class="form-status"></div><button id="annotationCreateCancel" class="button" type="button">取消</button><button class="button" type="submit">确定</button></div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="objectPicker" class="form-dialog">
|
||||
<form method="dialog"><div id="objectPickerList" class="object-picker-list"></div><div class="form-actions"><button class="button" type="submit">关闭</button></div></form>
|
||||
<dialog id="objectPicker" class="form-dialog" aria-labelledby="objectPickerTitle">
|
||||
<form method="dialog">
|
||||
<h2 id="objectPickerTitle" class="form-title">选择对象</h2>
|
||||
<div id="objectPickerList" class="object-picker-list"></div>
|
||||
<div class="form-actions"><button class="button" type="submit">关闭</button></div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="annotationNote" class="form-dialog">
|
||||
<dialog id="annotationNote" class="form-dialog" aria-labelledby="annotationNoteTitle">
|
||||
<form id="annotationForm" method="dialog">
|
||||
<h2 id="annotationNoteTitle" class="form-title">注解详情</h2>
|
||||
<div id="annotationDetail" class="annotation-detail"></div>
|
||||
<div id="annotationFields" hidden>
|
||||
<div class="form-row"><label for="annotationRemark">说明</label><textarea id="annotationRemark" rows="4"></textarea></div>
|
||||
@@ -514,8 +529,9 @@
|
||||
<div class="form-actions"><div id="annotationStatus" class="form-status"></div><button id="annotationClose" class="button" type="button" autofocus>关闭</button><button id="annotationSubmit" class="button" type="submit" hidden>确定</button></div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="pagePanel" class="form-dialog">
|
||||
<dialog id="pagePanel" class="form-dialog" aria-labelledby="pageTitle">
|
||||
<form id="pageForm">
|
||||
<h2 id="pageTitle" class="form-title">页面设置</h2>
|
||||
<div id="pageRangeRow" class="form-row" hidden><span>范围</span><output id="pageRange"></output></div>
|
||||
<div class="form-row">
|
||||
<span id="pageDirectionLabel">方向</span>
|
||||
@@ -541,7 +557,7 @@
|
||||
</div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="fontBindingPanel" class="form-dialog">
|
||||
<dialog id="fontBindingPanel" class="form-dialog" aria-labelledby="fontBindingTitle">
|
||||
<form id="fontBindingForm">
|
||||
<h2 id="fontBindingTitle" class="form-title">嵌入字体</h2>
|
||||
<div class="form-row"><span>字体</span><output id="fontBindingName"></output></div>
|
||||
@@ -551,8 +567,9 @@
|
||||
<div class="form-actions"><div id="fontBindingStatus" class="form-status"></div><button id="fontBindingCancel" class="button" type="button">取消</button><button id="fontBindingSubmit" class="button" type="submit">嵌入</button></div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="insertPanel" class="form-dialog">
|
||||
<dialog id="insertPanel" class="form-dialog" aria-labelledby="insertTitle">
|
||||
<form id="insertForm">
|
||||
<h2 id="insertTitle" class="form-title">添加图片</h2>
|
||||
<div class="form-row">
|
||||
<label for="insertImage">图片</label>
|
||||
<input id="insertImage" type="file" accept=".png,.jpg,.jpeg,.bmp,.tif,.tiff,image/png,image/jpeg,image/bmp,image/tiff" required autofocus>
|
||||
@@ -568,7 +585,7 @@
|
||||
</div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="signPanel" class="form-dialog security-dialog">
|
||||
<dialog id="signPanel" class="form-dialog security-dialog" aria-labelledby="signTitle">
|
||||
<form id="signForm" autocomplete="off">
|
||||
<h2 id="signTitle" class="form-title">签署文档</h2>
|
||||
<div class="form-row"><label for="signCertificate">证书</label><input id="signCertificate" type="file" accept=".pem,.cer,.crt,.der" required></div>
|
||||
@@ -596,7 +613,7 @@
|
||||
<div id="signPositionStamp" class="seal-position-stamp" hidden><img id="signPositionImage" alt="" draggable="false"></div>
|
||||
</div>
|
||||
</div>
|
||||
<dialog id="verifyPanel" class="form-dialog security-dialog">
|
||||
<dialog id="verifyPanel" class="form-dialog security-dialog" aria-labelledby="verifyTitle">
|
||||
<form id="verifyForm">
|
||||
<h2 id="verifyTitle" class="form-title">验证签名</h2>
|
||||
<div class="form-row"><label for="verifyRoots">信任根</label><input id="verifyRoots" type="file" accept=".pem,.cer,.crt,.der" multiple></div>
|
||||
@@ -609,7 +626,7 @@
|
||||
<div class="form-actions"><div id="verifyStatus" class="form-status"></div><button id="verifyCancel" class="button" type="button">取消</button><button class="button" type="submit">验签</button></div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="credentialsPanel" class="form-dialog security-dialog">
|
||||
<dialog id="credentialsPanel" class="form-dialog security-dialog" aria-labelledby="credentialsTitle">
|
||||
<form id="credentialsForm" autocomplete="off">
|
||||
<h2 id="credentialsTitle" class="form-title">解锁文档</h2>
|
||||
<div id="credentialsTypeRow" class="form-row"><label for="credentialsType">方式</label><select id="credentialsType"><option value="password">口令</option><option value="certificate">证书</option></select></div>
|
||||
@@ -621,7 +638,7 @@
|
||||
<div class="form-actions"><div id="credentialsStatus" class="form-status"></div><button id="credentialsCancel" class="button" type="button">取消</button><button class="button" type="submit">解锁</button></div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="attachmentDialog" class="form-dialog">
|
||||
<dialog id="attachmentDialog" class="form-dialog" aria-labelledby="attachmentTitle">
|
||||
<form id="attachmentForm">
|
||||
<h2 id="attachmentTitle" class="form-title">添加附件</h2>
|
||||
<div id="attachmentFileRow" class="form-row"><label for="attachmentFile">文件</label><input id="attachmentFile" type="file" multiple required></div>
|
||||
@@ -633,7 +650,7 @@
|
||||
</div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="encryptionPanel" class="form-dialog">
|
||||
<dialog id="encryptionPanel" class="form-dialog" aria-labelledby="encryptionTitle">
|
||||
<form id="encryptionForm">
|
||||
<h2 id="encryptionTitle" class="form-title">加密文档</h2>
|
||||
<div class="form-row"><label for="encryptionType">方式</label><select id="encryptionType" autofocus><option value="none">明文</option><option value="password">口令</option><option value="certificate">证书</option><option id="encryptionKeep" value="keep" hidden>保留</option></select></div>
|
||||
@@ -645,7 +662,7 @@
|
||||
<div class="form-actions"><div id="encryptionStatus" class="form-status"></div><button id="encryptionCancel" class="button" type="button">取消</button><button id="encryptionSubmit" class="button" type="submit">确定</button></div>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="exportPanel" class="form-dialog">
|
||||
<dialog id="exportPanel" class="form-dialog" aria-labelledby="exportTitle">
|
||||
<form id="exportForm">
|
||||
<h2 id="exportTitle" class="form-title">导出文档</h2>
|
||||
<div class="form-row">
|
||||
|
||||
@@ -850,6 +850,7 @@ button:not(:disabled):hover {
|
||||
width: 320px;
|
||||
max-width: calc(100% - 24px);
|
||||
max-height: calc(100dvh - 24px);
|
||||
overflow: auto;
|
||||
margin: auto;
|
||||
padding: 0;
|
||||
border: 1px solid var(--line);
|
||||
|
||||
+23
-2
@@ -348,6 +348,7 @@ const el = {
|
||||
rightIndent: document.querySelector("#rightIndent"),
|
||||
firstLineIndent: document.querySelector("#firstLineIndent"),
|
||||
importPanel: document.querySelector("#importPanel"),
|
||||
importTitle: document.querySelector("#importTitle"),
|
||||
importForm: document.querySelector("#importForm"),
|
||||
importFile: document.querySelector("#importFile"),
|
||||
importRange: document.querySelector("#importRange"),
|
||||
@@ -389,6 +390,7 @@ const el = {
|
||||
batchPagesPanel: document.querySelector("#batchPagesPanel"),
|
||||
batchPagesForm: document.querySelector("#batchPagesForm"),
|
||||
batchPageAction: document.querySelector("#batchPageAction"),
|
||||
batchPagesTitle: document.querySelector("#batchPagesTitle"),
|
||||
batchPageRange: document.querySelector("#batchPageRange"),
|
||||
batchPagePositionRow: document.querySelector("#batchPagePositionRow"),
|
||||
batchPagePosition: document.querySelector("#batchPagePosition"),
|
||||
@@ -450,6 +452,7 @@ const el = {
|
||||
objectStyleStatus: document.querySelector("#objectStyleStatus"),
|
||||
objectStyleCancel: document.querySelector("#objectStyleCancel"),
|
||||
outlinePanel: document.querySelector("#outlinePanel"),
|
||||
outlinePanelTitle: document.querySelector("#outlinePanelTitle"),
|
||||
outlineForm: document.querySelector("#outlineForm"),
|
||||
outlineTitle: document.querySelector("#outlineTitle"),
|
||||
outlineParent: document.querySelector("#outlineParent"),
|
||||
@@ -472,6 +475,7 @@ const el = {
|
||||
saveButton: document.querySelector("#saveButton"),
|
||||
saveAsButton: document.querySelector("#saveAsButton"),
|
||||
createPanel: document.querySelector("#createPanel"),
|
||||
createTitle: document.querySelector("#createTitle"),
|
||||
createMode: document.querySelector("#createMode"),
|
||||
createImages: document.querySelector("#createImages"),
|
||||
createSize: document.querySelector("#createSize"),
|
||||
@@ -485,6 +489,7 @@ const el = {
|
||||
createStatus: document.querySelector("#createStatus"),
|
||||
createCancel: document.querySelector("#createCancel"),
|
||||
insertPanel: document.querySelector("#insertPanel"),
|
||||
insertTitle: document.querySelector("#insertTitle"),
|
||||
insertForm: document.querySelector("#insertForm"),
|
||||
insertImage: document.querySelector("#insertImage"),
|
||||
insertFitRow: document.querySelector("#insertFitRow"),
|
||||
@@ -617,11 +622,14 @@ const el = {
|
||||
signatureSummary: document.querySelector("#signatureSummary"),
|
||||
signatureList: document.querySelector("#signatureList"),
|
||||
annotationNote: document.querySelector("#annotationNote"),
|
||||
annotationNoteTitle: document.querySelector("#annotationNoteTitle"),
|
||||
annotationTool: document.querySelector("#annotationTool"),
|
||||
penTool: document.querySelector("#penTool"),
|
||||
annotationCreate: document.querySelector("#annotationCreate"),
|
||||
annotationCreateTitle: document.querySelector("#annotationCreateTitle"),
|
||||
annotationCreateStatus: document.querySelector("#annotationCreateStatus"),
|
||||
objectPicker: document.querySelector("#objectPicker"),
|
||||
objectPickerTitle: document.querySelector("#objectPickerTitle"),
|
||||
objectPickerList: document.querySelector("#objectPickerList"),
|
||||
annotationForm: document.querySelector("#annotationForm"),
|
||||
annotationFields: document.querySelector("#annotationFields"),
|
||||
@@ -1270,6 +1278,7 @@ editorClick(el.pageSettingsButton, openPagePanel);
|
||||
editorClick(el.batchPagesButton, openBatchPages);
|
||||
function openBatchPages() {
|
||||
el.batchPageAction.value = "copy";
|
||||
el.batchPagesTitle.textContent = "复制页面";
|
||||
el.batchPagesSubmit.textContent = "复制";
|
||||
el.batchPagePositionRow.hidden = true;
|
||||
el.batchPagePosition.value = "after";
|
||||
@@ -1281,6 +1290,7 @@ function openBatchPages() {
|
||||
el.batchPagesCancel.addEventListener("click", () => el.batchPagesPanel.close());
|
||||
el.batchPageAction.addEventListener("change", () => {
|
||||
el.batchPagesSubmit.textContent = { copy: "复制", move: "移动", delete: "删除", save: "另存" }[el.batchPageAction.value];
|
||||
el.batchPagesTitle.textContent = `${el.batchPagesSubmit.textContent}页面`;
|
||||
el.batchPagePositionRow.hidden = el.batchPageAction.value !== "move";
|
||||
});
|
||||
el.batchPagesForm.addEventListener("submit", async event => {
|
||||
@@ -2223,6 +2233,7 @@ function addGradientStop(position, color, transparency, source) {
|
||||
|
||||
function openOutlinePanel(action) {
|
||||
state.outlineAction = action;
|
||||
el.outlinePanelTitle.textContent = { add: "新增目录", update: "编辑目录", delete: "删除目录", move: "移动目录" }[action];
|
||||
let outline = null, items = state.doc.outlines || [];
|
||||
for (const index of state.outlineSelection || []) { outline = items[index]; items = outline.children || []; }
|
||||
el.outlineTitle.value = action === "add" ? "" : outline.title;
|
||||
@@ -2297,6 +2308,7 @@ function openImportPanel(documents = false) {
|
||||
state.importPageCount = 0;
|
||||
state.importDocumentCount = 0;
|
||||
state.importDocumentMode = documents;
|
||||
el.importTitle.textContent = documents ? "导入文档" : "插入页面";
|
||||
state.importEncrypted = false;
|
||||
el.importForm.reset();
|
||||
el.importStatus.textContent = "";
|
||||
@@ -3442,6 +3454,7 @@ function openCreatePanel(insert = false, packageDocument = false) {
|
||||
el.createForm.reset();
|
||||
state.createInsert = insert === true;
|
||||
state.createPackage = packageDocument === true;
|
||||
el.createTitle.textContent = state.createInsert ? "插入页面" : state.createPackage ? "新增文档" : "新建文档";
|
||||
state.createDocumentAt = state.createPackage ? managedDocumentIndex() + 1 : null;
|
||||
el.createMode.value = state.createInsert ? "images" : "blank";
|
||||
el.createSubmit.textContent = state.createInsert ? "插入" : state.createPackage ? "新增" : "新建";
|
||||
@@ -3557,6 +3570,7 @@ async function createDocument(event) {
|
||||
|
||||
function editAnnotationDetails(item) {
|
||||
state.annotationEdit = item;
|
||||
el.annotationNoteTitle.textContent = "编辑注解";
|
||||
el.annotationRemark.value = item.remark || "";
|
||||
el.annotationCreator.value = item.creator || "";
|
||||
el.annotationFields.hidden = el.annotationSubmit.hidden = false;
|
||||
@@ -3568,6 +3582,7 @@ function editAnnotationDetails(item) {
|
||||
}
|
||||
|
||||
function openObjectPicker(items = canvasEditor.pageItems(state.pageIndex)) {
|
||||
el.objectPickerTitle.textContent = "选择对象";
|
||||
el.objectPickerList.replaceChildren();
|
||||
const labels = { TextObject: "文字", PathObject: "图形", ImageObject: "图片", CompositeObject: "组合", CompositeGraphicUnit: "组合", Annotation: "注解" };
|
||||
const kinds = { Path: "批注", Stamp: "印章", Watermark: "水印", Link: "链接", Highlight: "高亮" };
|
||||
@@ -3651,6 +3666,8 @@ function placeAnnotation(index, kind, box) {
|
||||
|
||||
function updateAnnotationFields() {
|
||||
const { kind, item } = state.annotationCreate;
|
||||
el.annotationCreateTitle.textContent = kind === "replace" ? "替换文字"
|
||||
: `${item ? "编辑" : "添加"}${{ note: "批注", watermark: "水印", stamp: "印章", link: "链接" }[kind]}`;
|
||||
for (const key of ["X", "Y", "Width", "Height", "Pages", "Author"]) annotationFields[key].closest(".form-row").hidden = false;
|
||||
for (const row of el.annotationCreate.querySelectorAll("[data-annotation]")) row.hidden = !row.dataset.annotation.split(" ").includes(kind);
|
||||
const image = kind === "stamp" || kind === "watermark" && annotationFields.Content.value === "image";
|
||||
@@ -3851,6 +3868,7 @@ function openInsertPanel(item = null) {
|
||||
}
|
||||
el.insertForm.reset();
|
||||
state.insertObject = item;
|
||||
el.insertTitle.textContent = item ? "替换图片" : "添加图片";
|
||||
el.insertFitRow.hidden = !item || Boolean(item.scoped);
|
||||
el.insertSubmit.textContent = item ? "替换" : "添加";
|
||||
el.insertStatus.textContent = "";
|
||||
@@ -8552,10 +8570,11 @@ async function locateManagedResource() {
|
||||
if (target) canvasEditor.select(target);
|
||||
};
|
||||
if (locations.length === 1) await focus(locations[0]);
|
||||
else resourceChoices(locations, location => `第${location.page}页 · ${location.object}`, location => resourceTask(() => focus(location)));
|
||||
else resourceChoices(locations, location => `第${location.page}页 · ${location.object}`, location => resourceTask(() => focus(location)), "选择位置");
|
||||
}
|
||||
|
||||
function resourceChoices(items, label, choose) {
|
||||
function resourceChoices(items, label, choose, title = "选择对象") {
|
||||
el.objectPickerTitle.textContent = title;
|
||||
el.objectPickerList.replaceChildren();
|
||||
for (const item of items) {
|
||||
const button = document.createElement("button");
|
||||
@@ -10451,6 +10470,7 @@ function placeMediaPlayer(id, entry) {
|
||||
header.className = "form-title";
|
||||
const title = document.createElement("span");
|
||||
title.textContent = `${label}播放`;
|
||||
dialog.setAttribute("aria-label", title.textContent);
|
||||
const close = document.createElement("button");
|
||||
close.type = "button";
|
||||
close.className = "small-button";
|
||||
@@ -12967,6 +12987,7 @@ function mountAnnotationNotes(index, surface, annotations) {
|
||||
el.annotationDetail.hidden = false;
|
||||
el.annotationStatus.textContent = "";
|
||||
el.annotationClose.textContent = "关闭";
|
||||
el.annotationNoteTitle.textContent = "注解详情";
|
||||
const content = document.createElement("div");
|
||||
content.textContent = annotation.remark;
|
||||
el.annotationDetail.append(content);
|
||||
|
||||
Reference in new issue
Block a user