rails_antiscroll 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
| 
         @@ -0,0 +1,403 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
             
     | 
| 
      
 2 
     | 
    
         
            +
            (function ($) {
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
              /**
         
     | 
| 
      
 5 
     | 
    
         
            +
               * Augment jQuery prototype.
         
     | 
| 
      
 6 
     | 
    
         
            +
               */
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
              $.fn.antiscroll = function (options) {
         
     | 
| 
      
 9 
     | 
    
         
            +
                return this.each(function () {
         
     | 
| 
      
 10 
     | 
    
         
            +
                  if ($(this).data('antiscroll')) {
         
     | 
| 
      
 11 
     | 
    
         
            +
                    $(this).data('antiscroll').destroy();
         
     | 
| 
      
 12 
     | 
    
         
            +
                  }
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                  $(this).data('antiscroll', new $.Antiscroll(this, options));
         
     | 
| 
      
 15 
     | 
    
         
            +
                });
         
     | 
| 
      
 16 
     | 
    
         
            +
              };
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
              /**
         
     | 
| 
      
 19 
     | 
    
         
            +
               * Expose constructor.
         
     | 
| 
      
 20 
     | 
    
         
            +
               */
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
              $.Antiscroll = Antiscroll;
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
              /**
         
     | 
| 
      
 25 
     | 
    
         
            +
               * Antiscroll pane constructor.
         
     | 
| 
      
 26 
     | 
    
         
            +
               *
         
     | 
| 
      
 27 
     | 
    
         
            +
               * @param {Element|jQuery} main pane
         
     | 
| 
      
 28 
     | 
    
         
            +
               * @parma {Object} options
         
     | 
| 
      
 29 
     | 
    
         
            +
               * @api public
         
     | 
| 
      
 30 
     | 
    
         
            +
               */
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
              function Antiscroll (el, opts) {
         
     | 
| 
      
 33 
     | 
    
         
            +
                this.el = $(el);
         
     | 
| 
      
 34 
     | 
    
         
            +
                this.options = opts || {};
         
     | 
| 
      
 35 
     | 
    
         
            +
                this.padding = undefined == this.options.padding ? 2 : this.options.padding;
         
     | 
| 
      
 36 
     | 
    
         
            +
                this.inner = this.el.find('.antiscroll-inner');
         
     | 
| 
      
 37 
     | 
    
         
            +
                this.inner.css({
         
     | 
| 
      
 38 
     | 
    
         
            +
                    'width': '+=' + scrollbarSize()
         
     | 
| 
      
 39 
     | 
    
         
            +
                  , 'height': '+=' + scrollbarSize()
         
     | 
| 
      
 40 
     | 
    
         
            +
                });
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                if (this.inner.get(0).scrollWidth > this.el.width()) {
         
     | 
| 
      
 43 
     | 
    
         
            +
                  this.horizontal = new Scrollbar.Horizontal(this);
         
     | 
| 
      
 44 
     | 
    
         
            +
                }
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                if (this.inner.get(0).scrollHeight > this.el.height()) {
         
     | 
| 
      
 47 
     | 
    
         
            +
                  this.vertical = new Scrollbar.Vertical(this);
         
     | 
| 
      
 48 
     | 
    
         
            +
                }
         
     | 
| 
      
 49 
     | 
    
         
            +
              }
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
              /**
         
     | 
| 
      
 52 
     | 
    
         
            +
               * Cleans up.
         
     | 
| 
      
 53 
     | 
    
         
            +
               *
         
     | 
| 
      
 54 
     | 
    
         
            +
               * @return {Antiscroll} for chaining
         
     | 
| 
      
 55 
     | 
    
         
            +
               * @api public
         
     | 
| 
      
 56 
     | 
    
         
            +
               */
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
              Antiscroll.prototype.destroy = function () {
         
     | 
| 
      
 59 
     | 
    
         
            +
                if (this.horizontal) {
         
     | 
| 
      
 60 
     | 
    
         
            +
                  this.horizontal.destroy();
         
     | 
| 
      
 61 
     | 
    
         
            +
                }
         
     | 
| 
      
 62 
     | 
    
         
            +
                if (this.vertical) {
         
     | 
| 
      
 63 
     | 
    
         
            +
                  this.vertical.destroy();
         
     | 
| 
      
 64 
     | 
    
         
            +
                }
         
     | 
| 
      
 65 
     | 
    
         
            +
                return this;
         
     | 
| 
      
 66 
     | 
    
         
            +
              };
         
     | 
| 
      
 67 
     | 
    
         
            +
             
     | 
| 
      
 68 
     | 
    
         
            +
              /**
         
     | 
| 
      
 69 
     | 
    
         
            +
               * Scrolbar constructor.
         
     | 
| 
      
 70 
     | 
    
         
            +
               *
         
     | 
| 
      
 71 
     | 
    
         
            +
               * @param {Element|jQuery} element
         
     | 
| 
      
 72 
     | 
    
         
            +
               * @api public
         
     | 
| 
      
 73 
     | 
    
         
            +
               */
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
              function Scrollbar (pane) {
         
     | 
| 
      
 76 
     | 
    
         
            +
                this.pane = pane;
         
     | 
| 
      
 77 
     | 
    
         
            +
                this.pane.el.append(this.el);
         
     | 
| 
      
 78 
     | 
    
         
            +
                this.innerEl = this.pane.inner.get(0);
         
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
      
 80 
     | 
    
         
            +
                this.dragging = false;
         
     | 
| 
      
 81 
     | 
    
         
            +
                this.enter = false;
         
     | 
| 
      
 82 
     | 
    
         
            +
                this.shown = false;
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
                // hovering
         
     | 
| 
      
 85 
     | 
    
         
            +
                this.pane.el.mouseenter($.proxy(this, 'mouseenter'));
         
     | 
| 
      
 86 
     | 
    
         
            +
                this.pane.el.mouseleave($.proxy(this, 'mouseleave'));
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
                // dragging
         
     | 
| 
      
 89 
     | 
    
         
            +
                this.el.mousedown($.proxy(this, 'mousedown'));
         
     | 
| 
      
 90 
     | 
    
         
            +
             
     | 
| 
      
 91 
     | 
    
         
            +
                // scrolling
         
     | 
| 
      
 92 
     | 
    
         
            +
                this.pane.inner.scroll($.proxy(this, 'scroll'));
         
     | 
| 
      
 93 
     | 
    
         
            +
             
     | 
| 
      
 94 
     | 
    
         
            +
                // wheel -optional-
         
     | 
| 
      
 95 
     | 
    
         
            +
                this.pane.inner.bind('mousewheel', $.proxy(this, 'mousewheel'));
         
     | 
| 
      
 96 
     | 
    
         
            +
             
     | 
| 
      
 97 
     | 
    
         
            +
                // show
         
     | 
| 
      
 98 
     | 
    
         
            +
                var initialDisplay = this.pane.options.initialDisplay;
         
     | 
| 
      
 99 
     | 
    
         
            +
             
     | 
| 
      
 100 
     | 
    
         
            +
                if (initialDisplay !== false) {
         
     | 
| 
      
 101 
     | 
    
         
            +
                  this.show();
         
     | 
| 
      
 102 
     | 
    
         
            +
                  this.hiding = setTimeout($.proxy(this, 'hide'), parseInt(initialDisplay, 10) || 3000);
         
     | 
| 
      
 103 
     | 
    
         
            +
                }
         
     | 
| 
      
 104 
     | 
    
         
            +
              };
         
     | 
| 
      
 105 
     | 
    
         
            +
             
     | 
| 
      
 106 
     | 
    
         
            +
              /**
         
     | 
| 
      
 107 
     | 
    
         
            +
               * Cleans up.
         
     | 
| 
      
 108 
     | 
    
         
            +
               *
         
     | 
| 
      
 109 
     | 
    
         
            +
               * @return {Scrollbar} for chaining
         
     | 
| 
      
 110 
     | 
    
         
            +
               * @api public
         
     | 
| 
      
 111 
     | 
    
         
            +
               */
         
     | 
| 
      
 112 
     | 
    
         
            +
             
     | 
| 
      
 113 
     | 
    
         
            +
              Scrollbar.prototype.destroy = function () {
         
     | 
| 
      
 114 
     | 
    
         
            +
                this.el.remove();
         
     | 
| 
      
 115 
     | 
    
         
            +
                return this;
         
     | 
| 
      
 116 
     | 
    
         
            +
              };
         
     | 
| 
      
 117 
     | 
    
         
            +
             
     | 
| 
      
 118 
     | 
    
         
            +
              /**
         
     | 
| 
      
 119 
     | 
    
         
            +
               * Called upon mouseenter.
         
     | 
| 
      
 120 
     | 
    
         
            +
               *
         
     | 
| 
      
 121 
     | 
    
         
            +
               * @api private
         
     | 
| 
      
 122 
     | 
    
         
            +
               */
         
     | 
| 
      
 123 
     | 
    
         
            +
             
     | 
| 
      
 124 
     | 
    
         
            +
              Scrollbar.prototype.mouseenter = function () {
         
     | 
| 
      
 125 
     | 
    
         
            +
                this.enter = true;
         
     | 
| 
      
 126 
     | 
    
         
            +
                this.show();
         
     | 
| 
      
 127 
     | 
    
         
            +
              };
         
     | 
| 
      
 128 
     | 
    
         
            +
             
     | 
| 
      
 129 
     | 
    
         
            +
              /**
         
     | 
| 
      
 130 
     | 
    
         
            +
               * Called upon mouseleave.
         
     | 
| 
      
 131 
     | 
    
         
            +
               *
         
     | 
| 
      
 132 
     | 
    
         
            +
               * @api private
         
     | 
| 
      
 133 
     | 
    
         
            +
               */
         
     | 
| 
      
 134 
     | 
    
         
            +
             
     | 
| 
      
 135 
     | 
    
         
            +
              Scrollbar.prototype.mouseleave = function () {
         
     | 
| 
      
 136 
     | 
    
         
            +
                this.enter = false;
         
     | 
| 
      
 137 
     | 
    
         
            +
             
     | 
| 
      
 138 
     | 
    
         
            +
                if (!this.dragging) {
         
     | 
| 
      
 139 
     | 
    
         
            +
                  this.hide();
         
     | 
| 
      
 140 
     | 
    
         
            +
                }
         
     | 
| 
      
 141 
     | 
    
         
            +
              }
         
     | 
| 
      
 142 
     | 
    
         
            +
             
     | 
| 
      
 143 
     | 
    
         
            +
              /**
         
     | 
| 
      
 144 
     | 
    
         
            +
               * Called upon wrap scroll.
         
     | 
| 
      
 145 
     | 
    
         
            +
               *
         
     | 
| 
      
 146 
     | 
    
         
            +
               * @api private
         
     | 
| 
      
 147 
     | 
    
         
            +
               */
         
     | 
| 
      
 148 
     | 
    
         
            +
             
     | 
| 
      
 149 
     | 
    
         
            +
              Scrollbar.prototype.scroll = function () {
         
     | 
| 
      
 150 
     | 
    
         
            +
                if (!this.shown) {
         
     | 
| 
      
 151 
     | 
    
         
            +
                  this.show();
         
     | 
| 
      
 152 
     | 
    
         
            +
                  if (!this.enter && !this.dragging) {
         
     | 
| 
      
 153 
     | 
    
         
            +
                    this.hiding = setTimeout($.proxy(this, 'hide'), 1500);
         
     | 
| 
      
 154 
     | 
    
         
            +
                  }
         
     | 
| 
      
 155 
     | 
    
         
            +
                }
         
     | 
| 
      
 156 
     | 
    
         
            +
             
     | 
| 
      
 157 
     | 
    
         
            +
                this.update();
         
     | 
| 
      
 158 
     | 
    
         
            +
              };
         
     | 
| 
      
 159 
     | 
    
         
            +
             
     | 
| 
      
 160 
     | 
    
         
            +
              /**
         
     | 
| 
      
 161 
     | 
    
         
            +
               * Called upon scrollbar mousedown.
         
     | 
| 
      
 162 
     | 
    
         
            +
               *
         
     | 
| 
      
 163 
     | 
    
         
            +
               * @api private
         
     | 
| 
      
 164 
     | 
    
         
            +
               */
         
     | 
| 
      
 165 
     | 
    
         
            +
             
     | 
| 
      
 166 
     | 
    
         
            +
              Scrollbar.prototype.mousedown = function (ev) {
         
     | 
| 
      
 167 
     | 
    
         
            +
                ev.preventDefault();
         
     | 
| 
      
 168 
     | 
    
         
            +
             
     | 
| 
      
 169 
     | 
    
         
            +
                this.dragging = true;
         
     | 
| 
      
 170 
     | 
    
         
            +
             
     | 
| 
      
 171 
     | 
    
         
            +
                this.startPageY = ev.pageY - parseInt(this.el.css('top'), 10);
         
     | 
| 
      
 172 
     | 
    
         
            +
                this.startPageX = ev.pageX - parseInt(this.el.css('left'), 10);
         
     | 
| 
      
 173 
     | 
    
         
            +
             
     | 
| 
      
 174 
     | 
    
         
            +
                // prevent crazy selections on IE
         
     | 
| 
      
 175 
     | 
    
         
            +
                document.onselectstart = function () { return false; };
         
     | 
| 
      
 176 
     | 
    
         
            +
             
     | 
| 
      
 177 
     | 
    
         
            +
                var pane = this.pane
         
     | 
| 
      
 178 
     | 
    
         
            +
                  , move = $.proxy(this, 'mousemove')
         
     | 
| 
      
 179 
     | 
    
         
            +
                  , self = this
         
     | 
| 
      
 180 
     | 
    
         
            +
             
     | 
| 
      
 181 
     | 
    
         
            +
                $(document)
         
     | 
| 
      
 182 
     | 
    
         
            +
                  .mousemove(move)
         
     | 
| 
      
 183 
     | 
    
         
            +
                  .mouseup(function () {
         
     | 
| 
      
 184 
     | 
    
         
            +
                    self.dragging = false;
         
     | 
| 
      
 185 
     | 
    
         
            +
                    document.onselectstart = null;
         
     | 
| 
      
 186 
     | 
    
         
            +
             
     | 
| 
      
 187 
     | 
    
         
            +
                    $(document).unbind('mousemove', move);
         
     | 
| 
      
 188 
     | 
    
         
            +
             
     | 
| 
      
 189 
     | 
    
         
            +
                    if (!self.enter) {
         
     | 
| 
      
 190 
     | 
    
         
            +
                      self.hide();
         
     | 
| 
      
 191 
     | 
    
         
            +
                    }
         
     | 
| 
      
 192 
     | 
    
         
            +
                  })
         
     | 
| 
      
 193 
     | 
    
         
            +
              };
         
     | 
| 
      
 194 
     | 
    
         
            +
             
     | 
| 
      
 195 
     | 
    
         
            +
              /**
         
     | 
| 
      
 196 
     | 
    
         
            +
               * Show scrollbar.
         
     | 
| 
      
 197 
     | 
    
         
            +
               *
         
     | 
| 
      
 198 
     | 
    
         
            +
               * @api private
         
     | 
| 
      
 199 
     | 
    
         
            +
               */
         
     | 
| 
      
 200 
     | 
    
         
            +
             
     | 
| 
      
 201 
     | 
    
         
            +
              Scrollbar.prototype.show = function (duration) {
         
     | 
| 
      
 202 
     | 
    
         
            +
                if (!this.shown) {
         
     | 
| 
      
 203 
     | 
    
         
            +
                  this.update();
         
     | 
| 
      
 204 
     | 
    
         
            +
                  this.el.addClass('antiscroll-scrollbar-shown');
         
     | 
| 
      
 205 
     | 
    
         
            +
                  if (this.hiding) {
         
     | 
| 
      
 206 
     | 
    
         
            +
                    clearTimeout(this.hiding);
         
     | 
| 
      
 207 
     | 
    
         
            +
                    this.hiding = null;
         
     | 
| 
      
 208 
     | 
    
         
            +
                  }
         
     | 
| 
      
 209 
     | 
    
         
            +
                  this.shown = true;
         
     | 
| 
      
 210 
     | 
    
         
            +
                }
         
     | 
| 
      
 211 
     | 
    
         
            +
              };
         
     | 
| 
      
 212 
     | 
    
         
            +
             
     | 
| 
      
 213 
     | 
    
         
            +
              /**
         
     | 
| 
      
 214 
     | 
    
         
            +
               * Hide scrollbar.
         
     | 
| 
      
 215 
     | 
    
         
            +
               *
         
     | 
| 
      
 216 
     | 
    
         
            +
               * @api private
         
     | 
| 
      
 217 
     | 
    
         
            +
               */
         
     | 
| 
      
 218 
     | 
    
         
            +
             
     | 
| 
      
 219 
     | 
    
         
            +
              Scrollbar.prototype.hide = function () {
         
     | 
| 
      
 220 
     | 
    
         
            +
                if (this.shown) {
         
     | 
| 
      
 221 
     | 
    
         
            +
                  // check for dragging
         
     | 
| 
      
 222 
     | 
    
         
            +
                  this.el.removeClass('antiscroll-scrollbar-shown');
         
     | 
| 
      
 223 
     | 
    
         
            +
                  this.shown = false;
         
     | 
| 
      
 224 
     | 
    
         
            +
                }
         
     | 
| 
      
 225 
     | 
    
         
            +
              };
         
     | 
| 
      
 226 
     | 
    
         
            +
             
     | 
| 
      
 227 
     | 
    
         
            +
              /**
         
     | 
| 
      
 228 
     | 
    
         
            +
               * Horizontal scrollbar constructor
         
     | 
| 
      
 229 
     | 
    
         
            +
               *
         
     | 
| 
      
 230 
     | 
    
         
            +
               * @api private
         
     | 
| 
      
 231 
     | 
    
         
            +
               */
         
     | 
| 
      
 232 
     | 
    
         
            +
             
     | 
| 
      
 233 
     | 
    
         
            +
              Scrollbar.Horizontal = function (pane) {
         
     | 
| 
      
 234 
     | 
    
         
            +
                this.el = $('<div class="antiscroll-scrollbar antiscroll-scrollbar-horizontal">');
         
     | 
| 
      
 235 
     | 
    
         
            +
                Scrollbar.call(this, pane);
         
     | 
| 
      
 236 
     | 
    
         
            +
              }
         
     | 
| 
      
 237 
     | 
    
         
            +
             
     | 
| 
      
 238 
     | 
    
         
            +
              /**
         
     | 
| 
      
 239 
     | 
    
         
            +
               * Inherits from Scrollbar.
         
     | 
| 
      
 240 
     | 
    
         
            +
               */
         
     | 
| 
      
 241 
     | 
    
         
            +
             
     | 
| 
      
 242 
     | 
    
         
            +
              inherits(Scrollbar.Horizontal, Scrollbar);
         
     | 
| 
      
 243 
     | 
    
         
            +
             
     | 
| 
      
 244 
     | 
    
         
            +
              /**
         
     | 
| 
      
 245 
     | 
    
         
            +
               * Updates size/position of scrollbar.
         
     | 
| 
      
 246 
     | 
    
         
            +
               *
         
     | 
| 
      
 247 
     | 
    
         
            +
               * @api private
         
     | 
| 
      
 248 
     | 
    
         
            +
               */
         
     | 
| 
      
 249 
     | 
    
         
            +
             
     | 
| 
      
 250 
     | 
    
         
            +
              Scrollbar.Horizontal.prototype.update = function () {
         
     | 
| 
      
 251 
     | 
    
         
            +
                var paneWidth = this.pane.el.width()
         
     | 
| 
      
 252 
     | 
    
         
            +
                  , trackWidth = paneWidth - this.pane.padding * 2
         
     | 
| 
      
 253 
     | 
    
         
            +
                  , innerEl = this.pane.inner.get(0)
         
     | 
| 
      
 254 
     | 
    
         
            +
             
     | 
| 
      
 255 
     | 
    
         
            +
                this.el
         
     | 
| 
      
 256 
     | 
    
         
            +
                  .css('width', trackWidth * paneWidth / innerEl.scrollWidth)
         
     | 
| 
      
 257 
     | 
    
         
            +
                  .css('left', trackWidth * innerEl.scrollLeft / innerEl.scrollWidth)
         
     | 
| 
      
 258 
     | 
    
         
            +
              }
         
     | 
| 
      
 259 
     | 
    
         
            +
             
     | 
| 
      
 260 
     | 
    
         
            +
              /**
         
     | 
| 
      
 261 
     | 
    
         
            +
               * Called upon drag.
         
     | 
| 
      
 262 
     | 
    
         
            +
               *
         
     | 
| 
      
 263 
     | 
    
         
            +
               * @api private
         
     | 
| 
      
 264 
     | 
    
         
            +
               */
         
     | 
| 
      
 265 
     | 
    
         
            +
             
     | 
| 
      
 266 
     | 
    
         
            +
              Scrollbar.Horizontal.prototype.mousemove = function (ev) {
         
     | 
| 
      
 267 
     | 
    
         
            +
                var trackWidth = this.pane.el.width() - this.pane.padding * 2
         
     | 
| 
      
 268 
     | 
    
         
            +
                  , pos = ev.pageX - this.startPageX
         
     | 
| 
      
 269 
     | 
    
         
            +
                  , barWidth = this.el.width()
         
     | 
| 
      
 270 
     | 
    
         
            +
                  , innerEl = this.pane.inner.get(0)
         
     | 
| 
      
 271 
     | 
    
         
            +
             
     | 
| 
      
 272 
     | 
    
         
            +
                // minimum top is 0, maximum is the track height
         
     | 
| 
      
 273 
     | 
    
         
            +
                var y = Math.min(Math.max(pos, 0), trackWidth - barWidth)
         
     | 
| 
      
 274 
     | 
    
         
            +
             
     | 
| 
      
 275 
     | 
    
         
            +
                innerEl.scrollLeft = (innerEl.scrollWidth - this.pane.el.width()) 
         
     | 
| 
      
 276 
     | 
    
         
            +
                  * y / (trackWidth - barWidth)
         
     | 
| 
      
 277 
     | 
    
         
            +
              };
         
     | 
| 
      
 278 
     | 
    
         
            +
             
     | 
| 
      
 279 
     | 
    
         
            +
              /**
         
     | 
| 
      
 280 
     | 
    
         
            +
               * Called upon container mousewheel.
         
     | 
| 
      
 281 
     | 
    
         
            +
               *
         
     | 
| 
      
 282 
     | 
    
         
            +
               * @api private
         
     | 
| 
      
 283 
     | 
    
         
            +
               */
         
     | 
| 
      
 284 
     | 
    
         
            +
             
     | 
| 
      
 285 
     | 
    
         
            +
              Scrollbar.Horizontal.prototype.mousewheel = function (ev, delta, x, y) {
         
     | 
| 
      
 286 
     | 
    
         
            +
                if ((x < 0 && 0 == this.pane.inner.get(0).scrollLeft) || 
         
     | 
| 
      
 287 
     | 
    
         
            +
                    (x > 0 && (this.innerEl.scrollLeft + this.pane.el.width() 
         
     | 
| 
      
 288 
     | 
    
         
            +
                      == this.innerEl.scrollWidth))) {
         
     | 
| 
      
 289 
     | 
    
         
            +
                  ev.preventDefault();
         
     | 
| 
      
 290 
     | 
    
         
            +
                  return false;
         
     | 
| 
      
 291 
     | 
    
         
            +
                }
         
     | 
| 
      
 292 
     | 
    
         
            +
              };
         
     | 
| 
      
 293 
     | 
    
         
            +
             
     | 
| 
      
 294 
     | 
    
         
            +
              /**
         
     | 
| 
      
 295 
     | 
    
         
            +
               * Vertical scrollbar constructor
         
     | 
| 
      
 296 
     | 
    
         
            +
               *
         
     | 
| 
      
 297 
     | 
    
         
            +
               * @api private
         
     | 
| 
      
 298 
     | 
    
         
            +
               */
         
     | 
| 
      
 299 
     | 
    
         
            +
             
     | 
| 
      
 300 
     | 
    
         
            +
              Scrollbar.Vertical = function (pane) {
         
     | 
| 
      
 301 
     | 
    
         
            +
                this.el = $('<div class="antiscroll-scrollbar antiscroll-scrollbar-vertical">');
         
     | 
| 
      
 302 
     | 
    
         
            +
                Scrollbar.call(this, pane);
         
     | 
| 
      
 303 
     | 
    
         
            +
              };
         
     | 
| 
      
 304 
     | 
    
         
            +
             
     | 
| 
      
 305 
     | 
    
         
            +
              /**
         
     | 
| 
      
 306 
     | 
    
         
            +
               * Inherits from Scrollbar.
         
     | 
| 
      
 307 
     | 
    
         
            +
               */
         
     | 
| 
      
 308 
     | 
    
         
            +
             
     | 
| 
      
 309 
     | 
    
         
            +
              inherits(Scrollbar.Vertical, Scrollbar);
         
     | 
| 
      
 310 
     | 
    
         
            +
             
     | 
| 
      
 311 
     | 
    
         
            +
              /**
         
     | 
| 
      
 312 
     | 
    
         
            +
               * Updates size/position of scrollbar.
         
     | 
| 
      
 313 
     | 
    
         
            +
               *
         
     | 
| 
      
 314 
     | 
    
         
            +
               * @api private
         
     | 
| 
      
 315 
     | 
    
         
            +
               */
         
     | 
| 
      
 316 
     | 
    
         
            +
             
     | 
| 
      
 317 
     | 
    
         
            +
              Scrollbar.Vertical.prototype.update = function () {
         
     | 
| 
      
 318 
     | 
    
         
            +
                var paneHeight = this.pane.el.height()
         
     | 
| 
      
 319 
     | 
    
         
            +
                  , trackHeight = paneHeight - this.pane.padding * 2
         
     | 
| 
      
 320 
     | 
    
         
            +
                  , innerEl = this.innerEl
         
     | 
| 
      
 321 
     | 
    
         
            +
             
     | 
| 
      
 322 
     | 
    
         
            +
                this.el
         
     | 
| 
      
 323 
     | 
    
         
            +
                  .css('height', trackHeight * paneHeight / innerEl.scrollHeight)
         
     | 
| 
      
 324 
     | 
    
         
            +
                  .css('top', trackHeight * innerEl.scrollTop / innerEl.scrollHeight)
         
     | 
| 
      
 325 
     | 
    
         
            +
              };
         
     | 
| 
      
 326 
     | 
    
         
            +
             
     | 
| 
      
 327 
     | 
    
         
            +
              /**
         
     | 
| 
      
 328 
     | 
    
         
            +
               * Called upon drag.
         
     | 
| 
      
 329 
     | 
    
         
            +
               *
         
     | 
| 
      
 330 
     | 
    
         
            +
               * @api private
         
     | 
| 
      
 331 
     | 
    
         
            +
               */
         
     | 
| 
      
 332 
     | 
    
         
            +
             
     | 
| 
      
 333 
     | 
    
         
            +
              Scrollbar.Vertical.prototype.mousemove = function (ev) {
         
     | 
| 
      
 334 
     | 
    
         
            +
                var paneHeight = this.pane.el.height()
         
     | 
| 
      
 335 
     | 
    
         
            +
                  , trackHeight = paneHeight - this.pane.padding * 2
         
     | 
| 
      
 336 
     | 
    
         
            +
                  , pos = ev.pageY - this.startPageY
         
     | 
| 
      
 337 
     | 
    
         
            +
                  , barHeight = this.el.height()
         
     | 
| 
      
 338 
     | 
    
         
            +
                  , innerEl = this.innerEl
         
     | 
| 
      
 339 
     | 
    
         
            +
             
     | 
| 
      
 340 
     | 
    
         
            +
                // minimum top is 0, maximum is the track height
         
     | 
| 
      
 341 
     | 
    
         
            +
                var y = Math.min(Math.max(pos, 0), trackHeight - barHeight)
         
     | 
| 
      
 342 
     | 
    
         
            +
             
     | 
| 
      
 343 
     | 
    
         
            +
                innerEl.scrollTop = (innerEl.scrollHeight - paneHeight) 
         
     | 
| 
      
 344 
     | 
    
         
            +
                  * y / (trackHeight - barHeight)
         
     | 
| 
      
 345 
     | 
    
         
            +
              };
         
     | 
| 
      
 346 
     | 
    
         
            +
             
     | 
| 
      
 347 
     | 
    
         
            +
              /**
         
     | 
| 
      
 348 
     | 
    
         
            +
               * Called upon container mousewheel.
         
     | 
| 
      
 349 
     | 
    
         
            +
               *
         
     | 
| 
      
 350 
     | 
    
         
            +
               * @api private
         
     | 
| 
      
 351 
     | 
    
         
            +
               */
         
     | 
| 
      
 352 
     | 
    
         
            +
             
     | 
| 
      
 353 
     | 
    
         
            +
              Scrollbar.Vertical.prototype.mousewheel = function (ev, delta, x, y) {
         
     | 
| 
      
 354 
     | 
    
         
            +
                if ((y > 0 && 0 == this.innerEl.scrollTop) || 
         
     | 
| 
      
 355 
     | 
    
         
            +
                    (y < 0 && (this.innerEl.scrollTop + this.pane.el.height() 
         
     | 
| 
      
 356 
     | 
    
         
            +
                      == this.innerEl.scrollHeight))) {
         
     | 
| 
      
 357 
     | 
    
         
            +
                  ev.preventDefault();
         
     | 
| 
      
 358 
     | 
    
         
            +
                  return false;
         
     | 
| 
      
 359 
     | 
    
         
            +
                }
         
     | 
| 
      
 360 
     | 
    
         
            +
              };
         
     | 
| 
      
 361 
     | 
    
         
            +
             
     | 
| 
      
 362 
     | 
    
         
            +
              /**
         
     | 
| 
      
 363 
     | 
    
         
            +
               * Cross-browser inheritance.
         
     | 
| 
      
 364 
     | 
    
         
            +
               *
         
     | 
| 
      
 365 
     | 
    
         
            +
               * @param {Function} constructor
         
     | 
| 
      
 366 
     | 
    
         
            +
               * @param {Function} constructor we inherit from
         
     | 
| 
      
 367 
     | 
    
         
            +
               * @api private
         
     | 
| 
      
 368 
     | 
    
         
            +
               */
         
     | 
| 
      
 369 
     | 
    
         
            +
             
     | 
| 
      
 370 
     | 
    
         
            +
              function inherits (ctorA, ctorB) {
         
     | 
| 
      
 371 
     | 
    
         
            +
                function f() {};
         
     | 
| 
      
 372 
     | 
    
         
            +
                f.prototype = ctorB.prototype;
         
     | 
| 
      
 373 
     | 
    
         
            +
                ctorA.prototype = new f;
         
     | 
| 
      
 374 
     | 
    
         
            +
              };
         
     | 
| 
      
 375 
     | 
    
         
            +
             
     | 
| 
      
 376 
     | 
    
         
            +
              /**
         
     | 
| 
      
 377 
     | 
    
         
            +
               * Scrollbar size detection.
         
     | 
| 
      
 378 
     | 
    
         
            +
               */
         
     | 
| 
      
 379 
     | 
    
         
            +
             
     | 
| 
      
 380 
     | 
    
         
            +
              var size;
         
     | 
| 
      
 381 
     | 
    
         
            +
             
     | 
| 
      
 382 
     | 
    
         
            +
              function scrollbarSize () {
         
     | 
| 
      
 383 
     | 
    
         
            +
                if (!size) {
         
     | 
| 
      
 384 
     | 
    
         
            +
                  var div = $(
         
     | 
| 
      
 385 
     | 
    
         
            +
                      '<div style="width:50px;height:50px;overflow:hidden;'
         
     | 
| 
      
 386 
     | 
    
         
            +
                    + 'position:absolute;top:-200px;left:-200px;"><div style="height:100px;">'
         
     | 
| 
      
 387 
     | 
    
         
            +
                    + '</div>'
         
     | 
| 
      
 388 
     | 
    
         
            +
                  );
         
     | 
| 
      
 389 
     | 
    
         
            +
             
     | 
| 
      
 390 
     | 
    
         
            +
                  $('body').append(div);
         
     | 
| 
      
 391 
     | 
    
         
            +
             
     | 
| 
      
 392 
     | 
    
         
            +
                  var w1 = $('div', div).innerWidth();
         
     | 
| 
      
 393 
     | 
    
         
            +
                  div.css('overflow-y', 'scroll');
         
     | 
| 
      
 394 
     | 
    
         
            +
                  var w2 = $('div', div).innerWidth();
         
     | 
| 
      
 395 
     | 
    
         
            +
                  $(div).remove();
         
     | 
| 
      
 396 
     | 
    
         
            +
             
     | 
| 
      
 397 
     | 
    
         
            +
                  size = w1 - w2;
         
     | 
| 
      
 398 
     | 
    
         
            +
                }
         
     | 
| 
      
 399 
     | 
    
         
            +
             
     | 
| 
      
 400 
     | 
    
         
            +
                return size;
         
     | 
| 
      
 401 
     | 
    
         
            +
              };
         
     | 
| 
      
 402 
     | 
    
         
            +
             
     | 
| 
      
 403 
     | 
    
         
            +
            })(jQuery);
         
     | 
