feedback implemented
This commit is contained in:
@@ -129,6 +129,59 @@ class HammerGestures {
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/modules/ImageModal.js":
|
||||
/*!***********************************!*\
|
||||
!*** ./src/modules/ImageModal.js ***!
|
||||
\***********************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
||||
/* harmony export */ });
|
||||
class ImageModal {
|
||||
constructor() {
|
||||
this.init();
|
||||
}
|
||||
init() {
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
this.addModalClickListener('.modalOpen');
|
||||
this.addModalCloseListener('.modalClose');
|
||||
});
|
||||
}
|
||||
addModalClickListener(selector) {
|
||||
this.modalButtons = document.querySelectorAll(selector);
|
||||
this.modalButtons.forEach(modalButton => {
|
||||
modalButton.addEventListener('click', e => {
|
||||
this.openModal(e);
|
||||
});
|
||||
});
|
||||
}
|
||||
addModalCloseListener(selector) {
|
||||
this.modalCloseButtons = document.querySelectorAll(selector);
|
||||
this.modalCloseButtons.forEach(modalCloseButton => {
|
||||
modalCloseButton.addEventListener('click', e => {
|
||||
this.closeModal(e);
|
||||
});
|
||||
});
|
||||
}
|
||||
openModal(e) {
|
||||
var modal = e.target.nextElementSibling;
|
||||
|
||||
// Show the modal with animation
|
||||
modal.classList.add('modal--visible');
|
||||
}
|
||||
closeModal(e) {
|
||||
var modal = e.target.closest('.modal');
|
||||
|
||||
// Hide the modal with animation
|
||||
modal.classList.remove('modal--visible');
|
||||
}
|
||||
}
|
||||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ImageModal);
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/modules/NavControl.js":
|
||||
/*!***********************************!*\
|
||||
!*** ./src/modules/NavControl.js ***!
|
||||
@@ -144,6 +197,7 @@ class Nav {
|
||||
this.toggleMenuBtn = document.getElementById('toggle-nav');
|
||||
this.toggleSlideOutMenu = document.getElementById('slide-out-menu');
|
||||
this.accordions = document.querySelectorAll('#slide-out-menu .accordion');
|
||||
this.backButton = document.getElementById('back-button');
|
||||
this.init();
|
||||
}
|
||||
init() {
|
||||
@@ -191,6 +245,8 @@ __webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export */ });
|
||||
/* harmony import */ var _CollapsePanel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CollapsePanel */ "./src/modules/CollapsePanel.js");
|
||||
/* harmony import */ var _NavControl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./NavControl */ "./src/modules/NavControl.js");
|
||||
/* harmony import */ var _ImageModal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ImageModal */ "./src/modules/ImageModal.js");
|
||||
|
||||
|
||||
|
||||
class PageTransitions {
|
||||
@@ -198,15 +254,26 @@ class PageTransitions {
|
||||
// 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.imageModal = new _ImageModal__WEBPACK_IMPORTED_MODULE_2__["default"]();
|
||||
this.init();
|
||||
}
|
||||
init() {
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
this.addLinkClickListener('a');
|
||||
this.addFormSubmitListener('form');
|
||||
this.addBackButtonListener();
|
||||
this.createHistoryTracker();
|
||||
});
|
||||
}
|
||||
addBackButtonListener() {
|
||||
this.navControl.backButton.addEventListener('click', () => {
|
||||
if (JSON.parse(sessionStorage.getItem('historyArray')).length > 1) {
|
||||
this.animatePageTransition(() => {
|
||||
this.loadContent(this.navigateArray('backward'), 'content-container');
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
addLinkClickListener(selector) {
|
||||
this.links = document.querySelectorAll(selector);
|
||||
this.links.forEach(link => {
|
||||
@@ -331,6 +398,8 @@ class PageTransitions {
|
||||
this.collapsePanel = new _CollapsePanel__WEBPACK_IMPORTED_MODULE_0__["default"]();
|
||||
this.collapsePanel.addToggleCollapseListener('#content-container .accordion-toggle');
|
||||
this.addLinkClickListener('#content-container a');
|
||||
this.imageModal.addModalClickListener('#content-container .modalOpen');
|
||||
this.imageModal.addModalCloseListener('#content-container .modalClose');
|
||||
} else {
|
||||
console.error(`Element with ID '${elementId}' not found in the fetched data`);
|
||||
}
|
||||
@@ -542,8 +611,9 @@ __webpack_require__.r(__webpack_exports__);
|
||||
/* harmony import */ var _modules_NavControl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/NavControl */ "./src/modules/NavControl.js");
|
||||
/* harmony import */ var _modules_CollapsePanel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/CollapsePanel */ "./src/modules/CollapsePanel.js");
|
||||
/* harmony import */ var _modules_SplashScreen__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules/SplashScreen */ "./src/modules/SplashScreen.js");
|
||||
/* harmony import */ var _modules_PageTransitions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modules/PageTransitions */ "./src/modules/PageTransitions.js");
|
||||
/* harmony import */ var _modules_HammerGestures__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/HammerGestures */ "./src/modules/HammerGestures.js");
|
||||
/* harmony import */ var _modules_ImageModal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modules/ImageModal */ "./src/modules/ImageModal.js");
|
||||
/* harmony import */ var _modules_PageTransitions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/PageTransitions */ "./src/modules/PageTransitions.js");
|
||||
/* harmony import */ var _modules_HammerGestures__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/HammerGestures */ "./src/modules/HammerGestures.js");
|
||||
// Our modules / classes
|
||||
// Import modules e.g import MobileMenu from "./modules/MobileMenu"
|
||||
|
||||
@@ -553,6 +623,7 @@ __webpack_require__.r(__webpack_exports__);
|
||||
|
||||
|
||||
|
||||
|
||||
// Instantiate a new object using our modules/classes
|
||||
// e.g var mobileMenu = new MobileMenu()
|
||||
|
||||
@@ -560,8 +631,9 @@ const testModule = new _modules_TestModule__WEBPACK_IMPORTED_MODULE_0__["default
|
||||
const navControl = new _modules_NavControl__WEBPACK_IMPORTED_MODULE_1__["default"]();
|
||||
const collapsePanel = new _modules_CollapsePanel__WEBPACK_IMPORTED_MODULE_2__["default"]();
|
||||
const splashScreen = new _modules_SplashScreen__WEBPACK_IMPORTED_MODULE_3__["default"]();
|
||||
const pageTransitions = new _modules_PageTransitions__WEBPACK_IMPORTED_MODULE_4__["default"]();
|
||||
const hammerGestures = new _modules_HammerGestures__WEBPACK_IMPORTED_MODULE_5__["default"]();
|
||||
const imageModal = new _modules_ImageModal__WEBPACK_IMPORTED_MODULE_4__["default"]();
|
||||
const pageTransitions = new _modules_PageTransitions__WEBPACK_IMPORTED_MODULE_5__["default"]();
|
||||
const hammerGestures = new _modules_HammerGestures__WEBPACK_IMPORTED_MODULE_6__["default"]();
|
||||
})();
|
||||
|
||||
/******/ })()
|
||||
|
Reference in New Issue
Block a user