jquery-benignware-rails 0.0.6 → 0.0.7

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NjMyNDZiMDViN2U0YzY5ZjA4NDEwMGU5N2FlNmI1NGIyNjFhNTg2NQ==
4
+ YWQxZTdlYWEzMTllM2U5MDVhMTQzZmUyMzY0OTU2MDBmMTI4NDVjOQ==
5
5
  data.tar.gz: !binary |-
6
- ODE2ZjljN2Y3ZGNjYjNlODY1ZjY2MzQzNjJmODg0OTdiZDIwODE2OA==
6
+ MWY4NDZlNzdmMzUzZDAxNjBhNWNmM2M4Yzk1OGYyNmJhMGNhNDU4ZQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- N2MwODk0YTc0ZjQ3N2ViZGI4NTVhZTlkYmQxMDdlZWQ5ZThjMzdiODQzNzIy
10
- OWY0NGIxMzY3MDQ4ZjhiYmI4OGRhNmU5YjhlNDBkN2QxZWIyNzNiMTU1N2E2
11
- NWRjOWNjMmQ1NWM3OTI4NDdjOWVjYzVlZjAxNDJiZmU1MzVkMzM=
9
+ Y2MwZmVhYzI1Mzk5ZDQ5M2ZlYzkxYzM2ODkxZWViNWQ0MDU5N2QyNzU5NzYx
10
+ MDRkMDcyZmZhNTcyMGZkNTcyZTg1NjUzZmQyMzE3Y2I5MWZlODcxZTVkZTNl
11
+ MzMwNDZhM2YxMDZhZTRhM2JjNGU5NTgwY2I2ZmVjYmViNTI5NDc=
12
12
  data.tar.gz: !binary |-
13
- ZWQxNzI2M2E5MTk1ODZkNzZkNmRkMTY0ODU1NWUxYjdjNTViMjkwOWVjNzMz
14
- NGIxZWM4Zjg0NWE2ZWU0ZjQxMzM5NjA2MTJiZmRmYjBkYzQxZWRhZWEwZDcz
15
- YmNmNzc0ODMzM2U2MGM5YzI4NDMzMDVmMzJmOTM1M2VmNTA1N2I=
13
+ MzdhOTk5YjQ1NTI3ODNkYmM4M2YyMmI4NjNkYThmMjIzNTdlMWMxMTE0OGQ1
14
+ ZTI2YmQ3MDY3Nzc5YjBkOWY5NGM2NGI3YjdhZGI0YWIzOGMwMjg1NTU4MWU4
15
+ ODg1YzViOWI1ZjQ3NmNmMzIzYWFhMmYwNTU5MDA2M2U4NDQ3NzM=
data/.gitmodules CHANGED
@@ -16,3 +16,6 @@
16
16
  [submodule "submodules/jquery-scroll-to"]
17
17
  path = submodules/jquery-scroll-to
18
18
  url = https://github.com/benignware/jquery-scroll-to.git
19
+ [submodule "modules/jquery-touchclick"]
20
+ path = modules/jquery-touchclick
21
+ url = https://github.com/benignware/jquery-touchclick
@@ -1,7 +1,7 @@
1
1
  module Jquery
2
2
  module Benignware
3
3
  module Rails
4
- VERSION = "0.0.6"
4
+ VERSION = "0.0.7"
5
5
  end
6
6
  end
7
7
  end
@@ -1,2 +1,2 @@
1
1
 
