|
- import GlobalEvents from "/app/js/common/EventCaller.js";
-
-
- function UnselectTab(tabname, tabid, el){
- el.classList.remove("tab-selected");
- var d = document.querySelectorAll("[fortabs='" + tabname + "'][tabid='" + tabid + "']");
- for (let i=0; i < d.length; i++){
- d[i].classList.add("hidden");
- }
- }
-
- function SelectTab(tabname, tabid, el){
- if (!el.classList.contains("tab-selected"))
- el.classList.add("tab-selected");
- var d = document.querySelectorAll("[fortabs='" + tabname + "'][tabid='" + tabid + "']");
- for (let i=0; i < d.length; i++){
- d[i].classList.remove("hidden");
- }
- }
-
- function GenTABListener(tabname, tabid, lil){
- return function(e){
- for (let i=0; i < lil.length; i++){
- if (lil[i].classList.contains("tab-selected")){
- if (lil[i].getAttribute("tabid") !== tabid){
- UnselectTab(tabname, lil[i].getAttribute("tabid"), lil[i]);
- } else {break; /* The same tab is being selected. */}
- } else if (lil[i].getAttribute("tabid") === tabid){
- SelectTab(tabname, tabid, lil[i]);
- }
- }
- }
- }
-
-
- function HideAllTABContent(tabname){
- var d = document.querySelectorAll("[fortabs='" + tabname + "']");
- for (let i=0; i < d.length; i++){
- d[i].classList.add("hidden");
- }
- }
-
- class Tabs{
- constructor(){}
-
- initialize(){
- var tabs = document.querySelectorAll("ul[tabs]");
- for (let i=0; i < tabs.length; i++){
- var selectionMade = false;
- var tabname = tabs[i].getAttribute("tabs");
- HideAllTABContent(tabname);
- var li = tabs[i].querySelectorAll("li[tabid]");
- for (let j=0; j < li.length; j++){
- var tabid = li[j].getAttribute("tabid");
- var a = li[j].querySelector("a");
- a.addEventListener("click", GenTABListener(tabname, tabid, li));
- if (li[j].classList.contains("tab-selected")){
- if (selectionMade){
- UnselectTab(tabname, tabid, li[j]);
- } else {
- SelectTab(tabname, tabid, li[j]);
- selectionMade = true;
- }
- }
- }
- if (selectionMade == false){
- var tabid = li[0].getAttribute("tabid");
- SelectTab(tabname, tabid, li[0]);
- }
- }
- }
- }
-
-
- const instance = new Tabs();
- export default instance;
|