jquery-simplecolorpicker-rails 0.0.1 → 0.0.2
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
CHANGED
@@ -6,7 +6,8 @@
|
|
6
6
|
* Licensed under the MIT license.
|
7
7
|
*/
|
8
8
|
|
9
|
-
|
9
|
+
(function($) {
|
10
|
+
"use strict";
|
10
11
|
|
11
12
|
/**
|
12
13
|
* Constructor.
|
@@ -33,16 +34,16 @@
|
|
33
34
|
selected = 'class="selected"';
|
34
35
|
}
|
35
36
|
colorList += '<div ' + selected + ' title="' + title + '" style="background-color: ' + color + ';" role="button" tabindex="0">'
|
36
|
-
+ fakeText
|
37
|
-
'</div>';
|
37
|
+
+ fakeText
|
38
|
+
+ '</div>';
|
38
39
|
});
|
39
40
|
|
40
41
|
if (this.options.picker) {
|
41
42
|
var selectText = this.select.find('option:selected').text();
|
42
43
|
var selectValue = this.select.val();
|
43
44
|
this.icon = $('<span class="simplecolorpicker icon" title="' + selectText + '" style="background-color: ' + selectValue + ';" role="button" tabindex="0">'
|
44
|
-
+ fakeText
|
45
|
-
'</span>').insertAfter(this.select);
|
45
|
+
+ fakeText
|
46
|
+
+ '</span>').insertAfter(this.select);
|
46
47
|
this.icon.on('click', $.proxy(this.show, this));
|
47
48
|
|
48
49
|
this.picker = $('<span class="simplecolorpicker picker"></span>').appendTo(document.body);
|
@@ -57,7 +58,7 @@
|
|
57
58
|
this.inline.html(colorList);
|
58
59
|
this.inline.on('click', $.proxy(this.click, this));
|
59
60
|
}
|
60
|
-
}
|
61
|
+
};
|
61
62
|
|
62
63
|
/**
|
63
64
|
* SimpleColorPicker class.
|
@@ -82,31 +83,27 @@
|
|
82
83
|
|
83
84
|
click: function(e) {
|
84
85
|
var target = $(e.target);
|
85
|
-
if (target.length
|
86
|
-
|
87
|
-
|
86
|
+
if (target.length === 1) {
|
87
|
+
if (target[0].nodeName.toLowerCase() === 'div') {
|
88
88
|
// When you click on a color
|
89
|
-
case 'div':
|
90
|
-
var color = target.css('background-color');
|
91
|
-
var title = target.attr('title');
|
92
89
|
|
93
|
-
|
94
|
-
|
95
|
-
target.addClass('selected');
|
90
|
+
var color = target.css('background-color');
|
91
|
+
var title = target.attr('title');
|
96
92
|
|
97
|
-
|
98
|
-
|
99
|
-
|
93
|
+
// Mark this div as the selected one
|
94
|
+
target.siblings().removeClass('selected');
|
95
|
+
target.addClass('selected');
|
100
96
|
|
101
|
-
|
102
|
-
|
103
|
-
|
97
|
+
if (this.options.picker) {
|
98
|
+
this.icon.css('background-color', color);
|
99
|
+
this.icon.attr('title', title);
|
104
100
|
|
105
|
-
//
|
106
|
-
this.
|
107
|
-
|
108
|
-
break;
|
101
|
+
// Hide the picker
|
102
|
+
this.hide();
|
103
|
+
}
|
109
104
|
|
105
|
+
// Change select value
|
106
|
+
this.select.val(this.rgb2hex(color)).change();
|
110
107
|
}
|
111
108
|
}
|
112
109
|
},
|
@@ -125,29 +122,38 @@
|
|
125
122
|
* See http://stackoverflow.com/questions/1740700/get-hex-value-rather-than-rgb-value-using-jquery
|
126
123
|
*/
|
127
124
|
rgb2hex: function(rgb) {
|
128
|
-
rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
|
129
125
|
function hex(x) {
|
130
|
-
return ("0" + parseInt(x).toString(16)).slice(-2);
|
126
|
+
return ("0" + parseInt(x, 10).toString(16)).slice(-2);
|
127
|
+
}
|
128
|
+
|
129
|
+
var matches = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
|
130
|
+
if (matches === null) {
|
131
|
+
// Fix for Internet Explorer < 9
|
132
|
+
// Variable rgb is already a hexadecimal value
|
133
|
+
return rgb;
|
134
|
+
} else {
|
135
|
+
return "#" + hex(matches[1]) + hex(matches[2]) + hex(matches[3]);
|
131
136
|
}
|
132
|
-
return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
|
133
137
|
}
|
134
|
-
}
|
138
|
+
};
|
135
139
|
|
136
140
|
/**
|
137
141
|
* Plugin definition.
|
138
142
|
*/
|
139
143
|
$.fn.simplecolorpicker = function(option) {
|
140
144
|
// For HTML element passed to the plugin
|
141
|
-
return this.each(function
|
145
|
+
return this.each(function() {
|
142
146
|
var $this = $(this),
|
143
|
-
|
144
|
-
|
147
|
+
data = $this.data('simplecolorpicker'),
|
148
|
+
options = typeof option === 'object' && option;
|
145
149
|
if (!data) {
|
146
150
|
$this.data('simplecolorpicker', (data = new SimpleColorPicker(this, options)));
|
147
151
|
}
|
148
|
-
if (typeof option
|
152
|
+
if (typeof option === 'string') {
|
153
|
+
data[option]();
|
154
|
+
}
|
149
155
|
});
|
150
|
-
}
|
156
|
+
};
|
151
157
|
|
152
158
|
$.fn.simplecolorpicker.Constructor = SimpleColorPicker;
|
153
159
|
|
@@ -162,4 +168,4 @@
|
|
162
168
|
picker: false
|
163
169
|
};
|
164
170
|
|
165
|
-
}(
|
171
|
+
})(jQuery);
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jquery-simplecolorpicker-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-06-
|
12
|
+
date: 2012-06-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
16
|
-
requirement: &
|
16
|
+
requirement: &18918120 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: 3.1.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *18918120
|
25
25
|
description: simplecolorpicker jQuery plugin
|
26
26
|
email:
|
27
27
|
- tkrotoff@gmail.com
|
@@ -59,7 +59,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
59
59
|
version: '0'
|
60
60
|
requirements: []
|
61
61
|
rubyforge_project:
|
62
|
-
rubygems_version: 1.8.
|
62
|
+
rubygems_version: 1.8.16
|
63
63
|
signing_key:
|
64
64
|
specification_version: 3
|
65
65
|
summary: simplecolorpicker packaged for the Rails 3.1+ asset pipeline
|