1
0
Fork 0
mirror of synced 2024-07-02 21:20:58 +12:00
appwrite/public/scripts/views/forms/color.js

45 lines
1.3 KiB
JavaScript
Raw Normal View History

2019-05-09 18:54:39 +12:00
(function (window) {
"use strict";
2019-05-09 20:01:51 +12:00
window.ls.container.get('view').add(
2019-05-09 18:54:39 +12:00
{
selector: 'data-forms-color',
controller: function(element) {
var preview = document.createElement('div');
var picker = document.createElement('input');
picker.type = 'color';
preview.className = 'color-preview';
preview.appendChild(picker);
picker.addEventListener('change', syncA);
picker.addEventListener('input', syncA);
element.addEventListener('input', update);
element.addEventListener('change', update);
function update() {
if(element.validity.valid) {
preview.style.background = element.value;
syncB();
}
}
function syncA() {
element.value = picker.value;
update();
}
function syncB() {
picker.value = element.value;
}
element.parentNode.insertBefore(preview, element);
update();
syncB();
}
}
);
})(window);