|
226 | 226 | }); |
227 | 227 | settings.swatches[i] = swatch; |
228 | 228 | } |
229 | | - |
230 | 229 | } |
231 | 230 |
|
232 | 231 | // Inline controls |
|
235 | 234 | updateFromInput(input, false); |
236 | 235 |
|
237 | 236 | input.data('minicolors-initialized', true); |
238 | | - |
239 | 237 | } |
240 | 238 |
|
241 | 239 | // Returns the input back to its original state |
|
352 | 350 | updateFromControl(input, target); |
353 | 351 | }); |
354 | 352 | } |
355 | | - |
356 | 353 | } |
357 | 354 |
|
358 | 355 | // Sets the input based on the color picker values |
|
703 | 700 | if(input.data('minicolors-initialized')) { |
704 | 701 | doChange(input, value, opacity); |
705 | 702 | } |
706 | | - |
707 | 703 | } |
708 | 704 |
|
709 | 705 | // Runs the change and changeDelay callbacks |
|
758 | 754 | } |
759 | 755 | input.trigger('change').trigger('input'); |
760 | 756 | } |
761 | | - |
762 | 757 | } |
763 | 758 |
|
764 | 759 | // Generates an RGB(A) object based on the input's value |
765 | 760 | function rgbObject(input) { |
766 | | - var hex = parseHex($(input).val(), true); |
767 | | - var rgb = hex2rgb(hex); |
768 | | - var opacity = $(input).attr('data-opacity'); |
769 | | - if(!rgb) return null; |
770 | | - if(opacity !== undefined) $.extend(rgb, { a: parseFloat(opacity) }); |
| 761 | + var rgb, |
| 762 | + opacity = $(input).attr('data-opacity'); |
| 763 | + if( isRgb($(input).val()) ) { |
| 764 | + rgb = parseRgb($(input).val(), true); |
| 765 | + } else { |
| 766 | + var hex = parseHex($(input).val(), true); |
| 767 | + rgb = hex2rgb(hex); |
| 768 | + } |
| 769 | + if( !rgb ) return null; |
| 770 | + if( opacity !== undefined ) $.extend(rgb, { a: parseFloat(opacity) }); |
771 | 771 | return rgb; |
772 | 772 | } |
773 | 773 |
|
774 | 774 | // Generates an RGB(A) string based on the input's value |
775 | 775 | function rgbString(input, alpha) { |
776 | | - var hex = parseHex($(input).val(), true); |
777 | | - var rgb = hex2rgb(hex); |
778 | | - var opacity = $(input).attr('data-opacity'); |
779 | | - if(!rgb) return null; |
780 | | - if(opacity === undefined) opacity = 1; |
781 | | - if(alpha) { |
| 776 | + var rgb, |
| 777 | + opacity = $(input).attr('data-opacity'); |
| 778 | + if( isRgb($(input).val()) ) { |
| 779 | + rgb = parseRgb($(input).val(), true); |
| 780 | + } else { |
| 781 | + var hex = parseHex($(input).val(), true); |
| 782 | + rgb = hex2rgb(hex); |
| 783 | + } |
| 784 | + if( !rgb ) return null; |
| 785 | + if( opacity === undefined ) opacity = 1; |
| 786 | + if( alpha ) { |
782 | 787 | return 'rgba(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ', ' + parseFloat(opacity) + ')'; |
783 | 788 | } else { |
784 | 789 | return 'rgb(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ')'; |
|
814 | 819 | } |
815 | 820 |
|
816 | 821 | // Return RGBA object |
817 | | - if(obj) { |
818 | | - return { |
819 | | - r: rgba[0], |
820 | | - g: rgba[1], |
821 | | - b: rgba[2], |
822 | | - a: rgba[3] ? rgba[3] : null |
823 | | - }; |
| 822 | + if( obj ) { |
| 823 | + if (rgba[3]) { |
| 824 | + return { |
| 825 | + r: rgba[0], |
| 826 | + g: rgba[1], |
| 827 | + b: rgba[2], |
| 828 | + a: rgba[3] |
| 829 | + }; |
| 830 | + } else { |
| 831 | + return { |
| 832 | + r: rgba[0], |
| 833 | + g: rgba[1], |
| 834 | + b: rgba[2] |
| 835 | + }; |
| 836 | + } |
824 | 837 | } |
825 | 838 |
|
826 | 839 | // Return RGBA string |
|
0 commit comments