comparison annotator_files/lib/plugin/markdown.js @ 3:6356e78ccf5c

new version contains Annotator JS files to be used with FilesystemSite.
author casties
date Thu, 05 Apr 2012 19:37:27 +0200
parents
children 6979313586cf
comparison
equal deleted inserted replaced
2:4c6c8835fc5c 3:6356e78ccf5c
1 var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
2 __hasProp = Object.prototype.hasOwnProperty,
3 __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor; child.__super__ = parent.prototype; return child; };
4
5 Annotator.Plugin.Markdown = (function(_super) {
6
7 __extends(Markdown, _super);
8
9 Markdown.prototype.events = {
10 'annotationViewerTextField': 'updateTextField'
11 };
12
13 function Markdown(element, options) {
14 this.updateTextField = __bind(this.updateTextField, this); if ((typeof Showdown !== "undefined" && Showdown !== null ? Showdown.converter : void 0) != null) {
15 Markdown.__super__.constructor.apply(this, arguments);
16 this.converter = new Showdown.converter();
17 } else {
18 console.error(Annotator._t("To use the Markdown plugin, you must include Showdown into the page first."));
19 }
20 }
21
22 Markdown.prototype.updateTextField = function(field, annotation) {
23 var text;
24 text = Annotator.$.escape(annotation.text || '');
25 return $(field).html(this.convert(text));
26 };
27
28 Markdown.prototype.convert = function(text) {
29 return this.converter.makeHtml(text);
30 };
31
32 return Markdown;
33
34 })(Annotator.Plugin);