secondary menu

This commit is contained in:
j 2023-10-27 15:54:01 +02:00
parent 32a73f402b
commit a99a3eee7a
3 changed files with 49 additions and 19 deletions

View file

@ -33,9 +33,9 @@ See https://github.com/adobe-type-tools/cmap-resources
<script src="/static/oxjs/min/Ox.js"></script> <script src="/static/oxjs/min/Ox.js"></script>
<script src="embeds.js"></script> <script src="embeds.js"></script>
<link rel="stylesheet" href="pandora.css">
<link rel="stylesheet" href="viewer.css"> <link rel="stylesheet" href="viewer.css">
<link rel="stylesheet" href="pandora.css">
<script src="viewer.js"></script> <script src="viewer.js"></script>
</head> </head>

View file

@ -20,9 +20,11 @@
.verticalToolbarSeparator.hiddenMediumView, .verticalToolbarSeparator.hiddenMediumView,
#print, #print,
#secondaryPrint,
#openFile, #openFile,
#secondaryOpenFile,
#editorModeButtons { #editorModeButtons {
display: none; display: none !important;
} }
.page .crop-overlay { .page .crop-overlay {

View file

@ -29,6 +29,35 @@ embedPage.addEventListener("click", event => {
}); });
}) })
// secondary menu
div.innerHTML = `
<button id="secondaryCropFile" class="secondaryToolbarButton visibleMediumView cropFile" title="Crop" tabindex="50" data-l10n-id="crop">
<span data-l10n-id="crop_label">Crop</span>
</button>
`
var secondaryCropFile = div.querySelector("#secondaryCropFile")
document.querySelector('#secondaryToolbarButtonContainer').insertBefore(
secondaryCropFile,
document.querySelector('#secondaryToolbarButtonContainer').firstChild
)
div.innerHTML = `
<button id="secondaryEmbedPage" class="secondaryToolbarButton visibleMediumView embedPage" title="Embed" tabindex="50" data-l10n-id="embed">
<span data-l10n-id="embed_label">Embed</span>
</button>
`
var secondaryEmbedPage = div.querySelector("#secondaryEmbedPage")
document.querySelector('#secondaryToolbarButtonContainer').insertBefore(
secondaryEmbedPage,
document.querySelector('#secondaryToolbarButtonContainer').firstChild
)
secondaryEmbedPage.addEventListener("click", event => {
Ox.$parent.postMessage('embed', {
page: PDFViewerApplication.page
});
})
async function archiveAPI(action, data) { async function archiveAPI(action, data) {
var url = baseUrl + '/api/' var url = baseUrl + '/api/'
var key = JSON.stringify([action, data]) var key = JSON.stringify([action, data])
@ -180,20 +209,22 @@ const addToRecent = obj => {
} }
function initOverlay() { function initOverlay() {
document.querySelector('#cropFile').addEventListener('click', event=> { document.querySelectorAll('#cropFile,.secondaryToolbarButton.cropFile').forEach(btn => {
if (cropInactive) { btn.addEventListener('click', event=> {
event.target.style.background = 'red' if (cropInactive) {
cropInactive = false event.target.style.background = 'red'
document.querySelectorAll('.crop-overlay.inactive').forEach(element => { cropInactive = false
element.classList.remove('inactive') document.querySelectorAll('.crop-overlay.inactive').forEach(element => {
}) element.classList.remove('inactive')
} else { })
event.target.style.background = '' } else {
cropInactive = true event.target.style.background = ''
document.querySelectorAll('.crop-overlay').forEach(element => { cropInactive = true
element.classList.add('inactive') document.querySelectorAll('.crop-overlay').forEach(element => {
}) element.classList.add('inactive')
} })
}
})
}) })
var first = true var first = true
PDFViewerApplication.initializedPromise.then(function() { PDFViewerApplication.initializedPromise.then(function() {
@ -222,9 +253,6 @@ function initOverlay() {
div.appendChild(overlay) div.appendChild(overlay)
renderCropOverlay(overlay, documentId, page) renderCropOverlay(overlay, documentId, page)
}) })
PDFViewerApplication.pdfViewer.eventBus.on("pagechanging", function(event) {
console.log("pagechanging", event, event.pageNumber.toString())
})
}) })
} }