1
0
Fork 0
mirror of synced 2024-06-30 20:21:16 +12:00
appwrite/public/scripts/views/forms/color.js

43 lines
984 B
JavaScript
Raw Normal View History

(function(window) {
"use strict";
window.ls.container.get("view").add({
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();
2019-05-09 18:54:39 +12:00
}
}
function syncA() {
element.value = picker.value;
update();
}
function syncB() {
picker.value = element.value;
}
element.parentNode.insertBefore(preview, element);
2019-05-09 18:54:39 +12:00
update();
syncB();
}
});
})(window);