Files
2026-08-08 16:11:57 +03:00

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);
});
});