| 
         @@ -0,0 +1,84 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            /*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
         
     | 
| 
      
 2 
     | 
    
         
            +
             * Licensed under the MIT License (LICENSE.txt).
         
     | 
| 
      
 3 
     | 
    
         
            +
             *
         
     | 
| 
      
 4 
     | 
    
         
            +
             * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
         
     | 
| 
      
 5 
     | 
    
         
            +
             * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
         
     | 
| 
      
 6 
     | 
    
         
            +
             * Thanks to: Seamus Leahy for adding deltaX and deltaY
         
     | 
| 
      
 7 
     | 
    
         
            +
             *
         
     | 
| 
      
 8 
     | 
    
         
            +
             * Version: 3.0.6
         
     | 
| 
      
 9 
     | 
    
         
            +
             * 
         
     | 
| 
      
 10 
     | 
    
         
            +
             * Requires: 1.2.2+
         
     | 
| 
      
 11 
     | 
    
         
            +
             */
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            (function($) {
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            var types = ['DOMMouseScroll', 'mousewheel'];
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            if ($.event.fixHooks) {
         
     | 
| 
      
 18 
     | 
    
         
            +
                for ( var i=types.length; i; ) {
         
     | 
| 
      
 19 
     | 
    
         
            +
                    $.event.fixHooks[ types[--i] ] = $.event.mouseHooks;
         
     | 
| 
      
 20 
     | 
    
         
            +
                }
         
     | 
| 
      
 21 
     | 
    
         
            +
            }
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            $.event.special.mousewheel = {
         
     | 
| 
      
 24 
     | 
    
         
            +
                setup: function() {
         
     | 
| 
      
 25 
     | 
    
         
            +
                    if ( this.addEventListener ) {
         
     | 
| 
      
 26 
     | 
    
         
            +
                        for ( var i=types.length; i; ) {
         
     | 
| 
      
 27 
     | 
    
         
            +
                            this.addEventListener( types[--i], handler, false );
         
     | 
| 
      
 28 
     | 
    
         
            +
                        }
         
     | 
| 
      
 29 
     | 
    
         
            +
                    } else {
         
     | 
| 
      
 30 
     | 
    
         
            +
                        this.onmousewheel = handler;
         
     | 
| 
      
 31 
     | 
    
         
            +
                    }
         
     | 
| 
      
 32 
     | 
    
         
            +
                },
         
     | 
| 
      
 33 
     | 
    
         
            +
                
         
     | 
| 
      
 34 
     | 
    
         
            +
                teardown: function() {
         
     | 
| 
      
 35 
     | 
    
         
            +
                    if ( this.removeEventListener ) {
         
     | 
| 
      
 36 
     | 
    
         
            +
                        for ( var i=types.length; i; ) {
         
     | 
| 
      
 37 
     | 
    
         
            +
                            this.removeEventListener( types[--i], handler, false );
         
     | 
| 
      
 38 
     | 
    
         
            +
                        }
         
     | 
| 
      
 39 
     | 
    
         
            +
                    } else {
         
     | 
| 
      
 40 
     | 
    
         
            +
                        this.onmousewheel = null;
         
     | 
| 
      
 41 
     | 
    
         
            +
                    }
         
     | 
| 
      
 42 
     | 
    
         
            +
                }
         
     | 
| 
      
 43 
     | 
    
         
            +
            };
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
            $.fn.extend({
         
     | 
| 
      
 46 
     | 
    
         
            +
                mousewheel: function(fn) {
         
     | 
| 
      
 47 
     | 
    
         
            +
                    return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
         
     | 
| 
      
 48 
     | 
    
         
            +
                },
         
     | 
| 
      
 49 
     | 
    
         
            +
                
         
     | 
| 
      
 50 
     | 
    
         
            +
                unmousewheel: function(fn) {
         
     | 
| 
      
 51 
     | 
    
         
            +
                    return this.unbind("mousewheel", fn);
         
     | 
| 
      
 52 
     | 
    
         
            +
                }
         
     | 
| 
      
 53 
     | 
    
         
            +
            });
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
            function handler(event) {
         
     | 
| 
      
 57 
     | 
    
         
            +
                var orgEvent = event || window.event, args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true, deltaX = 0, deltaY = 0;
         
     | 
| 
      
 58 
     | 
    
         
            +
                event = $.event.fix(orgEvent);
         
     | 
| 
      
 59 
     | 
    
         
            +
                event.type = "mousewheel";
         
     | 
| 
      
 60 
     | 
    
         
            +
                
         
     | 
| 
      
 61 
     | 
    
         
            +
                // Old school scrollwheel delta
         
     | 
| 
      
 62 
     | 
    
         
            +
                if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta/120; }
         
     | 
| 
      
 63 
     | 
    
         
            +
                if ( orgEvent.detail     ) { delta = -orgEvent.detail/3; }
         
     | 
| 
      
 64 
     | 
    
         
            +
                
         
     | 
| 
      
 65 
     | 
    
         
            +
                // New school multidimensional scroll (touchpads) deltas
         
     | 
| 
      
 66 
     | 
    
         
            +
                deltaY = delta;
         
     | 
| 
      
 67 
     | 
    
         
            +
                
         
     | 
| 
      
 68 
     | 
    
         
            +
                // Gecko
         
     | 
| 
      
 69 
     | 
    
         
            +
                if ( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
         
     | 
| 
      
 70 
     | 
    
         
            +
                    deltaY = 0;
         
     | 
| 
      
 71 
     | 
    
         
            +
                    deltaX = -1*delta;
         
     | 
| 
      
 72 
     | 
    
         
            +
                }
         
     | 
| 
      
 73 
     | 
    
         
            +
                
         
     | 
| 
      
 74 
     | 
    
         
            +
                // Webkit
         
     | 
| 
      
 75 
     | 
    
         
            +
                if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY/120; }
         
     | 
| 
      
 76 
     | 
    
         
            +
                if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = -1*orgEvent.wheelDeltaX/120; }
         
     | 
