Google Doc Style Color Picker Plugin - Bootstrap 4 Color Palette
| File Size: | 19.2 KB |
|---|---|
| Views Total: | 3761 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
This is a jQuery/Bootstrap plugin that attaches a Google Doc style color picker to any element within the document.
With this plugin, your users can pick a color from a predefined palette popup based on Bootstrap 4's popover component.
How to use it:
1. Load the needed jQuery library and Bootstrap 4 framework in the HTML.
<link rel="stylesheet" href="bootstrap.min.css" /> <script src="jquery.min.js"></script> <script src="popper.min.js"></script> <script src="bootstrap.min.js"></script>
2. Load the Bootstrap 4 Color Palette plugin's files.
<!-- Stylesheet --> <link rel="stylesheet" href="dist/bcp.min.css" /> <!-- JavaScript --> <script src="dist/bcp.min.js"></script>
3. Load the preset palette in the HTML.
<script src="dist/bcp.en.js"></script>
4. Attach the color picker to a specific element. That's it.
$('.example').bcp();
5. You can also define the colors for the palette in the JavaScript:
$('.example').bcp({
color: [{
"#000000": "Black",
"#434343": "Dark grey 4",
"#666666": "Dark grey 3",
"#999999": "Dark grey 2",
"#b7b7b7": "Dark grey 1",
"#cccccc": "grey",
"#d9d9d9": "Light grey 1",
"#efefef": "Light grey 2",
"#f3f3f3": "Light grey 3",
"#ffffff": "White"
}]
});
6. Customize the rendering template of the color picker.
$('.example').bcp({
template: '<div class="popover bcp-popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'
});
7. Customize the rendering template of the color picker.
$('.example').bcp({
template: '<div class="popover bcp-popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'
});
8. Customize the function used to generate the color picker.
$('.example').bcp({
body: (colors) => {
var content = colors.map(row => {
let tmp = '';
for (var color in row) {
let cl = isColorDark(color) ? 'bcp-dark' : 'bcp-light';
tmp += `<div class="bcp-color ${cl}" style="background-color: ${color};" data-color="${color}" title="${row[color]}"></div>`;
}
return `<div class="bcp-row">${tmp}</div>`;
}).join('');
return `<div class="bcp-content">${content}</div>`;
}
});
9. Fire an event each time the color changed.
$('.example').on('pcb.refresh', function (e) {
let color = $(this).bcp('color');
if (color.value) {
$(this).css({
backgroundColor: color.value,
borderColor: color.value,
color: color.dark ? '#fff' : '#000'
});
}
});
10. Fire an event each time a color is selected.
$('.example').on('pcb.selected', function (e) {
let color = $(this).bcp('color');
if (color.value) {
$.post('url', color);
}
});
11. Set/get the color.
// set color
$('.example').bcp('color', '#ffffff');
// get color
$('.example').bcp('color');
Changelog:
v1.1.2 (2020-02-17)
- Add color's label to "color" method output
This awesome jQuery plugin is developed by bgaze. For more Advanced Usages, please check the demo page or visit the official website.











