jquery-lionbars 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in jquery-lionbars.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,36 @@
1
+ # jQuery LionBars
2
+
3
+ Port jQuery plugin LionBars to a gem, works with asset pipeline.
4
+
5
+ Demo: [http://www.nikolaydyankov.com/lionbars/#demo](http://www.nikolaydyankov.com/lionbars/#demo)
6
+
7
+ Usage:
8
+
9
+ require js and stylesheets
10
+
11
+ require js:
12
+
13
+ //= require 'jquery-lionbars'
14
+
15
+ require scss:
16
+
17
+ @import 'jquery-lionbars';
18
+
19
+ use:
20
+
21
+ <script>
22
+ $('#div1').lionbars();
23
+ </script>
24
+
25
+
26
+ Options:
27
+
28
+ lionbars(color, showOnMouseOver, visibleBar, visibleBg)&nbsp;
29
+
30
+ color: Either "light" or "dark". Choose wisely! Defaults to "dark".
31
+ showOnMouseOver: When the mouse moves over the content element, the scrollbar is shown. Defaults to false.
32
+ visibleBar: Scrollbar is always visible. Defaults to false.
33
+ visibleBg: Full length scrollbar (or scrollbar background) is always visible. Defaults to false.
34
+
35
+
36
+ see more detail from: [http://www.nikolaydyankov.com/lionbars](http://www.nikolaydyankov.com/lionbars)
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,25 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "jquery-lionbars/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "jquery-lionbars"
7
+ s.version = Jquery::Lionbars::VERSION
8
+ s.authors = ["Allen Wei"]
9
+ s.email = ["digruby@gmail.com"]
10
+ s.homepage = "http://www.nikolaydyankov.com/lionbars/"
11
+ s.summary = %q{http://www.nikolaydyankov.com/lionbars}
12
+ s.description = %q{http://www.nikolaydyankov.com/lionbars}
13
+
14
+ s.rubyforge_project = "jquery-lionbars"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ # specify any dependencies here; for example:
22
+ # s.add_development_dependency "rspec"
23
+ s.add_runtime_dependency "rails", ">= 3.1.0"
24
+ s.add_runtime_dependency "jquery-rails"
25
+ end
@@ -0,0 +1,6 @@
1
+ module Jquery
2
+ module Lionbars
3
+ class Engine < ::Rails::Engine
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ module Jquery
2
+ module Lionbars
3
+ VERSION = "0.0.1"
4
+ end
5
+ end
@@ -0,0 +1,3 @@
1
+ require "jquery-lionbars/version"
2
+ require "jquery-lionbars/engine"
3
+
@@ -0,0 +1 @@
1
+ (function(a){a.fn.lionbars=function(b,c,d,e){function F(b,c){var b=a(b);content=b.html();b.html("");b.append('<div class="nWrap" id="'+c+'"></div>');nWrap=b.find(".nWrap");a(nWrap).html(content);var d=b.css("padding-top");var e=b.css("padding-right");var f=b.css("padding-bottom");var g=b.css("padding-left");d=parseInt(d.replace("px",""));e=parseInt(e.replace("px",""));f=parseInt(f.replace("px",""));g=parseInt(g.replace("px",""));b.css({padding:0,width:b.width()+g+e,height:b.height()+d+f,overflow:"hidden",position:"relative"});nWrap.css({"padding-top":d,"padding-left":g,"padding-bottom":f,"padding-right":e,width:b.width()-g-e,height:b.height()-d-f})}function E(b){var c=new Array;var d=0;var b=a(b);var e,f;b.css({overflow:"auto"});b.prepend('<div class="nCheck"></div>');b.find(".nCheck").css({width:"100%",height:1,opacity:1,background:"red"});if(b.width()>b.find(".nCheck").width()){d=d+1;e=b.width()-b.find(".nCheck").width()}b.find(".nCheck").css({width:1,height:"100%"});if(b.height()>b.find(".nCheck").height()){d=d+2;f=b.height()-b.find(".nCheck").height()}b.find(".nCheck").remove();return[d,e,f]}function D(c,f,g,h){var i='<div class="scrollbar vertical nbar"></div><div class="scrollbar_bg vertical nbar"></div>';var j='<div class="scrollbar horizontal nbar"></div><div class="scrollbar_bg horizontal nbar"></div>';var c=a(c);var k=c.find(".nWrap");if(f==1){c.prepend(i);k.css({width:k.width()+g});k.addClass("vscroll")}if(f==2){c.prepend(j);k.css({height:k.height()+h});k.addClass("hscroll")}if(f==3){c.prepend(i);c.prepend(j);k.css({width:k.width()+g});k.css({height:k.height()+h});k.addClass("vscroll");k.addClass("hscroll")}var l=25;var m=c.find(".nWrap")[0].scrollHeight;var n=c.find(".nWrap")[0].scrollWidth;var o=c.height();var p=c.width();if(k.hasClass("vscroll")){n=n+15}if(k.hasClass("hscroll")){m=m+15}var h=o*(o/m);var g=p*(p/n);h=h<l?l:h;g=g<l?l:g;c.find(".scrollbar.vertical").css({height:h});c.find(".scrollbar.horizontal").css({width:g});if(k.hasClass("hscroll")){c.find(".scrollbar_bg.vertical").css({height:c.find(".scrollbar_bg.vertical").height()-13})}else{c.find(".scrollbar_bg.vertical").css({height:c.find(".scrollbar_bg.vertical").height()-4})}if(k.hasClass("vscroll")){c.find(".scrollbar_bg.horizontal").css({width:c.find(".scrollbar_bg.horizontal").width()-13})}else{c.find(".scrollbar_bg.horizontal").css({width:c.find(".scrollbar_bg.horizontal").width()-4})}if(b=="light"){c.find(".scrollbar").addClass("light");c.find(".scrollbar_bg").addClass("light")}else{c.find(".scrollbar").addClass("dark");c.find(".scrollbar_bg").addClass("dark")}if(d){c.find(".scrollbar").css({opacity:1})}if(e){c.find(".scrollbar_bg").css({opacity:1})}}function C(b){var b=a(b);var c=b.find(".nWrap");if(c.hasClass("hscroll")){var d=c.siblings(".scrollbar.vertical");var e=(b.height()-9-d.height()-2)/(c[0].scrollHeight-b.height())}else{var d=c.siblings(".scrollbar.vertical");var e=(b.height()-d.height()-2)/(c[0].scrollHeight-b.height())}c.attr("scrollfactorV",e);if(c.hasClass("vscroll")){var f=c.siblings(".scrollbar.horizontal");var g=(b.width()-9-f.width()-2)/(c[0].scrollWidth-b.width())}else{var f=c.siblings(".scrollbar.horizontal");var g=(b.width()-f.width()-2)/(c[0].scrollWidth-b.width())}c.attr("scrollfactorH",g)}function B(a,b,c,d,e,f,g,h,i,j,k){var l,m,n,o;if(a.hasClass("vertical")){o=g+k-i;m=o;m=m<2?2:m;m=m>a.siblings(".scrollbar_bg.vertical").height()-a.height()+2?a.siblings(".scrollbar_bg.vertical").height()-a.height()+2:m;a.css({top:m});b.scrollTop(o/d)}else{n=f+j-h;l=n;l=l<2?2:l;l=l>a.siblings(".scrollbar_bg.horizontal").width()-a.width()+2?a.siblings(".scrollbar_bg.horizontal").width()-a.width()+2:l;a.css({left:l});b.scrollLeft(n/e)}}var f=a(this);var g=0;f.each(function(){var b=a(this);var c=E(b);g+=1;if(c!=0){F(b,g);D(b,c[0],c[1],c[2]);C(b)}});var h,i,j,k;var l=false,m=0,n,o;var p=false,q=false,r,s,t,u,v,w,x,y;var z=false,A=true;a(".nWrap").mouseover(function(){if(c){a(this).siblings(".scrollbar").stop().animate({opacity:1},200)}});a(".nWrap").mouseout(function(){var b=a(this);if(!l&&!p){l=true;setTimeout(function(){m=0;l=false;if(c){a(".nbar").stop().animate({opacity:0},400)}if(!c&&d){b.siblings(".scrollbar_bg").stop().animate({opacity:0},400)}},1e3)}});a(".nWrap").scroll(function(b){if(!p){if(a(m).attr("id")!=a(this).attr("id")){m=a(this);if(!d){m.siblings(".scrollbar").stop().animate({opacity:1},200)}n=m.attr("scrollfactorV");o=m.attr("scrollfactorH");h=m.siblings(".scrollbar.vertical");i=m.siblings(".scrollbar.horizontal")}j=m.scrollTop()*n;j=j<2?2:j;h.css({top:j});k=m.scrollLeft()*o;k=k<2?2:k;i.css({left:k});if(!l&&!d){l=true;setTimeout(function(){m=0;l=false;a(".nbar").stop().animate({opacity:0},400)},1e3)}}});a(".scrollbar").mouseover(function(b){target=a(this);if(!e){target.siblings(".scrollbar_bg").stop().animate({opacity:1},400)}if(!d){target.add(target.siblings(".scrollbar")).stop().animate({opacity:1},400)}z=true});a(".scrollbar").mouseout(function(b){z=false;if(!l&&!p){l=true;setTimeout(function(){l=false;if(!z&&!d){a(".nbar").stop().animate({opacity:0},400)}else if(!z&&!e){a(".scrollbar_bg").stop().animate({opacity:0},400)}},1e3)}});a(".scrollbar").mousedown(function(b){b.preventDefault();p=true;r=a(this);v=b.pageX;w=b.pageY;t=a(this).position().left;u=a(this).position().top});a(document).mousemove(function(a){if(p&&!q){q=true;s=r.siblings(".nWrap");o=s.attr("scrollfactorh");n=s.attr("scrollfactorv")}if(p){x=a.pageX;y=a.pageY;B(r,s,a,n,o,t,u,v,w,x,y)}});a(document).mouseup(function(b){if(p){p=false;q=false;if(!l&&!p){l=true;setTimeout(function(){l=false;if(!z&&!d){a(".nbar").stop().animate({opacity:0},400)}else if(!z&&!e){a(".scrollbar_bg").stop().animate({opacity:0},400)}},1e3)}}});return this.each(function(){var b=a(this)})}})(jQuery)
@@ -0,0 +1,59 @@
1
+ .scrollbar {
2
+ position: absolute;
3
+ content: "";
4
+ display: block;
5
+ border-radius: 100px;
6
+ opacity: 0;
7
+ z-index: 100;
8
+ }
9
+
10
+ .vertical {
11
+ width: 7px;
12
+ right: 2px;
13
+ top: 2px;
14
+ }
15
+
16
+ .horizontal {
17
+ height: 7px;
18
+ bottom: 2px;
19
+ left: 2px;
20
+ }
21
+
22
+ .scrollbar_bg {
23
+ position: absolute;
24
+ content: "";
25
+ display: block;
26
+ border-radius: 100px;
27
+ opacity: 0;
28
+ z-index: 99;
29
+ }
30
+
31
+ .scrollbar_bg.horizontal {
32
+ width: 100%;
33
+ }
34
+
35
+ .scrollbar_bg.vertical {
36
+ height: 100%;
37
+ }
38
+
39
+ .scrollbar.light {
40
+ background: rgba(255,255,255,0.5);
41
+ }
42
+
43
+ .scrollbar_bg.light {
44
+ background: rgba(255,255,255,0.10);
45
+ }
46
+
47
+
48
+ .scrollbar.dark {
49
+ background: rgba(0,0,0,0.3);
50
+ }
51
+
52
+ .scrollbar_bg.dark {
53
+ background: rgba(0,0,0,0.10);
54
+ }
55
+
56
+ .nWrap {
57
+ overflow: auto;
58
+ display: inline-block;
59
+ }
metadata ADDED
@@ -0,0 +1,104 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jquery-lionbars
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - Allen Wei
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-11-28 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: rails
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 3
31
+ - 1
32
+ - 0
33
+ version: 3.1.0
34
+ type: :runtime
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: jquery-rails
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ hash: 3
45
+ segments:
46
+ - 0
47
+ version: "0"
48
+ type: :runtime
49
+ version_requirements: *id002
50
+ description: http://www.nikolaydyankov.com/lionbars
51
+ email:
52
+ - digruby@gmail.com
53
+ executables: []
54
+
55
+ extensions: []
56
+
57
+ extra_rdoc_files: []
58
+
59
+ files:
60
+ - .gitignore
61
+ - Gemfile
62
+ - README.md
63
+ - Rakefile
64
+ - jquery-lionbars.gemspec
65
+ - lib/jquery-lionbars.rb
66
+ - lib/jquery-lionbars/engine.rb
67
+ - lib/jquery-lionbars/version.rb
68
+ - vender/assets/javascripts/jquery-lionbars.js
69
+ - vender/assets/stylesheets/jquery-lionbars.css
70
+ homepage: http://www.nikolaydyankov.com/lionbars/
71
+ licenses: []
72
+
73
+ post_install_message:
74
+ rdoc_options: []
75
+
76
+ require_paths:
77
+ - lib
78
+ required_ruby_version: !ruby/object:Gem::Requirement
79
+ none: false
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ hash: 3
84
+ segments:
85
+ - 0
86
+ version: "0"
87
+ required_rubygems_version: !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ hash: 3
93
+ segments:
94
+ - 0
95
+ version: "0"
96
+ requirements: []
97
+
98
+ rubyforge_project: jquery-lionbars
99
+ rubygems_version: 1.8.11
100
+ signing_key:
101
+ specification_version: 3
102
+ summary: http://www.nikolaydyankov.com/lionbars
103
+ test_files: []
104
+