{"version":3,"sources":["webpack:///C:/GitHub/Framework8_Web/Framework8/Framework8/Front/App/import/js/components/addtocart/component.addtocart.classic.init.js","webpack:///C:/GitHub/Framework8_Web/Framework8/Framework8/Front/App/import/js/components/addtocart/component.addtocart.mini.init.js"],"names":["angular","module","factory","$rootScope","$location","ModalService","RoutesService","AppService","CartService","toastr","init","ctrl","scope","tmpQuantity","showTTCPrice","isPackPerso","idCompositionType","isPrimary","isFinderButton","isProductButton","goToProduct","showQuickView","setItemQuantity","value","cartQuantity","productQuantity","quantity","min","isInCart","showLoader","ready","productCtrl","setProductCtrlQuantity","setInputQuantity","setTimeout","async","addToCart","products","isCartButton","isModalButton","close","$broadcast","mess","titleResultOk","success","designation","allowHtml","extraData","template","data","img","imgSrc","DistrimageSrc","show","cartLink","path","getUrlByName","response","status","updateParams","results","ReplacementProduct","IDProduct","OriginalProduct","Quantity","action","idLine","IDLine","idProduct","Reference","Comment","IDPicture","device","translate","getTranslate","warning","errors","TryLater","ErrorHasOccurred","error","isUndefined","Number","step","addToCartActive","params","getParams","Agent","Mobility","Profile","AllModules","find","ModuleKey","KeyModule","IsActive","defaultTooltip","tooltip","$on","event","hash","commentLine","Visitor","CardType","ShowTTCPrice","isLogged","IsLogged","onInit","openQuickView","url","windowClass","focus","blur","keypress","keyCode","$","target","change","isNaN","parseInt","productIsOutOfPrint","qty","inc","map","product","fromClassicBtn","_ctrl$productCtrl","_ctrl$productCtrl2","_ctrl$productCtrl3","id","Price","getProductPrice","price","costTTC","costHT","distrimageSrc","URL","parents","brand","reference","getProductsToAdd","goToUrl","forEach"],"mappings":"2FAAA,mBAAeA,kBACZC,OAAO,mCAAoC,IAG3CC,QAAQ,uBAAwB,CAAF,4FAAE,SAAUC,EAAYC,EAAWC,EAAcC,EAAeC,EAAYC,EAAaC,GAItH,MAHgB,CACdC,KAKF,SAAcC,EAAMC,GAClB,IACIC,EADAC,GAAe,EAGnB,MAAMC,EAAcJ,EAAKK,mBAAqB,EAExCL,EAAKM,YAAaF,IAAgBJ,EAAKO,eAEjCP,EAAKQ,kBAEfR,EAAKS,aAAeT,EAAKU,eAAiBN,GAH1CJ,EAAKS,aAAc,EA8FrB,SAASE,EAAgBC,GACvBZ,EAAKa,aAAeD,EACpBZ,EAAKc,gBAAkBF,EACvBZ,EAAKe,SAAqB,IAAVH,GAAeA,GAASZ,EAAKgB,IAAMJ,EAAQZ,EAAKgB,IAChEhB,EAAKiB,SAAWL,EAAQ,EACxBZ,EAAKkB,YAAa,EAClBlB,EAAKmB,OAAQ,EACTnB,EAAKoB,aAKX,SAASC,EAAuBT,GAC1BZ,EAAKoB,YAAYE,iBACnBtB,EAAKoB,YAAYE,iBAAiBV,GAElCW,WAAW,KACTF,EAAuBT,IACtB,KAVHS,CAAuBrB,EAAKe,UAuChCS,eAAeC,EAAUC,GACvB,IACE,GAAK1B,EAAK2B,aAkBH,CACA3B,EAAK4B,gBACRlC,EAAamC,QACbrC,EAAWsC,WAAW,kBAAkB,IAE1C,MAAMC,EAAO/B,EAAKgC,cAClBlC,EAAOmC,QAAQjC,EAAKkC,YAAaH,EAAM,CACrCI,WAAW,EACXC,UAAW,CACTC,SAAU,oDACVC,KAAM,CACJC,IAAKb,EAAS,GAAGa,IACjBC,OAAQd,EAAS,GAAGe,uBA7B1B/C,EAAamC,cACPnC,EAAagD,KACjB,iCACAhB,EACA,KACA,qBACA,KACA,KACA,CACEiB,SAAUlD,EAAUmD,SAAW,IAAIjD,EAAckD,aAAa,cAAkB,IAAIlD,EAAckD,aAAa,QAAY,IAAIlD,EAAckD,aAAa,eAE5J,KACA,KACE7C,EAAKe,SAAWf,EAAKoB,YAAYL,SACjCvB,EAAWsC,WAAW,kBAAkB,KAqB9C,MAAMgB,QAAiBjD,EAAY4B,UAAUC,GAE7C,GAAwB,OAApBoB,EAASC,OACXnD,EAAWoD,aAAaF,EAASG,cAC5B,GAAwB,wBAApBH,EAASC,OAClBvD,EAAWsC,WAAW,kBAAkB,GACxCtC,EAAWsC,WAAW,kBAAkB,GACxCpC,EAAagD,KACX,2BAA2BI,EAASI,mBAAmBC,aAAaL,EAASM,gBAAgBC,WAC7F,CACEC,OAAQ,WACN7B,EAAU,CACR,CACE8B,OAAQT,EAASM,gBAAgBI,OACjCC,UAAWX,EAASI,mBAAmBC,UACvCO,UAAWZ,EAASI,mBAAmBQ,UACvC3C,SAAU+B,EAASM,gBAAgBC,SACnCM,QAASb,EAASM,gBAAgBO,QAClCpB,IAAKO,EAASI,mBAAmBU,eAKzC,KACA,KACA,KACA5D,EAAK6D,YAEF,CACLrE,EAAWsC,WAAW,kBAAkB,GACxC,MAAMgC,QAAkBlE,EAAWmE,eACnCjE,EAAOkE,QAAQF,EAAUG,OAAOC,SAAUJ,EAAUG,OAAOE,iBAAkB,CAC3EhC,WAAW,EACXC,UAAW,CACTC,SAAU,sDAIhB,MAAO+B,MAKX5C,iBACExB,EAAKgB,IAAM3B,QAAQgF,YAAYrE,EAAKgB,KAAO,EAAIsD,OAAOtE,EAAKgB,KAC3DhB,EAAKe,SAAW1B,QAAQgF,YAAYrE,EAAKe,UAAYf,EAAKgB,IAAMsD,OAAOtE,EAAKe,UAC5Ef,EAAKoB,YAAYL,SAAWf,EAAKe,SACjCf,EAAKuE,KAAOD,OAAOtE,EAAKuE,OAAS,EACjCvE,EAAKuE,KAAqB,IAAdvE,EAAKuE,KAAa,EAAIvE,EAAKuE,KAEnClF,QAAQgF,YAAYrE,EAAKwE,mBAC3BxE,EAAKwE,iBAAkB,GAGzB,MAAMC,QAAe7E,EAAW8E,YAE9BD,EAAOE,QACNF,EAAOG,SAASC,QAAQC,WAAWC,KAAKzF,IAAgC,SAArBA,EAAO0F,WAA6C,SAArB1F,EAAO2F,YAAyB3F,EAAO4F,YAE1HlF,EAAKwE,iBAAkB,GAGrBxE,EAAKQ,kBACPR,EAAKmF,eAAiBnF,EAAKoF,QAC3BnF,EAAMoF,IAAI,gBAAiB,CAACC,EAAOF,KACjCpF,EAAKoF,QAAUA,GAAWpF,EAAKmF,iBAGjClF,EAAMoF,IAAI,gBAAiB,CAACC,EAAOC,KACjCvF,EAAKwF,YAAcD,KAIvBvF,EAAKmB,OAAQ,EACbhB,EAAesE,EAAOgB,QAAQC,SAASC,aACvC3F,EAAK4F,SAAWnB,EAAOoB,SAAW,EAAI,GAxPxCC,GAEA9F,EAAK+F,cAAgB,KACnBrG,EAAagD,KACX,iCACA,CACEsD,IAAKhG,EAAKgG,IACVC,YAAa,oBAEf,KACA,qBACA,KACAjG,EAAK6D,OACL,OAIJ7D,EAAKkG,MAAQ,KACXhG,EAAcF,EAAKe,SACnBf,EAAKe,SAAW,IAGlBf,EAAKmG,KAAO,KACY,KAAlBnG,EAAKe,WACPf,EAAKe,SAAWb,IAIpBF,EAAKoG,SAAWd,IACQ,KAAlBA,EAAMe,UACRC,EAAEhB,EAAMiB,QAAQJ,OAChBnG,EAAKyB,cAITzB,EAAKwG,OAAS,KACU,KAAlBxG,EAAKe,WACL0F,MAAMC,SAAS1G,EAAKe,YAAcf,EAAKe,SAAW,EACpDf,EAAKe,SAAWb,GAGlBF,EAAKe,SAAW2F,SAAS1G,EAAKe,UAC9Bb,EAAcF,EAAKe,YAGrBf,EAAKyB,UAAYD,UACf,GAAKxB,EAAKwE,kBAAmBxE,EAAK2G,oBAAlC,CAEAnH,EAAWsC,WAAW,kBAAkB,GAExC9B,EAAKe,cAAoC,IAAlBf,EAAKe,SAA2BuD,OAAOtE,EAAKe,UAAYf,EAAKgB,IACpFhB,EAAKoB,YAAYL,SAAWf,EAAKe,SAEjC,IACE,QAA2B,IAAhBf,EAAKsD,OAAwB,CACtC,MAAM5B,EAAW1B,EAAKsD,OAAO,CAAEsD,IAAK5G,EAAKe,SAAU8F,IAAK7G,EAAKe,WAAY+F,IAAIC,IAAW,IACnFA,EACHC,gBAAgB,WAEZvF,EAAUC,EAAU1B,EAAKe,cAC1B,CACL,MAAM6F,EAAM5G,EAAKoB,YAAYL,eACvBU,EAgDZ,SAA0BmF,GAAK,IAAAK,EAAAC,EAAAC,EAC7B,MAAO,CACL,CACE5D,OAAQvD,EAAKuD,OACbI,QAAS3D,EAAKwF,aAAe,GAC7B/B,UAAWzD,EAAKoH,GAChBC,MAAOzH,EAAW0H,gBAAgBtH,EAAKuH,MAAOX,GAC9CY,QAAS,EACTC,OAAQ,EACRtH,eACAY,SAAU6F,EACV5F,IAAKhB,EAAKgB,IACVuD,KAAMvE,EAAKuE,KACXrC,YAAalC,EAAKkC,YAClBK,IAAKvC,EAAKuC,IACVE,cAAezC,EAAK0H,cACpBC,IAAK3H,EAAKgG,IACVgB,gBAAgB,EAChBY,QAAS5H,SAAiB,QAAbiH,EAAJjH,EAAMoB,mBAAW,IAAA6F,OAAb,EAAJA,EAAmBW,QAC5BC,MAAO7H,SAAiB,QAAbkH,EAAJlH,EAAMoB,mBAAW,IAAA8F,OAAb,EAAJA,EAAmBW,MAC1BC,UAAW9H,SAAiB,QAAbmH,EAAJnH,EAAMoB,mBAAW,IAAA+F,OAAb,EAAJA,EAAmBW,YApEdC,CAAiBnB,KAEnC,MAAOxC,IAEP,QACA5E,EAAWsC,WAAW,kBAAkB,MAI5C9B,EAAKgI,QAAU,KACbvI,EAAUuG,IAAIhG,EAAKgG,MAGrB/F,EAAMoF,IAAI,iBAAkB,KAC1B1E,EAAgBX,EAAKoB,YAAYL,YAGnCd,EAAMoF,IAAI,kBAAmB,KAC3BrF,EAAKwE,iBAAkB,IAGzBvE,EAAMoF,IAAI,mBAAoB,KAC5BrF,EAAKwE,iBAAkB,U,mDC5G/B,OAAenF,kBACZC,OAAO,gCAAiC,IAGxCC,QAAQ,oBAAqB,CAAF,4FAAE,SAAUC,EAAYC,EAAWC,EAAcC,EAAeC,EAAYC,EAAaC,GAInH,MAHgB,CACdC,KAKF,SAAcC,EAAMC,GAClB,IAAIE,GAAe,EACnBH,EAAKe,SAAW,EAEhB,MAAMX,EAAcJ,EAAKK,mBAAqB,EAExCL,EAAKM,YAAaF,IAAgBJ,EAAKO,eAEjCP,EAAKQ,kBAEfR,EAAKS,aAAeT,EAAKU,eAAiBN,GAH1CJ,EAAKS,aAAc,EA+DrBe,eAAeC,EAAUC,GACvB,IACE,GAAK1B,EAAK2B,aAkBH,CACA3B,EAAK4B,gBACRlC,EAAamC,QACbrC,EAAWsC,WAAW,kBAAkB,IAE1C,MAAMC,EAAO/B,EAAKgC,cAClBlC,EAAOmC,QAAQjC,EAAKkC,YAAaH,EAAM,CACrCI,WAAW,EACXC,UAAW,CACTC,SAAU,oDACVC,KAAM,CACJC,IAAKb,EAAS,GAAGa,IACjBC,OAAQd,EAAS,GAAGe,uBA7B1B/C,EAAamC,cACPnC,EAAagD,KACjB,iCACAhB,EACA,KACA,qBACA,KACA,KACA,CACEiB,SAAUlD,EAAUmD,SAAW,IAAIjD,EAAckD,aAAa,cAAkB,IAAIlD,EAAckD,aAAa,QAAY,IAAIlD,EAAckD,aAAa,eAE5J,KACA,KACE7C,EAAKe,SAAW,EAChBvB,EAAWsC,WAAW,kBAAkB,KAqB9C,MAAMgB,QAAiBjD,EAAY4B,UAAUC,GAE7C,GAAwB,OAApBoB,EAASC,OACXnD,EAAWoD,aAAaF,EAASG,cAC5B,GAAwB,wBAApBH,EAASC,OAClBvD,EAAWsC,WAAW,kBAAkB,GACxCpC,EAAagD,KACX,2BAA2BI,EAASI,mBAAmBC,aAAaL,EAASM,gBAAgBC,WAC7F,CACEC,OAAQ,WACN7B,EAAU,CACR,CACE8B,OAAQT,EAASM,gBAAgBI,OACjCC,UAAWX,EAASI,mBAAmBC,UACvCO,UAAWZ,EAASI,mBAAmBQ,UACvC3C,SAAU+B,EAASM,gBAAgBC,SACnCM,QAASb,EAASM,gBAAgBO,QAClCpB,IAAKO,EAASI,mBAAmBU,eAKzC,KACA,KACA,KACA5D,EAAK6D,YAEF,CACLrE,EAAWsC,WAAW,kBAAkB,GACxC,MAAMgC,QAAkBlE,EAAWmE,eACnCjE,EAAOkE,QAAQF,EAAUG,OAAOC,SAAUJ,EAAUG,OAAOE,iBAAkB,CAC3EhC,WAAW,EACXC,UAAW,CACTC,SAAU,sDAIhB,MAAO+B,MAKX5C,iBACExB,EAAKe,SAAW,EAChBf,EAAKgB,IAAM3B,QAAQgF,YAAYrE,EAAKgB,KAAO,EAAIsD,OAAOtE,EAAKgB,KAC3DhB,EAAKuE,KAAOD,OAAOtE,EAAKuE,OAAS,EACjCvE,EAAKuE,KAAqB,IAAdvE,EAAKuE,KAAa,EAAIvE,EAAKuE,KAEnClF,QAAQgF,YAAYrE,EAAKwE,mBAC3BxE,EAAKwE,iBAAkB,GAEzB,MAAMC,QAAe7E,EAAW8E,YAE9BD,EAAOE,QACNF,EAAOG,SAASC,QAAQC,WAAWC,KAAKzF,IAAgC,SAArBA,EAAO0F,WAA6C,SAArB1F,EAAO2F,YAAyB3F,EAAO4F,YAE1HlF,EAAKwE,iBAAkB,GAGrBxE,EAAKQ,kBACPR,EAAKmF,eAAiBnF,EAAKoF,QAC3BnF,EAAMoF,IAAI,gBAAiB,CAACC,EAAOF,KACjCpF,EAAKoF,QAAUA,GAAWpF,EAAKmF,iBAGjClF,EAAMoF,IAAI,gBAAiB,CAACC,EAAOC,KACjCvF,EAAKwF,YAAcD,KAIvBvF,EAAKmB,OAAQ,EACbhB,EAAesE,EAAOgB,QAAQC,SAASC,aACvC3F,EAAK4F,SAAWnB,EAAOoB,SAAW,EAAI,GAvKxCC,GAEA9F,EAAK+F,cAAgB,KACnBrG,EAAagD,KACX,iCACA,CACEsD,IAAKhG,EAAKgG,IACVC,YAAa,oBAEf,KACA,qBACA,KACAjG,EAAK6D,OACL,OAGJ7D,EAAKyB,UAAY,KAmBjB,IAA0BmF,EAlBxB,GAAK5G,EAAKwE,kBAAmBxE,EAAK2G,oBAElC,GADAnH,EAAWsC,WAAW,kBAAkB,QACd,IAAf9B,EAAKsD,OAAuB,CACrC,MAAM5B,EAAW1B,EAAKsD,OAAO,CAAEsD,IAAK5G,EAAKe,SAAU8F,IAAK7G,EAAKe,WAC7DW,EAASuG,QAAQlB,IACfA,EAAQC,gBAAiB,IAE3BvF,EAAUC,EAAU1B,EAAKe,eAEzBU,GASsBmF,EATK5G,EAAKe,SAU3B,CACL,CACEwC,OAAQvD,EAAKuD,OACbI,QAAS3D,EAAKwF,aAAe,GAC7B/B,UAAWzD,EAAKoH,GAChBC,MAAOzH,EAAW0H,gBAAgBtH,EAAKuH,MAAOX,GAC9CY,QAAS,EACTC,OAAQ,EACRtH,eACAY,SAAU6F,EACV5F,IAAKhB,EAAKgB,IACVuD,KAAMvE,EAAKuE,KACXrC,YAAalC,EAAKkC,YAClBK,IAAKvC,EAAKuC,IACVE,cAAezC,EAAK0H,cACpBC,IAAK3H,EAAKgG,IACVgB,gBAAgB,KA1ByBhH,EAAKe,WAIpDf,EAAKgI,QAAU,KACbvI,EAAUuG,IAAIhG,EAAKgG","file":"addtocart.classic.init.c8d632d57f158d8a1791.js","sourcesContent":["export default angular\r\n .module('component.addtocart.classic.init', [])\r\n\r\n /* @ngInject */\r\n .factory('InitAddtocartClassic', function ($rootScope, $location, ModalService, RoutesService, AppService, CartService, toastr) {\r\n const service = {\r\n init\r\n };\r\n return service;\r\n\r\n ////////////\r\n function init(ctrl, scope) {\r\n let showTTCPrice = true;\r\n let tmpQuantity;\r\n\r\n const isPackPerso = ctrl.idCompositionType >= 9 ? true : false;\r\n // Dans la recherche, pas d'achat rapide pour un article décliné ou de type pack personnalisable\r\n if ((!ctrl.isPrimary || isPackPerso) && ctrl.isFinderButton) {\r\n ctrl.goToProduct = true;\r\n } else if (!ctrl.isProductButton) {\r\n // Dans les pages de liste, pas d'achat rapide si l'affichage de la quick view n'est pas autorisé et que l'article est de type pack personnalisable\r\n ctrl.goToProduct = !ctrl.showQuickView && isPackPerso;\r\n }\r\n\r\n onInit();\r\n\r\n ctrl.openQuickView = () => {\r\n ModalService.show(\r\n '/Template/Modal/ModalQuickView',\r\n {\r\n url: ctrl.url,\r\n windowClass: 'modal-quick-view'\r\n },\r\n 'lg',\r\n 'modalQuickViewCtrl',\r\n null,\r\n ctrl.device,\r\n null\r\n );\r\n };\r\n\r\n ctrl.focus = () => {\r\n tmpQuantity = ctrl.quantity;\r\n ctrl.quantity = '';\r\n };\r\n\r\n ctrl.blur = () => {\r\n if (ctrl.quantity === '') {\r\n ctrl.quantity = tmpQuantity;\r\n }\r\n };\r\n\r\n ctrl.keypress = event => {\r\n if (event.keyCode === 13) {\r\n $(event.target).blur();\r\n ctrl.addToCart();\r\n }\r\n };\r\n\r\n ctrl.change = () => {\r\n if (ctrl.quantity === '') return;\r\n if (isNaN(parseInt(ctrl.quantity)) || ctrl.quantity < 1) {\r\n ctrl.quantity = tmpQuantity;\r\n return;\r\n }\r\n ctrl.quantity = parseInt(ctrl.quantity);\r\n tmpQuantity = ctrl.quantity;\r\n };\r\n\r\n ctrl.addToCart = async () => {\r\n if (!ctrl.addToCartActive || ctrl.productIsOutOfPrint) return;\r\n\r\n $rootScope.$broadcast('showPageLoader', true);\r\n\r\n ctrl.quantity = typeof ctrl.quantity !== 'undefined' ? Number(ctrl.quantity) : ctrl.min;\r\n ctrl.productCtrl.quantity = ctrl.quantity;\r\n\r\n try {\r\n if (typeof ctrl.action !== 'undefined') {\r\n const products = ctrl.action({ qty: ctrl.quantity, inc: ctrl.quantity }).map(product => ({\r\n ...product,\r\n fromClassicBtn: true\r\n }));\r\n await addToCart(products, ctrl.quantity);\r\n } else {\r\n const qty = ctrl.productCtrl.quantity;\r\n await addToCart(getProductsToAdd(qty), qty);\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n } finally {\r\n $rootScope.$broadcast('showPageLoader', false);\r\n }\r\n };\r\n\r\n ctrl.goToUrl = () => {\r\n $location.url(ctrl.url);\r\n };\r\n // Events\r\n scope.$on('updateQuantity', () => {\r\n setItemQuantity(ctrl.productCtrl.quantity);\r\n });\r\n\r\n scope.$on('enableAddToCart', () => {\r\n ctrl.addToCartActive = true;\r\n });\r\n\r\n scope.$on('disableAddToCart', () => {\r\n ctrl.addToCartActive = false;\r\n });\r\n\r\n // Functions\r\n function setItemQuantity(value) {\r\n ctrl.cartQuantity = value;\r\n ctrl.productQuantity = value;\r\n ctrl.quantity = value === 0 || value >= ctrl.min ? value : ctrl.min;\r\n ctrl.isInCart = value > 0;\r\n ctrl.showLoader = false;\r\n ctrl.ready = true;\r\n if (ctrl.productCtrl) {\r\n setProductCtrlQuantity(ctrl.quantity);\r\n }\r\n }\r\n\r\n function setProductCtrlQuantity(value) {\r\n if (ctrl.productCtrl.setInputQuantity) {\r\n ctrl.productCtrl.setInputQuantity(value);\r\n } else {\r\n setTimeout(() => {\r\n setProductCtrlQuantity(value);\r\n }, 100);\r\n }\r\n }\r\n\r\n function getProductsToAdd(qty) {\r\n return [\r\n {\r\n idLine: ctrl.idLine,\r\n Comment: ctrl.commentLine || '',\r\n idProduct: ctrl.id,\r\n Price: AppService.getProductPrice(ctrl.price, qty),\r\n costTTC: 0,\r\n costHT: 0,\r\n showTTCPrice,\r\n quantity: qty,\r\n min: ctrl.min,\r\n step: ctrl.step,\r\n designation: ctrl.designation,\r\n img: ctrl.img,\r\n DistrimageSrc: ctrl.distrimageSrc,\r\n URL: ctrl.url,\r\n fromClassicBtn: true,\r\n parents: ctrl?.productCtrl?.parents,\r\n brand: ctrl?.productCtrl?.brand,\r\n reference: ctrl?.productCtrl?.reference\r\n }\r\n ];\r\n }\r\n\r\n async function addToCart(products) {\r\n try {\r\n if (!ctrl.isCartButton) {\r\n ModalService.close();\r\n await ModalService.show(\r\n '/Template/Modal/ModalAddToCart',\r\n products,\r\n null,\r\n 'modalAddToCartCtrl',\r\n null,\r\n null,\r\n {\r\n cartLink: $location.path() !== `/${RoutesService.getUrlByName('QuickOrder')}` ? `/${RoutesService.getUrlByName('Cart')}` : `/${RoutesService.getUrlByName('QuickOrder')}`\r\n },\r\n null,\r\n () => {\r\n ctrl.quantity = ctrl.productCtrl.quantity;\r\n $rootScope.$broadcast('showPageLoader', false);\r\n }\r\n );\r\n } else {\r\n if (!ctrl.isModalButton) {\r\n ModalService.close();\r\n $rootScope.$broadcast('showPageLoader', false);\r\n }\r\n const mess = ctrl.titleResultOk;\r\n toastr.success(ctrl.designation, mess, {\r\n allowHtml: true,\r\n extraData: {\r\n template: 'import/js/libs/angular-toastr/toast_addtocart.tpl',\r\n data: {\r\n img: products[0].img,\r\n imgSrc: products[0].DistrimageSrc\r\n }\r\n }\r\n });\r\n }\r\n\r\n const response = await CartService.addToCart(products);\r\n\r\n if (response.status === 'OK') {\r\n AppService.updateParams(response.results);\r\n } else if (response.status === 'REPLACEMENT_PRODUCT') {\r\n $rootScope.$broadcast('showPageLoader', false);\r\n $rootScope.$broadcast('showPageLoader', false);\r\n ModalService.show(\r\n `/Product/AddReplacement/${response.ReplacementProduct.IDProduct}/${response.OriginalProduct.Quantity}`,\r\n {\r\n action: function () {\r\n addToCart([\r\n {\r\n idLine: response.OriginalProduct.IDLine,\r\n idProduct: response.ReplacementProduct.IDProduct,\r\n Reference: response.ReplacementProduct.Reference,\r\n quantity: response.OriginalProduct.Quantity,\r\n Comment: response.OriginalProduct.Comment,\r\n img: response.ReplacementProduct.IDPicture\r\n }\r\n ]);\r\n }\r\n },\r\n null,\r\n null,\r\n null,\r\n ctrl.device\r\n );\r\n } else {\r\n $rootScope.$broadcast('showPageLoader', false);\r\n const translate = await AppService.getTranslate();\r\n toastr.warning(translate.errors.TryLater, translate.errors.ErrorHasOccurred, {\r\n allowHtml: true,\r\n extraData: {\r\n template: 'import/js/libs/angular-toastr/toast_message.tpl'\r\n }\r\n });\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n\r\n async function onInit() {\r\n ctrl.min = angular.isUndefined(ctrl.min) ? 1 : Number(ctrl.min);\r\n ctrl.quantity = angular.isUndefined(ctrl.quantity) ? ctrl.min : Number(ctrl.quantity);\r\n ctrl.productCtrl.quantity = ctrl.quantity;\r\n ctrl.step = Number(ctrl.step) || 1;\r\n ctrl.step = ctrl.step === 0 ? 1 : ctrl.step;\r\n\r\n if (angular.isUndefined(ctrl.addToCartActive)) {\r\n ctrl.addToCartActive = true;\r\n }\r\n\r\n const params = await AppService.getParams();\r\n if (\r\n params.Agent &&\r\n !params.Mobility.Profile.AllModules.find(module => (module.ModuleKey === 'sale' || module.KeyModule === 'sale') && module.IsActive)\r\n ) {\r\n ctrl.addToCartActive = false;\r\n }\r\n\r\n if (ctrl.isProductButton) {\r\n ctrl.defaultTooltip = ctrl.tooltip;\r\n scope.$on('updateTooltip', (event, tooltip) => {\r\n ctrl.tooltip = tooltip || ctrl.defaultTooltip;\r\n });\r\n\r\n scope.$on('updateComment', (event, hash) => {\r\n ctrl.commentLine = hash;\r\n });\r\n }\r\n\r\n ctrl.ready = true;\r\n showTTCPrice = params.Visitor.CardType.ShowTTCPrice;\r\n ctrl.isLogged = params.IsLogged ? 1 : 0;\r\n }\r\n }\r\n });\r\n","export default angular\r\n .module('component.addtocart.mini.init', [])\r\n\r\n /* @ngInject */\r\n .factory('InitAddtocartMini', function ($rootScope, $location, ModalService, RoutesService, AppService, CartService, toastr) {\r\n const service = {\r\n init\r\n };\r\n return service;\r\n\r\n ////////////\r\n function init(ctrl, scope) {\r\n let showTTCPrice = true;\r\n ctrl.quantity = 1;\r\n\r\n const isPackPerso = ctrl.idCompositionType >= 9 ? true : false;\r\n // Dans la recherche, pas d'achat rapide pour un article décliné ou de type pack personnalisable\r\n if ((!ctrl.isPrimary || isPackPerso) && ctrl.isFinderButton) {\r\n ctrl.goToProduct = true;\r\n } else if (!ctrl.isProductButton) {\r\n // Dans les pages de liste, pas d'achat rapide si l'affichage de la quick view n'est pas autorisé et que l'article est de type pack personnalisable\r\n ctrl.goToProduct = !ctrl.showQuickView && isPackPerso;\r\n }\r\n\r\n onInit();\r\n\r\n ctrl.openQuickView = () => {\r\n ModalService.show(\r\n '/Template/Modal/ModalQuickView',\r\n {\r\n url: ctrl.url,\r\n windowClass: 'modal-quick-view'\r\n },\r\n 'lg',\r\n 'modalQuickViewCtrl',\r\n null,\r\n ctrl.device,\r\n null\r\n );\r\n };\r\n ctrl.addToCart = () => {\r\n if (!ctrl.addToCartActive || ctrl.productIsOutOfPrint) return;\r\n $rootScope.$broadcast('showPageLoader', true);\r\n if (typeof ctrl.action != 'undefined') {\r\n const products = ctrl.action({ qty: ctrl.quantity, inc: ctrl.quantity });\r\n products.forEach(product => {\r\n product.fromClassicBtn = true;\r\n });\r\n addToCart(products, ctrl.quantity);\r\n } else {\r\n addToCart(getProductsToAdd(ctrl.quantity), ctrl.quantity);\r\n }\r\n };\r\n\r\n ctrl.goToUrl = () => {\r\n $location.url(ctrl.url);\r\n };\r\n\r\n // Functions\r\n function getProductsToAdd(qty) {\r\n return [\r\n {\r\n idLine: ctrl.idLine,\r\n Comment: ctrl.commentLine || '',\r\n idProduct: ctrl.id,\r\n Price: AppService.getProductPrice(ctrl.price, qty),\r\n costTTC: 0,\r\n costHT: 0,\r\n showTTCPrice,\r\n quantity: qty,\r\n min: ctrl.min,\r\n step: ctrl.step,\r\n designation: ctrl.designation,\r\n img: ctrl.img,\r\n DistrimageSrc: ctrl.distrimageSrc,\r\n URL: ctrl.url,\r\n fromClassicBtn: true\r\n }\r\n ];\r\n }\r\n\r\n async function addToCart(products) {\r\n try {\r\n if (!ctrl.isCartButton) {\r\n ModalService.close();\r\n await ModalService.show(\r\n '/Template/Modal/ModalAddToCart',\r\n products,\r\n null,\r\n 'modalAddToCartCtrl',\r\n null,\r\n null,\r\n {\r\n cartLink: $location.path() !== `/${RoutesService.getUrlByName('QuickOrder')}` ? `/${RoutesService.getUrlByName('Cart')}` : `/${RoutesService.getUrlByName('QuickOrder')}`\r\n },\r\n null,\r\n () => {\r\n ctrl.quantity = 1;\r\n $rootScope.$broadcast('showPageLoader', false);\r\n }\r\n );\r\n } else {\r\n if (!ctrl.isModalButton) {\r\n ModalService.close();\r\n $rootScope.$broadcast('showPageLoader', false);\r\n }\r\n const mess = ctrl.titleResultOk;\r\n toastr.success(ctrl.designation, mess, {\r\n allowHtml: true,\r\n extraData: {\r\n template: 'import/js/libs/angular-toastr/toast_addtocart.tpl',\r\n data: {\r\n img: products[0].img,\r\n imgSrc: products[0].DistrimageSrc\r\n }\r\n }\r\n });\r\n }\r\n\r\n const response = await CartService.addToCart(products);\r\n\r\n if (response.status === 'OK') {\r\n AppService.updateParams(response.results);\r\n } else if (response.status === 'REPLACEMENT_PRODUCT') {\r\n $rootScope.$broadcast('showPageLoader', false);\r\n ModalService.show(\r\n `/Product/AddReplacement/${response.ReplacementProduct.IDProduct}/${response.OriginalProduct.Quantity}`,\r\n {\r\n action: function () {\r\n addToCart([\r\n {\r\n idLine: response.OriginalProduct.IDLine,\r\n idProduct: response.ReplacementProduct.IDProduct,\r\n Reference: response.ReplacementProduct.Reference,\r\n quantity: response.OriginalProduct.Quantity,\r\n Comment: response.OriginalProduct.Comment,\r\n img: response.ReplacementProduct.IDPicture\r\n }\r\n ]);\r\n }\r\n },\r\n null,\r\n null,\r\n null,\r\n ctrl.device\r\n );\r\n } else {\r\n $rootScope.$broadcast('showPageLoader', false);\r\n const translate = await AppService.getTranslate();\r\n toastr.warning(translate.errors.TryLater, translate.errors.ErrorHasOccurred, {\r\n allowHtml: true,\r\n extraData: {\r\n template: 'import/js/libs/angular-toastr/toast_message.tpl'\r\n }\r\n });\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n\r\n async function onInit() {\r\n ctrl.quantity = 1;\r\n ctrl.min = angular.isUndefined(ctrl.min) ? 1 : Number(ctrl.min);\r\n ctrl.step = Number(ctrl.step) || 1;\r\n ctrl.step = ctrl.step === 0 ? 1 : ctrl.step;\r\n\r\n if (angular.isUndefined(ctrl.addToCartActive)) {\r\n ctrl.addToCartActive = true;\r\n }\r\n const params = await AppService.getParams();\r\n if (\r\n params.Agent &&\r\n !params.Mobility.Profile.AllModules.find(module => (module.ModuleKey === 'sale' || module.KeyModule === 'sale') && module.IsActive)\r\n ) {\r\n ctrl.addToCartActive = false;\r\n }\r\n\r\n if (ctrl.isProductButton) {\r\n ctrl.defaultTooltip = ctrl.tooltip;\r\n scope.$on('updateTooltip', (event, tooltip) => {\r\n ctrl.tooltip = tooltip || ctrl.defaultTooltip;\r\n });\r\n\r\n scope.$on('updateComment', (event, hash) => {\r\n ctrl.commentLine = hash;\r\n });\r\n }\r\n\r\n ctrl.ready = true;\r\n showTTCPrice = params.Visitor.CardType.ShowTTCPrice;\r\n ctrl.isLogged = params.IsLogged ? 1 : 0;\r\n }\r\n }\r\n });\r\n"],"sourceRoot":""}