Added vanilla JS component system

This commit is contained in:
Dan Brown
2017-08-06 18:01:49 +01:00
parent d6e87420c3
commit 5e5928a8a6
5 changed files with 72 additions and 39 deletions

View File

@ -0,0 +1,21 @@
let componentMapping = {
'dropdown': require('./dropdown'),
};
window.components = {};
let componentNames = Object.keys(componentMapping);
for (let i = 0, len = componentNames.length; i < len; i++) {
let name = componentNames[i];
let elems = document.querySelectorAll(`[${name}]`);
if (elems.length === 0) continue;
let component = componentMapping[name];
if (typeof window.components[name] === "undefined") window.components[name] = [];
for (let j = 0, jLen = elems.length; j < jLen; j++) {
let instance = new component(elems[j]);
window.components[name].push(instance);
}
}