41 lines
957 B
JavaScript
41 lines
957 B
JavaScript
import * as Dom from UnitJS.Dom;
|
|
|
|
var tool = 'toggle';
|
|
var colorPicker = {
|
|
element: null,
|
|
current: 0
|
|
};
|
|
|
|
return {
|
|
init: init,
|
|
currentColor: currentColor
|
|
};
|
|
|
|
function init(size, elementId) {
|
|
colorPicker.element = document.getElementById(elementId || 'colors');
|
|
for(var color = 0; color < size; color++) {
|
|
colorPicker.element.appendChild(Dom.make('li', colorBox(color)));
|
|
}
|
|
colorPicker.element.addEventListener('click', function() {
|
|
colorPicker.element.classList.toggle('open');
|
|
});
|
|
colorPicker.element.children[0].classList.add('current');
|
|
}
|
|
|
|
function colorBox(i) {
|
|
return {
|
|
class: 'color' + i,
|
|
onClick: function(e) {
|
|
if(colorPicker.element.classList.contains('open')) {
|
|
colorPicker.element.children[colorPicker.current].classList.remove('current');
|
|
colorPicker.current = i;
|
|
colorPicker.element.children[colorPicker.current].classList.add('current');
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
function currentColor() {
|
|
return colorPicker.current;
|
|
}
|