2
- (function(f,c){console.info("init checkview plugin");var e="checkView";var g={containerClass:"checkview",iconClass:"icon-ok",autoSubmit:true};function a(k,h){if(h==k){return false}var j=k;try{while(j){if(k.ownerDocument!=null&&j==k.ownerDocument.documentElement){return false}if(j.parentNode==h){return true}if(j.parentNode==null){return false}j=j.parentNode}}catch(i){}return false}var b=function d(m,u){var h="click";var n=this;var r=m.ownerDocument;var i=f(m);m.tabIndex="-1";m.style.position="absolute";m.style.width="0";m.style.height="0";var p=f(m).next();var k=f(m).prev();var s=p&&p.tagName=="input"&&p.type=="hidden"?p:k&&k.tagName=="input"&&k.type=="hidden"?k:null;var q=f(m).parents("."+u.containerClass)[0];if(!q){q=r.createElement("span");m.parentNode.insertBefore(q,m)}q.tabIndex="0";q.className=u.containerClass;q.style.display="inline-block";q.style.lineHeight="0";q.style.cursor="pointer";var j=r.createElement("i");j.style.margin="0";j.className=u.iconClass;q.appendChild(j);function l(){m.checked=!m.checked;n.invalidate()}function t(){if(!m.value){m.value="on"}m.style.visibility="hidden";q.appendChild(m);j.style.verticalAlign="top";var v;f(q).bind("keypress",function(y){if(y.which==32){m.checked=!m.checked;n.invalidate()}if(y.which==13&&u.autoSubmit){if(m.form){m.form.submit()}}});f(m).bind("change",function(y){n.invalidate();c.clearTimeout(x)});f(q).parents("label").bind("click",function(y){if(y.target!=m&&y.target!=q&&!a(y.target,q)){y.stopImmediatePropagation();f(q).trigger("click")}});var x=null;function w(){m.checked=!m.checked;f(m).trigger("change")}f(q).bind("click",function(y){if(y.target!=m){c.clearTimeout(x);x=c.setTimeout(function(){w()},100);y.preventDefault()}});f(c).bind("resize",function(){n.invalidate()});this.invalidate()}function o(){if(m.checked){f(q).addClass("checked")}else{f(q).removeClass("checked")}j.style.visibility=m.checked?"":"hidden";j.style.position="relative";j.style.left=((f(q).width()-f(j).width())/2)+"px";j.style.top=((f(q).height()-f(j).height())/2)+"px"}this.setChecked=function(v){m.checked=v;if(v){f(m).attr("checked","checked")}else{f(m).removeAttr("checked")}this.invalidate()};this.isChecked=function(){return f(m).is(":checked")};this.invalidate=function(){o.call(this)};t.call(this)};f.fn[e]=function(h){h=f.extend({},g,h);return this.each(function(){if(!f(this).data(e)){f(this).data(e,new b(this,h))}return f(this)})}})(jQuery,window);
2
+ (function(e,b){var d="checkview";var f={buttonTag:"span",buttonClass:"btn btn-default btn-xs btn-mini btn-checkview",iconClass:"glyphicon glyphicon-ok icon-ok",submitOnKeyEnter:true};var a=function c(k,t){var g="click";var h=this;var o=k.ownerDocument;var r=e(k);k.tabIndex="-1";k.style.position="absolute";k.style.width="0";k.style.height="0";var m=e(k).next();var j=e(k).prev();var q=m&&m.tagName=="input"&&m.type=="hidden"?m:j&&j.tagName=="input"&&j.type=="hidden"?j:null;var n,p;var n=r.parents("."+t.buttonClass)[0];if(!n){n=o.createElement(t.buttonTag||"span");k.parentNode.insertBefore(n,k)}var p=e(n);n.tabIndex="0";n.className=t.buttonClass;n.style.display="inline-block";n.style.cursor="pointer";var i=o.createElement("i");i.className=t.iconClass;n.appendChild(i);function s(){if(!k.value){k.value="on"}k.style.visibility="hidden";n.appendChild(k);i.style.verticalAlign="top";var u;p.bind("keypress",function(x){if(x.which==32){k.checked=!k.checked;h.invalidate()}if(x.which==13&&t.submitOnKeyEnter){if(k.form){k.form.submit()}}});r.bind("change",function(x){h.invalidate();b.clearTimeout(w)});var w=null;function v(){k.checked=!k.checked;e(k).trigger("change")}e(b).bind("resize",function(){h.invalidate()});this.invalidate()}function l(){var v=e(n);if(k.checked){v.addClass("checked")}else{v.removeClass("checked")}var u=e(["margin-left"]);var w={};u.each(function(){var x=r.css(this);if(x){w[this]=x}});v.css(w);i.style.visibility=k.checked?"":"hidden";i.style.position="relative";i.style.left=((e(n).width()-e(i).width())/2)+"px";i.style.top=((e(n).height()-e(i).height())/2)+"px"}this.setChecked=function(u){k.checked=u;if(u){r.attr("checked","checked")}else{r.removeAttr("checked")}this.invalidate()};this.isChecked=function(){return e(k).is(":checked")};this.invalidate=function(){l.call(this)};s.call(this)};e.fn[d]=function(g){g=e.extend({},f,g);return this.each(function(){if(!e(this).data(d)){e(this).data(d,new a(this,g))}return e(this)})}})(jQuery,window);
@@ -1,42 +1,24 @@
1
1
 
