user1463110
user1463110

Reputation: 175

How to hide certain colors using spectrum color picker

I am new to using Spectrum's color picker. So I looked through all functions spectrum-color picker had to offer, but I cannot find a way to hide some colors in the color picker so that users cannot select them.

E.g., all light colors: #FFFFFF, #F5F5F5, #FFFAFA, #F0FFF0, #F5FFFA, #F0FFFF, #F0F8FF, #F8F8FF, #FFF5E, #F5F5DC, #FDF5E6, #FFFAF0, #FFFFF0, #FAEBD7, #FAF0E6, #FFF0F5 shouldn't be available in the color picker.

Is there a way I can do this?

Upvotes: 1

Views: 1221

Answers (2)

Syed Arif Iqbal
Syed Arif Iqbal

Reputation: 1427

you have to make an array list with restricted color hax. then you should use change method in order to deal with. and jquery $.inArray() Function to determine restricted Color.

for example

var banColor = ['#ffffff','#000000','#F0FFF0', '#F5FFFA', '#F0FFFF', '#F0F8FF', '#F8F8FF', '#FFF5E', '#F5F5DC', '#FDF5E6', '#FFFAF0', '#FFFFF0', '#FAEBD7', '#FAF0E6', '#FFF0F5'];

$(".example").spectrum({
    color: "#f00",
    change: function(color) {
        if( $.inArray( color.toHexString(), banColor ) >= 0 ){
            $("#basic-log").text("change called: " + color.toHexString() +' Is Not Allowed');
            // Reset your palate
        }
    }
});

Upvotes: 1

Sapikelio
Sapikelio

Reputation: 2604

You can't remove colors in color picker, but you can show a limited number of colors in the palette that users can use without include colors that users cannot select.

$("#togglePaletteOnly").spectrum({
    showPaletteOnly: true,
    togglePaletteOnly: true,
    togglePaletteMoreText: 'more',
    togglePaletteLessText: 'less',
    color: 'blanchedalmond',
    palette: [
        ["#000","#444","#666","#999","#ccc","#eee","#f3f3f3","#fff"],
        ["#f00","#f90","#ff0","#0f0","#0ff","#00f","#90f","#f0f"],
        ["#f4cccc","#fce5cd","#fff2cc","#d9ead3","#d0e0e3","#cfe2f3","#d9d2e9","#ead1dc"],
        ["#ea9999","#f9cb9c","#ffe599","#b6d7a8","#a2c4c9","#9fc5e8","#b4a7d6","#d5a6bd"],
        ["#e06666","#f6b26b","#ffd966","#93c47d","#76a5af","#6fa8dc","#8e7cc3","#c27ba0"],
        ["#c00","#e69138","#f1c232","#6aa84f","#45818e","#3d85c6","#674ea7","#a64d79"],
        ["#900","#b45f06","#bf9000","#38761d","#134f5c","#0b5394","#351c75","#741b47"],
        ["#600","#783f04","#7f6000","#274e13","#0c343d","#073763","#20124d","#4c1130"]
    ]
});

I hope It helps.

Upvotes: 2

Related Questions