| 
      
 77 
     | 
    
         
            +
                
         
     | 
| 
      
 78 
     | 
    
         
            +
                // Add event and delta to the front of the arguments
         
     | 
| 
      
 79 
     | 
    
         
            +
                args.unshift(event, delta, deltaX, deltaY);
         
     | 
| 
      
 80 
     | 
    
         
            +
                
         
     | 
| 
      
 81 
     | 
    
         
            +
                return ($.event.dispatch || $.event.handle).apply(this, args);
         
     | 
| 
      
 82 
     | 
    
         
            +
            }
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
            })(jQuery);
         
     | 
| 
         @@ -0,0 +1,47 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            .antiscroll-wrap {
         
     | 
| 
      
 2 
     | 
    
         
            +
              display: inline-block;
         
     | 
| 
      
 3 
     | 
    
         
            +
              position: relative;
         
     | 
| 
      
 4 
     | 
    
         
            +
              overflow: hidden;
         
     | 
| 
      
 5 
     | 
    
         
            +
            }
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            .antiscroll-scrollbar {
         
     | 
| 
      
 8 
     | 
    
         
            +
              background: #666;
         
     | 
| 
      
 9 
     | 
    
         
            +
              background: rgba(0, 0, 0, .6);
         
     | 
| 
      
 10 
     | 
    
         
            +
              -webkit-border-radius: 7px;
         
     | 
| 
      
 11 
     | 
    
         
            +
              -moz-border-radius: 7px;
         
     | 
| 
      
 12 
     | 
    
         
            +
              border-radius: 7px;
         
     | 
| 
      
 13 
     | 
    
         
            +
              position: absolute;
         
     | 
| 
      
 14 
     | 
    
         
            +
              opacity: 0;
         
     | 
| 
      
 15 
     | 
    
         
            +
              filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
         
     | 
| 
      
 16 
     | 
    
         
            +
              -webkit-transition: linear 300ms opacity;
         
     | 
| 
      
 17 
     | 
    
         
            +
              -moz-transition: linear 300ms opacity;
         
     | 
| 
      
 18 
     | 
    
         
            +
              -o-transition: linear 300ms opacity;
         
     | 
| 
      
 19 
     | 
    
         
            +
            }
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            .antiscroll-scrollbar-shown {
         
     | 
| 
      
 22 
     | 
    
         
            +
              opacity: 1;
         
     | 
| 
      
 23 
     | 
    
         
            +
              filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
         
     | 
| 
      
 24 
     | 
    
         
            +
            }
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            .antiscroll-scrollbar-horizontal {
         
     | 
| 
      
 27 
     | 
    
         
            +
              height: 7px;
         
     | 
| 
      
 28 
     | 
    
         
            +
              margin-left: 2px;
         
     | 
| 
      
 29 
     | 
    
         
            +
              bottom: 2px;
         
     | 
| 
      
 30 
     | 
    
         
            +
              left: 0;
         
     | 
| 
      
 31 
     | 
    
         
            +
            }
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
            .antiscroll-scrollbar-vertical {
         
     | 
| 
      
 34 
     | 
    
         
            +
              width: 7px;
         
     | 
| 
      
 35 
     | 
    
         
            +
              margin-top: 2px;
         
     | 
| 
      
 36 
     | 
    
         
            +
              right: 2px;
         
     | 
| 
      
 37 
     | 
    
         
            +
              top: 0;
         
     | 
| 
      
 38 
     | 
    
         
            +
            }
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
            .antiscroll-inner {
         
     | 
| 
      
 41 
     | 
    
         
            +
              overflow: scroll;
         
     | 
| 
      
 42 
     | 
    
         
            +
            }
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
            .antiscroll-inner::-webkit-scrollbar, .antiscroll-inner::scrollbar {
         
     | 
| 
      
 45 
     | 
    
         
            +
              width: 0;
         
     | 
| 
      
 46 
     | 
    
         
            +
              height: 0;
         
     | 
| 
      
 47 
     | 
    
         
            +
            }
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: rails_antiscroll
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.0.2
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors:
         
     | 
