bind delete in annotation folder

This commit is contained in:
j 2019-01-31 11:52:19 +05:30
parent 0d76284684
commit 943d117c89
4 changed files with 25 additions and 7 deletions

View File

@ -49,6 +49,12 @@ oml.ui.annotation = function(annotation, $iframe) {
'OxSelectable OMLAnnotation'
).css({
borderBottom: '1px solid rgb(208, 208, 208)',
}).bindEvent({
key_delete: function() {
that.triggerEvent('delete', {
id: annotation.id
})
}
}).append($quote).append($note);
that.annotate = function() {
@ -63,6 +69,7 @@ oml.ui.annotation = function(annotation, $iframe) {
let selected = document.querySelector('.OMLAnnotation.selected')
selected && selected.classList.remove('selected')
that.addClass('selected')
that.gainFocus()
}
return that;
};

View File

@ -63,6 +63,10 @@ oml.ui.viewer = function() {
console.log('change...')
console.log(annotations)
saveAnnotations()
},
'delete': function(data) {
oml.$ui.annotationFolder.find('#a-' + data.id).remove()
that.postMessage('removeAnnotation', data)
}
}

View File

@ -23,6 +23,8 @@ Ox.load({
annotations.push(annotation)
renderAnnotation(annotation)
})
} else if (event == 'removeAnnotation') {
removeAnnotation(data.id)
}
})
})
@ -47,12 +49,15 @@ function deselectAnnotation(id) {
})
}
function removeAnnotation(a) {
annotations = annotations.filter(function(annotation) {
return annotation.cfiRange != a.dataset.epubcfi
})
reader.rendition.annotations.remove(a.dataset.epubcfi)
Ox.$parent.postMessage('removeAnnotation', {id: a.dataset.id})
function removeAnnotation(id) {
var a = annotations.filter(function(a) { return a.id == id })[0]
if (a) {
annotations = annotations.filter(function(annotation) {
return annotation.id != id
})
reader.rendition.annotations.remove(a.cfiRange)
}
Ox.$parent.postMessage('removeAnnotation', {id: id})
}
function renderAnnotation(annotation) {
@ -98,7 +103,7 @@ document.onreadystatechange = function () {
reader.rendition.on('keydown', function(event) {
if (event.key == 'Delete') {
document.querySelectorAll('.epubjs-hl.selected').forEach(function(a) {
removeAnnotation(a)
removeAnnotation(a.dataset.id)
})
}
if (event.key == 'n') {

View File

@ -32,6 +32,8 @@ Ox.load({
annotations.push(annotation)
renderAnnotation(annotation)
})
} else if (event == 'removeAnnotation') {
removeAnnotation(data.id)
}
})
})