diff annotator_files/lib/notification.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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/annotator_files/lib/notification.js	Thu Apr 05 19:37:27 2012 +0200
@@ -0,0 +1,58 @@
+var Annotator,
+  __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
+  __hasProp = Object.prototype.hasOwnProperty,
+  __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; };
+
+Annotator = Annotator || {};
+
+Annotator.Notification = (function(_super) {
+
+  __extends(Notification, _super);
+
+  Notification.prototype.events = {
+    "click": "hide"
+  };
+
+  Notification.prototype.options = {
+    html: "<div class='annotator-notice'></div>",
+    classes: {
+      show: "annotator-notice-show",
+      info: "annotator-notice-info",
+      success: "annotator-notice-success",
+      error: "annotator-notice-error"
+    }
+  };
+
+  function Notification(options) {
+    this.hide = __bind(this.hide, this);
+    this.show = __bind(this.show, this);    Notification.__super__.constructor.call(this, $(this.options.html).appendTo(document.body)[0], options);
+  }
+
+  Notification.prototype.show = function(message, status) {
+    if (status == null) status = Annotator.Notification.INFO;
+    $(this.element).addClass(this.options.classes.show).addClass(this.options.classes[status]).escape(message || "");
+    setTimeout(this.hide, 5000);
+    return this;
+  };
+
+  Notification.prototype.hide = function() {
+    $(this.element).removeClass(this.options.classes.show);
+    return this;
+  };
+
+  return Notification;
+
+})(Delegator);
+
+Annotator.Notification.INFO = 'show';
+
+Annotator.Notification.SUCCESS = 'success';
+
+Annotator.Notification.ERROR = 'error';
+
+$(function() {
+  var notification;
+  notification = new Annotator.Notification;
+  Annotator.showNotification = notification.show;
+  return Annotator.hideNotification = notification.hide;
+});