| 
         @@ -13,7 +13,7 @@ date: 2011-12-24 00:00:00.000000000Z 
     | 
|
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: railties
         
     | 
| 
       16 
     | 
    
         
            -
              requirement: & 
     | 
| 
      
 16 
     | 
    
         
            +
              requirement: &70303279899340 !ruby/object:Gem::Requirement
         
     | 
| 
       17 
17 
     | 
    
         
             
                none: false
         
     | 
| 
       18 
18 
     | 
    
         
             
                requirements:
         
     | 
| 
       19 
19 
     | 
    
         
             
                - - ! '>='
         
     | 
| 
         @@ -21,10 +21,10 @@ dependencies: 
     | 
|
| 
       21 
21 
     | 
    
         
             
                    version: 3.1.0
         
     | 
| 
       22 
22 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       23 
23 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       24 
     | 
    
         
            -
              version_requirements: * 
     | 
| 
      
 24 
     | 
    
         
            +
              version_requirements: *70303279899340
         
     | 
| 
       25 
25 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       26 
26 
     | 
    
         
             
              name: bundler
         
     | 
| 
       27 
     | 
    
         
            -
              requirement: & 
     | 
| 
      
 27 
     | 
    
         
            +
              requirement: &70303279898360 !ruby/object:Gem::Requirement
         
     | 
