Reputation: 175
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
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
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