Compare commits

..

No commits in common. "76c9bf5d6eef418224e47030083f11093407ea0a" and "b5d0a9f13664e7d96d18be27aa7acda3fa20a5f9" have entirely different histories.

4 changed files with 8 additions and 37 deletions

View file

@ -105,7 +105,7 @@ class Icons(dict):
c.close() c.close()
conn.close() conn.close()
except: except:
logger.debug('failed to clear icon %s', prefix) logger.debug('failed to clear icon %s', id)
def vacuum(self, ids): def vacuum(self, ids):
conn = self.connect() conn = self.connect()

View file

@ -1,34 +1,14 @@
'use strict'; 'use strict';
oml.ui.annotation = function(annotation, $iframe) { oml.ui.annotation = function(data, $iframe) {
var $arrayEditable = Ox.ArrayEditable({ var $arrayEditable = Ox.ArrayEditable({
editing: true, editing: true,
items: (annotation.comments || []).map(function(comment) {
comment.editable = true
return comment
}),
type: 'textarea' type: 'textarea'
}).css({ }).css({
minHeight: '16px' minHeight: '16px'
}).bindEvent({
submit: function(data) {
var comment = Ox.getObjectById(annotation.comments, data.id)
if (comment) {
comment.value = data.value
comment.modified = (new Date).toISOString()
} else {
annotation.comments.push({
created: data.created || (new Date).toISOString(),
modified: (new Date).toISOString(),
id: data.id,
value: data.value
})
}
that.triggerEvent('change')
}
}); });
var that = Ox.Element().attr({ var that = Ox.Element().attr({
id: 'a-' + annotation.id id: 'a-' + data.id
}).addClass( }).addClass(
'OxSelectable' 'OxSelectable'
).css({ ).css({
@ -41,10 +21,10 @@ oml.ui.annotation = function(annotation, $iframe) {
fontSize: '14px', fontSize: '14px',
lineHeight: '21px', lineHeight: '21px',
padding: '8px' padding: '8px'
}).html(Ox.encodeHTMLEntities(annotation.text).replace(/\n/g, '<br/>')).on({ }).html(Ox.encodeHTMLEntities(data.text).replace(/\n/g, '<br/>')).on({
click: function(event) { click: function(event) {
$iframe.postMessage('selectAnnotation', { $iframe.postMessage('selectAnnotation', {
id: annotation.id id: data.id
}) })
} }
}) })

View file

@ -46,7 +46,6 @@ oml.ui.viewer = function() {
function saveAnnotations(data) { function saveAnnotations(data) {
if (data) { if (data) {
data.created = data.created || (new Date).toISOString(); data.created = data.created || (new Date).toISOString();
data.comments = data.comments || [];
annotations.push(data); annotations.push(data);
} }
localStorage[item + '.annotations'] = JSON.stringify(annotations) localStorage[item + '.annotations'] = JSON.stringify(annotations)
@ -58,14 +57,6 @@ oml.ui.viewer = function() {
saveAnnotations() saveAnnotations()
} }
var annotationEvents = {
change: function() {
console.log('change...')
console.log(annotations)
saveAnnotations()
}
}
that.updateElement = function() { that.updateElement = function() {
item = ui.item; item = ui.item;
if (item && item.length) { if (item && item.length) {
@ -84,7 +75,7 @@ oml.ui.viewer = function() {
if (event == 'addAnnotation') { if (event == 'addAnnotation') {
console.log('adding', data.id) console.log('adding', data.id)
saveAnnotations(data); saveAnnotations(data);
var $annotation = oml.ui.annotation(data, $iframe).bindEvent(annotationEvents) var $annotation = oml.ui.annotation(data, $iframe)
oml.$ui.annotationFolder.append($annotation); oml.$ui.annotationFolder.append($annotation);
$annotation.annotate(); $annotation.annotate();
} else if (event == 'removeAnnotation') { } else if (event == 'removeAnnotation') {
@ -102,7 +93,7 @@ oml.ui.viewer = function() {
init: function() { init: function() {
loadAnnotations(function(annotations) { loadAnnotations(function(annotations) {
annotations.forEach(function(data) { annotations.forEach(function(data) {
var $annotation = oml.ui.annotation(data, $iframe).bindEvent(annotationEvents) var $annotation = oml.ui.annotation(data, $iframe)
oml.$ui.annotationFolder.append($annotation); oml.$ui.annotationFolder.append($annotation);
}) })
// fixme: trigger loaded event from reader instead? // fixme: trigger loaded event from reader instead?

View file

@ -144,7 +144,7 @@ function removeAnnotation(id) {
annotations = annotations.filter(function(annotation) { annotations = annotations.filter(function(annotation) {
return annotation.id != id return annotation.id != id
}) })
Ox.$parent.postMessage('removeAnnotation', {id: id}) Ox.$parent.postMessage('removeAnnotation', {id: selected.dataset.id})
} }
function loadAnnotations(page) { function loadAnnotations(page) {