diff options
| author | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-03-12 23:57:48 +0200 |
|---|---|---|
| committer | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-03-12 23:57:48 +0200 |
| commit | 7aa203150fc1a2ec79c681c13f0d486d531746eb (patch) | |
| tree | f09ba9f69ccd434e9c7fdeb41807fc8008784d8a /html/content/js/Cart | |
| parent | 221af3a2e035bd6689294509feb52f286d3bd5be (diff) | |
| download | classroom-7aa203150fc1a2ec79c681c13f0d486d531746eb.tar.gz classroom-7aa203150fc1a2ec79c681c13f0d486d531746eb.tar.bz2 classroom-7aa203150fc1a2ec79c681c13f0d486d531746eb.zip | |
error pages; js system to support back/front-end
Diffstat (limited to 'html/content/js/Cart')
| -rw-r--r-- | html/content/js/Cart/miniCart.js | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/html/content/js/Cart/miniCart.js b/html/content/js/Cart/miniCart.js deleted file mode 100644 index c02cc38..0000000 --- a/html/content/js/Cart/miniCart.js +++ /dev/null @@ -1,96 +0,0 @@ -$$plugins.define('miniCart', ['dom'], function (element, options, dom) {
- const plugin = this,
- selectors = {
- openMiniCart: '.open-mini-cart', // Link that opens cart
- closeMiniCart: '.close-mini-cart', // Link that closes cart
- contentOuterContainer: '.miniCart', // Container for loader and inner content inner
- loaderContainer: '.miniCart__holder', // Spinner or any other loader
- contentInnerContainer: '.miniCart__main', // Content of mini cart
- cartPluginElement: '[data-plugin-cart]'
- }, cssClasses = {
- opened: 'opened', // Added to 'openMinicart' link when opened
- containerOpened: 'active'
- };
- let pendingXhr, clearOnClick;
-
- function onBodyClick(e) {
- if (element.contains(e.target)) {
- return;
- }
- // case where node is removed from DOM. This means we dont know it's parent. Usually the case of cart remove.
- if (!document.body.contains(e.target)) {
- return;
- }
- close();
- }
-
- function close() {
- // Remove opened class from link
- element.querySelector(selectors.openMiniCart).classList.remove(cssClasses.opened);
-
- //Hide outer element
- var outterContainer = element.querySelector(selectors.contentOuterContainer);
- // dom.hide(outterContainer);
- outterContainer.classList.remove(cssClasses.containerOpened);
- // Hide and reset inner element
- const inner = element.querySelector(selectors.contentInnerContainer);
- //dom.empty(inner);
- // dom.hide(inner);
-
-
- // Show loader again to be ready for next time
- //dom.show(element.querySelector(selectors.loaderContainer));
-
- // Unbind body click
- clearOnClick && clearOnClick();
- }
-
- function open() {
- // Add opened class to link
- element.querySelector(selectors.openMiniCart).classList.add(cssClasses.opened);
-
- // Show outer container
- //dom.show();
- var outterContainer = element.querySelector(selectors.contentOuterContainer);
- outterContainer.style.display = "block";
- outterContainer.classList.add(cssClasses.containerOpened);
- // Listen for body clicks to close
- clearOnClick && clearOnClick();
- clearOnClick = plugin.on('click', document.body, onBodyClick);
- return true;
- }
-
- function updateContent() {
- return;
- if (pendingXhr) {
- return;
- }
- pendingXhr = true;
- http.post(options.RefreshUrl, { responseType: "text" })
- .then(function (r) {
- const container = element.querySelector(selectors.contentInnerContainer);
- container.innerHTML = r.data;
- dom.hide(element.querySelector(selectors.loaderContainer));
- dom.show(container);
- })
- .finally(function () {
- pendingXhr = false;
- });
- }
-
- const openedStateSelector = selectors.openMiniCart + '.' + cssClasses.opened,
- closedStateSelector = selectors.openMiniCart + ':not(.' + cssClasses.opened + ')';
-
- plugin.on('click', element, function (e) {
- if (dom.closest(e.target, openedStateSelector)) {
- e.preventDefault();
- close();
- } else if (dom.closest(e.target, closedStateSelector)) {
-
- if (open()) {
- e.preventDefault();
- updateContent();
- }
- }
- });
-});
|
