jquery-actual-rails 0.1.0 → 0.2.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 569b96ba1de4405e3ae3be942900949626ed0678
4
- data.tar.gz: 5c864bd7c59808c9652ddc5494dd373e26e78932
3
+ metadata.gz: ef014b7b4d5e1e726ad19892ecd49ae6e73a996b
4
+ data.tar.gz: 410aab2873da52e5d5905313b983179ce721c490
5
5
  SHA512:
6
- metadata.gz: d0dc7ca6fcb19bcbb1ae02d2bcf13fe8c7a1d1c76dc717467a1cd33de1b62444e0b073d06df4dba2c510f3d776a9c2e5db6561b0d37ad2798c316e8472500f7b
7
- data.tar.gz: 6d6cafec80f0747de95aa36af4c87e2cf9429573e2cac204d0b48e67a49fc76dbb23ab9885a2228d66b6268b830aae7231450f921da56ccaf46f105cbeaf0267
6
+ metadata.gz: e0451ae24d7b945325e1cddee7a7bc56866084777af6ae3aa01ec9af63be95fa1cf254355ec62b5eacaafad8d58c65843b9d8a80dd66119d3859c020fdb16a76
7
+ data.tar.gz: 43025c65092fb2aa8d27335be3e53d414f0cd9f9929396887e3f8c7415063d003093130c66ff95d18e6dbe0029b1ff1ddb303c1f55c5cc3d29b669609dee6b44
data/.gitignore CHANGED
@@ -7,3 +7,5 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+
11
+ *.gem
@@ -1,13 +1,8 @@
1
- require "jquery/actual/rails/version"
2
-
3
1
  module Jquery
4
2
  module Actual
5
3
  module Rails
6
- class Engine < ::Rails::Engine
7
- initializer 'Precompile hook', :group => :all do |app|
8
- app.config.assets.precompile += ['jquery.actual.js']
9
- end
10
- end
4
+ require 'jquery/actual/rails/engine'
5
+ require 'jquery/actual/rails/version'
11
6
  end
12
7
  end
13
8
  end
@@ -0,0 +1,11 @@
1
+ module Jquery
2
+ module Actual
3
+ module Rails
4
+ class Engine < ::Rails::Engine
5
+ initializer 'Precompile hook', :group => :all do |app|
6
+ app.config.assets.precompile += ['jquery.actual.js']
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,7 +1,7 @@
1
1
  module Jquery
2
2
  module Actual
3
3
  module Rails
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
6
6
  end
7
7
  end
@@ -0,0 +1,107 @@
1
+ /*! Copyright 2012, Ben Lin (http://dreamerslab.com/)
2
+ * Licensed under the MIT License (LICENSE.txt).
3
+ *
4
+ * Version: 1.0.19
5
+ *
6
+ * Requires: jQuery >= 1.2.3
7
+ */
8
+ ;( function ( factory ) {
9
+ if ( typeof define === 'function' && define.amd ) {
10
+ // AMD. Register module depending on jQuery using requirejs define.
11
+ define( ['jquery'], factory );
12
+ } else {
13
+ // No AMD.
14
+ factory( jQuery );
15
+ }
16
+ }( function ( $ ){
17
+ $.fn.addBack = $.fn.addBack || $.fn.andSelf;
18
+
19
+ $.fn.extend({
20
+
21
+ actual : function ( method, options ){
22
+ // check if the jQuery method exist
23
+ if( !this[ method ]){
24
+ throw '$.actual => The jQuery method "' + method + '" you called does not exist';
25
+ }
26
+
27
+ var defaults = {
28
+ absolute : false,
29
+ clone : false,
30
+ includeMargin : false,
31
+ display : 'block'
32
+ };
33
+
34
+ var configs = $.extend( defaults, options );
35
+
36
+ var $target = this.eq( 0 );
37
+ var fix, restore;
38
+
39
+ if( configs.clone === true ){
40
+ fix = function (){
41
+ var style = 'position: absolute !important; top: -1000 !important; ';
42
+
43
+ // this is useful with css3pie
44
+ $target = $target.
45
+ clone().
46
+ attr( 'style', style ).
47
+ appendTo( 'body' );
48
+ };
49
+
50
+ restore = function (){
51
+ // remove DOM element after getting the width
52
+ $target.remove();
53
+ };
54
+ }else{
55
+ var tmp = [];
56
+ var style = '';
57
+ var $hidden;
58
+
59
+ fix = function (){
60
+ // get all hidden parents
61
+ $hidden = $target.parents().addBack().filter( ':hidden' );
62
+ style += 'visibility: hidden !important; display: ' + configs.display + ' !important; ';
63
+
64
+ if( configs.absolute === true ) style += 'position: absolute !important; ';
65
+
66
+ // save the origin style props
67
+ // set the hidden el css to be got the actual value later
68
+ $hidden.each( function (){
69
+ // Save original style. If no style was set, attr() returns undefined
70
+ var $this = $( this );
71
+ var thisStyle = $this.attr( 'style' );
72
+
73
+ tmp.push( thisStyle );
74
+ // Retain as much of the original style as possible, if there is one
75
+ $this.attr( 'style', thisStyle ? thisStyle + ';' + style : style );
76
+ });
77
+ };
78
+
79
+ restore = function (){
80
+ // restore origin style values
81
+ $hidden.each( function ( i ){
82
+ var $this = $( this );
83
+ var _tmp = tmp[ i ];
84
+
85
+ if( _tmp === undefined ){
86
+ $this.removeAttr( 'style' );
87
+ }else{
88
+ $this.attr( 'style', _tmp );
89
+ }
90
+ });
91
+ };
92
+ }
93
+
94
+ fix();
95
+ // get the actual value with user specific methed
96
+ // it can be 'width', 'height', 'outerWidth', 'innerWidth'... etc
97
+ // configs.includeMargin only works for 'outerWidth' and 'outerHeight'
98
+ var actual = /(outer)/.test( method ) ?
99
+ $target[ method ]( configs.includeMargin ) :
100
+ $target[ method ]();
101
+
102
+ restore();
103
+ // IMPORTANT, this plugin only return the value of the first element
104
+ return actual;
105
+ }
106
+ });
107
+ }));
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jquery-actual-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kirill
@@ -69,9 +69,12 @@ files:
69
69
  - Rakefile
70
70
  - bin/console
71
71
  - bin/setup
72
+ - jquery-actual-rails-0.1.0.gem
72
73
  - jquery-actual-rails.gemspec
73
74
  - lib/jquery/actual/rails.rb
75
+ - lib/jquery/actual/rails/engine.rb
74
76
  - lib/jquery/actual/rails/version.rb
77
+ - vendor/assets/javascripts/jquery.actual.js
75
78
  homepage: https://github.com/cderche/jquery-actual-rails
76
79
  licenses:
77
80
  - MIT