diff --git a/static/js/viewer.js b/static/js/viewer.js index 36ad0d8..092657a 100644 --- a/static/js/viewer.js +++ b/static/js/viewer.js @@ -71,8 +71,6 @@ oml.ui.viewer = function() { var annotationEvents = { change: function() { - console.log('change...') - console.log(annotations) saveAnnotations() }, 'delete': function(data) { @@ -96,7 +94,6 @@ oml.ui.viewer = function() { border: 0 }).onMessage(function(data, event) { if (event == 'addAnnotation') { - console.log('adding', data.id) saveAnnotations(data); var $annotation = oml.ui.annotation(data, $iframe).bindEvent(annotationEvents) oml.$ui.annotationFolder.append($annotation); @@ -105,12 +102,14 @@ oml.ui.viewer = function() { oml.$ui.annotationFolder.find('#a-' + data.id).remove() removeAnnotation(data.id) } else if (event == 'selectAnnotation') { - var $annotation = oml.$ui.annotationFolder.find('#a-' + data.id) - $annotation && $annotation.select() - } else if (event == 'deselectAnnotation') { - var $annotation = oml.$ui.annotationFolder.find('#a-' + data.id)[0] - $annotation && $annotation.deselect() - } else if (event == 'selection') { + if (data.id) { + var $annotation = oml.$ui.annotationFolder.find('#a-' + data.id) + $annotation.length && $annotation.select() + } else { + var $annotation = oml.$ui.annotationFolder.find('.OMLAnnotation.selected') + $annotation.length && $annotation.deselect() + } + } else if (event == 'selectText') { oml.$ui.annotationPanel.updateSelection(data) } else { console.log('got', event, data) diff --git a/static/reader/epub.js b/static/reader/epub.js index 14a309d..b4326a3 100644 --- a/static/reader/epub.js +++ b/static/reader/epub.js @@ -81,7 +81,7 @@ function deselectAllAnnotations() { g.classList.remove('selected') if (!Ox.contains(ids, id)) { ids.push(id) - Ox.$parent.postMessage('deselectAnnotation', {id: id}) + Ox.$parent.postMessage('selectAnnotation', {id: null}) } }) } @@ -179,7 +179,7 @@ document.onreadystatechange = function () { currentSelection = null } if (!currentSelection) { - Ox.$parent.postMessage('selection', false) + Ox.$parent.postMessage('selectText', false) } } }) @@ -194,7 +194,7 @@ document.onreadystatechange = function () { text: text, contents: contents } - Ox.$parent.postMessage('selection', text ? true : false) + Ox.$parent.postMessage('selectText', text ? true : false) }) }); } diff --git a/static/reader/pdf.js b/static/reader/pdf.js index 164fba9..44db149 100644 --- a/static/reader/pdf.js +++ b/static/reader/pdf.js @@ -60,9 +60,9 @@ window.addEventListener('keydown', function(event) { window.addEventListener('mouseup', function(event) { var selection = window.getSelection() if (selection.isCollapsed) { - Ox.$parent.postMessage('selection', false) + Ox.$parent.postMessage('selectText', false) } else { - Ox.$parent.postMessage('selection', true) + Ox.$parent.postMessage('selectText', true) } }) @@ -136,7 +136,7 @@ function renderAnnotation(annotation) { el.addEventListener('click', function() { if (el.classList.contains('selected')) { deselectAnnotation(annotation.id) - Ox.$parent.postMessage('deselectAnnotation', {id: annotation.id}) + Ox.$parent.postMessage('selectAnnotation', {id: null}) } else { selectAnnotation(annotation.id) Ox.$parent.postMessage('selectAnnotation', {id: annotation.id}) @@ -178,7 +178,7 @@ function deselectAllAnnotations() { console.log('deselect', g, id) if (!Ox.contains(ids, id)) { ids.push(id) - Ox.$parent.postMessage('deselectAnnotation', {id: id}) + Ox.$parent.postMessage('selectAnnotation', {id: null}) } }) }