1
0
Fork 0
mirror of synced 2024-06-02 19:04:49 +12:00
appwrite/public/scripts/views/forms/add.js
2020-04-25 23:33:35 +03:00

47 lines
1.3 KiB
JavaScript

(function(window) {
"use strict";
window.ls.container.get("view").add({
selector: "data-forms-add",
repeat: false,
controller: function(element, view, container, document) {
for (var i = 0; i < element.children.length; i++) {
let button = document.createElement("button");
let template = element.children[i].cloneNode(true);
let as = element.getAttribute('data-ls-as');
let counter = 0;
button.type = "button";
button.innerText = "Add";
button.classList.add("reverse");
button.classList.add("margin-end-small");
button.addEventListener('click', function() {
container.addNamespace(as, 'new-' + counter++);
console.log(container.namespaces, container.get(as), as);
container.set(as, null, true, true);
let child = template.cloneNode(true);
view.render(child);
element.appendChild(child);
element.style.visibility = 'visible';
let inputs = child.querySelectorAll('input,textarea');
for (let index = 0; index < inputs.length; ++index) {
if(inputs[index].type !== 'hidden') {
inputs[index].focus();
break;
}
}
});
element.after(button);
}
}
});
})(window);