source: OKFNAnnotator (for Zope)/annotator_files/lib/widget.js @ 3:6356e78ccf5c

Last change on this file since 3:6356e78ccf5c was 3:6356e78ccf5c, checked in by casties, 12 years ago

new version contains Annotator JS files to be used with FilesystemSite?.

File size: 1.9 KB
Line 
1var __hasProp = Object.prototype.hasOwnProperty,
2  __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; };
3
4Annotator.Widget = (function(_super) {
5
6  __extends(Widget, _super);
7
8  Widget.prototype.classes = {
9    hide: 'annotator-hide',
10    invert: {
11      x: 'annotator-invert-x',
12      y: 'annotator-invert-y'
13    }
14  };
15
16  function Widget(element, options) {
17    Widget.__super__.constructor.apply(this, arguments);
18    this.classes = $.extend({}, Annotator.Widget.prototype.classes, this.classes);
19  }
20
21  Widget.prototype.checkOrientation = function() {
22    var current, offset, viewport, widget, window;
23    this.resetOrientation();
24    window = $(util.getGlobal());
25    widget = this.element.children(":first");
26    offset = widget.offset();
27    viewport = {
28      top: window.scrollTop(),
29      right: window.width() + window.scrollLeft()
30    };
31    current = {
32      top: offset.top,
33      right: offset.left + widget.width()
34    };
35    if ((current.top - viewport.top) < 0) this.invertY();
36    if ((current.right - viewport.right) > 0) this.invertX();
37    return this;
38  };
39
40  Widget.prototype.resetOrientation = function() {
41    this.element.removeClass(this.classes.invert.x).removeClass(this.classes.invert.y);
42    return this;
43  };
44
45  Widget.prototype.invertX = function() {
46    this.element.addClass(this.classes.invert.x);
47    return this;
48  };
49
50  Widget.prototype.invertY = function() {
51    this.element.addClass(this.classes.invert.y);
52    return this;
53  };
54
55  Widget.prototype.isInvertedY = function() {
56    return this.element.hasClass(this.classes.invert.y);
57  };
58
59  Widget.prototype.isInvertedX = function() {
60    return this.element.hasClass(this.classes.invert.x);
61  };
62
63  return Widget;
64
65})(Delegator);
Note: See TracBrowser for help on using the repository browser.