From 78e80b87b6136f0890ac5ba9265882f2eda612f9 Mon Sep 17 00:00:00 2001 From: Claudio Zizza <859964+SenseException@users.noreply.github.com> Date: Thu, 2 Nov 2023 21:20:42 +0100 Subject: [PATCH] Remove tab script for being replaced by bootstrap (#549) With the fix of #546 this script isn't needed anymore --- jest/source/js/tab.test.js | 72 -------------------------------------- source/js/index.js | 4 --- source/js/tab.js | 38 -------------------- 3 files changed, 114 deletions(-) delete mode 100644 jest/source/js/tab.test.js delete mode 100644 source/js/tab.js diff --git a/jest/source/js/tab.test.js b/jest/source/js/tab.test.js deleted file mode 100644 index e08ae4e..0000000 --- a/jest/source/js/tab.test.js +++ /dev/null @@ -1,72 +0,0 @@ -import * as fs from 'fs'; -import tabs from '../../../source/js/tab'; -document.body.innerHTML = fs.readFileSync('source/projects.html'); - -describe('Project Tabs', function () { - test('Active projects loads on default', function () { - tabs(); - - const activeProjectsTab = document.getElementById('active-projects-tab'); - const integrationProjectsTab = document.getElementById('integration-projects-tab'); - const inactiveProjectsTab = document.getElementById('inactive-projects-tab'); - - expect(activeProjectsTab.className).toBe('nav-link active'); - expect(integrationProjectsTab.className).toBe('nav-link'); - expect(inactiveProjectsTab.className).toBe('nav-link'); - }); - - test('Active tab selects on click', function () { - tabs(); - - const activeProjectsTab = document.getElementById('active-projects-tab'); - const integrationProjectsTab = document.getElementById('integration-projects-tab'); - const inactiveProjectsTab = document.getElementById('inactive-projects-tab'); - - inactiveProjectsTab.click(); - activeProjectsTab.click(); - - expect(activeProjectsTab.className).toBe('nav-link active'); - expect(integrationProjectsTab.className).toBe('nav-link'); - expect(inactiveProjectsTab.className).toBe('nav-link'); - - expect(document.getElementById('active-projects').className).toContain('show active'); - expect(document.getElementById('integration-projects').className).not.toContain('show active'); - expect(document.getElementById('inactive-projects').className).not.toContain('show active'); - }); - - test('Integration tab selects on click', function () { - tabs(); - - const activeProjectsTab = document.getElementById('active-projects-tab'); - const integrationProjectsTab = document.getElementById('integration-projects-tab'); - const inactiveProjectsTab = document.getElementById('inactive-projects-tab'); - - integrationProjectsTab.click(); - - expect(activeProjectsTab.className).toBe('nav-link'); - expect(integrationProjectsTab.className).toBe('nav-link active'); - expect(inactiveProjectsTab.className).toBe('nav-link'); - - expect(document.getElementById('active-projects').className).not.toContain('show active'); - expect(document.getElementById('integration-projects').className).toContain('show active'); - expect(document.getElementById('inactive-projects').className).not.toContain('show active'); - }); - - test('Inactive tab selects on click', function () { - tabs(); - - const activeProjectsTab = document.getElementById('active-projects-tab'); - const integrationProjectsTab = document.getElementById('integration-projects-tab'); - const inactiveProjectsTab = document.getElementById('inactive-projects-tab'); - - inactiveProjectsTab.click(); - - expect(activeProjectsTab.className).toBe('nav-link'); - expect(integrationProjectsTab.className).toBe('nav-link'); - expect(inactiveProjectsTab.className).toBe('nav-link active'); - - expect(document.getElementById('active-projects').className).not.toContain('show active'); - expect(document.getElementById('integration-projects').className).not.toContain('show active'); - expect(document.getElementById('inactive-projects').className).toContain('show active'); - }); -}); diff --git a/source/js/index.js b/source/js/index.js index cf30961..7031d4c 100644 --- a/source/js/index.js +++ b/source/js/index.js @@ -20,7 +20,3 @@ if ($('#sidebar').length > 0) { new module.default(); }); } - -import(/* webpackChunkName: "tab" */ './tab').then((module) => { - module.default(); -}); diff --git a/source/js/tab.js b/source/js/tab.js deleted file mode 100644 index 1182790..0000000 --- a/source/js/tab.js +++ /dev/null @@ -1,38 +0,0 @@ -const enableTab = function (element) { - element.ariaSelected = true; - element.classList.add('active'); - const id = element.attributes.getNamedItem('aria-controls').nodeValue; - const referredElement = document.getElementById(id); - referredElement.classList.add('show'); - referredElement.classList.add('active'); -}; - -const disableTab = function (element) { - const id = element.attributes.getNamedItem('aria-controls').nodeValue; - const targetElement = document.getElementById(id); - targetElement.classList.remove('show'); - targetElement.classList.remove('active'); - element.ariaSelected = false; - element.classList.remove('active'); -}; - -const selectTab = function (targetElement) { - getAllTabElements().forEach(function (element) { - disableTab(element); - }); - enableTab(targetElement); -}; - -const getAllTabElements = function () { - return document.querySelectorAll('.nav-tabs .nav-link'); -}; - -export default function () { - const tabElements = getAllTabElements(); - - tabElements.forEach(function (tabElement) { - tabElement.addEventListener('click', function (event) { - selectTab(event.target); - }); - }); -}