mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-23 08:22:15 +00:00
Added materialize sass
This commit is contained in:
44
static/js/component.js
Normal file
44
static/js/component.js
Normal file
@@ -0,0 +1,44 @@
|
||||
class Component {
|
||||
/**
|
||||
* Generic constructor for all components
|
||||
* @constructor
|
||||
* @param {Element} el
|
||||
* @param {Object} options
|
||||
*/
|
||||
constructor(classDef, el, options) {
|
||||
// Display error if el is valid HTML Element
|
||||
if (!(el instanceof Element)) {
|
||||
console.error(Error(el + ' is not an HTML Element'));
|
||||
}
|
||||
|
||||
// If exists, destroy and reinitialize in child
|
||||
let ins = classDef.getInstance(el);
|
||||
if (!!ins) {
|
||||
ins.destroy();
|
||||
}
|
||||
|
||||
this.el = el;
|
||||
this.$el = cash(el);
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes components
|
||||
* @param {class} classDef
|
||||
* @param {Element | NodeList | jQuery} els
|
||||
* @param {Object} options
|
||||
*/
|
||||
static init(classDef, els, options) {
|
||||
let instances = null;
|
||||
if (els instanceof Element) {
|
||||
instances = new classDef(els, options);
|
||||
} else if (!!els && (els.jquery || els.cash || els instanceof NodeList)) {
|
||||
let instancesArr = [];
|
||||
for (let i = 0; i < els.length; i++) {
|
||||
instancesArr.push(new classDef(els[i], options));
|
||||
}
|
||||
instances = instancesArr;
|
||||
}
|
||||
|
||||
return instances;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user