'use strict'; oml.ui.exportAnnotationsDialog = function(data) { var ui = oml.user.ui, $text = Ox.Input({ type: 'textarea', style: 'squared', value: getAnnotationsText(), width: 640, height: 480 }) .css({margin: '16px'}), that = Ox.Dialog({ buttons: [ Ox.Button({ id: 'done', style: 'squared', title: Ox._('Done') }) .bindEvent({ click: function() { that.close(); } }) ], closeButton: true, content: $text, height: 480 + 2 * 16, keys: {enter: 'done'}, removeOnClose: true, title: Ox._('Export Annotations'), width: 640 + 2* 16 }) .bindEvent({ close: function() { that.close(); }, open: function() { // .. } }); function getAnnotationsText() { var annotations = oml.$ui.viewer.getAnnotations() var text = 'Annotations for ' + data.title + ' (' + data.author.join(', ') + ')\n\n\n\n' text += annotations.map(function(annotation) { var page = annotation.pageLabel || annotation.page var text = 'Quote' + (page ? ' Page ' + page : '' )+ ':\n\n' + annotation.text if (annotation.notes.length) { text += '\n\nNotes:\n' + annotation.notes.map(function(note) { return note.value }).join('\n\n') } return text }).join('\n\n\n\n') return text } return that; };