94 lines
2.3 KiB
JavaScript
94 lines
2.3 KiB
JavaScript
|
|
var div = document.getElementById('picker')
|
|
var red = document.getElementById('red')
|
|
var green = document.getElementById('green')
|
|
var blue = document.getElementById('blue')
|
|
var white = document.getElementById('white')
|
|
var red_value = red.innerHTML
|
|
var green_value = green.innerHTML
|
|
var blue_value = blue.innerHTML
|
|
var white_value = white.innerHTML
|
|
|
|
var colorPicker = new iro.ColorPicker('#picker', {
|
|
// Set the size of the color picker
|
|
width: div.offsetWidth-40,
|
|
// Set the initial color to pure red
|
|
color: {r: red_value, g: green_value, b: blue_value},
|
|
sliderSize: 100,
|
|
handleRadius: 35,
|
|
margin: 20,
|
|
wheelLightness: false
|
|
});
|
|
|
|
|
|
var whitePicker = new iro.ColorPicker('#picker', {
|
|
width: div.offsetWidth-40,
|
|
color: {r: white_value, g: white_value, b: white_value},
|
|
sliderSize: 100,
|
|
handleRadius: 35,
|
|
value: 0,
|
|
layout: [
|
|
{
|
|
component: iro.ui.Slider,
|
|
options: {
|
|
sliderType: 'value'
|
|
}
|
|
},
|
|
]
|
|
});
|
|
|
|
|
|
colorPicker.on('input:end', function(color) {
|
|
// Get RGB values
|
|
var R = color.rgb['r'];
|
|
var G = color.rgb['g'];
|
|
var B = color.rgb['b'];
|
|
|
|
// Write value to div
|
|
red.innerHTML = R;
|
|
green.innerHTML = G;
|
|
blue.innerHTML = B;
|
|
|
|
// POST values without refreshing
|
|
const formData = new FormData();
|
|
formData.append('r', R);
|
|
formData.append('g', G);
|
|
formData.append('b', B);
|
|
formData.append('csrfmiddlewaretoken', '{{ csrf_token }}');
|
|
console.log(formData);
|
|
fetch('/color/', {
|
|
method: 'POST',
|
|
body: formData
|
|
})
|
|
.then(response => response.json())
|
|
.then(data => {
|
|
console.log('Success:', data);
|
|
})
|
|
.catch(error => {
|
|
console.error('Error:', error);
|
|
});
|
|
});
|
|
whitePicker.on('input:end', function(color) {
|
|
// Get white value
|
|
var W = parseInt(color.value * 2.555);
|
|
|
|
// Write value to div
|
|
white.innerHTML = W;
|
|
|
|
// POST values without refreshing
|
|
const formData = new FormData();
|
|
formData.append('w', W);
|
|
formData.append('csrfmiddlewaretoken', '{{ csrf_token }}');
|
|
console.log(formData);
|
|
fetch('/color/', {
|
|
method: 'POST',
|
|
body: formData
|
|
})
|
|
.then(response => response.json())
|
|
.then(data => {
|
|
console.log('Success:', data);
|
|
})
|
|
.catch(error => {
|
|
console.error('Error:', error);
|
|
});
|
|
}); |