Compare commits

...

2 commits

Author SHA1 Message Date
j
a99a3eee7a secondary menu 2023-10-27 15:54:01 +02:00
j
32a73f402b load pdf.js with version 2023-10-27 15:53:44 +02:00
5 changed files with 51 additions and 20 deletions

View file

@ -59,7 +59,7 @@ Ox.PDFViewer = function(options, self) {
.attr({
frameborder: 0,
height: self.options.height + 'px',
src: self.options.pdfjsURL + '?file=' + encodeURIComponent(self.options.url) + '#page=' + self.options.page,
src: self.options.pdfjsURL + '?' + pandora.getVersion() + '&file=' + encodeURIComponent(self.options.url) + '#page=' + self.options.page,
width: self.options.width + 'px'
})
.onMessage(function(data, event) {

View file

@ -253,6 +253,7 @@ appPanel
});
}
});
window.pandora.getVersion = getPandoraVersion
}
function loadPandoraFiles(callback) {

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="embeds.js"></script>
<link rel="stylesheet" href="pandora.css">
<link rel="stylesheet" href="viewer.css">
<link rel="stylesheet" href="pandora.css">
<script src="viewer.js"></script>
</head>

View file

@ -20,9 +20,11 @@
.verticalToolbarSeparator.hiddenMediumView,
#print,
#secondaryPrint,
#openFile,
#secondaryOpenFile,
#editorModeButtons {
display: none;
display: none !important;
}
.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) {
var url = baseUrl + '/api/'
var key = JSON.stringify([action, data])
@ -180,20 +209,22 @@ const addToRecent = obj => {
}
function initOverlay() {
document.querySelector('#cropFile').addEventListener('click', event=> {
if (cropInactive) {
event.target.style.background = 'red'
cropInactive = false
document.querySelectorAll('.crop-overlay.inactive').forEach(element => {
element.classList.remove('inactive')
})
} else {
event.target.style.background = ''
cropInactive = true
document.querySelectorAll('.crop-overlay').forEach(element => {
element.classList.add('inactive')
})
}
document.querySelectorAll('#cropFile,.secondaryToolbarButton.cropFile').forEach(btn => {
btn.addEventListener('click', event=> {
if (cropInactive) {
event.target.style.background = 'red'
cropInactive = false
document.querySelectorAll('.crop-overlay.inactive').forEach(element => {
element.classList.remove('inactive')
})
} else {
event.target.style.background = ''
cropInactive = true
document.querySelectorAll('.crop-overlay').forEach(element => {
element.classList.add('inactive')
})
}
})
})
var first = true
PDFViewerApplication.initializedPromise.then(function() {
@ -222,9 +253,6 @@ function initOverlay() {
div.appendChild(overlay)
renderCropOverlay(overlay, documentId, page)
})
PDFViewerApplication.pdfViewer.eventBus.on("pagechanging", function(event) {
console.log("pagechanging", event, event.pageNumber.toString())
})
})
}