66 lines
1.9 KiB
JavaScript
66 lines
1.9 KiB
JavaScript
'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 ?' (' + 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;
|
|
|
|
};
|