43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
// -*- Mode: JavaScript; tab-width: 2; indent-tabs-mode: nil; -*-
|
|
// vim:set ft=javascript ts=2 sw=2 sts=2 cindent:
|
|
|
|
var AnnotationLog = (function(window, undefined) {
|
|
var AnnotationLog = function(dispatcher) {
|
|
var annotationLoggingOn = false;
|
|
var currentCollection = null;
|
|
var currentDocument = null;
|
|
var currentArguments = null;
|
|
|
|
var rememberLoggingState = function(response) {
|
|
annotationLoggingOn = response.annotation_logging;
|
|
};
|
|
|
|
var rememberCurrent = function(_collection, _document, _arguments) {
|
|
currentCollection = _collection;
|
|
currentDocument = _document;
|
|
currentArguments = _arguments;
|
|
};
|
|
|
|
var logAction = function(_action) {
|
|
if (!annotationLoggingOn) {
|
|
// logging not requested for current collection
|
|
return false;
|
|
} else {
|
|
dispatcher.post('ajax', [ {
|
|
action: 'logAnnotatorAction',
|
|
collection: currentCollection,
|
|
'document': currentDocument,
|
|
log: _action,
|
|
}, null]);
|
|
}
|
|
}
|
|
|
|
dispatcher.
|
|
on('collectionLoaded', rememberLoggingState).
|
|
on('current', rememberCurrent).
|
|
on('logAction', logAction);
|
|
}
|
|
|
|
return AnnotationLog;
|
|
})(window);
|