// Once generated by CoffeeScript 1.9.3, but now lives as pure JS /* eslint-disable */ (function() { var StudentNotes, bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; StudentNotes = (function() { StudentNotes.prototype._debug = false; /* holds elements with annotator() instances */ StudentNotes.prototype.targets = []; /* Adds a listener for "notes" events that may bubble up from descendants. */ function StudentNotes($, el) { this.onInitNotes = bind(this.onInitNotes, this); var events; if (this._debug) { console.log('student notes init', arguments, this); } if (!$(el).data('notes-instance')) { events = { 'notes:init': this.onInitNotes }; $(el).delegate('*', events); $(el).data('notes-instance', this); } } /* Initializes annotations on a container element in response to an init event. */ StudentNotes.prototype.onInitNotes = function(event, uri, storage_url, token) { var courseid, found, idDUdiv, idUdiv, options, ova, parts, uri_root; if (uri == null) { uri = null; } if (storage_url == null) { storage_url = null; } if (token == null) { token = null; } event.stopPropagation(); found = this.targets.some(function(target) { return target === event.target; }); /* Get uri */ if (uri.substring(0, 4) !== "http") { uri_root = window.location.href.split(/#|\?/).shift() || ""; uri = uri_root + uri.substring(1); } parts = window.location.href.split("/"); courseid = parts[4] + "/" + parts[5] + "/" + parts[6]; /* Get id and name user */ idUdiv = $(event.target).parent().find(".idU")[0]; idDUdiv = $(event.target).parent().find(".idDU")[0]; idUdiv = (typeof idUdiv !== "undefined" ? idUdiv.innerHTML : ""); idDUdiv = (typeof idDUdiv !== "undefined" ? idDUdiv.innerHTML : ""); options = { optionsAnnotator: { permissions: { user: { id: idUdiv, name: idDUdiv }, userString: function(user) { if (user && user.name) { return user.name; } return user; }, userId: function(user) { if (user && user.id) { return user.id; } return user; } }, auth: { token: token }, store: { prefix: storage_url, annotationData: { uri: uri }, urls: { create: '/create', read: '/read/:id', update: '/update/:id', destroy: '/delete/:id', search: '/search' }, loadFromSearch: { limit: 10000, uri: uri, user: idUdiv } } }, optionsVideoJS: { techOrder: ["html5", "flash", "youtube"], customControlsOnMobile: true }, optionsOVA: { posBigNew: 'none', NumAnnotations: 20 }, optionsRichText: { tinymce: { selector: "li.annotator-item textarea", plugins: "media image insertdatetime link code", menubar: false, toolbar_items_size: 'small', extended_valid_elements: "iframe[src|frameborder|style|scrolling|class|width|height|name|align|id]", toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image media rubric | code " } } }; if (found) { if (Annotator._instances.length !== 0) { $(event.target).annotator("destroy"); } return ova = new OpenVideoAnnotation.Annotator($(event.target), options); } else { if (event.target.id === "annotator-viewer") { return ova = new OpenVideoAnnotation.Annotator($(event.target), options); } else { return this.targets.push(event.target); } } }; return StudentNotes; })(); /* Enable notes by default on the document root. To initialize annotations on a container element in the document: $('#myElement').trigger('notes:init'); Comment this line to disable notes. */ $(document).ready(function($) { return new StudentNotes($, this); }); }).call(this);