wcolorpicker-rails 1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/README.md +22 -0
- data/Rakefile +2 -0
- data/lib/wcolorpicker-rails.rb +8 -0
- data/lib/wcolorpicker-rails/version.rb +5 -0
- data/vendor/assets/javascripts/wcolorpicker.js +357 -0
- data/vendor/assets/stylesheets/wcolorpicker.css +70 -0
- data/wcolorpicker-rails.gemspec +17 -0
- metadata +73 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
# Websanova Color Picker for Rails
|
2
|
+
|
3
|
+
This gem vendors the Websanova Color Picker jQuery plugin assets for Rails 3.1 and greater.
|
4
|
+
The files will be added to the asset pipeline and available for you to use.
|
5
|
+
|
6
|
+
For info on how to use the plugin see the original documentation:
|
7
|
+
|
8
|
+
[Websanova Color Picker](http://www.websanova.com/plugins/websanova/color-picker)
|
9
|
+
|
10
|
+
## Installation
|
11
|
+
|
12
|
+
In your Gemfile, add this line:
|
13
|
+
|
14
|
+
gem 'wcolorpicker-rails'
|
15
|
+
|
16
|
+
You can include it by adding the following to your javascript file:
|
17
|
+
|
18
|
+
//= require wcolorpicker
|
19
|
+
|
20
|
+
And to the css file:
|
21
|
+
|
22
|
+
*= require wcolorpicker
|
data/Rakefile
ADDED
@@ -0,0 +1,357 @@
|
|
1
|
+
/******************************************
|
2
|
+
* Websanova.com
|
3
|
+
*
|
4
|
+
* Resources for web entrepreneurs
|
5
|
+
*
|
6
|
+
* @author Websanova
|
7
|
+
* @copyright Copyright (c) 2012 Websanova.
|
8
|
+
* @license This websanova color picker jQuery plug-in is dual licensed under the MIT and GPL licenses.
|
9
|
+
* @link http://www.websanova.com
|
10
|
+
* @docs http://www.websanova.com/plugins/websanova/color-picker
|
11
|
+
* @version Version 1.1
|
12
|
+
*
|
13
|
+
******************************************/
|
14
|
+
(function($)
|
15
|
+
{
|
16
|
+
var defaultSettings = {
|
17
|
+
color : 'black', // colors - black, white, cream, red, green, blue, yellow, orange, plum
|
18
|
+
opacity : 0.8, // opacity level
|
19
|
+
initColor : '#FF0000', // initial colour to set palette to
|
20
|
+
mode : 'flat', // flat mode inserts the palette to container, other modes insert button into container - hover, click
|
21
|
+
buttonSize : 20, // size of button if mode is ohter than flat
|
22
|
+
effect : 'slide', // none/slide/fade
|
23
|
+
showSpeed : 500, // time to run the effects on show
|
24
|
+
hideSpeed : 500, // time to run the effects on hide
|
25
|
+
onMouseover : null, // function to run when palette color is moused over
|
26
|
+
onMouseout : null, // function to run when palette color is moused out
|
27
|
+
onSelect : null // function to run when palette color is selected
|
28
|
+
};
|
29
|
+
|
30
|
+
$.fn.wColorPicker = function(settings)
|
31
|
+
{
|
32
|
+
settings = $.extend({}, defaultSettings, settings || {});
|
33
|
+
|
34
|
+
return this.each(function()
|
35
|
+
{
|
36
|
+
var elem = $(this);
|
37
|
+
|
38
|
+
var cp = new ColorPicker(settings);
|
39
|
+
|
40
|
+
cp.generate();
|
41
|
+
|
42
|
+
cp.appendToElement(elem);
|
43
|
+
|
44
|
+
cp.colorSelect(cp, settings.initColor);
|
45
|
+
});
|
46
|
+
};
|
47
|
+
|
48
|
+
/**
|
49
|
+
* ColorPicker class definition
|
50
|
+
*/
|
51
|
+
function ColorPicker(settings)
|
52
|
+
{
|
53
|
+
this.colorPicker = null;
|
54
|
+
this.settings = settings;
|
55
|
+
this.currentColor = settings.initColor;
|
56
|
+
|
57
|
+
this.height = null; // init this, need to get height/width proper while element is still showing
|
58
|
+
this.width = null;
|
59
|
+
this.slideTopToBottom = null; // used to assist with sliding in proper direction
|
60
|
+
|
61
|
+
this.customTarget = null;
|
62
|
+
this.buttonColor = null;
|
63
|
+
this.paletteHolder = null;
|
64
|
+
|
65
|
+
return this;
|
66
|
+
}
|
67
|
+
|
68
|
+
ColorPicker.prototype =
|
69
|
+
{
|
70
|
+
generate: function ()
|
71
|
+
{
|
72
|
+
if(this.colorPicker) return this.colorPicker;
|
73
|
+
|
74
|
+
var $this = this;
|
75
|
+
|
76
|
+
var clearFloats = {clear: 'both', height: 0, lineHeight: 0, fontSize: 0};
|
77
|
+
|
78
|
+
//custom colors
|
79
|
+
this.customTarget = $('<div class="_wColorPicker_customTarget"></div>');
|
80
|
+
this.customInput =
|
81
|
+
$('<input type="text" class="_wColorPicker_customInput" value=""/>').keyup(function(e)
|
82
|
+
{
|
83
|
+
var code = (e.keyCode ? e.keyCode : e.which);
|
84
|
+
|
85
|
+
var hex = $this.validHex($(this).val());
|
86
|
+
|
87
|
+
$(this).val(hex)
|
88
|
+
|
89
|
+
//auto set color in target if it's valid hex code
|
90
|
+
if(hex.length == 7) $this.customTarget.css('backgroundColor', hex);
|
91
|
+
|
92
|
+
if(code == 13)//set color if user hits enter while on input
|
93
|
+
{
|
94
|
+
$this.colorSelect($this, $(this).val());
|
95
|
+
if($this.buttonColor) $this.hidePalette($this)
|
96
|
+
}
|
97
|
+
})
|
98
|
+
.click(function(e){e.stopPropagation();});
|
99
|
+
|
100
|
+
//setup custom area
|
101
|
+
var custom =
|
102
|
+
$('<div class="_wColorPicker_custom"></div>')
|
103
|
+
.append(this.appendColors($('<div class="_wColorPicker_noColor">'), ['transparent'], 1))
|
104
|
+
.append(this.customTarget)
|
105
|
+
.append(this.customInput)
|
106
|
+
//clear floats
|
107
|
+
.append($('<div></div>').css(clearFloats))
|
108
|
+
|
109
|
+
//grays/simple palette
|
110
|
+
var simpleColors = ['000000', '333333', '666666', '999999', 'CCCCCC', 'FFFFFF', 'FF0000', '00FF00', '0000FF', 'FFFF00', '00FFFF', 'FF00FF'];
|
111
|
+
var simplePalette = this.appendColors($('<div class="_wColorPicker_palette_simple"></div>'), simpleColors, 1);
|
112
|
+
|
113
|
+
//colors palette
|
114
|
+
var mixedColors = [
|
115
|
+
'000000', '003300', '006600', '009900', '00CC00', '00FF00', '330000', '333300', '336600', '339900', '33CC00', '33FF00', '660000', '663300', '666600', '669900', '66CC00', '66FF00',
|
116
|
+
'000033', '003333', '006633', '009933', '00CC33', '00FF33', '330033', '333333', '336633', '339933', '33CC33', '33FF33', '660033', '663333', '666633', '669933', '66CC33', '66FF33',
|
117
|
+
'000066', '003366', '006666', '009966', '00CC66', '00FF66', '330066', '333366', '336666', '339966', '33CC66', '33FF66', '660066', '663366', '666666', '669966', '66CC66', '66FF66',
|
118
|
+
'000099', '003399', '006699', '009999', '00CC99', '00FF99', '330099', '333399', '336699', '339999', '33CC99', '33FF99', '660099', '663399', '666699', '669999', '66CC99', '66FF99',
|
119
|
+
'0000CC', '0033CC', '0066CC', '0099CC', '00CCCC', '00FFCC', '3300CC', '3333CC', '3366CC', '3399CC', '33CCCC', '33FFCC', '6600CC', '6633CC', '6666CC', '6699CC', '66CCCC', '66FFCC',
|
120
|
+
'0000FF', '0033FF', '0066FF', '0099FF', '00CCFF', '00FFFF', '3300FF', '3333FF', '3366FF', '3399FF', '33CCFF', '33FFFF', '6600FF', '6633FF', '6666FF', '6699FF', '66CCFF', '66FFFF',
|
121
|
+
'990000', '993300', '996600', '999900', '99CC00', '99FF00', 'CC0000', 'CC3300', 'CC6600', 'CC9900', 'CCCC00', 'CCFF00', 'FF0000', 'FF3300', 'FF6600', 'FF9900', 'FFCC00', 'FFFF00',
|
122
|
+
'990033', '993333', '996633', '999933', '99CC33', '99FF33', 'CC0033', 'CC3333', 'CC6633', 'CC9933', 'CCCC33', 'CCFF33', 'FF0033', 'FF3333', 'FF6633', 'FF9933', 'FFCC33', 'FFFF33',
|
123
|
+
'990066', '993366', '996666', '999966', '99CC66', '99FF66', 'CC0066', 'CC3366', 'CC6666', 'CC9966', 'CCCC66', 'CCFF66', 'FF0066', 'FF3366', 'FF6666', 'FF9966', 'FFCC66', 'FFFF66',
|
124
|
+
'990099', '993399', '996699', '999999', '99CC99', '99FF99', 'CC0099', 'CC3399', 'CC6699', 'CC9999', 'CCCC99', 'CCFF99', 'FF0099', 'FF3399', 'FF6699', 'FF9999', 'FFCC99', 'FFFF99',
|
125
|
+
'9900CC', '9933CC', '9966CC', '9999CC', '99CCCC', '99FFCC', 'CC00CC', 'CC33CC', 'CC66CC', 'CC99CC', 'CCCCCC', 'CCFFCC', 'FF00CC', 'FF33CC', 'FF66CC', 'FF99CC', 'FFCCCC', 'FFFFCC',
|
126
|
+
'9900FF', '9933FF', '9966FF', '9999FF', '99CCFF', '99FFFF', 'CC00FF', 'CC33FF', 'CC66FF', 'CC99FF', 'CCCCFF', 'CCFFFF', 'FF00FF', 'FF33FF', 'FF66FF', 'FF99FF', 'FFCCFF', 'FFFFFF',
|
127
|
+
];
|
128
|
+
var mixedPalette = this.appendColors($('<div class="_wColorPicker_palette_mixed"></div>'), mixedColors, 18);
|
129
|
+
|
130
|
+
//palette container
|
131
|
+
var bg = $('<div class="_wColorPicker_bg"></div>').css({opacity: this.settings.opacity});
|
132
|
+
var content =
|
133
|
+
$('<div class="_wColorPicker_content"></div>')
|
134
|
+
.append(custom)
|
135
|
+
.append(simplePalette)
|
136
|
+
.append(mixedPalette)
|
137
|
+
.append($('<div></div>').css(clearFloats));
|
138
|
+
|
139
|
+
//put it all together
|
140
|
+
this.colorPicker =
|
141
|
+
$('<div class="_wColorPicker_holder"></div>')
|
142
|
+
.click(function(e){e.stopPropagation();})
|
143
|
+
.append(
|
144
|
+
$('<div class="_wColorPicker_outer"></div>')
|
145
|
+
.append(
|
146
|
+
$('<div class="_wColorPicker_inner"></div>')
|
147
|
+
.append( bg )
|
148
|
+
.append( content )
|
149
|
+
)
|
150
|
+
)
|
151
|
+
.addClass('_wColorPicker_' + this.settings.color)
|
152
|
+
|
153
|
+
return this.colorPicker;
|
154
|
+
},
|
155
|
+
|
156
|
+
appendColors: function($palette, colors, lineCount)
|
157
|
+
{
|
158
|
+
var counter = 1;
|
159
|
+
var $this = this;
|
160
|
+
|
161
|
+
for(index in colors)
|
162
|
+
{
|
163
|
+
$palette.append(
|
164
|
+
$('<div id="_wColorPicker_color_' + counter + '" class="_wColorPicker_color _wColorPicker_color_' + counter + '"></div>').css('backgroundColor', '#' + colors[index])
|
165
|
+
.click(function(){$this.colorSelect($this, $(this).css('backgroundColor'));})
|
166
|
+
.mouseout(function(e){$this.colorHoverOff($this, $(this));})
|
167
|
+
.mouseover(function(){$this.colorHoverOn($this, $(this));})
|
168
|
+
);
|
169
|
+
|
170
|
+
if(counter == lineCount)
|
171
|
+
{
|
172
|
+
$palette.append($('<div></div>').css({clear:'both', height:0, fontSize:0, lineHeight:0, marginTop:-1}))
|
173
|
+
counter = 0;
|
174
|
+
}
|
175
|
+
|
176
|
+
counter++;
|
177
|
+
}
|
178
|
+
|
179
|
+
return $palette;
|
180
|
+
},
|
181
|
+
|
182
|
+
colorSelect: function($this, color)
|
183
|
+
{
|
184
|
+
color = $this.toHex(color);;
|
185
|
+
|
186
|
+
$this.customTarget.css('backgroundColor', color);
|
187
|
+
$this.currentColor = color;
|
188
|
+
$this.customInput.val(color);
|
189
|
+
|
190
|
+
if($this.settings.onSelect) $this.settings.onSelect(color);
|
191
|
+
|
192
|
+
if($this.buttonColor)
|
193
|
+
{
|
194
|
+
$this.buttonColor.css('backgroundColor', color);
|
195
|
+
$this.hidePalette($this);
|
196
|
+
}
|
197
|
+
},
|
198
|
+
|
199
|
+
colorHoverOn: function($this, $element)
|
200
|
+
{
|
201
|
+
$element.parent().children('active').removeClass('active');
|
202
|
+
$element.addClass('active').next().addClass('activeLeft');
|
203
|
+
$element.nextAll('.' + $element.attr('id') + ':first').addClass('activeTop');
|
204
|
+
|
205
|
+
var color = $this.toHex($element.css('backgroundColor'));
|
206
|
+
|
207
|
+
$this.customTarget.css('backgroundColor', color);
|
208
|
+
$this.customInput.val(color);
|
209
|
+
|
210
|
+
if($this.settings.onMouseover) $this.settings.onMouseover(color);
|
211
|
+
},
|
212
|
+
|
213
|
+
colorHoverOff: function($this, $element)
|
214
|
+
{
|
215
|
+
$element.removeClass('active').next().removeClass('activeLeft')
|
216
|
+
$element.nextAll('.' + $element.attr('id') + ':first').removeClass('activeTop')
|
217
|
+
|
218
|
+
$this.customTarget.css('backgroundColor', $this.currentColor);
|
219
|
+
$this.customInput.val($this.currentColor);
|
220
|
+
|
221
|
+
if($this.settings.onMouseout) $this.settings.onMouseout($this.currentColor);
|
222
|
+
},
|
223
|
+
|
224
|
+
appendToElement: function($element)
|
225
|
+
{
|
226
|
+
var $this = this;
|
227
|
+
|
228
|
+
if($this.settings.mode == 'flat') $element.append($this.colorPicker);
|
229
|
+
else
|
230
|
+
{
|
231
|
+
//setup button
|
232
|
+
$this.paletteHolder = $('<div class="_wColorPicker_paletteHolder"></div>').css({position: 'absolute', overflow: 'hidden', width: 1000}).append($this.colorPicker);
|
233
|
+
|
234
|
+
$this.buttonColor = $('<div class="_wColorPicker_buttonColor"></div>').css({width: $this.settings.buttonSize, height: $this.settings.buttonSize});
|
235
|
+
|
236
|
+
var buttonHolder =
|
237
|
+
$('<div class="_wColorPicker_buttonHolder"></div>')
|
238
|
+
.css({position: 'relative'})
|
239
|
+
.append($('<div class="_wColorPicker_buttonBorder"></div>').append($this.buttonColor))
|
240
|
+
.append($this.paletteHolder);
|
241
|
+
|
242
|
+
$element.append(buttonHolder);
|
243
|
+
|
244
|
+
$this.width = $this.colorPicker.outerWidth();
|
245
|
+
$this.height = $this.colorPicker.outerHeight();
|
246
|
+
$this.paletteHolder.css({width: $this.width, height: $this.height}).hide();
|
247
|
+
|
248
|
+
//setup events
|
249
|
+
if($this.settings.mode == 'hover')
|
250
|
+
{
|
251
|
+
buttonHolder.hover(
|
252
|
+
function(e){$this.showPalette(e, $this);},
|
253
|
+
function(e){$this.hidePalette($this);}
|
254
|
+
)
|
255
|
+
}
|
256
|
+
else if($this.settings.mode == 'click')
|
257
|
+
{
|
258
|
+
$(document).click(function(){if($this.paletteHolder.hasClass('active'))$this.hidePalette($this);});
|
259
|
+
|
260
|
+
buttonHolder
|
261
|
+
.click(function(e)
|
262
|
+
{
|
263
|
+
e.stopPropagation();
|
264
|
+
$this.paletteHolder.hasClass('active') ? $this.hidePalette($this) : $this.showPalette(e, $this);
|
265
|
+
});
|
266
|
+
}
|
267
|
+
|
268
|
+
$this.colorSelect($this, $this.settings.initColor);
|
269
|
+
}
|
270
|
+
},
|
271
|
+
|
272
|
+
showPalette: function(e, $this)
|
273
|
+
{
|
274
|
+
var offset = $this.paletteHolder.parent().offset();
|
275
|
+
|
276
|
+
//init some vars
|
277
|
+
var left = 0;
|
278
|
+
var top = $this.paletteHolder.parent().outerHeight();
|
279
|
+
$this.slideTopToBottom = top;
|
280
|
+
|
281
|
+
if(offset.left - $(window).scrollLeft() + $this.width > $(window).width()) left = -1 * ($this.width - $this.paletteHolder.parent().outerWidth());
|
282
|
+
if(offset.top - $(window).scrollTop() + $this.height > $(window).height())
|
283
|
+
{
|
284
|
+
$this.slideTopToBottom = 0;
|
285
|
+
top = -1 * ($this.height);
|
286
|
+
}
|
287
|
+
|
288
|
+
$this.paletteHolder.css({left: left, top: top});
|
289
|
+
|
290
|
+
$this.paletteHolder.addClass('active')
|
291
|
+
|
292
|
+
if($this.settings.effect == 'slide')
|
293
|
+
{
|
294
|
+
$this.paletteHolder.stop(true, false).css({height: 0, top: ($this.slideTopToBottom == 0 ? 0 : top)}).show().animate({height: $this.height, top: top}, $this.settings.showSpeed);
|
295
|
+
}
|
296
|
+
else if($this.settings.effect == 'fade')
|
297
|
+
{
|
298
|
+
$this.paletteHolder.stop(true, false).css({opacity: 0}).show().animate({opacity: 1}, $this.settings.showSpeed);
|
299
|
+
}
|
300
|
+
else
|
301
|
+
{
|
302
|
+
$this.paletteHolder.show();
|
303
|
+
}
|
304
|
+
},
|
305
|
+
|
306
|
+
hidePalette: function($this)
|
307
|
+
{
|
308
|
+
//need this to avoid the double hide when you click on colour (once on click, once on mouse out) - this way it's only triggered once
|
309
|
+
if($this.paletteHolder.hasClass('active'))
|
310
|
+
{
|
311
|
+
$this.paletteHolder.removeClass('active');
|
312
|
+
|
313
|
+
if($this.settings.effect == 'slide')
|
314
|
+
{
|
315
|
+
$this.paletteHolder.stop(true, false).animate({height: 0, top: ($this.slideTopToBottom == 0 ? 0 : $this.slideTopToBottom)}, $this.settings.hideSpeed, function(){$this.paletteHolder.hide()});
|
316
|
+
}
|
317
|
+
else if($this.settings.effect == 'fade')
|
318
|
+
{
|
319
|
+
$this.paletteHolder.stop(true, false).animate({opacity: 0}, $this.settings.hideSpeed, function(){$this.paletteHolder.hide()});
|
320
|
+
}
|
321
|
+
else
|
322
|
+
{
|
323
|
+
$this.paletteHolder.hide();
|
324
|
+
}
|
325
|
+
}
|
326
|
+
},
|
327
|
+
|
328
|
+
toHex: function(color)
|
329
|
+
{
|
330
|
+
if(color.substring(0,3) == 'rgb')
|
331
|
+
{
|
332
|
+
var rgb = color.substring(4, color.length - 1).replace(/\s/g, '').split(',');
|
333
|
+
|
334
|
+
for(i in rgb)
|
335
|
+
{
|
336
|
+
rgb[i] = parseInt(rgb[i]).toString(16);
|
337
|
+
if(rgb[i] == '0') rgb[i] = '00';
|
338
|
+
}
|
339
|
+
|
340
|
+
var hex = '#' + rgb.join('').toUpperCase();
|
341
|
+
}
|
342
|
+
else
|
343
|
+
{
|
344
|
+
hex = color;//color.substring(0, 1) == '#' ? color.substring(1, color.length) : color;
|
345
|
+
}
|
346
|
+
|
347
|
+
return hex;
|
348
|
+
},
|
349
|
+
|
350
|
+
validHex: function(hex)
|
351
|
+
{
|
352
|
+
return '#' + hex.replace(/[^0-9a-f]/ig, '').substring(0,6).toUpperCase();
|
353
|
+
}
|
354
|
+
}
|
355
|
+
|
356
|
+
})(jQuery);
|
357
|
+
|
@@ -0,0 +1,70 @@
|
|
1
|
+
/*** layout/positioning - stuff you probably won't need to change ***/
|
2
|
+
._wColorPicker_holder{display:inline-block; position:static; z-index:999999; cursor:default;}
|
3
|
+
._wColorPicker_outer{position:relative;}
|
4
|
+
._wColorPicker_inner{position:relative;}
|
5
|
+
._wColorPicker_bg{position:absolute; left:0; top:0; width:100%; height:100%;}
|
6
|
+
._wColorPicker_content{position:relative;}
|
7
|
+
|
8
|
+
/*** palettes layout ***/
|
9
|
+
._wColorPicker_custom{margin-bottom:10px;}
|
10
|
+
._wColorPicker_noColor{float:left; padding-top:6px;}
|
11
|
+
._wColorPicker_customTarget{float:left; width:40px; height:18px; margin:0 5px 0 10px; border:solid black 1px;}
|
12
|
+
._wColorPicker_customInput{float:left; position:relative; width:65px; height:18px; line-height:18px; padding:0 5px; font-size:10px; font-family:arial; border: solid black 1px;}
|
13
|
+
|
14
|
+
._wColorPicker_palette_simple,
|
15
|
+
._wColorPicker_palette_mixed{float:left; line-height:0px; font-size:0px;}
|
16
|
+
._wColorPicker_palette_simple{margin-right:10px;}
|
17
|
+
._wColorPicker_color{float:left; width:10px; height:10px; border-width:1px; border-style:solid; margin-left:-1px; margin-top:-1px; cursor:pointer; font-size:0px; line-height:0px;}
|
18
|
+
|
19
|
+
/*** visuals ***/
|
20
|
+
._wColorPicker_holder{border-width:2px; border-style:solid; border-radius:6px;}/*outer border*/
|
21
|
+
._wColorPicker_outer{border-width:1px; border-style:solid; border-radius:5px; margin:1px; }/*inner border*/
|
22
|
+
._wColorPicker_content{padding:5px; font-weight:bold; font-family:verdana; font-size:11px; line-height:15px;}/*content*/
|
23
|
+
|
24
|
+
._wColorPicker_color{border-color:#000000;}
|
25
|
+
._wColorPicker_color.active{border-color:#FF0000;}
|
26
|
+
._wColorPicker_color.activeLeft{border-left-color:#FF0000;}
|
27
|
+
._wColorPicker_color.activeTop{border-top-color:#FF0000;}
|
28
|
+
|
29
|
+
/*** palette button ***/
|
30
|
+
._wColorPicker_buttonHolder{display:inline-block; cursor:pointer;}
|
31
|
+
._wColorPicker_buttonBorder{border:solid #9A9A9A 1px; border-radius:5px;}
|
32
|
+
._wColorPicker_buttonColor{margin:2px; border-radius:4px;}
|
33
|
+
._wColorPicker_paletteHolder{z-index:999999;}
|
34
|
+
|
35
|
+
/*** colors ***/
|
36
|
+
._wColorPicker_red, ._wColorPicker_red ._wColorPicker_outer{border-color:#CE6F6F;}
|
37
|
+
._wColorPicker_red ._wColorPicker_bg{background-color:#F79992;}
|
38
|
+
._wColorPicker_red ._wColorPicker_inner{color:#9C2F2F;}
|
39
|
+
|
40
|
+
._wColorPicker_green, ._wColorPicker_green ._wColorPicker_outer{border-color:#A9DB66;}
|
41
|
+
._wColorPicker_green ._wColorPicker_bg{background-color:#CDE6AC;}
|
42
|
+
._wColorPicker_green ._wColorPicker_inner{color:#58792E;}
|
43
|
+
|
44
|
+
._wColorPicker_blue, ._wColorPicker_blue ._wColorPicker_outer{border-color:#ADD9ED;}
|
45
|
+
._wColorPicker_blue ._wColorPicker_bg{background-color:#E5F6FE;}
|
46
|
+
._wColorPicker_blue ._wColorPicker_inner{color:#4D9FBF;}
|
47
|
+
|
48
|
+
._wColorPicker_white, ._wColorPicker_white ._wColorPicker_outer{border-color:#E2E2E2;}
|
49
|
+
._wColorPicker_white ._wColorPicker_bg{ background-color:#FFFFFF;}
|
50
|
+
._wColorPicker_white ._wColorPicker_inner{color:#454545;}
|
51
|
+
|
52
|
+
._wColorPicker_black, ._wColorPicker_black ._wColorPicker_outer{border-color:#303030;}
|
53
|
+
._wColorPicker_black ._wColorPicker_bg{background-color:#505050;}
|
54
|
+
._wColorPicker_black ._wColorPicker_inner{color:#F3F3F3;}
|
55
|
+
|
56
|
+
._wColorPicker_cream, ._wColorPicker_cream ._wColorPicker_outer{border-color:#F9E98E;}
|
57
|
+
._wColorPicker_cream ._wColorPicker_bg{background-color:#FBF7AA;}
|
58
|
+
._wColorPicker_cream ._wColorPicker_inner{color: #A27D35;}
|
59
|
+
|
60
|
+
._wColorPicker_yellow, ._wColorPicker_yellow ._wColorPicker_outer{border-color:#E9D315;}
|
61
|
+
._wColorPicker_yellow ._wColorPicker_bg{background-color:#F9F2BA;}
|
62
|
+
._wColorPicker_yellow ._wColorPicker_inner{color:#5B5316;}
|
63
|
+
|
64
|
+
._wColorPicker_orange, ._wColorPicker_orange ._wColorPicker_outer{border-color:#E56717;}
|
65
|
+
._wColorPicker_orange ._wColorPicker_bg{background-color:#F87217;}
|
66
|
+
._wColorPicker_orange ._wColorPicker_inner{color:#9C2F2F;}
|
67
|
+
|
68
|
+
._wColorPicker_plum, ._wColorPicker_plum ._wColorPicker_outer{border-color:#7E354D;}
|
69
|
+
._wColorPicker_plum ._wColorPicker_bg{background-color:#B93B8F;}
|
70
|
+
._wColorPicker_plum ._wColorPicker_inner{color:#F9B7FF;}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path('../lib/wcolorpicker-rails/version', __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.authors = ["RogerE"]
|
6
|
+
gem.email = ["roger@webfokus.no"]
|
7
|
+
gem.description = "This gem Provides the Websanova Color Picker assets for your Rails application ."
|
8
|
+
gem.summary = "Use Websanova Color Picker with Rails Asset Pipeline"
|
9
|
+
gem.homepage = "https://github.com/RogerE/wcolorpicker-rails"
|
10
|
+
|
11
|
+
gem.files = `git ls-files`.split($\)
|
12
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
13
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
|
+
gem.name = "wcolorpicker-rails"
|
15
|
+
gem.require_paths = ["lib"]
|
16
|
+
gem.version = Wcolorpicker::Rails::VERSION
|
17
|
+
end
|
metadata
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: wcolorpicker-rails
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 13
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 1
|
9
|
+
version: "1.1"
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- RogerE
|
13
|
+
autorequire:
|
14
|
+
bindir: bin
|
15
|
+
cert_chain: []
|
16
|
+
|
17
|
+
date: 2012-03-28 00:00:00 Z
|
18
|
+
dependencies: []
|
19
|
+
|
20
|
+
description: This gem Provides the Websanova Color Picker assets for your Rails application .
|
21
|
+
email:
|
22
|
+
- roger@webfokus.no
|
23
|
+
executables: []
|
24
|
+
|
25
|
+
extensions: []
|
26
|
+
|
27
|
+
extra_rdoc_files: []
|
28
|
+
|
29
|
+
files:
|
30
|
+
- .gitignore
|
31
|
+
- Gemfile
|
32
|
+
- README.md
|
33
|
+
- Rakefile
|
34
|
+
- lib/wcolorpicker-rails.rb
|
35
|
+
- lib/wcolorpicker-rails/version.rb
|
36
|
+
- vendor/assets/javascripts/wcolorpicker.js
|
37
|
+
- vendor/assets/stylesheets/wcolorpicker.css
|
38
|
+
- wcolorpicker-rails.gemspec
|
39
|
+
homepage: https://github.com/RogerE/wcolorpicker-rails
|
40
|
+
licenses: []
|
41
|
+
|
42
|
+
post_install_message:
|
43
|
+
rdoc_options: []
|
44
|
+
|
45
|
+
require_paths:
|
46
|
+
- lib
|
47
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
48
|
+
none: false
|
49
|
+
requirements:
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
hash: 3
|
53
|
+
segments:
|
54
|
+
- 0
|
55
|
+
version: "0"
|
56
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
hash: 3
|
62
|
+
segments:
|
63
|
+
- 0
|
64
|
+
version: "0"
|
65
|
+
requirements: []
|
66
|
+
|
67
|
+
rubyforge_project:
|
68
|
+
rubygems_version: 1.8.10
|
69
|
+
signing_key:
|
70
|
+
specification_version: 3
|
71
|
+
summary: Use Websanova Color Picker with Rails Asset Pipeline
|
72
|
+
test_files: []
|
73
|
+
|