jquery-lionbars 0.0.1

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.
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
+