From 2daf505f33c7fdea6553dd410fb1337f42da2fc8 Mon Sep 17 00:00:00 2001 From: prospect Date: Wed, 24 Jan 2024 23:26:30 -0500 Subject: [PATCH] reverse traverse implemented --- assets/js/index.js | 143 +++++++++++++++++++++++------------------ assets/js/index.js.map | 2 +- 2 files changed, 80 insertions(+), 65 deletions(-) diff --git a/assets/js/index.js b/assets/js/index.js index 1fd5391..ecd1201 100644 --- a/assets/js/index.js +++ b/assets/js/index.js @@ -48,7 +48,8 @@ __webpack_require__.r(__webpack_exports__); class HammerGestures { constructor() { - this.history = JSON.parse(sessionStorage.getItem('historyArray')) || []; + this.pageTransition = new _PageTransitions__WEBPACK_IMPORTED_MODULE_0__["default"](); + this.history = this.pageTransition.historyArray; this.init(); } init() { @@ -60,56 +61,63 @@ class HammerGestures { hammer.get('swipe').set({ direction: Hammer.DIRECTION_ALL }); - var pageTransition = new _PageTransitions__WEBPACK_IMPORTED_MODULE_0__["default"](); // Add a swipe event listener for swipe left hammer.on('swipeleft', ev => { this.currentUrl = window.location.href; - this.goForward(this.currentUrl); + // this.goForward(this.currentUrl) console.log(ev.type); - // pageTransition.animatePageTransition(() => { - // pageTransition.loadContent(pageTransition.navigateArray('forward'), 'content-container') + // this.pageTransition.animatePageTransition(() => { + // this.pageTransition.loadContent(this.pageTransition.navigateArray('forward'), 'content-container') // }) }); // Add a swipe event listener for swipe right hammer.on('swiperight', ev => { this.currentUrl = window.location.href; - this.goBack(this.currentUrl); + // this.goBack(this.currentUrl) console.log(ev.type); - pageTransition.animatePageTransition(() => { - pageTransition.loadContent(pageTransition.navigateArray('backward'), 'content-container'); - }); + console.log(JSON.parse(sessionStorage.getItem('historyArray'))); + if (JSON.parse(sessionStorage.getItem('historyArray')).length > 1) { + this.pageTransition.animatePageTransition(() => { + this.pageTransition.loadContent(this.pageTransition.navigateArray('backward'), 'content-container'); + }); + } }); }); } - goForward(currentUrl) { - if (this.history.length > 0) { - const nextUrl = this.history[this.history.length - 1]; - if (HammerGestures.isSameDomain(currentUrl, nextUrl)) { - console.log(`Going forward to ${nextUrl}`); - this.history.pop(); - } else { - console.log('Cannot go forward. Different domain.'); - } - } else { - console.log('Cannot go forward. History is empty.'); - } - } - goBack(currentUrl) { - if (this.history.length > 0) { - const previousUrl = this.history.pop(); - if (HammerGestures.isSameDomain(currentUrl, previousUrl)) { - console.log(`Going back to ${previousUrl}`); - } else { - console.log('Cannot go back. Different domain.'); - this.history.push(previousUrl); // Re-add the popped URL - } - } else { - console.log('Cannot go back. History is empty.'); - } - } + + // goForward(currentUrl) { + // if (this.history.length > 0) { + // const nextUrl = this.history[this.history.length - 1] + // if (HammerGestures.isSameDomain(currentUrl, nextUrl)) { + // console.log(`Going forward to ${nextUrl}`) + // this.history.pop() + // } else { + // console.log('Cannot go forward. Different domain.') + // } + // } else { + // console.log('Cannot go forward. History is empty.') + // } + // } + + // goBack(currentUrl) { + // if (this.history.length > 0) { + // const previousUrl = this.history.pop() + // if (HammerGestures.isSameDomain(currentUrl, previousUrl)) { + // console.log(`Going back to ${previousUrl}`) + // } else { + // console.log('Cannot go back. Different domain.') + // this.history.push(previousUrl) // Re-add the popped URL + // return + // } + // } else { + // console.log('Cannot go back. History is empty.') + // return + // } + // } + static isSameDomain(url1, url2) { const domain1 = new URL(url1).hostname; const domain2 = new URL(url2).hostname; @@ -177,6 +185,9 @@ __webpack_require__.r(__webpack_exports__); class PageTransitions { constructor() { + // Check if the history array already exists in the sessionStorage + this.historyArray = JSON.parse(sessionStorage.getItem('historyArray')) || []; + this.navControl = new _NavControl__WEBPACK_IMPORTED_MODULE_1__["default"](); this.init(); } init() { @@ -194,7 +205,6 @@ class PageTransitions { if (link.href === window.location.href) { return; } - this.navControl = new _NavControl__WEBPACK_IMPORTED_MODULE_1__["default"](); if (this.navControl.toggleMenuBtn.classList.contains('active')) { this.navControl.toggleNavMenu(); } @@ -216,6 +226,7 @@ class PageTransitions { this.forms = document.querySelectorAll(selector); this.forms.forEach(form => { form.addEventListener('submit', e => { + console.log(e); e.preventDefault(); if (this.navControl.toggleMenuBtn.classList.contains('active')) { this.navControl.toggleNavMenu(); @@ -223,6 +234,7 @@ class PageTransitions { this.animatePageTransition(() => { this.submitFormAsync(form); }); + this.formResetter(form); }); }); } @@ -242,7 +254,6 @@ class PageTransitions { element.classList.remove('page-transition'); } loadContent(targetUrl, elementId) { - const contentContainer = document.getElementById('content-container'); fetch(targetUrl).then(response => response.text()).then(data => { this.updateContent(data, elementId); history.pushState(null, null, targetUrl); @@ -255,19 +266,9 @@ class PageTransitions { body: formData }).then(response => response.text()).then(data => { // Assuming the response contains the new content to be loaded - const targetUrl = form.action; // You might need to adjust this based on your server's response + const targetUrl = form.action + '?s=' + formData.get('s'); // You might need to adjust this based on your server's response const elementId = 'content-container'; - // Clear the search form - var inputs = form.getElementsByTagName('input'); - Array.from(inputs).forEach(function (input) { - // Reset the input value - input.value = ''; - - // Unfocus the input - input.blur(); - }); - // Update content, push state, and remove transition class this.updateContent(data, elementId); history.pushState(null, null, targetUrl); @@ -290,6 +291,17 @@ class PageTransitions { this.addLinkClickListener('#content-container a'); }).catch(error => console.error('Error submitting form:', error)); } + formResetter(form) { + // Clear the search form + var inputs = form.getElementsByTagName('input'); + Array.from(inputs).forEach(function (input) { + // Reset the input value + input.value = ''; + + // Unfocus the input + input.blur(); + }); + } updateContent(data, elementId) { const contentContainer = document.getElementById('content-container'); const parsedData = new DOMParser().parseFromString(data, 'text/html'); @@ -331,9 +343,6 @@ class PageTransitions { return adminUrlRegex.test(link.href); } createHistoryTracker() { - // Check if the history array already exists in the sessionStorage - let historyArray = JSON.parse(sessionStorage.getItem('historyArray')) || []; - // Get the initial page's href let initialHref = window.location.href; @@ -344,19 +353,28 @@ class PageTransitions { // Check if the currentHref is the same as the last item in the history array // and if it's different from the initialHref - if (currentHref !== initialHref && (historyArray.length === 0 || currentHref !== historyArray[historyArray.length])) { - // Remove all occurrences of the currentHref from historyArray - historyArray = historyArray.filter(url => url !== currentHref); + if (currentHref !== initialHref && (this.historyArray.length === 0 || currentHref !== this.historyArray[this.historyArray.length])) { + // Remove all occurrences of the currentHref from this.historyArray + this.historyArray = this.historyArray.filter(url => url !== currentHref); // Add the currentHref to the history array - historyArray.unshift(initialHref); - initialHref = currentHref; + this.historyArray.unshift(currentHref); + // initialHref = currentHref + // this.historyArray.pop() // Save the updated history array to the sessionStorage - sessionStorage.setItem('historyArray', JSON.stringify(historyArray)); + const itemToRemove = 'https://' + window.location.hostname + '/?s='; + console.log(itemToRemove); + console.log('Yes'); + + // Use the filter method to create a new array without the item to remove + this.historyArray = this.historyArray.filter(item => item !== itemToRemove); + sessionStorage.setItem('historyArray', JSON.stringify(this.historyArray)); + this.historyArray = JSON.parse(sessionStorage.getItem('historyArray')) || []; + // sessionStorage.setItem('historyArray', JSON.stringify(this.historyArray)) // Log the history array (you can replace this with your own logic) - console.log('History Array:', historyArray); + // console.log('History Array:', this.historyArray) } }; @@ -376,15 +394,12 @@ class PageTransitions { observer.observe(document.body, config); } navigateArray(direction) { - // Retrieve the historyArray from storage (assuming it's stored as a JSON string) - const storedHistory = sessionStorage.getItem('historyArray'); - - // Parse the JSON string into an array or provide a default empty array if null - const historyArray = storedHistory ? JSON.parse(storedHistory) : []; if (direction === 'forward') { console.log('Forward Navigation is Null'); } else if (direction === 'backward') { - console.log('Backward Naviation is Allowed And Will Be Implemented Soon'); + this.historyArray.shift(); + sessionStorage.setItem('historyArray', JSON.stringify(this.historyArray)); + return this.historyArray[0]; } } } diff --git a/assets/js/index.js.map b/assets/js/index.js.map index 22f1290..b56e27d 100644 --- a/assets/js/index.js.map +++ b/assets/js/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","mappings":"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","sources":["webpack://starter/./src/modules/CollapsePanel.js","webpack://starter/./src/modules/HammerGestures.js","webpack://starter/./src/modules/NavControl.js","webpack://starter/./src/modules/PageTransitions.js","webpack://starter/./src/modules/SplashScreen.js","webpack://starter/./src/modules/TestModule.js","webpack://starter/webpack/bootstrap","webpack://starter/webpack/runtime/define property getters","webpack://starter/webpack/runtime/hasOwnProperty shorthand","webpack://starter/webpack/runtime/make namespace object","webpack://starter/./src/index.js"],"sourcesContent":["class CollapsePanel {\r\n constructor() {\r\n this.init()\r\n }\r\n\r\n init() {\r\n document.addEventListener('DOMContentLoaded', () => {\r\n this.addToggleCollapseListener('.accordion-toggle')\r\n })\r\n }\r\n\r\n addToggleCollapseListener(selector) {\r\n this.toggles = document.querySelectorAll(selector)\r\n this.toggles.forEach((toggle) => {\r\n toggle.addEventListener('click', () => {\r\n toggle.parentNode.parentNode.classList.toggle('active')\r\n })\r\n })\r\n }\r\n \r\n}\r\n\r\nexport default CollapsePanel\r\n","import PageTransitions from './PageTransitions'\r\n\r\nclass HammerGestures {\r\n constructor() {\r\n this.history = JSON.parse(sessionStorage.getItem('historyArray')) || []\r\n this.init()\r\n }\r\n\r\n init() {\r\n document.addEventListener('DOMContentLoaded', () => {\r\n var element = document.getElementById('content-container')\r\n\r\n // Create a Hammer instance\r\n var hammer = new Hammer(element)\r\n hammer.get('swipe').set({ direction: Hammer.DIRECTION_ALL })\r\n var pageTransition = new PageTransitions()\r\n\r\n // Add a swipe event listener for swipe left\r\n hammer.on('swipeleft', (ev) => {\r\n this.currentUrl = window.location.href\r\n this.goForward(this.currentUrl)\r\n console.log(ev.type)\r\n\r\n // pageTransition.animatePageTransition(() => {\r\n // pageTransition.loadContent(pageTransition.navigateArray('forward'), 'content-container')\r\n // })\r\n })\r\n \r\n // Add a swipe event listener for swipe right\r\n hammer.on('swiperight', (ev) => {\r\n this.currentUrl = window.location.href\r\n this.goBack(this.currentUrl)\r\n console.log(ev.type)\r\n \r\n pageTransition.animatePageTransition(() => {\r\n pageTransition.loadContent(pageTransition.navigateArray('backward'), 'content-container')\r\n })\r\n })\r\n })\r\n }\r\n\r\n goForward(currentUrl) {\r\n if (this.history.length > 0) {\r\n const nextUrl = this.history[this.history.length - 1]\r\n if (HammerGestures.isSameDomain(currentUrl, nextUrl)) {\r\n console.log(`Going forward to ${nextUrl}`)\r\n this.history.pop()\r\n } else {\r\n console.log('Cannot go forward. Different domain.')\r\n }\r\n } else {\r\n console.log('Cannot go forward. History is empty.')\r\n }\r\n }\r\n\r\n goBack(currentUrl) {\r\n if (this.history.length > 0) {\r\n const previousUrl = this.history.pop()\r\n if (HammerGestures.isSameDomain(currentUrl, previousUrl)) {\r\n console.log(`Going back to ${previousUrl}`)\r\n } else {\r\n console.log('Cannot go back. Different domain.')\r\n this.history.push(previousUrl) // Re-add the popped URL\r\n }\r\n } else {\r\n console.log('Cannot go back. History is empty.')\r\n }\r\n }\r\n\r\n static isSameDomain(url1, url2) {\r\n const domain1 = new URL(url1).hostname\r\n const domain2 = new URL(url2).hostname\r\n return domain1 === domain2\r\n }\r\n\r\n}\r\n\r\nexport default HammerGestures\r\n","class Nav {\r\n constructor() {\r\n this.toggleMenuBtn = document.getElementById('toggle-nav')\r\n this.toggleSlideOutMenu = document.getElementById('slide-out-menu')\r\n this.accordions = document.querySelectorAll('#slide-out-menu .accordion')\r\n this.init()\r\n }\r\n\r\n init() {\r\n // Open and Close the Nav Menu\r\n document.addEventListener('DOMContentLoaded', () => {\r\n this.toggleMenuBtn.addEventListener('click', () => this.toggleNavMenu())\r\n })\r\n }\r\n\r\n toggleNavMenu() {\r\n this.toggleMenuBtn.classList.toggle('active')\r\n this.toggleSlideOutMenu.classList.toggle('open')\r\n document.body.classList.toggle('noScroll')\r\n this.collapseAllAccordions()\r\n }\r\n\r\n collapseAllAccordions() {\r\n setTimeout(() => {\r\n this.accordions.forEach((accordion) => {\r\n accordion.classList.remove('active')\r\n })\r\n }, 600)\r\n }\r\n}\r\n\r\nexport default Nav\r\n","import CollapsePanel from './CollapsePanel'\r\nimport NavControl from './NavControl'\r\n\r\nclass PageTransitions {\r\n constructor() {\r\n this.init()\r\n }\r\n\r\n init() {\r\n document.addEventListener('DOMContentLoaded', () => {\r\n this.addLinkClickListener('a')\r\n this.addFormSubmitListener('form')\r\n this.createHistoryTracker()\r\n })\r\n }\r\n\r\n addLinkClickListener(selector) {\r\n this.links = document.querySelectorAll(selector)\r\n this.links.forEach((link) => {\r\n link.addEventListener('click', (e) => {\r\n e.preventDefault()\r\n if (link.href === window.location.href) {\r\n return\r\n }\r\n\r\n this.navControl = new NavControl()\r\n if (this.navControl.toggleMenuBtn.classList.contains('active')) {\r\n this.navControl.toggleNavMenu()\r\n }\r\n if (!this.isExternalLink(link) && this.isWordPressAdminLink(link)) {\r\n window.location.href = link.href // Navigate normally\r\n } else if (!this.isExternalLink(link)) {\r\n this.animatePageTransition(() => {\r\n this.loadContent(link.href, 'content-container')\r\n // window.location.href = link.href\r\n })\r\n } else if (this.isExternalLink(link)) {\r\n link.setAttribute('target', '_blank')\r\n window.open(link.href, '_system')\r\n }\r\n })\r\n })\r\n }\r\n\r\n addFormSubmitListener(selector) {\r\n this.forms = document.querySelectorAll(selector)\r\n this.forms.forEach((form) => {\r\n form.addEventListener('submit', (e) => {\r\n e.preventDefault()\r\n if (this.navControl.toggleMenuBtn.classList.contains('active')) {\r\n this.navControl.toggleNavMenu()\r\n }\r\n this.animatePageTransition(() => {\r\n this.submitFormAsync(form)\r\n })\r\n })\r\n })\r\n }\r\n\r\n animatePageTransition(callback) {\r\n const contentContainer = document.getElementById('content-container')\r\n\r\n // Add the transition class\r\n this.addTransitionClass(contentContainer)\r\n\r\n // Wait for the transition to complete\r\n callback() // Call the callback function (loading content) after the transition\r\n }\r\n\r\n addTransitionClass(element) {\r\n element.classList.add('page-transition')\r\n }\r\n\r\n removeTransitionClass(element) {\r\n element.classList.remove('page-transition')\r\n }\r\n\r\n loadContent(targetUrl, elementId) {\r\n const contentContainer = document.getElementById('content-container')\r\n\r\n fetch(targetUrl)\r\n .then((response) => response.text())\r\n .then((data) => {\r\n this.updateContent(data, elementId)\r\n history.pushState(null, null, targetUrl)\r\n })\r\n .catch((error) => console.error('Error fetching content:', error))\r\n }\r\n\r\n submitFormAsync(form) {\r\n const formData = new FormData(form)\r\n\r\n fetch(form.action, {\r\n method: 'POST',\r\n body: formData,\r\n })\r\n .then((response) => response.text())\r\n .then((data) => {\r\n // Assuming the response contains the new content to be loaded\r\n const targetUrl = form.action // You might need to adjust this based on your server's response\r\n const elementId = 'content-container'\r\n\r\n // Clear the search form\r\n var inputs = form.getElementsByTagName('input')\r\n\r\n Array.from(inputs).forEach(function (input) {\r\n // Reset the input value\r\n input.value = ''\r\n\r\n // Unfocus the input\r\n input.blur()\r\n })\r\n\r\n // Update content, push state, and remove transition class\r\n this.updateContent(data, elementId)\r\n history.pushState(null, null, targetUrl)\r\n\r\n // Trigger removal of transition class after fetching data\r\n const contentContainer = document.getElementById(elementId)\r\n setTimeout(() => {\r\n this.removeTransitionClass(contentContainer)\r\n }, 300)\r\n\r\n // Update the page title\r\n const newTitle = parsedData.querySelector('title')\r\n if (newTitle) {\r\n document.title = newTitle.textContent\r\n }\r\n\r\n // Initialize or update dynamic components\r\n this.collapsePanel = new CollapsePanel()\r\n this.collapsePanel.addToggleCollapseListener('#content-container .accordion-toggle')\r\n this.addLinkClickListener('#content-container a')\r\n })\r\n .catch((error) => console.error('Error submitting form:', error))\r\n }\r\n\r\n updateContent(data, elementId) {\r\n const contentContainer = document.getElementById('content-container')\r\n const parsedData = new DOMParser().parseFromString(data, 'text/html')\r\n const targetElement = parsedData.getElementById(elementId)\r\n\r\n if (targetElement) {\r\n const newContent = targetElement.innerHTML\r\n\r\n // Update the content container\r\n\r\n contentContainer.innerHTML = newContent\r\n\r\n // Trigger removal of transition class after fetching data\r\n setTimeout(() => {\r\n this.removeTransitionClass(contentContainer)\r\n }, 300)\r\n\r\n // Update the page title\r\n const newTitle = parsedData.querySelector('title')\r\n if (newTitle) {\r\n document.title = newTitle.textContent\r\n }\r\n\r\n // Initialize or update dynamic components\r\n this.collapsePanel = new CollapsePanel()\r\n this.collapsePanel.addToggleCollapseListener('#content-container .accordion-toggle')\r\n this.addLinkClickListener('#content-container a')\r\n } else {\r\n console.error(`Element with ID '${elementId}' not found in the fetched data`)\r\n }\r\n }\r\n\r\n isExternalLink(link) {\r\n const currentDomain = window.location.hostname\r\n const linkDomain = link.hostname\r\n\r\n return linkDomain !== currentDomain\r\n }\r\n\r\n isWordPressAdminLink(link) {\r\n // Customize the condition based on your WordPress admin URL structure\r\n const adminUrlRegex = /^.*\\/wp-admin\\//\r\n return adminUrlRegex.test(link.href)\r\n }\r\n\r\n createHistoryTracker() {\r\n // Check if the history array already exists in the sessionStorage\r\n let historyArray = JSON.parse(sessionStorage.getItem('historyArray')) || []\r\n\r\n // Get the initial page's href\r\n let initialHref = window.location.href\r\n\r\n // Function to update history array and log it\r\n const updateHistory = () => {\r\n // Get the current page's href\r\n const currentHref = window.location.href\r\n\r\n // Check if the currentHref is the same as the last item in the history array\r\n // and if it's different from the initialHref\r\n if (currentHref !== initialHref && (historyArray.length === 0 || currentHref !== historyArray[historyArray.length])) {\r\n // Remove all occurrences of the currentHref from historyArray\r\n historyArray = historyArray.filter((url) => url !== currentHref)\r\n\r\n // Add the currentHref to the history array\r\n historyArray.unshift(initialHref)\r\n initialHref = currentHref\r\n\r\n // Save the updated history array to the sessionStorage\r\n sessionStorage.setItem('historyArray', JSON.stringify(historyArray))\r\n\r\n // Log the history array (you can replace this with your own logic)\r\n console.log('History Array:', historyArray)\r\n }\r\n }\r\n\r\n // Call the updateHistory function on initial load\r\n updateHistory()\r\n\r\n // Use MutationObserver to observe changes in the DOM\r\n const observer = new MutationObserver(updateHistory)\r\n\r\n // Specify the target node and the type of mutations to observe\r\n const config = { childList: true, subtree: true }\r\n\r\n // Start observing the target node for configured mutations\r\n observer.observe(document.body, config)\r\n }\r\n\r\n navigateArray(direction) {\r\n // Retrieve the historyArray from storage (assuming it's stored as a JSON string)\r\n const storedHistory = sessionStorage.getItem('historyArray')\r\n\r\n // Parse the JSON string into an array or provide a default empty array if null\r\n const historyArray = storedHistory ? JSON.parse(storedHistory) : []\r\n\r\n if (direction === 'forward') {\r\n console.log('Forward Navigation is Null')\r\n } else if (direction === 'backward') {\r\n console.log('Backward Naviation is Allowed And Will Be Implemented Soon')\r\n }\r\n }\r\n}\r\n\r\nexport default PageTransitions\r\n","class SplashScreen {\r\n constructor() {\r\n this.splashScreen = document.getElementById('splash-screen')\r\n this.enterButton = document.getElementById('app-enter')\r\n this.headerNav = document.getElementById('header-nav')\r\n this.footerNav = document.getElementById('footer-nav')\r\n\r\n this.init()\r\n }\r\n\r\n init() {\r\n document.addEventListener('DOMContentLoaded', () => {\r\n this.checkFirstVisit()\r\n })\r\n }\r\n\r\n checkFirstVisit() {\r\n if (!sessionStorage.getItem('visited')) {\r\n this.showSplashScreen()\r\n this.addEventListeners()\r\n }\r\n }\r\n\r\n showSplashScreen() {\r\n this.splashScreen.classList.remove('hidden')\r\n this.headerNav.classList.add('out-of-view')\r\n this.footerNav.classList.add('out-of-view')\r\n }\r\n\r\n hideSplashScreen() {\r\n this.splashScreen.classList.add('close')\r\n setTimeout(() => {\r\n this.headerNav.classList.add('in-view')\r\n this.footerNav.classList.add('in-view')\r\n this.splashScreen.classList.add('hidden')\r\n }, 600)\r\n setTimeout(() => {\r\n this.headerNav.classList.remove('out-of-view')\r\n this.footerNav.classList.remove('out-of-view')\r\n this.headerNav.classList.remove('in-view')\r\n this.footerNav.classList.remove('in-view')\r\n }, 2000)\r\n }\r\n\r\n addEventListeners() {\r\n this.enterButton.addEventListener('click', () => {\r\n this.hideSplashScreen()\r\n sessionStorage.setItem('visited', true)\r\n })\r\n }\r\n}\r\n\r\nexport default SplashScreen\r\n","class Test {\r\n constructor() {\r\n console.log('This Module is for testing purposes')\r\n }\r\n}\r\n\r\nexport default Test\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// Our modules / classes\r\n// Import modules e.g import MobileMenu from \"./modules/MobileMenu\"\r\nimport Test from './modules/TestModule'\r\nimport NavControl from './modules/NavControl'\r\nimport CollapsePanel from './modules/CollapsePanel'\r\nimport SplashScreen from './modules/SplashScreen'\r\nimport PageTransitions from './modules/PageTransitions'\r\nimport HammerGestures from './modules/HammerGestures'\r\n\r\n// Instantiate a new object using our modules/classes\r\n// e.g var mobileMenu = new MobileMenu()\r\n\r\nconst testModule = new Test()\r\nconst navControl = new NavControl()\r\nconst collapsePanel = new CollapsePanel()\r\nconst splashScreen = new SplashScreen()\r\nconst pageTransitions = new PageTransitions()\r\nconst hammerGestures = new HammerGestures()\r\n"],"names":["CollapsePanel","constructor","init","document","addEventListener","addToggleCollapseListener","selector","toggles","querySelectorAll","forEach","toggle","parentNode","classList","PageTransitions","HammerGestures","history","JSON","parse","sessionStorage","getItem","element","getElementById","hammer","Hammer","get","set","direction","DIRECTION_ALL","pageTransition","on","ev","currentUrl","window","location","href","goForward","console","log","type","goBack","animatePageTransition","loadContent","navigateArray","length","nextUrl","isSameDomain","pop","previousUrl","push","url1","url2","domain1","URL","hostname","domain2","Nav","toggleMenuBtn","toggleSlideOutMenu","accordions","toggleNavMenu","body","collapseAllAccordions","setTimeout","accordion","remove","NavControl","addLinkClickListener","addFormSubmitListener","createHistoryTracker","links","link","e","preventDefault","navControl","contains","isExternalLink","isWordPressAdminLink","setAttribute","open","forms","form","submitFormAsync","callback","contentContainer","addTransitionClass","add","removeTransitionClass","targetUrl","elementId","fetch","then","response","text","data","updateContent","pushState","catch","error","formData","FormData","action","method","inputs","getElementsByTagName","Array","from","input","value","blur","newTitle","parsedData","querySelector","title","textContent","collapsePanel","DOMParser","parseFromString","targetElement","newContent","innerHTML","currentDomain","linkDomain","adminUrlRegex","test","historyArray","initialHref","updateHistory","currentHref","filter","url","unshift","setItem","stringify","observer","MutationObserver","config","childList","subtree","observe","storedHistory","SplashScreen","splashScreen","enterButton","headerNav","footerNav","checkFirstVisit","showSplashScreen","addEventListeners","hideSplashScreen","Test","testModule","pageTransitions","hammerGestures"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"index.js","mappings":"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","sources":["webpack://starter/./src/modules/CollapsePanel.js","webpack://starter/./src/modules/HammerGestures.js","webpack://starter/./src/modules/NavControl.js","webpack://starter/./src/modules/PageTransitions.js","webpack://starter/./src/modules/SplashScreen.js","webpack://starter/./src/modules/TestModule.js","webpack://starter/webpack/bootstrap","webpack://starter/webpack/runtime/define property getters","webpack://starter/webpack/runtime/hasOwnProperty shorthand","webpack://starter/webpack/runtime/make namespace object","webpack://starter/./src/index.js"],"sourcesContent":["class CollapsePanel {\r\n constructor() {\r\n this.init()\r\n }\r\n\r\n init() {\r\n document.addEventListener('DOMContentLoaded', () => {\r\n this.addToggleCollapseListener('.accordion-toggle')\r\n })\r\n }\r\n\r\n addToggleCollapseListener(selector) {\r\n this.toggles = document.querySelectorAll(selector)\r\n this.toggles.forEach((toggle) => {\r\n toggle.addEventListener('click', () => {\r\n toggle.parentNode.parentNode.classList.toggle('active')\r\n })\r\n })\r\n }\r\n \r\n}\r\n\r\nexport default CollapsePanel\r\n","import PageTransitions from './PageTransitions'\r\n\r\nclass HammerGestures {\r\n constructor() {\r\n this.pageTransition = new PageTransitions()\r\n this.history = this.pageTransition.historyArray\r\n this.init()\r\n }\r\n\r\n init() {\r\n document.addEventListener('DOMContentLoaded', () => {\r\n var element = document.getElementById('content-container')\r\n\r\n // Create a Hammer instance\r\n var hammer = new Hammer(element)\r\n hammer.get('swipe').set({ direction: Hammer.DIRECTION_ALL })\r\n\r\n // Add a swipe event listener for swipe left\r\n hammer.on('swipeleft', (ev) => {\r\n this.currentUrl = window.location.href\r\n // this.goForward(this.currentUrl)\r\n console.log(ev.type)\r\n\r\n // this.pageTransition.animatePageTransition(() => {\r\n // this.pageTransition.loadContent(this.pageTransition.navigateArray('forward'), 'content-container')\r\n // })\r\n })\r\n\r\n // Add a swipe event listener for swipe right\r\n hammer.on('swiperight', (ev) => {\r\n this.currentUrl = window.location.href\r\n // this.goBack(this.currentUrl)\r\n console.log(ev.type)\r\n console.log(JSON.parse(sessionStorage.getItem('historyArray')))\r\n if (JSON.parse(sessionStorage.getItem('historyArray')).length > 1) {\r\n this.pageTransition.animatePageTransition(() => {\r\n this.pageTransition.loadContent(this.pageTransition.navigateArray('backward'), 'content-container')\r\n })\r\n }\r\n })\r\n })\r\n }\r\n\r\n // goForward(currentUrl) {\r\n // if (this.history.length > 0) {\r\n // const nextUrl = this.history[this.history.length - 1]\r\n // if (HammerGestures.isSameDomain(currentUrl, nextUrl)) {\r\n // console.log(`Going forward to ${nextUrl}`)\r\n // this.history.pop()\r\n // } else {\r\n // console.log('Cannot go forward. Different domain.')\r\n // }\r\n // } else {\r\n // console.log('Cannot go forward. History is empty.')\r\n // }\r\n // }\r\n\r\n // goBack(currentUrl) {\r\n // if (this.history.length > 0) {\r\n // const previousUrl = this.history.pop()\r\n // if (HammerGestures.isSameDomain(currentUrl, previousUrl)) {\r\n // console.log(`Going back to ${previousUrl}`)\r\n // } else {\r\n // console.log('Cannot go back. Different domain.')\r\n // this.history.push(previousUrl) // Re-add the popped URL\r\n // return\r\n // }\r\n // } else {\r\n // console.log('Cannot go back. History is empty.')\r\n // return\r\n // }\r\n // }\r\n\r\n static isSameDomain(url1, url2) {\r\n const domain1 = new URL(url1).hostname\r\n const domain2 = new URL(url2).hostname\r\n return domain1 === domain2\r\n }\r\n}\r\n\r\nexport default HammerGestures\r\n","class Nav {\r\n constructor() {\r\n this.toggleMenuBtn = document.getElementById('toggle-nav')\r\n this.toggleSlideOutMenu = document.getElementById('slide-out-menu')\r\n this.accordions = document.querySelectorAll('#slide-out-menu .accordion')\r\n this.init()\r\n }\r\n\r\n init() {\r\n // Open and Close the Nav Menu\r\n document.addEventListener('DOMContentLoaded', () => {\r\n this.toggleMenuBtn.addEventListener('click', () => this.toggleNavMenu())\r\n })\r\n }\r\n\r\n toggleNavMenu() {\r\n this.toggleMenuBtn.classList.toggle('active')\r\n this.toggleSlideOutMenu.classList.toggle('open')\r\n document.body.classList.toggle('noScroll')\r\n this.collapseAllAccordions()\r\n }\r\n\r\n collapseAllAccordions() {\r\n setTimeout(() => {\r\n this.accordions.forEach((accordion) => {\r\n accordion.classList.remove('active')\r\n })\r\n }, 600)\r\n }\r\n}\r\n\r\nexport default Nav\r\n","import CollapsePanel from './CollapsePanel'\r\nimport NavControl from './NavControl'\r\n\r\nclass PageTransitions {\r\n constructor() {\r\n // Check if the history array already exists in the sessionStorage\r\n this.historyArray = JSON.parse(sessionStorage.getItem('historyArray')) || []\r\n this.navControl = new NavControl()\r\n this.init()\r\n }\r\n\r\n init() {\r\n document.addEventListener('DOMContentLoaded', () => {\r\n this.addLinkClickListener('a')\r\n this.addFormSubmitListener('form')\r\n this.createHistoryTracker()\r\n })\r\n }\r\n\r\n addLinkClickListener(selector) {\r\n this.links = document.querySelectorAll(selector)\r\n this.links.forEach((link) => {\r\n link.addEventListener('click', (e) => {\r\n e.preventDefault()\r\n if (link.href === window.location.href) {\r\n return\r\n }\r\n\r\n if (this.navControl.toggleMenuBtn.classList.contains('active')) {\r\n this.navControl.toggleNavMenu()\r\n }\r\n if (!this.isExternalLink(link) && this.isWordPressAdminLink(link)) {\r\n window.location.href = link.href // Navigate normally\r\n } else if (!this.isExternalLink(link)) {\r\n this.animatePageTransition(() => {\r\n this.loadContent(link.href, 'content-container')\r\n // window.location.href = link.href\r\n })\r\n } else if (this.isExternalLink(link)) {\r\n link.setAttribute('target', '_blank')\r\n window.open(link.href, '_system')\r\n }\r\n })\r\n })\r\n }\r\n\r\n addFormSubmitListener(selector) {\r\n this.forms = document.querySelectorAll(selector)\r\n this.forms.forEach((form) => {\r\n form.addEventListener('submit', (e) => {\r\n console.log(e)\r\n e.preventDefault()\r\n if (this.navControl.toggleMenuBtn.classList.contains('active')) {\r\n this.navControl.toggleNavMenu()\r\n }\r\n this.animatePageTransition(() => {\r\n this.submitFormAsync(form)\r\n })\r\n\r\n this.formResetter(form)\r\n })\r\n })\r\n }\r\n\r\n animatePageTransition(callback) {\r\n const contentContainer = document.getElementById('content-container')\r\n\r\n // Add the transition class\r\n this.addTransitionClass(contentContainer)\r\n\r\n // Wait for the transition to complete\r\n callback() // Call the callback function (loading content) after the transition\r\n }\r\n\r\n addTransitionClass(element) {\r\n element.classList.add('page-transition')\r\n }\r\n\r\n removeTransitionClass(element) {\r\n element.classList.remove('page-transition')\r\n }\r\n\r\n loadContent(targetUrl, elementId) {\r\n fetch(targetUrl)\r\n .then((response) => response.text())\r\n .then((data) => {\r\n this.updateContent(data, elementId)\r\n history.pushState(null, null, targetUrl)\r\n })\r\n .catch((error) => console.error('Error fetching content:', error))\r\n }\r\n\r\n submitFormAsync(form) {\r\n const formData = new FormData(form)\r\n\r\n fetch(form.action, {\r\n method: 'POST',\r\n body: formData,\r\n })\r\n .then((response) => response.text())\r\n .then((data) => {\r\n // Assuming the response contains the new content to be loaded\r\n const targetUrl = form.action + '?s=' + formData.get('s') // You might need to adjust this based on your server's response\r\n const elementId = 'content-container'\r\n\r\n // Update content, push state, and remove transition class\r\n this.updateContent(data, elementId)\r\n history.pushState(null, null, targetUrl)\r\n\r\n // Trigger removal of transition class after fetching data\r\n const contentContainer = document.getElementById(elementId)\r\n setTimeout(() => {\r\n this.removeTransitionClass(contentContainer)\r\n }, 300)\r\n\r\n // Update the page title\r\n const newTitle = parsedData.querySelector('title')\r\n if (newTitle) {\r\n document.title = newTitle.textContent\r\n }\r\n\r\n // Initialize or update dynamic components\r\n this.collapsePanel = new CollapsePanel()\r\n this.collapsePanel.addToggleCollapseListener('#content-container .accordion-toggle')\r\n this.addLinkClickListener('#content-container a')\r\n })\r\n .catch((error) => console.error('Error submitting form:', error))\r\n }\r\n\r\n formResetter(form) {\r\n // Clear the search form\r\n var inputs = form.getElementsByTagName('input')\r\n\r\n Array.from(inputs).forEach(function (input) {\r\n // Reset the input value\r\n input.value = ''\r\n\r\n // Unfocus the input\r\n input.blur()\r\n })\r\n }\r\n\r\n updateContent(data, elementId) {\r\n const contentContainer = document.getElementById('content-container')\r\n const parsedData = new DOMParser().parseFromString(data, 'text/html')\r\n const targetElement = parsedData.getElementById(elementId)\r\n\r\n if (targetElement) {\r\n const newContent = targetElement.innerHTML\r\n\r\n // Update the content container\r\n\r\n contentContainer.innerHTML = newContent\r\n\r\n // Trigger removal of transition class after fetching data\r\n setTimeout(() => {\r\n this.removeTransitionClass(contentContainer)\r\n }, 300)\r\n\r\n // Update the page title\r\n const newTitle = parsedData.querySelector('title')\r\n if (newTitle) {\r\n document.title = newTitle.textContent\r\n }\r\n\r\n // Initialize or update dynamic components\r\n this.collapsePanel = new CollapsePanel()\r\n this.collapsePanel.addToggleCollapseListener('#content-container .accordion-toggle')\r\n this.addLinkClickListener('#content-container a')\r\n } else {\r\n console.error(`Element with ID '${elementId}' not found in the fetched data`)\r\n }\r\n }\r\n\r\n isExternalLink(link) {\r\n const currentDomain = window.location.hostname\r\n const linkDomain = link.hostname\r\n\r\n return linkDomain !== currentDomain\r\n }\r\n\r\n isWordPressAdminLink(link) {\r\n // Customize the condition based on your WordPress admin URL structure\r\n const adminUrlRegex = /^.*\\/wp-admin\\//\r\n return adminUrlRegex.test(link.href)\r\n }\r\n\r\n createHistoryTracker() {\r\n // Get the initial page's href\r\n let initialHref = window.location.href\r\n\r\n // Function to update history array and log it\r\n const updateHistory = () => {\r\n // Get the current page's href\r\n const currentHref = window.location.href\r\n\r\n // Check if the currentHref is the same as the last item in the history array\r\n // and if it's different from the initialHref\r\n if (currentHref !== initialHref && (this.historyArray.length === 0 || currentHref !== this.historyArray[this.historyArray.length])) {\r\n // Remove all occurrences of the currentHref from this.historyArray\r\n this.historyArray = this.historyArray.filter((url) => url !== currentHref)\r\n\r\n // Add the currentHref to the history array\r\n this.historyArray.unshift(currentHref)\r\n // initialHref = currentHref\r\n // this.historyArray.pop()\r\n\r\n // Save the updated history array to the sessionStorage\r\n const itemToRemove = 'https://' + window.location.hostname + '/?s='\r\n console.log(itemToRemove)\r\n console.log('Yes')\r\n\r\n // Use the filter method to create a new array without the item to remove\r\n this.historyArray = this.historyArray.filter((item) => item !== itemToRemove)\r\n\r\n sessionStorage.setItem('historyArray', JSON.stringify(this.historyArray))\r\n this.historyArray = JSON.parse(sessionStorage.getItem('historyArray')) || []\r\n // sessionStorage.setItem('historyArray', JSON.stringify(this.historyArray))\r\n\r\n // Log the history array (you can replace this with your own logic)\r\n // console.log('History Array:', this.historyArray)\r\n }\r\n }\r\n\r\n // Call the updateHistory function on initial load\r\n updateHistory()\r\n\r\n // Use MutationObserver to observe changes in the DOM\r\n const observer = new MutationObserver(updateHistory)\r\n\r\n // Specify the target node and the type of mutations to observe\r\n const config = { childList: true, subtree: true }\r\n\r\n // Start observing the target node for configured mutations\r\n observer.observe(document.body, config)\r\n }\r\n\r\n navigateArray(direction) {\r\n if (direction === 'forward') {\r\n console.log('Forward Navigation is Null')\r\n } else if (direction === 'backward') {\r\n this.historyArray.shift()\r\n sessionStorage.setItem('historyArray', JSON.stringify(this.historyArray))\r\n return this.historyArray[0]\r\n }\r\n }\r\n}\r\n\r\nexport default PageTransitions\r\n","class SplashScreen {\r\n constructor() {\r\n this.splashScreen = document.getElementById('splash-screen')\r\n this.enterButton = document.getElementById('app-enter')\r\n this.headerNav = document.getElementById('header-nav')\r\n this.footerNav = document.getElementById('footer-nav')\r\n\r\n this.init()\r\n }\r\n\r\n init() {\r\n document.addEventListener('DOMContentLoaded', () => {\r\n this.checkFirstVisit()\r\n })\r\n }\r\n\r\n checkFirstVisit() {\r\n if (!sessionStorage.getItem('visited')) {\r\n this.showSplashScreen()\r\n this.addEventListeners()\r\n }\r\n }\r\n\r\n showSplashScreen() {\r\n this.splashScreen.classList.remove('hidden')\r\n this.headerNav.classList.add('out-of-view')\r\n this.footerNav.classList.add('out-of-view')\r\n }\r\n\r\n hideSplashScreen() {\r\n this.splashScreen.classList.add('close')\r\n setTimeout(() => {\r\n this.headerNav.classList.add('in-view')\r\n this.footerNav.classList.add('in-view')\r\n this.splashScreen.classList.add('hidden')\r\n }, 600)\r\n setTimeout(() => {\r\n this.headerNav.classList.remove('out-of-view')\r\n this.footerNav.classList.remove('out-of-view')\r\n this.headerNav.classList.remove('in-view')\r\n this.footerNav.classList.remove('in-view')\r\n }, 2000)\r\n }\r\n\r\n addEventListeners() {\r\n this.enterButton.addEventListener('click', () => {\r\n this.hideSplashScreen()\r\n sessionStorage.setItem('visited', true)\r\n })\r\n }\r\n}\r\n\r\nexport default SplashScreen\r\n","class Test {\r\n constructor() {\r\n console.log('This Module is for testing purposes')\r\n }\r\n}\r\n\r\nexport default Test\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// Our modules / classes\r\n// Import modules e.g import MobileMenu from \"./modules/MobileMenu\"\r\nimport Test from './modules/TestModule'\r\nimport NavControl from './modules/NavControl'\r\nimport CollapsePanel from './modules/CollapsePanel'\r\nimport SplashScreen from './modules/SplashScreen'\r\nimport PageTransitions from './modules/PageTransitions'\r\nimport HammerGestures from './modules/HammerGestures'\r\n\r\n// Instantiate a new object using our modules/classes\r\n// e.g var mobileMenu = new MobileMenu()\r\n\r\nconst testModule = new Test()\r\nconst navControl = new NavControl()\r\nconst collapsePanel = new CollapsePanel()\r\nconst splashScreen = new SplashScreen()\r\nconst pageTransitions = new PageTransitions()\r\nconst hammerGestures = new HammerGestures()\r\n"],"names":["CollapsePanel","constructor","init","document","addEventListener","addToggleCollapseListener","selector","toggles","querySelectorAll","forEach","toggle","parentNode","classList","PageTransitions","HammerGestures","pageTransition","history","historyArray","element","getElementById","hammer","Hammer","get","set","direction","DIRECTION_ALL","on","ev","currentUrl","window","location","href","console","log","type","JSON","parse","sessionStorage","getItem","length","animatePageTransition","loadContent","navigateArray","isSameDomain","url1","url2","domain1","URL","hostname","domain2","Nav","toggleMenuBtn","toggleSlideOutMenu","accordions","toggleNavMenu","body","collapseAllAccordions","setTimeout","accordion","remove","NavControl","navControl","addLinkClickListener","addFormSubmitListener","createHistoryTracker","links","link","e","preventDefault","contains","isExternalLink","isWordPressAdminLink","setAttribute","open","forms","form","submitFormAsync","formResetter","callback","contentContainer","addTransitionClass","add","removeTransitionClass","targetUrl","elementId","fetch","then","response","text","data","updateContent","pushState","catch","error","formData","FormData","action","method","newTitle","parsedData","querySelector","title","textContent","collapsePanel","inputs","getElementsByTagName","Array","from","input","value","blur","DOMParser","parseFromString","targetElement","newContent","innerHTML","currentDomain","linkDomain","adminUrlRegex","test","initialHref","updateHistory","currentHref","filter","url","unshift","itemToRemove","item","setItem","stringify","observer","MutationObserver","config","childList","subtree","observe","shift","SplashScreen","splashScreen","enterButton","headerNav","footerNav","checkFirstVisit","showSplashScreen","addEventListeners","hideSplashScreen","Test","testModule","pageTransitions","hammerGestures"],"sourceRoot":""} \ No newline at end of file