{"version":3,"file":"shopping_cart.min.js","sources":["https:\/\/slmetrics.ru\/local\/course_store\/amd\/src\/shopping_cart.js"],"sourcesContent":["\/**\n * JS \u043c\u043e\u0434\u0443\u043b\u044c \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u041a\u043e\u0440\u0437\u0438\u043d\u044b \u043d\u0430 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445\n *\n * @module local_course_store\/shopping_cart\n *\n *\/\n\nimport Selectors from \".\/local\/shopping_cart\/selectors\";\nimport Events from '.\/local\/shopping_cart\/events';\nimport * as Actions from '.\/local\/shopping_cart\/actions';\nimport Prefetch from \"core\/prefetch\";\nimport Log from 'core\/log';\n\nconst initEventListeners = async () => {\n\n Prefetch.prefetchTemplates([\n 'local_course_store\/shopping_cart\/icon'\n ]);\n\n document.addEventListener('click', (e) => {\n\n \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0432 \u043a\u043e\u0440\u0437\u0438\u043d\u0443\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n const addToCartEl = e.target.closest(Selectors.actions.addToCart);\n if (addToCartEl) {\n e.stopPropagation();\n Actions.addToCart(addToCartEl);\n return;\n }\n const removeFromCartEl = e.target.closest(Selectors.actions.removeFromCart);\n if (removeFromCartEl) {\n e.stopPropagation();\n\n Actions.removeFromCart(removeFromCartEl);\n return;\n }\n\n if (document.querySelector(Selectors.regions.shoppingCartPageContainer)) {\n \/\/ \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0438\u0437 \u043a\u043e\u0440\u0437\u0438\u043d\u044b \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n const remvoeBtn = e.target.closest(Selectors.actions.removeShoppingCartItem);\n if (remvoeBtn) {\n e.stopImmediatePropagation();\n Actions.removeFromCart(remvoeBtn);\n return;\n }\n\n \/\/ \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0432 \u043a\u043e\u0440\u0437\u0438\u043d\u0435 \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n const restoreBtn = e.target.closest(Selectors.actions.restoreShoppingCartItem);\n if (restoreBtn) {\n e.stopImmediatePropagation();\n const restoreItem = restoreBtn.closest(Selectors.regions.restoreItems);\n Actions.restoreItemInCart(restoreItem.dataset);\n return;\n }\n\n const createOrderBtn = e.target.closest(Selectors.actions.createOrder);\n if (createOrderBtn) {\n e.stopImmediatePropagation();\n Actions.createOrder(createOrderBtn.dataset.cartId);\n }\n }\n });\n\n const rootEl = document.querySelector(Selectors.regions.iconContainer);\n rootEl.addEventListener(Events.ShoppingCartUpdated, () => Actions.rerenderShoppinCartIcon());\n\n if (document.querySelector(Selectors.regions.shoppingCartPageContainer)) {\n rootEl.addEventListener(Events.ShoppingCartUpdated, (e) => Actions.rerenderShoppinCartFooter(e));\n rootEl.addEventListener(Events.ShoppingCartUpdated, () => Actions.checkIsShoppingCartEmpty());\n rootEl.addEventListener(Events.ShoppingCartIsEmptied, () => Actions.showEmptyShoppingCart());\n rootEl.addEventListener(Events.ShoppingCartIsEmptied, () => Actions.cleanUpAfterShoppingCartIsEmptied());\n rootEl.addEventListener(Events.ShoppingCartItemRemoved, Actions.switchCartItemWithRestoreButton);\n rootEl.addEventListener(Events.ShoppingCartItemRestored, Actions.swichRestoreButtonWithNewCartItem);\n }\n\n};\n\n\/\/ TODO: \u041f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u043a\u043e\u0434 \u0434\u043b\u044f \/local\/course_store\/shopping_cart\/view.php \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c\nexport const init = (shoppingCart) => {\n\n window.console.log('ShoppingCart', shoppingCart);\n if (!init.initialised) {\n \/\/ Event listeners should only be registered once.\n init.initialised = true;\n initEventListeners();\n\n if (document.querySelector(Selectors.actions.createOrder)) {\n Actions.enableCreateOrderBtn();\n }\n }\n\n Log.debug('local_course_store\/shopping_cart initialized');\n};\n\n\/**\n * Whether the init function was called before.\n *\n * @static\n * @type {boolean}\n *\/\ninit.initialised = false;\n"],"names":["init","shoppingCart","window","console","log","initialised","async","prefetchTemplates","document","addEventListener","e","addToCartEl","target","closest","Selectors","actions","addToCart","stopPropagation","Actions","removeFromCartEl","removeFromCart","querySelector","regions","shoppingCartPageContainer","remvoeBtn","removeShoppingCartItem","stopImmediatePropagation","restoreBtn","restoreShoppingCartItem","restoreItem","restoreItems","restoreItemInCart","dataset","createOrderBtn","createOrder","cartId","rootEl","iconContainer","Events","ShoppingCartUpdated","rerenderShoppinCartIcon","rerenderShoppinCartFooter","checkIsShoppingCartEmpty","ShoppingCartIsEmptied","showEmptyShoppingCart","cleanUpAfterShoppingCartIsEmptied","ShoppingCartItemRemoved","switchCartItemWithRestoreButton","ShoppingCartItemRestored","swichRestoreButtonWithNewCartItem","initEventListeners","enableCreateOrderBtn","debug"],"mappings":"0+CA6EaA,KAAQC,eAEnBC,OAAOC,QAAQC,IAAI,eAAgBH,cAC9BD,KAAKK,cAERL,KAAKK,aAAc,EArEIC,6BAEhBC,kBAAkB,CACzB,0CAGFC,SAASC,iBAAiB,SAAUC,UAG5BC,YAAcD,EAAEE,OAAOC,QAAQC,mBAAUC,QAAQC,cACnDL,mBACFD,EAAEO,uBACFC,QAAQF,UAAUL,mBAGdQ,iBAAmBT,EAAEE,OAAOC,QAAQC,mBAAUC,QAAQK,mBACxDD,wBACFT,EAAEO,uBAEFC,QAAQE,eAAeD,qBAIrBX,SAASa,cAAcP,mBAAUQ,QAAQC,2BAA4B,OAEjEC,UAAYd,EAAEE,OAAOC,QAAQC,mBAAUC,QAAQU,2BACjDD,iBACFd,EAAEgB,gCACFR,QAAQE,eAAeI,iBAKnBG,WAAajB,EAAEE,OAAOC,QAAQC,mBAAUC,QAAQa,4BAClDD,WAAY,CACdjB,EAAEgB,iCACIG,YAAcF,WAAWd,QAAQC,mBAAUQ,QAAQQ,0BACzDZ,QAAQa,kBAAkBF,YAAYG,eAIlCC,eAAiBvB,EAAEE,OAAOC,QAAQC,mBAAUC,QAAQmB,aACtDD,iBACFvB,EAAEgB,2BACFR,QAAQgB,YAAYD,eAAeD,QAAQG,mBAK3CC,OAAS5B,SAASa,cAAcP,mBAAUQ,QAAQe,eACxDD,OAAO3B,iBAAiB6B,gBAAOC,qBAAqB,IAAMrB,QAAQsB,4BAE9DhC,SAASa,cAAcP,mBAAUQ,QAAQC,6BAC3Ca,OAAO3B,iBAAiB6B,gBAAOC,qBAAsB7B,GAAMQ,QAAQuB,0BAA0B\/B,KAC7F0B,OAAO3B,iBAAiB6B,gBAAOC,qBAAqB,IAAMrB,QAAQwB,6BAClEN,OAAO3B,iBAAiB6B,gBAAOK,uBAAuB,IAAMzB,QAAQ0B,0BACpER,OAAO3B,iBAAiB6B,gBAAOK,uBAAuB,IAAMzB,QAAQ2B,sCACpET,OAAO3B,iBAAiB6B,gBAAOQ,wBAAyB5B,QAAQ6B,iCAChEX,OAAO3B,iBAAiB6B,gBAAOU,yBAA0B9B,QAAQ+B,qCAYjEC,GAEI1C,SAASa,cAAcP,mBAAUC,QAAQmB,cAC3ChB,QAAQiC,qCAIRC,MAAM,oEASZpD,KAAKK,aAAc"}