sparnatural
Version:
Visual client-side SPARQL query builder and knowledge graph exploration tool
52 lines • 1.86 kB
JavaScript
/*
The Factory decides which html tag a certain component gets.
Default value is <div class='[cssBaseClase]'></div>
If you would like to register new htmlbaseclasses, do it here
Here you can also register imported custom HTMLElements
*/
class BaseClassFactory {
constructor() {
this.liTags = ["groupe"];
this.ulTags = ["componentsListe", "childsList"];
this.spanTags = [
"link-where-bottom",
"selectViewVariable",
"unselect",
"circle-info",
"loadingspinner"
];
this.aTags = ["asc", "dsc", "none", "playBtn"];
this.labelTags = ["switch"];
}
getBaseClass(baseCssClass) {
if (!baseCssClass)
throw Error("No baseCssClass found when rendering element!");
let findCallBack = (el) => {
if (el == baseCssClass)
return true;
};
let html;
switch (baseCssClass) {
case this.liTags.find(findCallBack):
html = $(`<li class="${baseCssClass}"></li>`);
break;
case this.ulTags.find(findCallBack):
html = $(`<ul class="${baseCssClass}"></ul>`);
break;
case this.spanTags.find(findCallBack):
html = $(`<span class="${baseCssClass}"></span>`);
break;
case this.labelTags.find(findCallBack):
html = $(`<label class="${baseCssClass}"></label>`);
break;
case this.aTags.find(findCallBack):
html = $(`<a class="${baseCssClass}"></a>`);
break;
default:
html = $(`<div class="${baseCssClass}"></div>`);
}
return html;
}
}
export default BaseClassFactory;
//# sourceMappingURL=BaseClassFactory.js.map