| 
       28 
28 
     | 
    
         
             
                none: false
         
     | 
| 
       29 
29 
     | 
    
         
             
                requirements:
         
     | 
| 
       30 
30 
     | 
    
         
             
                - - ~>
         
     | 
| 
         @@ -32,10 +32,10 @@ dependencies: 
     | 
|
| 
       32 
32 
     | 
    
         
             
                    version: 1.0.0
         
     | 
| 
       33 
33 
     | 
    
         
             
              type: :development
         
     | 
| 
       34 
34 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       35 
     | 
    
         
            -
              version_requirements: * 
     | 
| 
      
 35 
     | 
    
         
            +
              version_requirements: *70303279898360
         
     | 
| 
       36 
36 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       37 
37 
     | 
    
         
             
              name: rails
         
     | 
| 
       38 
     | 
    
         
            -
              requirement: & 
     | 
| 
      
 38 
     | 
    
         
            +
              requirement: &70303279897480 !ruby/object:Gem::Requirement
         
     | 
| 
       39 
39 
     | 
    
         
             
                none: false
         
     | 
| 
       40 
40 
     | 
    
         
             
                requirements:
         
     | 
| 
       41 
41 
     | 
    
         
             
                - - ~>
         
     | 
| 
         @@ -43,7 +43,7 @@ dependencies: 
     | 
