{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assets/flag/en.svg","webpack:///./src/App.vue?5189","webpack:///./src/components/panier/CartSupItem.vue?551f","webpack:///./src/assets/icon/auPlat-off.svg","webpack:///./src/components/shared/IconBtn.vue?b9a2","webpack:///./src/models/alo/AloCommande.ts","webpack:///./src/models/als/AlsSejour.ts","webpack:///./src/api/sejour.ts","webpack:///./src/assets/icon/brouilles-off.svg","webpack:///./src/assets/icon/poches-on.svg","webpack:///./src/assets/icon/coque-off.svg","webpack:///./src/assets/icon/omelette-off.svg","webpack:///./src/assets/icon/omelette-on.svg","webpack:///./src/assets/icon/brouilles-on.svg","webpack:///./src/assets/icon/dur-on.svg","webpack:///./src/assets/flag/fr.svg","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/components/shared/EditDrawer.vue?ae55","webpack:///./src/components/shared/EditDrawer.vue","webpack:///./src/components/shared/EditDrawer.vue?3d7d","webpack:///./src/components/shared/EditDrawer.vue?bea4","webpack:///./src/models/als/AlsBase.ts","webpack:///./src/models/als/AlsUser.ts","webpack:///./src/assets/icon/coque-on.svg","webpack:///./src/assets/icon/brouilles-blanc-on.svg","webpack:///./src/enum/ApiResultCode.ts","webpack:///./src/components/shared/DeliveryPicker.vue?a582","webpack:///./src/assets/icon/omelette-blanc-off.svg","webpack:///./src/assets/icon/brouilles-blanc-off.svg","webpack:///./src/utils/groupBy.ts","webpack:///./src/locale/lang/fr.ts","webpack:///./src/assets/icon/auPlat-on.svg","webpack:///./src/models/alo/AloMailSkin.ts","webpack:///./src/models/alo/AloPlatLg.ts","webpack:///./src/models/alo/AloPlat.ts","webpack:///./src/models/alo/AloUserIdentity.ts","webpack:///./src/models/alo/AloForgottenPass.ts","webpack:///./src/models/alo/AloMailTemplate.ts","webpack:///./src/utils/time.ts","webpack:///./src/assets/icon/omelette-blanc-on.svg","webpack:///./src/assets/icon sync ^\\.\\/.*\\-on\\.svg$","webpack:///./src/components/carte/EditPlat.vue?8e02","webpack:///./src/components/carte/EditPlat.vue","webpack:///./src/components/carte/EditPlat.vue?5090","webpack:///./src/components/carte/EditPlat.vue?3330","webpack:///./src/utils/api.ts","webpack:///./src/models/alo/AloSejour.ts","webpack:///./src/components/shared/IcoBadgeBtn.vue?092f","webpack:///./src/locale/lang lazy ^\\.\\/.*$ namespace object","webpack:///./src/enum/ApiUserRole.ts","webpack:///./src/models/alo/AloPanier.ts","webpack:///./src/utils/uuid.ts","webpack:///./src/components/panier/CartDetail.vue?6d86","webpack:///./src/components/panier/SejourDetail.vue?1ab2","webpack:///./src/components/panier/SejourDetail.vue","webpack:///./src/components/panier/SejourDetail.vue?7ba3","webpack:///./src/components/panier/SejourDetail.vue?72c0","webpack:///./src/components/shared/DeliveryPicker.vue?46ea","webpack:///./src/components/shared/DeliveryPicker.vue","webpack:///./src/components/shared/DeliveryPicker.vue?47b9","webpack:///./src/components/shared/DeliveryPicker.vue?659d","webpack:///./src/components/panier/CartDetail.vue","webpack:///./src/components/panier/CartDetail.vue?adfc","webpack:///./src/components/panier/CartDetail.vue?2b03","webpack:///./src/assets/icon/poches-off.svg","webpack:///./src/enum/StatusCommande.ts","webpack:///./src/assets/icon/dur-off.svg","webpack:///./src/enum/TemplateMail.ts","webpack:///./src/models/alo/AloMailTemplateLg.ts","webpack:///./src/models/alo/AloBaseLg.ts","webpack:///./src/models/alo/AloArboLg.ts","webpack:///./src/models/alo/AloArbo.ts","webpack:///./src/class-component-hooks.ts","webpack:///./src/filters/formatDate.ts","webpack:///./src/filters/formatJourLivraison.ts","webpack:///./src/filters/formatDuree.ts","webpack:///./src/filters/currency.ts","webpack:///./src/enum/MoyenPaiement.ts","webpack:///./src/enum/TypeReduction.ts","webpack:///./src/filters/poids.ts","webpack:///./src/filters/tva.ts","webpack:///./src/filters/moyenPaiement.ts","webpack:///./src/filters/typeReduction.ts","webpack:///./src/filters/capitalize.ts","webpack:///./src/filters/tel.ts","webpack:///./src/filters/trackset.ts","webpack:///./src/filters/livraison.ts","webpack:///./src/filters/fileIcons.ts","webpack:///./src/plugins/confirm/Confirm.vue?0a36","webpack:///src/plugins/confirm/Confirm.vue","webpack:///./src/plugins/confirm/Confirm.vue?4033","webpack:///./src/plugins/confirm/Confirm.vue","webpack:///./src/plugins/confirm/index.js","webpack:///./src/App.vue?e33a","webpack:///./src/components/shared/ChangePassword.vue?c253","webpack:///./src/components/shared/ChangePassword.vue","webpack:///./src/components/shared/ChangePassword.vue?0c30","webpack:///./src/components/shared/ChangePassword.vue?0fbb","webpack:///./src/components/panier/Cart.vue?7b27","webpack:///./src/components/panier/Cart.vue","webpack:///./src/components/panier/Cart.vue?4d3c","webpack:///./src/components/panier/Cart.vue?4b74","webpack:///./src/components/shared/LangSwitcher.vue?5bec","webpack:///./src/locale/vueI18n.ts","webpack:///./src/components/shared/LangSwitcher.vue","webpack:///./src/components/shared/LangSwitcher.vue?a686","webpack:///./src/components/shared/LangSwitcher.vue?53b0","webpack:///./src/components/shared/Printer.vue?da8d","webpack:///./src/components/shared/Printer.vue","webpack:///./src/components/shared/Printer.vue?988e","webpack:///./src/components/shared/Printer.vue?733e","webpack:///./src/App.vue","webpack:///./src/App.vue?fe79","webpack:///./src/App.vue?b1ee","webpack:///./src/utils/type.ts","webpack:///./src/store/modules/auth/action-types.ts","webpack:///./src/store/modules/roomservice/action-types.ts","webpack:///./src/store/modules/administration/action-types.ts","webpack:///./src/store/modules/ui/action-types.ts","webpack:///./src/store/all-action-types.ts","webpack:///./src/router/index.ts","webpack:///./src/enum/SecurityItems.ts","webpack:///./src/plugins/storeHelper.ts","webpack:///./src/api/auth.ts","webpack:///./src/utils/classToObject.ts","webpack:///./src/store/modules/auth/mutation-types.ts","webpack:///./src/store/modules/auth/all-mutation-types.ts","webpack:///./src/store/modules/auth/actions.ts","webpack:///./src/store/modules/auth/getters.ts","webpack:///./src/store/modules/auth/mutations.ts","webpack:///./src/store/modules/auth/state.ts","webpack:///./src/store/modules/auth/index.ts","webpack:///./src/api/roomservice.ts","webpack:///./src/store/modules/roomservice/mutation-types.ts","webpack:///./src/store/modules/roomservice/all-mutation-types.ts","webpack:///./src/store/modules/roomservice/actions.ts","webpack:///./src/store/modules/roomservice/getters.ts","webpack:///./src/models/alo/AloAccompagnement.ts","webpack:///./src/models/alo/AloAllergeneLg.ts","webpack:///./src/models/alo/AloAllergene.ts","webpack:///./src/models/alo/AloBioLg.ts","webpack:///./src/models/alo/AloBio.ts","webpack:///./src/models/alo/AloSection.ts","webpack:///./src/models/alo/AloIconLg.ts","webpack:///./src/models/alo/AloIcon.ts","webpack:///./src/store/modules/roomservice/mutations.ts","webpack:///./src/models/alo/Configuration.ts","webpack:///./src/store/modules/roomservice/state.ts","webpack:///./src/store/modules/roomservice/index.ts","webpack:///./src/api/user.ts","webpack:///./src/api/commande.ts","webpack:///./src/api/mailTemplate.ts","webpack:///./src/api/mailSkin.ts","webpack:///./src/models/alo/AloPanStatus.ts","webpack:///./src/api/panStatus.ts","webpack:///./src/store/modules/administration/mutation-types.ts","webpack:///./src/store/modules/administration/all-mutation-types.ts","webpack:///./src/models/alo/StateItem.ts","webpack:///./src/store/modules/administration/actions.ts","webpack:///./src/store/modules/administration/getters.ts","webpack:///./src/store/modules/administration/mutations.ts","webpack:///./src/store/modules/administration/state.ts","webpack:///./src/store/modules/administration/index.ts","webpack:///./src/store/modules/ui/all-mutation-types.ts","webpack:///./src/store/modules/ui/actions.ts","webpack:///./src/store/modules/ui/getters.ts","webpack:///./src/store/modules/ui/mutations.ts","webpack:///./src/store/modules/ui/state.ts","webpack:///./src/store/modules/ui/index.ts","webpack:///./src/store/index.ts","webpack:///./src/plugins/vuetify.ts","webpack:///./src/components/shared/LengthHelper.vue?fa77","webpack:///./src/components/shared/LengthHelper.vue","webpack:///./src/components/shared/LengthHelper.vue?5212","webpack:///./src/components/shared/LengthHelper.vue?bafe","webpack:///./src/components/shared/CheckState.vue?2859","webpack:///./src/components/shared/CheckState.vue","webpack:///./src/components/shared/CheckState.vue?3739","webpack:///./src/components/shared/CheckState.vue?a029","webpack:///./src/components/shared/NumberFieldFactor.vue?5aa9","webpack:///./src/components/shared/NumberFieldFactor.vue","webpack:///./src/components/shared/NumberFieldFactor.vue?c2f7","webpack:///./src/components/shared/NumberFieldFactor.vue?9502","webpack:///./src/components/shared/QtyField.vue?e1f5","webpack:///./src/components/shared/QtyField.vue","webpack:///./src/components/shared/QtyField.vue?9414","webpack:///./src/components/shared/QtyField.vue?d095","webpack:///./src/components/shared/MonthPicker.vue?5cb0","webpack:///./src/components/shared/MonthPicker.vue","webpack:///./src/components/shared/MonthPicker.vue?a89f","webpack:///./src/components/shared/MonthPicker.vue?44d8","webpack:///./src/components/shared/PreviewDetail.vue?3314","webpack:///./src/components/shared/PreviewDetail.vue","webpack:///./src/components/shared/PreviewDetail.vue?50ef","webpack:///./src/components/shared/PreviewDetail.vue?9571","webpack:///./src/components/shared/SearchDrawer.vue?c072","webpack:///./src/components/shared/SearchDrawer.vue","webpack:///./src/components/shared/SearchDrawer.vue?66d1","webpack:///./src/components/shared/SearchDrawer.vue?f5c6","webpack:///./src/components/shared/SelectFromList.vue?769c","webpack:///./src/components/shared/SelectFromList.vue","webpack:///./src/components/shared/SelectFromList.vue?3ec7","webpack:///./src/components/shared/SelectFromList.vue?2401","webpack:///./src/components/shared/TimePicker.vue?7b2d","webpack:///./src/components/shared/TimePicker.vue","webpack:///./src/components/shared/TimePicker.vue?2fa8","webpack:///./src/components/shared/TimePicker.vue?86f2","webpack:///./src/components/shared/IcoBadgeBtn.vue?4380","webpack:///./src/components/shared/IcoBadgeBtn.vue","webpack:///./src/components/shared/IcoBadgeBtn.vue?4ee6","webpack:///./src/components/shared/IcoBadgeBtn.vue?f899","webpack:///./src/components/carte/Section.vue?fc1a","webpack:///./src/components/carte/BasePlat.ts","webpack:///./src/components/carte/Section.vue","webpack:///./src/components/carte/Section.vue?aab7","webpack:///./src/components/carte/Section.vue?b220","webpack:///./src/components/carte/ProduitSimple.vue?43bb","webpack:///./src/components/carte/ProduitSimple.vue","webpack:///./src/components/carte/ProduitSimple.vue?f392","webpack:///./src/components/carte/ProduitSimple.vue?36db","webpack:///./src/components/carte/ProduitMultiples.vue?ac40","webpack:///./src/components/carte/ProduitMultiples.vue","webpack:///./src/components/carte/ProduitMultiples.vue?d828","webpack:///./src/components/carte/ProduitMultiples.vue?f99a","webpack:///./src/components/carte/ProduitMultiplesQuantifiable.vue?40c1","webpack:///./src/components/carte/ProduitMultiplesQuantifiable.vue","webpack:///./src/components/carte/ProduitMultiplesQuantifiable.vue?d7ba","webpack:///./src/components/carte/ProduitMultiplesQuantifiable.vue?72dc","webpack:///./src/components/carte/ProduitAccompagnement.vue?c0da","webpack:///./src/components/carte/PlatEditable.ts","webpack:///./src/components/carte/ProduitAccompagnement.vue","webpack:///./src/components/carte/ProduitAccompagnement.vue?57c4","webpack:///./src/components/carte/ProduitAccompagnement.vue?d87d","webpack:///./src/components/carte/ProduitParfum.vue?9790","webpack:///./src/components/carte/ProduitParfum.vue","webpack:///./src/components/carte/ProduitParfum.vue?334c","webpack:///./src/components/carte/ProduitParfum.vue?a455","webpack:///./src/components/carte/ProduitQuantfiable.vue?6910","webpack:///./src/components/carte/ProduitQuantfiable.vue","webpack:///./src/components/carte/ProduitQuantfiable.vue?6196","webpack:///./src/components/carte/ProduitQuantfiable.vue?570d","webpack:///./src/components/carte/ProduitMenuSimple.vue?ffcc","webpack:///./src/components/carte/ProduitMenuSimple.vue","webpack:///./src/components/carte/ProduitMenuSimple.vue?8269","webpack:///./src/components/carte/ProduitMenuSimple.vue?1288","webpack:///./src/components/carte/ProduitMenuBreakfast.vue?8117","webpack:///./src/components/carte/MenuBreakfastSection.vue?6355","webpack:///./src/components/carte/MenuBreakfastSectionItem.vue?2aaf","webpack:///./src/components/carte/MenuBreakfastSectionItem.vue","webpack:///./src/components/carte/MenuBreakfastSectionItem.vue?4ef6","webpack:///./src/components/carte/MenuBreakfastSectionItem.vue?e726","webpack:///./src/components/carte/MenuBreakfastSection.vue","webpack:///./src/components/carte/MenuBreakfastSection.vue?5747","webpack:///./src/components/carte/MenuBreakfastSection.vue?fc0d","webpack:///./src/components/carte/MenuBreakfastCarte.vue?2b8a","webpack:///./src/components/carte/MenuBreakfastCarte.vue","webpack:///./src/components/carte/MenuBreakfastCarte.vue?81d4","webpack:///./src/components/carte/MenuBreakfastCarte.vue?9c0d","webpack:///./src/components/carte/MenuBreakfastEditCarte.vue?3398","webpack:///./src/components/carte/MenuBreakfastEditCarte.vue","webpack:///./src/components/carte/MenuBreakfastEditCarte.vue?ce97","webpack:///./src/components/carte/MenuBreakfastEditCarte.vue?7836","webpack:///./src/components/carte/ProduitMenuBreakfast.vue","webpack:///./src/components/carte/ProduitMenuBreakfast.vue?47b9","webpack:///./src/components/carte/ProduitMenuBreakfast.vue?e9a7","webpack:///./src/components/carte/LibelleSimple.vue?fb06","webpack:///./src/components/carte/LibelleSimple.vue","webpack:///./src/components/carte/LibelleSimple.vue?bf46","webpack:///./src/components/carte/LibelleSimple.vue?1d89","webpack:///./src/components/carte/SubTitle.vue?6137","webpack:///./src/components/carte/SubTitle.vue","webpack:///./src/components/carte/SubTitle.vue?e875","webpack:///./src/components/carte/SubTitle.vue?3d52","webpack:///./src/components/carte/Allergenes.vue?9774","webpack:///./src/components/carte/Allergenes.vue","webpack:///./src/components/carte/Allergenes.vue?10bd","webpack:///./src/components/carte/Allergenes.vue?f876","webpack:///./src/components/carte/Bios.vue?dd7f","webpack:///./src/components/carte/Bios.vue","webpack:///./src/components/carte/Bios.vue?129d","webpack:///./src/components/carte/Bios.vue?c014","webpack:///./src/components/carte/ProduitOeuf.vue?6086","webpack:///./src/components/shared/IconBtn.vue?ee7f","webpack:///./src/components/shared/IconBtn.vue","webpack:///./src/components/shared/IconBtn.vue?5e3e","webpack:///./src/components/shared/IconBtn.vue?0cf3","webpack:///./src/components/carte/ProduitOeuf.vue","webpack:///./src/components/carte/ProduitOeuf.vue?a82f","webpack:///./src/components/carte/ProduitOeuf.vue?b38a","webpack:///./src/main.ts","webpack:///./src/models/alo/ItemPanier.ts","webpack:///./src/components/carte/ProduitOeuf.vue?d273","webpack:///./src/assets/flag sync ^\\.\\/.*\\.svg$","webpack:///./src/assets/icon sync ^\\.\\/.*\\-off\\.svg$","webpack:///./src/models/alo/AloUser.ts","webpack:///./src/components/panier/CartItem.vue?6ba4","webpack:///./src/components/panier/CartSupItem.vue?2b21","webpack:///./src/components/panier/CartSupItem.vue","webpack:///./src/components/panier/CartSupItem.vue?18bc","webpack:///./src/components/panier/CartSupItem.vue?d5ce","webpack:///./src/components/panier/CartItem.vue","webpack:///./src/components/panier/CartItem.vue?b2ee","webpack:///./src/components/panier/CartItem.vue?7292","webpack:///./src/components/panier/CartItem.vue?229c","webpack:///./src/models/alo/AloBase.ts","webpack:///./src/utils/validationRules.ts","webpack:///./src/components/carte/MenuBreakfastSectionItem.vue?a87c","webpack:///./src/assets/flag/de.svg"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","getDefaultAloCommande","panDatlivraison","panDatadd","panValide","panMontant","panStatus","panCommentaire","panJson","sejour","histosStatus","panier","mtpId","timer","panLg","panUiid","tempsPreparation","cleanAloCommande","commande","id","heureLivraison","prixTotalAvecOptions","JSON","stringify","cleanAlsSejour","filter","getAllSejour","api","apiCall","url","method","transformResponse","parse","getSejour","saveSejour","deleteSejour","getFilterSejour","sjrFilter","map","webpackContext","req","webpackContextResolve","keys","render","_vm","this","_h","$createElement","_c","_self","attrs","dirty","width","model","callback","$$v","showDrawer","expression","_v","_s","title","on","$event","staticStyle","_t","status","_e","staticClass","saving","saveData","saveLabel","staticRenderFns","$emit","props","String","Boolean","default","component","VAlert","VAppBar","VBtn","VCol","VContainer","VFooter","VIcon","VNavigationDrawer","VSpacer","VToolbarTitle","VToolbar","getDefaultAlsBase","commit","libelle","usrEmail","cleanAlsUser","ApiResultCode","groupByNumber","xs","selector","entries","toNumberLookup","it","Number","parseInt","values","toNumberDictionary","buildDefaultItem","reduce","rv","x","toStringDictionary","App","Title","BackHome","Logout","ChangePassword","CreateUser","CreateUserAccess","Reception","ListCustomer","RoomService","OrderManagement","OrderHistory","AddOrder","Administration","UserAccount","MailSkin","MailTemplate","QrCode","FirstName","LastName","MailAdress","VillaSuiteNb","TelNb","DateOfStay","SendRequest","SendConfirmation","SendLoginEmail","AutoConnect","CustomerAccess","Valid","WaitingValidation","GustInRoom","CreateFile","AlertDelete","CustomerToCome","CheckIn","CheckOut","AlertCreate","AlertCreateTitle","User","Cart","SeeCart","YourCart","Continue","Comments","UnitPrice","Quantity","NbGuest","NbGuestInfos","TimeDelivery","TotalTTC","PartTVA","PriceService","Add","Remove","ClientName","FinalizeOrder","FinalizeOperator","FinalizeChoice","InOrderToValidate","InOrderToValidateEnterStay","AlertRemoveItem","Clear","AlertClear","AlertDelevery","AlertDeleveryTitle","AlertOrderSavedTitle","AlertOrderSaved","AlertProductMix","AlertProductMixTitle","Dish","HideAllergens","ShowAllergens","Allergens","SelectOptions","IncludedTitle","Included","CravingMore","SupplementTitle","YourSupplementTitle","SelectedCooking","ChooseCooking","AlertEggCookingTitle","AlertEggCooking","ChooseCookingTitle","SelectedFlavor","ChooseFlavor","ChooseFlavorTitle","SelectedSideDish","ChoiceSideDish","BeyondSideDish","SideDish","AlertSideDishesTitle","AlertSideDishes","SnackAddCart","SnackAddBreakfastSupplement","Edit","MissingOptionItemAlert","MissingOptionAlertTitle","MissingOptionAlert","BtnCookingTime","CookingTime","ChefChoice","AlertTimeCooking","ModifyConfig","RecapBreakfast","DesiredQty","RecapEgg","OldPassword","NewPassword","Modify","ChangePasswordProgress","ChangePasswordSuccess","ChangePasswordError","Global","Yes","No","Warning","Ok","Validate","Delete","Cancel","Save","Close","Choose","Language","With","Without","WeAre","Welcome","DiscoverCards","Between","And","Full","Loaded","UpdateDeliverySlots","Today","Tomorrow","Yesterday","FormatPeriode","download","Days","Back","ConfirmDelete","Reset","Icon","omelette","brouilles","auPlat","poches","coque","dur","Menu","Print","LangSwitcher","Tooltip","Login","Email","Password","LoginAction","CancelRequest","AuthenticationProgress","AuthenticationSuccess","AuthenticationError","PassForgottenSuccess","PassForgottenProgress","PassForgottenError","ForgotPassword","InfosLogin","CreateAccess","InfosAccount","EnterStayDate","Commande","BreakFastToComme","DinerToComme","Passed","AddDish","Date","SendMail","getDefaultAloMailSkin","mskValide","lgs","cleanAloMailSkin","mailSkin","image","prix","template","platsIds","allergenesIds","biosIds","prixAccompagnement","accompagnementsIds","qtyAccompagnementGratuit","descriptif","parfums","iconId","arboId","qty","cuissons","tva","getDefaultAloUserIdentity","userEmail","userPass","userNewPass","userEncryptedToken","getDefaultAloMailTemplate","mtpValide","mskId","cleanAloMailTemplate","mailTemplate","timeFromString","time","parts","split","showDialog","$t","item","plat","ref","canAddFromArbo","sectionId","valid","cancel","ItemPanier","itemPanier","uuid","$nextTick","$refs","editplat","edit","arbo","show","VCard","VCardText","VDialog","mocks","cacheQuery","args","met","methodeMock","log","axiosConfig","axiosConfiStr","finally","externalApiCall","authorization","a","defaults","headers","common","addMocks","mks","forEach","statusText","config","downloadFile","responseType","response","URL","createObjectURL","Blob","link","filenameRegex","matches","exec","replace","body","click","directPayloadQuery","payloadRequest","payload","resp","resultCode","errorMessage","catch","getDefaultAloSejour","role","Visiteur","chambre","usrId","user","sjrValide","chambres","sjrCheckIn","sjrCheckOut","sjrDatadd","sjrDateMail","sjrTel","sjrEnable","cleanAloSejour","webpackAsyncContext","ids","ApiUserRole","AloPanier","items","nbCouverts","timeDebut","timeFin","contacts","allContacts","commentaire","arboDebut","heureDebut","arboFin","heureFin","dicArbo","maxDebut","minFin","minTempsPreparation","oeufDebut","oeufFin","total","dicTva","tvas","k","pourcentage","montant","parseFloat","uuidv4","crypto","getRandomValues","Uint8Array","toString","_l","group","$gt","platsDic","readOnly","editItemPanier","udpateQty","updateItemCommentaire","nativeOn","select","canRoomService","_f","showEdit","udpateCartItem","join","start","$options","filters","formatDate","end","required","selectedCrenaux","scopedSlots","_u","fn","_g","_b","label","$attrs","showPicker","slot","idx","directives","rawName","crenaux","selectedDay","tc","formatIsoDate","date","nbResa","nbResaMaxPerSlot","disableIfFull","loading","newValue","$store","myActions","ROOM_SERVICES_CRENAUX_REQUEST","groupCrenaux","findIndex","today","getTime","minTodayTime","setHours","Math","max","firstAllowedTime","minTomorrowTime","myGetters","tomorrow","setDate","getDate","todaysCrenaux","tomorowCrenaux","maxTime","dicCrenauxToday","slotDuration","dicCrenauxTomorrow","$i18n","VChip","VDivider","VProgressCircular","VRow","VSlideGroup","VTabItem","VTabsItems","VTextField","showHoraire","editPlat","deliveryPicker","minDateCrenaux","nbItems","groupBy","heure","comment","nb","components","CartItem","EditPlat","DeliveryPicker","SejourDetail","VTextarea","StatusCommande","TemplateMail","getDefaultAloMailTemplateLg","lang","mtplTemplate","getDefaultAloBaseLg","lg","childrenIds","isDefault","registerHooks","format","i18n","utc","locale","yesterday","forceShowSecond","negatif","duration","abs","durationMs","asMilliseconds","isNaN","days","hours","minutes","seconds","milliseconds","timeStart","timeEnd","isCts","local","currency","formatCurrency","MoyenPaiement","TypeReduction","Intl","NumberFormat","style","minimumFractionDigits","maximumFractionDigits","round","isInt","cb","cheque","virement","paypal","cb3x","charAt","toUpperCase","telStr","cleaned","match","_obj","persistent","change","indexOf","_k","keyCode","choose","class","color","icon","domProps","buttonFalseText","buttonFalseColor","buttonFalseFlat","buttonTrueText","buttonTrueColor","buttonTrueFlat","VCardActions","mounted","addEventListener","onEnterPressed","destroyed","removeEventListener","methods","stopPropagation","$destroy","Install","Vue","options","vuetify","warn","Ctor","extend","assign","Confirm","createDialogCmp","container","querySelector","cmp","propsData","$el","$mount","VCardSubtitle","VCardTitle","use","goHome","printMode","drawer","canReception","canAdmin","userName","preventDefault","UI_SET_CART_VISIBLITY","logout","showSnacks","index","UI_CLOSE_SNACKBAR","isDirty","ruleRequired","password","hasError","proxy","modified","$set","rulePasswordMinLength","newPassword","rulePasswordMatch","confirmPassword","newPassVerif","passwordMinLength","v","changePasswordForm","validate","AUTH_CHANGE_PASSWORD_REQUEST","UI_ADD_SNACK_MESSAGE","EditDrawer","VForm","showCart","updateHeureLivraison","updateCommentaire","updateNbCouverts","clearCart","sendOrder","createAccount","goToLogin","updateTime","arbosDic","ROOM_SERVICES_UPD_HEURE_LIVRAISON","ROOM_SERVICES_UPD_COMMENTAIRE","ROOM_SERVICES_UPD_NB_COUVERTS","ROOM_SERVICES_UPD_ITEM_COMMENTAIRE","$confirm","ROOM_SERVICES_UPD_ITEM_QTY","ROOM_SERVICES_UPD_CART_ITEM","cartDetail","ROOM_SERVICES_UPD_CONTACT","allContactsType","EnAttenteValidation","CommandeAjoutee","ADM_COMMANDE_SAVE_REQUEST","ROOM_SERVICES_CLEAR_PANIER","messageValid","$route","$router","params","commandeId","useUser","isAuthenticated","canOrder","contactTypes","currentSejour","CartDetail","VBadge","VList","VListItem","VListItemAction","VListItemTitle","VSwitch","setLang","defaultLocale","prod","VueAloGetTrad","install","getTradItem","$gct","getTradItemCollection","locales","dir","fallbackLocale","silentTranslationWarn","silentFallbackWarn","messages","loadedLanguages","setI18nLanguage","find","valueSelector","maxIdx","Array","loadLanguageAsync","includes","msgs","setLocaleMessage","VListItemContent","VListItemIcon","VMenu","print","UI_SET_PRINT_MODE","clipped","miniVariant","right","openUserMenu","UI_SET_CONTENT_HEIGHT","innerHeight","appBar","clientHeight","onResize","rightDrawerEnable","AUTH_LOGOUT_REQUEST","changePassword","$vuetify","theme","themes","light","secondary","primary","isVisiteur","snackMessages","UI_SET_RIGHT_DRAWER_ENABLE","rightDrawerOpen","UI_SET_RIGHT_DRAWER_OPEN","matched","meta","routemeta","rightDrawerIcon","Printer","VApp","VAppBarNavIcon","VImg","VListItemGroup","VListItemSubtitle","VMain","VSnackbar","Resize","typeCache","AUTH_REQUEST","AUTH_USER_REQUEST","AUTH_AUTO_LOGOUT_REQUEST","AUTH_PASSWORD_REQUEST","AUTH_CREATE_PASSWORD_REQUEST","AUTH_RESET_STATUS","AUTH_SET_REDIRECT_PATH","AUTH_AUTOLOG_REQUEST","ROOM_SERVICES_DATAS_REQUEST","ROOM_SERVICES_DATAS_ENSURE","ROOM_SERVICES_PLAT_SET_SELECTION","ROOM_SERVICES_ARBO_SET_SELECTION","ROOM_SERVICES_ADD_PANIER","ADM_SEJOUR_REQUEST","ADM_SEJOUR_ENSURE","ADM_SEJOUR_DETAIL_REQUEST","ADM_SEJOUR_DETAIL_ENSURE","ADM_SEJOUR_SAVE_REQUEST","ADM_SEJOUR_DELETE_REQUEST","ADM_SEJOUR_RESET_STATUS","ADM_USER_REQUEST","ADM_USER_ENSURE","ADM_USER_DETAIL_REQUEST","ADM_USER_DETAIL_ENSURE","ADM_USER_SAVE_REQUEST","ADM_USER_DELETE_REQUEST","ADM_USER_RESET_STATUS","ADM_COMMANDE_REQUEST","ADM_COMMANDE_ENSURE","ADM_COMMANDE_DETAIL_REQUEST","ADM_COMMANDE_DETAIL_ENSURE","ADM_COMMANDE_DELETE_REQUEST","ADM_COMMANDE_RESET_STATUS","ADM_MAIL_TEMPLATE_REQUEST","ADM_MAIL_TEMPLATE_ENSURE","ADM_MAIL_TEMPLATE_DETAIL_REQUEST","ADM_MAIL_TEMPLATE_DETAIL_ENSURE","ADM_MAIL_TEMPLATE_SAVE_REQUEST","ADM_MAIL_TEMPLATE_DELETE_REQUEST","ADM_MAIL_TEMPLATE_RESET_STATUS","ADM_MAIL_SKIN_REQUEST","ADM_MAIL_SKIN_ENSURE","ADM_MAIL_SKIN_DETAIL_REQUEST","ADM_MAIL_SKIN_DETAIL_ENSURE","ADM_MAIL_SKIN_SAVE_REQUEST","ADM_MAIL_SKIN_DELETE_REQUEST","ADM_MAIL_SKIN_RESET_STATUS","ADM_PAN_STATUS_REQUEST","ADM_PAN_STATUS_ENSURE","ADM_PAN_STATUS_DETAIL_REQUEST","ADM_PAN_STATUS_DETAIL_ENSURE","ADM_PAN_STATUS_SAVE_REQUEST","ADM_PAN_STATUS_DELETE_REQUEST","ADM_PAN_STATUS_RESET_STATUS","UI_SET_ALLERGENE_VISIBLITY","UI_SET_SEARCH_SEJOUR","UI_SET_SORT_SEJOUR_DESC","UI_SET_SORT_SEJOUR_BY","UI_SET_SEARCH_USER","UI_SET_SORT_USER_DESC","UI_SET_SORT_USER_BY","UI_SET_SEARCH_COMMANDE","UI_SET_SORT_COMMANDE_DESC","UI_SET_SORT_COMMANDE_BY","UI_SET_SEARCH_MAIL_TEMPLATE","UI_SET_SORT_MAIL_TEMPLATE_DESC","UI_SET_SORT_MAIL_TEMPLATE_BY","UI_SET_SEARCH_MAIL_SKIN","UI_SET_SORT_MAIL_SKIN_DESC","UI_SET_SORT_MAIL_SKIN_BY","SecurityItemsKeys","routes","path","route","pageId","roles","sejourId","userId","store","router","beforeEach","to","from","next","getters","canAccess","dispatch","actions","_actions","action","localVue","mixin","authenticate","autolog","getAuthenticatedUser","forgetPassword","createPassword","classToObject","ctor","objResult","getOwnPropertyNames","protoVal","AUTH_SUCCESS","AUTH_ERROR","AUTH_USER_SUCCESS","AUTH_USER_ERROR","AUTH_LOGOUT_SUCCESS","AUTH_LOGOUT_ERROR","AUTH_PASSWORD_SUCCESS","AUTH_PASSWORD_ERROR","AUTH_CHANGE_PASSWORD_SUCCESS","AUTH_CHANGE_PASSWORD_ERROR","AUTH_CREATE_PASSWORD_SUCCESS","AUTH_CREATE_PASSWORD_ERROR","context","identity","state","authStatus","userSecurity","renewTokenId","redirectPath","usrRole","CentralWeb","Admin","Client","some","DEBUG_LOG","enable","visible","calculSecurityRights","SecurityRightsByRoles","mutations","resetState","loadInitalData","currentRoute","userStatus","authModule","getAllDatas","getCrenaux","ROOM_SERVICES_DATAS_SUCCESS","ROOM_SERVICES_DATAS_ERROR","ROOM_SERVICES_CRENAUX_SUCCESS","ROOM_SERVICES_CRENAUX_ERROR","sectionsList","selected","horaire","contact","datasStatus","allergenesDic","biosDic","accompagnementsDic","iconsDic","arbosList","sectionsDic","configuration","selectedIcon","datas","icons","allergenes","bios","accompagnements","plats","arbos","rootArbosIds","sections","dic","lastSectionId","hasSameConfig","localStorage","setItem","getDefaultConfiguration","langs","editorDefaultConfig","language","toolbarGroups","groups","removeButtons","email","sendinblueApiKey","senderEmail","senderName","testMode","testEmail","bccEmails","pan","getItem","administrationModule","getAllUser","getUser","saveUser","deleteUser","getFilterUser","usrFilter","parseCommandeData","cmd","parseCommandesData","cmds","getAllCommande","getFilterCommande","cmdFilter","histo","getCommande","saveCommande","deleteCommande","getAllMailTemplate","getMailTemplate","saveMailTemplate","deleteMailTemplate","getAllMailSkin","getMailSkin","saveMailSkin","deleteMailSkin","getDefaultAloPanStatus","pstColor","cleanAloPanStatus","getAllPanStatus","getPanStatus","savePanStatus","deletePanStatus","ADM_SEJOUR_SUCCESS","ADM_SEJOUR_ERROR","ADM_SEJOUR_DETAIL_SUCCESS","ADM_SEJOUR_DETAIL_ERROR","ADM_SEJOUR_SAVE_SUCCESS","ADM_SEJOUR_SAVE_ERROR","ADM_SEJOUR_DELETE_SUCCESS","ADM_SEJOUR_DELETE_ERROR","ADM_SEJOUR_UPDATE_LAST_QUERY_DATE","ADM_USER_SUCCESS","ADM_USER_ERROR","ADM_USER_DETAIL_SUCCESS","ADM_USER_DETAIL_ERROR","ADM_USER_SAVE_SUCCESS","ADM_USER_SAVE_ERROR","ADM_USER_DELETE_SUCCESS","ADM_USER_DELETE_ERROR","ADM_COMMANDE_SUCCESS","ADM_COMMANDE_ERROR","ADM_COMMANDE_DETAIL_SUCCESS","ADM_COMMANDE_DETAIL_ERROR","ADM_COMMANDE_SAVE_SUCCESS","ADM_COMMANDE_SAVE_ERROR","ADM_COMMANDE_DELETE_SUCCESS","ADM_COMMANDE_DELETE_ERROR","ADM_COMMANDE_UPDATE_LAST_QUERY_DATE","ADM_MAIL_TEMPLATE_SUCCESS","ADM_MAIL_TEMPLATE_ERROR","ADM_MAIL_TEMPLATE_DETAIL_SUCCESS","ADM_MAIL_TEMPLATE_DETAIL_ERROR","ADM_MAIL_TEMPLATE_SAVE_SUCCESS","ADM_MAIL_TEMPLATE_SAVE_ERROR","ADM_MAIL_TEMPLATE_DELETE_SUCCESS","ADM_MAIL_TEMPLATE_DELETE_ERROR","ADM_MAIL_SKIN_SUCCESS","ADM_MAIL_SKIN_ERROR","ADM_MAIL_SKIN_DETAIL_SUCCESS","ADM_MAIL_SKIN_DETAIL_ERROR","ADM_MAIL_SKIN_SAVE_SUCCESS","ADM_MAIL_SKIN_SAVE_ERROR","ADM_MAIL_SKIN_DELETE_SUCCESS","ADM_MAIL_SKIN_DELETE_ERROR","ADM_PAN_STATUS_SUCCESS","ADM_PAN_STATUS_ERROR","ADM_PAN_STATUS_DETAIL_SUCCESS","ADM_PAN_STATUS_DETAIL_ERROR","ADM_PAN_STATUS_SAVE_SUCCESS","ADM_PAN_STATUS_SAVE_ERROR","ADM_PAN_STATUS_DELETE_SUCCESS","ADM_PAN_STATUS_DELETE_ERROR","buildStateItem","validityMin","createdAt","expireAt","setMinutes","getMinutes","sejours","lastSejourQuery","audio","Audio","nextTick","play","actionEnsure","sejourList","sejourDic","userList","userDic","commandes","lastCommandeQuery","commandeList","commandeDic","mailTemplateList","mailTemplateDic","mailSkinList","mailSkinDic","panStatusList","panStatusDic","sejourStatus","sort","b","localeCompare","commandeStatus","mailTemplateStatus","mailSkinStatus","panStatusStatus","f","set","administration","height","open","visibility","search","desc","contentHeight","showAllergene","searchSejour","sortSejourDesc","sortSejourBy","searchUser","sortUserDesc","sortUserBy","searchCommande","sortCommandeDesc","sortCommandeBy","searchMailTemplate","sortMailTemplateDesc","sortMailTemplateBy","searchMailSkin","sortMailSkinDesc","sortMailSkinBy","uiModule","ui","debug","Store","auth","roomservice","strict","initialStateCopy","replaceState","resquestCommit","successCommit","errorCommit","emptyRequest","addPayloadToCommit","resquestAction","stateItemToCheck","fr","current","targetLengthMin","targetLengthMax","ok","textLength","checked","small","showText","trueText","falseText","factor","inputValue","newV","inputfield","badInput","newVal","positiveOnly","startTimeout","grey","openQty","disableMoins","remove","disablePlus","add","timeouID","maxValue","minValue","breakpoint","years","year","y","months","minDates","getUTCFullYear","getUTCMonth","maxDates","month","allYear","padStart","selectAllYear","startDate","toDate","dates","monthChanged","newDate","setUTCDate","now","fromYear","newYear","newMonth","VSelect","aspx","clearSearch","mobile","clearEnable","searchEnable","subtitle","selectedItem","VRadio","VRadioGroup","min","allowedMinutes","menu","save","minTime","VTimePicker","badgeContent","badgeIcon","iconUrl","showQtySelected","qtySelected","showValueOnBadge","icoBadgeSelected","icoBadge","togglePlat","subPlat","platArboId","addToCart","platSectionId","platParentId","Function","hasAllergene","mustScroll","goTo","offset","VExpandTransition","dense","canAdd","addItemToPanier","parentId","selectProduct","refInFor","qtyTotal","prixTotal","quantifiables","cp","forceQuantifiable","isEdited","directValidation","showCuisson","cuisson","showParfum","parfum","$tc","accompagnement","onCuissonSelected","onCancelSelect","onParfumSelected","autoAdd","mustSelectCuisson","mustSelectParfum","isSimpleProduct","nbAccompagnements","allowAdd","resetItemPanier","reset","selectOption","nbSupplements","prixSupplementsCarte","section","editSupplement","showCarte","showConfirmAddMessage","prixAvecOptions","showSection","selectedPlat","addSupplement","showConfirmAdd","backToConfig","titleOption","nbChoixSectionRestant","qtyAllowed","isSelected","changeOptionPlat","selectedParfum","ix","isSelectedParfum","changeParum","oldValue","restant","qtySectionSelected","MenuBreakfastSectionItem","supplements","udpateSupplements","menuItems","carteItems","missingOptions","reponse","alert","nbMissing","MenuBreakfastSection","MenuBreakfastCarte","MenuBreakfastEditCarte","bioId","BiosDic","cuissonOeuf","hasAccompagnement","toggleAccompagnement","tempsCuisson","showTempsCuisson","iconName","defaultItems","IconBtn","productionTip","TimePicker","QtyField","SearchDrawer","SelectFromList","urlParams","URLSearchParams","location","delete","history","pathname","h","dispatchEvent","Event","opt","prixSupplementsAccompagnement","nbAccompagnementsPayant","getDefaultAloUser","usrValide","usrPasswordToken","usrType","usrNom","usrPrenom","usrDatadd","autologin","cleanAloUser","qtyAccompagnements","option","supplement","hasOption","nbGratuitRestant","CartSupItem","getDefaultAloBase","PASSWORD_MIN_LENGTH","ruleMinLength","fieldName","ruleMatch","verif","verifPass","ruleMailValid","test"],"mappings":"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","file":"js/app.9f0edca2.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"admin~index~reception~roomservice\":\"admin~index~reception~roomservice\",\"admin\":\"admin\",\"index\":\"index\",\"reception\":\"reception\",\"roomservice\":\"roomservice\",\"lang-en\":\"lang-en\",\"room-service\":\"room-service\"}[chunkId]||chunkId) + \".\" + {\"admin~index~reception~roomservice\":\"80e14d08\",\"admin\":\"06163106\",\"index\":\"dcfbe9b5\",\"reception\":\"56c3f8a6\",\"roomservice\":\"306246b9\",\"lang-en\":\"cb3d2a0a\",\"room-service\":\"2a1c6f52\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"admin~index~reception~roomservice\":1,\"admin\":1,\"index\":1,\"reception\":1,\"roomservice\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"admin~index~reception~roomservice\":\"admin~index~reception~roomservice\",\"admin\":\"admin\",\"index\":\"index\",\"reception\":\"reception\",\"roomservice\":\"roomservice\",\"lang-en\":\"lang-en\",\"room-service\":\"room-service\"}[chunkId]||chunkId) + \".\" + {\"admin~index~reception~roomservice\":\"64e9a7eb\",\"admin\":\"9b0bf363\",\"index\":\"8033c943\",\"reception\":\"2ffa31fd\",\"roomservice\":\"35b7014b\",\"lang-en\":\"31d6cfe0\",\"room-service\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","module.exports = __webpack_public_path__ + \"img/en.a95b4dcc.svg\";","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CartSupItem.vue?vue&type=style&index=0&id=1f768f59&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CartSupItem.vue?vue&type=style&index=0&id=1f768f59&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/auPlat-off.994e4d30.svg\";","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IconBtn.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IconBtn.vue?vue&type=style&index=0&lang=css&\"","import { toNumberLookup } from \"@/utils/groupBy\"\r\nimport { timeFromString } from \"@/utils/time\"\r\nimport { AloAccompagnement } from \"./AloAccompagnement\"\r\nimport { AloAllergene } from \"./AloAllergene\"\r\nimport { AloArbo } from \"./AloArbo\"\r\nimport { AloBase, getDefaultAloBase } from \"./AloBase\"\r\nimport { AloPanier } from \"./AloPanier\"\r\nimport { AloPanStatusHisto } from \"./AloPanStatusHisto\"\r\nimport { AloSejour } from \"./AloSejour\"\r\nimport { IItemPanier, ItemPanier } from \"./ItemPanier\"\r\n\r\n\r\nexport interface AloCommande extends AloBase {\r\n \r\n panDatlivraison: string\r\n panDatadd: string\r\n panValide: boolean \r\n panMontant: number|null \r\n panStatus: number|null\r\n panCommentaire: string\r\n panJson: string\r\n sejour:AloSejour|null\r\n histosStatus:Array\r\n panier:AloPanier\r\n mtpId:number|null\r\n type:string\r\n timer:number|null\r\n panLg:string\r\n panUiid:string\r\n tempsPreparation:number\r\n}\r\n\r\nexport const getDefaultAloCommande = ():AloCommande => {\r\n return { \r\n ...getDefaultAloBase(), \r\n panDatlivraison: \"\",\r\n panDatadd:\"\",\r\n panValide : true, \r\n panMontant:null,\r\n panStatus:null,\r\n panCommentaire:\"\",\r\n panJson:\"\", \r\n sejour:null,\r\n histosStatus:[],\r\n panier:new AloPanier(),\r\n mtpId:null,\r\n type:\"mdi-silverware\",\r\n timer:null,\r\n panLg:\"fr\",\r\n panUiid:\"\",\r\n tempsPreparation:30\r\n }\r\n}\r\n\r\nexport const cleanAloCommande = (commande:AloCommande) => {\r\n if(!commande) return \r\n if(!commande.id) delete commande.id\r\n if(!commande.panStatus) delete commande.panStatus \r\n if(!commande.mtpId) delete commande.mtpId\r\n \r\n //Mise à jour des champs de la commande en fonction du panier\r\n commande.panDatlivraison = commande.panier.heureLivraison\r\n commande.tempsPreparation = commande.panier.tempsPreparation\r\n commande.panMontant = commande.panier.prixTotalAvecOptions\r\n commande.panJson = JSON.stringify(commande.panier) \r\n \r\n\r\n delete commande.panier \r\n}\r\n\r\n","import { AlsBase, getDefaultAlsBase } from './AlsBase'\r\nimport { AlsUser, getDefaultAlsUser } from './AlsUser'\r\n\r\n\r\nexport interface AlsSejour extends AlsUser {\r\n \r\n usrEmail: string\r\n inCours: boolean | null\r\n toCome: boolean | null\r\n \r\n}\r\n\r\nexport const getDefaultAlsSejour = (commit:boolean=true):AlsSejour => {\r\n const today = new Date() \r\n today.setHours(0,0,0,0) \r\n return {\r\n ...getDefaultAlsUser(commit),\r\n usrEmail:'',\r\n inCours:null,\r\n toCome:null\r\n }\r\n}\r\n\r\nexport const cleanAlsSejour = (filter:AlsSejour) => {\r\n if(!filter) return \r\n if(!filter.id) delete filter.id\r\n}\r\n","import apiHelpers from '@/utils/api'\r\nimport { AlrContainer } from '@/models/response/AlrContainer'\r\nimport { AxiosPromise } from 'axios'\r\nimport { AloSejour,cleanAloSejour } from '@/models/alo/AloSejour'\r\nimport { AlsSejour, cleanAlsSejour } from '@/models/als/AlsSejour'\r\n\r\nexport default {\r\n getAllSejour(): AxiosPromise>> { \r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Sejour`, \r\n method: 'GET',\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer>\r\n }]\r\n })\r\n },\r\n getSejour(id:number):AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Sejour/${id}`, \r\n method: 'GET',\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n })\r\n },\r\n saveSejour(sejour:AloSejour):AxiosPromise> {\r\n cleanAloSejour(sejour)\r\n if(sejour.id) {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Sejour/${sejour.id}`, \r\n method: 'PUT',\r\n data: sejour,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n }) \r\n }\r\n else{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Sejour`, \r\n method: 'POST',\r\n data: sejour,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n }) \r\n }\r\n },\r\n deleteSejour(id:number):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Sejour/${id}`, \r\n method: 'DELETE',\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n })\r\n },\r\n getFilterSejour(sjrFilter : AlsSejour): AxiosPromise>> { \r\n cleanAlsSejour(sjrFilter)\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Sejour/filter`, \r\n data:sjrFilter,\r\n method: 'POST',\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer>\r\n }]\r\n })\r\n }\r\n}","module.exports = __webpack_public_path__ + \"img/brouilles-off.bd8dae8b.svg\";","module.exports = __webpack_public_path__ + \"img/poches-on.6779e21e.svg\";","module.exports = __webpack_public_path__ + \"img/coque-off.739e3165.svg\";","module.exports = __webpack_public_path__ + \"img/omelette-off.adb74166.svg\";","module.exports = __webpack_public_path__ + \"img/omelette-on.c798b879.svg\";","module.exports = __webpack_public_path__ + \"img/brouilles-on.0f33dec9.svg\";","module.exports = __webpack_public_path__ + \"img/dur-on.eb6f0f38.svg\";","module.exports = __webpack_public_path__ + \"img/fr.ad12a30f.svg\";","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc10\",\n\t\"./be.js\": \"1fc10\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.showDrawer)?_c('v-navigation-drawer',{attrs:{\"permanent\":_vm.dirty,\"temporary\":\"\",\"enable-resize-watcher\":\"\",\"fixed\":\"\",\"app\":\"\",\"right\":\"\",\"max-width\":\"90%\",\"width\":_vm.width},model:{value:(_vm.showDrawer),callback:function ($$v) {_vm.showDrawer=$$v},expression:\"showDrawer\"}},[_c('v-app-bar',{attrs:{\"absolute\":\"\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.showDrawer=false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-container',{staticStyle:{\"margin\":\"70px auto 50px auto\"},attrs:{\"fluid\":\"\"}},[_vm._t(\"default\"),(_vm.status.length > 0)?_c('v-alert',{attrs:{\"dense\":\"\",\"type\":\"info\"}},[_vm._v(_vm._s(_vm.status))]):_vm._e()],2),_c('v-footer',{attrs:{\"absolute\":\"\"}},[_c('v-col',{staticClass:\"text-right\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"mr-4\",attrs:{\"small\":\"\"},on:{\"click\":function($event){_vm.showDrawer=false}}},[_vm._v(\"Annuler \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-cancel\")])],1),_c('v-btn',{staticClass:\"mr-4\",attrs:{\"small\":\"\",\"disabled\":!_vm.dirty || _vm.saving,\"loading\":_vm.saving,\"color\":\"primary\"},on:{\"click\":_vm.saveData}},[_vm._v(_vm._s(_vm.saveLabel)+\" \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-content-save\")])],1)],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'EditDrawerContent', \r\n props: {\r\n title:String,\r\n value:Boolean,\r\n dirty:Boolean,\r\n saving:Boolean,\r\n status:{\r\n type:String,\r\n default:\"\"\r\n },\r\n width:{\r\n type:String,\r\n default:\"1200\"\r\n },\r\n saveLabel:{\r\n type:String,\r\n default:\"Sauvegarder\"\r\n }\r\n }\r\n})\r\nexport default class EditDrawerContent extends Vue {\r\n title!:string\r\n value!:boolean\r\n dirty!:boolean\r\n saving!:boolean\r\n width!:String\r\n status!:string\r\n\r\n get showDrawer(){\r\n return this.value\r\n }\r\n set showDrawer(value){\r\n this.$emit('input', value)\r\n }\r\n \r\n saveData() {\r\n this.$emit(\"save\") \r\n } \r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditDrawer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditDrawer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditDrawer.vue?vue&type=template&id=76353b7c&\"\nimport script from \"./EditDrawer.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditDrawer.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFooter } from 'vuetify/lib/components/VFooter';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAlert,VAppBar,VBtn,VCol,VContainer,VFooter,VIcon,VNavigationDrawer,VSpacer,VToolbarTitle})\n","\r\n\r\nexport interface AlsBase {\r\n id:number|null\r\n libelle:string\r\n commit:boolean\r\n}\r\n\r\nexport const getDefaultAlsBase = (commit:boolean=true):AlsBase => {\r\n return {\r\n id:null,\r\n libelle:'',\r\n commit\r\n }\r\n}","import { AlsBase, getDefaultAlsBase } from './AlsBase'\r\n\r\n\r\nexport interface AlsUser extends AlsBase { \r\n usrEmail: string \r\n}\r\n\r\nexport const getDefaultAlsUser = (commit:boolean=true):AlsUser => { \r\n return {\r\n ...getDefaultAlsBase(commit),\r\n usrEmail:''\r\n }\r\n}\r\n\r\nexport const cleanAlsUser = (filter:AlsUser) => {\r\n if(!filter) return \r\n if(!filter.id) delete filter.id\r\n}\r\n","module.exports = __webpack_public_path__ + \"img/coque-on.135f4b86.svg\";","module.exports = __webpack_public_path__ + \"img/brouilles-blanc-on.0f33dec9.svg\";","export enum ApiResultCode {\r\n Ok\t\t\t\t\t\t\t= 'Ok',\r\n \r\n ResultCodeNotProvided\t\t= 'ResultCodeNotProvided',\r\n FileNotFound\t\t\t\t= 'FileNotFound',\r\n \r\n UnauhtorizedUser\t\t\t= 'UnauhtorizedUser',\t\t// L'utilisateur n'est pas authentifié (mal fichu: AuthorizedAttribute ne renvoie que ça)\r\n AccessForbidden\t\t\t\t= 'AccessForbidden',\t\t// L'utilisateur est authentifié mais il n'a pas le droit d'accéder à la ressource demandée\r\n UnauthorizedMethod\t\t\t= 'UnauthorizedMethod',\r\n \r\n \r\n InvalidModelState\t\t\t= 'InvalidModelState',\r\n \r\n InternalException\t\t\t= 'InternalException',\r\n }","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeliveryPicker.vue?vue&type=style&index=0&id=734c8fc0&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeliveryPicker.vue?vue&type=style&index=0&id=734c8fc0&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/omelette-blanc-off.adb74166.svg\";","module.exports = __webpack_public_path__ + \"img/brouilles-blanc-off.bd8dae8b.svg\";","export const groupBy = (xs: Array, selector: (i: T) => string) => {\r\n return Object.entries(toStringLookup(xs,selector)).map(it => {return {key:it[0],values:it[1]}})\r\n}\r\n\r\nexport const groupByNumber = (xs: Array, selector: (i: T) => number) => {\r\n return Object.entries(toNumberLookup(xs,selector)).map(it => {return {key:Number.parseInt(it[0]),values:it[1]}})\r\n}\r\n\r\nexport const extractDistinctById = (xs: Array, selector: (i: T) => number, dicItems: {[id: number]:T1} ) => {\r\n return Object.entries(toNumberLookup(xs,selector)).map(it => dicItems[parseInt(it[0])])\r\n}\r\n\r\nexport const extractDistinctProp = (xs: Array, selector: (i: T) => string ) => {\r\n return Object.entries(toStringLookup(xs,selector)).map(it => it[0]).sort()\r\n}\r\n\r\nexport const extractDistinctNumberProp = (xs: Array, selector: (i: T) => number ) => {\r\n return Object.entries(toNumberLookup(xs,selector)).map(it => it[0]).sort()\r\n}\r\n\r\nexport const toNumberDictionary = (xs: Array, selector: (i: T) => number,buildDefaultItem?:()=>T) => {\r\n return xs.reduce(function(rv, x) { \r\n rv[selector(x)] = buildDefaultItem?{...buildDefaultItem(),...x}:x\r\n return rv\r\n }, {} as {[index: number]: T})\r\n}\r\n\r\nexport const toStringDictionary = (xs: Array, selector: (i: T) => string,buildDefaultItem?:()=>T) => {\r\n return xs.reduce(function(rv, x) { \r\n rv[selector(x)] = buildDefaultItem?{...buildDefaultItem(),...x}:x\r\n return rv\r\n }, {} as {[index: string]: T})\r\n}\r\n\r\nexport const toNumberLookup = (xs: Array, selector: (i: T) => number) => {\r\n return xs.reduce(function(rv, x) { \r\n (rv[selector(x)] = rv[selector(x)] || []).push(x)\r\n return rv\r\n }, {} as {[index: number]: Array})\r\n}\r\n\r\nexport const toStringLookup = (xs: Array, selector: (i: T) => string) => {\r\n return xs.reduce(function(rv, x) { \r\n (rv[selector(x)] = rv[selector(x)] || []).push(x)\r\n return rv\r\n }, {} as {[index: string]: Array})\r\n}\r\n\r\nexport const toGroupDictionnary = (xs: Array, dicSelector: (i: T) => string, grpSelector: (i: T) => string) => {\r\n return Object.entries(toStringLookup(xs,dicSelector)).reduce((dic,current) => {\r\n dic[current[0]] = groupBy(current[1],grpSelector)\r\n return dic\r\n }, {} as {[index: string]: {key: string;values: T[]}[]})\r\n}\r\n\r\nexport const toGroupDictionnaryNumber = (xs: Array, dicSelector: (i: T) => string, grpSelector: (i: T) => number) => {\r\n return Object.entries(toStringLookup(xs,dicSelector)).reduce((dic,current) => {\r\n dic[current[0]] = groupByNumber(current[1],grpSelector)\r\n return dic\r\n }, {} as {[index: string]: {key: number;values: T[]}[]})\r\n}\r\n\r\n\r\nexport const chunk = (xs: Array, chunkSize:number = 2 ) => { \r\n if(chunkSize == 0) return []\r\n return Array.apply(null,Array(Math.ceil(xs.length/chunkSize))).map((x,i) => i).map((x,i) => xs.slice(i*chunkSize,i*chunkSize+chunkSize));\r\n}\r\n\r\nexport const toSubArray = (xs: Array, nbSubArray:number = 2 ) => { \r\n return chunk(xs, Math.ceil(xs.length / nbSubArray))\r\n}\r\n\r\n/*\r\nexport const chunk = (xs: Array, nbSubArray:number = 2 ) => { \r\n}\r\n*/","export default \r\n{\r\n App:{\r\n Title:\"ROOM SERVICE\",\r\n BackHome:\"Retour à la page d'accueil\",\r\n Logout:\"Se déconnecter\", \r\n ChangePassword:\"Modifier mon mot de passe\", \r\n CreateUser:\"Creer fiche client\",\r\n CreateUserAccess:\"Creer un compte client\", \r\n Reception:\"Reception\",\r\n ListCustomer:\"Liste client en chambre\",\r\n RoomService:\"Room service\",\r\n OrderManagement:\"Gestion des commandes\",\r\n OrderHistory:\"Historique des commandes\",\r\n AddOrder:\"Créer une commande\",\r\n Administration:\"Administration\",\r\n UserAccount:\"Comptes utilisateur\",\r\n MailSkin:\"Skin de mail\",\r\n MailTemplate:\"Template de mail\",\r\n QrCode:\"QrCode\"\r\n },\r\n Reception:{\r\n FirstName:\"Prénom\",\r\n LastName:\"Nom\",\r\n MailAdress:\"Adresse mail\",\r\n VillaSuiteNb:\"N° Suite / Villa\",\r\n TelNb:\"N° Tel mobile\",\r\n DateOfStay:\"Date séjour\",\r\n SendRequest:\"Envoyer demande\",\r\n SendConfirmation:\"Valider et envoyer confirmation\",\r\n SendLoginEmail:\"Envoyer mail de connexion\",\r\n AutoConnect:\"S'auto connecter\",\r\n CustomerAccess:\"Accès client terre blanche hotel\", \r\n Valid:\"Validé\",\r\n WaitingValidation:\"En attente de validation\",\r\n GustInRoom:\"Clients en chambre\",\r\n CreateFile:\"Créer une fiche client\",\r\n AlertDelete:\"Voulez vous vraiment supprimer le sejour\",\r\n CustomerToCome:\"Séjour à venir\",\r\n CheckIn:\"Entrée | Entrées\",\r\n CheckOut:\"Sortie | Sorties\",\r\n AlertCreate:\"Votre demande a bien été prise en compte. Vous recevrez une validation de votre compte par e-mail\",\r\n AlertCreateTitle:\"Demande envoyée\"\r\n },\r\n User:{\r\n FirstName:\"Prénom\",\r\n LastName:\"Nom\",\r\n MailAdress:\"Adresse mail\",\r\n SendLoginEmail:\"Envoyer mail de connexion\",\r\n AlertDelete:\"Confirmez vous la suppression de l'utilisateur '{name}'\"\r\n },\r\n Cart:{ \r\n SeeCart:\"Voir le panier\",\r\n YourCart:\"VOTRE PANIER\",\r\n Continue:\"Continuer\",\r\n Comments:\"Commentaire, allergies, divers\",\r\n UnitPrice:\"Prix unitaire\",\r\n Quantity:\"Quantité\",\r\n NbGuest:\"Nombre de couverts*\",\r\n NbGuestInfos:\"Préciser le nombre de couverts souhaités (obligatoire)\",\r\n TimeDelivery:\"Heure de livraison souhaitée*\",\r\n TotalTTC: \"Total TTC\",\r\n PartTVA: \"Dont TVA\",\r\n PriceService:\"Prix net, service inclus\",\r\n Add:\"Ajouter\",\r\n Remove:\"Retirer\",\r\n ClientName:\"Nom client\",\r\n FinalizeOrder:\"Afin de finaliser la commande\",\r\n FinalizeOperator:\"un opérateur va vous recontacter.\",\r\n FinalizeChoice:\"Merci de choisir comment être recontacté.\",\r\n InOrderToValidate:\"Afin de valider votre commande identifiez vous ou créez un accès\",\r\n InOrderToValidateEnterStay:\"Afin de valider votre commande renseignez vos date de séjour\",\r\n AlertRemoveItem:\"Souhaitez-vous retirer complètement ce produit de votre panier ?\",\r\n Clear:\"Vider le panier\",\r\n AlertClear:\"Souhaitez-vous complètement vider votre panier?\",\r\n AlertDelevery:\"Afin de valider votre commande vous devez choisir un crenaux de livraison valide\",\r\n AlertDeleveryTitle:\"Choisissez un crenaux de livraison\",\r\n AlertOrderSavedTitle:\"Merci !\",\r\n AlertOrderSaved:\"Votre commande à bien été enregistrée\",\r\n AlertProductMix:\"Merci de vider votre panier au préalable.
La sélection de plats mixtes
( petit déjeuner / Diner, Déjeuner)
n'est pas possible.\",\r\n AlertProductMixTitle:\"Attention\"\r\n },\r\n Dish:{\r\n HideAllergens:\"Masquer les allergènes\",\r\n ShowAllergens:\"Afficher les allergènes\",\r\n Allergens:\"Allergènes\", \r\n SelectOptions:\"sélectionnez la composition de vos options\",\r\n IncludedTitle:\"Inclus dans votre\",\r\n Included:\"inclus\",\r\n CravingMore:\"Envie de plus\",\r\n SupplementTitle:\"Supplement à la carte\",\r\n YourSupplementTitle:\"Votre supplement à la carte | Vos supplements à la carte\",\r\n SelectedCooking:\"Cuisson sélectionnée\",\r\n ChooseCooking:\"Choisir la cuisson\",\r\n AlertEggCookingTitle:\"Choix de la cuisson de vos oeufs\",\r\n AlertEggCooking:\"Vous devez choisir le mode de prépartion de vos oeufs\",\r\n ChooseCookingTitle:\"CHOISISSEZ VOTRE CUISSON\", \r\n SelectedFlavor:\"Variante sélectionnée\",\r\n ChooseFlavor:\"Choisir la variante\",\r\n ChooseFlavorTitle:\"CHOISISSEZ\", \r\n SelectedSideDish:\"Accompagnement sélectionné | Accompagnements sélectionnés\",\r\n ChoiceSideDish:\"accompagnement inclus | accompagnements inclus\", \r\n BeyondSideDish:\"au-delà, accompagnement supplémentaire de\",\r\n SideDish:\"Accompagnement en supplement à\",\r\n AlertSideDishesTitle: \"Vous semblez avoir oublié quelque chose !\",\r\n AlertSideDishes:\"Vous n’avez pas sélectionné tous les accompagnements inclus. Il vous reste {n} choix. Souhaitez-vous tout de même poursuivre?\",\r\n SnackAddCart:\"{plat} a bien été ajouté au panier pour un montant total de {prix} | {n} {plat} ont bien été ajoutés au panier pour un montant total de {prix}\", \r\n SnackAddBreakfastSupplement:\"{plat} a bien été ajouté en supplément pour un montant total de {prix} | {n} {plat} ont bien été ajoutés en supplément pour un montant total de {prix}\",\r\n Edit:\"Modifier la sélection\",\r\n MissingOptionItemAlert:\"Une sélection de '{plat}' est manquante | {n} sélections de '{plat}' sont manquantes\",\r\n MissingOptionAlertTitle: \"Vous semblez avoir oublié quelque chose !\",\r\n MissingOptionAlert:\"
  • {message}
voulez vous tout de même valider votre menu '{plat}'\",\r\n BtnCookingTime:\"Temps de cuisson*\",\r\n CookingTime:\"Temps de cuisson : {time}\",\r\n ChefChoice:\"Choix du chef\", \r\n AlertTimeCooking:\"Il semble que vous n'ayez sélectionné aucun temps de cuisson

Laisser le Chef choisir à votre place ?\",\r\n ModifyConfig:\"Modifier mes choix\",\r\n RecapBreakfast:\"Récapitulatif menu petit déjeuner\",\r\n DesiredQty:\"Quantité souhaitée\",\r\n RecapEgg:\"Récapitulatif de la configuration de vos oeufs\"\r\n },\r\n ChangePassword:{\r\n Title:\"Change my password\",\r\n OldPassword:\"Old Password\",\r\n NewPassword:\"New Password\",\r\n Modify:\"Send change\",\r\n ChangePasswordProgress:\"Change password in progress\",\r\n ChangePasswordSuccess:\"Change password success\",\r\n ChangePasswordError:\"Change password error\"\r\n }, \r\n Global:{\r\n Yes:\"oui\",\r\n No:\"non\",\r\n Warning:\"Attention\",\r\n Ok:\"Ok\",\r\n Validate:\"Valider\",\r\n Delete:\"Supprimer\",\r\n Cancel:\"Annuler\",\r\n Save:\"Sauvegarder\",\r\n Close:\"Fermer\", \r\n Choose:\"Choisir\",\r\n Language:\"Langue\",\r\n Edit:\"Modifier\",\r\n With:\"Avec\",\r\n Without:\"Sans\",\r\n WeAre:\"Nous sommes le\",\r\n Welcome:\"Bienvenue\",\r\n DiscoverCards:\"Découvrir l'ensemble de nos cartes\",\r\n Between:\"entre\",\r\n And:\"et\",\r\n Full:\"Complet\",\r\n Loaded:\"Chargé\",\r\n UpdateDeliverySlots:\"Mise à jour des crenaux\",\r\n Today:\"Aujourd'hui\",\r\n Tomorrow:\"Demain\",\r\n Yesterday:\"Hier\",\r\n FormatPeriode:\"du {start} au {end}\",\r\n download:\"Télécharger\",\r\n Days:\"j\",\r\n Back:\"Retour\",\r\n ConfirmDelete:\"Confirmer la suppression\",\r\n Reset:\"Reinitialiser\"\r\n }, \r\n Icon:{\r\n omelette:\"omelette\",\r\n 'omelette-blanc':\"omelette
(blancs d'oeuf uniquement)\",\r\n brouilles:\"brouillés\",\r\n 'brouilles-blanc':\"brouillés
(blancs d'oeuf uniquement)\",\r\n auPlat:\"au plat\",\r\n poches:\"pochés\",\r\n coque:\"à la coque\",\r\n dur:\"dur\"\r\n },\r\n Menu: {\r\n Cart:\"Carte room service\",\r\n Print:\"Imprimer carte room service\"\r\n },\r\n LangSwitcher:{\r\n Tooltip:\"Langue\"\r\n }, \r\n Login: {\r\n Login: \"Identification\",\r\n Email: \"Email\",\r\n Password: \"Mot de passe\",\r\n LoginAction: \"S'identifier\",\r\n SendRequest:\"Envoyer la demande\",\r\n CancelRequest:\"Retour à l'identification\",\r\n AuthenticationProgress: \"Identification en cours\",\r\n AuthenticationSuccess: \"Identification réussie\",\r\n AuthenticationError: \"Erreur d'identification\",\r\n PassForgottenSuccess:\"Demande envoyée avec succès\",\r\n PassForgottenProgress:\"Demande en cours\",\r\n PassForgottenError:\"Erreur : Le compte et le mail ne correspondent pas\",\r\n ForgotPassword:\"Mot de passe oublié\",\r\n InfosLogin:\"Vous pouvez vous identifier automatiquement avec le lien que vous avez reçu par mail, ou demander une modication de mot de passe avec le lien ci-dessous\",\r\n CreateAccess:\"Creer un accès\",\r\n InfosAccount:\"Votre compte n'est pas encore activé\",\r\n EnterStayDate:\"Renseigner vos date de séjour\"\r\n },\r\n Commande:{\r\n BreakFastToComme:\"Petit déjeuner à venir\",\r\n DinerToComme:\"Dejeuner / diner à venir\",\r\n Passed:\"Commande passée\",\r\n AddDish:\"Ajouter des plats à la commande\",\r\n Date:\"Date et heure de la commande\",\r\n SendMail:\"Renvoyer la confirmation par e-mail\",\r\n Language:\"Langue\",\r\n AlertDelete:\"Voulez vous vraiment supprimer la commande\", \r\n Validate:\"Valider et envoyer confirmation\",\r\n }\r\n}\r\n","module.exports = __webpack_public_path__ + \"img/auPlat-on.18cee80f.svg\";","import { AloBase, getDefaultAloBase } from './AloBase'\r\nimport { AloMailSkinLg } from './AloMailSkinLg'\r\n\r\n\r\nexport interface AloMailSkin extends AloBase { \r\n mskValide:boolean \r\n lgs:Array \r\n}\r\n\r\nexport const getDefaultAloMailSkin = ():AloMailSkin => {\r\n return { \r\n ...getDefaultAloBase(), \r\n mskValide:true,\r\n lgs:[]\r\n\r\n }\r\n}\r\n\r\nexport const cleanAloMailSkin = (mailSkin:AloMailSkin) => {\r\n if(!mailSkin) return \r\n if(!mailSkin.id) delete mailSkin.id\r\n}\r\n","import { AloBaseLg, getDefaultAloBaseLg } from \"./AloBaseLg\"\r\n\r\n\r\nexport interface AloPlatLg extends AloBaseLg { \r\n cuissons?:Array,\r\n parfums?:Array\r\n\r\n}\r\n\r\nexport const getDefaultAloPlatLg = ():AloPlatLg => {\r\n return {\r\n ...getDefaultAloBaseLg(\"en\")\r\n }\r\n}","import { AloAccompagnement } from \"./AloAccompagnement\"\r\nimport { AloAllergene } from \"./AloAllergene\"\r\nimport { AloBase, getDefaultAloBase } from \"./AloBase\"\r\nimport { AloPlatLg, getDefaultAloPlatLg } from \"./AloPlatLg\"\r\n\r\n\r\nexport interface AloPlat extends AloBase { \r\n image?:string\r\n prix?:number|null\r\n template:string\r\n platsIds?:Array\r\n allergenesIds?:Array \r\n biosIds?:Array \r\n descriptif?:string \r\n prixAccompagnement?:number|null\r\n accompagnementsIds?:Array \r\n qtyAccompagnementGratuit?:number \r\n parfums?:Array\r\n iconId?:number|null\r\n arboId?:number|null\r\n qty?:number|null\r\n cuissons?:Array\r\n tva?:number \r\n lgs:Array\r\n}\r\n\r\nexport const getDefaultAloPlat = ():AloPlat => {\r\n return {\r\n ...getDefaultAloBase(),\r\n image:'',\r\n prix:null,\r\n template:'',\r\n platsIds:[],\r\n allergenesIds:[],\r\n biosIds:[],\r\n prixAccompagnement:null,\r\n accompagnementsIds:[],\r\n qtyAccompagnementGratuit:0, \r\n descriptif:'',\r\n parfums:[],\r\n iconId:null,\r\n arboId:null,\r\n qty:null,\r\n cuissons:[],\r\n tva:1000,\r\n lgs:[getDefaultAloPlatLg()]\r\n }\r\n}\r\n","\r\n\r\n//Représente des informations d'indentification d'un utilisateur\r\nexport interface AloUserIdentity {\r\n userEmail:string\r\n userPass:string\r\n}\r\n\r\nexport const getDefaultAloUserIdentity = ():AloUserIdentity => {\r\n return { \r\n userEmail:\"\",\r\n userPass:\"\"\r\n }\r\n}","import { TemplateMail } from '@/enum/TemplateMail'\r\nimport { AloUserIdentity, getDefaultAloUserIdentity } from './AloUserIdentity'\r\n\r\n\r\n//Représente des informations d'indentification d'un utilisateur\r\nexport interface AloForgottenPass extends AloUserIdentity { \r\n userNewPass:string\r\n userEncryptedToken:string \r\n mtpId:TemplateMail|null\r\n}\r\n\r\nexport const getDefaultAloForgottenPass = ():AloForgottenPass => {\r\n return { \r\n ...getDefaultAloUserIdentity(), \r\n userNewPass:\"\",\r\n userEncryptedToken:\"\",\r\n mtpId:null\r\n }\r\n}","import { AloBase, getDefaultAloBase } from './AloBase'\r\nimport { AloMailTemplateLg } from './AloMailTemplateLg'\r\n\r\n\r\nexport interface AloMailTemplate extends AloBase { \r\n mtpValide:boolean \r\n mskId:number|null\r\n lgs:Array \r\n}\r\n\r\nexport const getDefaultAloMailTemplate = ():AloMailTemplate => {\r\n return { \r\n ...getDefaultAloBase(), \r\n mtpValide:true,\r\n mskId:2,\r\n lgs:[]\r\n\r\n }\r\n}\r\n\r\nexport const cleanAloMailTemplate = (mailTemplate:AloMailTemplate) => {\r\n if(!mailTemplate) return \r\n if(!mailTemplate.id) delete mailTemplate.id\r\n if(!mailTemplate.mskId) delete mailTemplate.mskId\r\n}\r\n","export const timeFromString = (time:string):number => {\r\n if(!time) return 0\r\n const parts = time.split(':') \r\n return Number.parseInt(parts[0]) * 3600000 + Number.parseInt(parts[1]) * 60000\r\n}","module.exports = __webpack_public_path__ + \"img/omelette-blanc-on.c798b879.svg\";","var map = {\n\t\"./auPlat-on.svg\": \"7a7c\",\n\t\"./brouilles-blanc-on.svg\": \"6106\",\n\t\"./brouilles-on.svg\": \"39dd\",\n\t\"./coque-on.svg\": \"5e41\",\n\t\"./dur-on.svg\": \"3b79\",\n\t\"./omelette-blanc-on.svg\": \"8afe\",\n\t\"./omelette-on.svg\": \"31cc\",\n\t\"./poches-on.svg\": \"2b1e\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"91b3\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"scrollable\":\"\",\"persistent\":\"\",\"fullscreen\":\"\",\"hide-overlay\":\"\",\"transition\":\"dialog-bottom-transition\"},model:{value:(_vm.showDialog),callback:function ($$v) {_vm.showDialog=$$v},expression:\"showDialog\"}},[_c('v-card',[_c('v-toolbar',{staticClass:\"flex-grow-0\",attrs:{\"color\":\"secondary\"}},[_c('v-toolbar-title',{staticClass:\"white--text font-secondary\"},[_vm._v(_vm._s(_vm.$t('Dish.Edit')))])],1),_c('v-card-text',{staticClass:\"px-0 mt-2\",staticStyle:{\"max-width\":\"800px\",\"margin\":\"auto\",\"overflow-x\":\"hidden\"}},[_c(_vm.item.plat.template,{ref:\"editplat\",tag:\"component\",attrs:{\"canAddFromArbo\":_vm.canAddFromArbo,\"plat\":_vm.item.plat,\"platSectionId\":_vm.item.sectionId,\"platArboId\":_vm.item.arboId},on:{\"addToCart\":function($event){return _vm.valid()},\"cancel\":function($event){return _vm.cancel()}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { AloPlat, getDefaultAloPlat } from '@/models/alo/AloPlat'\r\nimport { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport {ItemPanier} from '@/models/alo/ItemPanier'\r\nimport { AloArbo, getDefaultAloArbo } from '@/models/alo/AloArbo'\r\nimport { groupByNumber } from '@/utils/groupBy'\r\nimport cloneDeep from 'clone-deep'\r\nimport PlatEditable from './PlatEditable'\r\nimport { AloArboLg } from '@/models/alo/AloArboLg'\r\n\r\n@Component({\r\n name: 'EditPlat', \r\n props: {\r\n show:{\r\n type:Boolean,\r\n default:false\r\n }\r\n }\r\n})\r\nexport default class EditPlat extends Vue {\r\n \r\n show!:boolean \r\n value!:ItemPanier\r\n item = new ItemPanier()\r\n\r\n edit(itemPanier:ItemPanier){\r\n this.item = new ItemPanier(JSON.parse(JSON.stringify(itemPanier))) \r\n this.item.uuid = itemPanier.uuid\r\n this.$nextTick(()=>{\r\n (this.$refs.editplat as PlatEditable).edit(this.item)\r\n }) \r\n }\r\n \r\n get showDialog(){ \r\n return this.show\r\n }\r\n\r\n set showDialog(value) {\r\n this.$emit(\"update:show\",value)\r\n } \r\n\r\n cancel() {\r\n this.showDialog = false\r\n }\r\n\r\n valid() {\r\n this.$emit(\"udpateCartItem\",this.item)\r\n this.showDialog = false\r\n }\r\n\r\n canAddFromArbo(arbo:AloArbo){\r\n return true\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditPlat.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditPlat.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditPlat.vue?vue&type=template&id=67b144ac&\"\nimport script from \"./EditPlat.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditPlat.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VDialog,VToolbar,VToolbarTitle})\n","import axios, { AxiosPromise, AxiosRequestConfig, AxiosResponse } from 'axios'\r\nimport { AlrContainer } from '@/models/response/AlrContainer'\r\nimport { ApiResultCode } from '@/enum/ApiResultCode'\r\nimport { AloError } from '@/models/alo/AloError'\r\n\r\nconst mocks: any = { \r\n}\r\n\r\nconst cacheQuery: {[index: string]: AxiosPromise} = {}\r\n\r\nconst clearIisCache = ():AxiosPromise => { \r\n return apiCall({ \r\n url: `/api/cache/clearIisCache`, \r\n method: 'GET'\r\n })\r\n}\r\n\r\nconst apiCall = ({url,method,...args}: AxiosRequestConfig): AxiosPromise => { \r\n const met = method || 'GET'\r\n const methodeMock = mocks[url!] && mocks[url!][met]\r\n if(typeof methodeMock === \"function\" )\r\n {\r\n return new Promise>((resolve, reject) => {\r\n try {\r\n console.log(`Mocked '${url}' - ${met}`)\r\n setTimeout(() => {\r\n resolve(methodeMock(args)) \r\n console.log('response: ', methodeMock(args))\r\n }, 50)\r\n }\r\n catch (err) {\r\n reject(new Error(err))\r\n }\r\n })\r\n } \r\n\r\n //gestion du cache d'appel d'une promise\r\n const axiosConfig = { url, method: met, ...args }\r\n //certainement couteux mais moins que plusieurs appel successif a une meme ressource\r\n const axiosConfiStr = JSON.stringify(axiosConfig) \r\n //si la promise est déja mémorisé on la retourne\r\n if(cacheQuery[axiosConfiStr]) return cacheQuery[axiosConfiStr]\r\n //memorise la promise pendant son appel\r\n cacheQuery[axiosConfiStr] = axios(axiosConfig)\r\n cacheQuery[axiosConfiStr]\r\n .then(()=>{\r\n //if(method != \"GET\" && url!.indexOf('filter') == -1) clearIisCache()\r\n })\r\n .finally(() => { \r\n //supprime la promise du cache une fois la requete fini \r\n delete cacheQuery[axiosConfiStr]\r\n }) \r\n return cacheQuery[axiosConfiStr]\r\n}\r\n\r\n\r\nconst externalApiCall = ({ url, method, ...args }: AxiosRequestConfig): AxiosPromise => {\r\n const methodeMock = mocks[url!] && mocks[url!][method || 'GET']\r\n if(typeof methodeMock !== \"function\" ) {\r\n //on memorise le token d'authorisation\r\n const authorization = axios.defaults.headers.common['authorization'] \r\n //on le supprime avant de faire la requete externe\r\n delete axios.defaults.headers.common['authorization'] \r\n const promise = axios({ url, method: method || 'GET', ...args })\r\n //on reaffecte le header\r\n axios.defaults.headers.common['authorization'] = authorization\r\n return promise\r\n }\r\n return apiCall({ url, method, ...args }) \r\n}\r\n\r\n\r\n//ajoute des mocks et fait en sorte que la reponse soit encapsulé dans un axios response valid\r\nconst addMocks = (mks: any) => { \r\n \r\n Object.keys(mks).forEach(url => {\r\n Object.keys(mks[url]).forEach(key => {\r\n if(!mocks[url]) mocks[url] = {}\r\n mocks[url][key] = ({...args}: any): AxiosResponse => {\r\n return {\r\n data : mks[url][key](args),\r\n status: 200,\r\n statusText: 'Ok',\r\n headers: null,\r\n config: {}\r\n }\r\n } \r\n })\r\n })\r\n}\r\n\r\nconst downloadFile = (url: string) => {\r\n return axios({\r\n url,\r\n method: 'GET',\r\n responseType: 'blob', // important\r\n }).then((response) => { \r\n const url = window.URL.createObjectURL(new Blob([response.data]))\r\n const link = document.createElement('a')\r\n link.href = url\r\n const filenameRegex = /filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)/\r\n const matches = filenameRegex.exec(response.headers['content-disposition']);\r\n if (matches != null && matches[1]) { \r\n link.setAttribute('download', matches[1].replace(/['\"]/g, '')) //or any other extension\r\n document.body.appendChild(link)\r\n link.click()\r\n link.parentNode!.removeChild(link)\r\n } \r\n })\r\n}\r\n\r\nexport const directPayloadQuery = (\r\n payloadRequest: (payload:any) => AxiosPromise>, \r\n payload:any\r\n ) => {\r\n return new Promise((resolve, reject) => { \r\n payloadRequest(payload)\r\n .then(resp => {\r\n if (resp.data.resultCode == ApiResultCode.Ok) {\r\n const item = resp.data.data as T \r\n resolve(item) \r\n } else { \r\n reject((resp.data.data as AloError).errorMessage)\r\n }\r\n })\r\n .catch(err => { \r\n reject(err)\r\n })\r\n }) \r\n}\r\n\r\nexport default {\r\n apiCall,\r\n externalApiCall,\r\n addMocks,\r\n downloadFile\r\n}\r\n ","import { ApiUserRole } from '@/enum/ApiUserRole'\r\nimport { TemplateMail } from '@/enum/TemplateMail'\r\nimport { AloBase, getDefaultAloBase } from './AloBase'\r\nimport { AloUser,cleanAloUser,getDefaultAloUser } from './AloUser'\r\n\r\n\r\nexport interface AloSejour extends AloBase {\r\n \r\n usrId:number\r\n user: AloUser\r\n chambres:Array\r\n sjrCheckIn: string\r\n sjrCheckOut: string\r\n sjrDateMail: string\r\n sjrDatadd: string\r\n sjrValide:boolean\r\n sjrTel: string\r\n sjrEnable:boolean\r\n mtpId:TemplateMail|null\r\n}\r\n\r\nexport const getDefaultAloSejour = (role:ApiUserRole = ApiUserRole.Visiteur,chambre:string=\"\"):AloSejour => {\r\n return { \r\n ...getDefaultAloBase(),\r\n usrId:0,\r\n user : getDefaultAloUser(role),\r\n sjrValide:true,\r\n chambres : [chambre],\r\n sjrCheckIn: \"\",\r\n sjrCheckOut:\"\",\r\n sjrDatadd:\"\",\r\n sjrDateMail:\"\",\r\n sjrTel:\"\",\r\n sjrEnable:false,\r\n mtpId:null\r\n }\r\n}\r\n\r\n\r\nexport const cleanAloSejour = (sejour:AloSejour) => {\r\n if(!sejour) return \r\n if(!sejour.id) delete sejour.id \r\n if(!sejour.mtpId) delete sejour.mtpId\r\n cleanAloUser(sejour.user)\r\n}\r\n\r\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IcoBadgeBtn.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IcoBadgeBtn.vue?vue&type=style&index=0&lang=css&\"","var map = {\n\t\"./en\": [\n\t\t\"9543\",\n\t\t\"lang-en\"\n\t],\n\t\"./en.ts\": [\n\t\t\"9543\",\n\t\t\"lang-en\"\n\t],\n\t\"./fr\": [\n\t\t\"7887\"\n\t],\n\t\"./fr.ts\": [\n\t\t\"7887\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"a151\";\nmodule.exports = webpackAsyncContext;","export enum ApiUserRole {\r\n\r\n // Pour le moment on gère par rôle imbriqués en utilisant des demi-octets (4 bits) pour chaque rôle de manière à pouvoir\r\n // granulariser les permissions par la suite\r\n\r\n // bits 0..3\t--> persimmsions de Visiteur (non granularisées)\r\n // bits 4..7\t--> persimmsions Client (non granularisées)\r\n // bits 8..11\t--> persimmsions Reception (non granularisées)\r\n // bits 12..15\t--> persimmsions RoomService (non granularisées)\r\n // bits 16..19\t--> persimmsions d'administration (non granularisées)\r\n // bits 20..23\t--> persimmsions root (non granularisées)\r\n\r\n CentralWeb\t\t= \"CentralWeb\", // (2 << 24) -1,\t// 1111 1111 1111 1111 1111 1111\r\n Admin\t\t\t= \"Admin\", // (2 << 20) -1,\t// 0000 1111 1111 1111 1111 1111\r\n RoomService\t\t= \"RoomService\", // (2 << 16 ) -1,\t// 0000 0000 1111 1111 1111 1111\r\n Reception\t\t = \"Reception\", //(2 << 12) - 1, // 0000 0000 0000 1111 1111 1111\t\t\r\n Client\t\t\t= \"Client\", // (2 << 4) - 1, // 0000 0000 0000 0000 1111 1111\r\n Visiteur\t\t = \"Visiteur\", // (2 << 4) -1,\t// 0000 0000 0000 0000 0000 1111\r\n} ","import { toNumberLookup } from \"@/utils/groupBy\"\r\nimport { timeFromString } from \"@/utils/time\"\r\nimport { uuidv4 } from \"@/utils/uuid\"\r\nimport { AloAccompagnement } from \"./AloAccompagnement\"\r\nimport { AloAllergene } from \"./AloAllergene\"\r\nimport { AloArbo } from \"./AloArbo\"\r\nimport { AloBase, getDefaultAloBase } from \"./AloBase\"\r\nimport { IItemPanier, ItemPanier } from \"./ItemPanier\"\r\n\r\n\r\nexport interface IPanier { \r\n uuid?:string \r\n items:Array \r\n heureLivraison:string\r\n nbCouverts:number \r\n timeDebut:number\r\n timeFin:number\r\n tempsPreparation:number\r\n contacts:Array\r\n allContacts:boolean \r\n commentaire:string\r\n}\r\n\r\nexport class AloPanier { \r\n public items:Array \r\n public uuid:string\r\n public heureLivraison:string\r\n public nbCouverts:number \r\n public timeDebut:number\r\n public timeFin:number\r\n public tempsPreparation:number\r\n public contacts:Array\r\n public allContacts:boolean\r\n public commentaire:string\r\n\r\n constructor({items,heureLivraison,nbCouverts,timeDebut,timeFin,tempsPreparation,contacts,allContacts,commentaire,uuid}:IPanier = {} as IPanier) { \r\n this.uuid = uuid ?? uuidv4()\r\n this.items = items?.map(it => new ItemPanier(it)) ?? [] \r\n this.heureLivraison = heureLivraison || \"\"\r\n this.nbCouverts = nbCouverts || 1 \r\n this.timeDebut = timeDebut ?? 0 \r\n this.timeFin = timeFin || 86340000\r\n this.tempsPreparation = tempsPreparation ?? 30\r\n this.contacts = contacts ?? []\r\n this.allContacts = allContacts ?? true\r\n this.commentaire = commentaire || \"\"\r\n } \r\n \r\n public get nbItems() { \r\n return this.items.reduce((total,item)=>total+item.qty,0)\r\n }\r\n\r\n get prixTotalAvecOptions() {\r\n return this.items.reduce((total,item)=>total+item.prixTotalAvecOptions,0)\r\n }\r\n\r\n get tvas():Array<{pourcentage:number,montant:number}> { \r\n const dicTva = this.items.reduce((tvas,item) => { \r\n tvas[item.plat.tva!] = (tvas[item.plat.tva!] ?? 0) + ( (item.plat.tva!/100.0) * item.prixTotalAvecOptions / (100.0+(item.plat.tva!/100.0)) )\r\n return tvas\r\n },{} as {[tva:number]:number}) \r\n return Object.keys(dicTva).map(k => {return {pourcentage:Number.parseInt(k),montant:dicTva[Number.parseFloat(k)]}})\r\n }\r\n\r\n canAddFromArbo(arbo:AloArbo) {\r\n const arboDebut = timeFromString(arbo.heureDebut!)\r\n const arboFin = timeFromString(arbo.heureFin!)\r\n return arboDebut < this.timeFin && arboFin > this.timeDebut\r\n }\r\n\r\n updateTime(dicArbo:{[id:number]:AloArbo}) {\r\n let maxDebut = 0\r\n let minFin = 86340000\r\n let minTempsPreparation = 30\r\n this.items.forEach(item => {\r\n if(item.arboId) {\r\n const arboDebut = timeFromString(dicArbo[item.arboId].heureDebut!)\r\n const arboFin = timeFromString(dicArbo[item.arboId].heureFin!) \r\n if(maxDebut < arboDebut) maxDebut = arboDebut \r\n if(minFin > arboFin) minFin = arboFin \r\n if(minTempsPreparation < (dicArbo[item.arboId].tempsPreparation ?? 0)) minTempsPreparation = dicArbo[item.arboId].tempsPreparation!\r\n }\r\n if(item.plat.template == 'plat-produit-oeuf'){\r\n const oeufDebut = timeFromString(\"06:30\")\r\n const oeufFin = timeFromString(\"11:00\") \r\n if(maxDebut < oeufDebut) maxDebut = oeufDebut \r\n if(minFin > oeufFin) minFin = oeufFin \r\n }\r\n })\r\n this.timeFin = minFin\r\n this.timeDebut = maxDebut\r\n this.tempsPreparation = minTempsPreparation\r\n }\r\n\r\n}\r\n","export const uuidv4 = ():string => {\r\n //@ts-ignore\r\n return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>\r\n (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)\r\n );\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card-text',[_c('div',{staticStyle:{\"max-width\":\"800px\",\"margin\":\"auto\"}},[_vm._l((_vm.panierGroup),function(group){return _c('div',{key:group.key},[(group.key != 0)?_c('div',{staticClass:\"body-2 white--text primary my-2 text-center\"},[_vm._v(_vm._s(_vm.$gt(_vm.platsDic[group.key]).libelle))]):_vm._e(),_vm._l((group.values),function(item){return _c('cart-item',{key:item.uuid,attrs:{\"readOnly\":_vm.readOnly,\"item\":item},on:{\"edit\":function($event){return _vm.editItemPanier(item)},\"udpateQty\":function($event){return _vm.udpateQty($event,item.uuid)},\"updateItemCommentaire\":function($event){return _vm.updateItemCommentaire($event,item.uuid)}}})})],2)}),(_vm.readOnly)?_c('v-chip',{staticClass:\"mb-1\",attrs:{\"small\":\"\"}},[_c('v-icon',{attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-silverware-fork-knife\")]),_vm._v(\" \"+_vm._s(_vm.$t('Cart.NbGuest'))+\" : \"+_vm._s(_vm.nbCouverts))],1):_c('number-field-factor',{attrs:{\"prepend-icon\":\"mdi-silverware-fork-knife\",\"label\":_vm.$t('Cart.NbGuest'),\"placeholder\":_vm.$t('Cart.NbGuestInfos')},nativeOn:{\"click\":function($event){return $event.target.select()}},model:{value:(_vm.nbCouverts),callback:function ($$v) {_vm.nbCouverts=$$v},expression:\"nbCouverts\"}}),_c('delivery-picker',{ref:\"deliveryPicker\",attrs:{\"readOnly\":_vm.readOnly,\"disableIfFull\":!_vm.canRoomService,\"disabled\":_vm.readOnly,\"label\":_vm.$t('Cart.TimeDelivery'),\"panier\":_vm.panier},model:{value:(_vm.heureLivraison),callback:function ($$v) {_vm.heureLivraison=$$v},expression:\"heureLivraison\"}}),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"offset\":\"4\",\"cols\":\"4\"}},[_c('strong',{staticClass:\"body-2\"},[_vm._v(_vm._s(_vm.$t(\"Cart.TotalTTC\")))])]),_c('v-col',{staticClass:\"text-right pl-0\",attrs:{\"cols\":\"4\"}},[_c('strong',{staticClass:\"primary--text body-2\"},[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.panier.prixTotalAvecOptions)))])])],1),_vm._l((_vm.panier.tvas),function(tva){return _c('v-row',{key:tva.pourcentage,attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"offset\":\"4\",\"cols\":\"4\"}},[_c('span',{staticClass:\"subLine\"},[_vm._v(_vm._s(_vm.$t(\"Cart.PartTVA\"))+\" \"+_vm._s(_vm._f(\"tva\")(tva.pourcentage)))])]),_c('v-col',{staticClass:\"text-right pl-0\",attrs:{\"cols\":\"4\"}},[_c('span',{staticClass:\"primary--text subLine\"},[_vm._v(_vm._s(_vm._f(\"currency\")(tva.montant)))])])],1)}),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"subLine\",attrs:{\"offset\":\"4\",\"cols\":\"8\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Cart.PriceService\")))])])],1),_c('v-divider',{staticClass:\"my-4\"}),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"disabled\":_vm.readOnly,\"outlined\":\"\",\"rows\":\"1\",\"auto-grow\":\"\",\"dense\":\"\",\"placeholder\":_vm.$t('Cart.Comments'),\"hide-details\":\"\"},model:{value:(_vm.commentaire),callback:function ($$v) {_vm.commentaire=$$v},expression:\"commentaire\"}})],1),_c('v-divider',{staticClass:\"my-4\"}),(_vm.sejour.id > 0)?_c('sejour-detail',{attrs:{\"sejour\":_vm.sejour}}):_vm._e(),_vm._t(\"default\"),_c('edit-plat',{ref:\"editPlat\",attrs:{\"show\":_vm.showEdit},on:{\"update:show\":function($event){_vm.showEdit=$event},\"udpateCartItem\":_vm.udpateCartItem}})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('strong',[_vm._v(_vm._s(_vm.$t('Cart.ClientName'))+\" : \"+_vm._s(_vm.sejour.user && _vm.sejour.user.libelle))]),_c('br'),_c('strong',[_vm._v(_vm._s(_vm.$t('Reception.VillaSuiteNb'))+\" : \"+_vm._s(_vm.sejour.chambres && _vm.sejour.chambres.map(function (c) { return (\"#\" + c); }).join(', ')))]),_c('br'),_c('span',{staticClass:\"subLine\"},[_vm._v(_vm._s(_vm.$t('Reception.DateOfStay'))+\" : \"+_vm._s(_vm.$t(\"Global.FormatPeriode\",{start:_vm.$options.filters.formatDate(_vm.sejour.sjrCheckIn,\"DD/MM/YYYY\"),end:_vm.$options.filters.formatDate(_vm.sejour.sjrCheckOut,\"DD/MM/YYYY\")})))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport { AloSejour, getDefaultAloSejour } from '@/models/alo/AloSejour'\r\n\r\n@Component({\r\n name: 'SejourDetail',\r\n props:{ \r\n sejour:{\r\n type:Object,\r\n required:true,\r\n default:() => getDefaultAloSejour()\r\n }\r\n }\r\n})\r\nexport default class SejourDetail extends Vue {\r\n \r\n private sejour!:AloSejour\r\n \r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SejourDetail.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SejourDetail.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SejourDetail.vue?vue&type=template&id=e16804b6&\"\nimport script from \"./SejourDetail.vue?vue&type=script&lang=ts&\"\nexport * from \"./SejourDetail.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.readOnly)?_c('v-chip',{staticClass:\"mb-1\",attrs:{\"small\":\"\"}},[_c('v-icon',{attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-clock-time-four-outline\")]),_vm._v(_vm._s(_vm.selectedCrenaux))],1):_c('v-dialog',{attrs:{\"persistent\":\"\",\"fullscreen\":\"\",\"scrollable\":\"\",\"hide-overlay\":\"\",\"transition\":\"dialog-bottom-transition\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-text-field',_vm._g(_vm._b({staticClass:\"small\",attrs:{\"value\":_vm.selectedCrenaux,\"label\":_vm.label,\"prepend-icon\":\"mdi-clock-time-four-outline\",\"readonly\":\"\"},on:{\"input\":function($event){return _vm.$emit('input',$event)}}},'v-text-field',_vm.$attrs,false),on))]}}]),model:{value:(_vm.showPicker),callback:function ($$v) {_vm.showPicker=$$v},expression:\"showPicker\"}},[_c('v-card',[_c('v-toolbar',{staticClass:\"flex-grow-0\",attrs:{\"color\":\"secondary\"}},[_c('v-toolbar-title',{staticClass:\"white--text font-secondary\"},[_vm._v(_vm._s(_vm.$t('Cart.TimeDelivery')))]),_c('v-spacer'),_c('v-btn',{staticClass:\"btn-txt\",attrs:{\"icon\":\"\",\"color\":\"white\"},on:{\"click\":function($event){_vm.showPicker = false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-card-text',[(_vm.loading)?_c('v-alert',{staticClass:\"mt-4\",attrs:{\"type\":\"info\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Global.UpdateDeliverySlots\"))+\" \"),_c('template',{slot:\"prepend\"},[_c('v-progress-circular',{staticClass:\"mr-4\",attrs:{\"size\":\"18\",\"indeterminate\":\"\",\"color\":\"white\"}})],1)],2):_vm._e(),_c('v-slide-group',{staticClass:\"mt-4\"},[_c('v-spacer'),_vm._l((_vm.groupCrenaux),function(group,idx){return _c('v-btn',{directives:[{name:\"show\",rawName:\"v-show\",value:(group.crenaux.length > 0),expression:\"group.crenaux.length > 0\"}],key:group.label,staticClass:\"py-6 mx-2\",attrs:{\"small\":\"\",\"color\":\"primary\",\"outlined\":idx!=_vm.selectedDay},on:{\"click\":function($event){_vm.selectedDay=idx}}},[_vm._v(_vm._s(group.label))])}),_c('v-spacer')],2),_c('v-divider',{staticClass:\"mx-4 black my-3\"}),_c('v-tabs-items',{attrs:{\"touchless\":\"\"},model:{value:(_vm.selectedDay),callback:function ($$v) {_vm.selectedDay=$$v},expression:\"selectedDay\"}},_vm._l((_vm.groupCrenaux),function(group){return _c('v-tab-item',{key:group.label},[_c('v-row',{attrs:{\"dense\":\"\"}},_vm._l((group.crenaux),function(tc){return _c('v-col',{key:_vm.formatIsoDate(tc.date),attrs:{\"cols\":\"3\"}},[_c('v-btn',{staticClass:\"btn-txt\",attrs:{\"disabled\":tc.nbResa >= _vm.nbResaMaxPerSlot && _vm.disableIfFull,\"outlined\":_vm.formatIsoDate(tc.date)!=_vm.value,\"color\":tc.nbResa >= (_vm.nbResaMaxPerSlot-1)?'orange':'primary',\"width\":\"100%\"},on:{\"click\":function($event){_vm.$emit('input',_vm.formatIsoDate(tc.date));_vm.showPicker=false}}},[_c('div',[_vm._v(_vm._s(_vm._f(\"formatDate\")(tc.date,\"HH:mm\"))+\" \"),(tc.nbResa == (_vm.nbResaMaxPerSlot-1))?_c('span',{staticClass:\"very-small\"},[_c('br'),_vm._v(_vm._s(_vm.$t('Global.Loaded')))]):_vm._e(),(tc.nbResa >= _vm.nbResaMaxPerSlot)?_c('span',{staticClass:\"very-small\"},[_c('br'),_vm._v(_vm._s(_vm.$t('Global.Full')))]):_vm._e()])])],1)}),1)],1)}),1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \nimport { AloPanier } from '@/models/alo/AloPanier'\nimport { toStringDictionary } from '@/utils/groupBy'\nimport { timeFromString } from '@/utils/time' \nimport { Component, Vue, Watch } from 'vue-property-decorator'\n\n@Component({\n name: 'DeliveryPicker', \n props:{ \n value:{\n type:String,\n default:\"\"\n }, \n label:{\n type:String,\n default:\"Horaire\"\n }, \n panier:{\n type:Object,\n default:null\n },\n nbResaMaxPerSlot:{\n type:Number,\n default:3\n },\n slotDuration:{\n type:Number,\n default:15\n },\n disableIfFull:{\n type:Boolean,\n default:true\n },\n readOnly:{\n type:Boolean,\n default:false\n }\n }\n})\nexport default class NumberFieldFactor extends Vue { \n\n showPicker = false \n label!:string \n panier!:AloPanier \n selectedDay = 0 \n value!:string\n nbResaMaxPerSlot!:number\n slotDuration!:number\n loading = false\n disableIfFull!:boolean\n readOnly!:Boolean\n\n @Watch(\"showPicker\")\n onShowPickerChanged(newValue:boolean){\n if(newValue) {\n this.loading = true \n this.$store.myActions.ROOM_SERVICES_CRENAUX_REQUEST().then(()=>{\n //on cherche si la date semectionnée est dans les demains\n if(this.groupCrenaux[1].crenaux.findIndex(it => it.date.toString() == this.value ) > -1 ) this.selectedDay = 1\n //sinon on affiche les propositions pour aujourd'hui si il y en a\n else this.selectedDay = this.groupCrenaux[0].crenaux.length>0?0:1\n }).finally(()=>{\n this.loading = false\n })\n \n }\n }\n\n minDateCrenaux(){\n return new Date(this.today().getTime() + this.minTodayTime())\n }\n\n get crenaux(){\n return this.$store.myGetters.crenaux.map(c => {return {nbResa:c.nbResa,date:new Date(c.date)}})\n }\n\n get tomorrow() {\n const tomorrow = new Date()\n tomorrow.setDate(tomorrow.getDate() + 1)\n tomorrow.setHours(0,0,0,0)\n return tomorrow\n }\n\n today() {\n const today = new Date() \n today.setHours(0,0,0,0)\n return today\n }\n \n formatIsoDate(date:string){\n //@ts-ignore\n return `${this.$options.filters.formatDate(date,\"YYYY-MM-DDTHH:mm\")}:00.000Z`\n }\n \n get dicCrenauxToday() {\n return toStringDictionary(this.crenaux.filter(d => d.date< this.tomorrow),d => this.$options.filters!.formatDate(d.date,\"HH:mm\"))\n } \n\n get dicCrenauxTomorrow() {\n return toStringDictionary(this.crenaux.filter(d => d.date >= this.tomorrow),d => this.$options.filters!.formatDate(d.date,\"HH:mm\"))\n } \n\n \n firstAllowedTime() {\n return timeFromString(this.$options.filters!.formatDate(new Date(),\"HH:mm\")) + (this.panier?(this.panier.tempsPreparation * 60000):0)\n }\n\n minTodayTime() {\n return Math.max(this.firstAllowedTime(),this.minTomorrowTime) \n }\n\n get minTomorrowTime(){\n return this.panier?.timeDebut || 0\n }\n\n get maxTime() {\n return this.panier?.timeFin || timeFromString(\"23:59\")\n } \n\n get groupCrenaux() {\n const group = [ \n { \n label:this.$t(\"Global.Today\"),\n crenaux:this.todaysCrenaux\n },\n {\n label:this.$t(\"Global.Tomorrow\"),\n crenaux:this.tomorowCrenaux\n }\n ] \n return group\n }\n \n get todaysCrenaux() {\n const crenaux = [] as Array<{date:Date,nbResa:number}>\n let start = this.minTomorrowTime \n while(start <= this.maxTime) { \n if(start >= this.minTodayTime())\n {\n const date = new Date(this.today().getTime() + start)\n crenaux.push( {\n date, \n nbResa:this.dicCrenauxToday[this.$options.filters!.formatDate(date,\"HH:mm\")]?.nbResa || 0\n }) \n } \n //ajout de 15 min\n start += (this.slotDuration * 60000)\n }\n return crenaux\n }\n\n get tomorowCrenaux() {\n const crenaux = [] as Array<{date:Date,nbResa:number}>\n let start = this.minTomorrowTime \n while(start <= this.maxTime) { \n const date = new Date(this.tomorrow.getTime() + start)\n crenaux.push( {\n date, \n nbResa:this.dicCrenauxTomorrow[this.$options.filters!.formatDate(date,\"HH:mm\")]?.nbResa || 0\n }) \n //ajout de 15 min\n start += (this.slotDuration * 60000)\n }\n return crenaux\n }\n\n get selectedCrenaux() { \n return this.value.length > 0?`${this.$options.filters!.formatDate(this.value,\"dddd DD MMMM\",this.$i18n,true)} ${this.$t(\"Global.Between\")} ${this.$options.filters!.formatDate(this.value,\"HH:mm\",this.$i18n,true)} ${this.$t(\"Global.And\")} ${this.$options.filters!.formatDate(new Date(new Date(this.value).getTime() + (this.slotDuration * 60000)),\"HH:mm\",this.$i18n,true)}`:''\n }\n\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeliveryPicker.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeliveryPicker.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DeliveryPicker.vue?vue&type=template&id=734c8fc0&scoped=true&\"\nimport script from \"./DeliveryPicker.vue?vue&type=script&lang=ts&\"\nexport * from \"./DeliveryPicker.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DeliveryPicker.vue?vue&type=style&index=0&id=734c8fc0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"734c8fc0\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSlideGroup } from 'vuetify/lib/components/VSlideGroup';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabsItems } from 'vuetify/lib/components/VTabs';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardText,VChip,VCol,VDialog,VDivider,VIcon,VProgressCircular,VRow,VSlideGroup,VSpacer,VTabItem,VTabsItems,VTextField,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport {AloArbo, getDefaultAloArbo} from '@/models/alo/AloArbo'\r\nimport CartItem from '@/components/panier/CartItem.vue'\r\nimport EditPlat from '@/components/carte/EditPlat.vue'\r\nimport SejourDetail from '@/components/panier/SejourDetail.vue'\r\n\r\nimport { groupByNumber } from '@/utils/groupBy'\r\nimport { ItemPanier } from '@/models/alo/ItemPanier'\r\nimport DeliveryPicker from '@/components/shared/DeliveryPicker.vue'\r\nimport { AloPanier } from '@/models/alo/AloPanier'\r\nimport { AloSejour } from '@/models/alo/AloSejour'\r\n\r\n@Component({\r\n name: 'CartDetail',\r\n props:{\r\n panier:{\r\n type:Object,\r\n required:true\r\n },\r\n sejour:{\r\n type:Object,\r\n required:true\r\n },\r\n readOnly:{\r\n type:Boolean,\r\n default:false\r\n } \r\n },\r\n components:{\r\n CartItem,EditPlat,DeliveryPicker,SejourDetail\r\n }\r\n})\r\nexport default class CartDetail extends Vue {\r\n \r\n private showEdit = false\r\n showHoraire = false\r\n private panier!:AloPanier\r\n private sejour!:AloSejour\r\n private readOnly!:Boolean\r\n \r\n get nbItems(){\r\n return this.panier.nbItems\r\n }\r\n\r\n editItemPanier(item:ItemPanier) { \r\n (this.$refs.editPlat as EditPlat).edit(item)\r\n this.showEdit = true\r\n } \r\n\r\n //regroupement du panier par section\r\n get panierGroup(){\r\n return groupByNumber(this.panier.items,it => it.sectionId || 0)\r\n }\r\n\r\n get heureLivraison(){\r\n return this.panier.heureLivraison\r\n } \r\n set heureLivraison(heure) {\r\n this.$emit(\"updateHeureLivraison\",heure) \r\n }\r\n\r\n get commentaire(){\r\n return this.panier.commentaire\r\n } \r\n set commentaire(comment) {\r\n this.$emit(\"updateCommentaire\",comment) \r\n }\r\n\r\n get nbCouverts(){\r\n return this.panier.nbCouverts\r\n }\r\n\r\n set nbCouverts(nb){\r\n this.$emit(\"updateNbCouverts\",nb) \r\n }\r\n\r\n get platsDic(){ \r\n return this.$store.myGetters.platsDic\r\n }\r\n\r\n get canRoomService(){\r\n return this.$store.myGetters.canRoomService\r\n }\r\n\r\n updateItemCommentaire (commentaire:string,uuid:string) { \r\n this.$emit(\"updateItemCommentaire\",{uuid,commentaire}) \r\n }\r\n\r\n udpateQty(qty:number,uuid:string){ \r\n this.$emit(\"udpateQty\",{uuid,qty}) \r\n } \r\n\r\n\r\n udpateCartItem(item:ItemPanier){\r\n this.$emit(\"udpateCartItem\",item) \r\n }\r\n\r\n minDateCrenaux(){\r\n return (this.$refs.deliveryPicker as DeliveryPicker).minDateCrenaux()\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CartDetail.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CartDetail.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CartDetail.vue?vue&type=template&id=9f19715a&\"\nimport script from \"./CartDetail.vue?vue&type=script&lang=ts&\"\nexport * from \"./CartDetail.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VCardText,VChip,VCol,VDivider,VIcon,VRow,VTextarea})\n","module.exports = __webpack_public_path__ + \"img/poches-off.87419e34.svg\";","export enum StatusCommande { \r\n EnAttenteValidation=1,\r\n Validee=2,\r\n EnPreparation=3,\r\n EnLivraison=4,\r\n Debarasse=5, \r\n Annulee=6\r\n}\r\n","module.exports = __webpack_public_path__ + \"img/dur-off.d9f5f39d.svg\";","export enum TemplateMail { \r\n CompteAjoute=1,\r\n SejourAjoute=2,\r\n SejourValide=3,\r\n SejourAcces=4,\r\n ForgotPassword=5, \r\n ChangePassword=6,\r\n CommandeAjoutee=7,\r\n CommandeValidee=8,\r\n CommandeAnnulée=9\r\n}","import { AloBaseLg, getDefaultAloBaseLg } from './AloBaseLg'\r\n\r\nexport interface AloMailTemplateLg extends AloBaseLg { \r\n mtplTemplate:string\r\n}\r\n\r\nexport const getDefaultAloMailTemplateLg = (lang=''):AloMailTemplateLg => {\r\n return { \r\n ...getDefaultAloBaseLg(lang),\r\n mtplTemplate:''\r\n }\r\n}","\r\n\r\nexport interface AloBaseLg {\r\n lg:string\r\n libelle:string\r\n}\r\n\r\nexport const getDefaultAloBaseLg = (lang=''):AloBaseLg => {\r\n return {\r\n lg:lang,\r\n libelle:''\r\n }\r\n}","import { AloBaseLg, getDefaultAloBaseLg } from \"./AloBaseLg\"\r\n\r\n\r\nexport interface AloArboLg extends AloBaseLg { \r\n}\r\n\r\nexport const getDefaultAloArboLg = ():AloArboLg => {\r\n return {\r\n ...getDefaultAloBaseLg(\"en\")\r\n }\r\n}","import { AloArboLg, getDefaultAloArboLg } from \"./AloArboLg\"\r\nimport { AloBase, getDefaultAloBase } from \"./AloBase\"\r\nimport { AloPlat } from \"./AloPlat\"\r\n\r\n\r\nexport interface AloArbo extends AloBase { \r\n image?:string \r\n childrenIds?:Array\r\n platsIds?:Array\r\n isDefault?:boolean\r\n iconId?:number \r\n lgs:Array\r\n tempsPreparation?:number\r\n heureDebut?:string\r\n heureFin?:string\r\n}\r\n\r\nexport const getDefaultAloArbo = ():AloArbo => {\r\n return {\r\n ...getDefaultAloBase(),\r\n childrenIds:[],\r\n platsIds:[],\r\n isDefault:false,\r\n tempsPreparation:0,\r\n heureDebut:'00:00',\r\n heureFin:'23:59',\r\n lgs:[getDefaultAloArboLg()]\r\n }\r\n}","import Component from 'vue-class-component'\r\n\r\nComponent.registerHooks(['beforeRouteEnter', 'beforeRouteLeave', 'beforeRouteUpdate'])\r\n ","import moment from 'moment'\r\nimport Vue from 'vue'\r\nimport VueI18n from 'vue-i18n'\r\n\r\nVue.filter('formatDate', function(value: Date, format:string='DD/MM/YYYY HH:mm',i18n:VueI18n,utc:boolean=false) {\r\n if (value) { \r\n moment.locale(i18n?.locale??\"fr\") \r\n return utc?moment(String(value)).utc().format(format):moment(String(value)).format(format)\r\n }\r\n})","import moment from 'moment'\r\nimport Vue from 'vue'\r\nimport VueI18n from 'vue-i18n'\r\n\r\nVue.filter('formatJourLivraison', function(value: Date,i18n:VueI18n,utc:boolean=false) {\r\n if (value) {\r\n moment.locale(i18n?.locale??\"fr\") \r\n const date = utc?moment(String(value)).utc():moment(String(value))\r\n \r\n const today = new Date() \r\n today.setHours(0,0,0,0)\r\n const tomorrow = new Date()\r\n tomorrow.setDate(tomorrow.getDate() + 1)\r\n tomorrow.setHours(0,0,0,0)\r\n const yesterday = new Date()\r\n yesterday.setDate(yesterday.getDate() - 1)\r\n yesterday.setHours(0,0,0,0)\r\n\r\n if(moment(String(yesterday)).format(\"YYYY-MM-DD\") == date.format(\"YYYY-MM-DD\")) return i18n.t('Global.Yesterday').toString()\r\n else if(moment(String(tomorrow)).format(\"YYYY-MM-DD\") == date.format(\"YYYY-MM-DD\")) return i18n.t('Global.Tomorrow').toString()\r\n else if(moment(String(today)).format(\"YYYY-MM-DD\") == date.format(\"YYYY-MM-DD\")) return \"\"\r\n return date.format(\"DD/MM/YYYY\")\r\n }\r\n})","import moment from 'moment'\r\nimport Vue from 'vue'\r\nimport VueI18n from 'vue-i18n'\r\n\r\n\r\nexport const formatDuration = (value:number,i18n:VueI18n,forceShowSecond:boolean = false) => {\r\n if (value || value===0) { \r\n const negatif = value < 0?\"-\":\"\"\r\n const duration = moment.duration(Math.abs(value))\r\n const durationMs = duration.asMilliseconds() \r\n\r\n if(isNaN(durationMs)) return ''\r\n \r\n if(durationMs >= 24 * 60 * 60 * 1000) return `${negatif}${duration.days()} ${i18n.t('Global.Days')} ${duration.hours()}h ${duration.minutes() > 0?`${duration.minutes()}min`:''}${forceShowSecond?(duration.seconds()> 0?`${duration.seconds()}s`:''):''}`\r\n else if(durationMs >= 60 * 60 * 1000) return `${negatif}${duration.hours()}h ${duration.minutes() > 0?`${duration.minutes()}min`:''}${forceShowSecond?(duration.seconds()> 0?`${duration.seconds()}s`:''):''}`\r\n else if(durationMs >= 60 * 1000) return `${negatif}${duration.minutes()}min ${duration.seconds()> 0?`${duration.seconds()}s`:''}`\r\n else if(durationMs >= 1000) return `${negatif}${duration.seconds()}s` //+ duration.milliseconds() + 'ms'\r\n else if(durationMs == 0) return ''\r\n else return `${negatif}${duration.milliseconds()} ms` \r\n }\r\n}\r\n\r\nVue.filter('formatDuree', function(value:Array,i18n:VueI18n,forceShowSecond:boolean = false) {\r\n if (value && value.length >= 2 && value[0] != null && value[1] != null) { \r\n const timeStart = value[0].getTime() \r\n const timeEnd = value[1].getTime() \r\n return formatDuration(timeEnd - timeStart,i18n,forceShowSecond)\r\n }\r\n})\r\nVue.filter('formatDuration',formatDuration)\r\n","import moment from 'moment'\r\nimport Vue from 'vue'\r\n\r\nVue.filter('currency', function(value: number, isCts:boolean = true, local:string='fr-FR', currency:string = 'EUR') {\r\n return formatCurrency(value,isCts,local,currency);\r\n})\r\n\r\nexport const formatCurrency = (value: number, isCts:boolean = true, local:string='fr-FR', currency:string = 'EUR') => { \r\n if (value || value === 0) {\r\n return new Intl.NumberFormat('fr-FR', {\r\n style: 'currency',\r\n currency,\r\n minimumFractionDigits:0,\r\n maximumFractionDigits:2\r\n }).format(value/(isCts?100.0:1)) \r\n }\r\n}","export enum MoyenPaiement {\r\n cb = 0,\r\n cheque = 1,\r\n virement = 2,\r\n paypal = 3,\r\n cb3x = 4\r\n}\r\n","export enum TypeReduction {\r\n pourcentage = 1,\r\n montant = 2\r\n}\r\n","import moment from 'moment'\r\nimport Vue from 'vue'\r\n\r\nVue.filter('poids', function(value: number) {\r\n if (value || value === 0) { \r\n if (value >= 1000) {\r\n return (Math.round(value / 1000 * 100 ) / (100)) + ' kg'\r\n }\r\n return (Math.round(value * 100) / 100) + ' g'\r\n }\r\n})","import moment from 'moment'\r\nimport Vue from 'vue'\r\n\r\nVue.filter('tva', function(value: number, isInt:boolean = true, local:string='fr-FR') {\r\n if (value || value === 0) {\r\n return new Intl.NumberFormat('fr-FR', {\r\n style: 'percent',\r\n minimumFractionDigits:0,\r\n maximumFractionDigits:2\r\n }).format(value/(isInt?10000.0:100.0)) \r\n }\r\n return \"\"\r\n})","import Vue from 'vue'\r\nimport { MoyenPaiement } from '@/enum/MoyenPaiement'\r\n\r\nVue.filter('moyenPaiement', function(value: MoyenPaiement ) {\r\n if (value || value === 0) {\r\n switch(value){ \r\n case MoyenPaiement.cb:\r\n return 'Carte bancaire'\r\n case MoyenPaiement.cheque:\r\n return 'Chèque' \r\n case MoyenPaiement.virement:\r\n return 'Virement' \r\n case MoyenPaiement.paypal:\r\n return 'PayPal' \r\n case MoyenPaiement.cb3x:\r\n return 'CB 3x' \r\n } \r\n return ''\r\n }\r\n})","import Vue from 'vue'\r\nimport { MoyenPaiement } from '@/enum/MoyenPaiement'\r\nimport { TypeReduction } from '@/enum/TypeReduction'\r\n\r\nVue.filter('typeReduction', function(value: TypeReduction ) {\r\n if (value) {\r\n switch(value){ \r\n case TypeReduction.montant:\r\n return 'Montant fixe'\r\n case TypeReduction.pourcentage:\r\n return 'Pourcentage' \r\n } \r\n }\r\n return ''\r\n})","import moment from 'moment'\r\nimport Vue from 'vue'\r\n\r\nVue.filter('capitalize', function (value:any) {\r\n if (!value) return ''\r\n value = value.toString()\r\n return value.charAt(0).toUpperCase() + value.slice(1)\r\n})","import Vue from 'vue'\r\n\r\nVue.filter('tel', function(value: string) {\r\n if (!value) return ''\r\n const telStr = value.toString()\r\n //Filter only numbers from the input\r\n let cleaned = telStr.replace(/\\D/g, '');\r\n \r\n //Check if the input is of correct length\r\n let match = cleaned.match(/^(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})$/);\r\n\r\n if (match) {\r\n return match[1] + ' ' + match[2] + ' ' + match[3]+ ' ' + match[4]+ ' ' + match[5]\r\n };\r\n return value\r\n})","import moment from 'moment'\r\nimport Vue from 'vue'\r\n\r\nVue.filter('trackset', function(value: string) {\r\n switch(value){\r\n case \"GGL\": return \"Adwords\"\r\n }\r\n return value;\r\n})","import moment from 'moment'\r\nimport Vue from 'vue'\r\n\r\nVue.filter('livraison', function(value: number) {\r\n if (value || value === 0) {\r\n switch(value) {\r\n case 0:\r\n case 1:{\r\n return \"Domicile :\"\r\n }\r\n case 2:{\r\n return \"Point relais :\"\r\n }\r\n case 3:{\r\n return \"Retrait magasin :\"\r\n }\r\n }\r\n }\r\n return \"\"\r\n})","import Vue from 'vue'\r\nimport { MoyenPaiement } from '@/enum/MoyenPaiement'\r\nimport { TypeReduction } from '@/enum/TypeReduction'\r\n\r\nVue.filter('fileIcons', function(value: string ) {\r\n if (value) {\r\n switch(value){ \r\n case \".docx\":\r\n case \".doc\":\r\n return 'mdi-file-word'\r\n case \".pdf\":\r\n return 'mdi-file-pdf'\r\n } \r\n }\r\n return 'mdi-file-document-outline'\r\n})","var render = function () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"eager\":\"\",\"value\":\"true\",\"max-width\":_vm.width,\"persistent\":_vm.persistent},on:{\"input\":_vm.change,\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.choose(false)}}},[_c('v-card',{attrs:{\"tile\":\"\"}},[_c('v-card-title',{staticClass:\"alert-title d-flex justify-center\",class:( _obj = {}, _obj[(_vm.color + \"--text\")] = true, _obj )},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),_c('v-divider',{staticClass:\"primary mt-3\",staticStyle:{\"margin\":\"auto\"},attrs:{\"width\":\"50%\"}}),(_vm.icon.length > 0)?_c('v-card-subtitle',{staticClass:\"text-center mb-0 mt-4 pb-0\"},[_c('v-icon',{domProps:{\"textContent\":_vm._s(_vm.icon)}})],1):_vm._e(),_c('v-card-text',{staticClass:\"body-2 py-6 text-center\",domProps:{\"innerHTML\":_vm._s(_vm.message)}}),_c('v-card-actions',{staticClass:\"pb-6 px-6\"},[(Boolean(_vm.buttonFalseText))?_c('v-btn',{staticStyle:{\"min-width\":\"40%\"},attrs:{\"color\":_vm.buttonFalseColor,\"text\":_vm.buttonFalseFlat},on:{\"click\":function($event){return _vm.choose(false)}}},[_vm._v(\" \"+_vm._s(_vm.buttonFalseText)+\" \")]):_vm._e(),_c('v-spacer'),(Boolean(_vm.buttonTrueText))?_c('v-btn',{staticStyle:{\"min-width\":\"40%\"},attrs:{\"color\":_vm.buttonTrueColor,\"text\":_vm.buttonTrueFlat},on:{\"click\":function($event){return _vm.choose(true)}}},[_vm._v(\" \"+_vm._s(_vm.buttonTrueText)+\" \")]):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Confirm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Confirm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Confirm.vue?vue&type=template&id=243ee210&\"\nimport script from \"./Confirm.vue?vue&type=script&lang=js&\"\nexport * from \"./Confirm.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardSubtitle } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardSubtitle,VCardText,VCardTitle,VDialog,VDivider,VIcon,VSpacer})\n","import Confirm from './Confirm.vue'\r\n\r\nfunction Install (Vue, options = {}) {\r\n const property = options.property || '$confirm'\r\n delete options.property\r\n const vuetify = options.vuetify\r\n delete options.vuetify\r\n if (!vuetify) {\r\n console.warn('Module vuetify-confirm needs vuetify instance. Use Vue.use(VuetifyConfirm, { vuetify })')\r\n }\r\n const Ctor = Vue.extend(Object.assign({ vuetify }, Confirm))\r\n function createDialogCmp (options) {\r\n const container = document.querySelector('[data-app=true]') || document.body\r\n return new Promise(resolve => {\r\n const cmp = new Ctor(Object.assign({}, {\r\n propsData: Object.assign({}, Vue.prototype[property].options, options),\r\n destroyed: () => {\r\n container.removeChild(cmp.$el)\r\n resolve(cmp.value)\r\n }\r\n }))\r\n container.appendChild(cmp.$mount().$el)\r\n })\r\n }\r\n \r\n function show (message, options = {}) {\r\n options.message = message\r\n return createDialogCmp(options)\r\n }\r\n\r\n Vue.prototype[property] = show\r\n Vue.prototype[property].options = options || {}\r\n}\r\n\r\nif (typeof window !== 'undefined' && window.Vue) {\r\n window.Vue.use(Install)\r\n}\r\n\r\nexport default Install\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',{directives:[{name:\"resize\",rawName:\"v-resize\",value:(_vm.onResize),expression:\"onResize\"}],staticStyle:{\"overflow\":\"hidden\"},style:(_vm.cssProps)},[_c('v-app-bar',{ref:\"appBar\",staticClass:\"block-print\",attrs:{\"clipped-left\":\"\",\"elevate-on-scroll\":\"\",\"app\":\"\",\"color\":\"secondary\"}},[(_vm.printMode)?_c('v-img',{staticClass:\"cursor-pointer logo\",attrs:{\"src\":\"/global/assets/images/logo.png\",\"height\":\"55\",\"max-width\":\"55\"},on:{\"click\":function($event){return _vm.goHome()}}}):_vm._e(),(!_vm.printMode)?_c('v-app-bar-nav-icon',{staticClass:\"mr-2\",attrs:{\"color\":\"white\"},on:{\"click\":function($event){$event.stopPropagation();_vm.drawer = !_vm.drawer}}}):_vm._e(),_c('div',{staticClass:\"cursor-pointer white--text font-secondary app-title\",on:{\"click\":function($event){return _vm.goHome()}}},[_vm._v(\" \"+_vm._s(_vm.$t('App.Title'))+\" \")]),(!_vm.printMode)?_c('v-img',{staticClass:\"cursor-pointer logo\",attrs:{\"src\":\"/global/assets/images/logo.png\",\"height\":\"55\",\"max-width\":\"55\"},on:{\"click\":function($event){return _vm.goHome()}}}):_vm._e(),_c('v-spacer'),(_vm.canRoomService || _vm.canReception || _vm.canAdmin)?_c('printer',{staticClass:\"no-print\"}):_vm._e(),_c('lang-switcher'),(!_vm.printMode)?_c('cart'):_vm._e()],1),_c('v-navigation-drawer',{attrs:{\"fixed\":\"\",\"color\":\"secondary\",\"dark\":\"\",\"temporary\":\"\"},model:{value:(_vm.drawer),callback:function ($$v) {_vm.drawer=$$v},expression:\"drawer\"}},[_c('v-list',{staticClass:\"pa-0\"},[_c('v-list-item',{attrs:{\"exact\":\"\",\"to\":{name:'Home'}}},[_c('v-list-item-icon',{staticClass:\"my-0\"},[_c('v-img',{attrs:{\"src\":\"/global/assets/images/logo.png\",\"height\":\"55\",\"max-width\":\"55\"}})],1),_c('v-list-item-title',{staticClass:\"white--text font-secondary\"},[_vm._v(\" \"+_vm._s(_vm.$t('App.Title'))+\" \")])],1)],1),_c('v-divider'),_c('v-list',{attrs:{\"nav\":\"\",\"dense\":\"\"}},[_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-account\")])],1),_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm.userName))])],1),(_vm.isVisiteur)?_c('v-list-item',{attrs:{\"exact\":\"\",\"to\":{name:'NewSejour'}}},[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('App.CreateUserAccess')))]),_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-account-plus\")])],1)],1):_vm._e(),_c('v-list-item-group',[_c('v-list-item',{attrs:{\"to\":{name:'RoomService'}}},[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('Menu.Cart')))]),_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-book-open-variant\")])],1)],1)],1),(_vm.panier.nbItems > 0)?_c('v-list-item',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.$store.myActions.UI_SET_CART_VISIBLITY(true)}}},[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('Cart.SeeCart')))]),_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-basket\")])],1)],1):_vm._e(),(_vm.isAuthenticated)?_c('v-list-item',{attrs:{\"exact\":\"\",\"to\":{name:'OrderHistory'}}},[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('App.OrderHistory')))]),_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-basket-outline\")])],1)],1):_vm._e(),(_vm.isAuthenticated)?_c('v-list-item',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.logout()}}},[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('App.Logout')))]),_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-logout\")])],1)],1):_c('v-list-item',{attrs:{\"exact\":\"\",\"to\":{name:'Login'}}},[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('Login.LoginAction')))]),_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-login\")])],1)],1),(_vm.canRoomService || _vm.canReception)?[_c('v-divider'),_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-room-service\")])],1),_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm.$t('App.RoomService')))])],1),_c('v-list-item',{attrs:{\"exact\":\"\",\"to\":{name:'Sejour'}}},[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('App.ListCustomer')))]),_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-account-multiple\")])],1)],1),_c('v-list-item',{attrs:{\"exact\":\"\",\"to\":{name:'NewSejour'}}},[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('App.CreateUser')))]),_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-account-plus\")])],1)],1),(_vm.canRoomService)?_c('v-list-item',{attrs:{\"exact\":\"\",\"to\":{name:'Commande'}}},[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('App.OrderManagement')))]),_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-basket\")])],1)],1):_vm._e()]:_vm._e(),(_vm.canAdmin)?[_c('v-divider'),_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-cog\")])],1),_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm.$t('App.Administration')))])],1),_c('v-list-item',{attrs:{\"exact\":\"\",\"to\":{name:'User'}}},[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('App.UserAccount')))]),_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-account-lock\")])],1)],1),_c('v-list-item',{attrs:{\"exact\":\"\",\"to\":{name:'MailSkin'}}},[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('App.MailSkin')))]),_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-brush\")])],1)],1),_c('v-list-item',{attrs:{\"exact\":\"\",\"to\":{name:'MailTemplate'}}},[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('App.MailTemplate')))]),_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-email-edit\")])],1)],1),_c('v-list-item',{attrs:{\"exact\":\"\",\"to\":{name:'QrCode'}}},[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('App.QrCode')))]),_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-qrcode\")])],1)],1)]:_vm._e()],2)],1),_c('v-main',[_c('router-view')],1),_c('v-snackbar',{attrs:{\"color\":\"grey lighten-2\",\"multi-line\":\"\",\"top\":\"\",\"timeout\":4000},model:{value:(_vm.showSnacks),callback:function ($$v) {_vm.showSnacks=$$v},expression:\"showSnacks\"}},[_c('ul',{staticClass:\"primary--text\"},_vm._l((_vm.snackMessages),function(message,index){return _c('li',{key:index},[_vm._v(_vm._s(message))])}),0),_c('div',{staticClass:\"text-right\"},[_c('v-btn',{staticClass:\"align-self-right mt-2\",attrs:{\"color\":\"primary\",\"x-small\":\"\"},on:{\"click\":_vm.$store.myActions.UI_CLOSE_SNACKBAR}},[_vm._v(_vm._s(_vm.$t('Global.Close')))])],1)]),_c('change-password',{ref:\"changePassword\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('edit-drawer',{attrs:{\"title\":\"Modification du mot de passe\",\"saving\":_vm.saving,\"dirty\":_vm.isDirty,\"saveLabel\":\"Modifier le mot de passe\"},on:{\"save\":function($event){return _vm.saveData()}},model:{value:(_vm.showDrawer),callback:function ($$v) {_vm.showDrawer=$$v},expression:\"showDrawer\"}},[_c('v-form',{ref:\"changePasswordForm\",staticClass:\"ma-2\",attrs:{\"lazy-validation\":true}},[_c('v-text-field',{ref:\"password\",attrs:{\"type\":\"password\",\"label\":\"Ancien mot de passe :\",\"rules\":[_vm.ruleRequired],\"validate-on-blur\":true},scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [_c('v-icon',{class:{'error--text':_vm.$refs.password && _vm.$refs.password.hasError},attrs:{\"x-small\":\"\"}},[_vm._v(\"mdi-asterisk\")])]},proxy:true}]),model:{value:(_vm.modified.userPass),callback:function ($$v) {_vm.$set(_vm.modified, \"userPass\", $$v)},expression:\"modified.userPass\"}}),_c('v-text-field',{ref:\"newPassword\",attrs:{\"type\":\"password\",\"label\":\"Nouveau mot de passe :\",\"rules\":[_vm.ruleRequired, _vm.rulePasswordMinLength],\"validate-on-blur\":true},scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [_c('v-icon',{class:{'error--text':_vm.$refs.newPassword && _vm.$refs.newPassword.hasError},attrs:{\"x-small\":\"\"}},[_vm._v(\"mdi-asterisk\")])]},proxy:true}]),model:{value:(_vm.modified.userNewPass),callback:function ($$v) {_vm.$set(_vm.modified, \"userNewPass\", $$v)},expression:\"modified.userNewPass\"}}),_c('v-text-field',{ref:\"confirmPassword\",attrs:{\"type\":\"password\",\"label\":\"Confirmer nouveau mot de passe :\",\"rules\":[_vm.ruleRequired, _vm.rulePasswordMatch],\"validate-on-blur\":true},scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [_c('v-icon',{class:{'error--text':_vm.$refs.confirmPassword && _vm.$refs.confirmPassword.hasError},attrs:{\"x-small\":\"\"}},[_vm._v(\"mdi-asterisk\")])]},proxy:true}]),model:{value:(_vm.newPassVerif),callback:function ($$v) {_vm.newPassVerif=$$v},expression:\"newPassVerif\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport EditDrawer from '@/components/shared/EditDrawer.vue'\r\nimport deepEqual from 'deep-equal'\r\nimport { AloForgottenPass, getDefaultAloForgottenPass } from '../../models/alo/AloForgottenPass';\r\nimport * as rules from '@/utils/validationRules'\r\n\r\n@Component({\r\n name: 'ChangePassword', \r\n components:{EditDrawer}\r\n})\r\nexport default class ChangePassword extends Vue {\r\n \r\n private modified:AloForgottenPass = getDefaultAloForgottenPass() as AloForgottenPass\r\n private showDrawer = false\r\n private saving = false\r\n private newPassVerif = \"\"\r\n private passwordMinLength = 8\r\n \r\n ruleRequired(v:string) {\r\n return rules.ruleRequired(v)\r\n }\r\n rulePasswordMinLength(v:string) {\r\n return rules.rulePasswordMinLength(v) \r\n }\r\n rulePasswordMatch(v:string) {\r\n return rules.rulePasswordMatch(v,this.modified.userNewPass) \r\n }\r\n \r\n edit() {\r\n this.showDrawer = true \r\n this.newPassVerif = \"\" \r\n this.modified = {...getDefaultAloForgottenPass(),userEmail:this.$store.myGetters.user.usrEmail}\r\n } \r\n\r\n get isDirty() {\r\n this.modified.userNewPass\r\n return true\r\n }\r\n\r\n saveData() { \r\n if ((this.$refs.changePasswordForm as HTMLFormElement).validate()) {\r\n this.saving = true\r\n this.$store.myActions.AUTH_CHANGE_PASSWORD_REQUEST(this.modified).then(() =>{\r\n this.$store.myActions.UI_ADD_SNACK_MESSAGE(\"Mot de passe modifié avec succès.\") \r\n this.showDrawer = false \r\n }).catch((error) => {\r\n this.$store.myActions.UI_ADD_SNACK_MESSAGE(error) \r\n }).finally(() => {\r\n this.saving = false\r\n })\r\n }\r\n }\r\n\r\n \r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChangePassword.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChangePassword.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ChangePassword.vue?vue&type=template&id=0c5e9c8e&\"\nimport script from \"./ChangePassword.vue?vue&type=script&lang=ts&\"\nexport * from \"./ChangePassword.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VForm,VIcon,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"persistent\":\"\",\"fullscreen\":\"\",\"scrollable\":\"\",\"hide-overlay\":\"\",\"transition\":\"dialog-bottom-transition\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.nbItems > 0),expression:\"nbItems > 0\"}],staticClass:\"mt-3 mr-0\",attrs:{\"icon\":\"\",\"color\":\"white\",\"title\":_vm.$t('Cart.SeeCart')}},on),[_c('v-badge',{scopedSlots:_vm._u([{key:\"badge\",fn:function(){return [_vm._v(_vm._s(_vm.panier.nbItems))]},proxy:true}],null,true)},[_c('v-icon',[_vm._v(\"mdi-basket\")])],1)],1)]}}]),model:{value:(_vm.showCart),callback:function ($$v) {_vm.showCart=$$v},expression:\"showCart\"}},[_c('v-card',[_c('v-toolbar',{staticClass:\"flex-grow-0\",attrs:{\"color\":\"secondary\"}},[_c('v-toolbar-title',{staticClass:\"white--text font-secondary\"},[_vm._v(_vm._s(_vm.$t('Cart.YourCart')))]),_c('v-spacer'),_c('v-btn',{staticClass:\"btn-txt\",attrs:{\"icon\":\"\",\"color\":\"white\",\"title\":_vm.$t('Cart.Continue')},on:{\"click\":function($event){_vm.showCart = false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('cart-detail',{ref:\"cartDetail\",attrs:{\"panier\":_vm.panier,\"sejour\":_vm.sejour},on:{\"updateHeureLivraison\":_vm.updateHeureLivraison,\"updateCommentaire\":_vm.updateCommentaire,\"updateNbCouverts\":_vm.updateNbCouverts,\"updateItemCommentaire\":_vm.updateItemCommentaire,\"udpateQty\":_vm.udpateQty,\"udpateCartItem\":_vm.udpateCartItem}},[(_vm.canOrder)?[_c('v-row',{staticClass:\"mt-4\",attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"primary white--text text-center pa-2\",attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"title or\"},[_vm._v(_vm._s(_vm.$t('Cart.FinalizeOrder'))+\",\")]),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('Cart.FinalizeOperator'))),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('Cart.FinalizeChoice'))+\" \")]),_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"12\"}},[_c('v-list',{staticClass:\"secondary lighten-2\",attrs:{\"dense\":\"\"}},[_vm._l((_vm.sejour.chambres),function(chambre){return _c('v-list-item',{key:chambre},[_c('v-list-item-title',[_vm._v(\"Tel Suite N° \"+_vm._s(chambre))]),_c('v-list-item-action',[_c('v-switch',{attrs:{\"value\":(\"#\" + chambre),\"hide-details\":\"\"},model:{value:(_vm.contacts),callback:function ($$v) {_vm.contacts=$$v},expression:\"contacts\"}})],1)],1)}),_c('v-list-item',[_c('v-list-item-title',[_vm._v(\"Tel Mobile \"+_vm._s(_vm.sejour.sjrTel))]),_c('v-list-item-action',[_c('v-switch',{attrs:{\"value\":_vm.sejour.sjrTel,\"hide-details\":\"\"},model:{value:(_vm.contacts),callback:function ($$v) {_vm.contacts=$$v},expression:\"contacts\"}})],1)],1)],2)],1)],1),_c('v-row',{staticClass:\"mt-3\",attrs:{\"dense\":\"\"}},[_c('v-btn',{staticClass:\"red\",attrs:{\"disabled\":_vm.saving},on:{\"click\":function($event){return _vm.clearCart()}}},[_vm._v(_vm._s(_vm.$t('Cart.Clear')))]),_c('v-spacer'),_c('v-btn',{staticClass:\"primary\",attrs:{\"disabled\":_vm.saving,\"loading\":_vm.saving},on:{\"click\":function($event){return _vm.sendOrder()}}},[_vm._v(_vm._s(_vm.$t('Global.Validate')))])],1)]:(_vm.isAuthenticated)?[(_vm.sejour.id > 0)?[_c('v-alert',{attrs:{\"type\":\"info\"}},[_vm._v(_vm._s(_vm.$t('Login.InfosAccount')))]),_c('v-btn',{staticClass:\"red\",on:{\"click\":function($event){return _vm.clearCart()}}},[_vm._v(_vm._s(_vm.$t('Cart.Clear')))])]:[_c('v-row',{staticClass:\"mt-3\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-alert',{attrs:{\"type\":\"info\"}},[_vm._v(_vm._s(_vm.$t('Cart.InOrderToValidateEnterStay')))])],1),_c('v-btn',{staticClass:\"red mb-2\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.clearCart()}}},[_vm._v(_vm._s(_vm.$t('Cart.Clear')))]),_c('v-spacer'),_c('v-btn',{staticClass:\"secondary mb-2\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.createAccount(true)}}},[_vm._v(_vm._s(_vm.$t('Login.EnterStayDate')))])],1)]]:[_c('v-row',{staticClass:\"mt-3\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-alert',{attrs:{\"type\":\"info\"}},[_vm._v(_vm._s(_vm.$t('Cart.InOrderToValidate')))])],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"secondary\",attrs:{\"small\":\"\",\"width\":\"100%\"},on:{\"click\":function($event){return _vm.createAccount()}}},[_vm._v(_vm._s(_vm.$t('Login.CreateAccess')))])],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"secondary\",attrs:{\"small\":\"\",\"width\":\"100%\"},on:{\"click\":function($event){return _vm.goToLogin()}}},[_vm._v(_vm._s(_vm.$t('Login.LoginAction')))])],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"red\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.clearCart()}}},[_vm._v(_vm._s(_vm.$t('Cart.Clear')))])],1)],1)]],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport {AloArbo, getDefaultAloArbo} from '@/models/alo/AloArbo'\r\nimport CartDetail from '@/components/panier/CartDetail.vue'\r\nimport EditPlat from '@/components/carte/EditPlat.vue'\r\nimport { groupByNumber } from '@/utils/groupBy'\r\nimport { ItemPanier } from '@/models/alo/ItemPanier'\r\nimport DeliveryPicker from '@/components/shared/DeliveryPicker.vue'\r\nimport { AloCommande, getDefaultAloCommande } from '@/models/alo/AloCommande'\r\nimport { StatusCommande } from '@/enum/StatusCommande'\r\nimport { AloSejour } from '@/models/alo/AloSejour'\r\nimport { AloPanier } from '@/models/alo/AloPanier'\r\nimport { TemplateMail } from '@/enum/TemplateMail'\r\nimport { VuetifyConfirmObject } from 'vuetify-confirm'\r\n\r\n@Component({\r\n name: 'Cart',\r\n components:{\r\n CartDetail\r\n }\r\n})\r\nexport default class Cart extends Vue {\r\n \r\n private showEdit = false\r\n showHoraire = false\r\n saving = false;\r\n\r\n get isAuthenticated(){\r\n return this.$store.myGetters.isAuthenticated\r\n }\r\n \r\n get canOrder(){\r\n return this.$store.myGetters.canOrder\r\n } \r\n\r\n get allContactsType(){\r\n const contactTypes = this.sejour.chambres.map(c => `#${c}`)\r\n if(this.sejour?.sjrTel) contactTypes.push(this.sejour.sjrTel)\r\n return contactTypes\r\n }\r\n\r\n get contacts(){\r\n return this.panier.allContacts?this.allContactsType:this.panier.contacts\r\n }\r\n set contacts(value){ \r\n this.$store.myActions.ROOM_SERVICES_UPD_CONTACT(value) \r\n }\r\n\r\n get showCart(){\r\n return this.$store.myGetters.showCart\r\n }\r\n set showCart(newValue){\r\n this.$store.myActions.UI_SET_CART_VISIBLITY(newValue)\r\n }\r\n\r\n get panier() {\r\n return this.$store.myGetters.panier \r\n } \r\n\r\n get sejour() {\r\n return {...this.$store.myGetters.user?.currentSejour,user:this.$store.myGetters.user} as AloSejour\r\n }\r\n\r\n get nbItems(){\r\n return this.panier.nbItems\r\n } \r\n\r\n mounted(){\r\n this.$store.myGetters.panier.updateTime(this.$store.myGetters.arbosDic)\r\n }\r\n\r\n @Watch(\"nbItems\")\r\n onNbItemsChanged(newValue:number){\r\n if(newValue == 0) this.showCart = false\r\n }\r\n \r\n updateHeureLivraison(heure:string){\r\n this.$store.myActions.ROOM_SERVICES_UPD_HEURE_LIVRAISON(heure)\r\n }\r\n\r\n updateCommentaire(comment:string){\r\n this.$store.myActions.ROOM_SERVICES_UPD_COMMENTAIRE(comment)\r\n }\r\n\r\n updateNbCouverts(nb:number){\r\n this.$store.myActions.ROOM_SERVICES_UPD_NB_COUVERTS(nb)\r\n }\r\n\r\n updateItemCommentaire (payload:{uuid:string,commentaire:string}) { \r\n this.$store.myActions.ROOM_SERVICES_UPD_ITEM_COMMENTAIRE(payload) \r\n }\r\n\r\n udpateQty(payload:{uuid:string,qty:number}){ \r\n if(payload.qty == 0) {\r\n this.$confirm(this.$t('Cart.AlertRemoveItem').toString(),{title: this.$t('Global.ConfirmDelete'),buttonTrueText:this.$t('Global.Yes'),buttonFalseText:this.$t('Global.No')} as VuetifyConfirmObject).then( (response) => {\r\n if(response){\r\n this.$store.myActions.ROOM_SERVICES_UPD_ITEM_QTY(payload)\r\n }\r\n }\r\n )\r\n }\r\n else {\r\n this.$store.myActions.ROOM_SERVICES_UPD_ITEM_QTY(payload)\r\n }\r\n } \r\n\r\n udpateCartItem(item:ItemPanier){\r\n this.$store.myActions.ROOM_SERVICES_UPD_CART_ITEM(item)\r\n }\r\n\r\n sendOrder() { \r\n if(this.panier.heureLivraison == \"\" || new Date(this.panier.heureLivraison?.replace(\"Z\",\"\")) <= (this.$refs.cartDetail as CartDetail).minDateCrenaux()) { \r\n this.$confirm(this.$t('Cart.AlertDelevery').toString(),{title: this.$t('Cart.AlertDeleveryTitle'),buttonTrueText:this.$t('Global.Ok'),buttonFalseText:\"\"} as VuetifyConfirmObject)\r\n }\r\n else{\r\n if(this.panier.allContacts) this.$store.myActions.ROOM_SERVICES_UPD_CONTACT(this.allContactsType) \r\n const commande:AloCommande = {\r\n ...getDefaultAloCommande(),\r\n panier:this.panier, \r\n panStatus:StatusCommande.EnAttenteValidation,\r\n sejour:this.sejour,\r\n mtpId:TemplateMail.CommandeAjoutee,\r\n panLg:this.$i18n.locale,\r\n panUiid:this.panier.uuid\r\n }\r\n\r\n this.saving = true\r\n this.$store.myActions.ADM_COMMANDE_SAVE_REQUEST(commande).then((commande)=>{\r\n this.$store.myActions.ROOM_SERVICES_CLEAR_PANIER() \r\n let messageValid = this.$t('Cart.AlertOrderSaved').toString()\r\n if(commande.panStatus == StatusCommande.EnAttenteValidation) messageValid = messageValid + `
${this.$t('Cart.FinalizeOperator')}`\r\n this.$confirm(messageValid,{title: this.$t('Cart.AlertOrderSavedTitle'),buttonTrueText:this.$t('Global.Ok'),buttonFalseText:\"\"} as VuetifyConfirmObject).then(()=>{\r\n if(this.$route.name != \"OrderHistory\") { \r\n this.$router.push({name:'DetailHistory',params:{commandeId:commande.id.toString()}})\r\n }\r\n })\r\n }).catch(e=>{\r\n this.$confirm(this.$t('Cart.AlertDelevery').toString(),{title: this.$t('Cart.AlertDeleveryTitle'),buttonTrueText:this.$t('Global.Ok'),buttonFalseText:\"\"} as VuetifyConfirmObject)\r\n }).finally(()=>{\r\n this.saving = false\r\n\r\n })\r\n }\r\n\r\n }\r\n\r\n clearCart(){\r\n this.$confirm(this.$t('Cart.AlertClear').toString(),{title: this.$t('Global.Warning'),buttonTrueText:this.$t('Global.Yes'),buttonFalseText:this.$t('Global.No')} as VuetifyConfirmObject).then( (response) => {\r\n if(response){\r\n this.$store.myActions.ROOM_SERVICES_CLEAR_PANIER() \r\n }\r\n }\r\n )\r\n }\r\n\r\n createAccount(useUser = false) {\r\n this.showCart = false\r\n if(this.$route.name!='NewSejour') this.$router.push({name:'NewSejour',params:{useUser:useUser?\"1\":\"0\"}}) \r\n }\r\n\r\n goToLogin(){\r\n this.showCart = false\r\n if(this.$route.name!='Login') this.$router.push({name:'Login'}) \r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Cart.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Cart.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Cart.vue?vue&type=template&id=f023e6b2&\"\nimport script from \"./Cart.vue?vue&type=script&lang=ts&\"\nexport * from \"./Cart.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAlert,VBadge,VBtn,VCard,VCol,VDialog,VIcon,VList,VListItem,VListItemAction,VListItemTitle,VRow,VSpacer,VSwitch,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-toolbar-title',_vm._g({attrs:{\"title\":_vm.$t('Global.Language')}},on),[_c('img',{staticClass:\"cursor-pointer mt-6 mr-2 no-print\",attrs:{\"width\":\"22\",\"src\":require((\"@/assets/flag/\" + (_vm.$i18n.locale) + \".svg\"))}})])]}}])},[_c('v-list',{attrs:{\"dense\":\"\"}},_vm._l((_vm.locales),function(locale){return _c('v-list-item',{key:locale.code,on:{\"click\":function($event){return _vm.setLang(locale.code)}}},[_c('v-list-item-icon',[_c('img',{attrs:{\"width\":\"30\",\"src\":require((\"@/assets/flag/\" + (locale.code) + \".svg\"))}})]),_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(locale.name)}})],1)],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _Vue from 'vue'\r\nimport axios from 'axios'\r\nimport VueI18n from 'vue-i18n'\r\nimport defaultLanguagesTrad from '@/locale/lang/fr'\r\nimport { AloBaseLg } from '@/models/alo/AloBaseLg'\r\nexport const defaultLocale = 'fr'\r\n\r\nconst prod = true // process.env.NODE_ENV === 'production'\r\n\r\n_Vue.use(VueI18n)\r\n\r\n//Construction d'un plugin pour exposer la fonction de traduction\r\nconst VueAloGetTrad = {\r\n install : function(Vue:typeof _Vue,options?: any){ \r\n //@ts-ignore\r\n Vue.$gt = getTradItem\r\n //@ts-ignore\r\n Vue.$gct = getTradItemCollection\r\n Vue.prototype.$gt = getTradItem\r\n Vue.prototype.$gct = getTradItemCollection\r\n }\r\n} \r\n_Vue.use(VueAloGetTrad)\r\n\r\n\r\nexport const locales = [\r\n {\r\n code: 'en',\r\n name: 'English',\r\n dir: 'ltr'\r\n },\r\n {\r\n code: 'fr',\r\n name: 'Francais',\r\n dir: 'ltr'\r\n }\r\n]\r\n\r\n// Create VueI18n instance with options\r\nexport const i18n = new VueI18n({\r\n locale: defaultLocale, // set locale\r\n fallbackLocale: 'en',\r\n silentTranslationWarn:prod,\r\n silentFallbackWarn:prod,\r\n messages:{\r\n [defaultLocale]:defaultLanguagesTrad\r\n }, // set locale messages\r\n})\r\n\r\nconst loadedLanguages = [defaultLocale] // our default language that is preloaded \r\n\r\nfunction setI18nLanguage(lang:string) {\r\n i18n.locale = lang\r\n axios.defaults.headers.common['Accept-Language'] = lang\r\n document.querySelector('html')!.setAttribute('lang', lang)\r\n return lang\r\n}\r\n\r\nfunction getTradItem(item:{lgs:Array}){\r\n return item.lgs.find(it => it.lg == i18n.locale) || item.lgs.find(it => it.lg == i18n.fallbackLocale)\r\n}\r\n\r\n// passe de [{lg:\"fr\",propToSelect:[\"dataFr1\",\"dataFr2,dataFr3]},{lg:\"en\",propToSelect:[\"dataEn1\",\"dataEn2,dataEn3]}]\r\n// à [ {lgs:[{lg:\"fr\",libelle:\"dataFr1\"},{lg:\"en\",libelle:\"dataEn1\"}]} , {lgs:[{lg:\"fr\",libelle:\"dataFr2\"},{lg:\"en\",libelle:\"dataEn2\"}]}, {lgs:[{lg:\"fr\",libelle:\"dataFr3\"},{lg:\"en\",libelle:\"dataEn3\"}]} ]\r\nfunction getTradItemCollection(item:{lgs:Array},valueSelector:(it:T) => Array) { \r\n if(!item) return []\r\n const maxIdx = Math.max(...item.lgs.map(it => valueSelector(it).length || 0))\r\n return [...Array(maxIdx).keys()].map((it,idx) => {\r\n return {lgs:item.lgs.map(l => {return {lg:l.lg,libelle:valueSelector(l)[idx] || ''}})}\r\n } \r\n )\r\n}\r\n\r\n\r\nexport function loadLanguageAsync (lang:string) {\r\n if (i18n.locale !== lang) {\r\n if (!loadedLanguages.includes(lang)) {\r\n return import(/* webpackChunkName: \"lang-[request]\" */ `@/locale/lang/${lang}`).then(msgs => {\r\n i18n.setLocaleMessage(lang, msgs.default)\r\n loadedLanguages.push(lang)\r\n return setI18nLanguage(lang)\r\n })\r\n } \r\n return Promise.resolve(setI18nLanguage(lang))\r\n }\r\n return Promise.resolve(lang)\r\n}","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \nimport Vue from 'vue' \nimport Component from 'vue-class-component' \n import {loadLanguageAsync,locales} from '@/locale/vueI18n' \n\n@Component({\n name: 'LangSwitcher', \n})\nexport default class LangSwitcher extends Vue { \n \n setLang(lang:string) {\n loadLanguageAsync(lang)\n }\n\n get locales(){\n return locales\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LangSwitcher.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LangSwitcher.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LangSwitcher.vue?vue&type=template&id=6e907412&\"\nimport script from \"./LangSwitcher.vue?vue&type=script&lang=ts&\"\nexport * from \"./LangSwitcher.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VList,VListItem,VListItemContent,VListItemIcon,VListItemTitle,VMenu,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-btn',_vm._g({staticClass:\"mt-3 mr-0\",attrs:{\"icon\":\"\",\"color\":\"white\",\"title\":_vm.$t('Menu.Print')},on:{\"click\":function($event){return _vm.print()}}},_vm.on),[_c('v-icon',{domProps:{\"textContent\":_vm._s(_vm.printMode?'mdi-printer-off':'mdi-printer')}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n \nimport Vue from 'vue' \nimport Component from 'vue-class-component' \n import {loadLanguageAsync,locales} from '@/locale/vueI18n' \n\n@Component({\n name: 'Printer', \n})\nexport default class Printer extends Vue { \n \n mounted(){\n \n }\n\n get printMode()\n {\n return this.$store.myGetters.printMode\n }\n\n print() { \n this.$store.myActions.UI_SET_PRINT_MODE(!this.printMode);\n } \n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Printer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Printer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Printer.vue?vue&type=template&id=0e39b04c&\"\nimport script from \"./Printer.vue?vue&type=script&lang=ts&\"\nexport * from \"./Printer.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport ChangePassword from '@/components/shared/ChangePassword.vue'\r\nimport Cart from '@/components/panier/Cart.vue'\r\nimport LangSwitcher from '@/components/shared/LangSwitcher.vue'\r\nimport Printer from '@/components/shared/Printer.vue'\r\n\r\n\r\n@Component({\r\n name:\"App\",\r\n components:{ChangePassword,Cart,LangSwitcher,Printer}\r\n})\r\nexport default class App extends Vue {\r\n private clipped = true\r\n private drawer = true\r\n private miniVariant = false\r\n private right = true\r\n private title = 'ASP.NET Core Vue Starter'\r\n private openUserMenu = false \r\n\r\n onResize(){\r\n //@ts-ignore\r\n this.$store.myActions.UI_SET_CONTENT_HEIGHT(window.innerHeight - this.$refs.appBar.$el.clientHeight - 20) \r\n }\r\n\r\n created() { \r\n }\r\n\r\n mounted(){\r\n this.onResize()\r\n }\r\n\r\n goHome(){\r\n if(this.$route.name != 'Home') this.$router.push({name:'Home'})\r\n }\r\n\r\n get cssProps () {\r\n return {\r\n //@ts-ignore\r\n '--secondary-color': this.$vuetify.theme.themes.light.secondary,\r\n //@ts-ignore\r\n '--primary-color': this.$vuetify.theme.themes.light.primary\r\n }\r\n }\r\n\r\n get panier() {\r\n return this.$store.myGetters.panier \r\n } \r\n\r\n get isAuthenticated(){\r\n return this.$store.myGetters.isAuthenticated\r\n }\r\n\r\n get isVisiteur(){\r\n return this.$store.myGetters.isVisiteur\r\n }\r\n \r\n\r\n get canOrder(){\r\n return this.$store.myGetters.canOrder\r\n }\r\n\r\n get canRoomService(){\r\n return this.$store.myGetters.canRoomService\r\n }\r\n\r\n get canReception(){\r\n return this.$store.myGetters.canReception\r\n }\r\n\r\n get canAdmin(){\r\n return this.$store.myGetters.canAdmin\r\n } \r\n\r\n get userName(){\r\n return this.isAuthenticated ?this.$store.myGetters.user.libelle : \"Visiteur\"\r\n }\r\n\r\n get showSnacks() {\r\n return this.$store.myGetters.snackMessages.length > 0\r\n }\r\n\r\n set showSnacks(newValue) {\r\n this.$store.myActions.UI_CLOSE_SNACKBAR()\r\n }\r\n \r\n get snackMessages(){\r\n return this.$store.myGetters.snackMessages\r\n }\r\n\r\n get rightDrawerEnable() {\r\n return this.$store.myGetters.rightDrawerEnable\r\n } \r\n\r\n set rightDrawerEnable(newValue:boolean) {\r\n this.$store.myActions.UI_SET_RIGHT_DRAWER_ENABLE(newValue)\r\n }\r\n \r\n get rightDrawerOpen() {\r\n return this.$store.myGetters.rightDrawerOpen\r\n }\r\n\r\n set rightDrawerOpen(newValue:boolean) {\r\n this.$store.myActions.UI_SET_RIGHT_DRAWER_OPEN(newValue)\r\n }\r\n\r\n get routemeta() {\r\n return this.$route.matched.reduce((a,item) => { return {...a,...item.meta}},{})\r\n }\r\n\r\n get rightDrawerIcon(){\r\n //@ts-ignore\r\n return this.routemeta.rightDrawerIcon || 'mdi-magnify'\r\n }\r\n\r\n get printMode()\r\n {\r\n return this.$store.myGetters.printMode\r\n }\r\n \r\n @Watch('$route')\r\n onRouteUpdate() { \r\n this.rightDrawerEnable = false\r\n }\r\n\r\n\r\n logout() { \r\n this.$store.myActions.AUTH_LOGOUT_REQUEST()\r\n }\r\n\r\n changePassword() { (this.$refs.changePassword as ChangePassword).edit() }\r\n\r\n}\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--13-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--13-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=2062e05a&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VAppBarNavIcon } from 'vuetify/lib/components/VAppBar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemGroup } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMain } from 'vuetify/lib/components/VMain';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VApp,VAppBar,VAppBarNavIcon,VBtn,VDivider,VIcon,VImg,VList,VListItem,VListItemGroup,VListItemIcon,VListItemSubtitle,VListItemTitle,VMain,VNavigationDrawer,VSnackbar,VSpacer})\n\n\n/* vuetify-loader */\nimport installDirectives from \"!../node_modules/vuetify-loader/lib/runtime/installDirectives.js\"\nimport Resize from 'vuetify/lib/directives/resize'\ninstallDirectives(component, {Resize})\n","/**\r\n * This function coerces a string into a string literal type.\r\n * Using tagged union types in TypeScript 2.0, this enables\r\n * powerful typechecking of our reducers.\r\n * Since every action label passes through this function it\r\n * is a good place to ensure all of our action labels\r\n * are unique.\r\n */\r\n\r\nconst typeCache: KeyMap = {}\r\nexport function type(label: T | ''): T {\r\n if (typeCache[label as string]) {\r\n throw new Error(`Action type \"${label}\" is not unique\"`)\r\n }\r\n typeCache[label as string] = true\r\n return label as T\r\n}\r\n","import { type } from '@/utils/type'\r\n\r\nexport const AUTH_REQUEST = type('AUTH_REQUEST')\r\nexport const AUTH_USER_REQUEST = type('AUTH_USER_REQUEST')\r\nexport const AUTH_LOGOUT_REQUEST = type('AUTH_LOGOUT_REQUEST')\r\nexport const AUTH_AUTO_LOGOUT_REQUEST = type('AUTH_AUTO_LOGOUT_REQUEST')\r\nexport const AUTH_PASSWORD_REQUEST = type('AUTH_PASSWORD_REQUEST')\r\nexport const AUTH_CHANGE_PASSWORD_REQUEST = type('AUTH_CHANGE_PASSWORD_REQUEST')\r\nexport const AUTH_CREATE_PASSWORD_REQUEST = type('AUTH_CREATE_PASSWORD_REQUEST')\r\nexport const AUTH_RESET_STATUS = type('AUTH_RESET_STATUS')\r\nexport const AUTH_SET_REDIRECT_PATH = type('AUTH_SET_REDIRECT_PATH')\r\n\r\nexport const AUTH_AUTOLOG_REQUEST = type('AUTH_AUTOLOG_REQUEST')","import { type } from '@/utils/type'\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// ROOM_SERVICES\r\n/////////////////////////////////////////////////////////////////\r\nexport const ROOM_SERVICES_DATAS_REQUEST = type('ROOM_SERVICES_DATAS_REQUEST')\r\nexport const ROOM_SERVICES_DATAS_ENSURE = type('ROOM_SERVICES_DATAS_ENSURE')\r\n\r\nexport const ROOM_SERVICES_CRENAUX_REQUEST = type('ROOM_SERVICES_CRENAUX_REQUEST')\r\n\r\nexport const ROOM_SERVICES_PLAT_SET_SELECTION = type('ROOM_SERVICES_PLAT_SET_SELECTION')\r\nexport const ROOM_SERVICES_ARBO_SET_SELECTION = type('ROOM_SERVICES_ARBO_SET_SELECTION')\r\n\r\nexport const ROOM_SERVICES_ADD_PANIER = type('ROOM_SERVICES_ADD_PANIER')\r\nexport const ROOM_SERVICES_UPD_ITEM_COMMENTAIRE = type('ROOM_SERVICES_UPD_ITEM_COMMENTAIRE')\r\nexport const ROOM_SERVICES_UPD_COMMENTAIRE = type('ROOM_SERVICES_UPD_COMMENTAIRE')\r\nexport const ROOM_SERVICES_UPD_ITEM_QTY = type('ROOM_SERVICES_UPD_ITEM_QTY')\r\nexport const ROOM_SERVICES_UPD_HEURE_LIVRAISON = type('ROOM_SERVICES_UPD_HEURE_LIVRAISON')\r\nexport const ROOM_SERVICES_UPD_NB_COUVERTS = type('ROOM_SERVICES_UPD_NB_COUVERTS')\r\nexport const ROOM_SERVICES_UPD_CART_ITEM = type('ROOM_SERVICES_UPD_CART_ITEM')\r\nexport const ROOM_SERVICES_UPD_CONTACT = type('ROOM_SERVICES_UPD_CONTACT')\r\n\r\nexport const ROOM_SERVICES_CLEAR_PANIER = type('ROOM_SERVICES_CLEAR_PANIER')\r\n\r\n\r\n\r\n\r\n","import { type } from '@/utils/type'\r\n\r\n///////////////////////\r\n//Actions types\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// SEJOUR\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_SEJOUR_REQUEST = type('ADM_SEJOUR_REQUEST')\r\nexport const ADM_SEJOUR_ENSURE = type('ADM_SEJOUR_ENSURE')\r\n\r\nexport const ADM_SEJOUR_DETAIL_REQUEST = type('ADM_SEJOUR_DETAIL_REQUEST')\r\nexport const ADM_SEJOUR_DETAIL_ENSURE = type('ADM_SEJOUR_DETAIL_ENSURE')\r\n\r\nexport const ADM_SEJOUR_SAVE_REQUEST = type('ADM_SEJOUR_SAVE_REQUEST')\r\nexport const ADM_SEJOUR_DELETE_REQUEST = type('ADM_SEJOUR_DELETE_REQUEST')\r\n\r\nexport const ADM_SEJOUR_RESET_STATUS = type('ADM_SEJOUR_RESET_STATUS')\r\n\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// USER\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_USER_REQUEST = type('ADM_USER_REQUEST')\r\nexport const ADM_USER_ENSURE = type('ADM_USER_ENSURE')\r\n\r\nexport const ADM_USER_DETAIL_REQUEST = type('ADM_USER_DETAIL_REQUEST')\r\nexport const ADM_USER_DETAIL_ENSURE = type('ADM_USER_DETAIL_ENSURE')\r\n\r\nexport const ADM_USER_SAVE_REQUEST = type('ADM_USER_SAVE_REQUEST')\r\nexport const ADM_USER_DELETE_REQUEST = type('ADM_USER_DELETE_REQUEST')\r\n\r\nexport const ADM_USER_RESET_STATUS = type('ADM_USER_RESET_STATUS')\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// COMMANDE\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_COMMANDE_REQUEST = type('ADM_COMMANDE_REQUEST')\r\nexport const ADM_COMMANDE_ENSURE = type('ADM_COMMANDE_ENSURE')\r\n\r\nexport const ADM_COMMANDE_DETAIL_REQUEST = type('ADM_COMMANDE_DETAIL_REQUEST')\r\nexport const ADM_COMMANDE_DETAIL_ENSURE = type('ADM_COMMANDE_DETAIL_ENSURE')\r\n\r\nexport const ADM_COMMANDE_SAVE_REQUEST = type('ADM_COMMANDE_SAVE_REQUEST')\r\nexport const ADM_COMMANDE_DELETE_REQUEST = type('ADM_COMMANDE_DELETE_REQUEST')\r\n\r\nexport const ADM_COMMANDE_RESET_STATUS = type('ADM_COMMANDE_RESET_STATUS')\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// MAIL_TEMPLATE\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_MAIL_TEMPLATE_REQUEST = type('ADM_MAIL_TEMPLATE_REQUEST')\r\nexport const ADM_MAIL_TEMPLATE_ENSURE = type('ADM_MAIL_TEMPLATE_ENSURE')\r\n\r\nexport const ADM_MAIL_TEMPLATE_DETAIL_REQUEST = type('ADM_MAIL_TEMPLATE_DETAIL_REQUEST')\r\nexport const ADM_MAIL_TEMPLATE_DETAIL_ENSURE = type('ADM_MAIL_TEMPLATE_DETAIL_ENSURE')\r\n\r\nexport const ADM_MAIL_TEMPLATE_SAVE_REQUEST = type('ADM_MAIL_TEMPLATE_SAVE_REQUEST')\r\nexport const ADM_MAIL_TEMPLATE_DELETE_REQUEST = type('ADM_MAIL_TEMPLATE_DELETE_REQUEST')\r\n\r\nexport const ADM_MAIL_TEMPLATE_RESET_STATUS = type('ADM_MAIL_TEMPLATE_RESET_STATUS')\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// MAIL_SKIN\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_MAIL_SKIN_REQUEST = type('ADM_MAIL_SKIN_REQUEST')\r\nexport const ADM_MAIL_SKIN_ENSURE = type('ADM_MAIL_SKIN_ENSURE')\r\n\r\nexport const ADM_MAIL_SKIN_DETAIL_REQUEST = type('ADM_MAIL_SKIN_DETAIL_REQUEST')\r\nexport const ADM_MAIL_SKIN_DETAIL_ENSURE = type('ADM_MAIL_SKIN_DETAIL_ENSURE')\r\n\r\nexport const ADM_MAIL_SKIN_SAVE_REQUEST = type('ADM_MAIL_SKIN_SAVE_REQUEST')\r\nexport const ADM_MAIL_SKIN_DELETE_REQUEST = type('ADM_MAIL_SKIN_DELETE_REQUEST')\r\n\r\nexport const ADM_MAIL_SKIN_RESET_STATUS = type('ADM_MAIL_SKIN_RESET_STATUS')\r\n\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// PAN_STATUS\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_PAN_STATUS_REQUEST = type('ADM_PAN_STATUS_REQUEST')\r\nexport const ADM_PAN_STATUS_ENSURE = type('ADM_PAN_STATUS_ENSURE')\r\n\r\nexport const ADM_PAN_STATUS_DETAIL_REQUEST = type('ADM_PAN_STATUS_DETAIL_REQUEST')\r\nexport const ADM_PAN_STATUS_DETAIL_ENSURE = type('ADM_PAN_STATUS_DETAIL_ENSURE')\r\n\r\nexport const ADM_PAN_STATUS_SAVE_REQUEST = type('ADM_PAN_STATUS_SAVE_REQUEST')\r\nexport const ADM_PAN_STATUS_DELETE_REQUEST = type('ADM_PAN_STATUS_DELETE_REQUEST')\r\n\r\nexport const ADM_PAN_STATUS_RESET_STATUS = type('ADM_PAN_STATUS_RESET_STATUS')","import { type } from '@/utils/type'\r\n\r\nexport const UI_CLOSE_SNACKBAR = type('UI_CLOSE_SNACKBAR')\r\nexport const UI_ADD_SNACK_MESSAGE = type('UI_ADD_SNACK_MESSAGE')\r\n\r\nexport const UI_SET_CONTENT_HEIGHT = type('UI_SET_CONTENT_HEIGHT')\r\nexport const UI_SET_RIGHT_DRAWER_OPEN = type('UI_SET_RIGHT_DRAWER_OPEN')\r\nexport const UI_SET_RIGHT_DRAWER_ENABLE = type('UI_SET_RIGHT_DRAWER_ENABLE')\r\n\r\nexport const UI_SET_ALLERGENE_VISIBLITY = type('UI_SET_ALLERGENE_VISIBLITY')\r\nexport const UI_SET_CART_VISIBLITY = type('UI_SET_CART_VISIBLITY')\r\n\r\nexport const UI_SET_SEARCH_SEJOUR = type('UI_SET_SEARCH_SEJOUR')\r\nexport const UI_SET_SORT_SEJOUR_DESC = type('UI_SET_SORT_SEJOUR_DESC')\r\nexport const UI_SET_SORT_SEJOUR_BY = type('UI_SET_SORT_SEJOUR_BY')\r\n\r\nexport const UI_SET_SEARCH_USER = type('UI_SET_SEARCH_USER')\r\nexport const UI_SET_SORT_USER_DESC = type('UI_SET_SORT_USER_DESC')\r\nexport const UI_SET_SORT_USER_BY = type('UI_SET_SORT_USER_BY')\r\n\r\nexport const UI_SET_SEARCH_COMMANDE = type('UI_SET_SEARCH_COMMANDE')\r\nexport const UI_SET_SORT_COMMANDE_DESC = type('UI_SET_SORT_COMMANDE_DESC')\r\nexport const UI_SET_SORT_COMMANDE_BY = type('UI_SET_SORT_COMMANDE_BY')\r\n\r\nexport const UI_SET_SEARCH_MAIL_TEMPLATE = type('UI_SET_SEARCH_MAIL_TEMPLATE')\r\nexport const UI_SET_SORT_MAIL_TEMPLATE_DESC = type('UI_SET_SORT_MAIL_TEMPLATE_DESC')\r\nexport const UI_SET_SORT_MAIL_TEMPLATE_BY = type('UI_SET_SORT_MAIL_TEMPLATE_BY')\r\n\r\nexport const UI_SET_SEARCH_MAIL_SKIN = type('UI_SET_SEARCH_MAIL_SKIN')\r\nexport const UI_SET_SORT_MAIL_SKIN_DESC = type('UI_SET_SORT_MAIL_SKIN_DESC')\r\nexport const UI_SET_SORT_MAIL_SKIN_BY = type('UI_SET_SORT_MAIL_SKIN_BY')\r\n\r\nexport const UI_SET_PRINT_MODE = type('UI_SET_PRINT_MODE')\r\n\r\n","import * as authAction from '@/store/modules/auth/action-types'\r\nimport * as roomServiceAction from '@/store/modules/roomservice/action-types'\r\nimport * as administrationAction from '@/store/modules/administration/action-types'\r\nimport * as uiAction from '@/store/modules/ui/action-types'\r\n\r\nexport default { \r\n ...authAction,\r\n ...roomServiceAction,\r\n ...administrationAction,\r\n ...uiAction\r\n}","import Vue from 'vue'\r\nimport VueRouter, { NavigationGuard, RouterOptions } from 'vue-router'\r\nimport { Store } from 'vuex/types'\r\nimport { IRootState } from '@/store'\r\nimport types from '@/store/all-action-types' \r\n \r\nVue.use(VueRouter)\r\n\r\nconst routes = [\r\n { \r\n path: '/',\r\n name: 'Home',\r\n component: () => import(/* webpackChunkName: \"index\" */ '@/views/Home.vue')\r\n }, \r\n { \r\n path: '/roomservice',\r\n name: 'RoomService',\r\n component: () => import(/* webpackChunkName: \"room-service\" */ '@/views/RoomService.vue'),\r\n props(route: any) { \r\n return { \r\n ...route.params, \r\n sectionId:parseInt(route.params.sectionId), \r\n pageId:parseInt(route.params.pageId)\r\n }\r\n }\r\n },\r\n {\r\n path: '/login',\r\n name: 'Login', \r\n component: () => import(/* webpackChunkName: \"index\" */ '@/views/Login.vue')\r\n },\r\n {\r\n path: '/create-password',\r\n name: 'CreatePassword',\r\n component: () => import(/* webpackChunkName: \"index\" */ '@/views/CreatePassword.vue')\r\n },\r\n {\r\n path: '/sejours', \r\n name: 'Sejour',\r\n component: () => import(/* webpackChunkName: \"reception\" */ '@/views/reception/GestionSejour.vue'),\r\n meta:{roles:[\"Reception\",\"RoomService\"]} \r\n },\r\n {\r\n path: '/sejours/new',\r\n name: 'NewSejour', \r\n component: () => import(/* webpackChunkName: \"reception\" */ '@/views/reception/ModifySejour.vue'),\r\n props(route: any) { \r\n console.log(route.params) \r\n return { ...route.params, sejourId:-1, useUser:route.params?.useUser==\"1\" }\r\n } \r\n },\r\n {\r\n path: '/sejours/:sejourId',\r\n name: 'ModifySejour', \r\n component: () => import(/* webpackChunkName: \"reception\" */ '@/views/reception/ModifySejour.vue'),\r\n props(route: any) { \r\n return { ...route.params, sejourId:parseInt(route?.params?.sejourId ?? -1) }\r\n },\r\n meta:{roles:[\"Reception\",\"RoomService\"]} \r\n }, \r\n {\r\n path: '/historique', \r\n name: 'OrderHistory',\r\n component: () => import(/* webpackChunkName: \"index\" */ '@/views/compte/OrderHistory.vue'),\r\n meta:{roles:[\"Client\",\"Reception\",\"RoomService\"]} \r\n },\r\n {\r\n path: '/historique/:commandeId',\r\n name: 'DetailHistory', \r\n component: () => import(/* webpackChunkName: \"index\" */ '@/views/compte/DetailHistory.vue'),\r\n props(route: any) { \r\n return { ...route.params, commandeId:parseInt(route?.params?.commandeId ?? -1) }\r\n },\r\n meta:{roles:[\"Client\",\"Reception\",\"RoomService\"]} \r\n },\r\n {\r\n path: '/commandes', \r\n name: 'Commande',\r\n component: () => import(/* webpackChunkName: \"roomservice\" */ '@/views/roomServices/GestionCommande.vue'),\r\n meta:{roles:[\"RoomService\"]} \r\n },\r\n {\r\n path: '/commandes/:commandeId',\r\n name: 'ModifyCommande', \r\n component: () => import(/* webpackChunkName: \"admin\" */ '@/views/roomServices/ModifyCommande.vue'),\r\n props(route: any) { \r\n return { ...route.params, commandeId:parseInt(route?.params?.commandeId ?? -1) }\r\n },\r\n meta:{roles:[\"RoomService\",\"Admin\"]} \r\n },\r\n {\r\n path: '/utilisateurs', \r\n name: 'User',\r\n component: () => import(/* webpackChunkName: \"admin\" */ '@/views/users/GestionUser.vue'),\r\n meta:{roles:[\"Admin\"]} \r\n },\r\n {\r\n path: '/utilisateurs/:userId',\r\n name: 'ModifyUser', \r\n component: () => import(/* webpackChunkName: \"admin\" */ '@/views/users/ModifyUser.vue'),\r\n props(route: any) { \r\n return { ...route.params, userId:route?.params?.userId=='new'?-1:parseInt(route?.params?.userId ?? -1) }\r\n },\r\n meta:{roles:[\"Admin\"]} \r\n },\r\n {\r\n path: '/parametres/templates', \r\n name: 'MailTemplate',\r\n component: () => import(/* webpackChunkName: \"admin\" */ '@/views/mailTemplate/GestionMailTemplate.vue'),\r\n meta:{roles:[\"Admin\"]} \r\n },\r\n {\r\n path: '/parametres/skins',\r\n name: 'MailSkin',\r\n component: () => import(/* webpackChunkName: \"admin\" */ '@/views/mailSkin/GestionMailSkin.vue'),\r\n meta:{roles:[\"Admin\"]} \r\n },\r\n {\r\n path: '/parametres/qrcode',\r\n name: 'QrCode',\r\n component: () => import(/* webpackChunkName: \"admin\" */ '@/views/qrCode/GestionQrCode.vue'),\r\n meta:{roles:[\"Admin\"]} \r\n \r\n }\r\n]\r\n\r\nexport default (store: Store) => {\r\n \r\n //@ts-ignore\r\n const router = new VueRouter({\r\n //mode: 'history',\r\n //@ts-ignore\r\n routes\r\n })\r\n\r\n //mise ne place de la securité test pour chaque route demandée\r\n router.beforeEach(((to, from, next) => { \r\n if((to.meta?.roles?.length ?? 0) > 0 ) { \r\n if(store.getters.canAccess(to.meta?.roles)) { \r\n next()\r\n return\r\n } \r\n else { \r\n store.dispatch(types.AUTH_SET_REDIRECT_PATH, to.path)\r\n next({name:'Login'}) \r\n return\r\n } \r\n } \r\n else {\r\n next()\r\n return\r\n }\r\n\r\n }) as NavigationGuard) \r\n \r\n return router\r\n}\r\n","import { AloSecurityItem } from '@/models/alo/AloSecurityItem';\r\nimport { ApiUserRole } from './ApiUserRole';\r\n\r\nexport enum SecurityItemsKeys {\r\n DEBUG_LOG = \"DEBUG_LOG\"\r\n}\r\n\r\n\r\nexport const getDefaultSecurityRights = (): {[index: string]: AloSecurityItem} => { return {\r\n [SecurityItemsKeys.DEBUG_LOG]: {enable:false, visible:false}\r\n }\r\n}\r\n\r\nexport const calculSecurityRights = (role: ApiUserRole|null = null) => {\r\n if(role){\r\n return SecurityRightsByRoles[role]\r\n }\r\n else{\r\n return getDefaultSecurityRights()\r\n }\r\n}\r\n\r\nexport const SecurityRightsByRoles: {[index: string]: {[index: string]: AloSecurityItem} } = {\r\n [ApiUserRole.CentralWeb]:{\r\n [SecurityItemsKeys.DEBUG_LOG]: {enable:false, visible:false}\r\n },\r\n [ApiUserRole.Admin]:{\r\n [SecurityItemsKeys.DEBUG_LOG]: {enable:false, visible:false}\r\n }\r\n}","import Vue from 'vue'\r\n\r\nexport class StoreHelperMixin extends Vue {\r\n public beforeCreate() {\r\n if (!this.$store) {\r\n return\r\n } else {\r\n const actions: any = {}\r\n Object.keys(this.$store._actions).forEach(action => {\r\n actions[action] = (...args: any[]) => this.$store.dispatch(action, ...args)\r\n }) \r\n this.$store.myActions = actions\r\n this.$store.myGetters = this.$store.getters\r\n }\r\n }\r\n}\r\n\r\nexport default (localVue: any) => {\r\n localVue.mixin(new StoreHelperMixin())\r\n}","import apiHelpers from '@/utils/api'\r\nimport { AlrContainer } from '@/models/response/AlrContainer'\r\nimport { AloIdentity } from '@/models/alo/AloIdentity'\r\nimport { AxiosPromise } from 'axios'\r\nimport { AloUserIdentity } from '@/models/alo/AloUserIdentity'\r\nimport { AloForgottenPass } from '@/models/alo/AloForgottenPass'\r\nimport { AloUser } from '@/models/alo/AloUser'\r\nimport { TemplateMail } from '@/enum/TemplateMail'\r\n\r\nexport default {\r\n authenticate(user: AloUserIdentity): AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url:'/webapi/Authenticate', \r\n method:'POST', \r\n data: user,\r\n transformResponse: [function (data: string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n })\r\n }, \r\n autolog(key: string): AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url:'/webapi/Authenticate/autolog', \r\n method:'GET', \r\n params:{key},\r\n transformResponse: [function (data: string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n })\r\n }, \r\n getAuthenticatedUser(): AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url: '/webapi/Authenticate', \r\n method: 'GET',\r\n transformResponse: [function (data: string) { \r\n return JSON.parse(data) as AlrContainer\r\n }] \r\n })\r\n },\r\n logout(): AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url: '/webapi/Authenticate', \r\n method: 'DELETE',\r\n transformResponse: [function (data: string) { \r\n return JSON.parse(data) as AlrContainer\r\n }] \r\n })\r\n }, \r\n forgetPassword(data:AloForgottenPass): AxiosPromise> { \r\n data.mtpId = TemplateMail.ForgotPassword\r\n return apiHelpers.apiCall({ \r\n url: '/webapi/Authenticate/forgotten', \r\n method: 'POST',\r\n data,\r\n transformResponse: [function (data: string) { \r\n return JSON.parse(data) as AlrContainer\r\n }] \r\n })\r\n },\r\n\r\n changePassword(data:AloForgottenPass): AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url: '/webapi/Authenticate', \r\n method: 'PUT',\r\n data,\r\n transformResponse: [function (data: string) { \r\n return JSON.parse(data) as AlrContainer\r\n }] \r\n })\r\n },\r\n\r\n createPassword(data:AloForgottenPass): AxiosPromise> {\r\n data.mtpId = TemplateMail.ChangePassword\r\n return apiHelpers.apiCall({ \r\n url: '/webapi/Authenticate/forgotten', \r\n method: 'PUT',\r\n data,\r\n transformResponse: [function (data: string) { \r\n return JSON.parse(data) as AlrContainer\r\n }] \r\n })\r\n }\r\n}","export default {\r\n classToObject(ctor: new (...args: any[]) => T) {\r\n const objResult: {\r\n [key: string]: () => any;\r\n } = {}\r\n Object.getOwnPropertyNames(ctor.prototype).forEach(k => {\r\n const protoVal: () => any = ctor.prototype[k]\r\n if (typeof protoVal === 'function' && k !== 'constructor') {\r\n objResult[k] = function(...args: any[]) { \r\n //@ts-ignore\r\n return protoVal.call(this, ...args)\r\n }\r\n }\r\n })\r\n return objResult\r\n }\r\n}","import { type } from '@/utils/type'\r\n\r\nexport const AUTH_SUCCESS = type('AUTH_SUCCESS')\r\nexport const AUTH_ERROR = type('AUTH_ERROR')\r\n\r\nexport const AUTH_USER_SUCCESS = type('AUTH_USER_SUCCESS')\r\nexport const AUTH_USER_ERROR = type('AUTH_USER_ERROR')\r\n\r\nexport const AUTH_LOGOUT_SUCCESS = type('AUTH_LOGOUT_SUCCESS')\r\nexport const AUTH_LOGOUT_ERROR = type('AUTH_LOGOUT_ERROR')\r\n\r\nexport const AUTH_PASSWORD_SUCCESS = type('AUTH_PASSWORD_SUCCESS')\r\nexport const AUTH_PASSWORD_ERROR = type('AUTH_PASSWORD_ERROR')\r\n\r\nexport const AUTH_CHANGE_PASSWORD_SUCCESS = type('AUTH_CHANGE_PASSWORD_SUCCESS')\r\nexport const AUTH_CHANGE_PASSWORD_ERROR = type('AUTH_CHANGE_PASSWORD_ERROR')\r\n\r\nexport const AUTH_CREATE_PASSWORD_SUCCESS = type('AUTH_CREATE_PASSWORD_SUCCESS')\r\nexport const AUTH_CREATE_PASSWORD_ERROR = type('AUTH_CREATE_PASSWORD_ERROR')\r\n","import * as ationTypes from './mutation-types'\r\nimport * as mutationTypes from './action-types'\r\n\r\nexport default { \r\n ...ationTypes,\r\n ...mutationTypes\r\n}","import { ActionContext } from 'vuex'\r\nimport apiAuth from '@/api/auth'\r\nimport util from '@/utils/classToObject'\r\nimport actionsTypes from '@/store/all-action-types'\r\nimport types from './all-mutation-types'\r\nimport { IRootState, emptyAction, actionEnsure, payloadAction } from '@/store'\r\nimport { IAuthState } from './state'\r\nimport { AloUserIdentity } from '@/models/alo/AloUserIdentity'\r\nimport { AloError } from '@/models/alo/AloError'\r\nimport { AloIdentity } from '@/models/alo/AloIdentity'\r\nimport { ApiResultCode } from '@/enum/ApiResultCode'\r\nimport api from '@/utils/api'\r\nimport { AloForgottenPass } from '@/models/alo/AloForgottenPass'\r\nimport { AloUser } from '@/models/alo/AloUser'\r\n\r\nexport class AuthAction {\r\n public [types.AUTH_REQUEST](context: ActionContext, identity: AloUserIdentity) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.AUTH_REQUEST)\r\n apiAuth\r\n .authenticate(identity)\r\n .then(resp => {\r\n if (resp.data.resultCode == ApiResultCode.Ok) { \r\n\r\n const user = resp.data.data as AloUser \r\n context.commit(types.AUTH_SUCCESS)\r\n context.commit(types.AUTH_USER_SUCCESS, user) \r\n resolve(resp.data.data)\r\n } else {\r\n context.dispatch(types.AUTH_AUTO_LOGOUT_REQUEST)\r\n context.commit(types.AUTH_ERROR)\r\n reject((resp.data.data as AloError).errorMessage)\r\n }\r\n })\r\n .catch(err => {\r\n context.dispatch(types.AUTH_AUTO_LOGOUT_REQUEST)\r\n context.commit(types.AUTH_ERROR)\r\n reject(err)\r\n })\r\n })\r\n }\r\n\r\n public [types.AUTH_AUTOLOG_REQUEST](context: ActionContext,key:string) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.AUTH_AUTOLOG_REQUEST)\r\n apiAuth\r\n .autolog(key)\r\n .then(resp => {\r\n if (resp.data.resultCode == ApiResultCode.Ok) { \r\n\r\n const user = resp.data.data as AloUser \r\n context.commit(types.AUTH_SUCCESS)\r\n context.commit(types.AUTH_USER_SUCCESS, user) \r\n resolve(resp.data.data)\r\n } else {\r\n context.dispatch(types.AUTH_AUTO_LOGOUT_REQUEST)\r\n context.commit(types.AUTH_ERROR)\r\n reject((resp.data.data as AloError).errorMessage)\r\n }\r\n })\r\n .catch(err => {\r\n context.dispatch(types.AUTH_AUTO_LOGOUT_REQUEST)\r\n context.commit(types.AUTH_ERROR)\r\n reject(err)\r\n })\r\n })\r\n }\r\n\r\n public [types.AUTH_AUTO_LOGOUT_REQUEST](context: ActionContext) {\r\n return emptyAction(context,types.AUTH_LOGOUT_REQUEST,types.AUTH_LOGOUT_SUCCESS,types.AUTH_LOGOUT_ERROR,apiAuth.logout) \r\n }\r\n\r\n public [types.AUTH_LOGOUT_REQUEST](context: ActionContext) {\r\n context.commit(types.AUTH_SET_REDIRECT_PATH,\"/\")\r\n return emptyAction(context,types.AUTH_LOGOUT_REQUEST,types.AUTH_LOGOUT_SUCCESS,types.AUTH_LOGOUT_ERROR,apiAuth.logout) \r\n }\r\n\r\n public [types.AUTH_PASSWORD_REQUEST](context: ActionContext, data: AloForgottenPass) {\r\n return payloadAction(context,types.AUTH_PASSWORD_REQUEST,types.AUTH_PASSWORD_SUCCESS,types.AUTH_PASSWORD_ERROR,apiAuth.forgetPassword,data) \r\n }\r\n\r\n public [types.AUTH_CHANGE_PASSWORD_REQUEST](context: ActionContext, data: AloForgottenPass) {\r\n return payloadAction(context,types.AUTH_CHANGE_PASSWORD_REQUEST,types.AUTH_CHANGE_PASSWORD_SUCCESS,types.AUTH_CHANGE_PASSWORD_ERROR,apiAuth.changePassword,data) \r\n }\r\n\r\n public [types.AUTH_CREATE_PASSWORD_REQUEST](context: ActionContext, data: AloForgottenPass) {\r\n return payloadAction(context,types.AUTH_CREATE_PASSWORD_REQUEST,types.AUTH_CREATE_PASSWORD_SUCCESS,types.AUTH_CREATE_PASSWORD_ERROR,apiAuth.createPassword,data) \r\n }\r\n\r\n\r\n public [types.AUTH_USER_REQUEST](context: ActionContext) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.AUTH_USER_REQUEST)\r\n apiAuth\r\n .getAuthenticatedUser()\r\n .then(resp => {\r\n if (resp.data.resultCode == ApiResultCode.Ok) {\r\n const identity = resp.data.data as AloUser \r\n context.commit(types.AUTH_USER_SUCCESS, identity) \r\n resolve(resp.data.data)\r\n } else {\r\n context.commit(types.AUTH_USER_ERROR)\r\n context.dispatch(types.AUTH_AUTO_LOGOUT_REQUEST)\r\n reject((resp.data.data as AloError).errorMessage)\r\n }\r\n })\r\n .catch(err => { \r\n context.commit(types.AUTH_USER_ERROR)\r\n context.dispatch(types.AUTH_AUTO_LOGOUT_REQUEST)\r\n reject(err)\r\n })\r\n })\r\n }\r\n \r\n\r\n public [types.AUTH_RESET_STATUS](context: ActionContext) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.AUTH_RESET_STATUS)\r\n resolve()\r\n })\r\n }\r\n \r\n public [types.AUTH_SET_REDIRECT_PATH](context: ActionContext,path:string) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.AUTH_SET_REDIRECT_PATH,path)\r\n resolve()\r\n })\r\n }\r\n\r\n}\r\n\r\nexport default util.classToObject(AuthAction)\r\n","// Interface\r\n\r\nimport { ApiUserRole } from '@/enum/ApiUserRole'\r\nimport util from '@/utils/classToObject'\r\nimport { IAuthState } from './state'\r\n\r\nexport class AuthGetter {\r\n public isAuthenticated(state: IAuthState) {\r\n return state.user && state.user.id > 0\r\n }\r\n public authStatus(state: IAuthState) {\r\n return state.authStatus\r\n } \r\n public user(state: IAuthState) {\r\n return state.user\r\n }\r\n public userSecurity(state: IAuthState) {\r\n return state.userSecurity\r\n }\r\n public renewTokenId(state: IAuthState) {\r\n return state.renewTokenId\r\n }\r\n public redirectPath(state: IAuthState) {\r\n return state.redirectPath\r\n }\r\n public isCentralWeb(state: IAuthState){\r\n return state.user.usrRole == ApiUserRole.CentralWeb\r\n }\r\n public isAdmin(state: IAuthState) {\r\n return state.user.usrRole == ApiUserRole.Admin\r\n } \r\n public isRoomService(state: IAuthState) {\r\n return state.user.usrRole == ApiUserRole.RoomService\r\n }\r\n public isReception(state: IAuthState) {\r\n return state.user.usrRole == ApiUserRole.Reception\r\n }\r\n public isClient(state: IAuthState) {\r\n return state.user.usrRole == ApiUserRole.Client\r\n }\r\n public isVisiteur(state: IAuthState) {\r\n return state.user.usrRole == ApiUserRole.Visiteur\r\n }\r\n public canRoomService(state: IAuthState) {\r\n return state.user.usrRole == ApiUserRole.RoomService || state.user.usrRole == ApiUserRole.Admin || state.user.usrRole == ApiUserRole.CentralWeb\r\n } \r\n public canReception(state: IAuthState) {\r\n return state.user.usrRole == ApiUserRole.Reception || state.user.usrRole == ApiUserRole.RoomService || state.user.usrRole == ApiUserRole.Admin || state.user.usrRole == ApiUserRole.CentralWeb\r\n } \r\n public canAdmin(state: IAuthState) {\r\n return state.user.usrRole == ApiUserRole.Admin || state.user.usrRole == ApiUserRole.CentralWeb\r\n } \r\n \r\n public canOrder(state: IAuthState) {\r\n return (state?.user?.currentSejour?.id ?? 0) > 0\r\n } \r\n public canAccess(state: IAuthState) {\r\n return (roles:Array) => {\r\n return state.user.usrRole == ApiUserRole.CentralWeb \r\n || roles.some(r => \r\n (r != \"CentralWeb\" && state.user.usrRole == ApiUserRole.Admin) \r\n ||( r == \"RoomService\" && state.user.usrRole == ApiUserRole.RoomService) \r\n || (r == \"Reception\" && state.user.usrRole == ApiUserRole.Reception)\r\n || (r == \"Visiteur\" && state.user.usrRole == ApiUserRole.Visiteur)\r\n || (r == \"Client\" && state.user.usrRole == ApiUserRole.Client)\r\n )\r\n } \r\n }\r\n\r\n\r\n}\r\n\r\nexport default util.classToObject(AuthGetter)\r\n","import types from './all-mutation-types'\r\nimport Vue from 'vue'\r\nimport axios from 'axios'\r\nimport {router} from '@/main'\r\nimport { MutationTree } from 'vuex/types'\r\nimport { IAuthState } from './state'\r\nimport {resetState, loadInitalData} from '@/store'\r\nimport { calculSecurityRights } from '@/enum/SecurityItems'\r\nimport { getDefaultAloUser } from '@/models/alo/AloUser'\r\n\r\nconst mutations: MutationTree = {\r\n [types.AUTH_REQUEST]: state => {\r\n state.authStatus = 'AuthenticationProgress'\r\n },\r\n [types.AUTH_SUCCESS]: state => {\r\n //on s'assure que le state est résété pour le nouvel utilisateur connecté \r\n resetState() \r\n loadInitalData()\r\n state.authStatus = 'AuthenticationSuccess' \r\n },\r\n [types.AUTH_ERROR]: (state, message) => {\r\n state.authStatus = message || 'AuthenticationError'\r\n },\r\n [types.AUTH_LOGOUT_REQUEST]: state => { \r\n //state.authStatus = 'LogoutProgress' \r\n },\r\n [types.AUTH_LOGOUT_SUCCESS]: state => { \r\n //state.authStatus = 'LogoutSuccess'\r\n resetState() \r\n loadInitalData() \r\n if(router.currentRoute.name != null && router.currentRoute.name != \"Login\" && router.currentRoute.name != \"Home\" && router.currentRoute.name != \"CreatePassword\") router.push({name:\"Home\"}) \r\n }, \r\n [types.AUTH_LOGOUT_ERROR]: state => { \r\n //state.authStatus = 'LogoutError' \r\n },\r\n [types.AUTH_USER_REQUEST]: state => {\r\n state.userStatus = 'loading'\r\n },\r\n [types.AUTH_USER_SUCCESS]: (state, user) => {\r\n state.userStatus = 'success' \r\n state.user = {...getDefaultAloUser(),...user} \r\n state.userSecurity = calculSecurityRights() \r\n },\r\n [types.AUTH_USER_ERROR]: state => {\r\n state.userStatus = 'error'\r\n },\r\n [types.AUTH_PASSWORD_REQUEST]: state => {\r\n state.authStatus = 'PassForgottenProgress'\r\n },\r\n [types.AUTH_PASSWORD_SUCCESS]: state => { \r\n state.authStatus = 'PassForgottenSuccess'\r\n },\r\n [types.AUTH_PASSWORD_ERROR]: (state, message) => {\r\n state.authStatus = message || 'PassForgottenError'\r\n },\r\n [types.AUTH_CHANGE_PASSWORD_REQUEST]: state => {\r\n state.authStatus = 'ChangePasswordProgress'\r\n },\r\n [types.AUTH_CHANGE_PASSWORD_SUCCESS]: state => { \r\n state.authStatus = 'ChangePasswordSuccess'\r\n },\r\n [types.AUTH_CHANGE_PASSWORD_ERROR]: (state, message) => {\r\n state.authStatus = message || 'ChangePasswordError'\r\n },\r\n [types.AUTH_CREATE_PASSWORD_REQUEST]: state => {\r\n state.authStatus = 'CreatePasswordProgress'\r\n },\r\n [types.AUTH_CREATE_PASSWORD_SUCCESS]: state => { \r\n state.authStatus = 'CreatePasswordSuccess'\r\n },\r\n [types.AUTH_CREATE_PASSWORD_ERROR]: (state, message) => {\r\n state.authStatus = message || 'CreatePasswordError'\r\n }, \r\n [types.AUTH_RESET_STATUS]: (state) => {\r\n state.authStatus = ''\r\n },\r\n [types.AUTH_SET_REDIRECT_PATH]: (state,path:string) => {\r\n state.redirectPath = path\r\n },\r\n\r\n}\r\n\r\nexport default mutations\r\n","import { AloSecurityItem } from '@/models/alo/AloSecurityItem'\r\nimport { getDefaultSecurityRights } from '@/enum/SecurityItems'\r\nimport { AloIdentity, getDefaultAloIdentity } from '@/models/alo/AloIdentity'\r\nimport { AloUser, getDefaultAloUser } from '@/models/alo/AloUser'\r\n\r\nexport interface IAuthState { \r\n authStatus: string\r\n userStatus: string\r\n user: AloUser\r\n renewTokenId: number\r\n userSecurity: { [index: string]: AloSecurityItem}\r\n redirectPath: string\r\n}\r\n\r\n//Initial State\r\nconst state: IAuthState = { \r\n authStatus: '',\r\n userStatus: '',\r\n user: getDefaultAloUser(),\r\n renewTokenId: 0,\r\n userSecurity: getDefaultSecurityRights(),\r\n redirectPath: '/'\r\n}\r\nexport default state","import actions from './actions'\r\nimport getters from './getters'\r\nimport mutations from './mutations'\r\nimport state, { IAuthState } from './state'\r\nimport { Module } from 'vuex/types'\r\nimport { IRootState } from '@/store'\r\n\r\nconst authModule: Module = {\r\n actions,\r\n getters,\r\n mutations,\r\n state\r\n}\r\nexport default authModule\r\n","import apiHelpers from '@/utils/api'\r\nimport { AlrContainer } from '@/models/response/AlrContainer'\r\nimport { AxiosPromise } from 'axios'\r\nimport { AloPlat } from '@/models/alo/AloPlat'\r\nimport { ApiResultCode } from '@/enum/ApiResultCode'\r\nimport { CarteDatas } from '@/models/alo/CarteDatas'\r\n\r\n\r\n\r\n\r\nexport default {\r\n getAllDatas(): AxiosPromise> { \r\n return apiHelpers.apiCall({ \r\n url: `/webapi/RoomService/carte`, \r\n method: 'GET',\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n })\r\n },\r\n getCrenaux(): AxiosPromise>>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/RoomService/crenaux`, \r\n method: 'GET',\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer>\r\n }]\r\n })\r\n }\r\n}\r\n\r\n\r\n\r\nimport { accompagnements } from './mock/accompagnements'\r\nimport { allergenes } from './mock/allergenes'\r\nimport { bios } from './mock/bios'\r\nimport { plats } from './mock/plats'\r\nimport { arbos, rootArboIds } from './mock/arbos'\r\nimport { sections } from './mock/sections'\r\nimport { icons } from './mock/icons'\r\nimport { Crenau } from '@/models/alo/Crenau'\r\n\r\n/*\r\napiHelpers.addMocks({\r\n '/webapi/RoomService/carte': {\r\n 'GET':() => {\r\n return {\r\n resultCode:ApiResultCode.Ok,\r\n datStr:new Date().toISOString(),\r\n data: { \r\n accompagnements:accompagnements,\r\n allergenes:allergenes, \r\n plats:plats,\r\n arbos:arbos,\r\n rootArbosIds:rootArboIds,\r\n sections:sections,\r\n icons:icons,\r\n configuration:{\r\n langs:[\"fr\",\"en\"]\r\n }\r\n },\r\n dataTypeName: 'CarteDatas'\r\n } as AlrContainer\r\n }\r\n }\r\n})*/","import { type } from '@/utils/type'\r\n\r\n/*\r\n//////////////////////////////////////////////////////////////////\r\n// {{NAME}}\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_{{NAME}}_SUCCESS = type('ADM_{{NAME}}_SUCCESS')\r\nexport const ADM_{{NAME}}_ERROR = type('ADM_{{NAME}}_ERROR')\r\n\r\nexport const ADM_{{NAME}}_DETAIL_SUCCESS = type('ADM_{{NAME}}_DETAIL_SUCCESS')\r\nexport const ADM_{{NAME}}_DETAIL_ERROR = type('ADM_{{NAME}}_DETAIL_ERROR')\r\n\r\nexport const ADM_{{NAME}}_SAVE_SUCCESS = type('ADM_{{NAME}}_SAVE_SUCCESS')\r\nexport const ADM_{{NAME}}_SAVE_ERROR = type('ADM_{{NAME}}_SAVE_ERROR')\r\n*/\r\nexport const ROOM_SERVICES_DATAS_SUCCESS = type('ROOM_SERVICES_DATAS_SUCCESS')\r\nexport const ROOM_SERVICES_DATAS_ERROR = type('ROOM_SERVICES_DATAS_ERROR')\r\n\r\nexport const ROOM_SERVICES_CRENAUX_SUCCESS = type('ROOM_SERVICES_CRENAUX_SUCCESS')\r\nexport const ROOM_SERVICES_CRENAUX_ERROR = type('ROOM_SERVICES_CRENAUX_ERROR')","import * as ationTypes from './mutation-types'\r\nimport * as mutationTypes from './action-types'\r\n\r\nexport default { \r\n ...ationTypes,\r\n ...mutationTypes\r\n}","import { ActionContext } from 'vuex'\r\nimport Vue from 'vue'\r\nimport apiRoomService from '@/api/roomservice'\r\nimport util from '@/utils/classToObject'\r\nimport actionsTypes from '@/store/all-action-types'\r\nimport types from './all-mutation-types'\r\nimport { IRootState, emptyAction, actionEnsure, payloadAction } from '@/store'\r\nimport { IRoomserviceState } from './state'\r\nimport { buildStateItem } from '@/models/alo/StateItem'\r\nimport { IItemPanier, ItemPanier } from '@/models/alo/ItemPanier'\r\nimport {formatCurrency} from '@/filters/currency'\r\nimport {i18n} from '@/locale/vueI18n'\r\n\r\nexport class RoomServiceAction {\r\n \r\n public [types.ROOM_SERVICES_DATAS_REQUEST](context: ActionContext) {\r\n return emptyAction(context,types.ROOM_SERVICES_DATAS_REQUEST,types.ROOM_SERVICES_DATAS_SUCCESS,types.ROOM_SERVICES_DATAS_ERROR,apiRoomService.getAllDatas) \r\n } \r\n\r\n public [types.ROOM_SERVICES_DATAS_ENSURE](context: ActionContext) {\r\n if(context.state.sectionsList.length == 0){\r\n return context.dispatch(types.ROOM_SERVICES_DATAS_REQUEST)\r\n }\r\n return new Promise((resolve, reject) => {\r\n resolve()\r\n }) \r\n }\r\n\r\n public [types.ROOM_SERVICES_CRENAUX_REQUEST](context: ActionContext) {\r\n return emptyAction(context,types.ROOM_SERVICES_CRENAUX_REQUEST,types.ROOM_SERVICES_CRENAUX_SUCCESS,types.ROOM_SERVICES_CRENAUX_ERROR,apiRoomService.getCrenaux)\r\n } \r\n\r\n public [types.ROOM_SERVICES_PLAT_SET_SELECTION](context: ActionContext,{selected,ids}:{selected:boolean,ids:Array}) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ROOM_SERVICES_PLAT_SET_SELECTION,{selected,ids})\r\n resolve()\r\n })\r\n }\r\n\r\n public [types.ROOM_SERVICES_ARBO_SET_SELECTION](context: ActionContext,{selected,ids}:{selected:boolean,ids:Array}) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ROOM_SERVICES_ARBO_SET_SELECTION,{selected,ids})\r\n resolve()\r\n })\r\n } \r\n\r\n public [types.ROOM_SERVICES_ADD_PANIER](context: ActionContext,item:ItemPanier) {\r\n return new Promise((resolve, reject) => {\r\n if(item.qty > 0){\r\n context.commit(types.ROOM_SERVICES_ADD_PANIER,item)\r\n //@ts-ignore \r\n context.dispatch(actionsTypes.UI_ADD_SNACK_MESSAGE,i18n.tc('Dish.SnackAddCart',item.qty,{plat:Vue.$gt(item.plat).libelle,prix:formatCurrency(item.prixTotalAvecOptions)})) \r\n }\r\n resolve()\r\n })\r\n }\r\n \r\n public [types.ROOM_SERVICES_UPD_ITEM_COMMENTAIRE](context: ActionContext,{uuid,commentaire}:{uuid:string,commentaire:string}) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ROOM_SERVICES_UPD_ITEM_COMMENTAIRE,{uuid,commentaire})\r\n resolve()\r\n })\r\n }\r\n\r\n public [types.ROOM_SERVICES_UPD_ITEM_QTY](context: ActionContext,{uuid,qty}:{uuid:string,qty:number}) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ROOM_SERVICES_UPD_ITEM_QTY,{uuid,qty})\r\n resolve()\r\n })\r\n }\r\n\r\n public [types.ROOM_SERVICES_UPD_COMMENTAIRE](context: ActionContext,commentaire:string) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ROOM_SERVICES_UPD_COMMENTAIRE,commentaire)\r\n resolve()\r\n })\r\n }\r\n\r\n \r\n\r\n public [types.ROOM_SERVICES_UPD_HEURE_LIVRAISON](context: ActionContext,horaire:string) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ROOM_SERVICES_UPD_HEURE_LIVRAISON,horaire)\r\n resolve()\r\n })\r\n }\r\n \r\n public [types.ROOM_SERVICES_UPD_CONTACT](context: ActionContext,contact:Array) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ROOM_SERVICES_UPD_CONTACT,contact)\r\n resolve()\r\n })\r\n }\r\n \r\n public [types.ROOM_SERVICES_UPD_NB_COUVERTS](context: ActionContext,nb:number) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ROOM_SERVICES_UPD_NB_COUVERTS,nb)\r\n resolve()\r\n })\r\n }\r\n\r\n public [types.ROOM_SERVICES_UPD_CART_ITEM](context: ActionContext,item:ItemPanier) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ROOM_SERVICES_UPD_CART_ITEM,item)\r\n resolve()\r\n })\r\n }\r\n\r\n public [types.ROOM_SERVICES_CLEAR_PANIER](context: ActionContext) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ROOM_SERVICES_CLEAR_PANIER)\r\n resolve()\r\n })\r\n }\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n}\r\n\r\nexport default util.classToObject(RoomServiceAction)\r\n","// Interface\r\n\r\nimport util from '@/utils/classToObject'\r\nimport { IRoomserviceState } from './state'\r\n\r\nexport class RoomServiceGetter {\r\n\r\n public datasStatus(state: IRoomserviceState) {\r\n return state.datasStatus\r\n }\r\n\r\n public arbosDic(state: IRoomserviceState) {\r\n return state.arbosDic\r\n }\r\n\r\n public allergenesDic(state: IRoomserviceState) {\r\n return state.allergenesDic\r\n }\r\n\r\n public biosDic(state: IRoomserviceState) {\r\n return state.biosDic\r\n }\r\n\r\n public accompagnementsDic(state: IRoomserviceState) {\r\n return state.accompagnementsDic\r\n }\r\n\r\n public platsDic(state: IRoomserviceState) {\r\n return state.platsDic\r\n }\r\n\r\n public iconsDic(state: IRoomserviceState) {\r\n return state.iconsDic\r\n }\r\n\r\n public arbosList(state: IRoomserviceState) {\r\n return state.arbosList.map(id => state.arbosDic[id])\r\n }\r\n\r\n public sectionsList(state: IRoomserviceState) {\r\n return state.sectionsList.map(id => state.sectionsDic[id])\r\n }\r\n\r\n public configuration(state: IRoomserviceState) {\r\n return state.configuration\r\n }\r\n\r\n public panier(state: IRoomserviceState) {\r\n return state.panier\r\n }\r\n\r\n public crenaux(state: IRoomserviceState) {\r\n return state.crenaux\r\n }\r\n}\r\n\r\nexport default util.classToObject(RoomServiceGetter)","import { AloAccompagnementLg } from \"./AloAccompagnementLg\"\r\nimport { AloBase, getDefaultAloBase } from \"./AloBase\"\r\n\r\n\r\nexport interface AloAccompagnement extends AloBase { \r\n lgs:Array\r\n}\r\n\r\nexport const getDefaultAloAccompagnement = ():AloAccompagnement => {\r\n return {\r\n ...getDefaultAloBase(),\r\n lgs:[]\r\n }\r\n}","import { AloBaseLg, getDefaultAloBaseLg } from \"./AloBaseLg\"\r\n\r\n\r\nexport interface AloAllergeneLg extends AloBaseLg { \r\n}\r\n\r\nexport const getDefaultAloAllergeneLg = ():AloAllergeneLg => {\r\n return {\r\n ...getDefaultAloBaseLg(\"en\")\r\n }\r\n}","import { AloAllergeneLg, getDefaultAloAllergeneLg } from \"./AloAllergeneLg\"\r\nimport { AloBase, getDefaultAloBase } from \"./AloBase\"\r\n\r\n\r\nexport interface AloAllergene extends AloBase { \r\n lgs:Array\r\n}\r\n\r\nexport const getDefaultAloAllergene = ():AloAllergene => {\r\n return {\r\n ...getDefaultAloBase(),\r\n lgs:[getDefaultAloAllergeneLg()]\r\n }\r\n}","import { AloBaseLg, getDefaultAloBaseLg } from \"./AloBaseLg\"\r\n\r\n\r\nexport interface AloBioLg extends AloBaseLg { \r\n}\r\n\r\nexport const getDefaultAloBioLg = ():AloBioLg => {\r\n return {\r\n ...getDefaultAloBaseLg(\"en\")\r\n }\r\n}","import { AloBioLg, getDefaultAloBioLg } from \"./AloBioLg\"\r\nimport { AloBase, getDefaultAloBase } from \"./AloBase\"\r\n\r\n\r\nexport interface AloBio extends AloBase { \r\n image?:string, \r\n lgs:Array\r\n}\r\n\r\nexport const getDefaultAloBio = ():AloBio => {\r\n return {\r\n ...getDefaultAloBase(),\r\n lgs:[getDefaultAloBioLg()]\r\n }\r\n}","import { AloBase, getDefaultAloBase } from \"./AloBase\"\r\n\r\n\r\nexport interface AloSection extends AloBase { \r\n image:string,\r\n url:string, \r\n sectionId:number,\r\n pageId:number\r\n}\r\n\r\nexport const getDefaultAloSection = ():AloSection => {\r\n return {\r\n ...getDefaultAloBase(),\r\n image:'',\r\n url:'',\r\n sectionId:-1,\r\n pageId:-1\r\n }\r\n}","import { AloBaseLg, getDefaultAloBaseLg } from \"./AloBaseLg\"\r\n\r\n\r\nexport interface AloIconLg extends AloBaseLg { \r\n}\r\n\r\nexport const getDefaultAloIconLg = ():AloIconLg => {\r\n return {\r\n ...getDefaultAloBaseLg(\"en\")\r\n }\r\n}","import { AloBase, getDefaultAloBase } from \"./AloBase\"\r\nimport { AloIconLg, getDefaultAloIconLg } from \"./AloIconLg\"\r\n\r\n\r\nexport interface AloIcon extends AloBase { \r\n icon:string,\r\n selectedIcon:string \r\n lgs:Array\r\n}\r\n\r\nexport const getDefaultAloIcon = ():AloIcon => {\r\n return {\r\n ...getDefaultAloBase(),\r\n icon:'',\r\n selectedIcon:'',\r\n lgs:[getDefaultAloIconLg()]\r\n }\r\n}","import types from './all-mutation-types'\r\nimport Vue from 'vue'\r\nimport { MutationTree } from 'vuex/types'\r\nimport { IRoomserviceState } from './state'\r\nimport { toNumberDictionary, toStringDictionary } from '@/utils/groupBy'\r\nimport { buildStateItem } from '@/models/alo/StateItem'\r\nimport { CarteDatas } from '@/models/alo/CarteDatas'\r\nimport { getDefaultAloAccompagnement } from '@/models/alo/AloAccompagnement'\r\nimport { getDefaultAloAllergene } from '@/models/alo/AloAllergene'\r\nimport { getDefaultAloBio } from '@/models/alo/AloBio'\r\nimport { AloArbo, getDefaultAloArbo } from '@/models/alo/AloArbo'\r\nimport { AloPlat, getDefaultAloPlat } from '@/models/alo/AloPlat'\r\nimport { getDefaultAloSection } from '@/models/alo/AloSection'\r\nimport { IItemPanier, ItemPanier } from '@/models/alo/ItemPanier'\r\nimport { getDefaultAloIcon } from '@/models/alo/AloIcon'\r\nimport { Crenau } from '@/models/alo/Crenau'\r\nimport { AloPanier } from '@/models/alo/AloPanier'\r\n\r\n\r\n\r\n\r\nconst mutations: MutationTree = {\r\n \r\n [types.ROOM_SERVICES_DATAS_REQUEST]: state => { \r\n state.datasStatus = 'Chargement des données du room service'\r\n },\r\n [types.ROOM_SERVICES_DATAS_SUCCESS]: (state, datas:CarteDatas) => { \r\n state.configuration = {...state.configuration, ...datas.configuration}\r\n state.iconsDic = {...state.iconsDic, ...toNumberDictionary(datas.icons,i => i.id,getDefaultAloIcon)} \r\n state.allergenesDic = {...state.allergenesDic, ...toNumberDictionary(datas.allergenes,a => a.id,getDefaultAloAllergene)}\r\n state.biosDic = {...state.biosDic, ...toNumberDictionary(datas.bios,a => a.id,getDefaultAloBio)}\r\n state.accompagnementsDic = {...state.accompagnementsDic, ...toNumberDictionary(datas.accompagnements,a => a.id,getDefaultAloAccompagnement)} \r\n state.platsDic = {...state.platsDic, ...toNumberDictionary(datas.plats,p => p.id,getDefaultAloPlat)} \r\n state.arbosDic = {...state.arbosDic, ...toNumberDictionary(datas.arbos,a => a.id,getDefaultAloArbo)} \r\n state.arbosList = datas.rootArbosIds\r\n state.sectionsDic = {...state.sectionsDic, ...toNumberDictionary(datas.sections,a => a.id,getDefaultAloSection)}\r\n state.sectionsList = datas.sections.map(s => s.id)\r\n \r\n state.datasStatus = 'Chargement des données du room service terminé'\r\n },\r\n [types.ROOM_SERVICES_DATAS_ERROR]: state => { \r\n state.datasStatus = 'Erreur lors du chargement des données du room service'\r\n },\r\n [types.ROOM_SERVICES_CRENAUX_REQUEST]: state => { \r\n state.datasStatus = 'Chargement des crenaux du room service'\r\n },\r\n [types.ROOM_SERVICES_CRENAUX_SUCCESS]: (state, datas:Array) => { \r\n state.crenaux = datas \r\n state.datasStatus = 'Chargement des crenaux du room service terminé'\r\n },\r\n [types.ROOM_SERVICES_CRENAUX_ERROR]: state => { \r\n state.datasStatus = 'Erreur lors du chargement des crenaux du room service'\r\n },\r\n [types.ROOM_SERVICES_PLAT_SET_SELECTION]: (state,{selected,ids}:{selected:boolean,ids:Array}) => { \r\n if(ids.length > 1) {\r\n //on reconstruit comme ca et non en foreach car plus performant sur la reactivité\r\n state.platsDic = {\r\n ...state.platsDic,\r\n ...ids.reduce((dic,id)=> {\r\n dic[id] = {...state.platsDic[id],selected}\r\n return dic\r\n },{} as {[id:number]:AloPlat\r\n }) \r\n } \r\n }\r\n else if(ids.length == 1) {\r\n const plat = state.platsDic[ids[0]]\r\n if(selected && plat.template == 'plat-section') {\r\n if(state.lastSectionId != -1) state.platsDic[state.lastSectionId].selected = false\r\n state.lastSectionId = plat.id\r\n }\r\n plat.selected = selected\r\n }\r\n },\r\n [types.ROOM_SERVICES_ARBO_SET_SELECTION]: (state,{selected,ids}:{selected:boolean,ids:Array}) => { \r\n if(ids.length > 1) {\r\n //on reconstruit comme ca et non en foreach car plus performant sur la reactivité\r\n state.arbosDic = {\r\n ...state.arbosDic,\r\n ...ids.reduce((dic,id)=> {\r\n dic[id] = {...state.arbosDic[id],selected}\r\n return dic\r\n },{} as {[id:number]:AloArbo\r\n }) \r\n } \r\n }\r\n else if(ids.length == 1) {\r\n state.arbosDic[ids[0]].selected = selected\r\n }\r\n }, \r\n [types.ROOM_SERVICES_ADD_PANIER]: (state,item:ItemPanier) => { \r\n //recherche dans le panier si un plat avec la meme config a déjà été ajouté \r\n const itemPanier = state.panier.items.find(it => it.hasSameConfig(item))\r\n if(itemPanier) itemPanier.qty++;\r\n else {\r\n state.panier.items.push(item) \r\n state.panier.updateTime(state.arbosDic)\r\n }\r\n localStorage.setItem('tbrs_panier',JSON.stringify(state.panier)) \r\n },\r\n [types.ROOM_SERVICES_UPD_ITEM_COMMENTAIRE]: (state,{uuid,commentaire}:{uuid:string,commentaire:string}) => { \r\n state.panier.items.find(it => it.uuid == uuid)!.commentaire = commentaire \r\n localStorage.setItem('tbrs_panier',JSON.stringify(state.panier))\r\n },\r\n [types.ROOM_SERVICES_UPD_ITEM_QTY]: (state,{uuid,qty}:{uuid:string,qty:number}) => { \r\n if (qty>0) \r\n state.panier.items.find(it => it.uuid == uuid)!.qty = qty\r\n else {\r\n state.panier.items.splice( state.panier.items.findIndex(it => it.uuid == uuid),1)\r\n state.panier.updateTime(state.arbosDic)\r\n }\r\n localStorage.setItem('tbrs_panier',JSON.stringify(state.panier))\r\n },\r\n [types.ROOM_SERVICES_UPD_HEURE_LIVRAISON]: (state,horaire:string) => { \r\n state.panier.heureLivraison = horaire \r\n localStorage.setItem('tbrs_panier',JSON.stringify(state.panier)) \r\n },\r\n [types.ROOM_SERVICES_UPD_COMMENTAIRE]: (state,comment:string) => { \r\n state.panier.commentaire = comment \r\n localStorage.setItem('tbrs_panier',JSON.stringify(state.panier)) \r\n }, \r\n [types.ROOM_SERVICES_UPD_NB_COUVERTS]: (state,nb:number) => { \r\n state.panier.nbCouverts = nb \r\n localStorage.setItem('tbrs_panier',JSON.stringify(state.panier))\r\n },\r\n \r\n [types.ROOM_SERVICES_UPD_CONTACT]: (state,contacts:Array) => { \r\n state.panier.contacts = contacts \r\n if(contacts.length > 0) state.panier.allContacts = false\r\n localStorage.setItem('tbrs_panier',JSON.stringify(state.panier))\r\n },\r\n \r\n [types.ROOM_SERVICES_UPD_CART_ITEM]: (state,item:ItemPanier) => { \r\n const index = state.panier.items.findIndex(it => it.uuid == item.uuid)\r\n if(index > -1) state.panier.items.splice(index,1,item)\r\n localStorage.setItem('tbrs_panier',JSON.stringify(state.panier))\r\n },\r\n [types.ROOM_SERVICES_CLEAR_PANIER]: (state,item:ItemPanier) => { \r\n state.panier = new AloPanier()\r\n localStorage.setItem('tbrs_panier',JSON.stringify(state.panier))\r\n }, \r\n}\r\n\r\nexport default mutations","\r\nexport interface Configuration {\r\n langs:Array \r\n editorDefaultConfig:any \r\n email:{\r\n sendinblueApiKey: string\r\n senderEmail: string\r\n senderName: string\r\n testMode: boolean\r\n testEmail: string\r\n bccEmails: string\r\n } \r\n \r\n}\r\n\r\n\r\nexport const getDefaultConfiguration = () => {\r\n return { \r\n langs:[\"fr\",\"en\"], \r\n //https://ckeditor.com/latest/samples/toolbarconfigurator/index.html#basic\r\n editorDefaultConfig : {\r\n language: 'fr',\r\n toolbarGroups : [\r\n { name: 'document', groups: [ 'mode', 'document', 'doctools' ] },\r\n { name: 'clipboard', groups: [ 'clipboard', 'undo' ] },\r\n { name: 'editing', groups: [ 'find', 'selection', 'spellchecker', 'editing' ] },\r\n { name: 'forms', groups: [ 'forms' ] },\r\n { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] },\r\n { name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi', 'paragraph' ] },\r\n { name: 'links', groups: [ 'links' ] },\r\n { name: 'insert', groups: [ 'insert' ] },\r\n { name: 'styles', groups: [ 'styles' ] },\r\n { name: 'colors', groups: [ 'colors' ] },\r\n { name: 'tools', groups: [ 'tools' ] },\r\n { name: 'others', groups: [ 'others' ] },\r\n { name: 'about', groups: [ 'about' ] }\r\n ],\r\n removeButtons:'Save,NewPage,Preview,Print,Templates,Find,Replace,SelectAll,Scayt,Form,Checkbox,Radio,TextField,Textarea,Select,Button,ImageButton,HiddenField,Strike,Subscript,Superscript,Underline,RemoveFormat,CopyFormatting,Outdent,Indent,Blockquote,CreateDiv,BidiLtr,BidiRtl,Language,Anchor,Image,Flash,HorizontalRule,Smiley,Iframe,PageBreak,Font,ShowBlocks,About'\r\n },\r\n email:{\r\n sendinblueApiKey: \"\",\r\n senderEmail: \"noreply@centralweb.fr\",\r\n senderName: \"Central Web\",\r\n testMode: true,\r\n testEmail: \"slarrasoain@centralweb.fr\",\r\n bccEmails: \"slarrasoain@centralweb.fr\"\r\n }\r\n } as Configuration\r\n}","import { AloAccompagnement } from '@/models/alo/AloAccompagnement';\r\nimport { AloAllergene } from '@/models/alo/AloAllergene';\r\nimport { AloBio } from '@/models/alo/AloBio';\r\nimport { AloArbo } from '@/models/alo/AloArbo';\r\nimport { AloIcon } from '@/models/alo/AloIcon';\r\nimport { AloPanier} from '@/models/alo/AloPanier';\r\nimport { AloPlat } from '@/models/alo/AloPlat';\r\nimport { AloSection } from '@/models/alo/AloSection';\r\nimport { Configuration, getDefaultConfiguration } from '@/models/alo/Configuration';\r\nimport { Crenau } from '@/models/alo/Crenau';\r\nimport { StateItem, buildStateItem } from '@/models/alo/StateItem';\r\n\r\nexport interface IRoomserviceState { \r\n datasStatus:string\r\n sectionsDic: {[id:number]:AloSection}\r\n sectionsList : Array\r\n arbosDic: {[id:number]:AloArbo}\r\n arbosList: Array \r\n allergenesDic: {[id:number]:AloAllergene}\r\n biosDic: {[id:number]:AloBio}\r\n accompagnementsDic: {[id:number]:AloAccompagnement}\r\n platsDic: {[id:number]:AloPlat}\r\n iconsDic: {[id:number]:AloIcon}\r\n configuration:Configuration\r\n panier:AloPanier \r\n crenaux:Array\r\n lastSectionId:number\r\n}\r\n\r\nvar pan = localStorage.getItem('tbrs_panier') \r\n\r\n//Initial State\r\nconst state: IRoomserviceState = { \r\n \r\n datasStatus:'',\r\n sectionsDic: {} as {[id:number]:AloSection},\r\n sectionsList:[],\r\n arbosDic: {} as {[id:number]:AloArbo},\r\n arbosList:[],\r\n allergenesDic: {} as {[id:number]:AloAllergene},\r\n biosDic: {} as {[id:number]:AloBio},\r\n accompagnementsDic: {} as {[id:number]:AloAccompagnement},\r\n platsDic: {} as {[id:number]:AloPlat},\r\n iconsDic: {} as {[id:number]:AloIcon},\r\n configuration: getDefaultConfiguration(),\r\n panier: pan?new AloPanier(JSON.parse(pan)):new AloPanier(),\r\n crenaux:[], \r\n lastSectionId:-1\r\n \r\n}\r\nexport default state","import actions from './actions'\r\nimport getters from './getters'\r\nimport mutations from './mutations'\r\nimport state, { IRoomserviceState } from './state'\r\nimport { Module } from 'vuex/types'\r\nimport { IRootState } from '@/store'\r\n\r\nconst administrationModule: Module = {\r\n actions,\r\n getters,\r\n mutations,\r\n state\r\n}\r\nexport default administrationModule\r\n","import apiHelpers from '@/utils/api'\r\nimport { AlrContainer } from '@/models/response/AlrContainer'\r\nimport { AxiosPromise } from 'axios'\r\nimport { AloUser,cleanAloUser } from '@/models/alo/AloUser'\r\nimport { AlsUser, cleanAlsUser } from '@/models/als/AlsUser'\r\n\r\nexport default {\r\n getAllUser(): AxiosPromise>> { \r\n return apiHelpers.apiCall({ \r\n url: `/webapi/User`, \r\n method: 'GET',\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer>\r\n }]\r\n })\r\n },\r\n getUser(id:number):AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/User/${id}`, \r\n method: 'GET',\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n })\r\n },\r\n saveUser(user:AloUser):AxiosPromise> {\r\n cleanAloUser(user)\r\n if(user.id) {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/User/${user.id}`, \r\n method: 'PUT',\r\n data: user,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n }) \r\n }\r\n else{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/User`, \r\n method: 'POST',\r\n data: user,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n }) \r\n }\r\n },\r\n deleteUser(id:number):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/User/${id}`, \r\n method: 'DELETE',\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n })\r\n },\r\n getFilterUser(usrFilter : AlsUser): AxiosPromise>> { \r\n cleanAlsUser(usrFilter)\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/User/filter`, \r\n data:usrFilter,\r\n method: 'POST',\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer>\r\n }]\r\n })\r\n },\r\n}","\r\nimport apiHelpers from '@/utils/api'\r\nimport { AlrContainer } from '@/models/response/AlrContainer'\r\nimport { AxiosPromise } from 'axios'\r\nimport { AloCommande,cleanAloCommande } from '@/models/alo/AloCommande'\r\nimport { ApiResultCode } from '@/enum/ApiResultCode'\r\nimport { AloPanier } from '@/models/alo/AloPanier'\r\nimport { AlsCommande } from '@/models/als/AlsCommande'\r\n\r\nfunction parseCommandeData(data:string) {\r\n const resp = JSON.parse(data) as AlrContainer \r\n if(resp.resultCode == ApiResultCode.Ok){\r\n const cmd = resp.data as AloCommande \r\n cmd.panier = cmd.panJson?new AloPanier(JSON.parse(cmd.panJson)):new AloPanier()\r\n } \r\n return resp\r\n}\r\n\r\nfunction parseCommandesData(data:string) {\r\n const resp = JSON.parse(data) as AlrContainer> \r\n if(resp.resultCode == ApiResultCode.Ok) {\r\n const cmds = resp.data as Array \r\n cmds.forEach(cmd => cmd.panier = cmd.panJson?new AloPanier(JSON.parse(cmd.panJson)):new AloPanier()) \r\n } \r\n return resp\r\n}\r\n\r\nexport default {\r\n getAllCommande(): AxiosPromise>> { \r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Panier`, \r\n method: 'GET',\r\n transformResponse: [parseCommandesData]\r\n })\r\n }, \r\n getFilterCommande(cmdFilter: AlsCommande): AxiosPromise>> { \r\n if(cmdFilter.histo){\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Panier/history`, \r\n method: 'GET',\r\n transformResponse: [parseCommandesData]\r\n })\r\n }\r\n else return apiHelpers.apiCall({ \r\n url: `/webapi/Panier/filter`, \r\n data:cmdFilter,\r\n method: 'POST',\r\n transformResponse: [parseCommandesData]\r\n })\r\n },\r\n getCommande(id:number):AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Panier/${id}`, \r\n method: 'GET',\r\n transformResponse: [parseCommandeData]\r\n })\r\n },\r\n saveCommande(commande:AloCommande):AxiosPromise> {\r\n cleanAloCommande(commande)\r\n if(commande.id) {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Panier/${commande.id}`, \r\n method: 'PUT',\r\n data: commande,\r\n transformResponse: [parseCommandeData]\r\n }) \r\n }\r\n else{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Panier`, \r\n method: 'POST',\r\n data: commande,\r\n transformResponse: [parseCommandeData]\r\n }) \r\n }\r\n },\r\n deleteCommande(id:number):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Panier/${id}`, \r\n method: 'DELETE',\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n })\r\n }\r\n}\r\n ","import apiHelpers from '@/utils/api'\r\nimport { AlrContainer } from '@/models/response/AlrContainer'\r\nimport { AxiosPromise } from 'axios'\r\nimport { AloMailTemplate,cleanAloMailTemplate } from '@/models/alo/AloMailTemplate'\r\n\r\nexport default {\r\n getAllMailTemplate(): AxiosPromise>> { \r\n return apiHelpers.apiCall({ \r\n url: `/webapi/MailTemplate`, \r\n method: 'GET',\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer>\r\n }]\r\n })\r\n },\r\n getMailTemplate(id:number):AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/MailTemplate/${id}`, \r\n method: 'GET',\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n })\r\n },\r\n saveMailTemplate(mailTemplate:AloMailTemplate):AxiosPromise> {\r\n cleanAloMailTemplate(mailTemplate)\r\n if(mailTemplate.id) {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/MailTemplate/${mailTemplate.id}`, \r\n method: 'PUT',\r\n data: mailTemplate,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n }) \r\n }\r\n else{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/MailTemplate`, \r\n method: 'POST',\r\n data: mailTemplate,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n }) \r\n }\r\n },\r\n deleteMailTemplate(id:number):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/MailTemplate/${id}`, \r\n method: 'DELETE',\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n })\r\n }\r\n}","import apiHelpers from '@/utils/api'\r\nimport { AlrContainer } from '@/models/response/AlrContainer'\r\nimport { AxiosPromise } from 'axios'\r\nimport { AloMailSkin,cleanAloMailSkin } from '@/models/alo/AloMailSkin'\r\n\r\nexport default {\r\n getAllMailSkin(): AxiosPromise>> { \r\n return apiHelpers.apiCall({ \r\n url: `/webapi/MailSkin`, \r\n method: 'GET',\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer>\r\n }]\r\n })\r\n },\r\n getMailSkin(id:number):AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/MailSkin/${id}`, \r\n method: 'GET',\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n })\r\n },\r\n saveMailSkin(mailSkin:AloMailSkin):AxiosPromise> {\r\n cleanAloMailSkin(mailSkin)\r\n if(mailSkin.id) {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/MailSkin/${mailSkin.id}`, \r\n method: 'PUT',\r\n data: mailSkin,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n }) \r\n }\r\n else{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/MailSkin`, \r\n method: 'POST',\r\n data: mailSkin,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n }) \r\n }\r\n },\r\n deleteMailSkin(id:number):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/MailSkin/${id}`, \r\n method: 'DELETE',\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n })\r\n }\r\n}","import { ApiUserRole } from '@/enum/ApiUserRole'\r\nimport { AloBase, getDefaultAloBase } from './AloBase'\r\nimport { AloSejour } from './AloSejour'\r\n\r\n\r\nexport interface AloPanStatus extends AloBase { \r\n pstColor:string\r\n}\r\n\r\nexport const getDefaultAloPanStatus = ():AloPanStatus => {\r\n return { \r\n id:-1,\r\n libelle:'',\r\n pstColor:'#666666'\r\n }\r\n}\r\n\r\nexport const cleanAloPanStatus = (status:AloPanStatus) => {\r\n if(!status) return \r\n if(!status.id) delete status.id\r\n}\r\n","import apiHelpers from '@/utils/api'\r\nimport { AlrContainer } from '@/models/response/AlrContainer'\r\nimport { AxiosPromise } from 'axios'\r\nimport { AloPanStatus,cleanAloPanStatus } from '@/models/alo/AloPanStatus'\r\n\r\nexport default {\r\n getAllPanStatus(): AxiosPromise>> { \r\n return apiHelpers.apiCall({ \r\n url: `/webapi/PanStatus`, \r\n method: 'GET',\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer>\r\n }]\r\n })\r\n },\r\n getPanStatus(id:number):AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/PanStatus/${id}`, \r\n method: 'GET',\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n })\r\n },\r\n savePanStatus(panStatus:AloPanStatus):AxiosPromise> {\r\n cleanAloPanStatus(panStatus)\r\n //cas particulier pour gerer que l'id 0 existe merci à celui qui a eu la bonne idée de commencer à 0!!!!\r\n if((panStatus.id && panStatus.id !=-1) || panStatus.id === 0) {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/PanStatus/${panStatus.id}`, \r\n method: 'PUT',\r\n data: panStatus,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n }) \r\n }\r\n else{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/PanStatus`, \r\n method: 'POST',\r\n data: panStatus,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n }) \r\n }\r\n },\r\n deletePanStatus(id:number):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/PanStatus/${id}`, \r\n method: 'DELETE',\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n })\r\n }\r\n}","import { type } from '@/utils/type'\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// SEJOUR\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_SEJOUR_SUCCESS = type('ADM_SEJOUR_SUCCESS')\r\nexport const ADM_SEJOUR_ERROR = type('ADM_SEJOUR_ERROR')\r\n\r\nexport const ADM_SEJOUR_DETAIL_SUCCESS = type('ADM_SEJOUR_DETAIL_SUCCESS')\r\nexport const ADM_SEJOUR_DETAIL_ERROR = type('ADM_SEJOUR_DETAIL_ERROR')\r\n\r\nexport const ADM_SEJOUR_SAVE_SUCCESS = type('ADM_SEJOUR_SAVE_SUCCESS')\r\nexport const ADM_SEJOUR_SAVE_ERROR = type('ADM_SEJOUR_SAVE_ERROR')\r\n\r\nexport const ADM_SEJOUR_DELETE_SUCCESS = type('ADM_SEJOUR_DELETE_SUCCESS')\r\nexport const ADM_SEJOUR_DELETE_ERROR = type('ADM_SEJOUR_DELETE_ERROR')\r\n\r\nexport const ADM_SEJOUR_UPDATE_LAST_QUERY_DATE = type('ADM_SEJOUR_UPDATE_LAST_QUERY_DATE')\r\n\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// USER\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_USER_SUCCESS = type('ADM_USER_SUCCESS')\r\nexport const ADM_USER_ERROR = type('ADM_USER_ERROR')\r\n\r\nexport const ADM_USER_DETAIL_SUCCESS = type('ADM_USER_DETAIL_SUCCESS')\r\nexport const ADM_USER_DETAIL_ERROR = type('ADM_USER_DETAIL_ERROR')\r\n\r\nexport const ADM_USER_SAVE_SUCCESS = type('ADM_USER_SAVE_SUCCESS')\r\nexport const ADM_USER_SAVE_ERROR = type('ADM_USER_SAVE_ERROR')\r\n\r\nexport const ADM_USER_DELETE_SUCCESS = type('ADM_USER_DELETE_SUCCESS')\r\nexport const ADM_USER_DELETE_ERROR = type('ADM_USER_DELETE_ERROR')\r\n\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// COMMANDE\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_COMMANDE_SUCCESS = type('ADM_COMMANDE_SUCCESS')\r\nexport const ADM_COMMANDE_ERROR = type('ADM_COMMANDE_ERROR')\r\n\r\nexport const ADM_COMMANDE_DETAIL_SUCCESS = type('ADM_COMMANDE_DETAIL_SUCCESS')\r\nexport const ADM_COMMANDE_DETAIL_ERROR = type('ADM_COMMANDE_DETAIL_ERROR')\r\n\r\nexport const ADM_COMMANDE_SAVE_SUCCESS = type('ADM_COMMANDE_SAVE_SUCCESS')\r\nexport const ADM_COMMANDE_SAVE_ERROR = type('ADM_COMMANDE_SAVE_ERROR')\r\n\r\nexport const ADM_COMMANDE_DELETE_SUCCESS = type('ADM_COMMANDE_DELETE_SUCCESS')\r\nexport const ADM_COMMANDE_DELETE_ERROR = type('ADM_COMMANDE_DELETE_ERROR')\r\n\r\nexport const ADM_COMMANDE_UPDATE_LAST_QUERY_DATE = type('ADM_COMMANDE_UPDATE_LAST_QUERY_DATE')\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// MAIL_TEMPLATE\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_MAIL_TEMPLATE_SUCCESS = type('ADM_MAIL_TEMPLATE_SUCCESS')\r\nexport const ADM_MAIL_TEMPLATE_ERROR = type('ADM_MAIL_TEMPLATE_ERROR')\r\n\r\nexport const ADM_MAIL_TEMPLATE_DETAIL_SUCCESS = type('ADM_MAIL_TEMPLATE_DETAIL_SUCCESS')\r\nexport const ADM_MAIL_TEMPLATE_DETAIL_ERROR = type('ADM_MAIL_TEMPLATE_DETAIL_ERROR')\r\n\r\nexport const ADM_MAIL_TEMPLATE_SAVE_SUCCESS = type('ADM_MAIL_TEMPLATE_SAVE_SUCCESS')\r\nexport const ADM_MAIL_TEMPLATE_SAVE_ERROR = type('ADM_MAIL_TEMPLATE_SAVE_ERROR')\r\n\r\nexport const ADM_MAIL_TEMPLATE_DELETE_SUCCESS = type('ADM_MAIL_TEMPLATE_DELETE_SUCCESS')\r\nexport const ADM_MAIL_TEMPLATE_DELETE_ERROR = type('ADM_MAIL_TEMPLATE_DELETE_ERROR')\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// MAIL_SKIN\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_MAIL_SKIN_SUCCESS = type('ADM_MAIL_SKIN_SUCCESS')\r\nexport const ADM_MAIL_SKIN_ERROR = type('ADM_MAIL_SKIN_ERROR')\r\n\r\nexport const ADM_MAIL_SKIN_DETAIL_SUCCESS = type('ADM_MAIL_SKIN_DETAIL_SUCCESS')\r\nexport const ADM_MAIL_SKIN_DETAIL_ERROR = type('ADM_MAIL_SKIN_DETAIL_ERROR')\r\n\r\nexport const ADM_MAIL_SKIN_SAVE_SUCCESS = type('ADM_MAIL_SKIN_SAVE_SUCCESS')\r\nexport const ADM_MAIL_SKIN_SAVE_ERROR = type('ADM_MAIL_SKIN_SAVE_ERROR')\r\n\r\nexport const ADM_MAIL_SKIN_DELETE_SUCCESS = type('ADM_MAIL_SKIN_DELETE_SUCCESS')\r\nexport const ADM_MAIL_SKIN_DELETE_ERROR = type('ADM_MAIL_SKIN_DELETE_ERROR')\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// PAN_STATUS\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_PAN_STATUS_SUCCESS = type('ADM_PAN_STATUS_SUCCESS')\r\nexport const ADM_PAN_STATUS_ERROR = type('ADM_PAN_STATUS_ERROR')\r\n\r\nexport const ADM_PAN_STATUS_DETAIL_SUCCESS = type('ADM_PAN_STATUS_DETAIL_SUCCESS')\r\nexport const ADM_PAN_STATUS_DETAIL_ERROR = type('ADM_PAN_STATUS_DETAIL_ERROR')\r\n\r\nexport const ADM_PAN_STATUS_SAVE_SUCCESS = type('ADM_PAN_STATUS_SAVE_SUCCESS')\r\nexport const ADM_PAN_STATUS_SAVE_ERROR = type('ADM_PAN_STATUS_SAVE_ERROR')\r\n\r\nexport const ADM_PAN_STATUS_DELETE_SUCCESS = type('ADM_PAN_STATUS_DELETE_SUCCESS')\r\nexport const ADM_PAN_STATUS_DELETE_ERROR = type('ADM_PAN_STATUS_DELETE_ERROR')","import * as ationTypes from './mutation-types'\r\nimport * as mutationTypes from './action-types'\r\n\r\nexport default { \r\n ...ationTypes,\r\n ...mutationTypes\r\n}","\r\nexport interface StateItem {\r\n item:T,\r\n createdAt:Date,\r\n expireAt:Date,\r\n}\r\n\r\nexport function buildStateItem(item:T,validityMin:number = 5):StateItem {\r\n const createdAt = new Date()\r\n const expireAt = new Date()\r\n expireAt.setMinutes(expireAt.getMinutes() + validityMin)\r\n return {\r\n item,\r\n createdAt, \r\n expireAt\r\n }\r\n}","import { ActionContext } from 'vuex'\r\nimport Vue from 'vue'\r\nimport apiSejour from '@/api/sejour'\r\nimport apiUser from '@/api/user'\r\nimport apiCommande from '@/api/commande'\r\nimport apiMailTemplate from '@/api/mailTemplate'\r\nimport apiMailSkin from '@/api/mailSkin'\r\nimport apiPanStatus from '@/api/panStatus'\r\nimport util from '@/utils/classToObject'\r\nimport actionsTypes from '@/store/all-action-types'\r\nimport types from './all-mutation-types'\r\nimport store, { IRootState, emptyAction, actionEnsure, payloadAction } from '@/store'\r\nimport { IAdministrationState } from './state'\r\nimport { buildStateItem } from '@/models/alo/StateItem'\r\nimport { AloSejour } from '@/models/alo/AloSejour'\r\nimport { AloCommande } from '@/models/alo/AloCommande'\r\nimport { AloUser } from '@/models/alo/AloUser'\r\nimport { AloMailSkin } from '@/models/alo/AloMailSkin'\r\nimport { AloMailTemplate } from '@/models/alo/AloMailTemplate'\r\nimport { AloPanStatus } from '@/models/alo/AloPanStatus'\r\nimport { AlsUser } from '@/models/als/AlsUser'\r\nimport { AlsSejour } from '@/models/als/AlsSejour'\r\nimport { AlsCommande } from '@/models/als/AlsCommande'\r\n\r\nexport class AdministrationAction {\r\n \r\n \r\n //////////////////////////////////////////////////////////////////\r\n // SEJOUR\r\n /////////////////////////////////////////////////////////////////\r\n\r\n public [types.ADM_SEJOUR_REQUEST](context: ActionContext,sjrFilter:AlsSejour|null) {\r\n const action = sjrFilter?\r\n payloadAction(context,types.ADM_SEJOUR_REQUEST,types.ADM_SEJOUR_SUCCESS,types.ADM_SEJOUR_ERROR,apiSejour.getFilterSejour,sjrFilter,sjrFilter.commit) \r\n :emptyAction(context,types.ADM_SEJOUR_REQUEST,types.ADM_SEJOUR_SUCCESS,types.ADM_SEJOUR_ERROR,apiSejour.getAllSejour) \r\n\r\n if(sjrFilter) action.then((sejours)=> {\r\n if(context.state.lastSejourQuery) {\r\n if(sejours.filter(s => new Date(s.sjrDatadd) > context.state.lastSejourQuery!).length > 0) {\r\n var audio = new Audio('https://soundbible.com/mp3/Air Plane Ding-SoundBible.com-496729130.mp3')\r\n Vue.nextTick(() => { audio.play() })\r\n }\r\n }\r\n context.commit(types.ADM_SEJOUR_UPDATE_LAST_QUERY_DATE) \r\n })\r\n return action\r\n }\r\n\r\n public [types.ADM_SEJOUR_ENSURE](context: ActionContext) {\r\n return actionEnsure(context,types.ADM_SEJOUR_REQUEST,context.state.sejourList) \r\n }\r\n\r\n public [types.ADM_SEJOUR_DETAIL_REQUEST](context: ActionContext,id:number) {\r\n return payloadAction(context,types.ADM_SEJOUR_DETAIL_REQUEST,types.ADM_SEJOUR_DETAIL_SUCCESS,types.ADM_SEJOUR_DETAIL_ERROR,apiSejour.getSejour,id)\r\n }\r\n\r\n public [types.ADM_SEJOUR_DETAIL_ENSURE](context: ActionContext,id:number) {\r\n //Hack car le detail n'est pas dans un stateItems\r\n const item = context.state.sejourDic[id];\r\n return actionEnsure(context,types.ADM_SEJOUR_DETAIL_REQUEST,buildStateItem(item,item?5:-5),id)\r\n }\r\n\r\n public [types.ADM_SEJOUR_SAVE_REQUEST](context: ActionContext,data: AloSejour) {\r\n return payloadAction(context,types.ADM_SEJOUR_SAVE_REQUEST,types.ADM_SEJOUR_SAVE_SUCCESS,types.ADM_SEJOUR_SAVE_ERROR,apiSejour.saveSejour,data).then((sejour)=>{\r\n if(context.getters?.user?.id == sejour.usrId) context.dispatch(actionsTypes.AUTH_USER_REQUEST)\r\n }) \r\n\r\n }\r\n\r\n public [types.ADM_SEJOUR_DELETE_REQUEST](context: ActionContext,id: number) { \r\n return payloadAction(context,types.ADM_SEJOUR_DELETE_REQUEST,types.ADM_SEJOUR_DELETE_SUCCESS,types.ADM_SEJOUR_DELETE_ERROR,apiSejour.deleteSejour,id).then((sejour)=> { \r\n if(context.getters?.user?.id == sejour.usrId) context.dispatch(actionsTypes.AUTH_USER_REQUEST)\r\n }) \r\n }\r\n\r\n public [types.ADM_SEJOUR_RESET_STATUS](context: ActionContext) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ADM_SEJOUR_RESET_STATUS)\r\n resolve()\r\n })\r\n } \r\n \r\n \r\n //////////////////////////////////////////////////////////////////\r\n // USER\r\n /////////////////////////////////////////////////////////////////\r\n\r\n public [types.ADM_USER_REQUEST](context: ActionContext,usrFilter:AlsUser|null) {\r\n return usrFilter?\r\n payloadAction(context,types.ADM_USER_REQUEST,types.ADM_USER_SUCCESS,types.ADM_USER_ERROR,apiUser.getFilterUser,usrFilter,usrFilter.commit)\r\n :emptyAction(context,types.ADM_USER_REQUEST,types.ADM_USER_SUCCESS,types.ADM_USER_ERROR,apiUser.getAllUser) \r\n }\r\n\r\n public [types.ADM_USER_ENSURE](context: ActionContext) {\r\n return actionEnsure(context,types.ADM_USER_REQUEST,context.state.userList) \r\n }\r\n\r\n public [types.ADM_USER_DETAIL_REQUEST](context: ActionContext,id:number) {\r\n return payloadAction(context,types.ADM_USER_DETAIL_REQUEST,types.ADM_USER_DETAIL_SUCCESS,types.ADM_USER_DETAIL_ERROR,apiUser.getUser,id)\r\n }\r\n\r\n public [types.ADM_USER_DETAIL_ENSURE](context: ActionContext,id:number) {\r\n //Hack car le detail n'est pas dans un stateItems\r\n const item = context.state.userDic[id];\r\n return actionEnsure(context,types.ADM_USER_DETAIL_REQUEST,buildStateItem(item,item?5:-5),id)\r\n }\r\n\r\n public [types.ADM_USER_SAVE_REQUEST](context: ActionContext,data: AloUser) {\r\n return payloadAction(context,types.ADM_USER_SAVE_REQUEST,types.ADM_USER_SAVE_SUCCESS,types.ADM_USER_SAVE_ERROR,apiUser.saveUser,data) \r\n }\r\n\r\n public [types.ADM_USER_DELETE_REQUEST](context: ActionContext,id: number) {\r\n return payloadAction(context,types.ADM_USER_DELETE_REQUEST,types.ADM_USER_DELETE_SUCCESS,types.ADM_USER_DELETE_ERROR,apiUser.deleteUser,id) \r\n }\r\n\r\n public [types.ADM_USER_RESET_STATUS](context: ActionContext) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ADM_USER_RESET_STATUS)\r\n resolve()\r\n })\r\n }\r\n\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // COMMANDE\r\n /////////////////////////////////////////////////////////////////\r\n\r\n public [types.ADM_COMMANDE_REQUEST](context: ActionContext,cmdFilter:AlsCommande) {\r\n const action = cmdFilter?\r\n payloadAction(context,types.ADM_COMMANDE_REQUEST,types.ADM_COMMANDE_SUCCESS,types.ADM_COMMANDE_ERROR,apiCommande.getFilterCommande,cmdFilter,cmdFilter.commit) \r\n :emptyAction(context,types.ADM_COMMANDE_REQUEST,types.ADM_COMMANDE_SUCCESS,types.ADM_COMMANDE_ERROR,apiCommande.getAllCommande) \r\n\r\n if(cmdFilter) action.then((commandes)=> {\r\n if(!cmdFilter.histo) {\r\n if(context.state.lastCommandeQuery) {\r\n if(commandes.filter(d => new Date(d.panDatadd) > context.state.lastCommandeQuery!).length > 0) {\r\n var audio = new Audio('https://soundbible.com/mp3/Censor%20Beep-SoundBible.com-250233510.mp3')\r\n Vue.nextTick(() => { audio.play() })\r\n }\r\n }\r\n context.commit(types.ADM_COMMANDE_UPDATE_LAST_QUERY_DATE) \r\n }\r\n })\r\n return action\r\n }\r\n\r\n public [types.ADM_COMMANDE_ENSURE](context: ActionContext) {\r\n return actionEnsure(context,types.ADM_COMMANDE_REQUEST,context.state.commandeList) \r\n }\r\n\r\n public [types.ADM_COMMANDE_DETAIL_REQUEST](context: ActionContext,id:number) {\r\n return payloadAction(context,types.ADM_COMMANDE_DETAIL_REQUEST,types.ADM_COMMANDE_DETAIL_SUCCESS,types.ADM_COMMANDE_DETAIL_ERROR,apiCommande.getCommande,id)\r\n }\r\n\r\n public [types.ADM_COMMANDE_DETAIL_ENSURE](context: ActionContext,id:number) {\r\n //Hack car le detail n'est pas dans un stateItems\r\n const item = context.state.commandeDic[id];\r\n return actionEnsure(context,types.ADM_COMMANDE_DETAIL_REQUEST,buildStateItem(item,item?5:-5),id)\r\n }\r\n\r\n public [types.ADM_COMMANDE_SAVE_REQUEST](context: ActionContext,data: AloCommande) {\r\n return payloadAction(context,types.ADM_COMMANDE_SAVE_REQUEST,types.ADM_COMMANDE_SAVE_SUCCESS,types.ADM_COMMANDE_SAVE_ERROR,apiCommande.saveCommande,data) \r\n }\r\n\r\n public [types.ADM_COMMANDE_DELETE_REQUEST](context: ActionContext,id: number) {\r\n return payloadAction(context,types.ADM_COMMANDE_DELETE_REQUEST,types.ADM_COMMANDE_DELETE_SUCCESS,types.ADM_COMMANDE_DELETE_ERROR,apiCommande.deleteCommande,id) \r\n }\r\n\r\n public [types.ADM_COMMANDE_RESET_STATUS](context: ActionContext) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ADM_COMMANDE_RESET_STATUS)\r\n resolve()\r\n })\r\n }\r\n\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // MAIL_TEMPLATE\r\n /////////////////////////////////////////////////////////////////\r\n\r\n public [types.ADM_MAIL_TEMPLATE_REQUEST](context: ActionContext) {\r\n return emptyAction(context,types.ADM_MAIL_TEMPLATE_REQUEST,types.ADM_MAIL_TEMPLATE_SUCCESS,types.ADM_MAIL_TEMPLATE_ERROR,apiMailTemplate.getAllMailTemplate) \r\n }\r\n\r\n public [types.ADM_MAIL_TEMPLATE_ENSURE](context: ActionContext) {\r\n return actionEnsure(context,types.ADM_MAIL_TEMPLATE_REQUEST,context.state.mailTemplateList) \r\n }\r\n\r\n public [types.ADM_MAIL_TEMPLATE_DETAIL_REQUEST](context: ActionContext,id:number) {\r\n return payloadAction(context,types.ADM_MAIL_TEMPLATE_DETAIL_REQUEST,types.ADM_MAIL_TEMPLATE_DETAIL_SUCCESS,types.ADM_MAIL_TEMPLATE_DETAIL_ERROR,apiMailTemplate.getMailTemplate,id)\r\n }\r\n\r\n public [types.ADM_MAIL_TEMPLATE_DETAIL_ENSURE](context: ActionContext,id:number) {\r\n //Hack car le detail n'est pas dans un stateItems\r\n const item = context.state.mailTemplateDic[id];\r\n return actionEnsure(context,types.ADM_MAIL_TEMPLATE_DETAIL_REQUEST,buildStateItem(item,item?5:-5),id)\r\n }\r\n\r\n public [types.ADM_MAIL_TEMPLATE_SAVE_REQUEST](context: ActionContext,data: AloMailTemplate) {\r\n return payloadAction(context,types.ADM_MAIL_TEMPLATE_SAVE_REQUEST,types.ADM_MAIL_TEMPLATE_SAVE_SUCCESS,types.ADM_MAIL_TEMPLATE_SAVE_ERROR,apiMailTemplate.saveMailTemplate,data) \r\n }\r\n\r\n public [types.ADM_MAIL_TEMPLATE_DELETE_REQUEST](context: ActionContext,id: number) {\r\n return payloadAction(context,types.ADM_MAIL_TEMPLATE_DELETE_REQUEST,types.ADM_MAIL_TEMPLATE_DELETE_SUCCESS,types.ADM_MAIL_TEMPLATE_DELETE_ERROR,apiMailTemplate.deleteMailTemplate,id) \r\n }\r\n\r\n public [types.ADM_MAIL_TEMPLATE_RESET_STATUS](context: ActionContext) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ADM_MAIL_TEMPLATE_RESET_STATUS)\r\n resolve()\r\n })\r\n }\r\n\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // MAIL_SKIN\r\n /////////////////////////////////////////////////////////////////\r\n\r\n public [types.ADM_MAIL_SKIN_REQUEST](context: ActionContext) {\r\n return emptyAction(context,types.ADM_MAIL_SKIN_REQUEST,types.ADM_MAIL_SKIN_SUCCESS,types.ADM_MAIL_SKIN_ERROR,apiMailSkin.getAllMailSkin) \r\n }\r\n\r\n public [types.ADM_MAIL_SKIN_ENSURE](context: ActionContext) {\r\n return actionEnsure(context,types.ADM_MAIL_SKIN_REQUEST,context.state.mailSkinList) \r\n }\r\n\r\n public [types.ADM_MAIL_SKIN_DETAIL_REQUEST](context: ActionContext,id:number) {\r\n return payloadAction(context,types.ADM_MAIL_SKIN_DETAIL_REQUEST,types.ADM_MAIL_SKIN_DETAIL_SUCCESS,types.ADM_MAIL_SKIN_DETAIL_ERROR,apiMailSkin.getMailSkin,id)\r\n }\r\n\r\n public [types.ADM_MAIL_SKIN_DETAIL_ENSURE](context: ActionContext,id:number) {\r\n //Hack car le detail n'est pas dans un stateItems\r\n const item = context.state.mailSkinDic[id];\r\n return actionEnsure(context,types.ADM_MAIL_SKIN_DETAIL_REQUEST,buildStateItem(item,item?5:-5),id)\r\n }\r\n\r\n public [types.ADM_MAIL_SKIN_SAVE_REQUEST](context: ActionContext,data: AloMailSkin) {\r\n return payloadAction(context,types.ADM_MAIL_SKIN_SAVE_REQUEST,types.ADM_MAIL_SKIN_SAVE_SUCCESS,types.ADM_MAIL_SKIN_SAVE_ERROR,apiMailSkin.saveMailSkin,data) \r\n }\r\n\r\n public [types.ADM_MAIL_SKIN_DELETE_REQUEST](context: ActionContext,id: number) {\r\n return payloadAction(context,types.ADM_MAIL_SKIN_DELETE_REQUEST,types.ADM_MAIL_SKIN_DELETE_SUCCESS,types.ADM_MAIL_SKIN_DELETE_ERROR,apiMailSkin.deleteMailSkin,id) \r\n }\r\n\r\n public [types.ADM_MAIL_SKIN_RESET_STATUS](context: ActionContext) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ADM_MAIL_SKIN_RESET_STATUS)\r\n resolve()\r\n })\r\n }\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // PAN_STATUS\r\n /////////////////////////////////////////////////////////////////\r\n\r\n public [types.ADM_PAN_STATUS_REQUEST](context: ActionContext) {\r\n return emptyAction(context,types.ADM_PAN_STATUS_REQUEST,types.ADM_PAN_STATUS_SUCCESS,types.ADM_PAN_STATUS_ERROR,apiPanStatus.getAllPanStatus) \r\n }\r\n\r\n public [types.ADM_PAN_STATUS_ENSURE](context: ActionContext) {\r\n return actionEnsure(context,types.ADM_PAN_STATUS_REQUEST,context.state.panStatusList) \r\n }\r\n\r\n public [types.ADM_PAN_STATUS_DETAIL_REQUEST](context: ActionContext,id:number) {\r\n return payloadAction(context,types.ADM_PAN_STATUS_DETAIL_REQUEST,types.ADM_PAN_STATUS_DETAIL_SUCCESS,types.ADM_PAN_STATUS_DETAIL_ERROR,apiPanStatus.getPanStatus,id)\r\n }\r\n\r\n public [types.ADM_PAN_STATUS_DETAIL_ENSURE](context: ActionContext,id:number) {\r\n //Hack car le detail n'est pas dans un stateItems\r\n const item = context.state.panStatusDic[id];\r\n return actionEnsure(context,types.ADM_PAN_STATUS_DETAIL_REQUEST,buildStateItem(item,item?5:-5),id)\r\n }\r\n\r\n public [types.ADM_PAN_STATUS_SAVE_REQUEST](context: ActionContext,data: AloPanStatus) {\r\n return payloadAction(context,types.ADM_PAN_STATUS_SAVE_REQUEST,types.ADM_PAN_STATUS_SAVE_SUCCESS,types.ADM_PAN_STATUS_SAVE_ERROR,apiPanStatus.savePanStatus,data) \r\n }\r\n\r\n public [types.ADM_PAN_STATUS_DELETE_REQUEST](context: ActionContext,id: number) {\r\n return payloadAction(context,types.ADM_PAN_STATUS_DELETE_REQUEST,types.ADM_PAN_STATUS_DELETE_SUCCESS,types.ADM_PAN_STATUS_DELETE_ERROR,apiPanStatus.deletePanStatus,id) \r\n }\r\n\r\n public [types.ADM_PAN_STATUS_RESET_STATUS](context: ActionContext) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ADM_PAN_STATUS_RESET_STATUS)\r\n resolve()\r\n })\r\n }\r\n\r\n}\r\n\r\nexport default util.classToObject(AdministrationAction)\r\n","// Interface\r\n\r\nimport util from '@/utils/classToObject'\r\nimport { IAdministrationState } from './state'\r\n\r\nexport class AdministrationGetter {\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // SEJOUR\r\n /////////////////////////////////////////////////////////////////\r\n public sejourStatus(state: IAdministrationState) {\r\n return state.sejourStatus\r\n }\r\n public sejourDic(state: IAdministrationState) {\r\n return state.sejourDic\r\n }\r\n public sejourList(state:IAdministrationState){\r\n return state.sejourList.item.map( id => state.sejourDic[id] ).sort((a,b) => a.libelle.localeCompare(b.libelle) )\r\n } \r\n\r\n //////////////////////////////////////////////////////////////////\r\n // USER\r\n /////////////////////////////////////////////////////////////////\r\n public userStatus(state: IAdministrationState) {\r\n return state.userStatus\r\n }\r\n public userDic(state: IAdministrationState) {\r\n return state.userDic\r\n }\r\n public userList(state:IAdministrationState){\r\n return state.userList.item.map( id => state.userDic[id] ).sort((a,b) => a.libelle.localeCompare(b.libelle) )\r\n } \r\n\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // COMMANDE\r\n /////////////////////////////////////////////////////////////////\r\n public commandeStatus(state: IAdministrationState) {\r\n return state.commandeStatus\r\n }\r\n public commandeDic(state: IAdministrationState) {\r\n return state.commandeDic\r\n }\r\n public commandeList(state:IAdministrationState){\r\n return state.commandeList.item.map( id => state.commandeDic[id] )\r\n } \r\n\r\n //////////////////////////////////////////////////////////////////\r\n // MAIL_TEMPLATE\r\n /////////////////////////////////////////////////////////////////\r\n public mailTemplateStatus(state: IAdministrationState) {\r\n return state.mailTemplateStatus\r\n }\r\n public mailTemplateDic(state: IAdministrationState) {\r\n return state.mailTemplateDic\r\n }\r\n public mailTemplateList(state:IAdministrationState){\r\n return state.mailTemplateList.item.map( id => state.mailTemplateDic[id] ).sort((a,b) => a.libelle.localeCompare(b.libelle) )\r\n } \r\n\r\n //////////////////////////////////////////////////////////////////\r\n // MAIL_SKIN\r\n /////////////////////////////////////////////////////////////////\r\n public mailSkinStatus(state: IAdministrationState) {\r\n return state.mailSkinStatus\r\n }\r\n public mailSkinDic(state: IAdministrationState) {\r\n return state.mailSkinDic\r\n }\r\n public mailSkinList(state:IAdministrationState){\r\n return state.mailSkinList.item.map( id => state.mailSkinDic[id] ).sort((a,b) => a.libelle.localeCompare(b.libelle) )\r\n } \r\n \r\n //////////////////////////////////////////////////////////////////\r\n // PAN_STATUS\r\n /////////////////////////////////////////////////////////////////\r\n public panStatusStatus(state: IAdministrationState) {\r\n return state.panStatusStatus\r\n }\r\n public panStatusDic(state: IAdministrationState) {\r\n return state.panStatusDic\r\n }\r\n public panStatusList(state:IAdministrationState){\r\n return state.panStatusList.item.map( id => state.panStatusDic[id] ).sort((a,b) => a.libelle.localeCompare(b.libelle) )\r\n } \r\n\r\n}\r\n\r\nexport default util.classToObject(AdministrationGetter)","import types from './all-mutation-types'\r\nimport Vue from 'vue'\r\nimport { MutationTree } from 'vuex/types'\r\nimport { IAdministrationState } from './state'\r\nimport { AloSejour, getDefaultAloSejour } from '@/models/alo/AloSejour'\r\nimport { toNumberDictionary } from '@/utils/groupBy'\r\nimport { buildStateItem } from '@/models/alo/StateItem'\r\nimport { AloUser, getDefaultAloUser } from '@/models/alo/AloUser'\r\nimport { AloCommande, getDefaultAloCommande } from '@/models/alo/AloCommande'\r\nimport { AloMailSkin, getDefaultAloMailSkin } from '@/models/alo/AloMailSkin'\r\nimport { AloMailTemplate, getDefaultAloMailTemplate } from '@/models/alo/AloMailTemplate'\r\nimport { getDefaultAloMailTemplateLg } from '@/models/alo/AloMailTemplateLg'\r\nimport { AloPanStatus, getDefaultAloPanStatus } from '@/models/alo/AloPanStatus'\r\n\r\n\r\n\r\n\r\nconst mutations: MutationTree = {\r\n \r\n //////////////////////////////////////////////////////////////////\r\n // SEJOUR\r\n /////////////////////////////////////////////////////////////////\r\n\r\n [types.ADM_SEJOUR_REQUEST]: state => { \r\n state.sejourStatus = 'Chargement des sejour'\r\n },\r\n [types.ADM_SEJOUR_SUCCESS]: (state, sejour:Array) => { \r\n state.sejourDic = {...state.sejourDic, ...toNumberDictionary(sejour,f => f.id,getDefaultAloSejour)}\r\n state.sejourList = buildStateItem(sejour.map(f => f.id))\r\n state.sejourStatus = 'Chargement des sejour terminé'\r\n },\r\n [types.ADM_SEJOUR_ERROR]: state => { \r\n state.sejourStatus = 'Erreur lors du chargement des sejour'\r\n },\r\n [types.ADM_SEJOUR_DETAIL_REQUEST]: state => { \r\n state.sejourStatus = \"Chargement du detail de sejour\"\r\n },\r\n [types.ADM_SEJOUR_DETAIL_SUCCESS]: (state, sejour:AloSejour) => { \r\n Vue.set(state.sejourDic,sejour.id,{...getDefaultAloSejour(),...sejour})\r\n state.sejourStatus = 'Chargement du detail sejour terminé'\r\n },\r\n [types.ADM_SEJOUR_DETAIL_ERROR]: state => { \r\n state.sejourStatus = 'Erreur lors du chargement du detail sejour'\r\n },\r\n [types.ADM_SEJOUR_SAVE_REQUEST]: state => { \r\n state.sejourStatus = \"Sauvegarde de sejour\"\r\n },\r\n [types.ADM_SEJOUR_SAVE_SUCCESS]: (state, sejour:AloSejour) => { \r\n Vue.set(state.sejourDic,sejour.id,{...getDefaultAloSejour(),...sejour})\r\n //si l'id n'est pas dans la liste alors on l'ajoute\r\n if(state.sejourList.item.findIndex(n => n == sejour.id) == -1) state.sejourList.item.push(sejour.id)\r\n state.sejourStatus = \"Sauvegarde de sejour terminée\"\r\n },\r\n [types.ADM_SEJOUR_SAVE_ERROR]: state => { \r\n state.sejourStatus = \"Erreur lors de la sauvegarde de sejour\"\r\n }, \r\n [types.ADM_SEJOUR_RESET_STATUS]: (state) => {\r\n state.sejourStatus = ''\r\n },\r\n [types.ADM_SEJOUR_DELETE_REQUEST]: state => { \r\n state.sejourStatus = \"Suppression de sejour\"\r\n },\r\n [types.ADM_SEJOUR_DELETE_SUCCESS]: (state, sejour:AloSejour) => { \r\n const idx = state.sejourList.item.indexOf(sejour.id)\r\n if(idx > -1) state.sejourList.item.splice(idx ,1)\r\n delete state.sejourDic[sejour.id] \r\n state.sejourStatus = \"Suppression de sejour terminée\"\r\n },\r\n [types.ADM_SEJOUR_DELETE_ERROR]: state => { \r\n state.sejourStatus = \"Erreur lors de la Suppression de sejour\"\r\n },\r\n [types.ADM_SEJOUR_UPDATE_LAST_QUERY_DATE]: state => { \r\n state.lastSejourQuery = new Date();\r\n },\r\n \r\n \r\n //////////////////////////////////////////////////////////////////\r\n // USER\r\n /////////////////////////////////////////////////////////////////\r\n\r\n [types.ADM_USER_REQUEST]: state => { \r\n state.userStatus = 'Chargement des user'\r\n },\r\n [types.ADM_USER_SUCCESS]: (state, user:Array) => { \r\n state.userDic = {...state.userDic, ...toNumberDictionary(user,f => f.id,getDefaultAloUser)}\r\n state.userList = buildStateItem(user.map(f => f.id))\r\n state.userStatus = 'Chargement des user terminé'\r\n },\r\n [types.ADM_USER_ERROR]: state => { \r\n state.userStatus = 'Erreur lors du chargement des user'\r\n },\r\n [types.ADM_USER_DETAIL_REQUEST]: state => { \r\n state.userStatus = \"Chargement du detail de user\"\r\n },\r\n [types.ADM_USER_DETAIL_SUCCESS]: (state, user:AloUser) => { \r\n Vue.set(state.userDic,user.id,{...getDefaultAloUser(),...user})\r\n state.userStatus = 'Chargement du detail user terminé'\r\n },\r\n [types.ADM_USER_DETAIL_ERROR]: state => { \r\n state.userStatus = 'Erreur lors du chargement du detail user'\r\n },\r\n [types.ADM_USER_SAVE_REQUEST]: state => { \r\n state.userStatus = \"Sauvegarde de user\"\r\n },\r\n [types.ADM_USER_SAVE_SUCCESS]: (state, user:AloUser) => { \r\n Vue.set(state.userDic,user.id,{...getDefaultAloUser(),...user})\r\n //si l'id n'est pas dans la liste alors on l'ajoute\r\n if(state.userList.item.findIndex(n => n == user.id) == -1) state.userList.item.push(user.id)\r\n state.userStatus = \"Sauvegarde de user terminée\"\r\n },\r\n [types.ADM_USER_SAVE_ERROR]: state => { \r\n state.userStatus = \"Erreur lors de la sauvegarde de user\"\r\n }, \r\n [types.ADM_USER_RESET_STATUS]: (state) => {\r\n state.userStatus = ''\r\n },\r\n [types.ADM_USER_DELETE_REQUEST]: state => { \r\n state.userStatus = \"Suppression de user\"\r\n },\r\n [types.ADM_USER_DELETE_SUCCESS]: (state, user:AloUser) => { \r\n const idx = state.userList.item.indexOf(user.id)\r\n if(idx > -1) state.userList.item.splice(idx ,1)\r\n delete state.userDic[user.id] \r\n state.userStatus = \"Suppression de user terminée\"\r\n },\r\n [types.ADM_USER_DELETE_ERROR]: state => { \r\n state.userStatus = \"Erreur lors de la Suppression de user\"\r\n },\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // COMMANDE\r\n /////////////////////////////////////////////////////////////////\r\n\r\n [types.ADM_COMMANDE_REQUEST]: state => { \r\n state.commandeStatus = 'Chargement des commande'\r\n },\r\n [types.ADM_COMMANDE_SUCCESS]: (state, commande:Array) => { \r\n state.commandeDic = {...state.commandeDic, ...toNumberDictionary(commande,f => f.id,getDefaultAloCommande)}\r\n state.commandeList = buildStateItem(commande.map(f => f.id))\r\n state.commandeStatus = 'Chargement des commande terminé'\r\n },\r\n [types.ADM_COMMANDE_ERROR]: state => { \r\n state.commandeStatus = 'Erreur lors du chargement des commande'\r\n },\r\n [types.ADM_COMMANDE_DETAIL_REQUEST]: state => { \r\n state.commandeStatus = \"Chargement du detail de commande\"\r\n },\r\n [types.ADM_COMMANDE_DETAIL_SUCCESS]: (state, commande:AloCommande) => { \r\n Vue.set(state.commandeDic,commande.id,{...getDefaultAloCommande(),...commande})\r\n state.commandeStatus = 'Chargement du detail commande terminé'\r\n },\r\n [types.ADM_COMMANDE_DETAIL_ERROR]: state => { \r\n state.commandeStatus = 'Erreur lors du chargement du detail commande'\r\n },\r\n [types.ADM_COMMANDE_SAVE_REQUEST]: state => { \r\n state.commandeStatus = \"Sauvegarde de commande\"\r\n },\r\n [types.ADM_COMMANDE_SAVE_SUCCESS]: (state, commande:AloCommande) => { \r\n Vue.set(state.commandeDic,commande.id,{...getDefaultAloCommande(),...commande})\r\n //si l'id n'est pas dans la liste alors on l'ajoute\r\n if(state.commandeList.item.findIndex(n => n == commande.id) == -1) state.commandeList.item.push(commande.id)\r\n state.commandeStatus = \"Sauvegarde de commande terminée\"\r\n },\r\n [types.ADM_COMMANDE_SAVE_ERROR]: state => { \r\n state.commandeStatus = \"Erreur lors de la sauvegarde de commande\"\r\n }, \r\n [types.ADM_COMMANDE_RESET_STATUS]: (state) => {\r\n state.commandeStatus = ''\r\n },\r\n [types.ADM_COMMANDE_DELETE_REQUEST]: state => { \r\n state.commandeStatus = \"Suppression de commande\"\r\n },\r\n [types.ADM_COMMANDE_DELETE_SUCCESS]: (state, commande:AloCommande) => { \r\n const idx = state.commandeList.item.indexOf(commande.id)\r\n if(idx > -1) state.commandeList.item.splice(idx ,1)\r\n delete state.commandeDic[commande.id] \r\n state.commandeStatus = \"Suppression de commande terminée\"\r\n },\r\n [types.ADM_COMMANDE_DELETE_ERROR]: state => { \r\n state.commandeStatus = \"Erreur lors de la Suppression de commande\"\r\n },\r\n [types.ADM_COMMANDE_UPDATE_LAST_QUERY_DATE]: state => { \r\n state.lastCommandeQuery = new Date();\r\n },\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // MAIL_TEMPLATE\r\n /////////////////////////////////////////////////////////////////\r\n\r\n [types.ADM_MAIL_TEMPLATE_REQUEST]: state => { \r\n state.mailTemplateStatus = 'Chargement des mailTemplate'\r\n },\r\n [types.ADM_MAIL_TEMPLATE_SUCCESS]: (state, mailTemplate:Array) => { \r\n state.mailTemplateDic = {...state.mailTemplateDic, ...toNumberDictionary(mailTemplate,f => f.id,getDefaultAloMailTemplate)}\r\n state.mailTemplateList = buildStateItem(mailTemplate.map(f => f.id))\r\n state.mailTemplateStatus = 'Chargement des mailTemplate terminé'\r\n },\r\n [types.ADM_MAIL_TEMPLATE_ERROR]: state => { \r\n state.mailTemplateStatus = 'Erreur lors du chargement des mailTemplate'\r\n },\r\n [types.ADM_MAIL_TEMPLATE_DETAIL_REQUEST]: state => { \r\n state.mailTemplateStatus = \"Chargement du detail de mailTemplate\"\r\n },\r\n [types.ADM_MAIL_TEMPLATE_DETAIL_SUCCESS]: (state, mailTemplate:AloMailTemplate) => { \r\n mailTemplate.lgs = mailTemplate.lgs.map(it => {return {...getDefaultAloMailTemplateLg(it.lg),...it}}) \r\n Vue.set(state.mailTemplateDic,mailTemplate.id,{...getDefaultAloMailTemplate(),...mailTemplate})\r\n state.mailTemplateStatus = 'Chargement du detail mailTemplate terminé'\r\n },\r\n [types.ADM_MAIL_TEMPLATE_DETAIL_ERROR]: state => { \r\n state.mailTemplateStatus = 'Erreur lors du chargement du detail mailTemplate'\r\n },\r\n [types.ADM_MAIL_TEMPLATE_SAVE_REQUEST]: state => { \r\n state.mailTemplateStatus = \"Sauvegarde de mailTemplate\"\r\n },\r\n [types.ADM_MAIL_TEMPLATE_SAVE_SUCCESS]: (state, mailTemplate:AloMailTemplate) => { \r\n Vue.set(state.mailTemplateDic,mailTemplate.id,{...getDefaultAloMailTemplate(),...mailTemplate})\r\n //si l'id n'est pas dans la liste alors on l'ajoute\r\n if(state.mailTemplateList.item.findIndex(n => n == mailTemplate.id) == -1) state.mailTemplateList.item.push(mailTemplate.id)\r\n state.mailTemplateStatus = \"Sauvegarde de mailTemplate terminée\"\r\n },\r\n [types.ADM_MAIL_TEMPLATE_SAVE_ERROR]: state => { \r\n state.mailTemplateStatus = \"Erreur lors de la sauvegarde de mailTemplate\"\r\n }, \r\n [types.ADM_MAIL_TEMPLATE_RESET_STATUS]: (state) => {\r\n state.mailTemplateStatus = ''\r\n },\r\n [types.ADM_MAIL_TEMPLATE_DELETE_REQUEST]: state => { \r\n state.mailTemplateStatus = \"Suppression de mailTemplate\"\r\n },\r\n [types.ADM_MAIL_TEMPLATE_DELETE_SUCCESS]: (state, mailTemplate:AloMailTemplate) => { \r\n const idx = state.mailTemplateList.item.indexOf(mailTemplate.id)\r\n if(idx > -1) state.mailTemplateList.item.splice(idx ,1)\r\n delete state.mailTemplateDic[mailTemplate.id] \r\n state.mailTemplateStatus = \"Suppression de mailTemplate terminée\"\r\n },\r\n [types.ADM_MAIL_TEMPLATE_DELETE_ERROR]: state => { \r\n state.mailTemplateStatus = \"Erreur lors de la Suppression de mailTemplate\"\r\n },\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // MAIL_SKIN\r\n /////////////////////////////////////////////////////////////////\r\n\r\n [types.ADM_MAIL_SKIN_REQUEST]: state => { \r\n state.mailSkinStatus = 'Chargement des mailSkin'\r\n },\r\n [types.ADM_MAIL_SKIN_SUCCESS]: (state, mailSkin:Array) => { \r\n state.mailSkinDic = {...state.mailSkinDic, ...toNumberDictionary(mailSkin,f => f.id,getDefaultAloMailSkin)}\r\n state.mailSkinList = buildStateItem(mailSkin.map(f => f.id))\r\n state.mailSkinStatus = 'Chargement des mailSkin terminé'\r\n },\r\n [types.ADM_MAIL_SKIN_ERROR]: state => { \r\n state.mailSkinStatus = 'Erreur lors du chargement des mailSkin'\r\n },\r\n [types.ADM_MAIL_SKIN_DETAIL_REQUEST]: state => { \r\n state.mailSkinStatus = \"Chargement du detail de mailSkin\"\r\n },\r\n [types.ADM_MAIL_SKIN_DETAIL_SUCCESS]: (state, mailSkin:AloMailSkin) => { \r\n Vue.set(state.mailSkinDic,mailSkin.id,{...getDefaultAloMailSkin(),...mailSkin})\r\n state.mailSkinStatus = 'Chargement du detail mailSkin terminé'\r\n },\r\n [types.ADM_MAIL_SKIN_DETAIL_ERROR]: state => { \r\n state.mailSkinStatus = 'Erreur lors du chargement du detail mailSkin'\r\n },\r\n [types.ADM_MAIL_SKIN_SAVE_REQUEST]: state => { \r\n state.mailSkinStatus = \"Sauvegarde de mailSkin\"\r\n },\r\n [types.ADM_MAIL_SKIN_SAVE_SUCCESS]: (state, mailSkin:AloMailSkin) => { \r\n Vue.set(state.mailSkinDic,mailSkin.id,{...getDefaultAloMailSkin(),...mailSkin})\r\n //si l'id n'est pas dans la liste alors on l'ajoute\r\n if(state.mailSkinList.item.findIndex(n => n == mailSkin.id) == -1) state.mailSkinList.item.push(mailSkin.id)\r\n state.mailSkinStatus = \"Sauvegarde de mailSkin terminée\"\r\n },\r\n [types.ADM_MAIL_SKIN_SAVE_ERROR]: state => { \r\n state.mailSkinStatus = \"Erreur lors de la sauvegarde de mailSkin\"\r\n }, \r\n [types.ADM_MAIL_SKIN_RESET_STATUS]: (state) => {\r\n state.mailSkinStatus = ''\r\n },\r\n [types.ADM_MAIL_SKIN_DELETE_REQUEST]: state => { \r\n state.mailSkinStatus = \"Suppression de mailSkin\"\r\n },\r\n [types.ADM_MAIL_SKIN_DELETE_SUCCESS]: (state, mailSkin:AloMailSkin) => { \r\n const idx = state.mailSkinList.item.indexOf(mailSkin.id)\r\n if(idx > -1) state.mailSkinList.item.splice(idx ,1)\r\n delete state.mailSkinDic[mailSkin.id] \r\n state.mailSkinStatus = \"Suppression de mailSkin terminée\"\r\n },\r\n [types.ADM_MAIL_SKIN_DELETE_ERROR]: state => { \r\n state.mailSkinStatus = \"Erreur lors de la Suppression de mailSkin\"\r\n },\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // PAN_STATUS\r\n /////////////////////////////////////////////////////////////////\r\n\r\n [types.ADM_PAN_STATUS_REQUEST]: state => { \r\n state.panStatusStatus = 'Chargement des panStatus'\r\n },\r\n [types.ADM_PAN_STATUS_SUCCESS]: (state, panStatus:Array) => { \r\n state.panStatusDic = {...state.panStatusDic, ...toNumberDictionary(panStatus,f => f.id,getDefaultAloPanStatus)}\r\n state.panStatusList = buildStateItem(panStatus.map(f => f.id))\r\n state.panStatusStatus = 'Chargement des panStatus terminé'\r\n },\r\n [types.ADM_PAN_STATUS_ERROR]: state => { \r\n state.panStatusStatus = 'Erreur lors du chargement des panStatus'\r\n },\r\n [types.ADM_PAN_STATUS_DETAIL_REQUEST]: state => { \r\n state.panStatusStatus = \"Chargement du detail de panStatus\"\r\n },\r\n [types.ADM_PAN_STATUS_DETAIL_SUCCESS]: (state, panStatus:AloPanStatus) => { \r\n Vue.set(state.panStatusDic,panStatus.id,{...getDefaultAloPanStatus(),...panStatus})\r\n state.panStatusStatus = 'Chargement du detail panStatus terminé'\r\n },\r\n [types.ADM_PAN_STATUS_DETAIL_ERROR]: state => { \r\n state.panStatusStatus = 'Erreur lors du chargement du detail panStatus'\r\n },\r\n [types.ADM_PAN_STATUS_SAVE_REQUEST]: state => { \r\n state.panStatusStatus = \"Sauvegarde de panStatus\"\r\n },\r\n [types.ADM_PAN_STATUS_SAVE_SUCCESS]: (state, panStatus:AloPanStatus) => { \r\n Vue.set(state.panStatusDic,panStatus.id,{...getDefaultAloPanStatus(),...panStatus})\r\n //si l'id n'est pas dans la liste alors on l'ajoute\r\n if(state.panStatusList.item.findIndex(n => n == panStatus.id) == -1) state.panStatusList.item.push(panStatus.id)\r\n state.panStatusStatus = \"Sauvegarde de panStatus terminée\"\r\n },\r\n [types.ADM_PAN_STATUS_SAVE_ERROR]: state => { \r\n state.panStatusStatus = \"Erreur lors de la sauvegarde de panStatus\"\r\n }, \r\n [types.ADM_PAN_STATUS_RESET_STATUS]: (state) => {\r\n state.panStatusStatus = ''\r\n },\r\n [types.ADM_PAN_STATUS_DELETE_REQUEST]: state => { \r\n state.panStatusStatus = \"Suppression de panStatus\"\r\n },\r\n [types.ADM_PAN_STATUS_DELETE_SUCCESS]: (state, panStatus:AloPanStatus) => { \r\n const idx = state.panStatusList.item.indexOf(panStatus.id)\r\n if(idx > -1) state.panStatusList.item.splice(idx ,1)\r\n delete state.panStatusDic[panStatus.id] \r\n state.panStatusStatus = \"Suppression de panStatus terminée\"\r\n },\r\n [types.ADM_PAN_STATUS_DELETE_ERROR]: state => { \r\n state.panStatusStatus = \"Erreur lors de la Suppression de panStatus\"\r\n },\r\n\r\n\r\n}\r\n\r\nexport default mutations","\r\nimport { StateItem, buildStateItem } from '@/models/alo/StateItem';\r\nimport { AloSejour } from '@/models/alo/AloSejour';\r\nimport { AloUser } from '@/models/alo/AloUser';\r\nimport { AloCommande } from '@/models/alo/AloCommande';\r\nimport { AloMailTemplate } from '@/models/alo/AloMailTemplate';\r\nimport { AloMailSkin } from '@/models/alo/AloMailSkin';\r\nimport { AloPanStatus } from '@/models/alo/AloPanStatus';\r\n\r\nexport interface IAdministrationState { \r\n sejourStatus: string\r\n sejourDic: {[id:number]:AloSejour}\r\n sejourList: StateItem\r\n lastSejourQuery : Date|null\r\n\r\n userStatus: string\r\n userDic: {[id:number]:AloUser}\r\n userList: StateItem\r\n\r\n commandeStatus: string\r\n commandeDic: {[id:number]:AloCommande}\r\n commandeList: StateItem\r\n lastCommandeQuery : Date|null\r\n\r\n mailTemplateStatus: string\r\n mailTemplateDic: {[id:number]:AloMailTemplate}\r\n mailTemplateList: StateItem\r\n\r\n mailSkinStatus: string\r\n mailSkinDic: {[id:number]:AloMailSkin}\r\n mailSkinList: StateItem\r\n\r\n panStatusStatus: string\r\n panStatusDic: {[id:number]:AloPanStatus}\r\n panStatusList: StateItem\r\n}\r\n\r\n//Initial State\r\nconst state: IAdministrationState = { \r\n \r\n sejourStatus:'',\r\n sejourDic: {} as {[id:number]:AloSejour},\r\n sejourList: buildStateItem([] as number[],-5),\r\n lastSejourQuery:null,\r\n\r\n userStatus:'',\r\n userDic: {} as {[id:number]:AloUser},\r\n userList: buildStateItem([] as number[],-5),\r\n\r\n commandeStatus:'',\r\n commandeDic: {} as {[id:number]:AloCommande},\r\n commandeList: buildStateItem([] as number[],-5),\r\n lastCommandeQuery:null,\r\n\r\n mailTemplateStatus:'',\r\n mailTemplateDic: {} as {[id:number]:AloMailTemplate},\r\n mailTemplateList: buildStateItem([] as number[],-5),\r\n\r\n mailSkinStatus:'',\r\n mailSkinDic: {} as {[id:number]:AloMailSkin},\r\n mailSkinList: buildStateItem([] as number[],-5),\r\n\r\n panStatusStatus:'',\r\n panStatusDic: {} as {[id:number]:AloPanStatus},\r\n panStatusList: buildStateItem([] as number[],-5),\r\n \r\n}\r\nexport default state","import actions from './actions'\r\nimport getters from './getters'\r\nimport mutations from './mutations'\r\nimport state, { IAdministrationState } from './state'\r\nimport { Module } from 'vuex/types'\r\nimport { IRootState } from '@/store'\r\n\r\nconst administrationModule: Module = {\r\n actions,\r\n getters,\r\n mutations,\r\n state\r\n}\r\nexport default administrationModule\r\n","import * as ationTypes from './mutation-types'\r\nimport * as mutationTypes from './action-types'\r\n\r\nexport default { \r\n ...ationTypes,\r\n ...mutationTypes\r\n}","import { ActionContext } from 'vuex'\r\nimport util from '@/utils/classToObject'\r\nimport actionsTypes from '@/store/all-action-types'\r\nimport types from './all-mutation-types'\r\nimport { IRootState, emptyAction, actionEnsure } from '@/store'\r\nimport { IUiState } from './state'\r\nimport { AlsUser } from '@/models/als/AlsUser'\r\nimport { AlsProduit } from '@/models/als/AlsProduit'\r\nimport { AlsTiers } from '@/models/als/AlsTiers'\r\n\r\nexport class UiAction { \r\n public [types.UI_CLOSE_SNACKBAR](context: ActionContext) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_CLOSE_SNACKBAR)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_ADD_SNACK_MESSAGE](context: ActionContext,message:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_ADD_SNACK_MESSAGE ,message)\r\n resolve()\r\n })\r\n }\r\n\r\n public [types.UI_SET_CONTENT_HEIGHT](context: ActionContext,height:number) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_CONTENT_HEIGHT,height)\r\n resolve()\r\n })\r\n } \r\n\r\n public [types.UI_SET_RIGHT_DRAWER_OPEN](context: ActionContext,open:boolean) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_RIGHT_DRAWER_OPEN,open)\r\n resolve()\r\n })\r\n } \r\n\r\n public [types.UI_SET_RIGHT_DRAWER_ENABLE](context: ActionContext,enable:boolean) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_RIGHT_DRAWER_ENABLE,enable)\r\n resolve()\r\n })\r\n } \r\n\r\n public [types.UI_SET_ALLERGENE_VISIBLITY](context: ActionContext,visibility:boolean) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_ALLERGENE_VISIBLITY,visibility)\r\n resolve()\r\n })\r\n } \r\n \r\n public [types.UI_SET_CART_VISIBLITY](context: ActionContext,visibility:boolean) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_CART_VISIBLITY,visibility)\r\n resolve()\r\n })\r\n } \r\n\r\n public [types.UI_SET_PRINT_MODE](context: ActionContext,enable:boolean) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_PRINT_MODE,enable)\r\n resolve()\r\n })\r\n } \r\n\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // SEJOUR\r\n /////////////////////////////////////////////////////////////////\r\n public [types.UI_SET_SEARCH_SEJOUR](context: ActionContext,search:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SEARCH_SEJOUR ,search)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_SEJOUR_DESC](context: ActionContext,desc:boolean) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_SEJOUR_DESC ,desc)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_SEJOUR_BY](context: ActionContext,sort:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_SEJOUR_BY ,sort)\r\n resolve()\r\n })\r\n }\r\n\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // USER \r\n /////////////////////////////////////////////////////////////////\r\n public [types.UI_SET_SEARCH_USER](context: ActionContext,search:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SEARCH_USER ,search)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_USER_DESC](context: ActionContext,desc:boolean) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_USER_DESC ,desc)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_USER_BY](context: ActionContext,sort:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_USER_BY ,sort)\r\n resolve()\r\n })\r\n }\r\n\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // COMMANDE\r\n /////////////////////////////////////////////////////////////////\r\n public [types.UI_SET_SEARCH_COMMANDE](context: ActionContext,search:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SEARCH_COMMANDE ,search)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_COMMANDE_DESC](context: ActionContext,desc:boolean) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_COMMANDE_DESC ,desc)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_COMMANDE_BY](context: ActionContext,sort:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_COMMANDE_BY ,sort)\r\n resolve()\r\n })\r\n }\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // MAIL_TEMPLATE\r\n /////////////////////////////////////////////////////////////////\r\n public [types.UI_SET_SEARCH_MAIL_TEMPLATE](context: ActionContext,search:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SEARCH_MAIL_TEMPLATE ,search)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_MAIL_TEMPLATE_DESC](context: ActionContext,desc:boolean) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_MAIL_TEMPLATE_DESC ,desc)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_MAIL_TEMPLATE_BY](context: ActionContext,sort:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_MAIL_TEMPLATE_BY ,sort)\r\n resolve()\r\n })\r\n }\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // MAIL_SKIN\r\n /////////////////////////////////////////////////////////////////\r\n public [types.UI_SET_SEARCH_MAIL_SKIN](context: ActionContext,search:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SEARCH_MAIL_SKIN ,search)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_MAIL_SKIN_DESC](context: ActionContext,desc:boolean) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_MAIL_SKIN_DESC ,desc)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_MAIL_SKIN_BY](context: ActionContext,sort:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_MAIL_SKIN_BY ,sort)\r\n resolve()\r\n })\r\n }\r\n\r\n \r\n \r\n}\r\n\r\nexport default util.classToObject(UiAction)\r\n","// Interface\r\n\r\nimport util from '@/utils/classToObject'\r\nimport { IUiState } from './state'\r\n\r\nexport class UiGetter {\r\n \r\n public contentHeight(state: IUiState){\r\n return state.contentHeight\r\n }\r\n\r\n public rightDrawerOpen(state: IUiState){\r\n return state.rightDrawerOpen\r\n }\r\n\r\n public rightDrawerEnable(state: IUiState){\r\n return state.rightDrawerEnable\r\n } \r\n \r\n public snackMessages(state: IUiState) {\r\n return state.snackMessages\r\n } \r\n\r\n public showAllergene(state: IUiState) {\r\n return state.showAllergene && !state.printMode\r\n } \r\n\r\n public showCart(state: IUiState) {\r\n return state.showCart\r\n } \r\n\r\n public searchSejour(state: IUiState) {\r\n return state.searchSejour\r\n } \r\n\r\n public sortSejourDesc(state: IUiState) {\r\n return state.sortSejourDesc\r\n } \r\n\r\n public sortSejourBy(state: IUiState) {\r\n return state.sortSejourBy\r\n } \r\n\r\n\r\n public searchUser(state: IUiState) {\r\n return state.searchUser\r\n } \r\n\r\n public sortUserDesc(state: IUiState) {\r\n return state.sortUserDesc\r\n } \r\n\r\n public sortUserBy(state: IUiState) {\r\n return state.sortUserBy\r\n } \r\n\r\n\r\n public searchCommande(state: IUiState) {\r\n return state.searchCommande\r\n } \r\n\r\n public sortCommandeDesc(state: IUiState) {\r\n return state.sortCommandeDesc\r\n } \r\n\r\n public sortCommandeBy(state: IUiState) {\r\n return state.sortCommandeBy\r\n } \r\n\r\n public searchMailTemplate(state: IUiState) {\r\n return state.searchMailTemplate\r\n } \r\n\r\n public sortMailTemplateDesc(state: IUiState) {\r\n return state.sortMailTemplateDesc\r\n } \r\n\r\n public sortMailTemplateBy(state: IUiState) {\r\n return state.sortMailTemplateBy\r\n } \r\n\r\n public searchMailSkin(state: IUiState) {\r\n return state.searchMailSkin\r\n } \r\n\r\n public sortMailSkinDesc(state: IUiState) {\r\n return state.sortMailSkinDesc\r\n } \r\n\r\n public sortMailSkinBy(state: IUiState) {\r\n return state.sortMailSkinBy\r\n } \r\n\r\n public printMode(state: IUiState) {\r\n return state.printMode\r\n } \r\n \r\n \r\n \r\n}\r\n\r\nexport default util.classToObject(UiGetter)","import types from './all-mutation-types'\r\nimport Vue from 'vue'\r\nimport { MutationTree } from 'vuex/types'\r\nimport { IUiState } from './state'\r\nimport { AlsUser } from '@/models/als/AlsUser'\r\nimport { AlsProduit } from '@/models/als/AlsProduit'\r\nimport { AlsTiers } from '@/models/als/AlsTiers'\r\n\r\nconst mutations: MutationTree = { \r\n [types.UI_SET_CONTENT_HEIGHT]: (state,height:number) => {\r\n state.contentHeight = height\r\n },\r\n [types.UI_SET_RIGHT_DRAWER_OPEN]: (state,open:boolean) => {\r\n state.rightDrawerOpen = open\r\n },\r\n [types.UI_SET_RIGHT_DRAWER_ENABLE]: (state,enable:boolean) => {\r\n state.rightDrawerEnable = enable\r\n },\r\n [types.UI_CLOSE_SNACKBAR]: (state) => {\r\n state.snackMessages = []\r\n },\r\n [types.UI_ADD_SNACK_MESSAGE]: (state,message:string) => {\r\n state.snackMessages.splice(0,0,message)\r\n }, \r\n [types.UI_SET_ALLERGENE_VISIBLITY]: (state,visibility:boolean) => {\r\n state.showAllergene = visibility\r\n }, \r\n [types.UI_SET_CART_VISIBLITY]: (state,visibility:boolean) => {\r\n state.showCart = visibility\r\n }, \r\n\r\n [types.UI_SET_PRINT_MODE]: (state,enable:boolean) => {\r\n state.printMode = enable\r\n }, \r\n\r\n //////////////////////////////////////////////////////////////////\r\n // SEJOUR\r\n /////////////////////////////////////////////////////////////////\r\n [types.UI_SET_SEARCH_SEJOUR]: (state,search:string) => {\r\n state.searchSejour = search\r\n }, \r\n [types.UI_SET_SORT_SEJOUR_DESC]: (state,desc:boolean) => {\r\n state.sortSejourDesc = desc\r\n },\r\n [types.UI_SET_SORT_SEJOUR_BY]: (state,sort:string) => {\r\n state.sortSejourBy = sort\r\n },\r\n\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // USER\r\n /////////////////////////////////////////////////////////////////\r\n [types.UI_SET_SEARCH_USER]: (state,search:string) => {\r\n state.searchUser = search\r\n }, \r\n [types.UI_SET_SORT_USER_DESC]: (state,desc:boolean) => {\r\n state.sortUserDesc = desc\r\n },\r\n [types.UI_SET_SORT_USER_BY]: (state,sort:string) => {\r\n state.sortUserBy = sort\r\n },\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // COMMANDE\r\n /////////////////////////////////////////////////////////////////\r\n [types.UI_SET_SEARCH_COMMANDE]: (state,search:string) => {\r\n state.searchCommande = search\r\n }, \r\n [types.UI_SET_SORT_COMMANDE_DESC]: (state,desc:boolean) => {\r\n state.sortCommandeDesc = desc\r\n },\r\n [types.UI_SET_SORT_COMMANDE_BY]: (state,sort:string) => {\r\n state.sortCommandeBy = sort\r\n },\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // MAIL_TEMPLATE\r\n /////////////////////////////////////////////////////////////////\r\n [types.UI_SET_SEARCH_MAIL_TEMPLATE]: (state,search:string) => {\r\n state.searchMailTemplate = search\r\n }, \r\n [types.UI_SET_SORT_MAIL_TEMPLATE_DESC]: (state,desc:boolean) => {\r\n state.sortMailTemplateDesc = desc\r\n },\r\n [types.UI_SET_SORT_MAIL_TEMPLATE_BY]: (state,sort:string) => {\r\n state.sortMailTemplateBy = sort\r\n },\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // MAIL_SKIN\r\n /////////////////////////////////////////////////////////////////\r\n [types.UI_SET_SEARCH_MAIL_SKIN]: (state,search:string) => {\r\n state.searchMailSkin = search\r\n }, \r\n [types.UI_SET_SORT_MAIL_SKIN_DESC]: (state,desc:boolean) => {\r\n state.sortMailSkinDesc = desc\r\n },\r\n [types.UI_SET_SORT_MAIL_SKIN_BY]: (state,sort:string) => {\r\n state.sortMailSkinBy = sort\r\n },\r\n\r\n \r\n\r\n}\r\n\r\nexport default mutations","import { AloBase } from '@/models/alo/AloBase';\r\nimport { StateItem, buildStateItem } from '@/models/alo/StateItem';\r\n\r\n\r\nexport interface IUiState { \r\n contentHeight:number\r\n rightDrawerOpen:boolean\r\n rightDrawerEnable:boolean\r\n snackMessages: Array\r\n showAllergene:boolean\r\n showCart:boolean\r\n\r\n searchSejour:string\r\n sortSejourDesc:boolean\r\n sortSejourBy:string\t\r\n\r\n searchUser:string\r\n sortUserDesc:boolean\r\n sortUserBy:string\t\r\n\r\n searchCommande:string\r\n sortCommandeDesc:boolean\r\n sortCommandeBy:string\t\r\n\r\n searchMailTemplate:string\r\n sortMailTemplateDesc:boolean\r\n sortMailTemplateBy:string\t\r\n\r\n searchMailSkin:string\r\n sortMailSkinDesc:boolean\r\n sortMailSkinBy:string\r\n\r\n printMode:boolean\r\n\r\n}\r\n\r\n//Initial State\r\nconst state: IUiState = { \r\n contentHeight:250,\r\n rightDrawerOpen:false,\r\n rightDrawerEnable:false,\r\n snackMessages: [],\r\n showAllergene:false,\r\n showCart:false,\r\n\r\n searchSejour:\"\",\r\n sortSejourDesc:false,\r\n sortSejourBy:\"\",\r\n\r\n searchUser:\"\",\r\n sortUserDesc:false,\r\n sortUserBy:\"\",\r\n\r\n searchCommande:\"\",\r\n sortCommandeDesc:false,\r\n sortCommandeBy:\"\",\r\n\r\n searchMailTemplate:\"\",\r\n sortMailTemplateDesc:false,\r\n sortMailTemplateBy:\"\",\r\n\r\n searchMailSkin:\"\",\r\n sortMailSkinDesc:false,\r\n sortMailSkinBy:\"\",\r\n\r\n printMode:false,\r\n \r\n} \r\n\r\nexport default state","import actions from './actions'\r\nimport getters from './getters'\r\nimport mutations from './mutations'\r\nimport state, { IUiState } from './state'\r\nimport { Module } from 'vuex/types'\r\nimport { IRootState } from '@/store'\r\n\r\nconst uiModule: Module = {\r\n actions,\r\n getters,\r\n mutations,\r\n state\r\n}\r\nexport default uiModule\r\n","import Vue from 'vue'\r\nimport Vuex, { ActionContext } from 'vuex'\r\nimport auth from '@/store/modules/auth'\r\nimport roomservice from '@/store/modules/roomservice'\r\nimport administration from '@/store/modules/administration'\r\nimport ui from '@/store/modules/ui'\r\nimport { IAuthState } from './modules/auth/state'\r\nimport { IRoomserviceState } from './modules/roomservice/state'\r\nimport { IUiState } from './modules/ui/state'\r\nimport { AxiosPromise } from 'axios'\r\nimport { AlrContainer } from '@/models/response/AlrContainer'\r\nimport { AloError } from '@/models/alo/AloError'\r\nimport { ApiResultCode } from '@/enum/ApiResultCode'\r\nimport { StateItem } from '@/models/alo/StateItem'\r\nimport { AloBase } from '@/models/alo/AloBase'\r\nimport types from '@/store/all-action-types'\r\nimport cloneDeep from 'clone-deep'\r\nimport { IAdministrationState } from './modules/administration/state'\r\n\r\nVue.use(Vuex)\r\n\r\nconst debug = process.env.NODE_ENV !== 'production'\r\n\r\nexport interface IRootState { \r\n auth: IAuthState\r\n roomservice:IRoomserviceState \r\n administration:IAdministrationState\r\n ui:IUiState\r\n}\r\n\r\nconst store = new Vuex.Store({ \r\n modules: {\r\n auth,\r\n roomservice,\r\n administration,\r\n ui\r\n }, \r\n strict: debug\r\n})\r\n\r\nexport default store\r\n\r\nconst initialStateCopy = cloneDeep(store.state)\r\n\r\nexport function resetState() { \r\n const state = cloneDeep(initialStateCopy) as IRootState \r\n state.auth.authStatus = store.state.auth.authStatus\r\n state.auth.redirectPath = store.state.auth.redirectPath \r\n store.replaceState(state) \r\n}\r\n\r\nexport function loadInitalData() {\r\n store.dispatch(types.ROOM_SERVICES_DATAS_ENSURE)\r\n}\r\n\r\nexport const emptyAction = (context: ActionContext,\r\n resquestCommit:string,\r\n successCommit:string,\r\n errorCommit:string,\r\n emptyRequest: () => AxiosPromise>,\r\n commit:boolean = true ) => {\r\n return new Promise((resolve, reject) => {\r\n context.commit(resquestCommit)\r\n emptyRequest()\r\n .then(resp => { \r\n if (resp.data.resultCode == ApiResultCode.Ok) {\r\n const item = resp.data.data as T \r\n if(commit) context.commit(successCommit, item)\r\n resolve(item) \r\n\r\n } else { \r\n if(commit) context.commit(errorCommit)\r\n reject((resp.data.data as AloError).errorMessage)\r\n }\r\n })\r\n .catch(err => { \r\n if(commit) context.commit(errorCommit)\r\n reject(err)\r\n })\r\n })\r\n}\r\n\r\nexport const payloadAction = (context: ActionContext,\r\n resquestCommit:string,\r\n successCommit:string,\r\n errorCommit:string,\r\n payloadRequest: (payload:any) => AxiosPromise>, \r\n payload:any,\r\n commit:boolean = true,\r\n addPayloadToCommit = false,\r\n ) => {\r\n return new Promise((resolve, reject) => {\r\n if(commit) addPayloadToCommit?context.commit(resquestCommit,payload):context.commit(resquestCommit)\r\n payloadRequest(payload)\r\n .then(resp => {\r\n if (resp.data.resultCode == ApiResultCode.Ok) {\r\n const item = resp.data.data as T \r\n if(commit) context.commit(successCommit, addPayloadToCommit?{item,payload}:item)\r\n resolve(item) \r\n\r\n } else { \r\n if(commit) addPayloadToCommit?context.commit(errorCommit,payload):context.commit(errorCommit)\r\n reject((resp.data.data as AloError).errorMessage)\r\n }\r\n })\r\n .catch(err => { \r\n if(commit) addPayloadToCommit?context.commit(errorCommit,payload):context.commit(errorCommit)\r\n reject(err)\r\n })\r\n })\r\n}\r\n\r\nexport const actionEnsure = (context: ActionContext,resquestAction:string, stateItemToCheck:StateItem|null, id?:number ) => { \r\n if(!stateItemToCheck || stateItemToCheck.expireAt < new Date()) { \r\n return id?context.dispatch(resquestAction,id):context.dispatch(resquestAction)\r\n }\r\n return new Promise((resolve, reject) => {\r\n resolve(stateItemToCheck.item)\r\n })\r\n}","import Vue from 'vue'\r\n//@ts-ignore\r\nimport Vuetify from 'vuetify/lib'\r\nimport fr from 'vuetify/src/locale/fr'\r\n//@ts-ignore\r\n//import { preset } from 'vue-cli-plugin-vuetify-preset-crane/preset'\r\n\r\nVue.use(Vuetify);\r\n\r\nexport default new Vuetify({\r\n //preset,\r\n theme: {\r\n themes: {\r\n light: {\r\n primary: '#5a7b7d',\r\n secondary: '#779a9c'/*,\r\n accent: '#82B1FF',\r\n error: '#FF5252',\r\n info: '#2196F3',\r\n success: '#4CAF50',\r\n warning: '#FFC107' */\r\n },\r\n },\r\n },\r\n lang: {\r\n locales: { fr },\r\n current: 'fr',\r\n },\r\n});\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"caption\"},[_vm._v(\"( \"+_vm._s(_vm.targetLengthMin)+\" à \"+_vm._s(_vm.targetLengthMax)+\" caractères conseillés : \"),_c('span',{class:{'red--text':!_vm.ok,'green--text':_vm.ok }},[_vm._v(_vm._s(_vm.textLength))]),_vm._v(\" caractère\"),(_vm.textLength > 0)?[_vm._v(\"s\")]:_vm._e(),_vm._v(\" )\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\r\n// @ is an alias to /src\r\nimport { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'LengthHelper', \r\n props: { \r\n targetLengthMin:{\r\n type:Number,\r\n required:true,\r\n default:250\r\n },\r\n targetLengthMax:{\r\n type:Number,\r\n required:true,\r\n default:350\r\n },\r\n textLength:{\r\n type:Number,\r\n required:true\r\n }\r\n }\r\n})\r\nexport default class LengthHelper extends Vue {\r\n targetLengthMin!:number\r\n targetLengthMax!:number\r\n textLength!:number\r\n toleranceLength!:number\r\n\r\n get ok() {\r\n return this.textLength <= this.targetLengthMax && this.textLength >= this.targetLengthMin\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LengthHelper.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LengthHelper.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LengthHelper.vue?vue&type=template&id=2389a34e&\"\nimport script from \"./LengthHelper.vue?vue&type=script&lang=ts&\"\nexport * from \"./LengthHelper.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('v-icon',{class:{'success--text':_vm.checked,'error--text':!_vm.checked},attrs:{\"small\":_vm.small},domProps:{\"textContent\":_vm._s(_vm.checked?'mdi-check-bold':'mdi-close')}}),_vm._v(\" \"+_vm._s(_vm.showText?(_vm.checked?_vm.trueText:_vm.falseText):''))],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\r\n// @ is an alias to /src\r\nimport { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'CheckState', \r\n props: {\r\n checked:{\r\n type:Boolean,\r\n required:true,\r\n default:false\r\n },\r\n small:{\r\n type:Boolean,\r\n required:false,\r\n default:false\r\n },\r\n trueText:{\r\n type:String,\r\n default:\"oui\"\r\n },\r\n falseText:{\r\n type:String,\r\n default:\"non\"\r\n },\r\n showText:{\r\n type:Boolean,\r\n default:true\r\n }\r\n }\r\n})\r\nexport default class CheckState extends Vue {\r\n checked!:boolean\r\n small!:boolean\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckState.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckState.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CheckState.vue?vue&type=template&id=7583d5aa&\"\nimport script from \"./CheckState.vue?vue&type=script&lang=ts&\"\nexport * from \"./CheckState.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-text-field',_vm._b({ref:\"inputfield\",attrs:{\"type\":\"number\",\"value\":_vm.value == null || _vm.value == ''?'':_vm.value/_vm.factor},on:{\"input\":_vm.inputValue},scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [_vm._t(\"append-outer\")]},proxy:true}],null,true)},'v-text-field',_vm.$attrs,false))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n \nimport Vue from 'vue' \nimport Component from 'vue-class-component' \n\n@Component({\n name: 'NumberFieldFactor', \n props:{ \n positiveOnly:{\n type:Boolean,\n default:false\n }, \n factor:{\n type:Number,\n default:1\n },\n round:{\n type:Boolean,\n default:false\n },\n value:{\n type:Number,\n default:0\n }\n }\n})\nexport default class NumberFieldFactor extends Vue { \n \n private factor!:number\n private value!:number \n private round!:number \n private positiveOnly!:boolean\n \n inputValue(newV:any) { \n this.$nextTick(() => {\n //@ts-ignore\n if(this.$refs.inputfield && !this.$refs.inputfield.badInput){\n let newVal = parseFloat(newV)*this.factor\n if(this.positiveOnly && newVal < 0) { \n newVal = -newVal \n //Hack pour si le symbole '-' est ajouté au début de la zone de text\n //@ts-ignore \n this.$refs.inputfield.value = 0 \n //@ts-ignore \n this.$nextTick(() => {this.$refs.inputfield.value = newVal})\n } \n this.$emit('input',this.round?Math.round(newVal):newVal)\n }\n }) \n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumberFieldFactor.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumberFieldFactor.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NumberFieldFactor.vue?vue&type=template&id=b41902fc&\"\nimport script from \"./NumberFieldFactor.vue?vue&type=script&lang=ts&\"\nexport * from \"./NumberFieldFactor.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-menu',{staticClass:\"pl-2\",attrs:{\"close-on-content-click\":false,\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({staticClass:\"d-flex cursor-pointer\",staticStyle:{\"height\":\"25px\"},on:{\"click\":function($event){return _vm.startTimeout()}}},on),[_c('div',{staticClass:\"subLine pa-1 d-flex justify-center align-center white--text\",class:{primary:_vm.value>0,grey:_vm.value==0}},[_vm._v(\"Qté\")]),_c('div',{staticClass:\"lighten-2 d-flex justify-center align-center\",class:{primary:_vm.value>0,grey:_vm.value==0,'primary--text':_vm.value>0,'grey--text':_vm.value==0},staticStyle:{\"min-width\":\"20px\"}},[_c('strong',[_vm._v(_vm._s(_vm.value))])])])]}}]),model:{value:(_vm.openQty),callback:function ($$v) {_vm.openQty=$$v},expression:\"openQty\"}},[_c('div',{staticClass:\"d-flex pa-4 white\",on:{\"click\":function($event){return _vm.startTimeout()}}},[_c('v-btn',{staticClass:\"mx-2\",attrs:{\"disabled\":_vm.disableMoins,\"x-small\":\"\",\"width\":\"25\",\"height\":\"25\",\"fab\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.remove()}}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-minus\")])],1),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"disabled\":_vm.disablePlus,\"x-small\":\"\",\"width\":\"25\",\"height\":\"25\",\"fab\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.add()}}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-plus\")])],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \nimport Vue from 'vue' \nimport Component from 'vue-class-component' \n\n@Component({\n name: 'QtyField', \n props:{ \n value:{\n type:Number,\n default:0\n }, \n minValue:{\n type:Number,\n default:0\n }, \n maxValue:{\n type:Number,\n default:-1\n }\n }\n})\nexport default class NumberFieldFactor extends Vue { \n \n private value!:number \n private minValue!:number \n private maxValue!:number \n private openQty = false \n timeouID = -1\n\n startTimeout() { \n if(this.timeouID>0) clearTimeout(this.timeouID)\n this.timeouID = setTimeout(()=> {\n this.openQty = false\n this.timeouID = -1\n },2000)\n }\n\n add() {\n if(this.maxValue == -1 || this.value < this.maxValue) this.$emit('input',this.value+1) \n }\n remove() {\n if(this.value > this.minValue) this.$emit('input',this.value-1) \n } \n\n get disablePlus(){\n return this.maxValue >= 0 && this.value >= this.maxValue\n }\n\n get disableMoins(){\n return this.value <= this.minValue\n }\n \n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QtyField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QtyField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QtyField.vue?vue&type=template&id=1516c30c&\"\nimport script from \"./QtyField.vue?vue&type=script&lang=ts&\"\nexport * from \"./QtyField.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VBtn,VIcon,VMenu})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.$vuetify.breakpoint.mobile)?_c('v-select',{staticClass:\"mb-1\",attrs:{\"hide-details\":\"\",\"items\":_vm.years},model:{value:(_vm.year),callback:function ($$v) {_vm.year=$$v},expression:\"year\"}}):_c('div',_vm._l((_vm.years),function(y){return _c('v-btn',{key:y,staticClass:\"mr-1\",class:{primary:_vm.year == y,'white--text':_vm.year == y},attrs:{\"x-small\":\"\",\"outlined\":\"\"},on:{\"click\":function($event){_vm.year = y}}},[_vm._v(_vm._s(y))])}),1),(_vm.$vuetify.breakpoint.mobile)?_c('v-select',{staticClass:\"mb-1\",attrs:{\"hide-details\":\"\",\"items\":_vm.months.filter(function (m) { return !((_vm.year == _vm.minDates[0].getUTCFullYear() && m <= _vm.minDates[0].getUTCMonth()) || (_vm.year == _vm.maxDates[0].getUTCFullYear() && m > _vm.maxDates[1].getUTCMonth() && _vm.maxDates[1].getUTCMonth() != 0 )); })},model:{value:(_vm.month),callback:function ($$v) {_vm.month=$$v},expression:\"month\"}}):_c('div',[_vm._l((_vm.months),function(m){return _c('v-btn',{key:m,class:{primary:_vm.month == m && !_vm.allYear,'white--text':_vm.month == m && !_vm.allYear},attrs:{\"disabled\":(_vm.year == _vm.minDates[0].getUTCFullYear() && m <= _vm.minDates[0].getUTCMonth()) || (_vm.year == _vm.maxDates[0].getUTCFullYear() && m > _vm.maxDates[1].getUTCMonth() && _vm.maxDates[1].getUTCMonth() != 0 ),\"x-small\":\"\",\"outlined\":\"\"},on:{\"click\":function($event){_vm.month = m}}},[_vm._v(_vm._s(m.toString().padStart(2,'0')))])}),_c('v-btn',{class:{primary:_vm.allYear,'white--text':_vm.allYear},attrs:{\"x-small\":\"\",\"outlined\":\"\"},on:{\"click\":function($event){return _vm.selectAllYear()}}},[_vm._v(\"Tous\")])],2),(_vm.$vuetify.breakpoint.mobile)?_c('v-btn',{class:{primary:_vm.allYear,'white--text':_vm.allYear},attrs:{\"width\":\"100%\",\"x-small\":\"\",\"outlined\":\"\"},on:{\"click\":function($event){return _vm.selectAllYear()}}},[(_vm.$vuetify.breakpoint.mobile)?_c('span',[_vm._v(\"Toute l'année \"+_vm._s(_vm.year))]):[_vm._v(\"Tous\")]],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n \nimport Vue from 'vue' \nimport Component from 'vue-class-component'\nimport moment from 'moment' \n\nconst buildDefaultDates = (startDate:Date = new Date()) => { \n const start = moment.utc(`${startDate.getUTCFullYear()}-${(startDate.getUTCMonth()+1).toString().padStart(2,'0')}-01T00:00:00.0000000`) \n return [start.toDate(),start.add(1,\"month\").toDate()] \n }\n\n@Component({\n name: 'MonthPicker', \n props:{ \n from:{\n type:Date,\n default:() => {\n const now = new Date()\n const start = moment.utc(`${now.getUTCFullYear()}-${(now.getUTCMonth()+1).toString().padStart(2,'0')}-01T00:00:00.0000000`) \n return start.add(-1,\"year\").toDate()\n }\n },\n value:{\n type:Date,\n default:()=>{return new Date()}\n }\n }\n})\nexport default class MonthPicker extends Vue { \n \n private value!:Date\n private dates = buildDefaultDates(this.value) \n private from!:Date \n private allYear = false \n\n mounted(){\n this.monthChanged()\n }\n\n monthChanged(){\n const newDate = new Date(this.dates[0]);\n if(this.allYear) newDate.setUTCDate(31)\n this.$emit(\"input\",newDate)\n this.$emit(\"monthChange\",this.dates) \n }\n\n selectAllYear() {\n this.allYear = true\n const start = moment.utc(`${this.year}-01-01T00:00:00.0000000`) \n this.$set(this,\"dates\", [start.toDate(),start.add(12,\"month\").toDate()])\n this.monthChanged()\n }\n \n \n get minDates() { \n const start = moment.utc(`${this.from.getUTCFullYear()}-${(this.from.getUTCMonth()+1).toString().padStart(2,'0')}-01T00:00:00.0000000`) \n return [start.toDate(),start.add(1,\"month\").toDate()] \n }\n\n get maxDates() { \n return buildDefaultDates()\n }\n\n get years() {\n const now = new Date()\n const fromYear = this.from.getUTCFullYear()\n return [...Array(now.getUTCFullYear()-fromYear+1).keys()].map(y => y+fromYear)\n }\n\n get months() {\n return [...Array(12).keys()].map(m => m+1)\n }\n \n get year(){ \n return this.dates.length == 2? \n this.dates[0].getUTCFullYear()\n : this.maxDates[0].getUTCFullYear()\n }\n\n set year(newYear) { \n const start = moment.utc(`${newYear}-${(this.dates[0].getUTCMonth()+1).toString().padStart(2,'0')}-01T00:00:00.0000000`) \n let newVal = [start.toDate(),start.add(this.allYear?12:1,\"month\").toDate()] \n if(!this.allYear){\n if(newVal[0] < this.minDates[0]) newVal = this.minDates\n if(newVal[0] > this.maxDates[0]) newVal = this.maxDates\n }\n this.$set(this,\"dates\",newVal)\n this.monthChanged()\n }\n\n get month() { \n return this.dates.length == 2? \n this.dates[0].getUTCMonth()+1\n : this.maxDates[0].getUTCMonth()+1 \n }\n\n set month(newMonth) { \n this.allYear = false\n const start = moment.utc(`${this.year}-${newMonth.toString().padStart(2,'0')}-01T00:00:00.0000000`) \n this.$set(this,\"dates\",[start.toDate(),start.add(1,\"month\").toDate()])\n this.monthChanged()\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MonthPicker.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MonthPicker.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MonthPicker.vue?vue&type=template&id=5d56a5df&\"\nimport script from \"./MonthPicker.vue?vue&type=script&lang=ts&\"\nexport * from \"./MonthPicker.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VBtn,VSelect})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.configuration.langs.length > 1)?_c('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-8\",attrs:{\"small\":\"\",\"outlined\":\"\"}},'v-btn',attrs,false),on),[_vm._v(\"Consulter \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-eye\")])],1)]}}],null,false,2221623405)},[_c('v-list',_vm._l((_vm.configuration.langs),function(lang){return _c('a',{key:lang,attrs:{\"href\":(\"/global/dyn/\" + _vm.aspx + \".aspx?id=\" + _vm.id + \"&fv=true&lg=\" + lang),\"target\":\"_blank\"}},[_c('v-list-item',[_c('v-list-item-title',[_c('flag',{attrs:{\"squared\":false,\"width\":\"50\",\"iso\":lang == 'en'?'gb':lang}})],1)],1)],1)}),0)],1):_c('v-btn',{staticClass:\"ml-8\",attrs:{\"small\":\"\",\"outlined\":\"\",\"target\":\"_blank\",\"href\":(\"/global/dyn/\" + _vm.aspx + \".aspx?id=\" + _vm.id + \"&fv=true&lg=\" + (_vm.configuration.langs[0]))}},[_vm._v(\"Consulter \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-eye\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'PreviewDetail', \r\n props: { \r\n aspx:{\r\n type:String,\r\n default:\"page_view\"\r\n },\r\n id:{\r\n type:Number,\r\n default:\"\"\r\n }\r\n }\r\n})\r\nexport default class PreviewDetail extends Vue {\r\n aspx!:string\r\n id!:number\r\n \r\n get configuration(){\r\n return this.$store.myGetters.configuration\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PreviewDetail.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PreviewDetail.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PreviewDetail.vue?vue&type=template&id=787e917b&\"\nimport script from \"./PreviewDetail.vue?vue&type=script&lang=ts&\"\nexport * from \"./PreviewDetail.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VBtn,VIcon,VList,VListItem,VListItemTitle,VMenu})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.$vuetify.breakpoint.mobile)?_c('v-navigation-drawer',{attrs:{\"enable-resize-watcher\":\"\",\"fixed\":\"\",\"app\":\"\",\"right\":\"\",\"temporary\":\"\"},model:{value:(_vm.rightDrawerOpen),callback:function ($$v) {_vm.rightDrawerOpen=$$v},expression:\"rightDrawerOpen\"}},[_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"title\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")])],1),_c('v-list-item-action',[_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.rightDrawerOpen = false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1)],1),_c('v-divider'),_c('v-list',{attrs:{\"dense\":\"\",\"nav\":\"\"}},[_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',[_vm._t(\"default\")],2)],1)],1),(_vm.clearEnable)?_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',[_c('v-btn',{attrs:{\"color\":\"primary\",\"width\":\"100%\",\"small\":\"\"},on:{\"click\":function($event){return _vm.search()}}},[_vm._v(\"Recherche \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-magnify\")])],1)],1)],1)],1):_vm._e(),(_vm.searchEnable)?_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',[_c('v-btn',{attrs:{\"outlined\":\"\",\"width\":\"100%\",\"small\":\"\"},on:{\"click\":function($event){return _vm.clearSearch()}}},[_vm._v(\"Annuler\"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-close\")])],1)],1)],1)],1):_vm._e()],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'EditDrawerContent', \r\n props: {\r\n title:String,\r\n clearEnable:{\r\n type:Boolean,\r\n default:true\r\n },\r\n searchEnable:{\r\n type:Boolean,\r\n default:true\r\n }\r\n }\r\n})\r\nexport default class EditDrawerContent extends Vue {\r\n title!:string\r\n clearEnable!:boolean\r\n searchEnable!:boolean\r\n\r\n get rightDrawerOpen() {\r\n //@ts-ignore\r\n return this.$store.myGetters.rightDrawerOpen && this.$vuetify.breakpoint.mobile\r\n }\r\n\r\n set rightDrawerOpen(newValue:boolean) {\r\n this.$store.myActions.UI_SET_RIGHT_DRAWER_OPEN(newValue)\r\n }\r\n\r\n clearSearch() {\r\n this.rightDrawerOpen = false\r\n this.$emit('clearSearch')\r\n }\r\n \r\n search() { \r\n this.rightDrawerOpen = false\r\n this.$emit(\"search\")\r\n } \r\n\r\n mounted() {\r\n //on enable le rightDrawer (il est desacivé a chaque changement de route par default d'ou le nextTick)\r\n this.$nextTick(()=> this.$store.myActions.UI_SET_RIGHT_DRAWER_ENABLE(true))\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchDrawer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchDrawer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SearchDrawer.vue?vue&type=template&id=4630a187&\"\nimport script from \"./SearchDrawer.vue?vue&type=script&lang=ts&\"\nexport * from \"./SearchDrawer.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\ninstallComponents(component, {VBtn,VDivider,VIcon,VList,VListItem,VListItemAction,VListItemContent,VListItemTitle,VNavigationDrawer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.showDialog)?_c('v-dialog',{attrs:{\"persistent\":true,\"scrollable\":\"\",\"width\":_vm.width},model:{value:(_vm.showDialog),callback:function ($$v) {_vm.showDialog=$$v},expression:\"showDialog\"}},[_c('v-card',{staticClass:\"pb-2\"},[_c('v-card-title',{staticClass:\"d-flex flex-column primary--text\"},[_c('div',{staticClass:\"mb-2 body-2\"},[_vm._v(_vm._s(_vm.title))]),_c('div',{staticClass:\"subLine\"},[_vm._v(_vm._s(_vm.subtitle))])]),_c('v-divider',{staticClass:\"mx-12 primary mt-0 mb-2 hide-y-scrollbar\"}),_c('v-card-text',{staticClass:\"py-4\"},[_c('v-radio-group',{staticClass:\"ml-6\",model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}},_vm._l((_vm.items),function(item,idx){return _c('v-radio',{key:idx,attrs:{\"label\":_vm.$gt(item).libelle,\"value\":idx}})}),1)],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{staticClass:\"mr-4\",attrs:{\"small\":\"\"},on:{\"click\":function($event){_vm.showDialog=false}}},[_vm._v(_vm._s(_vm.$t('Global.Back')))]),_c('v-btn',{staticClass:\"mr-4\",attrs:{\"disabled\":_vm.selected == {lgs:[]},\"small\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.valid()}}},[_vm._v(_vm._s(_vm.$t('Global.Validate')))])],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { AloBaseLg, getDefaultAloBaseLg } from '@/models/alo/AloBaseLg'; \r\nimport deepEqual from 'deep-equal'\r\nimport { Component, Vue, Watch } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'SelectFromList', \r\n props: {\r\n title:String,\r\n subtitle:String,\r\n value:Boolean,\r\n persistent:{\r\n type:Boolean,\r\n default:true\r\n },\r\n selectedItem:{\r\n type:Object,\r\n default:() => {return {lgs:[]}}\r\n },\r\n width:{\r\n type:String,\r\n default:\"1200\"\r\n },\r\n items:{\r\n type:Array,\r\n required:true,\r\n default:()=>[]\r\n } \r\n }\r\n})\r\nexport default class EditDrawerContent extends Vue {\r\n title!:string\r\n subtitle!:string\r\n value!:boolean\r\n persistent!:boolean\r\n selectedItem!:{lgs:Array}\r\n items!:Array<{lgs:Array}>\r\n width!:string\r\n\r\n selected = -1\r\n \r\n @Watch(\"showDialog\")\r\n onShowDialogChanged(){\r\n if(this.showDialog) this.selected = this.items.findIndex(it => deepEqual(this.selectedItem,it))\r\n }\r\n\r\n get deepEqual()\r\n {\r\n return deepEqual\r\n }\r\n\r\n get showDialog(){\r\n return this.value\r\n }\r\n\r\n set showDialog(value){\r\n this.$emit('input', value)\r\n if(!value) this.$emit(\"cancel\")\r\n }\r\n \r\n valid() {\r\n this.showDialog = false\r\n this.$emit(\"select\",this.items[this.selected]) \r\n } \r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectFromList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectFromList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SelectFromList.vue?vue&type=template&id=68b8a261&\"\nimport script from \"./SelectFromList.vue?vue&type=script&lang=ts&\"\nexport * from \"./SelectFromList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDialog,VDivider,VRadio,VRadioGroup,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._v(\" La composition de votre panier vous permet une livraison sur la plage horaire suivante : \"+_vm._s(_vm.min)+\"-\"+_vm._s(_vm.max)+\" \"),_c('v-menu',{ref:\"menu\",attrs:{\"close-on-content-click\":false,\"nudge-right\":40,\"return-value\":_vm.value,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\"},on:{\"update:returnValue\":function($event){_vm.value=$event},\"update:return-value\":function($event){_vm.value=$event}},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-text-field',_vm._g(_vm._b({attrs:{\"value\":_vm.value,\"label\":_vm.label,\"prepend-icon\":\"mdi-clock-time-four-outline\",\"readonly\":\"\"},on:{\"input\":function($event){return _vm.$emit('input',$event)}}},'v-text-field',attrs,false),on))]}}]),model:{value:(_vm.showPicker),callback:function ($$v) {_vm.showPicker=$$v},expression:\"showPicker\"}},[(_vm.showPicker)?_c('v-time-picker',{attrs:{\"value\":_vm.value,\"full-width\":\"\",\"format\":\"24hr\",\"allowed-minutes\":_vm.allowedMinutes,\"min\":_vm.min,\"max\":_vm.max},on:{\"input\":function($event){return _vm.$emit('input',$event)},\"click:minute\":function($event){return _vm.$refs.menu.save(_vm.value)}}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n import { AloPanier } from '@/models/alo/AloPanier'\nimport { timeFromString } from '@/utils/time'\nimport Vue from 'vue' \n import Component from 'vue-class-component' \n\n @Component({\n name: 'TimePicker', \n props:{ \n value:{\n type:String,\n default:\"00:00\"\n }, \n label:{\n type:String,\n default:\"Horaire\"\n },\n panier:{\n type:Object,\n default:null\n }\n }\n })\n export default class NumberFieldFactor extends Vue { \n\n showPicker = false \n label!:string \n panier!:AloPanier\n\n get max() {\n return this.panier && this.panier.timeFin?this.$options.filters!.formatDate(new Date(this.panier.timeFin),\"HH:mm\",true):undefined\n }\n\n get min() { \n return this.panier?this.$options.filters!.formatDate(new Date(this.minTime),\"HH:mm\",true):undefined\n }\n\n get minTime() {\n return Math.max(this.firstAllowedTime,this.panier.timeDebut)\n }\n\n get firstAllowedTime() {\n return timeFromString(this.$options.filters!.formatDate(new Date(),\"HH:mm\")) + (this.panier?(this.panier.tempsPreparation * 60000):0)\n }\n \n allowedMinutes(m:number) {\n return m%15 == 0\n }\n\n }\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimePicker.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimePicker.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimePicker.vue?vue&type=template&id=06022441&\"\nimport script from \"./TimePicker.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimePicker.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTimePicker } from 'vuetify/lib/components/VTimePicker';\ninstallComponents(component, {VMenu,VTextField,VTimePicker})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex flex-column align-center text-center subLine mt-1 mb-2\",staticStyle:{\"width\":\"100px\"}},[_c('v-badge',{staticClass:\"mx-2\",class:{'badge':!_vm.selected,'badge-selected':_vm.selected},attrs:{\"bordered\":\"\",\"content\":_vm.badgeContent,\"icon\":_vm.badgeIcon,\"overlap\":\"\"}},[_c('v-btn',{staticClass:\"mb-2\",attrs:{\"small\":_vm.small,\"outlined\":\"\",\"fab\":\"\"},on:{\"click\":function($event){return _vm.$emit('click')}}},[(_vm.iconUrl.length > 0)?_c('img',{attrs:{\"height\":_vm.small?20:30,\"width\":_vm.small?20:30,\"max-width\":_vm.small?20:30,\"max-height\":_vm.small?20:30,\"src\":_vm.iconUrl}}):_vm._e()])],1),_c('span',{staticClass:\"text-lowercase\"},[(_vm.showQtySelected && _vm.qty > 1 && !_vm.selected)?_c('span',[_vm._v(_vm._s(_vm.qtySelected)+\" / \")]):_vm._e(),(_vm.qty > 0 && !_vm.showValueOnBadge)?_c('strong',[_vm._v(_vm._s(_vm.qty)+\" \")]):_vm._e(),_vm._v(_vm._s(_vm.label))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n \n import { getDefaultAloIcon } from '@/models/alo/AloIcon'\nimport Vue from 'vue' \n import Component from 'vue-class-component' \n\n @Component({\n name: 'IcoBadgeBtn', \n props:{ \n iconId:{\n type:Number,\n default:0\n },\n icoBadge:{\n type:String,\n default:'mdi-exclamation'\n },\n icoBadgeSelected:{\n type:String,\n default:'mdi-check'\n },\n showValueOnBadge:{\n type:Boolean,\n default:false\n },\n selected:{\n type:Boolean,\n default:false\n },\n qty:{\n type:Number,\n default:0\n }, \n showQtySelected:{\n type:Boolean,\n default:true\n },\n qtySelected:{\n type:Number,\n default:0\n },\n label:{\n type:String,\n default:''\n },\n small:{\n type:Boolean,\n default:false\n }\n }\n })\n export default class IcoBadgeBtn extends Vue { \n iconId!:number\n icoBadge!:string \n icoBadgeSelected!:string \n selected!:string\n qty!:number\n label!:string\n showValueOnBadge!:boolean\n small!:boolean\n showQtySelected!:boolean\n qtySelected!:number\n\n\n get iconsDic(){\n return this.$store.myGetters.iconsDic\n }\n\n get icon(){\n return this.iconsDic[this.iconId]?this.iconsDic[this.iconId]:getDefaultAloIcon()\n }\n\n get iconUrl(){\n return this.selected?this.icon.selectedIcon:this.icon.icon\n }\n\n get badgeIcon(){\n return this.selected?this.icoBadgeSelected:this.icoBadge\n }\n\n get badgeContent() {\n return this.showValueOnBadge?this.qty:''\n }\n\n }\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IcoBadgeBtn.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IcoBadgeBtn.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IcoBadgeBtn.vue?vue&type=template&id=eb82baf4&\"\nimport script from \"./IcoBadgeBtn.vue?vue&type=script&lang=ts&\"\nexport * from \"./IcoBadgeBtn.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./IcoBadgeBtn.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\ninstallComponents(component, {VBadge,VBtn})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"no-break-inside\",staticStyle:{\"display\":\"block\",\"position\":\"relative!important\"}},[_c('div',{staticStyle:{\"display\":\"block\",\"position\":\"relative\"}},[_c('v-card',{staticClass:\"d-flex flex-column mx-2 mb-2 no-print-back\",staticStyle:{\"overflow\":\"hidden\"},attrs:{\"id\":(\"section_\" + (_vm.plat.id)),\"color\":\"grey lighten-3\"}},[_c('v-img',{staticClass:\"cursor-pointer align-center rounded-lg\",attrs:{\"gradient\":(_vm.plat.selected && !_vm.printMode)?'to bottom, rgba(0,0,0,0), rgba(0,0,0,.3)':'to bottom, rgba(0,0,0,0), rgba(0,0,0,.6)',\"max-height\":\"120\",\"height\":\"120\",\"src\":_vm.plat.image,\"lazy-src\":_vm.plat.image},on:{\"click\":function($event){$event.preventDefault();return _vm.togglePlat()}}},[_c('v-card-title',{staticClass:\"pa-2 card-title\",staticStyle:{\"max-width\":\"60%\",\"margin\":\"auto\"}},[_vm._v(_vm._s(_vm.$gt(_vm.plat).libelle))])],1),_c('v-expand-transition',[(_vm.plat.selected || _vm.printMode)?_c('div',{staticClass:\"d-flex flex-column\"},[(_vm.showAllergeneBtn)?_c('v-btn',{staticClass:\"ma-2\",attrs:{\"x-small\":\"\",\"input-value\":_vm.showAllergene,\"color\":\"primary\",\"active-class\":\"secondary\",\"rounded\":\"\"},on:{\"click\":function($event){_vm.showAllergene = !_vm.showAllergene}}},[_vm._v(_vm._s(_vm.showAllergene?_vm.$t('Dish.HideAllergens'):_vm.$t('Dish.ShowAllergens')))]):_vm._e(),_vm._l((_vm.plats),function(subPlat){return _c(subPlat.template,{key:subPlat.id,tag:\"component\",attrs:{\"canAddFromArbo\":_vm.canAddFromArbo,\"plat\":subPlat,\"platSectionId\":_vm.plat.id,\"platArboId\":_vm.platArboId},on:{\"addToCart\":_vm.addToCart}})})],2):_vm._e()]),(!_vm.printMode)?_c('v-card-actions',{staticClass:\"px-0\"},[_c('v-btn',{staticStyle:{\"position\":\"absolute\",\"bottom\":\"0px\"},attrs:{\"color\":\"primary\",\"width\":\"100%\",\"height\":\"22px\"},on:{\"click\":function($event){$event.preventDefault();return _vm.togglePlat()}}},[_c('v-icon',{domProps:{\"textContent\":_vm._s(_vm.plat.selected?'mdi-chevron-up':'mdi-chevron-down')}})],1)],1):_vm._e()],1)],1),(_vm.printMode)?_c('div',{staticClass:\"text-center\",domProps:{\"innerHTML\":_vm._s(' ')}}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AloArbo } from '@/models/alo/AloArbo';\r\nimport { AloArboLg } from '@/models/alo/AloArboLg';\r\nimport { AloPlat } from '@/models/alo/AloPlat';\r\nimport { ItemPanier } from '@/models/alo/ItemPanier';\r\nimport { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'BasePlat', \r\n props: {\r\n plat:{\r\n type:Object,\r\n required:true\r\n },\r\n platSectionId:{\r\n type:Number,\r\n default:null\r\n },\r\n platArboId:{\r\n type:Number,\r\n default:null\r\n },\r\n platParentId:{\r\n type:Number,\r\n default:null\r\n },\r\n canAddFromArbo:{\r\n type:Function,\r\n default:(arbo:AloArbo) => false\r\n } \r\n }\r\n})\r\nexport default class BasePlat extends Vue {\r\n plat!:AloPlat\r\n platSectionId!:number|null \r\n platArboId!:number|null\r\n platParentId!:number|null\r\n canAddFromArbo!:Function\r\n \r\n addToCart(itemPanier:ItemPanier){\r\n this.$emit(\"addToCart\",itemPanier) \r\n } \r\n\r\n get arbosDic(){\r\n return this.$store.myGetters.arbosDic\r\n }\r\n\r\n get panier(){\r\n return this.$store.myGetters.panier\r\n }\r\n\r\n get canAdd() {\r\n return !this.platArboId || this.canAddFromArbo(this.arbosDic[this.platArboId])\r\n } \r\n \r\n get printMode(){\r\n return this.$store.myGetters.printMode\r\n }\r\n \r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { AloPlat } from '@/models/alo/AloPlat'\r\nimport { ItemPanier } from '@/models/alo/ItemPanier'\r\nimport { Component, Vue } from 'vue-property-decorator'\r\nimport { mixins } from 'vue-class-component'\r\nimport BasePlat from '@/components/carte/BasePlat'\r\n\r\n@Component({\r\n name: 'Section' \r\n})\r\nexport default class Section extends mixins(BasePlat) { \r\n\r\n \r\n\r\n get showAllergene(){\r\n return this.$store.myGetters.showAllergene\r\n }\r\n \r\n set showAllergene(value) {\r\n this.$store.myActions.UI_SET_ALLERGENE_VISIBLITY(value)\r\n }\r\n\r\n get platsDic(){\r\n return this.$store.myGetters.platsDic\r\n }\r\n\r\n get showAllergeneBtn() {\r\n return !this.printMode && this.hasAllergene(this.plat)\r\n }\r\n\r\n hasAllergene(plat:AloPlat):boolean {\r\n return (plat.allergenesIds && plat.allergenesIds.length > 0) || (plat.platsIds?.map(id => this.platsDic[id]) || []).some(p => this.hasAllergene(p)) \r\n }\r\n\r\n togglePlat() { \r\n const mustScroll = !this.plat.selected \r\n this.$store.myActions.ROOM_SERVICES_PLAT_SET_SELECTION({selected:!this.plat.selected,ids:[this.plat.id]}) \r\n if(mustScroll){\r\n setTimeout(() => {\r\n //@ts-ignore\r\n this.$vuetify.goTo(`#section_${this.plat.id}`,{duration:250,offset:10})\r\n }, 250) \r\n }\r\n }\r\n\r\n get plats(){\r\n return this.plat.platsIds?.map(id => this.platsDic[id]) || []\r\n }\r\n \r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Section.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Section.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Section.vue?vue&type=template&id=928f6ea2&\"\nimport script from \"./Section.vue?vue&type=script&lang=ts&\"\nexport * from \"./Section.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VExpandTransition } from 'vuetify/lib/components/transitions';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardTitle,VExpandTransition,VIcon,VImg})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"px-3 print-plat\",attrs:{\"dense\":_vm.dense}},[_c('v-col',{attrs:{\"cols\":\"8\"}},[_c('div',{staticClass:\"plat-title\"},[_vm._v(_vm._s(_vm.$gt(_vm.plat).libelle))]),_c('div',{staticClass:\"subLine\"},[_c('plat-allergenes',{attrs:{\"plat\":_vm.plat}}),_vm._v(\" \"+_vm._s(_vm.$gt(_vm.plat).descriptif)+\" \")],1),_c('plat-bios',{attrs:{\"plat\":_vm.plat}})],1),_c('v-col',{staticClass:\"d-flex justify-end align-center\",attrs:{\"cols\":\"4\"}},[_c('strong',{staticClass:\"primary--text body-2 prix\"},[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.plat.prix)))]),(!_vm.printMode)?_c('v-btn',{staticClass:\"ml-3 py-4 px-1 btn-txt\",attrs:{\"x-small\":\"\",\"color\":_vm.canAdd?'primary':'red'},on:{\"click\":function($event){return _vm.addItemToPanier()}}},[_vm._v(_vm._s(_vm.$t('Cart.Add')))]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { AloPlat } from '@/models/alo/AloPlat'\r\nimport { ItemPanier } from '@/models/alo/ItemPanier'\r\nimport { Component, Vue } from 'vue-property-decorator'\r\nimport { mixins } from 'vue-class-component'\r\nimport BasePlat from '@/components/carte/BasePlat'\r\nimport { VuetifyConfirmObject } from 'vuetify-confirm'\r\n\r\n@Component({\r\n name: 'ProduitSimple', \r\n props: { \r\n dense:{\r\n type:Boolean,\r\n default:false\r\n }\r\n }\r\n})\r\nexport default class ProduitSimple extends mixins(BasePlat) { \r\n dense!:boolean\r\n\r\n addItemToPanier() {\r\n if(!this.canAdd) this.$confirm(this.$t('Cart.AlertProductMix').toString(),{title: this.$t('Cart.AlertProductMixTitle'),buttonTrueText:this.$t('Global.Ok'),buttonFalseText:\"\"} as VuetifyConfirmObject)\r\n else this.addToCart(new ItemPanier({plat:this.plat,qty:1,parentId:this.platParentId,sectionId:this.platSectionId,arboId:this.platArboId})) \r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProduitSimple.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProduitSimple.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProduitSimple.vue?vue&type=template&id=c56663f2&\"\nimport script from \"./ProduitSimple.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProduitSimple.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',{staticClass:\"px-3\"},[_c('v-col',{attrs:{\"cols\":_vm.printMode?12:8}},[_c('div',{staticClass:\"plat-title\"},[_vm._v(_vm._s(_vm.$gt(_vm.plat).libelle))]),_c('div',{staticClass:\"subLine\"},[_c('plat-allergenes',{attrs:{\"plat\":_vm.plat}}),_vm._v(\" \"+_vm._s(_vm.$gt(_vm.plat).descriptif)+\" \")],1),_c('plat-bios',{attrs:{\"plat\":_vm.plat}})],1),(!_vm.printMode)?_c('v-col',{staticClass:\"pl-0 text-right\",attrs:{\"cols\":\"4\"}},[(_vm.forceQuantifiable)?_c('v-btn',{staticClass:\"ml-3 py-4 px-1 btn-txt\",attrs:{\"disabled\":_vm.plat.selected,\"x-small\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.selectProduct(true)}}},[_vm._v(_vm._s(_vm.$t('Cart.Add')))]):_c('v-btn',{staticClass:\"ml-3 py-4 px-1 btn-txt\",attrs:{\"x-small\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.togglePlat(true)}}},[_vm._v(_vm._s(_vm.plat.selected?_vm.$t('Global.Close'):_vm.$t('Global.Choose')))])],1):_vm._e()],1),_c('v-expand-transition',[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.plat.selected || _vm.printMode),expression:\"plat.selected || printMode\"}]},[(_vm.forceQuantifiable)?_vm._l((_vm.plat.platsIds.map(function (id){ return _vm.platsDic[id]; })),function(subPlat){return _c('plat-produit-quantifiable',{key:subPlat.id,ref:\"quantifiables\",refInFor:true,attrs:{\"canAddFromArbo\":_vm.canAddFromArbo,\"dense\":true,\"allowAdd\":false,\"reset\":_vm.plat.selected,\"plat\":subPlat,\"platParentId\":_vm.plat.id,\"platSectionId\":_vm.platSectionId,\"platArboId\":_vm.platArboId},on:{\"addToCart\":_vm.addToCart}})}):_vm._l((_vm.plat.platsIds.map(function (id){ return _vm.platsDic[id]; })),function(subPlat){return _c(subPlat.template,{key:subPlat.id,tag:\"component\",staticClass:\"ml-12\",attrs:{\"canAddFromArbo\":_vm.canAddFromArbo,\"dense\":true,\"reset\":_vm.plat.selected,\"plat\":subPlat,\"platParentId\":_vm.plat.id,\"platSectionId\":_vm.platSectionId,\"platArboId\":_vm.platArboId},on:{\"addToCart\":_vm.addToCart}})}),(_vm.forceQuantifiable)?_c('v-row',{staticClass:\"pl-8 pr-3\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12 text-right mt-2\"}},[_c('v-btn',{staticClass:\"ml-3 py-4\",attrs:{\"x-small\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.selectProduct(false)}}},[_vm._v(_vm._s(_vm.$t('Global.Cancel')))]),_c('v-btn',{staticClass:\"ml-3 py-4\",attrs:{\"disabled\":_vm.qtyTotal==0,\"x-small\":\"\",\"color\":_vm.canAdd?'primary':'red'},on:{\"click\":function($event){return _vm.addItemToPanier()}}},[_vm._v(_vm._s(_vm.$t('Global.Validate'))+\" (\"+_vm._s(_vm._f(\"currency\")(_vm.prixTotal))+\")\")])],1)],1):_vm._e()],2)]),_c('div',{staticClass:\"d-flex flex-column\",staticStyle:{\"position\":\"relative\"}},[_c('v-divider',{staticClass:\"black mx-1 my-3 animate-separation-width align-self-center\",class:{'width-0':!_vm.plat.selected}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { AloPlat } from '@/models/alo/AloPlat'\r\nimport { ItemPanier } from '@/models/alo/ItemPanier'\r\nimport { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport ProduitQuantfiable from './ProduitQuantfiable.vue'\r\nimport { mixins } from 'vue-class-component'\r\nimport BasePlat from '@/components/carte/BasePlat'\r\nimport { VuetifyConfirmObject } from 'vuetify-confirm'\r\n\r\n@Component({\r\n name: 'ProduitMultiples', \r\n props: { \r\n forceQuantifiable:{\r\n type:Boolean,\r\n default:false\r\n }\r\n }\r\n})\r\nexport default class ProduitMultiples extends mixins(BasePlat) { \r\n forceQuantifiable!:boolean\r\n\r\n \r\n get showAllergene(){\r\n return this.$store.myGetters.showAllergene\r\n }\r\n\r\n get platsDic(){\r\n return this.$store.myGetters.platsDic\r\n }\r\n\r\n get prixTotal() { \r\n return this.plat.selected && this.$refs.quantifiables?(this.$refs.quantifiables as Array)?.reduce((total,cp) => total + cp.itemPanier.prixTotalAvecOptions,0):0\r\n }\r\n\r\n get qtyTotal(){ \r\n return this.plat.selected && this.$refs.quantifiables?(this.$refs.quantifiables as Array)?.reduce((total,cp) => total + cp.itemPanier.qty,0):0\r\n }\r\n\r\n addItemToPanier(){ \r\n if(!this.canAdd) this.$confirm(this.$t('Cart.AlertProductMix').toString(),{title: this.$t('Cart.AlertProductMixTitle'),buttonTrueText:this.$t('Global.Ok'),buttonFalseText:\"\"} as VuetifyConfirmObject)\r\n else {\r\n (this.$refs.quantifiables as Array)?.forEach(cp => cp.addItemToPanier())\r\n this.selectProduct(false) \r\n }\r\n }\r\n \r\n selectProduct(selected:boolean) {\r\n this.$store.myActions.ROOM_SERVICES_PLAT_SET_SELECTION({selected,ids:[this.plat.id]})\r\n }\r\n\r\n togglePlat() { \r\n this.selectProduct(!this.plat.selected) \r\n }\r\n \r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProduitMultiples.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProduitMultiples.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProduitMultiples.vue?vue&type=template&id=0f1bc278&\"\nimport script from \"./ProduitMultiples.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProduitMultiples.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VExpandTransition } from 'vuetify/lib/components/transitions';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VDivider,VExpandTransition,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('plat-produit-multiples',{attrs:{\"canAddFromArbo\":_vm.canAddFromArbo,\"plat\":_vm.plat,\"forceQuantifiable\":true,\"platSectionId\":_vm.platSectionId,\"platArboId\":_vm.platArboId},on:{\"addToCart\":_vm.addToCart}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\r\n// @ is an alias to /src\r\nimport { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport { mixins } from 'vue-class-component'\r\nimport BasePlat from '@/components/carte/BasePlat'\r\n\r\n\r\n@Component({\r\n name: 'ProduitMultiplesQuantifiable' \r\n})\r\nexport default class ProduitMultiplesQuantifiable extends mixins(BasePlat) { \r\n dense!:boolean\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProduitMultiplesQuantifiable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProduitMultiplesQuantifiable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProduitMultiplesQuantifiable.vue?vue&type=template&id=707b1948&\"\nimport script from \"./ProduitMultiplesQuantifiable.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProduitMultiplesQuantifiable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"print-plat\"},[_c('v-row',{staticClass:\"px-3\"},[_c('v-col',{attrs:{\"cols\":_vm.isEdited?12:8}},[_c('div',{staticClass:\"plat-title\"},[_vm._v(_vm._s(_vm.$gt(_vm.plat).libelle))]),_c('div',{staticClass:\"subLine\"},[_c('plat-allergenes',{attrs:{\"plat\":_vm.plat}}),_vm._v(\" \"+_vm._s(_vm.$gt(_vm.plat).descriptif)+\" \")],1),_c('plat-bios',{attrs:{\"plat\":_vm.plat}})],1),(!_vm.isEdited)?_c('v-col',{staticClass:\"d-flex justify-end align-center\",attrs:{\"cols\":\"4\"}},[_c('strong',{staticClass:\"primary--text body-2 prix\"},[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.plat.prix)))]),(!_vm.printMode)?_c('v-btn',{staticClass:\"ml-3 py-4 px-1 btn-txt\",attrs:{\"disabled\":_vm.plat.selected,\"x-small\":\"\",\"color\":_vm.canAdd?'primary':'red'},on:{\"click\":function($event){return _vm.selectProduct()}}},[_vm._v(_vm._s(_vm.$t('Cart.Add')))]):_vm._e()],1):_vm._e()],1),_c('v-expand-transition',[((_vm.plat.selected && !_vm.directValidation) || _vm.isEdited)?_c('v-row',{staticClass:\"pl-8 pr-3\",attrs:{\"dense\":\"\"}},[(_vm.mustSelectCuisson)?_c('v-col',{staticClass:\"cursor-pointer\",attrs:{\"cols\":\"12\"},on:{\"click\":function($event){_vm.showCuisson = true}}},[_c('strong',{staticClass:\"body-2\"},[_vm._v(_vm._s(_vm.$t('Dish.SelectedCooking'))+\" : \"),(_vm.itemPanier.cuisson && _vm.itemPanier.cuisson.lgs.length > 0)?[_vm._v(_vm._s(_vm.$gt(_vm.itemPanier.cuisson).libelle)),_c('v-btn',{attrs:{\"color\":\"primary\",\"icon\":\"\",\"x-small\":\"\"}},[_c('v-icon',{attrs:{\"right\":\"\",\"x-small\":\"\"}},[_vm._v(\"mdi-pencil\")])],1)]:_c('v-btn',{staticClass:\"btn-txt\",attrs:{\"outlined\":\"\",\"color\":\"primary\",\"x-small\":\"\"}},[_vm._v(_vm._s(_vm.$t('Dish.ChooseCooking')))])],2)]):_vm._e(),(_vm.mustSelectParfum)?_c('v-col',{staticClass:\"cursor-pointer\",attrs:{\"cols\":\"12\"},on:{\"click\":function($event){_vm.showParfum = true}}},[_c('strong',{staticClass:\"body-2\"},[_vm._v(_vm._s(_vm.$t('Dish.SelectedFlavor'))+\" : \"),(_vm.itemPanier.parfum && _vm.itemPanier.parfum.lgs.length > 0)?[_vm._v(_vm._s(_vm.$gt(_vm.itemPanier.parfum).libelle)),_c('v-btn',{attrs:{\"color\":\"primary\",\"icon\":\"\",\"x-small\":\"\"}},[_c('v-icon',{attrs:{\"right\":\"\",\"x-small\":\"\"}},[_vm._v(\"mdi-pencil\")])],1)]:_c('v-btn',{staticClass:\"btn-txt\",attrs:{\"outlined\":\"\",\"color\":\"primary\",\"x-small\":\"\"}},[_vm._v(_vm._s(_vm.$t('Dish.ChooseFlavor')))])],2)]):_vm._e(),(_vm.plat.accompagnementsIds.length > 0)?_c('v-col',{staticClass:\"primary--text\",attrs:{\"cols\":\"12\"}},[(_vm.plat.qtyAccompagnementGratuit > 0)?[_c('strong',{staticClass:\"text-uppercase body-2\"},[_vm._v(_vm._s(_vm.plat.qtyAccompagnementGratuit)+\" \"+_vm._s(_vm.$tc('Dish.ChoiceSideDish', _vm.plat.qtyAccompagnementGratuit)))]),(_vm.plat.prixAccompagnement)?_c('div',{staticClass:\"subLine\"},[_vm._v(\"(\"+_vm._s(_vm.$t('Dish.BeyondSideDish'))+\" \"+_vm._s(_vm._f(\"currency\")(_vm.plat.prixAccompagnement))+\")\")]):_vm._e()]:[_c('strong',{staticClass:\"text-uppercase body-2\"},[_vm._v(_vm._s(_vm.$t('Dish.CravingMore')))]),(_vm.plat.prixAccompagnement)?_c('div',{staticClass:\"subLine\"},[_vm._v(\"(\"+_vm._s(_vm.$t('Dish.SideDish'))+\" \"+_vm._s(_vm._f(\"currency\")(_vm.plat.prixAccompagnement))+\")\")]):_vm._e()]],2):_vm._e(),_vm._l((_vm.itemPanier.accompagnements),function(accompagnement){return [_c('v-col',{key:(\"text_\" + (accompagnement.item.id)),staticClass:\"d-flex align-center\",attrs:{\"cols\":\"8\"}},[_c('strong',{staticClass:\"subLine\"},[_vm._v(_vm._s(_vm.$gt(accompagnement.item).libelle))])]),_c('v-col',{key:(\"qty_\" + (accompagnement.item.id)),staticClass:\"d-flex justify-end align-center\",attrs:{\"cols\":\"4\"}},[_c('v-switch',{staticClass:\"ma-0\",attrs:{\"hide-details\":\"\",\"input-value\":accompagnement.qty > 0},on:{\"click\":function($event){accompagnement.qty > 0?accompagnement.qty=0:accompagnement.qty = 1}}}),_c('qty-field',{model:{value:(accompagnement.qty),callback:function ($$v) {_vm.$set(accompagnement, \"qty\", $$v)},expression:\"accompagnement.qty\"}})],1)]}),(!_vm.printMode)?_c('v-col',{attrs:{\"cols\":\"12 text-right mt-2\"}},[_c('v-btn',{staticClass:\"ml-3 py-4\",attrs:{\"x-small\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.cancel()}}},[_vm._v(_vm._s(_vm.$t('Global.Cancel')))]),_c('v-btn',{staticClass:\"ml-3 py-4\",attrs:{\"x-small\":\"\",\"color\":_vm.canAdd?'primary':'red'},on:{\"click\":function($event){return _vm.addItemToPanier()}}},[_vm._v(_vm._s(_vm.$t('Global.Validate'))+\" (\"+_vm._s(_vm._f(\"currency\")(_vm.itemPanier.prixTotalAvecOptions))+\")\")])],1):_vm._e()],2):_vm._e()],1),(!_vm.directValidation)?_c('div',{staticClass:\"d-flex flex-column\",staticStyle:{\"position\":\"relative\"}},[_c('v-divider',{staticClass:\"black my-3 animate-separation-width align-self-center\",class:{'width-0':!_vm.plat.selected || _vm.directValidation}})],1):_vm._e(),_c('select-from-list',{attrs:{\"title\":_vm.$t('Dish.ChooseCookingTitle'),\"subtitle\":_vm.$gt(_vm.plat).libelle,\"selectedItem\":_vm.itemPanier.cuisson,\"items\":_vm.$gct(_vm.plat,function (it){ return it.cuissons||[]; })},on:{\"select\":_vm.onCuissonSelected,\"cancel\":function($event){return _vm.onCancelSelect()}},model:{value:(_vm.showCuisson),callback:function ($$v) {_vm.showCuisson=$$v},expression:\"showCuisson\"}}),_c('select-from-list',{attrs:{\"title\":_vm.$t('Dish.ChooseFlavorTitle'),\"subtitle\":_vm.$gt(_vm.plat).libelle,\"selectedItem\":_vm.itemPanier.parfum,\"items\":_vm.$gct(_vm.plat,function (it){ return it.parfums||[]; })},on:{\"select\":_vm.onParfumSelected,\"cancel\":function($event){return _vm.onCancelSelect()}},model:{value:(_vm.showParfum),callback:function ($$v) {_vm.showParfum=$$v},expression:\"showParfum\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AloPlat } from '@/models/alo/AloPlat';\r\nimport { ItemPanier } from '@/models/alo/ItemPanier';\r\nimport { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'PlatEditable'\r\n})\r\nexport default class PlatEditable extends Vue {\r\n \r\n isEdited:boolean = false\r\n itemPanier:ItemPanier = new ItemPanier()\r\n\r\n public edit(itemPanier:ItemPanier) {\r\n this.isEdited = true\r\n this.itemPanier = itemPanier\r\n }\r\n \r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { AloPlat } from '@/models/alo/AloPlat'\r\nimport { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport {ItemPanier} from '@/models/alo/ItemPanier'\r\nimport { VuetifyConfirmObject } from 'node_modules/vuetify-confirm/types'\r\nimport { AloBaseLg, getDefaultAloBaseLg } from '@/models/alo/AloBaseLg'\r\nimport { mixins } from 'vue-class-component'\r\nimport BasePlat from '@/components/carte/BasePlat'\r\nimport PlatEditable from './PlatEditable'\r\n\r\n\r\n@Component({\r\n name: 'ProduitAccompagnement'\r\n})\r\nexport default class ProduitAccompagnement extends mixins(BasePlat,PlatEditable) { \r\n itemPanier:ItemPanier = new ItemPanier()\r\n showCuisson = false\r\n showParfum = false\r\n autoAdd = false\r\n\r\n get platSelected(){\r\n return this.plat.selected\r\n }\r\n \r\n @Watch(\"platSelected\")\r\n onPlatSelectedChange(){\r\n //Commenté car Florent est en négo avec le client\r\n this.showCuisson = /*!!this.directValidation &&*/ !!this.plat.selected && !!this.mustSelectCuisson && this.itemPanier.cuisson?.lgs.length == 0\r\n //@ts-ignore\r\n this.showParfum = !!this.plat.selected && this.mustSelectParfum && this.itemPanier.parfum?.lgs.length == 0\r\n this.autoAdd = this.directValidation\r\n }\r\n\r\n get platsDic(){\r\n return this.$store.myGetters.platsDic\r\n\r\n }\r\n\r\n get mustSelectParfum(){ \r\n //@ts-ignore\r\n return (this.$gt(this.plat).parfums || []).length > 0\r\n }\r\n\r\n get mustSelectCuisson(){ \r\n //@ts-ignore\r\n return (this.$gt(this.plat).cuissons || []).length > 0 \r\n }\r\n\r\n get directValidation(){\r\n return ((this.mustSelectCuisson && !this.mustSelectParfum) || (!this.mustSelectCuisson && this.mustSelectParfum ) )\r\n && this.plat.accompagnementsIds?.length == 0 && !this.isEdited\r\n }\r\n\r\n get isSimpleProduct() {\r\n return (!this.mustSelectCuisson && !this.mustSelectParfum ) && this.plat.accompagnementsIds?.length == 0 \r\n }\r\n \r\n get accompagnementsDic(){\r\n return this.$store.myGetters.accompagnementsDic\r\n }\r\n\r\n get accompagnements(){\r\n return this.plat.accompagnementsIds?.map(id => this.accompagnementsDic[id]) || []\r\n }\r\n\r\n selectProduct() { \r\n if(!this.canAdd) this.$confirm(this.$t('Cart.AlertProductMix').toString(),{title: this.$t('Cart.AlertProductMixTitle'),buttonTrueText:this.$t('Global.Ok'),buttonFalseText:\"\"} as VuetifyConfirmObject)\r\n else {\r\n this.itemPanier = new ItemPanier({plat:this.plat,accompagnements:this.accompagnements.map(item => {return {qty:0,item}}),cuisson:{lgs:[]},parfum:{lgs:[]},qty:1,parentId:this.platParentId,sectionId:this.platSectionId,arboId:this.platArboId}) \r\n if(this.isSimpleProduct){\r\n this.addItemToPanier()\r\n }\r\n else{\r\n this.$store.myActions.ROOM_SERVICES_PLAT_SET_SELECTION({selected:true,ids:[this.plat.id]}) \r\n } \r\n }\r\n }\r\n\r\n cancel(){\r\n if(this.isEdited){\r\n this.$emit(\"cancel\")\r\n }\r\n else { \r\n this.$store.myActions.ROOM_SERVICES_PLAT_SET_SELECTION({selected:false,ids:[this.plat.id]})\r\n }\r\n }\r\n\r\n addItemToPanier() {\r\n if(!this.canAdd) this.$confirm(this.$t('Cart.AlertProductMix').toString(),{title: this.$t('Cart.AlertProductMixTitle'),buttonTrueText:this.$t('Global.Ok'),buttonFalseText:\"\"} as VuetifyConfirmObject)\r\n else \r\n { \r\n this.autoAdd = false\r\n if(this.mustSelectCuisson && this.itemPanier.cuisson?.lgs.length == 0) {\r\n //on le marque en auto add pour qu'a la selection de la cuisson on ajoute l'item au panier\r\n this.autoAdd = true\r\n this.showCuisson = true \r\n } \r\n //@ts-ignore\r\n else if(this.mustSelectParfum && this.itemPanier.parfum?.lgs.length == 0) {\r\n //on le marque en auto add pour qu'a la selection de la cuisson on ajoute l'item au panier\r\n this.autoAdd = true\r\n this.showParfum = true \r\n } \r\n else if(this.itemPanier.nbAccompagnements < (this.plat.qtyAccompagnementGratuit || 0)) { \r\n this.$confirm(this.$tc('Dish.AlertSideDishes',this.plat.qtyAccompagnementGratuit||0),{title: this.$t('Dish.AlertSideDishesTitle'),buttonTrueText:this.$t('Global.Ok'),buttonFalseText:\"\"} as VuetifyConfirmObject)\r\n }\r\n else {\r\n //this.$store.myActions.ROOM_SERVICES_ADD_PANIER(this.itemPanier)\r\n this.addToCart(this.itemPanier)\r\n this.cancel() \r\n }\r\n }\r\n }\r\n\r\n onCuissonSelected(cuisson:{lgs:Array}) { \r\n this.itemPanier.cuisson = cuisson\r\n if(this.autoAdd) this.addItemToPanier()\r\n }\r\n\r\n onParfumSelected(parfum:{lgs:Array}){\r\n this.itemPanier.parfum = parfum \r\n if(this.autoAdd) this.addItemToPanier()\r\n }\r\n\r\n onCancelSelect(){ \r\n if(this.directValidation) this.cancel()\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProduitAccompagnement.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProduitAccompagnement.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProduitAccompagnement.vue?vue&type=template&id=3f6d5a6a&\"\nimport script from \"./ProduitAccompagnement.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProduitAccompagnement.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VExpandTransition } from 'vuetify/lib/components/transitions';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\ninstallComponents(component, {VBtn,VCol,VDivider,VExpandTransition,VIcon,VRow,VSwitch})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"px-3 print-plat\"},[_c('v-col',{attrs:{\"cols\":\"8\"}},[_c('div',{staticClass:\"plat-title\"},[_vm._v(_vm._s(_vm.$gt(_vm.plat).libelle))]),_c('div',{staticClass:\"subLine\"},[_c('plat-allergenes',{attrs:{\"plat\":_vm.plat}}),_vm._v(\" \"+_vm._s(_vm.$gt(_vm.plat).descriptif)+\" \")],1),_c('plat-bios',{attrs:{\"plat\":_vm.plat}})],1),_c('v-col',{staticClass:\"text-right\",attrs:{\"cols\":\"4\"}},[_c('strong',{staticClass:\"primary--text prix\"},[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.plat.prix)))]),(!_vm.printMode)?_c('v-btn',{staticClass:\"ml-3 py-4\",attrs:{\"x-small\":\"\",\"color\":\"primary\"}},[_vm._v(_vm._s(_vm.$t('Cart.Add')))]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { AloPlat } from '@/models/alo/AloPlat'\r\nimport { Component, Vue } from 'vue-property-decorator'\r\nimport { mixins } from 'vue-class-component'\r\nimport BasePlat from '@/components/carte/BasePlat'\r\n\r\n@Component({\r\n name: 'ProduitParfum'\r\n})\r\nexport default class ProduitParfum extends mixins(BasePlat) { \r\n\r\n get showAllergene(){\r\n return this.$store.myGetters.showAllergene\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProduitParfum.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProduitParfum.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProduitParfum.vue?vue&type=template&id=400b7672&\"\nimport script from \"./ProduitParfum.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProduitParfum.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"px-3 print-plat\",attrs:{\"dense\":_vm.dense}},[_c('v-col',{attrs:{\"cols\":_vm.allowAdd?5:9}},[_c('div',{staticClass:\"plat-title\"},[_vm._v(_vm._s(_vm.$gt(_vm.plat).libelle))]),_c('div',{staticClass:\"subLine\"},[_c('plat-allergenes',{attrs:{\"plat\":_vm.plat}}),_vm._v(\" \"+_vm._s(_vm.$gt(_vm.plat).descriptif)+\" \")],1),_c('plat-bios',{attrs:{\"plat\":_vm.plat}})],1),_c('v-col',{staticClass:\"d-flex justify-end align-center\",attrs:{\"cols\":_vm.allowAdd?7:3}},[_c('strong',{staticClass:\"primary--text body-2 mr-2 prix\"},[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.plat.prix)))]),_c('qty-field',{attrs:{\"minValue\":_vm.canAdd?1:0},model:{value:(_vm.itemPanier.qty),callback:function ($$v) {_vm.$set(_vm.itemPanier, \"qty\", $$v)},expression:\"itemPanier.qty\"}}),(_vm.allowAdd && !_vm.printMode)?_c('v-btn',{staticClass:\"ml-3 py-4 px-1 btn-txt\",attrs:{\"x-small\":\"\",\"color\":_vm.canAdd?'primary':'red'},on:{\"click\":function($event){return _vm.addItemToPanier()}}},[_vm._v(_vm._s(_vm.$t('Cart.Add'))+\" (\"+_vm._s(_vm._f(\"currency\")(_vm.itemPanier.prixTotalAvecOptions))+\")\")]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { getDefaultAloBaseLg } from '@/models/alo/AloBaseLg'\r\nimport { AloPlat } from '@/models/alo/AloPlat'\r\nimport { ItemPanier } from '@/models/alo/ItemPanier'\r\nimport { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport { mixins } from 'vue-class-component'\r\nimport BasePlat from '@/components/carte/BasePlat'\r\nimport { VuetifyConfirmObject } from 'vuetify-confirm'\r\n\r\n@Component({\r\n name: 'ProduitQuantfiable', \r\n props: {\r\n reset:{\r\n type:Boolean,\r\n default:false\r\n },\r\n allowAdd:{\r\n type:Boolean,\r\n default:true\r\n },\r\n dense:{\r\n type:Boolean,\r\n default:false\r\n }\r\n }\r\n})\r\nexport default class ProduitQuantfiable extends mixins(BasePlat) {\r\n itemPanier:ItemPanier = new ItemPanier()\r\n reset!:boolean\r\n allowAdd!:boolean\r\n dense!:boolean\r\n\r\n @Watch(\"plat\")\r\n onPlatChange(){\r\n this.resetItemPanier()\r\n }\r\n\r\n @Watch(\"reset\")\r\n onReset(){\r\n if(this.reset) this.resetItemPanier()\r\n }\r\n\r\n mounted(){\r\n this.resetItemPanier() \r\n }\r\n\r\n resetItemPanier(){\r\n this.itemPanier = new ItemPanier({plat:this.plat,cuisson:{lgs:[]},parfum:{lgs:[]},qty:this.allowAdd?1:0,parentId:this.platParentId,sectionId:this.platSectionId,arboId:this.platArboId})\r\n }\r\n\r\n get showAllergene(){\r\n return this.$store.myGetters.showAllergene\r\n }\r\n\r\n addItemToPanier() { \r\n if(!this.canAdd) this.$confirm(this.$t('Cart.AlertProductMix').toString(),{title: this.$t('Cart.AlertProductMixTitle'),buttonTrueText:this.$t('Global.Ok'),buttonFalseText:\"\"} as VuetifyConfirmObject)\r\n else\r\n { \r\n this.addToCart(this.itemPanier)\r\n this.resetItemPanier()\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProduitQuantfiable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProduitQuantfiable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProduitQuantfiable.vue?vue&type=template&id=3a6170d6&\"\nimport script from \"./ProduitQuantfiable.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProduitQuantfiable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"px-6 secondary lighten-4 mb-4 print-plat\"},[_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('strong',{staticClass:\"primary--text title-2 text-uppercase\"},[_vm._v(_vm._s(_vm.$gt(_vm.plat).libelle))])]),_c('v-col',{staticClass:\"text-right pl-0\",attrs:{\"cols\":\"3\"}},[_c('strong',{staticClass:\"primary--text title-2 prix\"},[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.plat.prix)))])]),_c('v-col',{staticClass:\"ml-5\",attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"body-2\",domProps:{\"innerHTML\":_vm._s(_vm.$gt(_vm.plat).descriptif)}}),_c('plat-allergenes',{attrs:{\"plat\":_vm.plat}}),_c('plat-bios',{attrs:{\"plat\":_vm.plat}})],1),_c('v-col',{staticClass:\"text-right float-right\",attrs:{\"cols\":\"12\"}},[(!_vm.printMode)?_c('v-btn',{staticClass:\"ml-3 py-4 px-1 btn-txt\",attrs:{\"x-small\":\"\",\"color\":_vm.canAdd?'primary':'red'},on:{\"click\":function($event){return _vm.addItemToPanier()}}},[_vm._v(_vm._s(_vm.$t('Cart.Add')))]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { AloPlat } from '@/models/alo/AloPlat'\r\nimport { ItemPanier } from '@/models/alo/ItemPanier'\r\nimport { Component, Vue } from 'vue-property-decorator'\r\nimport { mixins } from 'vue-class-component'\r\nimport BasePlat from '@/components/carte/BasePlat'\r\nimport { VuetifyConfirmObject } from 'vuetify-confirm'\r\n\r\n@Component({\r\n name: 'ProduitMenuSimple' \r\n})\r\nexport default class ProduitMenuSimple extends mixins(BasePlat) {\r\n plat!:AloPlat\r\n\r\n get showAllergene(){\r\n return this.$store.myGetters.showAllergene\r\n }\r\n\r\n addItemToPanier() { \r\n if(!this.canAdd) this.$confirm(this.$t('Cart.AlertProductMix').toString(),{title: this.$t('Cart.AlertProductMixTitle'),buttonTrueText:this.$t('Global.Ok'),buttonFalseText:\"\"} as VuetifyConfirmObject)\r\n else this.addToCart(new ItemPanier({plat:this.plat,qty:1,sectionId:this.platSectionId,arboId:this.platArboId}))\r\n }\r\n\r\n \r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProduitMenuSimple.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProduitMenuSimple.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProduitMenuSimple.vue?vue&type=template&id=461fd432&\"\nimport script from \"./ProduitMenuSimple.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProduitMenuSimple.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"print-plat no-break-inside\",staticStyle:{\"overflow\":\"hidden\"}},[_c('v-row',{staticClass:\"px-3 secondary lighten-1\"},[_c('v-col',{attrs:{\"cols\":_vm.isEdited?12:8}},[_c('div',{staticClass:\"plat-title\"},[_vm._v(_vm._s(_vm.$gt(_vm.plat).libelle))]),_c('div',{staticClass:\"subLine\"},[_c('plat-allergenes',{attrs:{\"plat\":_vm.plat}}),_vm._v(\" \"+_vm._s(_vm.$gt(_vm.plat).descriptif)+\" \")],1),_c('plat-bios',{attrs:{\"plat\":_vm.plat}})],1),(!_vm.isEdited)?_c('v-col',{staticClass:\"d-flex justify-end align-center\",attrs:{\"cols\":\"4\"}},[_c('strong',{staticClass:\"primary--text text--darken-2 body-2 prix\"},[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.plat.prix)))])]):_vm._e()],1),_c('v-row',{staticClass:\"px-3 secondary lighten-2\",attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"body-2 mb-2 text-center\",attrs:{\"cols\":\"12\"}},[_vm._v(_vm._s(_vm.$t('Dish.SelectOptions')))]),_c('v-col',{staticClass:\"d-flex flex-wrap\",staticStyle:{\"justify-content\":\"space-evenly\"},attrs:{\"cols\":\"12\"}},_vm._l((_vm.menuItems),function(item,idx){return _c('ico-badge-btn',{key:idx,attrs:{\"label\":_vm.$gt(item).libelle,\"qty\":item.qty,\"iconId\":item.iconId,\"selected\":item.qty <= (_vm.itemPanier.options[item.id]?_vm.itemPanier.options[item.id].reduce(function (total,item) { return total + item.qty; },0):0),\"qtySelected\":(_vm.itemPanier.options[item.id]?_vm.itemPanier.options[item.id].reduce(function (total,item) { return total + item.qty; },0):0)},on:{\"click\":function($event){return _vm.selectOption(item)}}})}),1),_c('v-col',{staticClass:\"body-2 mt-1 mb-2 text-center text-lowercase\",attrs:{\"cols\":\"12\"}},[_vm._v(_vm._s(_vm.$t('Dish.IncludedTitle'))+\" \"+_vm._s(_vm.$gt(_vm.plat).libelle))]),_c('v-col',{staticClass:\"d-flex\",staticStyle:{\"justify-content\":\"space-evenly\"},attrs:{\"cols\":\"12\"}},_vm._l((_vm.defaultItems),function(item,idx){return _c('ico-badge-btn',{key:idx,attrs:{\"showQtySelected\":false,\"label\":_vm.$gt(item).libelle,\"qty\":item.qty,\"iconId\":item.iconId,\"selected\":true}})}),1),_c('v-divider',{staticClass:\"primary mt-2 mb-3 mx-6\"}),_c('v-col',{staticClass:\"body-2 mb-2 text-center text-lowercase\",attrs:{\"cols\":\"12\"}},[_vm._v(_vm._s(_vm.$t('Dish.CravingMore'))+\" \"),(_vm.itemPanier.nbSupplements > 0)?_c('span',[_vm._v(\"(\"+_vm._s(_vm._f(\"currency\")(_vm.itemPanier.prixSupplementsCarte))+\")\")]):_vm._e()]),_c('v-col',{staticClass:\"d-flex flex-wrap\",staticStyle:{\"justify-content\":\"space-evenly\"},attrs:{\"cols\":\"12\"}},[_vm._l((_vm.supplementsGroup),function(group){return _c('ico-badge-btn',{key:group.key,attrs:{\"label\":(\"\" + (_vm.$gt(group.section).libelle)),\"qty\":group.values.reduce(function (total,item) { return total + item.qty; },0),\"iconId\":group.section.iconId,\"selected\":true},on:{\"click\":function($event){return _vm.editSupplement()}}})}),_c('div',{staticClass:\"d-flex flex-wrap flex-column align-center subLine\"},[_c('v-btn',{staticClass:\"badge mb-2\",attrs:{\"outlined\":\"\",\"fab\":\"\"},on:{\"click\":function($event){_vm.showCarte = true}}},[_c('v-icon',{attrs:{\"color\":\"primary\",\"x-large\":\"\"}},[_vm._v(\"mdi-plus\")])],1),_c('span',[_vm._v(_vm._s(_vm.$t(\"Dish.SupplementTitle\")))])],1)],2),(!_vm.printMode)?_c('v-col',{staticClass:\"text-right my-2\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"ml-3 py-4\",attrs:{\"x-small\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.cancel()}}},[_vm._v(_vm._s(_vm.isEdited?_vm.$t('Global.Cancel'):_vm.$t('Global.Reset')))]),_c('v-btn',{staticClass:\"ml-3 py-4\",attrs:{\"x-small\":\"\",\"color\":_vm.canAdd?'primary':'red'},on:{\"click\":function($event){return _vm.showConfirmAddMessage()}}},[_vm._v(_vm._s(_vm.isEdited?_vm.$t('Global.Validate'):_vm.$t('Cart.Add'))+\" (\"+_vm._s(_vm._f(\"currency\")(_vm.itemPanier.prixAvecOptions))+\")\")])],1):_vm._e()],1),_c('menu-breakfast-section',{attrs:{\"show\":_vm.showSection,\"plat\":_vm.selectedPlat},on:{\"update:show\":function($event){_vm.showSection=$event}},model:{value:(_vm.itemPanier.options[_vm.selectedPlat.id]),callback:function ($$v) {_vm.$set(_vm.itemPanier.options, _vm.selectedPlat.id, $$v)},expression:\"itemPanier.options[selectedPlat.id]\"}}),_c('menu-breakfast-carte',{attrs:{\"show\":_vm.showCarte,\"plat\":_vm.plat,\"itemPanier\":_vm.itemPanier},on:{\"update:show\":function($event){_vm.showCarte=$event},\"addToCart\":_vm.addSupplement,\"editSupplement\":function($event){return _vm.editSupplement()}}}),_c('menu-breakfast-edit-carte',{ref:\"editSupplement\"}),_c('div',{staticClass:\"d-flex flex-column secondary lighten-2\",staticStyle:{\"position\":\"relative\"}},[_c('v-divider',{staticClass:\"black my-3 animate-separation-width align-self-center\",class:{'width-0':!_vm.plat.selected}})],1),_c('v-dialog',{staticClass:\"ma-4\",attrs:{\"eager\":\"\",\"value\":\"true\",\"max-width\":450,\"fullscreen\":\"\",\"persistent\":true,\"scrollable\":\"\"},model:{value:(_vm.showConfirmAdd),callback:function ($$v) {_vm.showConfirmAdd=$$v},expression:\"showConfirmAdd\"}},[_c('v-card',{attrs:{\"tile\":\"\"}},[_c('v-card-title',{staticClass:\"alert-title d-flex justify-center primary--text\"},[_vm._v(_vm._s(_vm.$t(\"Dish.RecapBreakfast\")))]),_c('v-divider',{staticClass:\"primary mt-3\",staticStyle:{\"margin\":\"auto\",\"max-width\":\"500px\"},attrs:{\"width\":\"50%\"}}),_c('v-card-text',{staticClass:\"body-2 py-6 text-left\",staticStyle:{\"max-width\":\"800px\",\"margin\":\"auto\"}},[_c('cart-item',{attrs:{\"item\":_vm.itemPanier,\"readOnly\":true}}),_c('div',{staticClass:\"d-flex\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Dish.DesiredQty\"))+\" : \"),_c('v-spacer'),_c('v-btn',{staticClass:\"ml-2 pa-0\",attrs:{\"disabled\":_vm.itemPanier.qty == 1,\"width\":\"25\",\"height\":\"25\",\"fab\":\"\",\"color\":\"primary\",\"x-small\":\"\"},on:{\"click\":function($event){_vm.itemPanier.qty = _vm.itemPanier.qty>1?_vm.itemPanier.qty-1:_vm.itemPanier.qty}}},[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"mdi-minus\")])],1),_c('v-btn',{staticClass:\"mx-2 pa-0\",attrs:{\"width\":\"25\",\"height\":\"25\",\"fab\":\"\",\"color\":\"primary\",\"x-small\":\"\"},on:{\"click\":function($event){_vm.itemPanier.qty++}}},[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"mdi-plus\")])],1)],1)],1),(!_vm.printMode)?_c('v-card-actions',{staticClass:\"pb-6 px-6\"},[_c('v-spacer'),_c('v-btn',{staticClass:\"ml-3 py-4\",attrs:{\"x-small\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.backToConfig()}}},[_vm._v(_vm._s(_vm.$t('Dish.ModifyConfig')))]),_c('v-btn',{staticClass:\"ml-3 py-4\",attrs:{\"x-small\":\"\",\"color\":_vm.canAdd?'primary':'red'},on:{\"click\":function($event){return _vm.addItemToPanier()}}},[_vm._v(_vm._s(_vm.$t('Global.Validate'))+\" (\"+_vm._s(_vm._f(\"currency\")(_vm.itemPanier.prixTotalAvecOptions))+\")\")])],1):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"persistent\":\"\",\"fullscreen\":\"\",\"hide-overlay\":\"\",\"transition\":\"dialog-bottom-transition\"},model:{value:(_vm.showDialog),callback:function ($$v) {_vm.showDialog=$$v},expression:\"showDialog\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"color\":\"secondary\"}},[_c('v-toolbar-title',{staticClass:\"white--text font-secondary\"},[_vm._v(_vm._s(_vm.titleOption))]),_c('v-spacer'),_c('v-btn',{staticClass:\"btn-txt\",attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.showDialog = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('Global.Validate'))+\" \")])],1),_c('v-card-text',{staticClass:\"px-0\",staticStyle:{\"margin\":\"auto\",\"max-width\":\"800px\",\"overflow-x\":\"hidden\"}},[_c('div',{staticClass:\"d-flex flex-column mt-4 mb-2\"},[_c('v-img',{staticClass:\"mx-2 cursor-pointer align-center rounded-lg\",attrs:{\"gradient\":\"to bottom, rgba(0,0,0,0), rgba(0,0,0,.5)\",\"max-height\":\"120\",\"src\":_vm.plat.image}},[_c('v-card-title',{staticClass:\"pa-2 card-title\",staticStyle:{\"max-width\":\"60%\",\"margin\":\"auto\"}},[_vm._v(_vm._s(_vm.$gt(_vm.plat).libelle))])],1),_c('v-expand-transition',[_c('div',{staticClass:\"d-flex flex-column\"},[(_vm.showAllergeneBtn)?_c('v-btn',{staticClass:\"ma-2\",attrs:{\"x-small\":\"\",\"input-value\":_vm.showAllergene,\"color\":\"primary\",\"active-class\":\"secondary\",\"rounded\":\"\"},on:{\"click\":function($event){_vm.showAllergene = !_vm.showAllergene}}},[_vm._v(_vm._s(_vm.showAllergene?_vm.$t('Dish.HideAllergens'):_vm.$t('Dish.ShowAllergens')))]):_vm._e(),(_vm.showDialog)?_vm._l((_vm.plats),function(subPlat){return _c('menu-breakfast-section-item',{key:(\"p_\" + (subPlat.id)),attrs:{\"qtyAllowed\":_vm.nbChoixSectionRestant,\"plat\":subPlat},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})}):_vm._e(),_c('v-btn',{staticClass:\"mt-8 mx-2 btn-txt\",attrs:{\"color\":\"primary\",\"small\":\"\"},on:{\"click\":function($event){_vm.showDialog = false}}},[_vm._v(\" Valider \")])],2)])],1)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"pl-8 pr-3 no-break-inside\",attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"d-flex align-center\",attrs:{\"cols\":\"8\"}},[_c('div',{staticClass:\"plat-title\"},[_vm._v(_vm._s(_vm.$gt(_vm.plat).libelle))])]),_c('v-col',{staticClass:\"d-flex justify-end align-center\",attrs:{\"cols\":\"4\"}},[_c('v-switch',{staticClass:\"ma-0\",attrs:{\"disabled\":_vm.qtyAllowed<=0 && !_vm.isSelected,\"hide-details\":\"\",\"input-value\":_vm.isSelected},on:{\"click\":function($event){return _vm.changeOptionPlat()}}}),(_vm.maxValue>1)?_c('qty-field',{attrs:{\"maxValue\":_vm.maxValue},model:{value:(_vm.itemPanier.qty),callback:function ($$v) {_vm.$set(_vm.itemPanier, \"qty\", $$v)},expression:\"itemPanier.qty\"}}):_vm._e()],1),_vm._l((_vm.itemPanier.parfum),function(selectedParfum,idx){return [(_vm.itemPanier.parfum.length > 1)?_c('v-col',{key:(\"num_\" + idx),attrs:{\"cols\":\"1\"}},[_c('span',{staticClass:\"pt-1\",staticStyle:{\"position\":\"absolute\"}},[_vm._v(\"n°\"+_vm._s(idx+1))])]):_vm._e(),_c('v-col',{key:idx,attrs:{\"cols\":_vm.itemPanier.parfum.length > 1?11:12}},[_c('v-row',{staticClass:\"mb-2\",attrs:{\"dense\":\"\",\"no-gutters\":\"\"}},_vm._l((_vm.parfums),function(parfum,ix){return _c('v-col',{key:ix,staticClass:\"d-flew flex-column\",attrs:{\"cols\":12}},[_c('v-switch',{staticClass:\"ma-0 pl-2 parfum\",attrs:{\"hide-details\":\"\",\"label\":_vm.$gt(parfum).libelle,\"disabled\":_vm.isSelectedParfum(parfum,idx),\"input-value\":_vm.isSelectedParfum(parfum,idx)},on:{\"click\":function($event){return _vm.changeParum(parfum,idx)}}})],1)}),1),_c('v-divider')],1)]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { AloPlat, getDefaultAloPlat } from '@/models/alo/AloPlat'\r\nimport { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport {ItemPanier} from '@/models/alo/ItemPanier'\r\nimport { VuetifyConfirmObject } from 'node_modules/vuetify-confirm/types'\r\nimport { getDefaultAloArbo } from '@/models/alo/AloArbo'\r\nimport { mixins } from 'vue-class-component'\r\nimport BasePlat from '@/components/carte/BasePlat'\r\nimport { AloBaseLg } from '@/models/alo/AloBaseLg'\r\nimport deepEqual from 'deep-equal'\r\n\r\n@Component({\r\n name: 'MenuBreakfastSectionItem', \r\n props: { \r\n qtyAllowed:{\r\n type:Number,\r\n required:true,\r\n default:0\r\n },\r\n value:{\r\n type:Array,\r\n default: () => []\r\n }\r\n }\r\n})\r\nexport default class MenuBreakfastSectionItem extends mixins(BasePlat) { \r\n itemPanier:ItemPanier = new ItemPanier()\r\n value!:Array\r\n qtyAllowed!:number\r\n\r\n mounted() {\r\n this.resetItemPanier() \r\n } \r\n \r\n resetItemPanier(){\r\n this.itemPanier = this.value.find(p => p.plat.id == this.plat.id) || new ItemPanier({plat:this.plat,qty:0})\r\n }\r\n\r\n @Watch(\"plat\")\r\n onPlatChange(){\r\n this.resetItemPanier()\r\n }\r\n\r\n get maxValue(){\r\n return this.qtyAllowed + this.itemPanier.qty\r\n }\r\n\r\n get qty() {\r\n return this.itemPanier.qty\r\n }\r\n\r\n get parfums(){\r\n //@ts-ignore\r\n return this.$gct(this.plat,(it)=>it.parfums||[])\r\n }\r\n\r\n @Watch(\"qty\")\r\n onQtyChange(newValue:number, oldValue:number) {\r\n if(newValue == 0) {\r\n let index = -1\r\n while((index = this.value.findIndex(p => p.plat.id == this.plat.id)) > -1) { \r\n this.value.splice(index,1)\r\n } \r\n }\r\n else if(oldValue == 0 && newValue > 0) { \r\n //regarde si on doit ajouter l'item\r\n if(this.value.findIndex(p => p.plat.id == this.plat.id) < 0) this.value.push(this.itemPanier)\r\n }\r\n if(this.parfums.length > 0) {\r\n //Met à jour le tableau des parfums selectionnés \r\n if(!this.itemPanier.parfum) this.itemPanier.parfum = []\r\n //@ts-ignore\r\n if(this.itemPanier.parfum.length > newValue) this.itemPanier.parfum?.splice(newValue,this.itemPanier.parfum.length-newValue)\r\n //@ts-ignore\r\n else while(this.itemPanier.parfum.length < newValue) this.itemPanier.parfum?.push(this.parfums[0]) \r\n }\r\n }\r\n\r\n get isSelected(){\r\n return this.qty > 0\r\n }\r\n\r\n get platsDic(){ \r\n return this.$store.myGetters.platsDic\r\n }\r\n \r\n get showAllergene(){\r\n return this.$store.myGetters.showAllergene\r\n }\r\n\r\n changeOptionPlat() { \r\n if(this.itemPanier.qty > 0){\r\n this.itemPanier.qty = 0\r\n }\r\n else {\r\n this.itemPanier.qty = 1\r\n }\r\n }\r\n\r\n changeParum(parfum:AloBaseLg,idx:number) {\r\n //@ts-ignore\r\n this.$set(this.itemPanier.parfum,idx,parfum)\r\n }\r\n\r\n isSelectedParfum(parfum:AloBaseLg,idx:number) {\r\n //@ts-ignore\r\n return deepEqual(parfum,this.itemPanier.parfum[idx])\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuBreakfastSectionItem.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuBreakfastSectionItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MenuBreakfastSectionItem.vue?vue&type=template&id=d45a4596&\"\nimport script from \"./MenuBreakfastSectionItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./MenuBreakfastSectionItem.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MenuBreakfastSectionItem.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\ninstallComponents(component, {VCol,VDivider,VRow,VSwitch})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { AloPlat, getDefaultAloPlat } from '@/models/alo/AloPlat'\r\nimport { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport {ItemPanier} from '@/models/alo/ItemPanier'\r\nimport { VuetifyConfirmObject } from 'node_modules/vuetify-confirm/types'\r\nimport { getDefaultAloArbo } from '@/models/alo/AloArbo'\r\nimport { mixins } from 'vue-class-component'\r\nimport BasePlat from '@/components/carte/BasePlat'\r\nimport MenuBreakfastSectionItem from '@/components/carte/MenuBreakfastSectionItem.vue'\r\n\r\n@Component({\r\n name: 'MenuBreakfastSection', \r\n props: {\r\n show:{\r\n type:Boolean,\r\n default:false\r\n },\r\n value:{\r\n type:Array,\r\n default: () => []\r\n }\r\n },components:{MenuBreakfastSectionItem}\r\n})\r\nexport default class MenuBreakfastSection extends mixins(BasePlat) { \r\n show!:boolean \r\n value!:Array\r\n\r\n get showDialog(){\r\n return this.show\r\n }\r\n\r\n set showDialog(value) {\r\n this.$emit(\"update:show\",value)\r\n } \r\n\r\n get section(){\r\n return this.arbosDic[this.plat.arboId!] || getDefaultAloArbo()\r\n }\r\n \r\n get platsDic(){ \r\n return this.$store.myGetters.platsDic\r\n }\r\n\r\n get showAllergene(){\r\n return this.$store.myGetters.showAllergene\r\n }\r\n\r\n set showAllergene(value) {\r\n this.$store.myActions.UI_SET_ALLERGENE_VISIBLITY(value)\r\n }\r\n\r\n get plats() {\r\n return this.section.platsIds?.map(id => this.platsDic[id]) || []\r\n }\r\n\r\n get qtySectionSelected() {\r\n return this.value.reduce((total,item) => total + item.qty,0)\r\n }\r\n\r\n get nbChoixSectionRestant() { \r\n return (this.plat.qty || 0) - this.qtySectionSelected; \r\n }\r\n\r\n @Watch(\"nbChoixSectionRestant\")\r\n onNbChoixSectionRestant(restant:number) {\r\n //this.tryAutoClose()\r\n }\r\n\r\n tryAutoClose(){\r\n if(this.nbChoixSectionRestant == 0) {\r\n this.showDialog = false; \r\n }\r\n }\r\n\r\n get titleOption(){\r\n return `${this.nbChoixSectionRestant} choix restant${this.nbChoixSectionRestant>1?'s':''}`\r\n }\r\n\r\n get showAllergeneBtn() {\r\n return !this.printMode && this.plats.some(p => this.hasAllergene(p))\r\n }\r\n\r\n hasAllergene(plat:AloPlat):boolean {\r\n return (plat.allergenesIds && plat.allergenesIds.length > 0) || (plat.platsIds?.map(id => this.platsDic[id]) || []).some(p => this.hasAllergene(p)) \r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuBreakfastSection.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuBreakfastSection.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MenuBreakfastSection.vue?vue&type=template&id=8fcbd28e&\"\nimport script from \"./MenuBreakfastSection.vue?vue&type=script&lang=ts&\"\nexport * from \"./MenuBreakfastSection.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VExpandTransition } from 'vuetify/lib/components/transitions';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VDialog,VExpandTransition,VImg,VSpacer,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"scrollable\":\"\",\"persistent\":\"\",\"fullscreen\":\"\",\"hide-overlay\":\"\",\"transition\":\"dialog-bottom-transition\"},model:{value:(_vm.showDialog),callback:function ($$v) {_vm.showDialog=$$v},expression:\"showDialog\"}},[_c('v-card',[_c('v-toolbar',{staticClass:\"flex-grow-0\",attrs:{\"color\":\"secondary\"}},[_c('v-toolbar-title',{staticClass:\"white--text font-secondary\"},[_vm._v(_vm._s(_vm.$t('Dish.SupplementTitle')))]),_c('v-spacer'),_c('v-btn',{staticClass:\"btn-txt\",attrs:{\"icon\":\"\",\"color\":\"white\",\"title\":_vm.$t('Global.Validate')},on:{\"click\":function($event){_vm.showDialog = false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-expand-transition',[(_vm.itemPanier.nbSupplements > 0)?_c('div',[_c('v-card-text',{staticClass:\"secondary lighten-2 py-2 d-flex\"},[_vm._v(\" Suppléments sélectionnés : ( \"+_vm._s(_vm._f(\"currency\")(_vm.itemPanier.prixSupplementsCarte))+\" )\"),_c('v-spacer'),_c('v-btn',{staticClass:\"btn-txt\",attrs:{\"color\":\"primary darken-2\",\"outlined\":\"\",\"x-small\":\"\"},on:{\"click\":function($event){return _vm.$emit('editSupplement')}}},[_vm._v(\"détail\")])],1),_c('v-card-text',{staticClass:\"secondary lighten-2 py-2 d-flex justify-space-around\"},_vm._l((_vm.supplementsGroup),function(group){return _c('ico-badge-btn',{key:group.key,attrs:{\"showQtySelected\":false,\"label\":(\"\" + (_vm.$gt(group.section).libelle)),\"showValueOnBadge\":true,\"small\":\"\",\"qty\":group.values.reduce(function (total,item) { return total + item.qty; },0),\"iconId\":group.section.iconId,\"selected\":false},on:{\"click\":function($event){return _vm.$emit('editSupplement')}}})}),1)],1):_vm._e()]),_c('v-card-text',{staticClass:\"px-0 mt-2\",staticStyle:{\"overflow-x\":\"hidden\"}},_vm._l((_vm.plats),function(subPlat){return _c(subPlat.template,{key:subPlat.id,tag:\"component\",attrs:{\"canAddFromArbo\":_vm.canAddFromArbo,\"plat\":subPlat,\"platSectionId\":_vm.platSectionId,\"platArboId\":_vm.platArboId},on:{\"addToCart\":_vm.addToCart}})}),1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { AloPlat, getDefaultAloPlat } from '@/models/alo/AloPlat'\r\nimport { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport {ItemPanier} from '@/models/alo/ItemPanier'\r\nimport { VuetifyConfirmObject } from 'node_modules/vuetify-confirm/types'\r\nimport { getDefaultAloArbo } from '@/models/alo/AloArbo'\r\nimport { mixins } from 'vue-class-component'\r\nimport BasePlat from '@/components/carte/BasePlat'\r\nimport { groupByNumber } from '@/utils/groupBy'\r\n\r\n@Component({\r\n name: 'MenuBreakfastCarte', \r\n props: {\r\n show:{\r\n type:Boolean,\r\n default:false\r\n },\r\n itemPanier:{\r\n type:Object,\r\n required:true\r\n }\r\n }\r\n})\r\nexport default class MenuBreakfastCarte extends mixins(BasePlat) {\r\n \r\n show!:boolean \r\n itemPanier!:ItemPanier\r\n\r\n get supplementsGroup(){\r\n return groupByNumber(this.itemPanier.supplements, it => it.sectionId ?? 0).map(it => {return {...it, section: this.platsDic[it.key] || getDefaultAloPlat()}})\r\n }\r\n\r\n get platsDic(){\r\n return this.$store.myGetters.platsDic\r\n }\r\n\r\n get showDialog(){ \r\n return this.show\r\n }\r\n\r\n set showDialog(value) {\r\n this.$emit(\"update:show\",value)\r\n } \r\n\r\n\r\n get section(){\r\n return this.arbosDic[this.plat.arboId!] ?? getDefaultAloArbo()\r\n }\r\n \r\n \r\n get plats() {\r\n return this.section.platsIds?.map(id => this.platsDic[id]) ?? []\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuBreakfastCarte.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuBreakfastCarte.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MenuBreakfastCarte.vue?vue&type=template&id=3057c502&\"\nimport script from \"./MenuBreakfastCarte.vue?vue&type=script&lang=ts&\"\nexport * from \"./MenuBreakfastCarte.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VExpandTransition } from 'vuetify/lib/components/transitions';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VDialog,VExpandTransition,VIcon,VSpacer,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"persistent\":\"\",\"fullscreen\":\"\",\"hide-overlay\":\"\",\"transition\":\"dialog-bottom-transition\"},model:{value:(_vm.isEdited),callback:function ($$v) {_vm.isEdited=$$v},expression:\"isEdited\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"color\":\"secondary\"}},[_c('v-toolbar-title',{staticClass:\"white--text font-secondary\"},[_vm._v(_vm._s(_vm.$tc('Dish.YourSupplementTitle',_vm.itemPanier.nbSupplements)))]),_c('v-spacer'),_c('v-btn',{staticClass:\"btn-txt\",attrs:{\"icon\":\"\",\"color\":\"white\",\"title\":_vm.$t('Cart.Continue')},on:{\"click\":function($event){_vm.isEdited = false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-card-text',_vm._l((_vm.panierGroup),function(group){return _c('div',{key:group.key},[(group.key != 0)?_c('v-img',{staticClass:\"mx-2 cursor-pointer align-center rounded-lg mt-2\",attrs:{\"gradient\":\"to bottom, rgba(0,0,0,0), rgba(0,0,0,.3)\",\"max-height\":\"60\",\"src\":_vm.platsDic[group.key].image}},[_c('v-card-title',{staticClass:\"pa-0 card-title\",staticStyle:{\"max-width\":\"80%\",\"margin\":\"auto\"}},[_vm._v(_vm._s(_vm.$gt(_vm.platsDic[group.key]).libelle))])],1):_vm._e(),_vm._l((group.values),function(item){return _c('cart-item',{key:item.uuid,attrs:{\"item\":item},on:{\"edit\":function($event){return _vm.editItemPanier(item)},\"udpateQty\":function($event){return _vm.udpateQty($event,item.uuid)}}})})],2)}),0)],1),_c('edit-plat',{ref:\"editPlat\",attrs:{\"show\":_vm.showEdit},on:{\"update:show\":function($event){_vm.showEdit=$event},\"udpateCartItem\":_vm.udpateSupplements}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport {AloArbo, getDefaultAloArbo} from '@/models/alo/AloArbo'\r\nimport CartItem from '@/components/panier/CartItem.vue'\r\nimport EditPlat from '@/components/carte/EditPlat.vue'\r\nimport { groupByNumber } from '@/utils/groupBy';\r\nimport { ItemPanier } from '@/models/alo/ItemPanier';\r\nimport { mixins } from 'vue-class-component'\r\nimport PlatEditable from '@/components/carte/PlatEditable'\r\n\r\n@Component({\r\n name: 'MenuBreakfastEditCarte',\r\n components:{\r\n CartItem,EditPlat\r\n }\r\n})\r\nexport default class MenuBreakfastEditCarte extends mixins(PlatEditable) {\r\n \r\n private showEdit = false\r\n showHoraire = false \r\n\r\n get panier() {\r\n return this.$store.myGetters.panier \r\n } \r\n\r\n editItemPanier(item:ItemPanier) { \r\n (this.$refs.editPlat as EditPlat).edit(item)\r\n this.showEdit = true\r\n } \r\n\r\n //regroupement du panier par section\r\n get panierGroup(){\r\n return groupByNumber(this.itemPanier.supplements,it => it.sectionId || 0)\r\n }\r\n\r\n get platsDic(){ \r\n return this.$store.myGetters.platsDic\r\n } \r\n \r\n udpateQty(qty:number,uuid:string) {\r\n const index = this.itemPanier.supplements.findIndex(it => it.uuid == uuid)\r\n if(index > -1) {\r\n if(qty == 0){\r\n this.itemPanier.supplements.splice(index,1)\r\n if(this.itemPanier.supplements.length == 0) this.isEdited = false \r\n }\r\n else{\r\n this.itemPanier.supplements[index].qty = qty\r\n }\r\n } \r\n }\r\n\r\n udpateSupplements(item:ItemPanier){\r\n const index = this.itemPanier.supplements.findIndex(it => it.uuid == item.uuid)\r\n if(index > -1) this.itemPanier.supplements.splice(index,1,item) \r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuBreakfastEditCarte.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuBreakfastEditCarte.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MenuBreakfastEditCarte.vue?vue&type=template&id=cf1b8158&\"\nimport script from \"./MenuBreakfastEditCarte.vue?vue&type=script&lang=ts&\"\nexport * from \"./MenuBreakfastEditCarte.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VDialog,VIcon,VImg,VSpacer,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { AloPlat, getDefaultAloPlat } from '@/models/alo/AloPlat'\r\nimport { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport {IItemPanier, ItemPanier} from '@/models/alo/ItemPanier'\r\nimport { VuetifyConfirmObject } from 'node_modules/vuetify-confirm/types'\r\nimport { getDefaultAloArbo } from '@/models/alo/AloArbo'\r\nimport MenuBreakfastSection from '@/components/carte/MenuBreakfastSection.vue'\r\nimport MenuBreakfastCarte from '@/components/carte/MenuBreakfastCarte.vue'\r\nimport MenuBreakfastEditCarte from '@/components/carte/MenuBreakfastEditCarte.vue'\r\nimport { mixins } from 'vue-class-component'\r\nimport BasePlat from '@/components/carte/BasePlat'\r\nimport PlatEditable from '@/components/carte/PlatEditable'\r\nimport { groupByNumber } from '@/utils/groupBy'\r\nimport CartItem from '@/components/panier/CartItem.vue'\r\n\r\n\r\n@Component({\r\n name: 'ProduitMenuBreakfast', \r\n props:{\r\n reset:{\r\n type:Boolean,\r\n default:false\r\n } \r\n },\r\n components:{MenuBreakfastSection,MenuBreakfastCarte,MenuBreakfastEditCarte,CartItem}\r\n})\r\nexport default class ProduitMenuBreakfast extends mixins(BasePlat,PlatEditable) { \r\n reset!:boolean \r\n showSection = false \r\n showCarte = false \r\n showConfirmAdd = false\r\n\r\n public selectedPlat:AloPlat = getDefaultAloPlat()\r\n\r\n\r\n\r\n get platSelected(){\r\n return this.plat.selected\r\n }\r\n \r\n get platsDic(){ \r\n return this.$store.myGetters.platsDic\r\n }\r\n \r\n get plats() {\r\n return this.plat.platsIds?.map(id => this.platsDic[id]) || []\r\n }\r\n\r\n get menuItems() {\r\n return this.plats.filter(p => p.template == \"plat-produit-menu-breakfast-item\")\r\n }\r\n\r\n get defaultItems() {\r\n return this.plats.filter(p => p.template == \"plat-produit-menu-breakfast-default-item\")\r\n }\r\n\r\n get carteItems() {\r\n return this.plats.filter(p => p.template == \"plat-produit-menu-breakfast-default-carte\")\r\n }\r\n\r\n get supplementsGroup(){\r\n return groupByNumber(this.itemPanier.supplements, it => it.sectionId || 0).map(it => {return {...it, section: this.platsDic[it.key] || getDefaultAloPlat()}})\r\n }\r\n\r\n @Watch(\"plat\")\r\n onPlatChange(){ \r\n this.resetItemPanier()\r\n }\r\n\r\n @Watch(\"reset\")\r\n onReset(){\r\n if(this.reset) this.resetItemPanier()\r\n }\r\n\r\n mounted() {\r\n //on est dans le cas d'un nouveau panier\r\n if(this.itemPanier.plat.id == 0) this.resetItemPanier()\r\n }\r\n\r\n resetItemPanier(){\r\n //construction des options \r\n const options = [...this.menuItems,...this.carteItems]?.reduce((dic,item)=> {\r\n dic[item.id!] = []\r\n return dic\r\n },{} as {[platId:number]:Array})\r\n this.itemPanier = new ItemPanier({plat:this.plat,qty:1,options,parentId:this.platParentId,sectionId:this.platSectionId,arboId:this.platArboId})\r\n }\r\n\r\n\r\n selectProduct() { \r\n this.resetItemPanier() \r\n this.$store.myActions.ROOM_SERVICES_PLAT_SET_SELECTION({selected:true,ids:[this.plat.id]}) \r\n }\r\n\r\n cancel() {\r\n if(this.isEdited){\r\n this.$emit(\"cancel\")\r\n }\r\n else{ \r\n this.resetItemPanier() \r\n }\r\n }\r\n\r\n get missingOptions() { \r\n return this.menuItems?this.menuItems.reduce((alert,item) => {\r\n const nbMissing = item.qty! - (this.itemPanier.options![item.id].reduce((total,item) => total + item.qty,0) || 0) \r\n //@ts-ignore\r\n if(nbMissing > 0) alert.push(this.$tc(\"Dish.MissingOptionItemAlert\",nbMissing,{plat:this.$gt(item).libelle})) \r\n return alert\r\n },[] as Array):[] \r\n }\r\n\r\n showConfirmAddMessage() { \r\n if(!this.canAdd) this.$confirm(this.$t('Cart.AlertProductMix').toString(),{title: this.$t('Cart.AlertProductMixTitle'),buttonTrueText:this.$t('Global.Ok'),buttonFalseText:\"\"} as VuetifyConfirmObject) \r\n else { \r\n if(this.itemPanier.nbAccompagnements < (this.plat.qtyAccompagnementGratuit || 0)) { \r\n this.$confirm(this.$tc('Dish.AlertSideDishes',this.plat.qtyAccompagnementGratuit||0),{title: this.$t('Dish.AlertSideDishesTitle'),buttonTrueText:this.$t('Global.Ok'),buttonFalseText:\"\"} as VuetifyConfirmObject) \r\n }\r\n else if(this.missingOptions.length > 0) {\r\n //@ts-ignore\r\n this.$confirm(this.$t(\"Dish.MissingOptionAlert\", {message:this.missingOptions.join(\"
  • \"),plat:this.$gt(this.plat).libelle}),{title: this.$t('Dish.MissingOptionAlertTitle'),buttonTrueText:this.$t('Global.Yes'),buttonFalseText:this.$t('Global.No')} as VuetifyConfirmObject).then((reponse)=>{\r\n if(reponse){\r\n this.showConfirmAdd = true\r\n }\r\n }) \r\n }\r\n else { \r\n this.showConfirmAdd = true\r\n }\r\n }\r\n }\r\n\r\n backToConfig(){\r\n this.showConfirmAdd = false\r\n this.itemPanier.qty = 1\r\n }\r\n\r\n addItemToPanier() { \r\n if(!this.canAdd) this.$confirm(this.$t('Cart.AlertProductMix').toString(),{title: this.$t('Cart.AlertProductMixTitle'),buttonTrueText:this.$t('Global.Ok'),buttonFalseText:\"\"} as VuetifyConfirmObject)\r\n else \r\n {\r\n this.showConfirmAdd = false\r\n this.addToCart(this.itemPanier) \r\n this.cancel() \r\n }\r\n }\r\n \r\n addSupplement(itemPanier:ItemPanier) { \r\n const it = this.itemPanier.supplements.find(it => it.hasSameConfig(itemPanier))\r\n if(it) it.qty++;\r\n else this.itemPanier.supplements.push(itemPanier)\r\n\r\n //On affiche un popup de confirmation d'ajout avec Retour menu, ou Continuer ajout\r\n //@ts-ignore \r\n this.$store.myActions.UI_ADD_SNACK_MESSAGE(this.$tc('Dish.SnackAddBreakfastSupplement',itemPanier.qty,{plat:this.$gt(itemPanier.plat).libelle,prix:this.$options.filters.currency(itemPanier.prixTotalAvecOptions)})) \r\n this.showCarte = false\r\n }\r\n\r\n selectOption(plat:AloPlat){\r\n this.selectedPlat = plat \r\n this.showSection = true \r\n }\r\n\r\n editSupplement(){\r\n (this.$refs.editSupplement as MenuBreakfastEditCarte).edit(this.itemPanier)\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProduitMenuBreakfast.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProduitMenuBreakfast.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProduitMenuBreakfast.vue?vue&type=template&id=14219773&\"\nimport script from \"./ProduitMenuBreakfast.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProduitMenuBreakfast.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VDialog,VDivider,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"px-3 print-top\"},[_c('v-divider',{staticClass:\"black mx-3 my-3 animate-separation-width no-print\"}),_c('v-col',{staticClass:\"d-flex justify-center simpleLibelle text-center\",attrs:{\"cols\":\"12\"},domProps:{\"innerHTML\":_vm._s(_vm.$gt(_vm.plat).libelle)}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { AloPlat } from '@/models/alo/AloPlat'\r\nimport { Component, Vue } from 'vue-property-decorator'\r\nimport { mixins } from 'vue-class-component'\r\nimport BasePlat from '@/components/carte/BasePlat'\r\n\r\n@Component({\r\n name: 'LibelleSimple'\r\n})\r\nexport default class LibelleSimple extends mixins(BasePlat) { \r\n\r\n \r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LibelleSimple.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LibelleSimple.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LibelleSimple.vue?vue&type=template&id=ed21afdc&\"\nimport script from \"./LibelleSimple.vue?vue&type=script&lang=ts&\"\nexport * from \"./LibelleSimple.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VDivider,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"px-3\"},[_c('v-col',{staticClass:\"d-flex primary--text justify-center text-uppercase text-center\",attrs:{\"cols\":\"12\"}},[_c('strong',{domProps:{\"innerHTML\":_vm._s(_vm.$gt(_vm.plat).libelle)}})])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { AloPlat } from '@/models/alo/AloPlat'\r\nimport { Component, Vue } from 'vue-property-decorator'\r\nimport { mixins } from 'vue-class-component'\r\nimport BasePlat from '@/components/carte/BasePlat'\r\n\r\n@Component({\r\n name: 'SubTitle'\r\n})\r\nexport default class SubTitle extends mixins(BasePlat) { \r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubTitle.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubTitle.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SubTitle.vue?vue&type=template&id=64d29264&\"\nimport script from \"./SubTitle.vue?vue&type=script&lang=ts&\"\nexport * from \"./SubTitle.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.showAllergene && _vm.plat.allergenesIds.length > 0)?_c('span',{staticClass:\"secondary--text\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('Dish.Allergens'))+\" :\")]),_vm._v(\" \"+_vm._s(_vm.plat.allergenesIds.map(function (id) { return _vm.$gt(_vm.allergenesDic[id]).libelle; }).join(', '))),_c('br')]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\r\n// @ is an alias to /src\r\nimport { AloPlat } from '@/models/alo/AloPlat'\r\nimport { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport { mixins } from 'vue-class-component'\r\nimport BasePlat from '@/components/carte/BasePlat'\r\n\r\n@Component({\r\n name: 'Allergenes'\r\n})\r\nexport default class Allergenes extends mixins(BasePlat) { \r\n\r\n get allergenesDic(){\r\n return this.$store.myGetters.allergenesDic\r\n }\r\n\r\n get showAllergene(){\r\n return this.$store.myGetters.showAllergene\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Allergenes.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Allergenes.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Allergenes.vue?vue&type=template&id=b168876c&\"\nimport script from \"./Allergenes.vue?vue&type=script&lang=ts&\"\nexport * from \"./Allergenes.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.plat.biosIds.length > 0)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"d-flex flex-wrap justify-space-around\",staticStyle:{\"justify-content\":\"space-evenly\"},attrs:{\"cols\":\"12\"}},_vm._l((_vm.plat.biosIds),function(bioId){return _c('div',{key:bioId,staticClass:\"d-flex flex-column align-center text-center subLine2 my-2\",staticStyle:{\"max-width\":\"120px\"}},[(_vm.BiosDic[bioId] && _vm.BiosDic[bioId].image && _vm.BiosDic[bioId].image.length > 0)?_c('img',{attrs:{\"src\":_vm.BiosDic[bioId].image}}):_vm._e(),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$gt(_vm.BiosDic[bioId]).libelle)}})])}),0)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { AloPlat } from '@/models/alo/AloPlat'\r\nimport { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport { mixins } from 'vue-class-component'\r\nimport BasePlat from '@/components/carte/BasePlat' \r\n\r\n@Component({\r\n name: 'Bios'\r\n})\r\nexport default class Bios extends mixins(BasePlat) { \r\n\r\n get BiosDic(){\r\n return this.$store.myGetters.biosDic \r\n }\r\n \r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Bios.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Bios.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Bios.vue?vue&type=template&id=f92a26ec&\"\nimport script from \"./Bios.vue?vue&type=script&lang=ts&\"\nexport * from \"./Bios.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',{staticClass:\"px-3 secondary lighten-1 print-plat\"},[_c('v-col',{attrs:{\"cols\":_vm.isEdited?12:8}},[_c('div',{staticClass:\"plat-title\"},[_vm._v(_vm._s(_vm.$gt(_vm.plat).libelle))]),_c('div',{staticClass:\"subLine\",domProps:{\"innerHTML\":_vm._s(_vm.$gt(_vm.plat).descriptif)}})]),(!_vm.isEdited)?_c('v-col',{staticClass:\"d-flex justify-end align-center\",attrs:{\"cols\":\"4\"}},[_c('strong',{staticClass:\"primary--text text--darken-2 body-2 prix\"},[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.plat.prix)))])]):_vm._e()],1),_c('div',[_c('v-row',{staticClass:\"px-3 secondary lighten-2\",attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"d-flex flex-wrap justify-space-around\",staticStyle:{\"justify-content\":\"space-evenly\"},attrs:{\"cols\":\"12\"}},_vm._l((_vm.typesOeufs),function(type){return _c('icon-btn',{key:type,attrs:{\"iconName\":type,\"selected\":_vm.itemPanier.cuissonOeuf == type},on:{\"click\":function($event){_vm.itemPanier.cuissonOeuf = type}}})}),1)],1),_c('v-row',{staticClass:\"px-3\",attrs:{\"dense\":\"\"}},[_vm._l((_vm.defaultItems),function(accompagnement){return [_c('v-col',{key:(\"text_\" + (accompagnement.id)),staticClass:\"d-flex align-center\",attrs:{\"cols\":\"8\"}},[_c('strong',{staticClass:\"subLine\"},[_vm._v(_vm._s(_vm.$gt(accompagnement).libelle))])]),_c('v-col',{key:(\"qty_\" + (accompagnement.id)),staticClass:\"d-flex justify-end align-center\",attrs:{\"cols\":\"4\"}},[_c('span',{staticClass:\"plat-title secondary--text mr-2\"},[_vm._v(_vm._s(_vm.hasAccompagnement(accompagnement)?_vm.$t('Global.With'):_vm.$t('Global.Without')))]),(!_vm.printMode)?_c('v-switch',{staticClass:\"ma-0\",attrs:{\"hide-details\":\"\",\"input-value\":_vm.hasAccompagnement(accompagnement)},on:{\"click\":function($event){return _vm.toggleAccompagnement(accompagnement)}}}):_vm._e()],1)]}),(_vm.menuItems.length > 0)?_c('v-col',{staticClass:\"primary--text\",attrs:{\"cols\":\"12\"}},[_c('strong',{staticClass:\"text-uppercase body-2\"},[_vm._v(_vm._s(_vm.plat.qtyAccompagnementGratuit)+\" \"+_vm._s(_vm.$tc('Dish.ChoiceSideDish', _vm.plat.qtyAccompagnementGratuit)))]),(_vm.plat.prixAccompagnement)?_c('div',{staticClass:\"subLine\"},[_vm._v(\"(\"+_vm._s(_vm.$t('Dish.BeyondSideDish'))+\" \"+_vm._s(_vm._f(\"currency\")(_vm.plat.prixAccompagnement))+\")\")]):_vm._e()]):_vm._e(),_vm._l((_vm.itemPanier.accompagnements),function(accompagnement){return [_c('v-col',{key:(\"text_\" + (accompagnement.item.id)),staticClass:\"d-flex align-center\",attrs:{\"cols\":_vm.printMode?12:8}},[_c('strong',{staticClass:\"subLine\"},[_vm._v(_vm._s(_vm.$gt(accompagnement.item).libelle))])]),(!_vm.printMode)?_c('v-col',{key:(\"qty_\" + (accompagnement.item.id)),staticClass:\"d-flex justify-end align-center\",attrs:{\"cols\":\"4\"}},[_c('v-switch',{staticClass:\"ma-0\",attrs:{\"hide-details\":\"\",\"input-value\":accompagnement.qty > 0},on:{\"click\":function($event){accompagnement.qty > 0?accompagnement.qty=0:accompagnement.qty = 1}}})],1):_vm._e()]}),(_vm.itemPanier.cuissonOeuf == 'coque')?_c('v-col',{attrs:{\"cols\":\"12 text-center mt-2\"}},[_c('v-menu',{attrs:{\"top\":\"\",\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"py-4\",class:{'toggle-btn':_vm.itemPanier.tempsCuisson == -1},attrs:{\"x-small\":\"\",\"color\":\"primary\"}},on),[(_vm.itemPanier.tempsCuisson == -1)?[_vm._v(_vm._s(_vm.$t('Dish.BtnCookingTime')))]:(_vm.itemPanier.tempsCuisson == 0)?[_vm._v(_vm._s(_vm.$t('Dish.CookingTime',{time:_vm.$t('Dish.ChefChoice')})))]:[_vm._v(_vm._s(_vm.$t('Dish.CookingTime',{time:((_vm.itemPanier.tempsCuisson) + \" min\")})))]],2)]}}],null,false,658291854),model:{value:(_vm.showTempsCuisson),callback:function ($$v) {_vm.showTempsCuisson=$$v},expression:\"showTempsCuisson\"}},[_c('v-list',{staticClass:\"px-0\",attrs:{\"dense\":\"\"}},_vm._l(([0,1,2,3,4,5,6]),function(time){return _c('v-list-item',{key:time},[(time > 0)?_c('v-btn',{staticClass:\"py-4\",class:{'toggle-btn':_vm.itemPanier.tempsCuisson == time},attrs:{\"width\":\"100%\",\"input-value\":_vm.itemPanier.tempsCuisson == time,\"x-small\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){$event.stopPropagation();_vm.itemPanier.tempsCuisson = time;_vm.showTempsCuisson=false}}},[_vm._v(_vm._s(time)+\" min\")]):_c('v-btn',{staticClass:\"py-4\",class:{'toggle-btn':_vm.itemPanier.tempsCuisson == time},attrs:{\"width\":\"100%\",\"input-value\":_vm.itemPanier.tempsCuisson == time,\"x-small\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){$event.stopPropagation();_vm.itemPanier.tempsCuisson = time;_vm.showTempsCuisson=false}}},[_vm._v(_vm._s(_vm.$t('Dish.ChefChoice')))])],1)}),1)],1)],1):_vm._e(),(!_vm.printMode)?_c('v-col',{attrs:{\"cols\":\"12 text-right my-2\"}},[_c('v-btn',{staticClass:\"ml-3 py-4\",attrs:{\"x-small\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.cancel()}}},[_vm._v(_vm._s(_vm.isEdited?_vm.$t('Global.Cancel'):_vm.$t('Global.Reset')))]),_c('v-btn',{staticClass:\"ml-3 py-4\",attrs:{\"x-small\":\"\",\"color\":_vm.canAdd?'primary':'red'},on:{\"click\":function($event){return _vm.showConfirmAddMessage()}}},[_vm._v(_vm._s(_vm.isEdited?_vm.$t('Global.Validate'):_vm.$t('Cart.Add'))+\" (\"+_vm._s(_vm._f(\"currency\")(_vm.itemPanier.prixAvecOptions))+\")\")])],1):_vm._e()],2),_c('v-dialog',{staticClass:\"ma-4\",attrs:{\"eager\":\"\",\"value\":\"true\",\"max-width\":450,\"fullscreen\":\"\",\"persistent\":true,\"scrollable\":\"\"},model:{value:(_vm.showConfirmAdd),callback:function ($$v) {_vm.showConfirmAdd=$$v},expression:\"showConfirmAdd\"}},[_c('v-card',{attrs:{\"tile\":\"\"}},[_c('v-card-title',{staticClass:\"alert-title d-flex justify-center primary--text\"},[_vm._v(_vm._s(_vm.$t(\"Dish.RecapEgg\")))]),_c('v-divider',{staticClass:\"primary mt-3\",staticStyle:{\"margin\":\"auto\",\"max-width\":\"500px\"},attrs:{\"width\":\"50%\"}}),_c('v-card-text',{staticClass:\"body-2 py-6 text-left\",staticStyle:{\"max-width\":\"800px\",\"margin\":\"auto\"}},[_c('cart-item',{attrs:{\"item\":_vm.itemPanier,\"readOnly\":true}}),_c('div',{staticClass:\"d-flex\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Dish.DesiredQty\"))+\" : \"),_c('v-spacer'),_c('v-btn',{staticClass:\"ml-2 pa-0\",attrs:{\"disabled\":_vm.itemPanier.qty == 1,\"width\":\"25\",\"height\":\"25\",\"fab\":\"\",\"color\":\"primary\",\"x-small\":\"\"},on:{\"click\":function($event){_vm.itemPanier.qty = _vm.itemPanier.qty>1?_vm.itemPanier.qty-1:_vm.itemPanier.qty}}},[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"mdi-minus\")])],1),_c('v-btn',{staticClass:\"mx-2 pa-0\",attrs:{\"width\":\"25\",\"height\":\"25\",\"fab\":\"\",\"color\":\"primary\",\"x-small\":\"\"},on:{\"click\":function($event){_vm.itemPanier.qty++}}},[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"mdi-plus\")])],1)],1)],1),_c('v-card-actions',{staticClass:\"pb-6 px-6\"},[_c('v-spacer'),_c('v-btn',{staticClass:\"ml-3 py-4\",attrs:{\"x-small\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.backToConfig()}}},[_vm._v(_vm._s(_vm.$t('Dish.ModifyConfig')))]),_c('v-btn',{staticClass:\"ml-3 py-4\",attrs:{\"x-small\":\"\",\"color\":_vm.canAdd?'primary':'red'},on:{\"click\":function($event){return _vm.addItemToPanier()}}},[_vm._v(_vm._s(_vm.$t('Global.Validate'))+\" (\"+_vm._s(_vm._f(\"currency\")(_vm.itemPanier.prixTotalAvecOptions))+\")\")])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex flex-column align-center text-center subLine2 my-2\",staticStyle:{\"width\":\"82px\"}},[_c('v-btn',{staticClass:\"mb-2\",class:{'icobtn':!_vm.selected,'icobtn-selected':_vm.selected},attrs:{\"outlined\":\"\",\"fab\":\"\"},on:{\"click\":function($event){return _vm.$emit('click')}}},[(_vm.iconUrl.length > 0)?_c('img',{attrs:{\"height\":\"30\",\"width\":\"30\",\"max-width\":\"30\",\"max-height\":\"30\",\"src\":_vm.iconUrl}}):_vm._e()]),(_vm.selected)?_c('strong',{staticClass:\"text-uppercase\",domProps:{\"innerHTML\":_vm._s(_vm.label)}}):_c('span',{staticClass:\"text-uppercase\",domProps:{\"innerHTML\":_vm._s(_vm.label)}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n \nimport { getDefaultAloIcon } from '@/models/alo/AloIcon'\nimport Vue from 'vue' \nimport Component from 'vue-class-component' \n\n@Component({\n name: 'IconBtn', \n props:{ \n iconName:{\n type:String,\n default:''\n },\n selected:{\n type:Boolean,\n default:false\n } \n }\n})\nexport default class IconBtn extends Vue { \n selected!:string \n iconName!:string\n\n get label(){\n return this.$t(`Icon.${this.iconName}`)\n }\n \n get icon(){\n return require(`@/assets/icon/${this.iconName}-off.svg`)\n }\n\n get selectedIcon() {\n return require(`@/assets/icon/${this.iconName}-on.svg`)\n }\n\n get iconUrl(){\n return this.selected?this.selectedIcon:this.icon\n }\n\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IconBtn.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IconBtn.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IconBtn.vue?vue&type=template&id=52dc5795&\"\nimport script from \"./IconBtn.vue?vue&type=script&lang=ts&\"\nexport * from \"./IconBtn.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./IconBtn.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\ninstallComponents(component, {VBtn})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { AloPlat, getDefaultAloPlat } from '@/models/alo/AloPlat'\r\nimport { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport {IItemPanier, ItemPanier} from '@/models/alo/ItemPanier'\r\nimport { VuetifyConfirmObject } from 'node_modules/vuetify-confirm/types'\r\nimport { getDefaultAloArbo } from '@/models/alo/AloArbo'\r\nimport { mixins } from 'vue-class-component'\r\nimport BasePlat from '@/components/carte/BasePlat'\r\nimport PlatEditable from '@/components/carte/PlatEditable'\r\nimport IconBtn from '@/components/shared/IconBtn.vue'\r\nimport { groupByNumber } from '@/utils/groupBy'\r\nimport CartItem from '@/components/panier/CartItem.vue'\r\n\r\n\r\n@Component({\r\n name: 'ProduitOeuf', \r\n props:{\r\n reset:{\r\n type:Boolean,\r\n default:false\r\n } \r\n },\r\n components:{IconBtn,CartItem}\r\n})\r\nexport default class ProduitOeuf extends mixins(BasePlat,PlatEditable) { \r\n reset!:boolean \r\n showTempsCuisson = false\r\n showConfirmAdd = false\r\n\r\n public selectedPlat:AloPlat = getDefaultAloPlat()\r\n\r\n get typesOeufs(){\r\n return ['omelette','omelette-blanc','brouilles','brouilles-blanc','auPlat','poches','coque','dur' ]\r\n }\r\n\r\n get platSelected(){\r\n return this.plat.selected\r\n }\r\n \r\n get platsDic(){ \r\n return this.$store.myGetters.platsDic\r\n }\r\n\r\n get plats() {\r\n return this.plat.platsIds?.map(id => this.platsDic[id]) || []\r\n }\r\n\r\n get menuItems() {\r\n return this.plats.filter(p => p && p.template == \"plat-produit-accompagnement-oeuf\")\r\n }\r\n\r\n get defaultItems() {\r\n return this.plats.filter(p => p && p.template == \"plat-produit-accompagnement-oeuf-default\")\r\n }\r\n\r\n\r\n @Watch(\"plat\")\r\n onPlatChange(){ \r\n this.resetItemPanier()\r\n }\r\n\r\n @Watch(\"reset\")\r\n onReset(){\r\n if(this.reset) this.resetItemPanier()\r\n }\r\n\r\n mounted() {\r\n //on est dans le cas d'un nouveau panier\r\n if(this.itemPanier.plat.id == 0) this.resetItemPanier()\r\n }\r\n\r\n resetItemPanier(){ \r\n const options = {\r\n [this.plat.id]:this.defaultItems.map(p => new ItemPanier({plat:p,qty:1}))\r\n } as {[platId:number]:Array} \r\n this.itemPanier = new ItemPanier({plat:this.plat,qty:1,options,accompagnements:this.menuItems.map(item => {return {qty:0,item}}),parentId:this.platParentId,sectionId:this.platSectionId,arboId:this.platArboId})\r\n }\r\n\r\n\r\n selectProduct() { \r\n this.resetItemPanier() \r\n this.$store.myActions.ROOM_SERVICES_PLAT_SET_SELECTION({selected:true,ids:[this.plat.id]}) \r\n }\r\n\r\n cancel() {\r\n if(this.isEdited){\r\n this.$emit(\"cancel\")\r\n }\r\n else{ \r\n this.resetItemPanier() \r\n }\r\n }\r\n \r\n\r\n showConfirmAddMessage() { \r\n if(!this.canAdd) this.$confirm(this.$t('Cart.AlertProductMix').toString(),{title: this.$t('Cart.AlertProductMixTitle'),buttonTrueText:this.$t('Global.Ok'),buttonFalseText:\"\"} as VuetifyConfirmObject)\r\n else {\r\n if(!this.itemPanier.cuissonOeuf) { \r\n this.$confirm(this.$tc('Dish.AlertEggCooking',this.plat.qtyAccompagnementGratuit||0),{title: this.$t('Global.Warning'),buttonTrueText:this.$t('Global.Ok'),buttonFalseText:\"\"} as VuetifyConfirmObject)\r\n }\r\n else if(this.itemPanier.tempsCuisson == -1 && this.itemPanier.cuissonOeuf == \"coque\") {\r\n this.$confirm(this.$tc('Dish.AlertTimeCooking',this.plat.qtyAccompagnementGratuit||0),{title: this.$t('Dish.AlertEggCookingTitle'),buttonTrueText:this.$t('Global.Yes'),buttonFalseText:this.$t('Global.No')} as VuetifyConfirmObject).then( (response) => {\r\n if(response){\r\n this.itemPanier.tempsCuisson = 0\r\n this.showConfirmAddMessage() \r\n }\r\n }\r\n )\r\n }\r\n else if(this.itemPanier.nbAccompagnements < (this.plat.qtyAccompagnementGratuit || 0)) { \r\n this.$confirm(this.$tc('Dish.AlertSideDishes',this.plat.qtyAccompagnementGratuit||0),{title: this.$t('Dish.AlertSideDishesTitle'),buttonTrueText:this.$t('Global.Yes'),buttonFalseText:this.$t('Global.No')} as VuetifyConfirmObject).then( (response) => {\r\n if(response){\r\n this.showConfirmAdd = true\r\n }\r\n }\r\n )\r\n } \r\n else { \r\n this.showConfirmAdd = true \r\n }\r\n }\r\n }\r\n\r\n backToConfig(){\r\n this.showConfirmAdd = false\r\n this.itemPanier.qty = 1\r\n }\r\n\r\n addItemToPanier() { \r\n if(!this.canAdd) this.$confirm(this.$t('Cart.AlertProductMix').toString(),{title: this.$t('Cart.AlertProductMixTitle'),buttonTrueText:this.$t('Global.Ok'),buttonFalseText:\"\"} as VuetifyConfirmObject)\r\n else {\r\n this.showConfirmAdd = false\r\n this.addToCart(this.itemPanier) \r\n this.cancel() \r\n }\r\n }\r\n \r\n toggleAccompagnement(plat:AloPlat) {\r\n const idx = this.itemPanier.options![this.plat.id].findIndex(it => it.plat.id == plat.id)\r\n if(idx > -1){ \r\n this.itemPanier.options![this.plat.id].splice(idx,1)\r\n }\r\n else{\r\n this.itemPanier.options![this.plat.id].push(new ItemPanier({plat,qty:1}))\r\n }\r\n\r\n }\r\n\r\n hasAccompagnement(plat:AloPlat) {\r\n return this.itemPanier.options \r\n && this.itemPanier.options[this.plat.id] \r\n && this.itemPanier.options[this.plat.id].findIndex(it => it.plat.id == plat.id) > -1\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProduitOeuf.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProduitOeuf.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProduitOeuf.vue?vue&type=template&id=6385502c&\"\nimport script from \"./ProduitOeuf.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProduitOeuf.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ProduitOeuf.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VDialog,VDivider,VIcon,VList,VListItem,VMenu,VRow,VSpacer,VSwitch})\n","import '@/class-component-hooks.ts'\r\nimport Vue from 'vue'\r\nimport '@/filters/formatDate'\r\nimport '@/filters/formatJourLivraison'\r\nimport '@/filters/formatDuree'\r\nimport '@/filters/currency'\r\nimport '@/filters/poids'\r\nimport '@/filters/tva'\r\nimport '@/filters/moyenPaiement'\r\nimport '@/filters/typeReduction'\r\nimport '@/filters/capitalize'\r\nimport '@/filters/tel'\r\nimport '@/filters/trackset'\r\nimport '@/filters/livraison'\r\nimport '@/filters/fileIcons'\r\nimport VConfirmDialog from './plugins/confirm'\r\nimport App from './App.vue'\r\nimport VueRouter from './router'\r\nimport StoreHelper from './plugins/storeHelper'\r\nimport store from './store'\r\nimport vuetify from './plugins/vuetify'\r\nimport CKEditor from 'ckeditor4-vue' \r\n//import FlagIcon from 'vue-flag-icon'\r\nimport LengthHelper from '@/components/shared/LengthHelper.vue'\r\nimport CheckState from '@/components/shared/CheckState.vue'\r\nimport NumberFieldFactor from '@/components/shared/NumberFieldFactor.vue'\r\nimport QtyField from '@/components/shared/QtyField.vue'\r\nimport MonthPicker from '@/components/shared/MonthPicker.vue'\r\nimport PreviewDetail from '@/components/shared/PreviewDetail.vue'\r\nimport SearchDrawer from '@/components/shared/SearchDrawer.vue'\r\nimport SelectFromList from '@/components/shared/SelectFromList.vue'\r\nimport TimePicker from '@/components/shared/TimePicker.vue' \r\nimport IcoBadgeBtn from '@/components/shared/IcoBadgeBtn.vue'\r\n\r\n\r\n\r\nimport Section from '@/components/carte/Section.vue'\r\nimport ProduitSimple from '@/components/carte/ProduitSimple.vue'\r\nimport ProduitMultiples from '@/components/carte/ProduitMultiples.vue'\r\nimport ProduitMultiplesQuantifiable from '@/components/carte/ProduitMultiplesQuantifiable.vue'\r\nimport ProduitAccompagnement from '@/components/carte/ProduitAccompagnement.vue'\r\nimport ProduitParfum from '@/components/carte/ProduitParfum.vue'\r\nimport ProduitQuantfiable from '@/components/carte/ProduitQuantfiable.vue'\r\nimport ProduitMenuSimple from '@/components/carte/ProduitMenuSimple.vue'\r\nimport ProduitMenuBreakfast from '@/components/carte/ProduitMenuBreakfast.vue'\r\nimport LibelleSimple from '@/components/carte/LibelleSimple.vue'\r\nimport SubTitle from '@/components/carte/SubTitle.vue'\r\nimport Allergenes from '@/components/carte/Allergenes.vue'\r\nimport Bios from '@/components/carte/Bios.vue'\r\nimport ProduitOeuf from '@/components/carte/ProduitOeuf.vue'\r\n\r\n\r\nimport {i18n} from'./locale/vueI18n'\r\n\r\nimport types from '@/store/all-action-types'\r\n\r\n\r\n\r\nimport Draggable from 'vuedraggable' \r\n\r\nVue.config.productionTip = false\r\n\r\nVue.use(StoreHelper)\r\nVue.use(VConfirmDialog,{vuetify})\r\nVue.use( CKEditor )\r\n//Vue.use(FlagIcon)\r\n\r\nVue.component('plat-section',Section)\r\nVue.component('plat-produit-simple',ProduitSimple)\r\nVue.component('plat-produit-multiples',ProduitMultiples)\r\nVue.component('plat-produit-multiples-quantifiable',ProduitMultiplesQuantifiable)\r\nVue.component('plat-produit-accompagnement',ProduitAccompagnement)\r\nVue.component('plat-produit-parfum',ProduitParfum)\r\nVue.component('plat-produit-quantifiable',ProduitQuantfiable)\r\nVue.component('plat-produit-menu-simple',ProduitMenuSimple)\r\nVue.component('plat-produit-menu-breakfast',ProduitMenuBreakfast)\r\nVue.component('plat-libelle-simple',LibelleSimple)\r\nVue.component('plat-sub-title',SubTitle) \r\nVue.component('plat-allergenes',Allergenes) \r\nVue.component('plat-bios',Bios) \r\nVue.component('plat-produit-oeuf',ProduitOeuf) \r\n\r\n\r\nVue.component('time-picker',TimePicker)\r\nVue.component('length-helper',LengthHelper)\r\nVue.component('check-state',CheckState)\r\nVue.component('draggable',Draggable)\r\nVue.component('number-field-factor',NumberFieldFactor)\r\nVue.component('qty-field',QtyField)\r\nVue.component('month-picker',MonthPicker)\r\nVue.component('preview-detail',PreviewDetail)\r\nVue.component('search-drawer',SearchDrawer)\r\nVue.component('search-drawer',SearchDrawer) \r\nVue.component('select-from-list',SelectFromList)\r\nVue.component('ico-badge-btn',IcoBadgeBtn)\r\n\r\n\r\n//On regarde si on est dans le cas d'un authorisation auto avec FULLTRUST_ALLOWED\r\nconst urlParams = new URLSearchParams(window.location.search);\r\nconst autolog = urlParams.get(\"autolog\");\r\n\r\n\r\n\r\nexport const router = VueRouter(store)\r\n\r\n//recupere la configuration avant de construire l'application\r\n/*store.dispatch(\"ADM_CONFIGURATION_REQUEST\").finally(()=>{\r\n \r\n})*/\r\n\r\n//on s'auto log si besoin\r\nif((autolog?.length ?? 0) > 0) {\r\n store.dispatch(types.AUTH_AUTOLOG_REQUEST,autolog).finally(()=>{\r\n urlParams.delete(\"autolog\")\r\n //@ts-ignore\r\n //window.location = window.location.pathname\r\n window.history.replaceState({}, '', `${location.pathname}`); \r\n store.dispatch(types.ROOM_SERVICES_DATAS_ENSURE).finally(()=>{\r\n new Vue({ \r\n i18n,\r\n router,\r\n store,\r\n //@ts-ignore\r\n vuetify,\r\n render: h => h(App),\r\n mounted: () => document.dispatchEvent(new Event(\"x-app-rendered\")),\r\n }).$mount('#app')\r\n })\r\n }) \r\n}\r\nelse{\r\n store.dispatch(types.AUTH_USER_REQUEST).finally(()=>{\r\n store.dispatch(types.ROOM_SERVICES_DATAS_ENSURE).finally(()=>{\r\n new Vue({ \r\n i18n,\r\n router,\r\n store,\r\n //@ts-ignore\r\n vuetify,\r\n render: h => h(App),\r\n mounted: () => document.dispatchEvent(new Event(\"x-app-rendered\")),\r\n }).$mount('#app')\r\n })\r\n }) \r\n}\r\n\r\n//on charge les données de la carte avant de lancer l'application\r\n\r\n\r\n//window.Vue = Vue\r\n\r\n","import deepEqual from \"deep-equal\"\r\nimport { AloAccompagnement } from \"./AloAccompagnement\"\r\nimport { AloArbo } from \"./AloArbo\"\r\nimport { AloBaseLg } from \"./AloBaseLg\"\r\nimport { AloPlat, getDefaultAloPlat } from \"./AloPlat\"\r\nimport { QtyItem } from \"./QtyItem\"\r\nimport {uuidv4} from \"@/utils/uuid\"\r\n\r\nexport interface IItemPanier {\r\n uuid?: string\r\n sectionId?: number|null\r\n arboId?: number|null\r\n parentId?: number|null\r\n plat?: AloPlat\r\n accompagnements?:Array>\r\n parfum?:{lgs:Array}|Array<{lgs:Array}>\r\n commentaire?: string\r\n qty?:number\r\n cuisson?: {lgs:Array}\r\n cuissonOeuf?:string\r\n tempsCuisson?:number\r\n options?:{[arboId:number]:Array}\r\n supplements?:Array\r\n heureDebut?:string\r\n heureFin?:string\r\n tempsPreparation?:number\r\n}\r\n\r\nexport class ItemPanier { \r\n \r\n public uuid:string\r\n public sectionId:number|null\r\n public arboId:number|null \r\n public parentId:number|null \r\n public plat:AloPlat\r\n public accompagnements:Array>\r\n public parfum?:{lgs:Array}|Array<{lgs:Array}>\r\n public commentaire?:string\r\n public qty:number\r\n public cuisson?:{lgs:Array}\r\n public cuissonOeuf?:string\r\n public tempsCuisson?:number\r\n public options?:{[platId:number]:Array}\r\n public supplements:Array \r\n \r\n\r\n constructor({sectionId,arboId,parentId,plat,accompagnements,parfum,commentaire,qty,cuisson,cuissonOeuf,tempsCuisson,supplements,options,heureDebut,heureFin,tempsPreparation,uuid}:IItemPanier = {} as IItemPanier) {\r\n this.uuid = uuid ?? uuidv4()\r\n this.sectionId = sectionId || null\r\n this.arboId = arboId || null\r\n this.parentId = parentId || null\r\n this.plat = plat ?? getDefaultAloPlat()\r\n this.accompagnements = accompagnements ?? []\r\n this.parfum = parfum\r\n this.commentaire = commentaire || \"\"\r\n this.qty = qty ?? 0\r\n this.cuisson = cuisson \r\n this.cuissonOeuf = cuissonOeuf\r\n this.tempsCuisson = tempsCuisson ?? -1 \r\n this.options = options? Object.keys(options).reduce((opt,key) => {\r\n opt[Number.parseInt(key)] = options[Number.parseInt(key)].map(it => new ItemPanier(it))\r\n return opt\r\n },{} as {[platId:number]:Array}) : {} \r\n this.supplements = supplements?.map(it => new ItemPanier(it)) ?? []\r\n } \r\n \r\n public get prixAvecOptions() { \r\n return (this.plat.prix ?? 0) //Prix du plat\r\n + this.prixSupplementsAccompagnement //Prix du supplement accompagnement \r\n + this.prixSupplementsCarte //Prix supplement carte\r\n }\r\n\r\n public get prixSupplementsCarte():number{\r\n return this.supplements?.reduce((total,s)=> total+s.prixTotalAvecOptions,0) ?? 0\r\n }\r\n\r\n public get prixSupplementsAccompagnement() {\r\n return this.nbAccompagnementsPayant * (this.plat.prixAccompagnement ?? 0)\r\n }\r\n \r\n public get nbAccompagnements(){\r\n return this.accompagnements.reduce((total,item) => total+item.qty,0)\r\n }\r\n\r\n public get nbSupplements(){\r\n return this.supplements?.reduce((total,item) => total + item.qty,0) ?? 0\r\n }\r\n\r\n public get nbAccompagnementsPayant() {\r\n return Math.max(this.nbAccompagnements - (this.plat.qtyAccompagnementGratuit ?? 0),0)\r\n }\r\n\r\n public get prixTotalAvecOptions() { \r\n return (this.prixAvecOptions * this.qty)\r\n } \r\n \r\n public hasSameConfig(item:ItemPanier) {\r\n return this.plat.id == item.plat.id && deepEqual(this.parfum,item.parfum) && deepEqual(this.cuisson,item.cuisson) && this.cuissonOeuf == item.cuissonOeuf && this.commentaire == item.commentaire && deepEqual(this.accompagnements,item.accompagnements) && deepEqual(this.supplements,item.supplements) && deepEqual(this.options,item.options)\r\n }\r\n}","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProduitOeuf.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProduitOeuf.vue?vue&type=style&index=0&lang=css&\"","var map = {\n\t\"./de.svg\": \"fc16\",\n\t\"./en.svg\": \"0019\",\n\t\"./fr.svg\": \"405d\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"e082\";","var map = {\n\t\"./auPlat-off.svg\": \"0920\",\n\t\"./brouilles-blanc-off.svg\": \"6959\",\n\t\"./brouilles-off.svg\": \"21ad\",\n\t\"./coque-off.svg\": \"2e4c\",\n\t\"./dur-off.svg\": \"b87f\",\n\t\"./omelette-blanc-off.svg\": \"655a\",\n\t\"./omelette-off.svg\": \"2e62\",\n\t\"./poches-off.svg\": \"aafa\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"e2fa\";","import { ApiUserRole } from '@/enum/ApiUserRole'\r\nimport { TemplateMail } from '@/enum/TemplateMail'\r\nimport { AloBase, getDefaultAloBase } from './AloBase'\r\nimport { AloSejour } from './AloSejour'\r\n\r\n\r\nexport interface AloUser extends AloBase {\r\n \r\n usrValide: boolean\r\n usrEmail: string\r\n usrPasswordToken: string\r\n usrType: number|null\r\n usrNom: string\r\n usrPrenom: string \r\n usrDatadd: string|null\r\n usrRole: ApiUserRole|null \r\n currentSejour: AloSejour|null\r\n autologin:string \r\n mtpId: TemplateMail|null\r\n}\r\n\r\nexport const getDefaultAloUser = (role:ApiUserRole = ApiUserRole.Visiteur):AloUser => {\r\n return { \r\n ...getDefaultAloBase(), \r\n usrValide : true,\r\n usrEmail: \"\",\r\n usrPasswordToken:\"\",\r\n usrType:null,\r\n usrNom:\"\",\r\n usrPrenom:\"\", \r\n usrDatadd:null,\r\n usrRole:role,\r\n currentSejour:null,\r\n autologin:'',\r\n mtpId:null\r\n }\r\n}\r\n\r\n\r\nexport const cleanAloUser = (user:AloUser) => {\r\n if(!user) return \r\n if(!user.id) delete user.id\r\n if(!user.usrType) delete user.usrType \r\n if(!user.mtpId) delete user.mtpId \r\n}\r\n\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('div',{staticClass:\"plat-title\"},[_vm._v(\" \"+_vm._s(_vm.libelle)+\" \"),(_vm.item.plat.template == 'plat-produit-oeuf' && _vm.item.cuissonOeuf)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t((\"Icon.\" + (_vm.item.cuissonOeuf))))}}):_vm._e(),(_vm.hasOption)?_c('strong',{staticClass:\"primary--text subLine\"},[_vm._v(\" - \"),_c('span',{staticClass:\"prix\"},[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.item.plat.prix)))])]):_vm._e(),(_vm.showEdition)?_c('v-btn',{staticClass:\"btn-txt\",attrs:{\"color\":\"primary\",\"icon\":\"\",\"x-small\":\"\"},on:{\"click\":function($event){return _vm.$emit('edit',$event)}}},[_c('v-icon',{attrs:{\"right\":\"\",\"x-small\":\"\"}},[_vm._v(\"mdi-pencil\")])],1):_vm._e()],1),_c('div',{staticClass:\"subLine\",domProps:{\"innerHTML\":_vm._s(_vm.$gt(_vm.item.plat).descriptif)}})]),_c('v-col',{staticClass:\"text-right pl-0\",attrs:{\"cols\":\"3\"}},[_c('strong',{staticClass:\"primary--text body-2 prix\"},[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.item.prixTotalAvecOptions)))]),(_vm.hasOption)?_c('div',{staticClass:\"subLine\"},[_c('strong',[_vm._v(\"Avec options\")])]):_vm._e()]),_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.item.plat.template != 'plat-produit-oeuf' && _vm.item.cuisson && _vm.item.cuisson.lgs.length > 0)?_c('div',{staticClass:\"subLine\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('Dish.SelectedCooking'))+\" :\")]),_vm._v(\" \"+_vm._s(_vm.$gt(_vm.item.cuisson).libelle))]):(_vm.item.plat.template == 'plat-produit-oeuf' && _vm.item.cuissonOeuf == 'coque')?_c('div',{staticClass:\"subLine\"},[(_vm.item.tempsCuisson == 0)?_c('strong',[_vm._v(_vm._s(_vm.$t('Dish.CookingTime',{time:_vm.$t('Dish.ChefChoice')})))]):_c('strong',[_vm._v(_vm._s(_vm.$t('Dish.CookingTime',{time:((_vm.item.tempsCuisson) + \" min\")})))])]):_vm._e(),(_vm.item.parfum && _vm.item.parfum.lgs.length > 0)?_c('div',{staticClass:\"subLine\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('Dish.SelectedFlavor'))+\" :\")]),_vm._v(\" \"+_vm._s(_vm.$gt(_vm.item.parfum).libelle))]):_vm._e(),(_vm.item.plat.template != 'plat-produit-oeuf' && _vm.qtyAccompagnements > 0)?_c('div',{staticClass:\"subLine\"},[_c('strong',[_vm._v(_vm._s(_vm.$tc('Dish.SelectedSideDish',_vm.qtyAccompagnements))+\" :\")]),(_vm.accompagnements.length > 1)?_c('ul',_vm._l((_vm.accompagnements),function(it,idx){return _c('li',{key:idx,staticClass:\"options subline\"},[_vm._v(\"- \"+_vm._s(_vm.$gt(it.item).libelle)+\" \"),(it.qty > 1)?[_vm._v(\" - x\"+_vm._s(it.qty))]:_vm._e(),_vm._v(\" \"),(_vm.qtyAccompagnements > _vm.item.plat.qtyAccompagnementGratuit)?[(it.prix <= 0)?_c('span',[_vm._v(\" - \"+_vm._s(_vm.$t('Dish.Included')))]):_c('span',[_vm._v(\"- \"+_vm._s(_vm._f(\"currency\")(it.prix)))])]:_vm._e()],2)}),0):_c('span',[_vm._v(_vm._s(_vm.$gt(_vm.accompagnements[0].item).libelle)+\" \"),(_vm.qtyAccompagnements > 1)?[_vm._v(\" - x\"+_vm._s(_vm.qtyAccompagnements))]:_vm._e(),_vm._v(\" \"),(_vm.qtyAccompagnements > _vm.item.plat.qtyAccompagnementGratuit)?_c('span',[_vm._v(\"- \"+_vm._s(_vm._f(\"currency\")(_vm.accompagnements[0].prix)))]):_vm._e()],2)]):_vm._e(),(_vm.item.options && Object.keys(_vm.item.options).length > 0)?_c('ul',{staticClass:\" body-2 options primary--text\"},[_vm._l((Object.keys(_vm.item.options)),function(key){return _vm._l((_vm.item.options[key]),function(option,idx){return _c('li',{key:(key + \"-\" + idx)},[_vm._v(\" \"+_vm._s(option.qty)+\" x \"+_vm._s(_vm.$gt(option.plat).libelle)+\" - \"),_c('span',{staticClass:\"subLine\"},[_vm._v(_vm._s(_vm.$t('Dish.Included')))]),(option.parfum)?[_c('span',{staticClass:\"subLine\"},[_c('br'),_vm._v(\"(\"+_vm._s(option.parfum.map(function (p) { return _vm.$gt(p).libelle; }).join(\", \"))+\")\")])]:_vm._e()],2)})})],2):_vm._e(),(_vm.defaultItems.length > 0)?_c('ul',{staticClass:\"options body-2 secondary--text\"},_vm._l((_vm.defaultItems),function(item,idx){return _c('li',{key:idx},[_vm._v(_vm._s(item.qty)+\" x \"+_vm._s(_vm.$gt(item).libelle)+\" - \"),_c('span',{staticClass:\"subLine\"},[_vm._v(_vm._s(_vm.$t('Dish.Included')))])])}),0):_vm._e(),(_vm.item.supplements && _vm.item.supplements.length > 0)?_c('ul',{staticClass:\"options body-2\"},_vm._l((_vm.item.supplements),function(supplement,idx){return _c('li',{key:idx},[_c('cart-sup-item',{attrs:{\"item\":supplement,\"readOnly\":_vm.readOnly}})],1)}),0):_vm._e(),(_vm.item.plat.template == 'plat-produit-oeuf' && _vm.item.accompagnements && _vm.item.accompagnements.filter(function (i) { return i.qty > 0; }).length > 0)?_c('ul',{staticClass:\"options body-2\"},_vm._l((_vm.item.accompagnements.filter(function (i) { return i.qty >0; })),function(accompagnement,idx){return _c('li',{key:idx},[_vm._v(_vm._s(accompagnement.qty)+\" x \"+_vm._s(_vm.$gt(accompagnement.item).libelle)+\" \"),(_vm.item.accompagnements.filter(function (i) { return i.qty > 0; }).length > _vm.item.plat.qtyAccompagnementGratuit)?[(idx < _vm.item.plat.qtyAccompagnementGratuit)?_c('span',[_vm._v(\" - \"+_vm._s(_vm.$t('Dish.Included')))]):_c('span',[_vm._v(\"- \"+_vm._s(_vm._f(\"currency\")(_vm.item.plat.prixAccompagnement)))])]:_vm._e()],2)}),0):_vm._e()]),_c('v-col',{staticClass:\"d-flex\",attrs:{\"cols\":\"12\"}},[_c('strong',{staticClass:\"primary--text body-2\"},[_vm._v(_vm._s(_vm.$t(\"Cart.UnitPrice\"))+\" : \"),_c('span',{staticClass:\"prix\"},[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.item.prixAvecOptions)))])]),_c('v-spacer'),_c('strong',{staticClass:\"primary--text body-2\"},[(!_vm.readOnly)?_c('v-btn',{staticClass:\"ml-3 pa-0\",attrs:{\"width\":\"25\",\"height\":\"25\",\"fab\":\"\",\"dark\":\"\",\"color\":\"primary\",\"x-small\":\"\"},on:{\"click\":function($event){return _vm.udpateQty(_vm.item.qty-1)}}},[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"mdi-minus\")])],1):_vm._e(),(!_vm.readOnly)?_c('v-btn',{staticClass:\"ml-3 mr-2 pa-0\",attrs:{\"width\":\"25\",\"height\":\"25\",\"fab\":\"\",\"dark\":\"\",\"color\":\"primary\",\"x-small\":\"\"},on:{\"click\":function($event){return _vm.udpateQty(_vm.item.qty+1)}}},[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"mdi-plus\")])],1):_vm._e(),_vm._v(\" \"+_vm._s(_vm.$t(\"Cart.Quantity\"))+\" : \"+_vm._s(_vm.item.qty))],1)],1),_c('v-divider',{staticClass:\"mx-1 black my-3\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"plat-title\"},[_vm._v(\" \"+_vm._s(_vm.item.qty)+\" x \"+_vm._s(_vm.$gt(_vm.item.plat).libelle)+\" \"),(_vm.item.plat.template == 'plat-produit-oeuf' && _vm.item.cuissonOeuf)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t((\"Icon.\" + (_vm.item.cuissonOeuf))))}}):_vm._e(),_vm._v(\" - \"),_c('span',{staticClass:\"prix\",class:{'primary--text body-2':!_vm.hasOption}},[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.item.plat.prix)))]),(_vm.hasOption)?[_vm._v(\" - \"),_c('strong',{staticClass:\"prix primary--text body-2\"},[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.item.prixTotalAvecOptions)))]),_vm._v(\" \"),_c('span',{staticClass:\"subLine primary--text\"},[_vm._v(\"Avec options\")])]:_vm._e()],2),_c('div',{staticClass:\"subLine\",domProps:{\"innerHTML\":_vm._s(_vm.$gt(_vm.item.plat).descriptif)}})]),_c('v-col',{staticClass:\"pl-4\",attrs:{\"cols\":\"12\"}},[(_vm.item.plat.template != 'plat-produit-oeuf' && _vm.item.cuisson && _vm.item.cuisson.lgs.length > 0)?_c('div',{staticClass:\"subLine\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('Dish.SelectedCooking'))+\" :\")]),_vm._v(\" \"+_vm._s(_vm.$gt(_vm.item.cuisson).libelle))]):(_vm.item.plat.template == 'plat-produit-oeuf' && _vm.item.cuissonOeuf == 'coque')?_c('div',{staticClass:\"subLine\"},[(_vm.item.tempsCuisson == 0)?_c('strong',[_vm._v(_vm._s(_vm.$t('Dish.CookingTime',{time:_vm.$t('Dish.ChefChoice')})))]):_c('strong',[_vm._v(_vm._s(_vm.$t('Dish.CookingTime',{time:((_vm.item.tempsCuisson) + \" min\")})))])]):_vm._e(),(_vm.item.parfum && _vm.item.parfum.lgs.length > 0)?_c('div',{staticClass:\"subLine\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('Dish.SelectedFlavor'))+\" :\")]),_vm._v(\" \"+_vm._s(_vm.$gt(_vm.item.parfum).libelle))]):_vm._e(),(_vm.item.plat.template != 'plat-produit-oeuf' && _vm.qtyAccompagnements > 0)?_c('div',{staticClass:\"subLine\"},[_c('strong',[_vm._v(_vm._s(_vm.$tc('Dish.SelectedSideDish',_vm.qtyAccompagnements))+\" :\")]),(_vm.accompagnements.length > 1)?_c('ul',_vm._l((_vm.accompagnements),function(it,idx){return _c('li',{key:idx,staticClass:\"options subline\"},[_vm._v(\"- \"+_vm._s(_vm.$gt(it.item).libelle)+\" \"),(it.qty > 1)?[_vm._v(\" - x\"+_vm._s(it.qty))]:_vm._e(),_vm._v(\" \"),(_vm.qtyAccompagnements > _vm.item.plat.qtyAccompagnementGratuit)?[(it.prix <= 0)?_c('span',[_vm._v(\" - \"+_vm._s(_vm.$t('Dish.Included')))]):_c('span',[_vm._v(\"- \"+_vm._s(_vm._f(\"currency\")(it.prix)))])]:_vm._e()],2)}),0):_c('span',[_vm._v(_vm._s(_vm.$gt(_vm.accompagnements[0].item).libelle)+\" \"),(_vm.qtyAccompagnements > 1)?[_vm._v(\" - x\"+_vm._s(_vm.qtyAccompagnements))]:_vm._e(),_vm._v(\" \"),(_vm.qtyAccompagnements > _vm.item.plat.qtyAccompagnementGratuit)?_c('span',[_vm._v(\"- \"+_vm._s(_vm._f(\"currency\")(_vm.accompagnements[0].prix)))]):_vm._e()],2)]):_vm._e(),(_vm.item.options && Object.keys(_vm.item.options).length > 0)?_c('ul',{staticClass:\" body-2 options primary--text\"},[_vm._l((Object.keys(_vm.item.options)),function(key){return _vm._l((_vm.item.options[key]),function(option,idx){return _c('li',{key:(key + \"-\" + idx)},[_vm._v(\" \"+_vm._s(option.qty)+\" x \"+_vm._s(_vm.$gt(option.plat).libelle)+\" - \"),_c('span',{staticClass:\"subLine\"},[_vm._v(_vm._s(_vm.$t('Dish.Included')))]),(option.parfum)?[_c('span',{staticClass:\"subLine\"},[_c('br'),_vm._v(\"(\"+_vm._s(option.parfum.map(function (p) { return _vm.$gt(p).libelle; }).join(\", \"))+\")\")])]:_vm._e()],2)})})],2):_vm._e(),(_vm.defaultItems.length > 0)?_c('ul',{staticClass:\"options body-2 secondary--text\"},_vm._l((_vm.defaultItems),function(item,idx){return _c('li',{key:idx},[_vm._v(_vm._s(item.qty)+\" x \"+_vm._s(_vm.$gt(item).libelle)+\" - \"),_c('span',{staticClass:\"subLine\"},[_vm._v(_vm._s(_vm.$t('Dish.Included')))])])}),0):_vm._e(),(_vm.item.supplements && _vm.item.supplements.length > 0)?_c('ul',{staticClass:\"options body-2\"},_vm._l((_vm.item.supplements),function(supplement,idx){return _c('li',{key:idx},[_vm._v(_vm._s(supplement.qty)+\" x \"+_vm._s(_vm.$gt(supplement.plat).libelle)+\" - \"+_vm._s(_vm._f(\"currency\")(supplement.prixTotalAvecOptions)))])}),0):_vm._e(),(_vm.item.plat.template == 'plat-produit-oeuf' && _vm.item.accompagnements && _vm.item.accompagnements.filter(function (i) { return i.qty > 0; }).length > 0)?_c('ul',{staticClass:\"options body-2\"},_vm._l((_vm.item.accompagnements.filter(function (i) { return i.qty >0; })),function(accompagnement,idx){return _c('li',{key:idx},[_vm._v(_vm._s(accompagnement.qty)+\" x \"+_vm._s(_vm.$gt(accompagnement.item).libelle)+\" \"),(_vm.item.accompagnements.filter(function (i) { return i.qty > 0; }).length > _vm.item.plat.qtyAccompagnementGratuit)?[(idx < _vm.item.plat.qtyAccompagnementGratuit)?_c('span',[_vm._v(\" - \"+_vm._s(_vm.$t('Dish.Included')))]):_c('span',[_vm._v(\"- \"+_vm._s(_vm._f(\"currency\")(_vm.item.plat.prixAccompagnement)))])]:_vm._e()],2)}),0):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport {AloArbo, getDefaultAloArbo} from '@/models/alo/AloArbo'\r\nimport { AloPanier } from '@/models/alo/AloPanier';\r\nimport { ItemPanier } from '@/models/alo/ItemPanier';\r\n\r\n@Component({\r\n name: 'CartSupItem',\r\n props: {\r\n item:{\r\n type:Object,\r\n required:true\r\n },\r\n readOnly:{\r\n type:Boolean,\r\n default:false\r\n }\r\n }\r\n})\r\nexport default class CartSupItem extends Vue {\r\n item!:ItemPanier \r\n value!:string\r\n readOnly!:Boolean\r\n\r\n get hasOption() {\r\n return (this.item.prixSupplementsAccompagnement + this.item.prixSupplementsCarte) > 0\r\n }\r\n\r\n get accompagnements(){\r\n let nbGratuitRestant = this.item.plat.qtyAccompagnementGratuit??0\r\n return this.item?.accompagnements.filter(i =>i.qty > 0).map(it => { \r\n const item = {...it,prix: Math.max(0,it.qty - nbGratuitRestant) * this.item.plat.prixAccompagnement! } \r\n nbGratuitRestant = Math.max(0,nbGratuitRestant-it.qty)\r\n return item\r\n }) \r\n }\r\n\r\n get qtyAccompagnements(){\r\n return this.accompagnements.reduce((total,a)=>{\r\n return total+a.qty\r\n },0)\r\n }\r\n\r\n get platsDic(){ \r\n return this.$store.myGetters.platsDic\r\n }\r\n\r\n get defaultItems() {\r\n return this.plats.filter(p => p && p.template == \"plat-produit-menu-breakfast-default-item\")\r\n }\r\n\r\n get plats() {\r\n return (this.item.plat.platsIds?.map(id => this.platsDic[id]) || []).filter(it => it)\r\n }\r\n\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CartSupItem.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CartSupItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CartSupItem.vue?vue&type=template&id=1f768f59&scoped=true&\"\nimport script from \"./CartSupItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./CartSupItem.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CartSupItem.vue?vue&type=style&index=0&id=1f768f59&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1f768f59\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { Component, Vue } from 'vue-property-decorator'\r\nimport {AloArbo, getDefaultAloArbo} from '@/models/alo/AloArbo'\r\nimport { AloPanier } from '@/models/alo/AloPanier'\r\nimport { ItemPanier } from '@/models/alo/ItemPanier'\r\nimport CartSupItem from '@/components/panier/CartSupItem.vue'\r\n\r\n@Component({\r\n name: 'CartItem',\r\n props: {\r\n item:{\r\n type:Object,\r\n required:true\r\n },\r\n readOnly:{\r\n type:Boolean,\r\n default:false\r\n }\r\n },\r\n components:{CartSupItem}\r\n})\r\nexport default class CartItem extends Vue {\r\n item!:ItemPanier \r\n value!:string\r\n readOnly!:Boolean\r\n\r\n get hasOption() {\r\n return (this.item.prixSupplementsAccompagnement + this.item.prixSupplementsCarte) > 0\r\n }\r\n\r\n get showEdition(){\r\n return !this.readOnly && (this.item.plat.template == 'plat-produit-menu-breakfast' ||\r\n this.item.plat.template == 'plat-produit-accompagnement' ||\r\n this.item.plat.template == 'plat-produit-oeuf')\r\n }\r\n \r\n get commentaire() {\r\n return this.item.commentaire\r\n }\r\n\r\n set commentaire (value) { \r\n this.$emit('updateItemCommentaire',value) \r\n }\r\n\r\n get accompagnements(){\r\n let nbGratuitRestant = this.item.plat.qtyAccompagnementGratuit??0\r\n return this.item?.accompagnements.filter(i =>i.qty > 0).map(it => { \r\n const item = {...it,prix: Math.max(0,it.qty - nbGratuitRestant) * this.item.plat.prixAccompagnement! } \r\n nbGratuitRestant = Math.max(0,nbGratuitRestant-it.qty)\r\n return item\r\n }) \r\n }\r\n\r\n get libelle(){\r\n //@ts-ignore\r\n return Vue.$gt(this.item.plat).libelle\r\n //Commenté car Florent est en négo avec le client\r\n //@ts-ignore\r\n //return this.item.parentId?`${Vue.$gt(this.platsDic[this.item.parentId]).libelle} ${Vue.$gt(this.item.plat).libelle.toLowerCase()}` : Vue.$gt(this.item.plat).libelle\r\n }\r\n\r\n get qtyAccompagnements(){\r\n return this.accompagnements.reduce((total,a)=>{\r\n return total+a.qty\r\n },0)\r\n }\r\n\r\n udpateQty(qty:number){\r\n this.$emit('udpateQty',qty) \r\n } \r\n\r\n get platsDic(){ \r\n return this.$store.myGetters.platsDic\r\n }\r\n\r\n get defaultItems() {\r\n return this.plats.filter(p => p && p.template == \"plat-produit-menu-breakfast-default-item\")\r\n }\r\n\r\n get plats() {\r\n return (this.item.plat.platsIds?.map(id => this.platsDic[id]) || []).filter(it => it)\r\n }\r\n\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CartItem.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CartItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CartItem.vue?vue&type=template&id=3c811ee0&scoped=true&\"\nimport script from \"./CartItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./CartItem.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CartItem.vue?vue&type=style&index=0&id=3c811ee0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3c811ee0\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VDivider,VIcon,VRow,VSpacer})\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CartItem.vue?vue&type=style&index=0&id=3c811ee0&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CartItem.vue?vue&type=style&index=0&id=3c811ee0&scoped=true&lang=css&\"","\r\n\r\nexport interface AloBase {\r\n id:number\r\n libelle:string\r\n selected?:boolean\r\n}\r\n\r\nexport const getDefaultAloBase = ():AloBase => {\r\n return {\r\n id:0,\r\n libelle:'',\r\n selected:false\r\n }\r\n}","const PASSWORD_MIN_LENGTH = 8\r\n\r\nexport const ruleRequired = (v:string,error:string=\"Ce champs est requis\") => {\r\n return !!v || error\r\n}\r\n\r\nexport const ruleMinLength = (v:string,length:number,fieldName='Le champs') => {\r\n return v.length >= length || `${fieldName} doit posséder au moins ${length} caractères`\r\n}\r\n\r\nexport const rulePasswordMinLength = (v:string) => {\r\n return ruleMinLength(v,PASSWORD_MIN_LENGTH,'Le mot de passe')\r\n}\r\n\r\nexport const ruleMatch = (v:string,verif:string,fieldName='Les champs') => { \r\n return verif == v || `${fieldName} doivent correspondre` \r\n}\r\n\r\nexport const ruleMailMatch = (v:string,verifMail:string) => { \r\n return ruleMatch(v,verifMail,'Les emails')\r\n}\r\n\r\nexport const rulePasswordMatch = (v:string,verifPass:string) => { \r\n return ruleMatch(v,verifPass,'Les mots de passe')\r\n}\r\n\r\nexport const ruleMailValid = (v:string) => { \r\n return /(.+)@(.+){2,}\\.(.+){2,}/.test(v) || \"Le format de l'email est invalide\"\r\n}","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuBreakfastSectionItem.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuBreakfastSectionItem.vue?vue&type=style&index=0&lang=css&\"","module.exports = __webpack_public_path__ + \"img/de.a2ff6d85.svg\";"],"sourceRoot":""}