rails-bootstrap-toggle-buttons 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
data/LICENSE.txt
CHANGED
File without changes
|
data/README.md
CHANGED
File without changes
|
File without changes
|
@@ -1,10 +1,13 @@
|
|
1
1
|
!function ($) {
|
2
2
|
"use strict";
|
3
|
-
// version: 2.
|
3
|
+
// version: 2.8.2
|
4
4
|
// by Mattia Larentis - follow me on twitter! @SpiritualGuru
|
5
5
|
|
6
6
|
var addToAttribute = function (obj, array, value) {
|
7
|
-
|
7
|
+
var i = 0
|
8
|
+
, length = array.length;
|
9
|
+
|
10
|
+
for (; i < length; i++) {
|
8
11
|
obj = obj[array[i]] = obj[array[i]] || i == ( length - 1) ? value : {}
|
9
12
|
}
|
10
13
|
};
|
@@ -12,6 +15,7 @@
|
|
12
15
|
$.fn.toggleButtons = function (method) {
|
13
16
|
var $element
|
14
17
|
, $div
|
18
|
+
, $cb
|
15
19
|
, transitionSpeed = 0.05
|
16
20
|
, methods = {
|
17
21
|
init: function (opt) {
|
@@ -31,7 +35,7 @@
|
|
31
35
|
|
32
36
|
if (i.indexOf("togglebutton") === 0) {
|
33
37
|
key = i.match(/[A-Z][a-z]+/g);
|
34
|
-
key =
|
38
|
+
key = $.map(key, function (n) {
|
35
39
|
return (n.toLowerCase());
|
36
40
|
});
|
37
41
|
|
@@ -48,12 +52,14 @@
|
|
48
52
|
$spanRight = $('<span></span>').addClass("labelRight").text(options.label.disabled === undefined ? "OFF " : options.label.disabled);
|
49
53
|
|
50
54
|
// html layout
|
51
|
-
$
|
55
|
+
$cb = $element.find('input:checkbox')
|
56
|
+
|
57
|
+
$div = $cb.wrap($('<div></div>')).parent();
|
52
58
|
$div.append($spanLeft);
|
53
|
-
$div.append($('<label></label>').attr('for', $
|
59
|
+
$div.append($('<label></label>').attr('for', $cb.attr('id') || ''));
|
54
60
|
$div.append($spanRight);
|
55
61
|
|
56
|
-
if ($
|
62
|
+
if ($cb.is(':checked'))
|
57
63
|
$element.find('>div').css('left', "0");
|
58
64
|
else $element.find('>div').css('left', "-50%");
|
59
65
|
|
@@ -85,7 +91,7 @@
|
|
85
91
|
.filter('span')
|
86
92
|
.css('line-height', options.height + "px");
|
87
93
|
|
88
|
-
if ($
|
94
|
+
if ($cb.is(':disabled'))
|
89
95
|
$(this).addClass('deactivate');
|
90
96
|
|
91
97
|
$element.find('span').css(options.font);
|
@@ -98,6 +104,7 @@
|
|
98
104
|
if (options.style.custom.enabled.gradient === undefined)
|
99
105
|
$spanLeft.css('background', options.style.custom.enabled.background);
|
100
106
|
else $.each(["-webkit-", "-moz-", "-o-", ""], function (i, el) {
|
107
|
+
$spanLeft.css('background-color', options.style.custom.enabled.background);
|
101
108
|
$spanLeft.css('background-image', el + 'linear-gradient(top, ' + options.style.custom.enabled.background + ',' + options.style.custom.enabled.gradient + ')');
|
102
109
|
});
|
103
110
|
}
|
@@ -111,6 +118,7 @@
|
|
111
118
|
if (options.style.custom.disabled.gradient === undefined)
|
112
119
|
$spanRight.css('background', options.style.custom.disabled.background);
|
113
120
|
else $.each(["-webkit-", "-moz-", "-o-", ""], function (i, el) {
|
121
|
+
$spanRight.css('background-color', options.style.custom.disabled.background);
|
114
122
|
$spanRight.css('background-image', el + 'linear-gradient(top, ' + options.style.custom.disabled.background + ',' + options.style.custom.disabled.gradient + ')');
|
115
123
|
});
|
116
124
|
}
|
@@ -118,7 +126,10 @@
|
|
118
126
|
else $spanRight.addClass(options.style.disabled);
|
119
127
|
|
120
128
|
var changeStatus = function ($this) {
|
121
|
-
$this.siblings('label')
|
129
|
+
$this.siblings('label')
|
130
|
+
.trigger('mousedown')
|
131
|
+
.trigger('mouseup')
|
132
|
+
.trigger('click');
|
122
133
|
};
|
123
134
|
|
124
135
|
$spanLeft.on('click', function (e) {
|
@@ -128,50 +139,51 @@
|
|
128
139
|
changeStatus($(this));
|
129
140
|
});
|
130
141
|
|
131
|
-
$
|
142
|
+
$element.find('input:checkbox').on('change', function (e, skipOnChange) {
|
132
143
|
var $element = $(this).parent()
|
133
144
|
, active = $(this).is(':checked')
|
134
145
|
, $toggleButton = $(this).closest('.toggle-button');
|
135
146
|
|
136
|
-
e.preventDefault();
|
137
|
-
e.stopImmediatePropagation();
|
138
|
-
|
139
147
|
$element.stop().animate({'left': active ? '0' : '-50%'}, $toggleButton.data('transitionSpeed'));
|
140
148
|
|
141
149
|
options = $toggleButton.data('options');
|
142
|
-
|
150
|
+
|
151
|
+
if (!skipOnChange)
|
152
|
+
options.onChange($element, active, e);
|
143
153
|
});
|
144
154
|
|
145
|
-
$
|
155
|
+
$element.find('label').on('mousedown touchstart', function (e) {
|
146
156
|
moving = false;
|
147
|
-
|
148
157
|
e.preventDefault();
|
149
158
|
e.stopImmediatePropagation();
|
150
159
|
|
151
160
|
if ($(this).closest('.toggle-button').is('.deactivate'))
|
152
|
-
$(this).
|
161
|
+
$(this).off('click');
|
153
162
|
else {
|
154
|
-
$(this).on('mousemove', function (e) {
|
163
|
+
$(this).on('mousemove touchmove', function (e) {
|
155
164
|
var $element = $(this).closest('.toggle-button')
|
156
|
-
, relativeX = e.pageX - $element.offset().left
|
165
|
+
, relativeX = (e.pageX || e.originalEvent.targetTouches[0].pageX) - $element.offset().left
|
157
166
|
, percent = ((relativeX / (options.width * 2)) * 100);
|
158
167
|
moving = true;
|
159
168
|
|
169
|
+
e.stopImmediatePropagation();
|
170
|
+
e.preventDefault();
|
171
|
+
|
160
172
|
if (percent < 25)
|
161
173
|
percent = 25;
|
162
174
|
else if (percent > 75)
|
163
175
|
percent = 75;
|
164
176
|
|
165
|
-
$element.find('>div').css('left', (percent - 75) + "%")
|
177
|
+
$element.find('>div').css('left', (percent - 75) + "%");
|
166
178
|
});
|
167
179
|
|
168
|
-
$(this).on('click', function (e) {
|
180
|
+
$(this).on('click touchend', function (e) {
|
169
181
|
var $target = $(e.target)
|
170
|
-
, $myCheckBox = $target.siblings('input');
|
182
|
+
, $myCheckBox = $target.siblings('input:checkbox');
|
171
183
|
|
172
184
|
e.stopImmediatePropagation();
|
173
185
|
e.preventDefault();
|
174
|
-
$(this).
|
186
|
+
$(this).off('mouseleave');
|
175
187
|
|
176
188
|
if (moving)
|
177
189
|
if (parseInt($(this).parent().css('left')) < -25)
|
@@ -183,12 +195,12 @@
|
|
183
195
|
});
|
184
196
|
|
185
197
|
$(this).on('mouseleave', function (e) {
|
186
|
-
var $myCheckBox = $(this).siblings('input');
|
198
|
+
var $myCheckBox = $(this).siblings('input:checkbox');
|
187
199
|
|
188
200
|
e.preventDefault();
|
189
201
|
e.stopImmediatePropagation();
|
190
202
|
|
191
|
-
$(this).
|
203
|
+
$(this).off('mouseleave');
|
192
204
|
$(this).trigger('mouseup');
|
193
205
|
|
194
206
|
if (parseInt($(this).parent().css('left')) < -25)
|
@@ -201,16 +213,39 @@
|
|
201
213
|
$(this).on('mouseup', function (e) {
|
202
214
|
e.stopImmediatePropagation();
|
203
215
|
e.preventDefault();
|
204
|
-
$(this).
|
216
|
+
$(this).off('mousemove');
|
205
217
|
});
|
206
218
|
}
|
207
219
|
});
|
208
220
|
}
|
209
|
-
)
|
210
|
-
;
|
221
|
+
);
|
222
|
+
return this;
|
211
223
|
},
|
212
224
|
toggleActivation: function () {
|
213
225
|
$(this).toggleClass('deactivate');
|
226
|
+
},
|
227
|
+
toggleState: function (skipOnChange) {
|
228
|
+
var $input = $(this).find('input:checkbox');
|
229
|
+
$input.attr('checked', !$input.is(':checked')).trigger('change', skipOnChange);
|
230
|
+
},
|
231
|
+
setState: function(value, skipOnChange) {
|
232
|
+
$(this).find('input:checkbox').attr('checked', value).trigger('change', skipOnChange);
|
233
|
+
},
|
234
|
+
status: function () {
|
235
|
+
return $(this).find('input:checkbox').is(':checked');
|
236
|
+
},
|
237
|
+
destroy: function () {
|
238
|
+
var $div = $(this).find('div')
|
239
|
+
, $checkbox;
|
240
|
+
|
241
|
+
$div.find(':not(input:checkbox)').remove();
|
242
|
+
|
243
|
+
$checkbox = $div.children();
|
244
|
+
$checkbox.unwrap().unwrap();
|
245
|
+
|
246
|
+
$checkbox.unbind('change');
|
247
|
+
|
248
|
+
return $checkbox;
|
214
249
|
}
|
215
250
|
};
|
216
251
|
|
@@ -219,7 +254,7 @@
|
|
219
254
|
else if (typeof method === 'object' || !method)
|
220
255
|
return methods.init.apply(this, arguments);
|
221
256
|
else
|
222
|
-
$.error('Method ' + method + ' does not exist
|
257
|
+
$.error('Method ' + method + ' does not exist!');
|
223
258
|
};
|
224
259
|
|
225
260
|
$.fn.toggleButtons.defaults = {
|
@@ -251,4 +286,4 @@
|
|
251
286
|
}
|
252
287
|
}
|
253
288
|
};
|
254
|
-
}(
|
289
|
+
}(jQuery);
|
@@ -96,60 +96,60 @@
|
|
96
96
|
-webkit-border-bottom-right-radius: 4px;
|
97
97
|
border-bottom-right-radius: 4px;
|
98
98
|
color: black;
|
99
|
-
background-image: -webkit-gradient(linear, 50%
|
100
|
-
background-image: -webkit-linear-gradient(
|
101
|
-
background-image: -moz-linear-gradient(
|
102
|
-
background-image: -o-linear-gradient(
|
103
|
-
background-image: linear-gradient(
|
99
|
+
background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #fefefe), color-stop(100%, #e6e6e6));
|
100
|
+
background-image: -webkit-linear-gradient(bottom, #fefefe, #e6e6e6);
|
101
|
+
background-image: -moz-linear-gradient(bottom, #fefefe, #e6e6e6);
|
102
|
+
background-image: -o-linear-gradient(bottom, #fefefe, #e6e6e6);
|
103
|
+
background-image: linear-gradient(bottom, #fefefe, #e6e6e6);
|
104
104
|
padding-right: 3px;
|
105
105
|
}
|
106
106
|
/* line 91, ../sass/bootstrap-toggle-buttons.scss */
|
107
107
|
.toggle-button span.primary, .toggle-button span.labelLeft {
|
108
108
|
color: #fefefe;
|
109
109
|
background: #0088cc;
|
110
|
-
background-image: -webkit-gradient(linear, 50%
|
111
|
-
background-image: -webkit-linear-gradient(
|
112
|
-
background-image: -moz-linear-gradient(
|
113
|
-
background-image: -o-linear-gradient(
|
114
|
-
background-image: linear-gradient(
|
110
|
+
background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #0088cc), color-stop(100%, #0055cc));
|
111
|
+
background-image: -webkit-linear-gradient(bottom, #0088cc, #0055cc);
|
112
|
+
background-image: -moz-linear-gradient(bottom, #0088cc, #0055cc);
|
113
|
+
background-image: -o-linear-gradient(bottom, #0088cc, #0055cc);
|
114
|
+
background-image: linear-gradient(bottom, #0088cc, #0055cc);
|
115
115
|
}
|
116
116
|
/* line 96, ../sass/bootstrap-toggle-buttons.scss */
|
117
117
|
.toggle-button span.info {
|
118
118
|
color: #fefefe;
|
119
119
|
background: #5bc0de;
|
120
|
-
background-image: -webkit-gradient(linear, 50%
|
121
|
-
background-image: -webkit-linear-gradient(
|
122
|
-
background-image: -moz-linear-gradient(
|
123
|
-
background-image: -o-linear-gradient(
|
124
|
-
background-image: linear-gradient(
|
120
|
+
background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #5bc0de), color-stop(100%, #2f96b4));
|
121
|
+
background-image: -webkit-linear-gradient(bottom, #5bc0de, #2f96b4);
|
122
|
+
background-image: -moz-linear-gradient(bottom, #5bc0de, #2f96b4);
|
123
|
+
background-image: -o-linear-gradient(bottom, #5bc0de, #2f96b4);
|
124
|
+
background-image: linear-gradient(bottom, #5bc0de, #2f96b4);
|
125
125
|
}
|
126
126
|
/* line 102, ../sass/bootstrap-toggle-buttons.scss */
|
127
127
|
.toggle-button span.success {
|
128
128
|
color: #fefefe;
|
129
129
|
background: #62c462;
|
130
|
-
background-image: -webkit-gradient(linear, 50%
|
131
|
-
background-image: -webkit-linear-gradient(
|
132
|
-
background-image: -moz-linear-gradient(
|
133
|
-
background-image: -o-linear-gradient(
|
134
|
-
background-image: linear-gradient(
|
130
|
+
background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #62c462), color-stop(100%, #51a351));
|
131
|
+
background-image: -webkit-linear-gradient(bottom, #62c462, #51a351);
|
132
|
+
background-image: -moz-linear-gradient(bottom, #62c462, #51a351);
|
133
|
+
background-image: -o-linear-gradient(bottom, #62c462, #51a351);
|
134
|
+
background-image: linear-gradient(bottom, #62c462, #51a351);
|
135
135
|
}
|
136
136
|
/* line 108, ../sass/bootstrap-toggle-buttons.scss */
|
137
137
|
.toggle-button span.warning {
|
138
138
|
color: #fefefe;
|
139
139
|
background: #dbb450;
|
140
|
-
background-image: -webkit-gradient(linear, 50%
|
141
|
-
background-image: -webkit-linear-gradient(
|
142
|
-
background-image: -moz-linear-gradient(
|
143
|
-
background-image: -o-linear-gradient(
|
144
|
-
background-image: linear-gradient(
|
140
|
+
background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #dbb450), color-stop(100%, #f89406));
|
141
|
+
background-image: -webkit-linear-gradient(bottom, #dbb450, #f89406);
|
142
|
+
background-image: -moz-linear-gradient(bottom, #dbb450, #f89406);
|
143
|
+
background-image: -o-linear-gradient(bottom, #dbb450, #f89406);
|
144
|
+
background-image: linear-gradient(bottom, #dbb450, #f89406);
|
145
145
|
}
|
146
146
|
/* line 114, ../sass/bootstrap-toggle-buttons.scss */
|
147
147
|
.toggle-button span.danger {
|
148
148
|
color: #fefefe;
|
149
149
|
background: #ee5f5b;
|
150
|
-
background-image: -webkit-gradient(linear, 50%
|
151
|
-
background-image: -webkit-linear-gradient(
|
152
|
-
background-image: -moz-linear-gradient(
|
153
|
-
background-image: -o-linear-gradient(
|
154
|
-
background-image: linear-gradient(
|
155
|
-
}
|
150
|
+
background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #ee5f5b), color-stop(100%, #bd362f));
|
151
|
+
background-image: -webkit-linear-gradient(bottom, #ee5f5b, #bd362f);
|
152
|
+
background-image: -moz-linear-gradient(bottom, #ee5f5b, #bd362f);
|
153
|
+
background-image: -o-linear-gradient(bottom, #ee5f5b, #bd362f);
|
154
|
+
background-image: linear-gradient(bottom, #ee5f5b, #bd362f);
|
155
|
+
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails-bootstrap-toggle-buttons
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-01-11 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Just providing the bootstrap-toggle-buttons from https://github.com/nostalgiaz/bootstrap-toggle-buttons
|
15
15
|
into a gem.
|
@@ -20,8 +20,8 @@ extensions: []
|
|
20
20
|
extra_rdoc_files: []
|
21
21
|
files:
|
22
22
|
- lib/rails-bootstrap-toggle-buttons.rb
|
23
|
-
- vendor/assets/javascripts/bootstrap-toggle-buttons.js
|
24
23
|
- vendor/assets/stylesheets/bootstrap-toggle-buttons.css
|
24
|
+
- vendor/assets/javascripts/bootstrap-toggle-buttons.js
|
25
25
|
- LICENSE.txt
|
26
26
|
- README.md
|
27
27
|
homepage: https://github.com/caarlos0/rails-bootstrap-toggle-buttons.git
|
@@ -44,7 +44,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
44
44
|
version: '0'
|
45
45
|
requirements: []
|
46
46
|
rubyforge_project:
|
47
|
-
rubygems_version: 1.8.
|
47
|
+
rubygems_version: 1.8.23
|
48
48
|
signing_key:
|
49
49
|
specification_version: 3
|
50
50
|
summary: A simple gem for https://github.com/nostalgiaz/bootstrap-toggle-buttons
|