|
| 
       43 
43 
     | 
    
         
             
                    version: '3.1'
         
     | 
| 
       44 
44 
     | 
    
         
             
              type: :development
         
     | 
| 
       45 
45 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       46 
     | 
    
         
            -
              version_requirements: * 
     | 
| 
      
 46 
     | 
    
         
            +
              version_requirements: *70303279897480
         
     | 
| 
       47 
47 
     | 
    
         
             
            description: Add the jquery antiscroll script to your rails app by adding this gem.
         
     | 
| 
       48 
48 
     | 
    
         
             
              No lines in the manifest.
         
     | 
| 
       49 
49 
     | 
    
         
             
            email:
         
     | 
| 
         @@ -56,8 +56,12 @@ files: 
     | 
|
| 
       56 
56 
     | 
    
         
             
            - Gemfile
         
     | 
| 
       57 
57 
     | 
    
         
             
            - Rakefile
         
     | 
| 
       58 
58 
     | 
    
         
             
            - lib/rails_antiscroll.rb
         
     | 
| 
      
 59 
     | 
    
         
            +
            - lib/rails_antiscroll/engine.rb
         
     | 
| 
       59 
60 
     | 
    
         
             
            - lib/rails_antiscroll/version.rb
         
     | 
| 
       60 
61 
     | 
    
         
             
            - rails_antiscroll.gemspec
         
     | 
| 
      
 62 
     | 
    
         
            +
            - vendor/javascripts/antiscroll.js
         
     | 
| 
      
 63 
     | 
    
         
            +
            - vendor/javascripts/jquery.mousewheel.js
         
     | 
| 
      
 64 
     | 
    
         
            +
            - vendor/stylesheets/antiscroll.css
         
     | 
| 
       61 
65 
     | 
    
         
             
            homepage: ''
         
     | 
| 
       62 
66 
     | 
    
         
             
            licenses: []
         
     | 
| 
       63 
67 
     | 
    
         
             
            post_install_message: 
         
     |