wcolorpicker-rails 1.1
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 +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
|
+
|