bind delete in annotation folder
This commit is contained in:
parent
0d76284684
commit
943d117c89
4 changed files with 25 additions and 7 deletions
|
@ -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;
|
||||
};
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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') {
|
||||
|
|
|
@ -32,6 +32,8 @@ Ox.load({
|
|||
annotations.push(annotation)
|
||||
renderAnnotation(annotation)
|
||||
})
|
||||
} else if (event == 'removeAnnotation') {
|
||||
removeAnnotation(data.id)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
|
Loading…
Reference in a new issue