static/color-slider.js
author Tero Marttila <terom@paivola.fi>
Sun, 20 Apr 2014 23:51:57 +0300
changeset 80 5254ba612630
child 81 6f1e9a5ac874
permissions -rw-r--r--
dmx-web: slightly better RGB colorpicker control..
80
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     1
$.fn.extend({
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     2
    /*
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     3
     * Set background to solid color
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     4
     */
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     5
    background_color: function (r, g, b, a) {
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     6
        if (a == undefined)
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     7
            a = 1.0;
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     8
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     9
        this.css('background', 'rgba(' + r + ', ' + g + ', ' + b + ', ' + a + ')');
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    10
    },
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    11
});
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    12
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    13
function color_slider_slide (event, ui) {
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    14
    // $(this).css('background', 'rgba(0, 0, 0, ' + (ui.value / 255) + ')');
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    15
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    16
    $('#color').background_color(
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    17
            $('#slider-r').slider('value'),
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    18
            $('#slider-g').slider('value'),
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    19
            $('#slider-b').slider('value')
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    20
    );
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    21
    
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    22
    $(['r', 'g', 'b']).each(function (i, c) {
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    23
        var value = $('#slider-' + c).slider('value');
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    24
        var input = $('#' + c);
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    25
        var color = {r: 0, g: 0, b: 0};
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    26
        
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    27
        color[c] = 255;
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    28
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    29
        input.val(value.toString(16));
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    30
        input.background_color(color.r, color.b, color.g, value / 255);
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    31
    });
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    32
}
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    33
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    34
$(function () {
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    35
    $('.color-slider').slider({
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    36
        orientation:    'horizontal',
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    37
        range:          'min',
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    38
        min:            0,
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    39
        max:            255,
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    40
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    41
        slide:          color_slider_slide,
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    42
    });
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    43
    
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    44
    $(['r', 'g', 'b']).each(function (i, c) {
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    45
        var input = $('#' + c);
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    46
        var value;
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    47
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    48
        if (input.val())
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    49
            value = parseInt(input.val(), 16);
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    50
        else
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    51
            value = 0;
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    52
        
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    53
        $('#slider-' + c).slider('value', value);
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    54
    });
5254ba612630 dmx-web: slightly better RGB colorpicker control..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    55
});