Commit d8b44418fccb76fec26a2d0865230032683918a0

Authored by Joao M. M. da Silva + Alessandro Palmeira
Committed by Paulo Meireles
1 parent aeef9a08

[Mezuro] Adding background-color for reading color in show reading group.

plugins/mezuro/public/javascripts/colorPicker/LICENSE
@@ -1,22 +0,0 @@ @@ -1,22 +0,0 @@
1 -Copyright (c) 2012 Lakshan Perera  
2 -  
3 -Permission is hereby granted, free of charge, to any person  
4 -obtaining a copy of this software and associated documentation  
5 -files (the "Software"), to deal in the Software without  
6 -restriction, including without limitation the rights to use,  
7 -copy, modify, merge, publish, distribute, sublicense, and/or sell  
8 -copies of the Software, and to permit persons to whom the  
9 -Software is furnished to do so, subject to the following  
10 -conditions:  
11 -  
12 -The above copyright notice and this permission notice shall be  
13 -included in all copies or substantial portions of the Software.  
14 -  
15 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,  
16 -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES  
17 -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND  
18 -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT  
19 -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,  
20 -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING  
21 -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR  
22 -OTHER DEALINGS IN THE SOFTWARE.  
plugins/mezuro/public/javascripts/colorPicker/jquery.colorPicker.js
@@ -1,328 +0,0 @@ @@ -1,328 +0,0 @@
1 -/**  
2 - * Really Simple Color Picker in jQuery  
3 - *  
4 - * Licensed under the MIT (MIT-LICENSE.txt) licenses.  
5 - *  
6 - * Copyright (c) 2008-2012  
7 - * Lakshan Perera (www.laktek.com) & Daniel Lacy (daniellacy.com)  
8 - *  
9 - * Permission is hereby granted, free of charge, to any person obtaining a copy  
10 - * of this software and associated documentation files (the "Software"), to  
11 - * deal in the Software without restriction, including without limitation the  
12 - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or  
13 - * sell copies of the Software, and to permit persons to whom the Software is  
14 - * furnished to do so, subject to the following conditions:  
15 - *  
16 - * The above copyright notice and this permission notice shall be included in  
17 - * all copies or substantial portions of the Software.  
18 - *  
19 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR  
20 - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,  
21 - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE  
22 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER  
23 - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING  
24 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS  
25 - * IN THE SOFTWARE.  
26 - */  
27 -  
28 -(function ($) {  
29 - /**  
30 - * Create a couple private variables.  
31 - **/  
32 - var selectorOwner,  
33 - activePalette,  
34 - cItterate = 0,  
35 - templates = {  
36 - control : $('<div class="colorPicker-picker">&nbsp;</div>'),  
37 - palette : $('<div id="colorPicker_palette" class="colorPicker-palette" />'),  
38 - swatch : $('<div class="colorPicker-swatch">&nbsp;</div>'),  
39 - hexLabel: $('<label for="colorPicker_hex">Hex</label>'),  
40 - hexField: $('<input type="text" id="colorPicker_hex" />')  
41 - },  
42 - transparent = "transparent",  
43 - lastColor;  
44 -  
45 - /**  
46 - * Create our colorPicker function  
47 - **/  
48 - $.fn.colorPicker = function (options) {  
49 -  
50 - return this.each(function () {  
51 - // Setup time. Clone new elements from our templates, set some IDs, make shortcuts, jazzercise.  
52 - var element = $(this),  
53 - opts = $.extend({}, $.fn.colorPicker.defaults, options),  
54 - defaultColor = $.fn.colorPicker.toHex(  
55 - (element.val().length > 0) ? element.val() : opts.pickerDefault  
56 - ),  
57 - newControl = templates.control.clone(),  
58 - newPalette = templates.palette.clone().attr('id', 'colorPicker_palette-' + cItterate),  
59 - newHexLabel = templates.hexLabel.clone(),  
60 - newHexField = templates.hexField.clone(),  
61 - paletteId = newPalette[0].id,  
62 - swatch;  
63 -  
64 -  
65 - /**  
66 - * Build a color palette.  
67 - **/  
68 - $.each(opts.colors, function (i) {  
69 - swatch = templates.swatch.clone();  
70 -  
71 - if (opts.colors[i] === transparent) {  
72 - swatch.addClass(transparent).text('X');  
73 - $.fn.colorPicker.bindPalette(newHexField, swatch, transparent);  
74 - } else {  
75 - swatch.css("background-color", "#" + this);  
76 - $.fn.colorPicker.bindPalette(newHexField, swatch);  
77 - }  
78 - swatch.appendTo(newPalette);  
79 - });  
80 -  
81 - newHexLabel.attr('for', 'colorPicker_hex-' + cItterate);  
82 -  
83 - newHexField.attr({  
84 - 'id' : 'colorPicker_hex-' + cItterate,  
85 - 'value' : defaultColor  
86 - });  
87 -  
88 - newHexField.bind("keydown", function (event) {  
89 - if (event.keyCode === 13) {  
90 - var hexColor = $.fn.colorPicker.toHex($(this).val());  
91 - $.fn.colorPicker.changeColor(hexColor ? hexColor : element.val());  
92 - }  
93 - if (event.keyCode === 27) {  
94 - $.fn.colorPicker.hidePalette();  
95 - }  
96 - });  
97 -  
98 - newHexField.bind("keyup", function (event) {  
99 - var hexColor = $.fn.colorPicker.toHex($(event.target).val());  
100 - $.fn.colorPicker.previewColor(hexColor ? hexColor : element.val());  
101 - });  
102 -  
103 - $('<div class="colorPicker_hexWrap" />').append(newHexLabel).appendTo(newPalette);  
104 -  
105 - newPalette.find('.colorPicker_hexWrap').append(newHexField);  
106 -  
107 - $("body").append(newPalette);  
108 -  
109 - newPalette.hide();  
110 -  
111 -  
112 - /**  
113 - * Build replacement interface for original color input.  
114 - **/  
115 - newControl.css("background-color", defaultColor);  
116 -  
117 - newControl.bind("click", function () {  
118 - $.fn.colorPicker.togglePalette($('#' + paletteId), $(this));  
119 - });  
120 -  
121 - if( options && options.onColorChange ) {  
122 - newControl.data('onColorChange', options.onColorChange);  
123 - } else {  
124 - newControl.data('onColorChange', function() {} );  
125 - }  
126 - element.after(newControl);  
127 -  
128 - element.bind("change", function () {  
129 - element.next(".colorPicker-picker").css(  
130 - "background-color", $.fn.colorPicker.toHex($(this).val())  
131 - );  
132 - });  
133 -  
134 - // Hide the original input.  
135 - element.val(defaultColor).hide();  
136 -  
137 - cItterate++;  
138 - });  
139 - };  
140 -  
141 - /**  
142 - * Extend colorPicker with... all our functionality.  
143 - **/  
144 - $.extend(true, $.fn.colorPicker, {  
145 - /**  
146 - * Return a Hex color, convert an RGB value and return Hex, or return false.  
147 - *  
148 - * Inspired by http://code.google.com/p/jquery-color-utils  
149 - **/  
150 - toHex : function (color) {  
151 - // If we have a standard or shorthand Hex color, return that value.  
152 - if (color.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i)) {  
153 - return (color.charAt(0) === "#") ? color : ("#" + color);  
154 -  
155 - // Alternatively, check for RGB color, then convert and return it as Hex.  
156 - } else if (color.match(/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/)) {  
157 - var c = ([parseInt(RegExp.$1, 10), parseInt(RegExp.$2, 10), parseInt(RegExp.$3, 10)]),  
158 - pad = function (str) {  
159 - if (str.length < 2) {  
160 - for (var i = 0, len = 2 - str.length; i < len; i++) {  
161 - str = '0' + str;  
162 - }  
163 - }  
164 -  
165 - return str;  
166 - };  
167 -  
168 - if (c.length === 3) {  
169 - var r = pad(c[0].toString(16)),  
170 - g = pad(c[1].toString(16)),  
171 - b = pad(c[2].toString(16));  
172 -  
173 - return '#' + r + g + b;  
174 - }  
175 -  
176 - // Otherwise we wont do anything.  
177 - } else {  
178 - return false;  
179 -  
180 - }  
181 - },  
182 -  
183 - /**  
184 - * Check whether user clicked on the selector or owner.  
185 - **/  
186 - checkMouse : function (event, paletteId) {  
187 - var selector = activePalette,  
188 - selectorParent = $(event.target).parents("#" + selector.attr('id')).length;  
189 -  
190 - if (event.target === $(selector)[0] || event.target === selectorOwner[0] || selectorParent > 0) {  
191 - return;  
192 - }  
193 -  
194 - $.fn.colorPicker.hidePalette();  
195 - },  
196 -  
197 - /**  
198 - * Hide the color palette modal.  
199 - **/  
200 - hidePalette : function () {  
201 - $(document).unbind("mousedown", $.fn.colorPicker.checkMouse);  
202 -  
203 - $('.colorPicker-palette').hide();  
204 - },  
205 -  
206 - /**  
207 - * Show the color palette modal.  
208 - **/  
209 - showPalette : function (palette) {  
210 - var hexColor = selectorOwner.prev("input").val();  
211 -  
212 - palette.css({  
213 - top: selectorOwner.offset().top + (selectorOwner.outerHeight()),  
214 - left: selectorOwner.offset().left  
215 - });  
216 -  
217 - $("#color_value").val(hexColor);  
218 -  
219 - palette.show();  
220 -  
221 - $(document).bind("mousedown", $.fn.colorPicker.checkMouse);  
222 - },  
223 -  
224 - /**  
225 - * Toggle visibility of the colorPicker palette.  
226 - **/  
227 - togglePalette : function (palette, origin) {  
228 - // selectorOwner is the clicked .colorPicker-picker.  
229 - if (origin) {  
230 - selectorOwner = origin;  
231 - }  
232 -  
233 - activePalette = palette;  
234 -  
235 - if (activePalette.is(':visible')) {  
236 - $.fn.colorPicker.hidePalette();  
237 -  
238 - } else {  
239 - $.fn.colorPicker.showPalette(palette);  
240 -  
241 - }  
242 - },  
243 -  
244 - /**  
245 - * Update the input with a newly selected color.  
246 - **/  
247 - changeColor : function (value) {  
248 - selectorOwner.css("background-color", value);  
249 - selectorOwner.prev("input").val(value).change();  
250 -  
251 - $.fn.colorPicker.hidePalette();  
252 -  
253 - selectorOwner.data('onColorChange').call(selectorOwner, $(selectorOwner).prev("input").attr("id"), value);  
254 - },  
255 -  
256 -  
257 - /**  
258 - * Preview the input with a newly selected color.  
259 - **/  
260 - previewColor : function (value) {  
261 - selectorOwner.css("background-color", value);  
262 - },  
263 -  
264 - /**  
265 - * Bind events to the color palette swatches.  
266 - */  
267 - bindPalette : function (paletteInput, element, color) {  
268 - color = color ? color : $.fn.colorPicker.toHex(element.css("background-color"));  
269 -  
270 - element.bind({  
271 - click : function (ev) {  
272 - lastColor = color;  
273 -  
274 - $.fn.colorPicker.changeColor(color);  
275 - },  
276 - mouseover : function (ev) {  
277 - lastColor = paletteInput.val();  
278 -  
279 - $(this).css("border-color", "#598FEF");  
280 -  
281 - paletteInput.val(color);  
282 -  
283 - $.fn.colorPicker.previewColor(color);  
284 - },  
285 - mouseout : function (ev) {  
286 - $(this).css("border-color", "#000");  
287 -  
288 - paletteInput.val(selectorOwner.css("background-color"));  
289 -  
290 - paletteInput.val(lastColor);  
291 -  
292 - $.fn.colorPicker.previewColor(lastColor);  
293 - }  
294 - });  
295 - }  
296 - });  
297 -  
298 - /**  
299 - * Default colorPicker options.  
300 - *  
301 - * These are publibly available for global modification using a setting such as:  
302 - *  
303 - * $.fn.colorPicker.defaults.colors = ['151337', '111111']  
304 - *  
305 - * They can also be applied on a per-bound element basis like so:  
306 - *  
307 - * $('#element1').colorPicker({pickerDefault: 'efefef', transparency: true});  
308 - * $('#element2').colorPicker({pickerDefault: '333333', colors: ['333333', '111111']});  
309 - *  
310 - **/  
311 - $.fn.colorPicker.defaults = {  
312 - // colorPicker default selected color.  
313 - pickerDefault : "FFFFFF",  
314 -  
315 - // Default color set.  
316 - colors : [  
317 - '000000', '993300', '333300', '000080', '333399', '333333', '800000', 'FF6600',  
318 - '808000', '008000', '008080', '0000FF', '666699', '808080', 'FF0000', 'FF9900',  
319 - '99CC00', '339966', '33CCCC', '3366FF', '800080', '999999', 'FF00FF', 'FFCC00',  
320 - 'FFFF00', '00FF00', '00FFFF', '00CCFF', '993366', 'C0C0C0', 'FF99CC', 'FFCC99',  
321 - 'FFFF99', 'CCFFFF', '99CCFF', 'FFFFFF'  
322 - ],  
323 -  
324 - // If we want to simply add more colors to the default set, use addColors.  
325 - addColors : []  
326 - };  
327 -  
328 -})(jQuery);  
plugins/mezuro/public/javascripts/colorPicker/jquery.colorPicker.min.js
@@ -1,26 +0,0 @@ @@ -1,26 +0,0 @@
1 -/**  
2 - * Really Simple Color Picker in jQuery  
3 - *  
4 - * Licensed under the MIT (MIT-LICENSE.txt) licenses.  
5 - *  
6 - * Copyright (c) 2008-2012  
7 - * Lakshan Perera (www.laktek.com) & Daniel Lacy (daniellacy.com)  
8 - *  
9 - * Permission is hereby granted, free of charge, to any person obtaining a copy  
10 - * of this software and associated documentation files (the "Software"), to  
11 - * deal in the Software without restriction, including without limitation the  
12 - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or  
13 - * sell copies of the Software, and to permit persons to whom the Software is  
14 - * furnished to do so, subject to the following conditions:  
15 - *  
16 - * The above copyright notice and this permission notice shall be included in  
17 - * all copies or substantial portions of the Software.  
18 - *  
19 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR  
20 - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,  
21 - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE  
22 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER  
23 - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING  
24 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS  
25 - * IN THE SOFTWARE.  
26 - */(function(a){var b,c,d=0,e={control:a('<div class="colorPicker-picker">&nbsp;</div>'),palette:a('<div id="colorPicker_palette" class="colorPicker-palette" />'),swatch:a('<div class="colorPicker-swatch">&nbsp;</div>'),hexLabel:a('<label for="colorPicker_hex">Hex</label>'),hexField:a('<input type="text" id="colorPicker_hex" />')},f="transparent",g;a.fn.colorPicker=function(b){return this.each(function(){var c=a(this),g=a.extend({},a.fn.colorPicker.defaults,b),h=a.fn.colorPicker.toHex(c.val().length>0?c.val():g.pickerDefault),i=e.control.clone(),j=e.palette.clone().attr("id","colorPicker_palette-"+d),k=e.hexLabel.clone(),l=e.hexField.clone(),m=j[0].id,n;a.each(g.colors,function(b){n=e.swatch.clone(),g.colors[b]===f?(n.addClass(f).text("X"),a.fn.colorPicker.bindPalette(l,n,f)):(n.css("background-color","#"+this),a.fn.colorPicker.bindPalette(l,n)),n.appendTo(j)}),k.attr("for","colorPicker_hex-"+d),l.attr({id:"colorPicker_hex-"+d,value:h}),l.bind("keydown",function(b){if(b.keyCode===13){var d=a.fn.colorPicker.toHex(a(this).val());a.fn.colorPicker.changeColor(d?d:c.val())}b.keyCode===27&&a.fn.colorPicker.hidePalette()}),l.bind("keyup",function(b){var d=a.fn.colorPicker.toHex(a(b.target).val());a.fn.colorPicker.previewColor(d?d:c.val())}),a('<div class="colorPicker_hexWrap" />').append(k).appendTo(j),j.find(".colorPicker_hexWrap").append(l),a("body").append(j),j.hide(),i.css("background-color",h),i.bind("click",function(){a.fn.colorPicker.togglePalette(a("#"+m),a(this))}),b&&b.onColorChange?i.data("onColorChange",b.onColorChange):i.data("onColorChange",function(){}),c.after(i),c.bind("change",function(){c.next(".colorPicker-picker").css("background-color",a.fn.colorPicker.toHex(a(this).val()))}),c.val(h).hide(),d++})},a.extend(!0,a.fn.colorPicker,{toHex:function(a){if(a.match(/[0-9A-F]{6}|[0-9A-F]{3}$/i))return a.charAt(0)==="#"?a:"#"+a;if(!a.match(/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/))return!1;var b=[parseInt(RegExp.$1,10),parseInt(RegExp.$2,10),parseInt(RegExp.$3,10)],c=function(a){if(a.length<2)for(var b=0,c=2-a.length;b<c;b++)a="0"+a;return a};if(b.length===3){var d=c(b[0].toString(16)),e=c(b[1].toString(16)),f=c(b[2].toString(16));return"#"+d+e+f}},checkMouse:function(d,e){var f=c,g=a(d.target).parents("#"+f.attr("id")).length;if(d.target===a(f)[0]||d.target===b[0]||g>0)return;a.fn.colorPicker.hidePalette()},hidePalette:function(){a(document).unbind("mousedown",a.fn.colorPicker.checkMouse),a(".colorPicker-palette").hide()},showPalette:function(c){var d=b.prev("input").val();c.css({top:b.offset().top+b.outerHeight(),left:b.offset().left}),a("#color_value").val(d),c.show(),a(document).bind("mousedown",a.fn.colorPicker.checkMouse)},togglePalette:function(d,e){e&&(b=e),c=d,c.is(":visible")?a.fn.colorPicker.hidePalette():a.fn.colorPicker.showPalette(d)},changeColor:function(c){b.css("background-color",c),b.prev("input").val(c).change(),a.fn.colorPicker.hidePalette(),b.data("onColorChange").call(b,a(b).prev("input").attr("id"),c)},previewColor:function(a){b.css("background-color",a)},bindPalette:function(c,d,e){e=e?e:a.fn.colorPicker.toHex(d.css("background-color")),d.bind({click:function(b){g=e,a.fn.colorPicker.changeColor(e)},mouseover:function(b){g=c.val(),a(this).css("border-color","#598FEF"),c.val(e),a.fn.colorPicker.previewColor(e)},mouseout:function(d){a(this).css("border-color","#000"),c.val(b.css("background-color")),c.val(g),a.fn.colorPicker.previewColor(g)}})}}),a.fn.colorPicker.defaults={pickerDefault:"FFFFFF",colors:["000000","993300","333300","000080","333399","333333","800000","FF6600","808000","008000","008080","0000FF","666699","808080","FF0000","FF9900","99CC00","339966","33CCCC","3366FF","800080","999999","FF00FF","FFCC00","FFFF00","00FF00","00FFFF","00CCFF","993366","C0C0C0","FF99CC","FFCC99","FFFF99","CCFFFF","99CCFF","FFFFFF"],addColors:[]}})(jQuery)  
27 \ No newline at end of file 0 \ No newline at end of file
plugins/mezuro/views/content_viewer/show_reading_group.rhtml
@@ -29,7 +29,7 @@ @@ -29,7 +29,7 @@
29 :id => @page.id, 29 :id => @page.id,
30 :reading_id => reading.id %></td> 30 :reading_id => reading.id %></td>
31 <td><%= reading.grade %></td> 31 <td><%= reading.grade %></td>
32 - <td><%= reading.color %></td> 32 + <td bgcolor="#<%= reading.color %>"></td>
33 <td ><%= link_to _('Remove'), {:controller => "mezuro_plugin_reading", 33 <td ><%= link_to _('Remove'), {:controller => "mezuro_plugin_reading",
34 :profile => @page.profile.identifier, 34 :profile => @page.profile.identifier,
35 :action => "destroy", 35 :action => "destroy",