2
2
  (function ( $, window) {
3
-
4
- console.info ('init checkview plugin');
5
3
 
6
- var pluginName = 'checkView';
4
+ var pluginName = 'checkview';
7
5
 
8
6
  var defaults = {
9
- 'containerClass': 'checkview',
10
- 'iconClass': 'icon-ok',
11
- 'autoSubmit': true
7
+ 'buttonTag': 'span',
8
+ 'buttonClass': 'btn btn-default btn-xs btn-mini btn-checkview',
9
+ 'iconClass': 'glyphicon glyphicon-ok icon-ok',
10
+ 'submitOnKeyEnter': true
12
11
  };
13
-
14
- // TODO: replace with jquery has
15
- function isChildOf(child, parent) {
16
- if (parent == child) return false;
17
- var c = child;
18
- try {
19
- while (c) {
20
- if (child.ownerDocument != null && c == child.ownerDocument.documentElement) return false;
21
- if (c.parentNode == parent) return true;
22
- if (c.parentNode == null) return false;
23
- c = c.parentNode;
24
- }
25
- } catch (e) {
26
- //console.error(e);
27
- }
28
- return false;
29
- }
30
-
12
+
31
13
  var pluginClass = function CheckView(element, options) {
32
-
14
+
33
15
  var eventType = 'click';
34
16
 
35
- var checkboxView = this;
17
+ var checkView = this;
36
18
 
37
19
  var doc = element.ownerDocument;
38
20
 
39
- var $elem = $(element);
21
+ var $element = $(element);
40
22
  element.tabIndex = "-1";
41
23
 
42
24
  element.style.position = 'absolute';
@@ -49,30 +31,27 @@
49
31
  : previousElement && previousElement.tagName == "input" && previousElement.type == "hidden" ? previousElement
50
32
  : null;
51
33
 
52
- var containerView = $(element).parents("." + options.containerClass)[0];
34
+ var containerView, $containerView;
35
+
36
+ var containerView = $element.parents("." + options.buttonClass)[0];
53
37
  if (!containerView) {
54
- containerView = doc.createElement('span');
38
+ containerView = doc.createElement(options.buttonTag || 'span');
55
39
  element.parentNode.insertBefore(containerView, element);
56
40
  }
41
+ var $containerView = $(containerView);
57
42
 
58
43
  containerView.tabIndex = "0";
59
- containerView.className = options.containerClass;
44
+ containerView.className = options.buttonClass;
60
45
  containerView.style.display = 'inline-block';
61
- containerView.style.lineHeight = "0";
62
46
  containerView.style.cursor = "pointer";
63
47
 
64
48
  var checkmarkIcon = doc.createElement('i');
65
- checkmarkIcon.style.margin = "0";
66
49
  checkmarkIcon.className = options.iconClass;
67
50
  containerView.appendChild(checkmarkIcon);
51
+
68
52
 
69
53
  // private methods
70
54
 
71
- function toggleCheckbox() {
72
- element.checked = !element.checked;
73
- checkboxView.invalidate();
74
- }
75
-
76
55
  function init() {
77
56
 
78
57
  if (!element.value) {
@@ -85,53 +64,34 @@
85
64
 
86
65
  var $label;
87
66
 
88
- $(containerView).bind('keypress', function(event) {
67
+ $containerView.bind('keypress', function(event) {
89
68
 
90
69
  if (event.which == 32) {
91
70
  element.checked = !element.checked;
92
- checkboxView.invalidate();
71
+ checkView.invalidate();
93
72
  }
94
73
 
95
- if (event.which == 13 && options.autoSubmit) {
74
+ if (event.which == 13 && options.submitOnKeyEnter) {
96
75
  if (element.form) {
97
76
  element.form.submit();
98
77
  }
99
78
  }
100
79
 
101
80
  });
102
-
103
-
104
- $(element).bind('change', function(event) {
105
- checkboxView.invalidate();
81
+
82
+ $element.bind('change', function(event) {
83
+ checkView.invalidate();
106
84
  window.clearTimeout(toggleClickTimeoutId);
107
85
  });
108
-
109
- $(containerView).parents('label').bind("click", function(event) {
110
- if (event.target != element && event.target != containerView && !isChildOf(event.target, containerView)) {
111
- event.stopImmediatePropagation();
112
- $(containerView).trigger('click');
113
- }
114
- });
115
86
 
116
- var toggleClickTimeoutId = null;
117
-
118
- function toggleClick() {
119
- element.checked = !element.checked;
120
- $(element).trigger('change');
121
- }
122
-
123
- $(containerView).bind("click", function(event) {
124
- if (event.target != element) {
125
- window.clearTimeout(toggleClickTimeoutId);
126
- toggleClickTimeoutId = window.setTimeout(function() {
127
- toggleClick();
128
- }, 100);
129
- event.preventDefault();
130
- };
131
- });
87
+ var toggleClickTimeoutId = null;
88
+ function toggleClick() {
89
+ element.checked = !element.checked;
90
+ $(element).trigger('change');
91
+ }
132
92
 
133
93
  $(window).bind('resize', function() {
134
- checkboxView.invalidate();
94
+ checkView.invalidate();
135
95
  });
136
96
 
137
97
  this.invalidate();
@@ -139,11 +99,20 @@
139
99
  };
140
100
 
141
101
  function layout() {
102
+ var $containerView = $(containerView);
142
103
  if (element.checked) {
143
- $(containerView).addClass('checked');
104
+ $containerView.addClass('checked');
144
105
  } else {
145
- $(containerView).removeClass('checked');
106
+ $containerView.removeClass('checked');
146
107
  }
108
+ var $copyStyles = $(['margin-left']);
109
+ var css = {};
110
+ $copyStyles.each(function() {
111
+ var value = $element.css(this);
112
+ if (value) css[this] = value;
113
+ });
114
+ $containerView.css(css);
115
+
147
116
  checkmarkIcon.style.visibility = element.checked ? '' : 'hidden';
148
117
  checkmarkIcon.style.position = 'relative';
149
118
  checkmarkIcon.style.left = (($(containerView).width() - $(checkmarkIcon).width()) / 2) + 'px';
@@ -155,9 +124,9 @@
155
124
  this.setChecked = function(bool) {
156
125
  element.checked = bool;
157
126
  if (bool) {
158
- $(element).attr('checked', 'checked');
127
+ $element.attr('checked', 'checked');
159
128
  } else {
160
- $(element).removeAttr('checked');
129
+ $element.removeAttr('checked');
161
130
  }
162
131
  this.invalidate();
163
132
  };
@@ -0,0 +1,106 @@
1
+
2
+ // Ensure private scope + aliases
3
+ (function ( $, window) {
4
+
5
+
6
+ /**
7
+ * jQuery-Plugin for viewport based font-sizing
8
+ *
9
+ * viewport-based font-scaling
10
+ *
11
+ */
12
+
13
+ var pluginName = 'responsiveText';
14
+
15
+ var defaults = {
16
+ 'fontSize': '',
17
+ 'minFontSize': '12px',
18
+ 'maxFontSize': '',
19
+ 'bindResize': true
20
+ };
21
+
22
+ var pluginClass = function ResponsiveText(element, options) {
23
+
24
+ var responsiveText = this;
25
+
26
+
27
+ // private methods
28
+
29
+ /* returns font-size in pixels */
30
+ function parseFontSize(string) {
31
+ if (!string) {
32
+ return 0;
33
+ }
34
+ var fontSize = 0;
35
+
36
+ var matches = string.match(/^(\d+(?:\.\d+)?)(.*)$/);
37
+
38
+ var value = matches ? matches[1] : "";
39
+ var unit = matches ? matches[2] : "";
40
+
41
+ switch (unit) {
42
+
43
+ case 'vw':
44
+ fontSize = $(window).innerWidth() / 100 * value;
45
+ break;
46
+
47
+ case 'vh':
48
+ fontSize = $(window).innerHeight() / 100 * value;
49
+ break;
50
+
51
+ default:
52
+ $(element).css('fontSize', value + unit);
53
+ fontSize = parseFloat($(element).css('fontSize'));
54
+ }
55
+
56
+ return !isNaN(fontSize) ? fontSize : 0;
57
+ }
58
+
59
+ function init() {
60
+
61
+ if (options.bindResize) {
62
+ $(window).bind('resize', function() {
63
+ responsiveText.invalidate();
64
+ });
65
+ }
66
+
67
+ this.invalidate();
68
+ }
69
+
70
+ // public methods
71
+
72
+ this.invalidate = function() {
73
+ var fontSize = parseFontSize(options.fontSize);
74
+ var minFontSize = parseFontSize(options.minFontSize);
75
+ var maxFontSize = parseFontSize(options.maxFontSize);
76
+ fontSize = minFontSize ? Math.max(fontSize, minFontSize) : fontSize;
77
+ fontSize = maxFontSize ? Math.min(fontSize, maxFontSize) : fontSize;
78
+ $(element).css('fontSize', fontSize + "px");
79
+ };
80
+
81
+ init.call(this);
82
+
83
+ };
84
+
85
+
86
+ // bootstrap plugin
87
+
88
+ $.fn[pluginName] = function(options) {
89
+
90
+ options = $.extend({}, defaults, options);
91
+
92
+ return this.each(function() {
93
+
94
+ if (!$(this).data(pluginName)) {
95
+
96
+ $(this).data(pluginName, new pluginClass(this, options));
97
+
98
+ }
99
+
100
+ return $(this);
101
+
102
+ });
103
+
104
+ };
105
+
106
+ })( jQuery, window );
@@ -0,0 +1,2 @@
1
+
2
+ (function(d,b){var c="responsiveText";var f={fontSize:"",minFontSize:"12px",maxFontSize:"",bindResize:true};var a=function e(i,h){var j=this;function g(l){if(!l){return 0}var p=0;var o=l.match(/^(\d+(?:\.\d+)?)(.*)$/);var n=o?o[1]:"";var m=o?o[2]:"";switch(m){case"vw":p=d(b).innerWidth()/100*n;break;case"vh":p=d(b).innerHeight()/100*n;break;default:d(i).css("fontSize",n+m);p=parseFloat(d(i).css("fontSize"))}return !isNaN(p)?p:0}function k(){if(h.bindResize){d(b).bind("resize",function(){j.invalidate()})}this.invalidate()}this.invalidate=function(){var n=g(h.fontSize);var m=g(h.minFontSize);var l=g(h.maxFontSize);n=m?Math.max(n,m):n;n=l?Math.min(n,l):n;d(i).css("fontSize",n+"px")};k.call(this)};d.fn[c]=function(g){g=d.extend({},f,g);return this.each(function(){if(!d(this).data(c)){d(this).data(c,new a(this,g))}return d(this)})}})(jQuery,window);
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jquery-benignware-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - rexblack
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-31 00:00:00.000000000 Z
11
+ date: 2014-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -52,6 +52,8 @@ files:
52
52
  - vendor/assets/javascripts/benignware/jquery.checkview.js
53
53
  - vendor/assets/javascripts/benignware/jquery.nativepicker.js
54
54
  - vendor/assets/javascripts/benignware/jquery.nativepicker.min.js
55
+ - vendor/assets/javascripts/benignware/jquery.responsive-text.js
56
+ - vendor/assets/javascripts/benignware/jquery.responsive-text.min.js
55
57
  - vendor/assets/javascripts/benignware/jquery.responsiveText.js
56
58
  - vendor/assets/javascripts/benignware/jquery.responsiveText.min.js
57
59
  - vendor/assets/javascripts/benignware/jquery.scroll-to.js