PageSourceSearch

https://www.thesecondevolution.com/wp-content/plugins/font/js/colorpicker.js

js thesecondevolution.com collected 2026-10-02 13:32:57 UTC 31,868 bytes, 1 lines download raw bytes

1/**� *�  * Color picker�  * Author: Stefan Petre www.eyecon.ro�  * �  * Dual licensed under the MIT and GPL licenses�  * �  */�  if(typeof fQuery === 'undefined') {�        fQuery = jQuery;�    }�    (function ($) {�        var ColorPicker = function () {�                var�                    ids = {},�                        inAction,�                        charMin = 65,�                        visible,�                        tpl = '<div class="colorpicker"><div class="colorpicker_color"><div><div></div></div></div><div class="colorpicker_hue"><div></div></div><div class="colorpicker_new_color"></div><div class="colorpicker_current_color"></div><div class="colorpicker_hex"><input type="text" maxlength="6" size="6" /></div><div class="colorpicker_rgb_r colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_g colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_h colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_s colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_submit"></div></div>',�                        defaults = {�                                eventName: 'click',�                                onShow: function () {},�                                onBeforeShow: function(){},�                                onHide: function () {},�                                onChange: function () {},�                                onSubmit: function () {},�                                color: 'ff0000',�                                livePreview: true,�                                flat: false�                            },�                        fillRGBFields = function  (hsb, cal) {�                                var rgb = HSBToRGB(hsb);�                                $(cal).data('colorpicker').fields�                                    .eq(1).val(rgb.r).end()�                                        .eq(2).val(rgb.g).end()�                                        .eq(3).val(rgb.b).end();�                                },�                        fillHSBFields = function  (hsb, cal) {�                                $(cal).data('colorpicker').fields�                                    .eq(4).val(hsb.h).end()�                                        .eq(5).val(hsb.s).end()�                                        .eq(6).val(hsb.b).end();�                                },�                        fillHexFields = function (hsb, cal) {�                                $(cal).data('colorpicker').fields�                                    .eq(0).val(HSBToHex(hsb)).end();�                                },�                        setSelector = function (hsb, cal) {�                                $(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({h: hsb.h, s: 100, b: 100}));�                                $(cal).data('colorpicker').selectorIndic.css({�                                        left: parseInt(150 * hsb.s/100, 10),�                                        top: parseInt(150 * (100-hsb.b)/100, 10)�                                    });�                            },�                        setHue = function (hsb, cal) {�                                $(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10));�                            },�                        setCurrentColor = function (hsb, cal) {�                                $(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb));�                            },�                        setNewColor = function (hsb, cal) {�                                $(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb));�                            },�                        keyDown = function (ev) {�                                var pressedKey = ev.charCode || ev.keyCode || -1;�                                if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) {�                                        return false;�                                    }�                                var cal = $(this).parent().parent();�                                if (cal.data('colorpicker').livePreview === true) {�                                        change.apply(this);�                                    }�                            },�                        change = function (ev) {�                                var cal = $(this).parent().parent(), col;�                                if (this.parentNode.className.indexOf('_hex') > 0) {�                                        cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value));�                                    } else if (this.parentNode.className.indexOf('_hsb') > 0) {�                                        cal.data('colorpicker').color = col = fixHSB({�                                                h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10),�                                                s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10),�                                                b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10)�                                            });�                                    } else {�                                        cal.data('colorpicker').color = col = RGBToHSB(fixRGB({�                                                r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10),�                                                g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10),�                                                b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10)�                                            }));�                                    }�                                if (ev) {�                                        fillRGBFields(col, cal.get(0));�                                        fillHexFields(col, cal.get(0));�                                        fillHSBFields(col, cal.get(0));�                                    }�                                setSelector(col, cal.get(0));�                                setHue(col, cal.get(0));
1�                                setNewColor(col, cal.get(0));�                                cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col)]);�                            },�                        blur = function (ev) {�                                var cal = $(this).parent().parent();�                                cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus');�                            },�                        focus = function () {�                                charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65;�                                $(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus');�                                $(this).parent().addClass('colorpicker_focus');�                            },�                        downIncrement = function (ev) {�                                var field = $(this).parent().find('input').focus();�                                var current = {�                                        el: $(this).parent().addClass('colorpicker_slider'),�                                        max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255),�                                        y: ev.pageY,�                                        field: field,�                                        val: parseInt(field.val(), 10),�                                        preview: $(this).parent().parent().data('colorpicker').livePreview                    �                                    };�                                $(document).bind('mouseup', current, upIncrement);�                                $(document).bind('mousemove', current, moveIncrement);�                            },�                        moveIncrement = function (ev) {�                                ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10))));�                                if (ev.data.preview) {�                                        change.apply(ev.data.field.get(0), [true]);�                                    }�                                return false;�                            },�                        upIncrement = function (ev) {�                                change.apply(ev.data.field.get(0), [true]);�                                ev.data.el.removeClass('colorpicker_slider').find('input').focus();�                                $(document).unbind('mouseup', upIncrement);�                                $(document).unbind('mousemove', moveIncrement);�                                return false;�                            },�                        downHue = function (ev) {�                                var current = {�                                        cal: $(this).parent(),�                                        y: $(this).offset().top�                                    };�                                current.preview = current.cal.data('colorpicker').livePreview;�                                $(document).bind('mouseup', current, upHue);�                                $(document).bind('mousemove', current, moveHue);�                            },�                        moveHue = function (ev) {�                                change.apply(�                                    ev.data.cal.data('colorpicker')�                                            .fields�                                                .eq(4)�                                                .val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10))�                                                .get(0),�                                            [ev.data.preview]�                                    );�                                return false;�                            },�                        upHue = function (ev) {�                                fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));�                                fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));�                                $(document).unbind('mouseup', upHue);�                                $(document).unbind('mousemove', moveHue);�                                return false;�                            },�                        downSelector = function (ev) {�                                var current = {�                                        cal: $(this).parent(),�                                        pos: $(this).offset()�                                    };�                                current.preview = current.cal.data('colorpicker').livePreview;�                                $(document).bind('mouseup', current, upSelector);�                                $(document).bind('mousemove', current, moveSelector);�                            },�                        moveSelector = function (ev) {�                                change.apply(�                                    ev.data.cal.data('colorpicker')�                                            .fields�                                                .eq(6)�                                                .val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10))�                                                .end()�                                                .eq(5)�                                                .val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))
1/150, 10))�                                                .get(0),�                                            [ev.data.preview]�                                    );�                                return false;�                            },�                        upSelector = function (ev) {�                                fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));�                                fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));�                                $(document).unbind('mouseup', upSelector);�                                $(document).unbind('mousemove', moveSelector);�                                return false;�                            },�                        enterSubmit = function (ev) {�                                $(this).addClass('colorpicker_focus');�                            },�                        leaveSubmit = function (ev) {�                                $(this).removeClass('colorpicker_focus');�                            },�                        clickSubmit = function (ev) {�                                var cal = $(this).parent();�                                var col = cal.data('colorpicker').color;�                                cal.data('colorpicker').origColor = col;�                                setCurrentColor(col, cal.get(0));�                                cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el);�                            },�                        show = function (ev) {�                                var cal = $('#' + $(this).data('colorpickerId'));�                                cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]);�                                var pos = $(this).offset();�                                var viewPort = getViewport();�                                var top = pos.top + this.offsetHeight;�                                var left = pos.left;�                                if (top + 176 > viewPort.t + viewPort.h) {�                                        top -= this.offsetHeight + 176;�                                    }�                                if (left + 356 > viewPort.l + viewPort.w) {�                                        left -= 356;�                                    }�                                cal.css({left: left + 'px', top: top + 'px'});�                                if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) {�                                        cal.show();�                                    }�                                $(document).bind('mousedown', {cal: cal}, hide);�                                return false;�                            },�                        hide = function (ev) {�                                if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) {�                                        if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) {�                                                ev.data.cal.hide();�                                            }�                                        $(document).unbind('mousedown', hide);�                                    }�                            },�                        isChildOf = function(parentEl, el, container) {�                                if (parentEl == el) {�                                        return true;�                                    }�                                if (parentEl.contains) {�                                        return parentEl.contains(el);�                                    }�                                if ( parentEl.compareDocumentPosition ) {�                                        return !!(parentEl.compareDocumentPosition(el) & 16);�                                    }�                                var prEl = el.parentNode;�                                while(prEl && prEl != container) {�                                        if (prEl == parentEl)�                                            return true;�                                            prEl = prEl.parentNode;�                                    }�                                return false;�                            },�                        getViewport = function () {�                                var m = document.compatMode == 'CSS1Compat';�                                return {�                                        l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft),�                                        t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop),�                                        w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth),�                                        h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight)�                                    };�                            },�                        fixHSB = function (hsb) {�                                return {�                                        h: Math.min(360, Math.max(0, hsb.h)),�                                        s: Math.min(100, Math.max(0, hsb.s)),�                                        b: Math.min(100, Math.max(0, hsb.b))�                                    };�                            }, �                        fixRGB = function (rgb) {�                                return {�                                        r: Math.min(255, Math.max(0, rgb.r)),�                                        g: Math.min(255, Math.max(0, rgb.g)),�                                        b: Math.min(255, Math.max(0, rgb.b))�                                    };�                            },�                        fixHex = function (hex) {�                                var len = 6 - hex.length;�                                if (len > 0) {�                                        var o = [];�                                        for (var i=0; i<len; i++) {�                                                o.push('0');�                                            }�                                        o.push(hex);�                                        hex = o.join('');�                                    }�                                return hex;�                            }, �                        HexToRGB = function (hex) {�                                var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16);�                                return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)};�                            },�                        HexToHSB = function (hex) {�                                return RGBToHSB(HexToRGB(hex));�                            },�                        RGBToHSB = function (rgb) {�                                var hsb = {�                                        h: 0,�                                        s: 0,�                                        b: 0�                                    };�                                var min = Math.min(rgb.r, rgb.g, rgb.b);�                                var max = Math.max(rgb.r, rgb.g, rgb.b);�                                var delta = max - min;�                                hsb.b = max;�                                if (max != 0) {�                                        �                                    }�                                hsb.s = max != 0 ? 255 * delta / max : 0;�                                if (hsb.s != 0) {�                                        if (rgb.r == max) {�                                                hsb.h = (rgb.g - rgb.b) / delta;�                                            } else if (rgb.g == max) {�                                                hsb.h = 2 + (rgb.b - rgb.r) / delta;�                                            } else {�                                                hsb.h = 4 + (rgb.r - rgb.g) / delta;�                                            }�                                    } else {�                                        hsb.h = -1;�                                    }�                                hsb.h *= 60;�                                if (hsb.h < 0) {�                                        hsb.h += 360;�                                    }�                                hsb.s *= 100/255;�                                hsb.b *= 100/255;�                                return hsb;�                            },�                        HSBToRGB = function (hsb) {�                                var rgb = {};�                                var h = Math.round(hsb.h);�                                var s = Math.round(hsb.s*255/100);�                                var v = Math.round(hsb.b*255/100);�                                if(s == 0) {�                                        rgb.r = rgb.g = rgb.b = v;�                                    } else {�                                        var t1 = v;�                                        var t2 = (255-s)*v/255;�                                        var t3 = (t1-t2)*(h%60)/60;�                                        if(h==360) h = 0;�                                        if(h<60) {rgb.r=t1;    rgb.b=t2; rgb.g=t2+t3}�                                        else if(h<120) {rgb.g=t1; rgb.b=t2;    rgb.r=t1-t3}�                                        else if(h<180) {rgb.g=t1; rgb.r=t2;    rgb.b=t2+t3}�                                        else if(h<240) {rgb.b=t1; rgb.r=t2;    rgb.g=t1-t3}�                                        else if(h<300) {rgb.b=t1; rgb.g=t2;    rgb.r=t2+t3}�                                        else if(h<360) {rgb.r=t1; rgb.g=t2;    rgb.b=t1-t3}�                                        else {rgb.r=0; rgb.g=0;    rgb.b=0}�                                    }�                                return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};�                            },�                        RGBToHex = function (rgb) {�                                var hex = [�                                    rgb.r.toString(16),�                                        rgb.g.toString(16),�                                        rgb.b.toString(16)�                                    ];�                                $.each(hex, function (nr, val) {�                                        if (val.length == 1) {�                                                hex[nr] 
1= '0' + val;�                                            }�                                    });�                                return hex.join('');�                            },�                        HSBToHex = function (hsb) {�                                return RGBToHex(HSBToRGB(hsb));�                            },�                        restoreOriginal = function () {�                                var cal = $(this).parent();�                                var col = cal.data('colorpicker').origColor;�                                cal.data('colorpicker').color = col;�                                fillRGBFields(col, cal.get(0));�                                fillHexFields(col, cal.get(0));�                                fillHSBFields(col, cal.get(0));�                                setSelector(col, cal.get(0));�                                setHue(col, cal.get(0));�                                setNewColor(col, cal.get(0));�                            };�                    return {�                        init: function (opt) {�                                opt = $.extend({}, defaults, opt||{});�                                if (typeof opt.color == 'string') {�                                        opt.color = HexToHSB(opt.color);�                                    } else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) {�                                        opt.color = RGBToHSB(opt.color);�                                    } else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) {�                                        opt.color = fixHSB(opt.color);�                                    } else {�                                        return this;�                                    }�                                return this.each(function () {�                                        if (!$(this).data('colorpickerId')) {�                                                var options = $.extend({}, opt);�                                                options.origColor = opt.color;�                                                var id = 'collorpicker_' + parseInt(Math.random() * 1000);�                                                $(this).data('colorpickerId', id);�                                                var cal = $(tpl).attr('id', id);�                                                if (options.flat) {�                                                        cal.appendTo(this).show();�                                                    } else {�                                                        cal.appendTo(document.body);�                                                    }�                                                options.fields = cal�                                                                    .find('input')�                                                                                            .bind('keyup', keyDown)�                                                                                                .bind('change', change)�                                                                                                .bind('blur', blur)�                                                                                                .bind('focus', focus);�                                                                        cal�                                                    .find('span').bind('mousedown', downIncrement).end()�                                                        .find('>div.colorpicker_current_color').bind('click', restoreOriginal);�                                                    options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector);�                                                options.selectorIndic = options.selector.find('div div');�                                                options.el = this;�                                                options.hue = cal.find('div.colorpicker_hue div');�                                                cal.find('div.colorpicker_hue').bind('mousedown', downHue);�                                                options.newColor = cal.find('div.colorpicker_new_color');�                                                options.currentColor = cal.find('div.colorpicker_current_color');�                                                cal.data('colorpicker', options);�                                                cal.find('div.colorpicker_submit')�                                                    .bind('mouseenter', enterSubmit)�                                                        .bind('mouseleave', leaveSubmit)�                                                        .bind('click', clickSubmit);�                                                    fillRGBFields(options.color, cal.get(0));�                                                fillHSBFields(options.color, cal.get(0));�                                                fillHexFields(options.color, cal.get(0));�                                                setHue(options.color, cal.get(0));�                                                setSelector(options.color, cal.get(0));�                                                setCurrentColor(options.color, cal.get(0));
1�                                                setNewColor(options.color, cal.get(0));�                                                if (options.flat) {�                                                        cal.css({�                                                                position: 'relative',�                                                                display: 'block'�                                                            });�                                                    } else {�                                                        $(this).bind(options.eventName, show);�                                                    }�                                            }�                                    });�                            },�                        showPicker: function() {�                                return this.each( function () {�                                        if ($(this).data('colorpickerId')) {�                                                show.apply(this);�                                            }�                                    });�                            },�                        hidePicker: function() {�                                return this.each( function () {�                                        if ($(this).data('colorpickerId')) {�                                                $('#' + $(this).data('colorpickerId')).hide();�                                            }�                                    });�                            },�                        setColor: function(col) {�                                if (typeof col == 'string') {�                                        col = HexToHSB(col);�                                    } else if (col.r != undefined && col.g != undefined && col.b != undefined) {�                                        col = RGBToHSB(col);�                                    } else if (col.h != undefined && col.s != undefined && col.b != undefined) {�                                        col = fixHSB(col);�                                    } else {�                                        return this;�                                    }�                                return this.each(function(){�                                        if ($(this).data('colorpickerId')) {�                                                var cal = $('#' + $(this).data('colorpickerId'));�                                                cal.data('colorpicker').color = col;�                                                cal.data('colorpicker').origColor = col;�                                                fillRGBFields(col, cal.get(0));�                                                fillHSBFields(col, cal.get(0));�                                                fillHexFields(col, cal.get(0));�                                                setHue(col, cal.get(0));�                                                setSelector(col, cal.get(0));�                                                setCurrentColor(col, cal.get(0));�                                                setNewColor(col, cal.get(0));�                                            }�                                    });�                            }�                    };�            }();�        $.fn.extend({�                ColorPicker: ColorPicker.init,�                ColorPickerHide: ColorPicker.hidePicker,�                ColorPickerShow: ColorPicker.showPicker,�                ColorPickerSetColor: ColorPicker.setColor�            });�    })(fQuery)

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.