{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/image/ReadImage.vue?182f","webpack:///./src/App.vue?9b05","webpack:///./src/enum/CommitAction.ts","webpack:///./src/models/alo/AloInscription.ts","webpack:///./src/models/alo/AloCours.ts","webpack:///./src/models/alo/AloCmdForfait.ts","webpack:///./src/models/alo/AloCmdRow.ts","webpack:///./src/models/alo/AloCommande.ts","webpack:///./src/models/alo/AloPageContent.ts","webpack:///./src/models/alo/AloContact.ts","webpack:///./src/models/alo/AloConfigBase.ts","webpack:///./src/models/alo/AloConfigActivity.ts","webpack:///./src/enum/StatusCarte.ts","webpack:///./src/models/alo/AloTemplateCours.ts","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/utils/images.ts","webpack:///./src/components/shared/EditDrawer.vue?8156","webpack:///./src/components/shared/EditDrawer.vue","webpack:///./src/components/shared/EditDrawer.vue?e604","webpack:///./src/components/shared/EditDrawer.vue?bea4","webpack:///./src/enum/ApiResultCode.ts","webpack:///./src/models/als/AlsBase.ts","webpack:///./src/filters/formatDate.ts","webpack:///./src/utils/groupBy.ts","webpack:///./src/models/alo/AloFamily.ts","webpack:///./src/models/alo/AloMedia.ts","webpack:///./src/locale/lang/fr.ts","webpack:///./src/models/alo/AloMailSkin.ts","webpack:///./src/models/alo/AloUserIdentity.ts","webpack:///./src/models/alo/AloForgottenPass.ts","webpack:///./src/models/alo/AloMailTemplate.ts","webpack:///./src/filters/formatFinValidite.ts","webpack:///./src/utils/api.ts","webpack:///./src/models/alo/AloForfait.ts","webpack:///./src/locale/lang lazy ^\\.\\/.*$ namespace object","webpack:///./src/enum/ApiUserRole.ts","webpack:///./src/utils/uuid.ts","webpack:///./src/filters/currency.ts","webpack:///./src/enum/StatusCommande.ts","webpack:///./src/models/alo/AloNewsletter.ts","webpack:///./src/enum/TemplateMail.ts","webpack:///./src/models/alo/AloMailTemplateLg.ts","webpack:///./src/models/alo/AloBaseLg.ts","webpack:///./src/models/alo/AloAddress.ts","webpack:///./src/class-component-hooks.ts","webpack:///./src/plugins/confirm/Confirm.vue?7786","webpack:///src/plugins/confirm/Confirm.vue","webpack:///./src/plugins/confirm/Confirm.vue?27b5","webpack:///./src/plugins/confirm/Confirm.vue","webpack:///./src/plugins/confirm/index.js","webpack:///./src/plugins/vuetify.ts","webpack:///./src/App.vue?424d","webpack:///./src/components/shared/ChangePassword.vue?58ca","webpack:///./src/components/shared/ChangePassword.vue","webpack:///./src/components/shared/ChangePassword.vue?826b","webpack:///./src/components/shared/ChangePassword.vue?0fbb","webpack:///./src/App.vue?ec60","webpack:///./src/App.vue?640d","webpack:///./src/App.vue?b1ee","webpack:///./src/plugins/storeHelper.ts","webpack:///./src/utils/type.ts","webpack:///./src/store/modules/auth/action-types.ts","webpack:///./src/store/modules/client/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/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/models/alo/AloPanier.ts","webpack:///./src/api/commande.ts","webpack:///./src/store/modules/client/mutation-types.ts","webpack:///./src/store/modules/client/all-mutation-types.ts","webpack:///./src/store/modules/client/actions.ts","webpack:///./src/store/modules/client/getters.ts","webpack:///./src/store/modules/client/mutations.ts","webpack:///./src/store/modules/client/state.ts","webpack:///./src/store/modules/client/index.ts","webpack:///./src/api/mns.ts","webpack:///./src/api/mailTemplate.ts","webpack:///./src/api/mailSkin.ts","webpack:///./src/api/piscine.ts","webpack:///./src/api/forfait.ts","webpack:///./src/api/contact.ts","webpack:///./src/api/newsletter.ts","webpack:///./src/models/als/AlsCours.ts","webpack:///./src/api/cours.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/models/alo/Configuration.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/locale/vueI18n.ts","webpack:///./src/filters/formatDistance.ts","webpack:///./src/filters/formatAddress.ts","webpack:///./src/filters/formatDuree.ts","webpack:///./src/filters/poids.ts","webpack:///./src/filters/tva.ts","webpack:///./src/enum/MoyenPaiement.ts","webpack:///./src/filters/moyenPaiement.ts","webpack:///./src/filters/capitalize.ts","webpack:///./src/filters/tel.ts","webpack:///./src/filters/formatDay.ts","webpack:///./src/filters/colorStatusCmd.ts","webpack:///./src/filters/statusCmd.ts","webpack:///./src/filters/colorStatusInscription.ts","webpack:///./src/filters/statusInscription.ts","webpack:///./src/filters/colorStatusCarte.ts","webpack:///./src/filters/statusCarte.ts","webpack:///./src/filters/statusAbo.ts","webpack:///./src/filters/formatAge.ts","webpack:///./src/components/shared/NumberFieldFactor.vue?7669","webpack:///./src/components/shared/NumberFieldFactor.vue","webpack:///./src/components/shared/NumberFieldFactor.vue?46ac","webpack:///./src/components/shared/NumberFieldFactor.vue?9502","webpack:///./src/components/shared/CheckState.vue?ed21","webpack:///./src/components/shared/CheckState.vue","webpack:///./src/components/shared/CheckState.vue?5738","webpack:///./src/components/shared/CheckState.vue?a029","webpack:///./src/components/image/ReadImage.vue?8222","webpack:///./src/api/media.ts","webpack:///./src/components/image/ImageDetail.vue?c0ea","webpack:///./src/components/image/ImageDetail.vue?5738","webpack:///./src/components/image/ImageDetail.vue?f988","webpack:///./src/components/image/ImageDetail.vue?8b8c","webpack:///./src/components/image/ImageDetailUpload.vue?4b9e","webpack:///./src/components/image/ImageDetailUpload.vue?eb70","webpack:///./src/components/image/ImageDetailUpload.vue?cb87","webpack:///./src/components/image/ImageDetailUpload.vue?4be0","webpack:///./src/components/image/EditImage.vue?3c66","webpack:///./src/components/image/EditImage.vue","webpack:///./src/components/image/EditImage.vue?a426","webpack:///./src/components/image/EditImage.vue?c184","webpack:///./src/components/image/ReadImage.vue?780a","webpack:///./src/components/image/ReadImage.vue?6638","webpack:///./src/components/image/ReadImage.vue?90f9","webpack:///./src/components/shared/MainLoading.vue?3c07","webpack:///./src/components/shared/MainLoading.vue","webpack:///./src/components/shared/MainLoading.vue?6b22","webpack:///./src/components/shared/MainLoading.vue?1714","webpack:///./src/components/shared/MonthPicker.vue?a32b","webpack:///./src/components/shared/MonthPicker.vue","webpack:///./src/components/shared/MonthPicker.vue?83a4","webpack:///./src/components/shared/MonthPicker.vue?44d8","webpack:///./src/components/shared/SearchDrawer.vue?2a46","webpack:///./src/components/shared/SearchDrawer.vue","webpack:///./src/components/shared/SearchDrawer.vue?e4bf","webpack:///./src/components/shared/SearchDrawer.vue?f5c6","webpack:///./src/components/shared/SearchDialog.vue?f6a9","webpack:///./src/components/shared/SearchDialog.vue","webpack:///./src/components/shared/SearchDialog.vue?0bd3","webpack:///./src/components/shared/SearchDialog.vue?af26","webpack:///./src/components/administration/MenuAdministration.vue?06e5","webpack:///./src/components/shared/MenuNav.vue?3889","webpack:///./src/components/shared/MenuNav.vue","webpack:///./src/components/shared/MenuNav.vue?35cf","webpack:///./src/components/shared/MenuNav.vue?4b17","webpack:///./src/components/administration/MenuAdministration.vue","webpack:///./src/components/administration/MenuAdministration.vue?43f1","webpack:///./src/components/administration/MenuAdministration.vue?fbc7","webpack:///./src/main.ts","webpack:///./src/assets/logo.png","webpack:///./src/utils/string.ts","webpack:///./src/assets/logo-white.png","webpack:///./src/models/alo/AloTemplateHoraire.ts","webpack:///./src/models/alo/AloUser.ts","webpack:///./src/components/image/ImageDetailUpload.vue?1df6","webpack:///./src/models/als/AlsUser.ts","webpack:///./src/api/user.ts","webpack:///./src/models/alo/AloConfigPiscine.ts","webpack:///./src/models/alo/AloBase.ts","webpack:///./src/api/activity.ts","webpack:///./src/enum/StatusInscription.ts","webpack:///./src/models/alo/AloActivity.ts","webpack:///./src/utils/validationRules.ts","webpack:///./src/components/image/ImageDetail.vue?17e4","webpack:///./src/models/alo/AloPiscine.ts","webpack:///./src/models/alo/AloMns.ts","webpack:///./src/api/family.ts"],"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","CommitAction","cleanAloInscription","inscription","id","usrId","crwId","cours","horaire","acyId","acyIdCplt","psnId","crsDureeMin","tcsDureeMin","crsCapaciteMax","tcsCapaciteMax","crsDatdebut","professeur","piscine","inscriptions","forEach","cleanAloCmdForfait","forfaitRow","fftId","row","forfait","famId","cmdStatus","StatusCommande","bcd","cmdTotal","cmdDatadd","cmdDatpaiement","cmdDatvalidation","rows","clientSecret","commande","getDefaultAloPageContent","pctTitle","pctBaseline","pctSubTitle","pctHat","pctMetaTitle","pctMetaDesc","slug","cleanAloPageContent","pageContent","getDefaultAloContact","ctcLu","ctcDatadd","ctcMail","acyIds","ctcMessage","mtpId","cleanAloContact","contact","getDefaultAloConfigBase","cleanAloConfigBase","config","getDefaultAloConfigActivity","youtube","infosPlus","objectifsPlus","StatusCarte","getDefaultAloTemplateCours","activity","libelle","horaires","cleanAloTemplateCours","tplCours","h","map","webpackContext","req","webpackContextResolve","keys","getImageUrl","image","w","urlParams","URLSearchParams","append","toString","pParams","queryParam","url","padStart","mdaExt","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","ApiResultCode","getDefaultAlsBase","commit","listAndDic","formatDate","format","i18n","utc","locale","filter","groupByNumber","xs","selector","entries","toNumberLookup","it","Number","parseInt","values","toNumberDictionary","buildDefaultItem","reduce","rv","x","toStringDictionary","chunkSize","Array","Math","ceil","toSubArray","nbSubArray","getDefaultAloFamily","actId","address","membres","commandes","cleanAloFamily","family","ctyId","getDefaultAloMedia","slgId","mdaCopyright","cleanAloMedia","media","App","BackHome","Logout","ShowLeftDrawerTooltip","HideLeftDrawerTooltip","ShowRightDrawerTooltip","HideRightDrawerTooltip","Close","MailSkin","MailTemplate","ForfaitAddCart","Form","Required","MinChar","PasswordMismatch","EmailInvalid","LangSwitcher","Tooltip","Login","Email","Password","LoginAction","SendRequest","CancelRequest","AuthenticationProgress","AuthenticationSuccess","AuthenticationError","PassForgottenSuccess","PassForgottenProgress","PassForgottenError","ForgotPassword","CreateAccess","InfosAccount","EnterStayDate","Name","Home","Profil","FindSwimmSchool","Tickets","Administration","ProfilTitle","YourProfil","MyBooking","SessionHistory","Command","Address","IndoorInfos","NumberWay","OutsideInfos","PostBox","PostalCode","City","Cart","SeeCart","YourCart","Continue","UnitPrice","Quantity","TotalTTC","PartTVA","Add","Remove","ClientName","FinalizeOrder","InOrderToValidate","AlertRemoveItem","Clear","AlertClear","AlertOrderSavedTitle","AlertOrderSaved","Person","Global","Yes","No","Warning","Ok","Validate","Delete","Cancel","Save","Choose","Language","Edit","With","Without","WeAre","Welcome","Between","And","Full","Loaded","UpdateDeliverySlots","Today","Tomorrow","Yesterday","FormatPeriode","download","Days","Back","ConfirmDelete","Reset","getDefaultAloMailSkin","mskValide","lgs","cleanAloMailSkin","mailSkin","getDefaultAloUserIdentity","userEmail","userPass","userNewPass","userEncryptedToken","userNom","userType","getDefaultAloMailTemplate","mtpValide","mskId","cleanAloMailTemplate","mailTemplate","formatFinValidite","dureeM","add","isValide","diff","mocks","cacheQuery","apiCall","method","args","met","methodeMock","log","axiosConfig","axiosConfiStr","JSON","stringify","finally","externalApiCall","authorization","a","defaults","headers","common","addMocks","mks","statusText","downloadFile","responseType","response","URL","createObjectURL","Blob","link","filenameRegex","matches","exec","replace","body","click","directPayloadQuery","payloadRequest","payload","resp","resultCode","item","errorMessage","catch","getDefaultAloForfait","fftIsAbo","fftEnable","fftLimiteAchat","fftValiditeM","fftNbEntree","fftTarif","fftInfos","psnIds","tva","cleanAloForfait","webpackAsyncContext","ids","ApiUserRole","uuidv4","crypto","getRandomValues","Uint8Array","formatCurrency","isCts","currency","Intl","NumberFormat","style","minimumFractionDigits","maximumFractionDigits","formatCurrencyNo","getDefaultAloNewsletter","mail","nwlDisabled","nwlDatadd","nwlDatvalid","nwlDatdel","cleanAloNewsletter","newsletter","TemplateMail","getDefaultAloMailTemplateLg","lang","mtplTemplate","getDefaultAloBaseLg","lg","getDefaultAloAddress","gpsId","adrNumberWay","adrOutsideInfos","adrPostalCode","adrPostBox","adrIndoorInfos","gpsLat","gpsLon","cleanAloAddress","adresse","registerHooks","_obj","persistent","change","indexOf","_k","keyCode","choose","class","color","icon","domProps","buttonFalseText","buttonFalseColor","buttonFalseFlat","buttonTrueText","buttonTrueColor","buttonTrueFlat","components","VCard","VCardActions","VCardText","VDialog","required","mounted","addEventListener","onEnterPressed","destroyed","removeEventListener","methods","stopPropagation","$destroy","Install","Vue","options","vuetify","warn","Ctor","extend","assign","Confirm","createDialogCmp","container","querySelector","cmp","propsData","$el","$mount","show","VCardSubtitle","VCardTitle","VDivider","use","icons","iconfont","theme","themes","light","primary","secondary","accent","info","success","warning","locales","fr","current","directives","rawName","$vuetify","breakpoint","mobile","showDrawerCmp","mdAndDown","drawerOpen","_l","to","text","logout","$t","routemeta","drawerCmp","drawerRightWidth","rightDrawerOpen","rightDrawerCmp","ref","showDrawerIcon","toggleDrawer","arguments","drawerIcon","panier","nbItems","scopedSlots","_u","fn","proxy","isAuthenticated","userName","rightDrawerEnable","rightDrawerIcon","hideFooter","xsOnly","group","mailNews","savingNewsletter","inscriptionNew","showSnacks","index","$store","myActions","UI_CLOSE_SNACKBAR","isDirty","ruleRequired","$refs","password","hasError","modified","$set","rulePasswordMinLength","newPassword","rulePasswordMatch","confirmPassword","newPassVerif","passwordMinLength","v","myGetters","user","usrEmail","changePasswordForm","validate","AUTH_CHANGE_PASSWORD_REQUEST","UI_ADD_SNACK_MESSAGE","EditDrawer","VForm","VTextField","fixed","showSnack","openUserMenu","mainMenuItems","footerItems","links","sociauxItems","newValue","UI_SET_DRAWER_OPEN","UI_SET_RIGHT_DRAWER_OPEN","UI_SET_RIGHT_DRAWER_ENABLE","snackMessages","$route","matched","meta","updateDrawer","location","search","ADM_NEWSLETTER_VALID_REQUEST","news","$confirm","delete","history","replaceState","pathname","onResize","UI_SET_CONTENT_HEIGHT","innerHeight","appBar","clientHeight","from","hideDrawerIcon","canAccess","AdminPlateforme","AUTH_LOGOUT_REQUEST","changePassword","edit","aloNews","InscriptionNewsletter","ADM_NEWSLETTER_SAVE_REQUEST","ChangePassword","VApp","VAppBarNavIcon","VBadge","VImg","VList","VListItem","VListItemContent","VListItemIcon","VListItemTitle","VRow","VSnackbar","VSubheader","VTab","VTabs","VToolbarItems","Resize","actions","_actions","action","dispatch","getters","localVue","mixin","typeCache","label","AUTH_REQUEST","AUTH_USER_REQUEST","AUTH_AUTO_LOGOUT_REQUEST","AUTH_PASSWORD_REQUEST","AUTH_CREATE_PASSWORD_REQUEST","AUTH_CREATE_ACCOUNT_REQUEST","AUTH_RESET_STATUS","AUTH_SET_REDIRECT_PATH","AUTH_AUTOLOG_REQUEST","AUTH_UPDATE_USER","CLIENT_ADD_PANIER","CLIENT_CLEAR_PANIER","CLIENT_UPD_PANIER_ITEM_QTY","CLIENT_ENSURE_CHECKOUT","CLIENT_CHECKOUT_REQUEST","CLIENT_CHECKOUT_FREE_REQUEST","CLIENT_SET_PANIER_ADDRESS","ADM_USER_REQUEST","ADM_USER_ENSURE","ADM_USER_DETAIL_REQUEST","ADM_USER_DETAIL_ENSURE","ADM_USER_SAVE_REQUEST","ADM_USER_DELETE_REQUEST","ADM_USER_SAVE_MEMBER_REQUEST","ADM_USER_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_PISCINE_REQUEST","ADM_PISCINE_ENSURE","ADM_PISCINE_DETAIL_REQUEST","ADM_PISCINE_DETAIL_ENSURE","ADM_PISCINE_SAVE_REQUEST","ADM_PISCINE_DELETE_REQUEST","ADM_PISCINE_RESET_STATUS","ADM_ACTIVITY_REQUEST","ADM_ACTIVITY_ENSURE","ADM_ACTIVITY_DETAIL_REQUEST","ADM_ACTIVITY_DETAIL_ENSURE","ADM_ACTIVITY_SAVE_REQUEST","ADM_ACTIVITY_DELETE_REQUEST","ADM_ACTIVITY_RESET_STATUS","ADM_ACTIVITY_SET_LIST","ADM_FORFAIT_REQUEST","ADM_FORFAIT_ENSURE","ADM_FORFAIT_DETAIL_REQUEST","ADM_FORFAIT_DETAIL_ENSURE","ADM_FORFAIT_SAVE_REQUEST","ADM_FORFAIT_DELETE_REQUEST","ADM_FORFAIT_RESET_STATUS","ADM_MNS_REQUEST","ADM_MNS_ENSURE","ADM_MNS_DETAIL_REQUEST","ADM_MNS_DETAIL_ENSURE","ADM_MNS_SAVE_REQUEST","ADM_MNS_DELETE_REQUEST","ADM_MNS_RESET_STATUS","ADM_CONTACT_REQUEST","ADM_CONTACT_ENSURE","ADM_CONTACT_DETAIL_REQUEST","ADM_CONTACT_DETAIL_ENSURE","ADM_CONTACT_SAVE_REQUEST","ADM_CONTACT_DELETE_REQUEST","ADM_CONTACT_MIN_DATE_ENSURE","ADM_CONTACT_RESET_STATUS","ADM_CONTACT_ACTION_ON_SELECTION_REQUEST","ADM_CONTACT_SET_SELECTION","ADM_NEWSLETTER_REQUEST","ADM_NEWSLETTER_ENSURE","ADM_NEWSLETTER_DETAIL_REQUEST","ADM_NEWSLETTER_DETAIL_ENSURE","ADM_NEWSLETTER_DELETE_REQUEST","ADM_NEWSLETTER_RESET_STATUS","ADM_NEWSLETTER_ACTION_ON_SELECTION_REQUEST","ADM_NEWSLETTER_SET_SELECTION","ADM_COURS_REQUEST","ADM_COURS_ENSURE","ADM_COURS_DETAIL_REQUEST","ADM_COURS_DETAIL_ENSURE","ADM_COURS_SAVE_REQUEST","ADM_COURS_CREATE_REQUEST","ADM_COURS_CREATE_RANGE_REQUEST","ADM_COURS_DELETE_REQUEST","ADM_COURS_RESET_STATUS","ADM_COMMANDE_REQUEST","ADM_COMMANDE_ENSURE","ADM_COMMANDE_DETAIL_REQUEST","ADM_COMMANDE_DETAIL_ENSURE","ADM_COMMANDE_SAVE_REQUEST","ADM_COMMANDE_DELETE_REQUEST","ADM_COMMANDE_MIN_DATE_ENSURE","ADM_COMMANDE_RESET_STATUS","ADM_FAMILY_REQUEST","ADM_FAMILY_ENSURE","ADM_FAMILY_DETAIL_REQUEST","ADM_FAMILY_DETAIL_ENSURE","ADM_FAMILY_SAVE_REQUEST","ADM_FAMILY_DELETE_REQUEST","ADM_FAMILY_RESET_STATUS","UI_SET_DRAWER_ENABLE","UI_SET_CART_VISIBLITY","UI_SET_SEARCH_USER","UI_SET_SORT_USER_DESC","UI_SET_SORT_USER_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","UI_SET_SEARCH_PISCINE","UI_SET_SORT_PISCINE_DESC","UI_SET_SORT_PISCINE_BY","UI_SET_MONTH_PISCINE","UI_SET_SEARCH_ACTIVITY","UI_SET_SORT_ACTIVITY_DESC","UI_SET_SORT_ACTIVITY_BY","UI_SET_SEARCH_FORFAIT","UI_SET_SORT_FORFAIT_DESC","UI_SET_SORT_FORFAIT_BY","UI_SET_SEARCH_MNS","UI_SET_SORT_MNS_DESC","UI_SET_SORT_MNS_BY","UI_SET_SEARCH_CONTACT","UI_SET_SORT_CONTACT_DESC","UI_SET_SORT_CONTACT_BY","UI_SET_MONTH_CONTACT","UI_SET_SEARCH_NEWSLETTER","UI_SET_SORT_NEWSLETTER_DESC","UI_SET_SORT_NEWSLETTER_BY","UI_SET_SEARCH_COURS","UI_SET_SORT_COURS_DESC","UI_SET_SORT_COURS_BY","UI_SET_SEARCH_COMMANDE","UI_SET_SORT_COMMANDE_DESC","UI_SET_SORT_COMMANDE_BY","UI_SET_MONTH_COMMANDE","UI_SET_SEARCH_FAMILY","UI_SET_SORT_FAMILY_DESC","UI_SET_SORT_FAMILY_BY","SecurityItemsKeys","routes","path","children","route","params","activityId","piscineId","roles","initialStep","contactId","forfaitId","familyId","commandeId","store","router","scrollBehavior","y","beforeEach","next","authenticate","api","transformResponse","parse","autolog","getAuthenticatedUser","forgetPassword","createPassword","createAccount","classToObject","ctor","objResult","getOwnPropertyNames","k","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","AUTH_CREATE_ACCOUNT_SUCCESS","AUTH_CREATE_ACCOUNT_ERROR","context","identity","state","authStatus","token","userSecurity","renewTokenId","redirectPath","findIndex","AdminPiscine","Client","Famille","MNS","ProprietairePiscine","some","role","DEBUG_LOG","enable","visible","calculSecurityRights","SecurityRightsByRoles","mutations","resetState","loadInitalData","currentRoute","userStatus","localStorage","getItem","authModule","items","total","qty","dicTva","tvas","pourcentage","montant","parseFloat","parsePanierData","getAllCommande","getFilterCommande","dates","toUTCString","getMinDate","getCommande","saveCommande","deleteCommande","checkout","checkoutfree","CLIENT_CHECKOUT_SUCCESS","CLIENT_CHECKOUT_ERROR","CLIENT_CHECKOUT_FREE_SUCCESS","CLIENT_CHECKOUT_FREE_ERROR","itemPanier","find","setItem","panierStatus","pan","administrationModule","getAllMns","getMns","saveMns","mns","deleteMns","getAllMailTemplate","getMailTemplate","saveMailTemplate","deleteMailTemplate","getAllMailSkin","getMailSkin","saveMailSkin","deleteMailSkin","parsePiscineData","psn","images","configPiscine","parsePiscinesData","acys","getAllPiscine","getPiscine","idOrSlug","savePiscine","deletePiscine","getAllForfait","getForfait","saveForfait","deleteForfait","getAllContact","getFilterContact","getContact","saveContact","deleteContact","executeActionOnSelection","getAllNewsletter","getNewsletter","saveNewsletter","deleteNewsletter","validNewsletter","cleanAlsCours","getAllCours","getCours","saveCours","deleteCours","getFilterCours","crsFilter","addRange","ADM_USER_SUCCESS","ADM_USER_ERROR","ADM_USER_DETAIL_SUCCESS","ADM_USER_DETAIL_ERROR","ADM_USER_SAVE_SUCCESS","ADM_USER_SAVE_ERROR","ADM_USER_SAVE_MEMBER_SUCCESS","ADM_USER_SAVE_MEMBER_ERROR","ADM_USER_DELETE_SUCCESS","ADM_USER_DELETE_ERROR","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_PISCINE_SUCCESS","ADM_PISCINE_ERROR","ADM_PISCINE_DETAIL_SUCCESS","ADM_PISCINE_DETAIL_ERROR","ADM_PISCINE_SAVE_SUCCESS","ADM_PISCINE_SAVE_ERROR","ADM_PISCINE_DELETE_SUCCESS","ADM_PISCINE_DELETE_ERROR","ADM_ACTIVITY_SUCCESS","ADM_ACTIVITY_ERROR","ADM_ACTIVITY_DETAIL_SUCCESS","ADM_ACTIVITY_DETAIL_ERROR","ADM_ACTIVITY_SAVE_SUCCESS","ADM_ACTIVITY_SAVE_ERROR","ADM_ACTIVITY_DELETE_SUCCESS","ADM_ACTIVITY_DELETE_ERROR","ADM_FORFAIT_SUCCESS","ADM_FORFAIT_ERROR","ADM_FORFAIT_DETAIL_SUCCESS","ADM_FORFAIT_DETAIL_ERROR","ADM_FORFAIT_SAVE_SUCCESS","ADM_FORFAIT_SAVE_ERROR","ADM_FORFAIT_DELETE_SUCCESS","ADM_FORFAIT_DELETE_ERROR","ADM_MNS_SUCCESS","ADM_MNS_ERROR","ADM_MNS_DETAIL_SUCCESS","ADM_MNS_DETAIL_ERROR","ADM_MNS_SAVE_SUCCESS","ADM_MNS_SAVE_ERROR","ADM_MNS_DELETE_SUCCESS","ADM_MNS_DELETE_ERROR","ADM_CONTACT_SUCCESS","ADM_CONTACT_ERROR","ADM_CONTACT_DETAIL_SUCCESS","ADM_CONTACT_DETAIL_ERROR","ADM_CONTACT_MIN_DATE_REQUEST","ADM_CONTACT_MIN_DATE_SUCCESS","ADM_CONTACT_MIN_DATE_ERROR","ADM_CONTACT_SAVE_SUCCESS","ADM_CONTACT_SAVE_ERROR","ADM_CONTACT_DELETE_SUCCESS","ADM_CONTACT_DELETE_ERROR","ADM_CONTACT_ACTION_ON_SELECTION_SUCCESS","ADM_CONTACT_ACTION_ON_SELECTION_ERROR","ADM_NEWSLETTER_SUCCESS","ADM_NEWSLETTER_ERROR","ADM_NEWSLETTER_DETAIL_SUCCESS","ADM_NEWSLETTER_DETAIL_ERROR","ADM_NEWSLETTER_SAVE_SUCCESS","ADM_NEWSLETTER_SAVE_ERROR","ADM_NEWSLETTER_DELETE_SUCCESS","ADM_NEWSLETTER_DELETE_ERROR","ADM_NEWSLETTER_VALID_SUCCESS","ADM_NEWSLETTER_VALID_ERROR","ADM_NEWSLETTER_ACTION_ON_SELECTION_SUCCESS","ADM_NEWSLETTER_ACTION_ON_SELECTION_ERROR","ADM_COURS_SUCCESS","ADM_COURS_SUCCESS_DIC","ADM_COURS_ERROR","ADM_COURS_DETAIL_SUCCESS","ADM_COURS_DETAIL_ERROR","ADM_COURS_SAVE_SUCCESS","ADM_COURS_SAVE_SUCCESS_DIC","ADM_COURS_CREATE_RANGE_SUCCESS","ADM_COURS_SAVE_ERROR","ADM_COURS_DELETE_SUCCESS","ADM_COURS_DELETE_ERROR","ADM_COMMANDE_SUCCESS","ADM_COMMANDE_ERROR","ADM_COMMANDE_DETAIL_SUCCESS","ADM_COMMANDE_DETAIL_ERROR","ADM_COMMANDE_MIN_DATE_REQUEST","ADM_COMMANDE_MIN_DATE_SUCCESS","ADM_COMMANDE_MIN_DATE_ERROR","ADM_COMMANDE_SAVE_SUCCESS","ADM_COMMANDE_SAVE_ERROR","ADM_COMMANDE_DELETE_SUCCESS","ADM_COMMANDE_DELETE_ERROR","ADM_FAMILY_SUCCESS","ADM_FAMILY_ERROR","ADM_FAMILY_DETAIL_SUCCESS","ADM_FAMILY_DETAIL_ERROR","ADM_FAMILY_SAVE_SUCCESS","ADM_FAMILY_SAVE_ERROR","ADM_FAMILY_DELETE_SUCCESS","ADM_FAMILY_DELETE_ERROR","buildStateItem","validityMin","createdAt","Date","expireAt","setMinutes","getMinutes","usrFilter","getFilterUser","getAllUser","actionEnsure","userList","getUser","userDic","saveUser","saveMemberUser","deleteUser","mailTemplateList","mailTemplateDic","mailSkinList","mailSkinDic","piscineList","piscineDic","getAllActivity","activityList","getActivity","activityDic","saveActivity","deleteActivity","list","forfaitList","forfaitDic","mnsList","mnsDic","contactList","contactDic","minDate","contactMinDate","selected","newsletterList","newsletterDic","coursList","coursDic","dicOnly","commandeList","commandeDic","commandeMinDate","getAllFamily","familyList","getFamily","familyDic","saveFamily","deleteFamily","configuration","sort","b","localeCompare","mailTemplateStatus","mailSkinStatus","piscineStatus","activityStatus","forfaitStatus","mnsStatus","contactStatus","mindate","minYear","getFullYear","newsletterStatus","coursStatus","commandeStatus","familyStatus","f","set","fam","detailLoaded","idx","param","dic","getDefaultConfiguration","langs","editorDefaultConfig","language","toolbarGroups","groups","removeButtons","email","sendinblueApiKey","senderEmail","senderName","testMode","testEmail","bccEmails","administration","height","open","visibility","desc","month","contentHeight","drawerEnable","showCart","searchUser","sortUserDesc","sortUserBy","searchMailTemplate","sortMailTemplateDesc","sortMailTemplateBy","searchMailSkin","sortMailSkinDesc","sortMailSkinBy","searchPiscine","sortPiscineDesc","sortPiscineBy","monthPiscine","searchActivity","sortActivityDesc","sortActivityBy","searchForfait","sortForfaitDesc","sortForfaitBy","searchMns","sortMnsDesc","sortMnsBy","searchContact","sortContactDesc","sortContactBy","monthContact","searchNewsletter","sortNewsletterDesc","sortNewsletterBy","searchCours","sortCoursDesc","sortCoursBy","searchCommande","sortCommandeDesc","sortCommandeBy","monthCommande","searchFamily","sortFamilyDesc","sortFamilyBy","uiModule","ui","debug","Store","auth","client","strict","initialStateCopy","resquestCommit","successCommit","errorCommit","emptyRequest","none","addPayloadToCommit","resquestAction","stateItemToCheck","defaultLocale","fallbackLocale","messages","formatDistance","round","separator","ligne2","ligne4","forceShowSecond","negatif","duration","abs","durationMs","asMilliseconds","isNaN","days","hours","minutes","seconds","milliseconds","timeStart","getTime","timeEnd","poids","MoyenPaiement","isInt","cb","cheque","virement","paypal","cb3x","capitalize","charAt","toUpperCase","tel","telStr","cleaned","match","formatDay","paye","preparation","envoye","livre","annule","rembourse","enLivraison","enAttentePaiement","devis","enCoursAppro","erreur","StatusInscription","inscrit","present","abscent","annulee","attente","valide","complet","perime","duree","asYears","years","months","_b","factor","inputValue","$attrs","newV","$nextTick","inputfield","badInput","newVal","positiveOnly","checked","small","showText","trueText","falseText","maxImages","dhover","loading","uploading","preventDefault","dataTransfer","effectAllowed","onImagesAdded","files","onOrderChange","deleteImage","editImage","filesToUpload","uploadAllImages","fileToUpload","deleteUpload","uploadImage","getMedia","saveMedia","deleteMedia","upload","file","progress","formData","FormData","onUploadProgress","imageSmallUrl","zoom","img","imageLargeUrl","allowOrder","VResponsive","VProgressLinear","original","editConfigForm","max","imgs","nbImgAllowed","startsWith","reader","FileReader","readAsDataURL","answer","idxToDeleted","uploadImages","continuer","doUploadImages","min","hasAdded","queries","loaded","temPhotosIds","ImageDetail","ImageDetailUpload","EditImage","VFileInput","imageLoadingUrl","VMain","VProgressCircular","year","allYear","selectAllYear","startDate","start","getUTCFullYear","getUTCMonth","toDate","monthChanged","newDate","setUTCDate","now","fromYear","maxDates","newYear","minDates","newMonth","VSelect","clearSearch","clearEnable","searchEnable","VListItemAction","showDialog","searchText","doSearch","psnEnable","select","extendHeader","sortable","filterable","Function","VDataTable","administrationItems","menuTitle","VListItemGroup","hideTitle","MenuNav","Default","_getIconUrl","mergeOptions","iconRetinaUrl","iconUrl","shadowUrl","productionTip","dispatchEvent","Event","concat","chaine","chaineToAdd","getDefaultAloTemplateHoraire","jour","heure","minute","thrHeure","thrMinute","thrJour","tcsId","cleanAloTemplateHoraire","tplHoraire","getDefaultAloUser","usrCivilite","usrDatlog","usrDatbirth","usrNom","usrPrenom","usrTel","usrNoteInterne","actDisabled","famName","famActId","cleanAloUser","cleanAlsUser","pass","uuid","userIdentity","userPrenom","getDefaultAloConfigPiscine","infosFermeture","getDefaultAloBase","parseActivityData","acy","configActivity","parseActivitiesData","sortActivity","getDefaultAloActivity","pagId","acyEnfant","acyInfos","acyOrdre","acyAge","content","cleanAloActivity","ConvertToTuileNav","subtitle","promo","PASSWORD_MIN_LENGTH","ruleMinLength","fieldName","ruleMatch","verif","verifPass","ruleMailValid","test","getDefaultAloPiscine","adrId","psnDomicile","psnLargeurCm","psnLongueurCm","psnDepthMinCm","psnDepthMaxCm","templateCours","fftIds","datMinCours","datMaxCours","cleanAloPiscine","getDefaultAloMns","ctyName","cleanAloMns","getTickets","getAllowedTickets","forfaits","isnId","addCarte","carte","updateCarte"],"mappings":"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","file":"js/app.9b9fa77e.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/\" + ({\"activites-adultes\":\"activites-adultes\",\"activites-enfants\":\"activites-enfants\",\"administration~piscines~profil\":\"administration~piscines~profil\",\"administration~piscines\":\"administration~piscines\",\"administration~profil\":\"administration~profil\",\"administration\":\"administration\",\"piscines\":\"piscines\",\"profil\":\"profil\",\"annexes\":\"annexes\",\"aquadomic\":\"aquadomic\",\"blog\":\"blog\",\"domicile\":\"domicile\",\"lang-en\":\"lang-en\",\"reserver\":\"reserver\",\"visio\":\"visio\"}[chunkId]||chunkId) + \".\" + {\"activites-adultes\":\"5f9c4a56\",\"activites-enfants\":\"71ba0b52\",\"administration~piscines~profil\":\"a840bf1b\",\"administration~piscines\":\"8fa4c13a\",\"administration~profil\":\"6d0298d9\",\"administration\":\"283c4870\",\"piscines\":\"15604589\",\"profil\":\"ce319374\",\"annexes\":\"07529c81\",\"aquadomic\":\"abe71680\",\"blog\":\"34af368d\",\"domicile\":\"37542ce6\",\"lang-en\":\"14ee9448\",\"reserver\":\"f6a29e45\",\"visio\":\"50c97032\"}[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 = {\"activites-adultes\":1,\"activites-enfants\":1,\"administration~piscines~profil\":1,\"administration~piscines\":1,\"administration~profil\":1,\"administration\":1,\"piscines\":1,\"profil\":1,\"aquadomic\":1,\"blog\":1,\"domicile\":1,\"reserver\":1,\"visio\":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/\" + ({\"activites-adultes\":\"activites-adultes\",\"activites-enfants\":\"activites-enfants\",\"administration~piscines~profil\":\"administration~piscines~profil\",\"administration~piscines\":\"administration~piscines\",\"administration~profil\":\"administration~profil\",\"administration\":\"administration\",\"piscines\":\"piscines\",\"profil\":\"profil\",\"annexes\":\"annexes\",\"aquadomic\":\"aquadomic\",\"blog\":\"blog\",\"domicile\":\"domicile\",\"lang-en\":\"lang-en\",\"reserver\":\"reserver\",\"visio\":\"visio\"}[chunkId]||chunkId) + \".\" + {\"activites-adultes\":\"db417b12\",\"activites-enfants\":\"3c19b042\",\"administration~piscines~profil\":\"db580b85\",\"administration~piscines\":\"e57050a0\",\"administration~profil\":\"3c438049\",\"administration\":\"9088953d\",\"piscines\":\"e679b68d\",\"profil\":\"3bcee316\",\"annexes\":\"31d6cfe0\",\"aquadomic\":\"533b3904\",\"blog\":\"4641f3cc\",\"domicile\":\"1118fa84\",\"lang-en\":\"31d6cfe0\",\"reserver\":\"d016e71c\",\"visio\":\"1118fa84\"}[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","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!./ReadImage.vue?vue&type=style&index=0&lang=css&\"","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&\"","export enum CommitAction { \r\n listAndDic = 1,\r\n dicOnly = 2,\r\n none = 3\r\n}\r\n","import { StatusInscription } from '@/enum/StatusInscription';\r\nimport { AloAddress, getDefaultAloAddress } from './AloAddress';\r\nimport { AloBase, getDefaultAloBase } from './AloBase'\r\nimport { AloMedia, getDefaultAloMedia } from './AloMedia';\r\nimport { AloPageContent, getDefaultAloPageContent } from './AloPageContent';\r\nimport { AloTemplateCours, getDefaultAloTemplateCours } from './AloTemplateCours';\r\nimport { AloTemplateHoraire, getDefaultAloTemplateHoraire } from './AloTemplateHoraire';\r\n\r\n\r\nexport interface AloInscription extends AloBase { \r\n crsId:number \r\n crwId:number|null\r\n usrId:number\r\n famId:number\r\n isnStatus:number \r\n isnDatadd:string\r\n isnDatinscription:string\r\n isnDatannulation:string\r\n email:string\r\n\r\n}\r\n\r\nexport const getDefaultAloInscription = ():AloInscription => {\r\n return { \r\n ...getDefaultAloBase(), \r\n crsId:0,\r\n crwId:null, \r\n usrId:0,\r\n famId:0,\r\n isnStatus:StatusInscription.attente,\r\n isnDatadd:'',\r\n isnDatinscription:'',\r\n isnDatannulation:'',\r\n email:''\r\n }\r\n}\r\n\r\nexport const cleanAloInscription = (inscription:AloInscription) => {\r\n if(!inscription) return \r\n if(!inscription.id) delete inscription.id\r\n if(!inscription.usrId) delete inscription.usrId\r\n if(!inscription.crwId) delete inscription.crwId\r\n \r\n}","import { AloAddress, getDefaultAloAddress } from './AloAddress';\r\nimport { AloBase, getDefaultAloBase } from './AloBase'\r\nimport { AloInscription, cleanAloInscription } from './AloInscription';\r\nimport { AloMedia, getDefaultAloMedia } from './AloMedia';\r\nimport { AloPageContent, getDefaultAloPageContent } from './AloPageContent';\r\nimport { AloTemplateCours, getDefaultAloTemplateCours } from './AloTemplateCours';\r\nimport { AloTemplateHoraire, getDefaultAloTemplateHoraire } from './AloTemplateHoraire';\r\n\r\n\r\nexport interface AloCours extends AloBase { \r\n acyId:number \r\n acyIdCplt:number|null\r\n psnId:number|null\r\n usrId:number \r\n crsDureeMin:number\r\n crsCapaciteMax:number\r\n crsDatdebut:string\r\n professeur:string\r\n piscine:string\r\n inscriptions:Array\r\n\r\n}\r\n\r\nexport const getDefaultAloCours = (cours:AloTemplateCours = getDefaultAloTemplateCours(),horaire:AloTemplateHoraire = getDefaultAloTemplateHoraire()):AloCours => {\r\n return { \r\n ...getDefaultAloBase(), \r\n acyId:cours.acyId,\r\n acyIdCplt:horaire.acyIdCplt,\r\n psnId:cours.psnId,\r\n usrId:horaire.usrId,\r\n crsDureeMin:cours.tcsDureeMin,\r\n crsCapaciteMax:cours.tcsCapaciteMax,\r\n crsDatdebut:'',\r\n professeur:'',\r\n piscine:'',\r\n inscriptions:[]\r\n }\r\n}\r\n\r\nexport const cleanAloCours = (cours:AloCours) => {\r\n if(!cours) return \r\n if(!cours.id) delete cours.id\r\n if(!cours.usrId) delete cours.usrId\r\n if(!cours.psnId) delete cours.psnId\r\n if(!cours.acyId) delete cours.acyId\r\n if(!cours.acyIdCplt) delete cours.acyIdCplt\r\n cours.inscriptions.forEach(i => cleanAloInscription(i))\r\n \r\n}","import { AloBase, getDefaultAloBase } from './AloBase'\r\n\r\n\r\nexport interface AloCmdForfait extends AloBase { \r\n fftId:number \r\n usrId:number|null\r\n cftValiditeM:number|null\r\n cftNbEntree:number\r\n nbUsed:number\r\n cftDatengagement:string\r\n isAbonnement:boolean\r\n psnId:number|null\r\n}\r\n\r\nexport const getDefaultAloCmdForfait = ():AloCmdForfait => {\r\n return { \r\n ...getDefaultAloBase(), \r\n fftId:0,\r\n usrId:null,\r\n cftValiditeM:null,\r\n cftNbEntree:0,\r\n nbUsed:0,\r\n cftDatengagement:'',\r\n isAbonnement:false,\r\n psnId:null\r\n }\r\n}\r\n\r\nexport const cleanAloCmdForfait = (forfaitRow:AloCmdForfait) => {\r\n if(!forfaitRow) return \r\n if(!forfaitRow.id) delete forfaitRow.id \r\n if(!forfaitRow.fftId) delete forfaitRow.fftId \r\n if(!forfaitRow.usrId) delete forfaitRow.usrId \r\n if(!forfaitRow.psnId) delete forfaitRow.psnId \r\n}","import { AloBase, getDefaultAloBase } from './AloBase'\r\nimport { AloCmdForfait,cleanAloCmdForfait } from './AloCmdForfait'\r\n\r\n\r\nexport interface AloCmdRow extends AloBase { \r\n crwTarif:number \r\n crwTva:number\r\n crwQty:number\r\n crwRetour:boolean \r\n forfait:AloCmdForfait|null\r\n}\r\n\r\nexport const getDefaultAloCmdRow = ():AloCmdRow => {\r\n return { \r\n ...getDefaultAloBase(), \r\n crwTarif:0,\r\n crwTva:2000,\r\n crwQty:1,\r\n crwRetour:false,\r\n forfait:null,\r\n }\r\n}\r\n\r\nexport const cleanAloCmdRow = (row:AloCmdRow) => {\r\n if(!row) return \r\n if(!row.id) delete row.id \r\n if(!row.forfait) delete row.forfait \r\n cleanAloCmdForfait(row.forfait!)\r\n}","import { StatusCommande } from '@/enum/StatusCommande'\r\nimport { AloBase, getDefaultAloBase } from './AloBase'\r\nimport { AloCmdRow, cleanAloCmdRow } from './AloCmdRow'\r\n\r\n\r\nexport interface AloCommande extends AloBase { \r\n famId:number \r\n cmdStatus:number|null\r\n cmdTotal:number|null\r\n cmdDatadd:string \r\n cmdDatpaiement:string\r\n cmdDatvalidation:string \r\n rows:Array \r\n clientSecret:string\r\n}\r\n\r\nexport const getDefaultAloCommande = ():AloCommande => {\r\n return { \r\n ...getDefaultAloBase(), \r\n famId:0,\r\n cmdStatus:StatusCommande.bcd,\r\n cmdTotal:null,\r\n cmdDatadd:'',\r\n cmdDatpaiement:'',\r\n cmdDatvalidation:'',\r\n rows:[],\r\n clientSecret:''\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.famId) delete commande.famId\r\n commande.rows.forEach(r => cleanAloCmdRow(r))\r\n \r\n}","import { AloBase, getDefaultAloBase } from './AloBase'\r\nimport { AloMedia, getDefaultAloMedia } from './AloMedia'\r\n \r\nexport interface AloPageContent extends AloBase { \r\n //pctContent:string\r\n pctTitle:string\r\n pctBaseline:string\r\n pctSubTitle:string\r\n pctHat:string\r\n pctMetaTitle:string\r\n pctMetaDesc:string\r\n slug:string\r\n}\r\n\r\nexport const getDefaultAloPageContent = ():AloPageContent => {\r\n return { \r\n ...getDefaultAloBase(), \r\n pctTitle:\"\",\r\n pctBaseline:\"\",\r\n pctSubTitle:\"\",\r\n pctHat:\"\",\r\n pctMetaTitle:\"\",\r\n pctMetaDesc:\"\",\r\n slug:\"\"\r\n }\r\n}\r\n\r\nexport const cleanAloPageContent = (pageContent:AloPageContent) => {\r\n if(!pageContent) return \r\n if(!pageContent.id) delete pageContent.id\r\n}","import { AloActivity } from './AloActivity'\r\nimport { AloBase, getDefaultAloBase } from './AloBase'\r\n\r\n\r\nexport interface AloContact extends AloBase { \r\n ctcLu:boolean\r\n ctcDatadd:string\r\n ctcMail:string\r\n acyIds:Array\r\n ctcMessage:string\r\n mtpId:number|null\r\n}\r\n\r\nexport const getDefaultAloContact = ():AloContact => {\r\n return { \r\n ...getDefaultAloBase(),\r\n ctcLu:false, \r\n ctcDatadd:'',\r\n ctcMail:'',\r\n acyIds:[],\r\n ctcMessage:'',\r\n mtpId:null\r\n }\r\n}\r\n\r\nexport const cleanAloContact = (contact:AloContact) => {\r\n if(!contact) return \r\n if(!contact.id) delete contact.id\r\n if(!contact.mtpId) delete contact.mtpId\r\n}","import { AloBase, getDefaultAloBase } from './AloBase'\r\n\r\n\r\nexport interface AloConfigBase { \r\n}\r\n\r\nexport const getDefaultAloConfigBase = ():AloConfigBase => {\r\n return { \r\n \r\n }\r\n}\r\n\r\nexport const cleanAloConfigBase = (config:AloConfigBase) => { \r\n if(!config) return \r\n}","\r\nimport { AloConfigBase, cleanAloConfigBase, getDefaultAloConfigBase } from './AloConfigBase'\r\n\r\n\r\nexport interface AloConfigActivity extends AloConfigBase { \r\n youtube:string,\r\n infosPlus:Array\r\n objectifsPlus:Array \r\n}\r\n\r\nexport const getDefaultAloConfigActivity = ():AloConfigActivity => {\r\n return { \r\n ...getDefaultAloConfigBase(),\r\n youtube:'',\r\n infosPlus:[],\r\n objectifsPlus:[]\r\n }\r\n}\r\n\r\nexport const cleanAloConfigActivity = (config:AloConfigActivity) => {\r\n cleanAloConfigBase(config) \r\n if(!config) return \r\n}","export enum StatusCarte { \r\n valide = 1,\r\n complet = 2,\r\n perime = 3\r\n}\r\n","import { AloActivity } from './AloActivity';\r\nimport { AloAddress, getDefaultAloAddress } from './AloAddress';\r\nimport { AloBase, getDefaultAloBase } from './AloBase'\r\nimport { AloMedia, getDefaultAloMedia } from './AloMedia';\r\nimport { AloPageContent, getDefaultAloPageContent } from './AloPageContent';\r\nimport { AloTemplateHoraire, cleanAloTemplateHoraire } from './AloTemplateHoraire';\r\n\r\n\r\nexport interface AloTemplateCours extends AloBase { \r\n acyId:number \r\n psnId:number\r\n tcsDureeMin:number\r\n tcsCapaciteMax:number\r\n horaires:AloTemplateHoraire[]\r\n}\r\n\r\nexport const getDefaultAloTemplateCours = (psnId:number=0,activity?:AloActivity):AloTemplateCours => {\r\n return { \r\n ...getDefaultAloBase(), \r\n libelle:activity?.libelle??\"\",\r\n acyId:activity?.id || 5,\r\n psnId:psnId,\r\n tcsDureeMin:45,\r\n tcsCapaciteMax:8,\r\n horaires:[]\r\n }\r\n}\r\n\r\nexport const cleanAloTemplateCours = (tplCours:AloTemplateCours) => {\r\n if(!tplCours) return \r\n if(!tplCours.id) delete tplCours.id\r\n if(!tplCours.psnId) delete tplCours.psnId \r\n if(!tplCours.acyId) delete tplCours.acyId \r\n tplCours.horaires.forEach(h => cleanAloTemplateHoraire(h))\r\n \r\n}","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\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\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-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\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-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\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\";","import { AloMedia } from '@/models/alo/AloMedia';\r\n\r\nexport const getImageUrl = (image:AloMedia, w:number|null = null, h:number|null = null, mode:string|null = null, p:string|null = null) => \r\n{ \r\n const urlParams = new URLSearchParams();\r\n \r\n //si un parametre width est passée\r\n if (w != null) urlParams.append(\"w\",w.toString())\r\n\r\n //si un parametre height est passée\r\n if (h != null) urlParams.append(\"h\",h.toString())\r\n\r\n //si un parametre mode est passée et qu'il est valide\r\n if (mode != null && (mode == \"max\" || mode == \"crop\" || mode == \"stretch\" || mode == \"carve\"))\r\n {\r\n urlParams.append(\"mode\",mode)\r\n }\r\n\r\n //si des parametres supplémentaires sont passés on les ajoute tel quels\r\n if (p != null)\r\n {\r\n const pParams = new URLSearchParams(p); \r\n pParams.forEach((value,key)=> urlParams.append(key,value))\r\n }\r\n\r\n urlParams.append(\"format\",\"webp\")\r\n urlParams.append(\"webp.lossless\",\"false\")\r\n urlParams.append(\"webp.quality\",\"80\")\r\n \r\n const queryParam = urlParams.toString()\r\n\r\n if(image && image.slug) {\r\n const url = `/images/${(image.id%100).toString().padStart(2,'0')}/${image.slug}${image.mdaExt}` \r\n return (queryParam && queryParam.length > 0) ? `${url}?${queryParam}`:url\r\n } \r\n else return (queryParam && queryParam.length > 0) ? `/images/01/no-image.png?${queryParam}`:\"/images/01/no-image.png\"\r\n}","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\",\"padding-bottom\":\"50px\"},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',{staticStyle:{\"padding-bottom\":\"40px\"},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=3220c038&\"\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","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 { CommitAction } from \"@/enum/CommitAction\"\r\n\r\n\r\nexport interface AlsBase {\r\n id:number|null\r\n libelle:string\r\n commit:CommitAction\r\n}\r\n\r\nexport const getDefaultAlsBase = (commit:CommitAction=CommitAction.listAndDic):AlsBase => {\r\n return {\r\n id:null,\r\n libelle:'',\r\n commit\r\n }\r\n}","import moment from 'moment'\r\nimport Vue from 'vue'\r\nimport VueI18n from 'vue-i18n'\r\n\r\nexport const formatDate = (value: Date|string, format:string='DD/MM/YYYY HH:mm',i18n:VueI18n|null=null,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 return \"\"\r\n}\r\n\r\nVue.filter('formatDate',formatDate)","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*/","import { AloActivity } from './AloActivity'\r\nimport { AloAddress, cleanAloAddress, getDefaultAloAddress } from './AloAddress'\r\nimport { AloBase, getDefaultAloBase } from './AloBase'\r\nimport { AloCommande, cleanAloCommande } from './AloCommande'\r\nimport { AloUser, cleanAloUser } from './AloUser'\r\n\r\n\r\nexport interface AloFamily extends AloBase { \r\n actId:number\r\n address:AloAddress\r\n membres: Array\r\n commandes: Array\r\n}\r\n\r\nexport const getDefaultAloFamily = ():AloFamily => {\r\n return { \r\n ...getDefaultAloBase(),\r\n actId:0, \r\n address:getDefaultAloAddress(), \r\n membres:[],\r\n commandes:[]\r\n }\r\n}\r\n\r\nexport const cleanAloFamily = (family:AloFamily) => {\r\n if(!family) return \r\n if(!family.id) delete family.id\r\n if(!family.actId) delete family.actId\r\n cleanAloAddress(family.address)\r\n if(!family.address.ctyId) delete family.address\r\n family.membres.forEach(m => cleanAloUser(m))\r\n family.commandes.forEach(c => cleanAloCommande(c))\r\n}","import { AloBase, getDefaultAloBase } from './AloBase'\r\n\r\n\r\nexport interface AloMedia extends AloBase { \r\n slgId:number\r\n mdaCopyright:string\r\n mdaExt:string\r\n slug:string\r\n}\r\n\r\nexport const getDefaultAloMedia = ():AloMedia => {\r\n return { \r\n ...getDefaultAloBase(),\r\n id:1,\r\n slgId:1,\r\n mdaCopyright:\"\",\r\n mdaExt:\".png\",\r\n slug:\"no-image\"\r\n }\r\n}\r\n\r\nexport const cleanAloMedia = (media:AloMedia) => {\r\n if(!media) return \r\n if(!media.id) delete media.id\r\n}","export default \r\n{\r\n App:{\r\n BackHome:\"Retour à la page d'accueil\",\r\n Logout:\"Se déconnecter\",\r\n ShowLeftDrawerTooltip:\"Afficher le panneau de gauche\",\r\n HideLeftDrawerTooltip:\"Masquer le panneau de gauche\",\r\n ShowRightDrawerTooltip:\"Afficher le panneau de droite\",\r\n HideRightDrawerTooltip:\"Masquer le panneau de droite\",\r\n Close:\"Fermer\",\r\n MailSkin:\"Skin de mail\",\r\n MailTemplate:\"Template de mail\",\r\n ForfaitAddCart:\"Un forfait '{forfait}' a bien été ajouté au panier pour un montant total de {prix} | {n} forfaits '{forfait}' ont bien été ajoutés au panier pour un montant total de {prix}\", \r\n }, \r\n Form:{\r\n Required:\"Champs obligatoire\",\r\n MinChar:\"Au moins {count} caractère | Au moins {count} caractères\",\r\n PasswordMismatch:\"Les mots de passes ne correspondent pas!\",\r\n EmailInvalid: \"Entrez un email valide\"\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 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 Name:\"Nom\"\r\n },\r\n Home: {\r\n Profil:\"Gérer votre compte\",\r\n FindSwimmSchool:\"Trouver vos cours\",\r\n Tickets:\"Boutique en ligne\",\r\n Administration:\"Administration\"\r\n },\r\n Profil: {\r\n ProfilTitle:\"VOTRE COMPTE\",\r\n YourProfil:\"Votre profil\",\r\n Password:\"Mot de passe\",\r\n MyBooking:\"Mes reservations\",\r\n SessionHistory:\"Historique des cours\",\r\n Command:\"Mes achats\"\r\n },\r\n Address:{\r\n IndoorInfos:\"Bâtiment - Immeuble - Résidence\",\r\n NumberWay:\"Numéro de voie\",\r\n OutsideInfos:\"Nom voie\",\r\n PostBox:\"BP - Lieu dit\",\r\n PostalCode:\"Code postal\",\r\n City:\"Ville\"\r\n\r\n },\r\n Cart:{ \r\n SeeCart:\"Voir le panier\",\r\n YourCart:\"VOTRE PANIER\",\r\n Continue:\"Continuer\",\r\n UnitPrice:\"Prix unitaire\",\r\n Quantity:\"Quantité\",\r\n TotalTTC: \"Total TTC\",\r\n PartTVA: \"Dont TVA\",\r\n Add:\"Ajouter\",\r\n Remove:\"Retirer\",\r\n ClientName:\"Nom client\",\r\n FinalizeOrder:\"Afin de finaliser la commande\",\r\n InOrderToValidate:\"Afin de valider votre commande identifiez vous ou créez un accès\",\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 AlertOrderSavedTitle:\"Merci !\",\r\n AlertOrderSaved:\"Votre commande à bien été enregistrée\"\r\n },\r\n Person:{\r\n Name:\"Nom\",\r\n Tickets:\"{count} entrée | {count} entrées\"\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 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}\r\n","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","\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 userNom?:string \r\n famId?:number\r\n userType?: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 userNom:\"\",\r\n userType:\"Particulier\",\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","import moment, { duration } from 'moment'\r\nimport Vue from 'vue'\r\nimport VueI18n from 'vue-i18n'\r\n\r\nexport const formatFinValidite = (value: Date|string, dureeM:number, format:string='DD/MM/YYYY HH:mm',i18n:VueI18n|null=null,utc:boolean=false) => {\r\n if (value) { \r\n moment.locale(i18n?.locale??\"fr\") \r\n return (utc?moment(String(value)).utc():moment(String(value))).add(dureeM,'M').format(format)\r\n }\r\n return \"\"\r\n}\r\n\r\nexport const isValide = (value: Date|string, dureeM:number, format:string='DD/MM/YYYY HH:mm') => {\r\n if (value) { \r\n moment.locale(\"fr\") \r\n return moment(String(value)).add(dureeM,'M').diff(moment()) > 0 \r\n }\r\n return false\r\n}\r\n\r\nVue.filter('formatFinValidite',formatFinValidite)","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?.response?.data?.data as AloError)?.errorMessage??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 { AloBase, getDefaultAloBase } from './AloBase'\r\n\r\n\r\nexport interface AloForfait extends AloBase { \r\n fftIsAbo:boolean\r\n fftEnable:boolean\r\n fftLimiteAchat:number|null\r\n fftValiditeM:number|null\r\n fftNbEntree:number|null\r\n fftTarif:number|null \r\n fftInfos:string\r\n acyIds:Array\r\n psnIds:Array\r\n tva:number\r\n}\r\n\r\nexport const getDefaultAloForfait = ():AloForfait => {\r\n return { \r\n ...getDefaultAloBase(),\r\n fftIsAbo:false,\r\n fftEnable:false,\r\n fftLimiteAchat:null,\r\n fftValiditeM:null,\r\n fftNbEntree:null,\r\n fftTarif:null,\r\n fftInfos:'',\r\n acyIds:[],\r\n psnIds:[],\r\n tva:2000\r\n }\r\n}\r\n\r\nexport const cleanAloForfait = (forfait:AloForfait) => {\r\n if(!forfait) return \r\n if(!forfait.id) delete forfait.id\r\n \r\n}","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 \r\n AdminPlateforme\t\t= \"AdminPlateforme\", //1\r\n AdminPiscine\t\t\t= \"AdminPiscine\", //2\r\n Famille\t\t = \"Famille\", //4\r\n Client\t\t = \"Client\", //8\r\n MNS\t\t\t = \"MNS\", //16\r\n ProprietairePiscine\t\t= \"ProprietairePiscine\", //32\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}","import moment from 'moment'\r\nimport Vue from 'vue'\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}\r\n\r\nVue.filter('currency', formatCurrency)\r\n\r\nexport const formatCurrencyNo = (value: number, isCts:boolean = true, local:string='fr-FR') => { \r\n if (value || value === 0) {\r\n return new Intl.NumberFormat('fr-FR', {\r\n style: 'decimal',\r\n minimumFractionDigits:0,\r\n maximumFractionDigits:2\r\n }).format(value/(isCts?100.0:1)) \r\n }\r\n}\r\n\r\nVue.filter('noCurrency', formatCurrencyNo)","export enum StatusCommande { \r\n bcd = 1,\r\n paye = 2,\r\n preparation = 3,\r\n envoye = 4, \r\n livre = 5, \r\n annule = 6,\r\n rembourse = 7,\r\n enLivraison = 8,\r\n enAttentePaiement = 9,\r\n devis = 10,\r\n enCoursAppro = 11,\r\n erreur = 12\r\n}\r\n","import { AloBase, getDefaultAloBase } from './AloBase'\r\n\r\n\r\nexport interface AloNewsletter extends AloBase { \r\n nwlDisabled:boolean\r\n nwlDatadd:string\r\n nwlDatvalid:string\r\n nwlDatdel:string \r\n mtpId:number|null \r\n}\r\n\r\nexport const getDefaultAloNewsletter = (mail:string=''):AloNewsletter => {\r\n return { \r\n ...getDefaultAloBase(),\r\n nwlDisabled:true, \r\n nwlDatadd:'',\r\n nwlDatvalid:'',\r\n nwlDatdel:'',\r\n libelle:mail,\r\n mtpId:null\r\n }\r\n}\r\n\r\nexport const cleanAloNewsletter = (newsletter:AloNewsletter) => {\r\n if(!newsletter) return \r\n if(!newsletter.id) delete newsletter.id \r\n}","export enum TemplateMail { \r\n CompteAjoute=1,\r\n MembreFamilleAjoute=2,\r\n InscriptionCours=3,\r\n AnnulationCours=4,\r\n ForgotPassword=5, \r\n ChangePassword=6, \r\n CommandeValidee=7,\r\n CommandeAnnulee=8,\r\n ListeAttenteCours=9,\r\n Message=10,\r\n InscriptionNewsletter=11,\r\n DesinscriptionNewsLetter=12\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 { ApiUserRole } from '@/enum/ApiUserRole'\r\nimport { TemplateMail } from '@/enum/TemplateMail'\r\nimport { AloBase, getDefaultAloBase } from './AloBase'\r\n\r\n\r\nexport interface AloAddress extends AloBase {\r\n \r\n gpsId: number|null\r\n ctyId: number\r\n adrNumberWay: number|null\r\n adrOutsideInfos: string\r\n adrPostalCode: string\r\n adrPostBox: string \r\n adrIndoorInfos: string|null\r\n gpsLat: number|null \r\n gpsLon:number|null \r\n}\r\n\r\nexport const getDefaultAloAddress = ():AloAddress => {\r\n return { \r\n ...getDefaultAloBase(), \r\n gpsId : null,\r\n ctyId: 0,\r\n adrNumberWay:null,\r\n adrOutsideInfos:\"\",\r\n adrPostalCode:\"\",\r\n adrPostBox:\"\", \r\n adrIndoorInfos:\"\",\r\n gpsLat:null,\r\n gpsLon:null,\r\n }\r\n}\r\n\r\n\r\nexport const cleanAloAddress = (adresse:AloAddress) => {\r\n if(!adresse) return \r\n if(!adresse.id) delete adresse.id\r\n if(!adresse.gpsId) delete adresse.gpsId \r\n if(!adresse.ctyId) delete adresse.ctyId \r\n //if(!adresse.ctyName) delete adresse.ctyName \r\n}\r\n\r\n","import Component from 'vue-class-component'\r\n\r\nComponent.registerHooks(['beforeRouteEnter', 'beforeRouteLeave', 'beforeRouteUpdate'])\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=5247b27a&\"\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","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 icons: { \r\n iconfont : 'mdi', \r\n },\r\n //preset,\r\n theme: {\r\n themes: {\r\n light: {\r\n primary: '#273f6b',\r\n secondary: '#ec7404',\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('v-app',{directives:[{name:\"resize\",rawName:\"v-resize\",value:(_vm.onResize),expression:\"onResize\"}],class:{'mobile':_vm.$vuetify.breakpoint.mobile},style:(_vm.cssProps)},[(_vm.showDrawerCmp || _vm.$vuetify.breakpoint.mdAndDown)?_c('v-navigation-drawer',{attrs:{\"height\":\"100%\",\"persistent\":\"\",\"enable-resize-watcher\":\"\",\"fixed\":\"\",\"app\":\"\"},model:{value:(_vm.drawerOpen),callback:function ($$v) {_vm.drawerOpen=$$v},expression:\"drawerOpen\"}},[_c('v-btn',{staticClass:\"float-right\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){$event.stopPropagation();_vm.drawerOpen=false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1),(_vm.$vuetify.breakpoint.mobile)?_c('v-list',{attrs:{\"dense\":\"\"}},[_c('v-subheader',{staticClass:\"d-flex justify-center\"},[_c('router-link',{attrs:{\"to\":{name:'Home'}}},[_c('v-img',{attrs:{\"max-width\":130,\"src\":require(\"./assets/logo.png\")}})],1)],1),_c('v-divider',{staticClass:\"my-3\"}),_vm._l((_vm.mainMenuItems),function(item,i){return _c('v-list-item',{key:(\"menu-\" + i),attrs:{\"color\":\"secondary\",\"exact\":\"\",\"to\":item.to}},[(item.icon)?_c('v-list-item-icon',[_c('v-icon',{domProps:{\"textContent\":_vm._s(item.icon)}})],1):_vm._e(),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(item.text))])],1)],1)}),(_vm.isAuthenticated)?_c('v-list-item',{attrs:{\"color\":\"secondary\"},on:{\"click\":function($event){return _vm.logout()}}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-exit-to-app\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('App.Logout')))])],1)],1):_vm._e()],2):_vm._e(),(_vm.showDrawerCmp)?_c(_vm.routemeta.drawerCmp,{tag:\"component\"}):_vm._e()],1):_vm._e(),(_vm.routemeta.rightDrawerCmp)?_c('v-navigation-drawer',{attrs:{\"height\":\"100%\",\"persistent\":\"\",\"enable-resize-watcher\":\"\",\"fixed\":\"\",\"app\":\"\",\"width\":_vm.drawerRightWidth,\"right\":\"\"},model:{value:(_vm.rightDrawerOpen),callback:function ($$v) {_vm.rightDrawerOpen=$$v},expression:\"rightDrawerOpen\"}},[(_vm.routemeta.rightDrawerCmp)?_c(_vm.routemeta.rightDrawerCmp,{tag:\"component\"}):_vm._e()],1):_vm._e(),_c('v-app-bar',{ref:\"appBar\",attrs:{\"app\":\"\",\"color\":\"white\",\"height\":_vm.$vuetify.breakpoint.mobile?55:80}},[(_vm.showDrawerIcon || _vm.$vuetify.breakpoint.mobile)?_c('v-app-bar-nav-icon',{attrs:{\"input-value\":_vm.drawerOpen,\"icon\":\"\",\"title\":_vm.$t(_vm.drawerOpen?'App.HideLeftDrawerTooltip':'App.ShowLeftDrawerTooltip')},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleDrawer.apply(null, arguments)}}},[_c('v-icon',[_vm._v(_vm._s(_vm.drawerIcon))])],1):_vm._e(),_c('v-spacer'),_c('router-link',{attrs:{\"to\":{name:'Home'}}},[_c('v-img',{attrs:{\"max-width\":_vm.$vuetify.breakpoint.mobile?130:180,\"src\":require(\"./assets/logo.png\")}})],1),_c('v-spacer'),(!_vm.$vuetify.breakpoint.mobile)?_c('v-toolbar-items',{staticClass:\"mt-6\"},[_c('v-tabs',{attrs:{\"color\":\"secondary\"}},_vm._l((_vm.mainMenuItems),function(item,i){return _c('v-tab',{key:(\"menu-\" + i),attrs:{\"to\":item.to,\"exact\":i==0}},[_vm._v(_vm._s(item.text))])}),1)],1):_vm._e(),_c('v-spacer'),_c('v-btn',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.panier.nbItems > 0),expression:\"panier.nbItems > 0\"}],staticClass:\"mt-3 mr-1\",attrs:{\"to\":{name:'Cart'},\"icon\":\"\",\"color\":\"white\",\"title\":_vm.$t('Cart.SeeCart')}},[_c('v-badge',{attrs:{\"color\":\"primary\"},scopedSlots:_vm._u([{key:\"badge\",fn:function(){return [_vm._v(_vm._s(_vm.panier.nbItems))]},proxy:true}])},[_c('v-icon',{attrs:{\"large\":\"\",\"color\":\"primary\"}},[_vm._v(\"mdi-basket-outline\")])],1)],1),(_vm.isAuthenticated && !_vm.$vuetify.breakpoint.mobile)?_c('div',{staticClass:\"d-flex flex-column align-end ml-6\"},[_c('span',{staticClass:\"caption\"},[_c('v-icon',[_vm._v(\"mdi-account-circle-outline\")]),_vm._v(\" \"+_vm._s(_vm.userName))],1),_c('v-btn',{staticClass:\"btn-txt pr-1 caption\",attrs:{\"text\":\"\"},on:{\"click\":function($event){return _vm.logout()}}},[_vm._v(_vm._s(_vm.$t('App.Logout'))+\" \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-exit-to-app\")])],1)],1):_vm._e(),(_vm.rightDrawerEnable && _vm.$vuetify.breakpoint.mobile)?_c('v-app-bar-nav-icon',{on:{\"click\":function($event){$event.stopPropagation();_vm.rightDrawerOpen = !_vm.rightDrawerOpen}}},[_c('v-icon',[_vm._v(_vm._s(_vm.rightDrawerIcon))])],1):_vm._e()],1),_c('router-view'),(!_vm.routemeta.hideFooter)?_c('v-footer',{staticClass:\"footer-aqua pa-0\",staticStyle:{\"z-index\":\"2\"},attrs:{\"dark\":\"\"}},[_c('v-container',[_c('v-row',{staticClass:\"py-8\"},[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"6\",\"md\":\"4\"}},[_c('router-link',{attrs:{\"to\":\"/\"}},[_c('v-img',{class:{'small':_vm.$vuetify.breakpoint.xsOnly},attrs:{\"src\":require(\"@/assets/logo-white.png\")}})],1),_c('p',[_vm._v(\"Retrouvez nous sur les réseaux sociaux\")]),_vm._l((_vm.sociauxItems),function(item,i){return _c('v-btn',{key:(\"sociaux-\" + i),staticClass:\"mx-3\",attrs:{\"x-large\":\"\",\"target\":\"_blank\",\"href\":item.to,\"icon\":\"\"}},[_c('v-icon',{attrs:{\"large\":\"\"},domProps:{\"textContent\":_vm._s(item.icon)}})],1)})],2),_c('v-col',{attrs:{\"cols\":\"6\",\"md\":\"3\"}},_vm._l((_vm.footerItems),function(group,i){return _c('v-list',{key:(\"footer-\" + i),attrs:{\"dense\":\"\",\"color\":\"transparent\"}},[_c('v-subheader',{staticClass:\"secondary--text title\"},[_vm._v(_vm._s(group.text))]),_vm._l((group.links),function(item,j){return _c('v-list-item',{key:j,attrs:{\"to\":item.to}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"body-2\",domProps:{\"textContent\":_vm._s(item.text)}})],1)],1)})],2)}),1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('v-list',{attrs:{\"dense\":\"\",\"color\":\"transparent\"}},[_c('v-subheader',{staticClass:\"secondary--text title\"},[_vm._v(\"Newsletter\")]),_c('v-list-item',[_c('v-list-item-content',[_c('span',{staticClass:\"body-2 .font-weight-regular\"},[_vm._v(\"Ne manquez plus les bons plans.\"),_c('br'),_vm._v(\"Inscrivez vous pour recevoir les dernières informations sur nos articles, cours et évènements\")]),_c('div',{staticClass:\"r-txtbtn mt-4\"},[_c('v-text-field',{staticClass:\"r-txtbtn-txt\",attrs:{\"label\":\"Votre adresse e-mail\",\"placeholder\":\"Votre adresse e-mail\",\"outlined\":\"\",\"light\":\"\",\"solo\":\"\",\"rounded\":\"\"},model:{value:(_vm.mailNews),callback:function ($$v) {_vm.mailNews=$$v},expression:\"mailNews\"}}),_c('v-btn',{staticClass:\"r-txtbtn-btn\",attrs:{\"disabled\":_vm.savingNewsletter,\"loading\":_vm.savingNewsletter,\"color\":\"secondary\",\"rounded\":\"\"},on:{\"click\":function($event){return _vm.inscriptionNew()}}},[_vm._v(\"S'inscrire\")])],1)])],1)],1)],1)],1)],1),_c('v-container',{staticStyle:{\"border-top\":\"1px solid #ffffff66\"},attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{staticClass:\"text-right\",attrs:{\"cols\":\"12\"}},[_c('em',[_vm._v(\"Copyright Aquadomic ©2021\")])])],1)],1)],1):_vm._e(),_c('v-snackbar',{attrs:{\"color\":\"grey lighten-2 primary--text\",\"bottom\":\"\",\"right\":\"\",\"timeout\":4000},model:{value:(_vm.showSnacks),callback:function ($$v) {_vm.showSnacks=$$v},expression:\"showSnacks\"}},[_c('ul',_vm._l((_vm.snackMessages),function(message,index){return _c('li',{key:index},[_vm._v(_vm._s(message))])}),0),_c('div',{staticClass:\"text-right mt-4\"},[_c('v-btn',{attrs:{\"x-small\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.$store.myActions.UI_CLOSE_SNACKBAR}},[_vm._v(_vm._s(_vm.$t('App.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=58863ee0&\"\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","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 Vue from 'vue'\r\nimport Component from 'vue-class-component'\r\nimport { Watch} from 'vue-property-decorator'\r\nimport ChangePassword from '@/components/shared/ChangePassword.vue'\r\nimport {ruleMailValid} from '@/utils/validationRules'\r\nimport { VuetifyConfirmObject } from '@/plugins/confirm/types'\r\nimport { AloNewsletter, getDefaultAloNewsletter } from './models/alo/AloNewsletter'\r\nimport { AloError } from './models/alo/AloError'\r\nimport { TemplateMail } from './enum/TemplateMail'\r\nimport { ApiUserRole } from './enum/ApiUserRole'\r\n\r\n@Component({\r\n name: 'App',\r\n components:{ChangePassword}\r\n})\r\nexport default class App extends Vue { \r\n private showDrawerIcon = true\r\n private fixed = false\r\n private title = 'Aquadomic'\r\n private showSnack = false\r\n private openUserMenu = false\r\n private mailNews = ''\r\n private savingNewsletter = false\r\n \r\n //private showCovid = false\r\n\r\n private mainMenuItems = [\r\n { id:1, icon:'mdi-home', text: 'Accueil', to: {name:'Home'}},\r\n //{ text: 'Réserver en ligne', to: {name:'Reserver'}},\r\n { id:2, text: 'Activités enfants', to: {name:'Enfants'}},\r\n { id:3, text: 'Activités adultes', to: {name:'Adultes'}},\r\n { id:4, text: 'Piscines et réservations', to: {name:'Piscines'}},\r\n { id:5, text: 'Domicile', to: '/piscines/cours-a-domicile'}, \r\n { id:6, icon:'mdi-account', text: 'Mon compte', to: {name:'ProfilAccount'}}/*, \r\n { text: 'Blog', to: {name:'Blog'}}*/\r\n ]\r\n\r\n private footerItems = [\r\n {\r\n text: 'Nos conditions', links: [\r\n { to: {name:'MentionsLegales'}, text: 'Mentions légales'},\r\n { to: {name:'ConditionsGeneralesVente'} , text: 'Conditions générales de vente'},\r\n { to: {name:'Contact'}, text: 'Nous contacter'},\r\n { to: {name:'ProfilAccount'}, text: 'Mon compte'}\r\n ]\r\n }\r\n ]\r\n\r\n private sociauxItems = [ \r\n { to: 'https://www.facebook.com/aquadomic/', icon: 'mdi-facebook' },\r\n { to: 'https://twitter.com/aquadomic/', icon: 'mdi-twitter' },\r\n { to: 'https://www.instagram.com/aquadomic/', icon: 'mdi-instagram' },\r\n { to: 'https://www.linkedin.com/company/aquadomic/', icon: 'mdi-linkedin' }\r\n ]\r\n\r\n get panier(){\r\n return this.$store.myGetters.panier\r\n }\r\n\r\n \r\n get drawerOpen() {\r\n return this.$store.myGetters.drawerOpen\r\n }\r\n set drawerOpen(newValue){\r\n this.$store.myActions.UI_SET_DRAWER_OPEN(newValue)\r\n }\r\n get rightDrawerOpen() {\r\n return this.$store.myGetters.rightDrawerOpen\r\n }\r\n set rightDrawerOpen(newValue) {\r\n this.$store.myActions.UI_SET_RIGHT_DRAWER_OPEN(newValue)\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 isAuthenticated(){\r\n return this.$store.myGetters.isAuthenticated\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 userName(){\r\n return this.isAuthenticated ?this.$store.myGetters.user.libelle:\"Visiteur\"\r\n } \r\n \r\n get routemeta(): any {\r\n return this.$route.matched.reduce((a,item) => { return {...a,...item.meta}},{})\r\n }\r\n\r\n get drawerIcon(){\r\n return this.routemeta.drawerIcon || 'mdi-menu'\r\n }\r\n \r\n get rightDrawerIcon() {\r\n return this.routemeta.rightDrawerIcon || 'mdi-filter-variant'\r\n }\r\n \r\n get drawerRightWidth() {\r\n return 350\r\n }\r\n \r\n created() { \r\n this.updateDrawer() \r\n const urlParams = new URLSearchParams(window.location.search);\r\n const newsletter = urlParams.get(\"newsletter\"); \r\n if((newsletter?.length ?? 0) > 0) { \r\n console.log(\"validNewsLetter\")\r\n this.$store.myActions.ADM_NEWSLETTER_VALID_REQUEST(newsletter!).then((news:AloNewsletter)=>{\r\n this.$confirm(`La validation de l'adresse ${news.libelle} est maintenant terminé`,{title: \"Validation inscription réussie\",buttonTrueText:\"Ok\",buttonFalseText:\"\"} as VuetifyConfirmObject)\r\n })\r\n .finally(()=> {\r\n urlParams.delete(\"urlParams\") \r\n window.history.replaceState({}, '', `${location.pathname}`); \r\n })\r\n }\r\n }\r\n\r\n mounted(){\r\n this.onResize()\r\n }\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 @Watch('$route')\r\n onRouteChanged(to: string, from: string) {\r\n this.rightDrawerEnable = false\r\n this.updateDrawer()\r\n this.onResize()\r\n } \r\n \r\n updateDrawer() { \r\n //masque l'icon du drawer\r\n this.showDrawerIcon = this.showDrawerCmp && !this.routemeta.hideDrawerIcon\r\n if(this.showDrawerIcon && !this.$vuetify.breakpoint.mobile) this.drawerOpen = true \r\n }\r\n\r\n get showDrawerCmp(){\r\n return !!this.routemeta.drawerCmp && (this.routemeta?.drawerCmp != 'menu-administration' || this.$store.myGetters.canAccess([ApiUserRole.AdminPlateforme]))\r\n }\r\n\r\n \r\n\r\n toggleDrawer(){\r\n if(this.$vuetify.breakpoint.xsOnly) this.rightDrawerOpen = false\r\n this.drawerOpen = !this.drawerOpen \r\n }\r\n\r\n toggleRightDrawer() {\r\n if(this.$vuetify.breakpoint.xsOnly) this.drawerOpen = false\r\n this.rightDrawerOpen = !this.rightDrawerOpen\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\r\n inscriptionNew(){\r\n if(ruleMailValid(this.mailNews) !== true){\r\n this.$confirm(\"Merci d'entrer un email valide afin de pouvoir vous inscrire à la newsletter\",{title: \"Attention\",buttonTrueText:\"Ok\",buttonFalseText:\"\"} as VuetifyConfirmObject)\r\n } \r\n else{\r\n this.savingNewsletter = true\r\n const aloNews = getDefaultAloNewsletter(this.mailNews)\r\n aloNews.mtpId = TemplateMail.InscriptionNewsletter\r\n this.$store.myActions.ADM_NEWSLETTER_SAVE_REQUEST(aloNews).then(()=>{\r\n this.mailNews = '';\r\n this.$confirm(\"Nous avons bien pris en compte votgre demande d'inscription
Pour valider celle ci merci de cliquer sur le lien que nous vous avons envoyé par mail\",{title: \"Inscription réussie\",buttonTrueText:\"Ok\",buttonFalseText:\"\"} as VuetifyConfirmObject) \r\n }).catch((errorMessage:string)=>{ \r\n this.$confirm(errorMessage,{title: \"Attention\",buttonTrueText:\"Ok\",buttonFalseText:\"\"} as VuetifyConfirmObject) \r\n })\r\n .finally(()=>{\r\n this.savingNewsletter = false\r\n })\r\n }\r\n }\r\n\r\n get cssProps () {\r\n return {\r\n '--secondary-color': '#ec7404',\r\n '--primary-color': '#273f6b'\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!./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=397802ee&\"\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 { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VFooter } from 'vuetify/lib/components/VFooter';\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 { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSubheader } from 'vuetify/lib/components/VSubheader';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbarItems } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VApp,VAppBar,VAppBarNavIcon,VBadge,VBtn,VCol,VContainer,VDivider,VFooter,VIcon,VImg,VList,VListItem,VListItemContent,VListItemIcon,VListItemTitle,VNavigationDrawer,VRow,VSnackbar,VSpacer,VSubheader,VTab,VTabs,VTextField,VToolbarItems})\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","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}\r\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_CREATE_ACCOUNT_REQUEST = type('AUTH_CREATE_ACCOUNT_REQUEST')\r\nexport const AUTH_RESET_STATUS = type('AUTH_RESET_STATUS')\r\nexport const AUTH_SET_REDIRECT_PATH = type('AUTH_SET_REDIRECT_PATH')\r\nexport const AUTH_AUTOLOG_REQUEST = type('AUTH_AUTOLOG_REQUEST')\r\nexport const AUTH_UPDATE_USER = type('AUTH_UPDATE_USER')","import { type } from '@/utils/type'\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// CLIENT\r\n/////////////////////////////////////////////////////////////////\r\nexport const CLIENT_ADD_PANIER = type('CLIENT_ADD_PANIER')\r\nexport const CLIENT_CLEAR_PANIER = type('CLIENT_CLEAR_PANIER')\r\nexport const CLIENT_UPD_PANIER_ITEM_QTY = type('CLIENT_UPD_PANIER_ITEM_QTY')\r\n\r\nexport const CLIENT_ENSURE_CHECKOUT = type('CLIENT_ENSURE_CHECKOUT')\r\nexport const CLIENT_CHECKOUT_REQUEST = type('CLIENT_CHECKOUT_REQUEST')\r\nexport const CLIENT_CHECKOUT_FREE_REQUEST = type('CLIENT_CHECKOUT_FREE_REQUEST')\r\nexport const CLIENT_SET_PANIER_ADDRESS = type('CLIENT_SET_PANIER_ADDRESS')\r\n","import { type } from '@/utils/type'\r\n\r\n///////////////////////\r\n//Actions types\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_SAVE_MEMBER_REQUEST = type('ADM_USER_SAVE_MEMBER_REQUEST')\r\n\r\nexport const ADM_USER_RESET_STATUS = type('ADM_USER_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// PISCINE\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_PISCINE_REQUEST = type('ADM_PISCINE_REQUEST')\r\nexport const ADM_PISCINE_ENSURE = type('ADM_PISCINE_ENSURE')\r\n\r\nexport const ADM_PISCINE_DETAIL_REQUEST = type('ADM_PISCINE_DETAIL_REQUEST')\r\nexport const ADM_PISCINE_DETAIL_ENSURE = type('ADM_PISCINE_DETAIL_ENSURE')\r\n\r\nexport const ADM_PISCINE_SAVE_REQUEST = type('ADM_PISCINE_SAVE_REQUEST')\r\nexport const ADM_PISCINE_DELETE_REQUEST = type('ADM_PISCINE_DELETE_REQUEST')\r\n\r\nexport const ADM_PISCINE_RESET_STATUS = type('ADM_PISCINE_RESET_STATUS')\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// ACTIVITY\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_ACTIVITY_REQUEST = type('ADM_ACTIVITY_REQUEST')\r\nexport const ADM_ACTIVITY_ENSURE = type('ADM_ACTIVITY_ENSURE')\r\n\r\nexport const ADM_ACTIVITY_DETAIL_REQUEST = type('ADM_ACTIVITY_DETAIL_REQUEST')\r\nexport const ADM_ACTIVITY_DETAIL_ENSURE = type('ADM_ACTIVITY_DETAIL_ENSURE')\r\n\r\nexport const ADM_ACTIVITY_SAVE_REQUEST = type('ADM_ACTIVITY_SAVE_REQUEST')\r\nexport const ADM_ACTIVITY_DELETE_REQUEST = type('ADM_ACTIVITY_DELETE_REQUEST')\r\n\r\nexport const ADM_ACTIVITY_RESET_STATUS = type('ADM_ACTIVITY_RESET_STATUS')\r\n\r\nexport const ADM_ACTIVITY_SET_LIST = type('ADM_ACTIVITY_SET_LIST')\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// FORFAIT\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_FORFAIT_REQUEST = type('ADM_FORFAIT_REQUEST')\r\nexport const ADM_FORFAIT_ENSURE = type('ADM_FORFAIT_ENSURE')\r\n\r\nexport const ADM_FORFAIT_DETAIL_REQUEST = type('ADM_FORFAIT_DETAIL_REQUEST')\r\nexport const ADM_FORFAIT_DETAIL_ENSURE = type('ADM_FORFAIT_DETAIL_ENSURE')\r\n\r\nexport const ADM_FORFAIT_SAVE_REQUEST = type('ADM_FORFAIT_SAVE_REQUEST')\r\nexport const ADM_FORFAIT_DELETE_REQUEST = type('ADM_FORFAIT_DELETE_REQUEST')\r\n\r\nexport const ADM_FORFAIT_RESET_STATUS = type('ADM_FORFAIT_RESET_STATUS')\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// MNS\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_MNS_REQUEST = type('ADM_MNS_REQUEST')\r\nexport const ADM_MNS_ENSURE = type('ADM_MNS_ENSURE')\r\n\r\nexport const ADM_MNS_DETAIL_REQUEST = type('ADM_MNS_DETAIL_REQUEST')\r\nexport const ADM_MNS_DETAIL_ENSURE = type('ADM_MNS_DETAIL_ENSURE')\r\n\r\nexport const ADM_MNS_SAVE_REQUEST = type('ADM_MNS_SAVE_REQUEST')\r\nexport const ADM_MNS_DELETE_REQUEST = type('ADM_MNS_DELETE_REQUEST')\r\n\r\nexport const ADM_MNS_RESET_STATUS = type('ADM_MNS_RESET_STATUS')\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// CONTACT\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_CONTACT_REQUEST = type('ADM_CONTACT_REQUEST')\r\nexport const ADM_CONTACT_ENSURE = type('ADM_CONTACT_ENSURE')\r\n\r\nexport const ADM_CONTACT_DETAIL_REQUEST = type('ADM_CONTACT_DETAIL_REQUEST')\r\nexport const ADM_CONTACT_DETAIL_ENSURE = type('ADM_CONTACT_DETAIL_ENSURE')\r\n\r\nexport const ADM_CONTACT_SAVE_REQUEST = type('ADM_CONTACT_SAVE_REQUEST')\r\nexport const ADM_CONTACT_DELETE_REQUEST = type('ADM_CONTACT_DELETE_REQUEST')\r\n\r\nexport const ADM_CONTACT_MIN_DATE_ENSURE = type('ADM_CONTACT_MIN_DATE_ENSURE')\r\n\r\nexport const ADM_CONTACT_RESET_STATUS = type('ADM_CONTACT_RESET_STATUS')\r\n\r\nexport const ADM_CONTACT_ACTION_ON_SELECTION_REQUEST = type('ADM_CONTACT_ACTION_ON_SELECTION_REQUEST')\r\n\r\nexport const ADM_CONTACT_SET_SELECTION = type('ADM_CONTACT_SET_SELECTION')\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// NEWSLETTER\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_NEWSLETTER_REQUEST = type('ADM_NEWSLETTER_REQUEST')\r\nexport const ADM_NEWSLETTER_ENSURE = type('ADM_NEWSLETTER_ENSURE')\r\n\r\nexport const ADM_NEWSLETTER_DETAIL_REQUEST = type('ADM_NEWSLETTER_DETAIL_REQUEST')\r\nexport const ADM_NEWSLETTER_DETAIL_ENSURE = type('ADM_NEWSLETTER_DETAIL_ENSURE')\r\n\r\nexport const ADM_NEWSLETTER_SAVE_REQUEST = type('ADM_NEWSLETTER_SAVE_REQUEST')\r\nexport const ADM_NEWSLETTER_DELETE_REQUEST = type('ADM_NEWSLETTER_DELETE_REQUEST')\r\n\r\nexport const ADM_NEWSLETTER_VALID_REQUEST = type('ADM_NEWSLETTER_VALID_REQUEST')\r\n\r\nexport const ADM_NEWSLETTER_RESET_STATUS = type('ADM_NEWSLETTER_RESET_STATUS')\r\n\r\nexport const ADM_NEWSLETTER_ACTION_ON_SELECTION_REQUEST = type('ADM_NEWSLETTER_ACTION_ON_SELECTION_REQUEST')\r\n\r\nexport const ADM_NEWSLETTER_SET_SELECTION = type('ADM_NEWSLETTER_SET_SELECTION')\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// COURS\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_COURS_REQUEST = type('ADM_COURS_REQUEST')\r\nexport const ADM_COURS_ENSURE = type('ADM_COURS_ENSURE')\r\n\r\nexport const ADM_COURS_DETAIL_REQUEST = type('ADM_COURS_DETAIL_REQUEST')\r\nexport const ADM_COURS_DETAIL_ENSURE = type('ADM_COURS_DETAIL_ENSURE')\r\n\r\nexport const ADM_COURS_SAVE_REQUEST = type('ADM_COURS_SAVE_REQUEST')\r\nexport const ADM_COURS_CREATE_REQUEST = type('ADM_COURS_CREATE_REQUEST')\r\nexport const ADM_COURS_CREATE_RANGE_REQUEST = type('ADM_COURS_CREATE_RANGE_REQUEST')\r\nexport const ADM_COURS_DELETE_REQUEST = type('ADM_COURS_DELETE_REQUEST')\r\n\r\nexport const ADM_COURS_RESET_STATUS = type('ADM_COURS_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_MIN_DATE_ENSURE = type('ADM_COMMANDE_MIN_DATE_ENSURE')\r\n\r\nexport const ADM_COMMANDE_RESET_STATUS = type('ADM_COMMANDE_RESET_STATUS')\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// FAMILY\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_FAMILY_REQUEST = type('ADM_FAMILY_REQUEST')\r\nexport const ADM_FAMILY_ENSURE = type('ADM_FAMILY_ENSURE')\r\n\r\nexport const ADM_FAMILY_DETAIL_REQUEST = type('ADM_FAMILY_DETAIL_REQUEST')\r\nexport const ADM_FAMILY_DETAIL_ENSURE = type('ADM_FAMILY_DETAIL_ENSURE')\r\n\r\nexport const ADM_FAMILY_SAVE_REQUEST = type('ADM_FAMILY_SAVE_REQUEST')\r\nexport const ADM_FAMILY_DELETE_REQUEST = type('ADM_FAMILY_DELETE_REQUEST')\r\n\r\nexport const ADM_FAMILY_RESET_STATUS = type('ADM_FAMILY_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_DRAWER_OPEN = type('UI_SET_DRAWER_OPEN')\r\nexport const UI_SET_DRAWER_ENABLE = type('UI_SET_DRAWER_ENABLE')\r\n\r\nexport const UI_SET_CART_VISIBLITY = type('UI_SET_CART_VISIBLITY')\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_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_SEARCH_PISCINE = type('UI_SET_SEARCH_PISCINE')\r\nexport const UI_SET_SORT_PISCINE_DESC = type('UI_SET_SORT_PISCINE_DESC')\r\nexport const UI_SET_SORT_PISCINE_BY = type('UI_SET_SORT_PISCINE_BY')\r\nexport const UI_SET_MONTH_PISCINE = type('UI_SET_MONTH_PISCINE')\r\n\r\nexport const UI_SET_SEARCH_ACTIVITY = type('UI_SET_SEARCH_ACTIVITY')\r\nexport const UI_SET_SORT_ACTIVITY_DESC = type('UI_SET_SORT_ACTIVITY_DESC')\r\nexport const UI_SET_SORT_ACTIVITY_BY = type('UI_SET_SORT_ACTIVITY_BY')\r\n\r\nexport const UI_SET_SEARCH_FORFAIT = type('UI_SET_SEARCH_FORFAIT')\r\nexport const UI_SET_SORT_FORFAIT_DESC = type('UI_SET_SORT_FORFAIT_DESC')\r\nexport const UI_SET_SORT_FORFAIT_BY = type('UI_SET_SORT_FORFAIT_BY')\r\n\r\nexport const UI_SET_SEARCH_MNS = type('UI_SET_SEARCH_MNS')\r\nexport const UI_SET_SORT_MNS_DESC = type('UI_SET_SORT_MNS_DESC')\r\nexport const UI_SET_SORT_MNS_BY = type('UI_SET_SORT_MNS_BY')\r\n\r\nexport const UI_SET_SEARCH_CONTACT = type('UI_SET_SEARCH_CONTACT')\r\nexport const UI_SET_SORT_CONTACT_DESC = type('UI_SET_SORT_CONTACT_DESC')\r\nexport const UI_SET_SORT_CONTACT_BY = type('UI_SET_SORT_CONTACT_BY')\r\nexport const UI_SET_MONTH_CONTACT = type('UI_SET_MONTH_CONTACT')\r\n\r\nexport const UI_SET_SEARCH_NEWSLETTER = type('UI_SET_SEARCH_NEWSLETTER')\r\nexport const UI_SET_SORT_NEWSLETTER_DESC = type('UI_SET_SORT_NEWSLETTER_DESC')\r\nexport const UI_SET_SORT_NEWSLETTER_BY = type('UI_SET_SORT_NEWSLETTER_BY')\r\n\r\nexport const UI_SET_SEARCH_COURS = type('UI_SET_SEARCH_COURS')\r\nexport const UI_SET_SORT_COURS_DESC = type('UI_SET_SORT_COURS_DESC')\r\nexport const UI_SET_SORT_COURS_BY = type('UI_SET_SORT_COURS_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\nexport const UI_SET_MONTH_COMMANDE = type('UI_SET_MONTH_COMMANDE')\r\n\r\nexport const UI_SET_SEARCH_FAMILY = type('UI_SET_SEARCH_FAMILY')\r\nexport const UI_SET_SORT_FAMILY_DESC = type('UI_SET_SORT_FAMILY_DESC')\r\nexport const UI_SET_SORT_FAMILY_BY = type('UI_SET_SORT_FAMILY_BY')\r\n","import * as authAction from '@/store/modules/auth/action-types'\r\nimport * as clientAction from '@/store/modules/client/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 ...clientAction,\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\n\r\nimport MenuCompte from '@/components/compte/MenuCompte.vue'\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: \"aquadomic\" */ '@/views/pages/Home.vue'),\r\n },\r\n { \r\n path: '/reserver', \r\n name: 'Reserver', \r\n component: () => import(/* webpackChunkName: \"reserver\" */ '@/views/pages/Reserver.vue'),\r\n }, \r\n {\r\n path: '/piscines', \r\n component: () => import(/* webpackChunkName: \"piscines\" */ '@/views/pages/piscines/index.vue'),\r\n children:[\r\n {\r\n path: '',\r\n name: 'Piscines',\r\n component: () => import(/* webpackChunkName: \"piscines\" */ '@/views/pages/piscines/Piscines.vue'), \r\n props(route: any) { \r\n return { ...route.params, activityId:parseInt(route?.params?.activityId ?? -1)}\r\n }, \r\n },\r\n { \r\n path: ':slug',\r\n name: 'DetailPiscine',\r\n component: () => import(/* webpackChunkName: \"piscines\" */ '@/views/pages/piscines/DetailPiscine.vue'),\r\n props(route: any) { \r\n return { ...route.params, piscineId:parseInt(route?.params?.piscineId ?? -1)}\r\n },\r\n }\r\n ] \r\n }, \r\n {\r\n path: '/activites-enfants', \r\n component: () => import(/* webpackChunkName: \"activites-enfants\" */ '@/views/pages/activites/index.vue'),\r\n children:[\r\n {\r\n path: '',\r\n name: 'Enfants',\r\n component: () => import(/* webpackChunkName: \"activites-enfants\" */ '@/views/pages/activites/Enfants.vue'), \r\n }, \r\n {\r\n path: ':slug',\r\n name: 'ActiviteEnfant',\r\n component: () => import(/* webpackChunkName: \"activites-enfants\" */ '@/views/pages/activites/DetailActivite.vue'),\r\n props(route: any) { \r\n return { ...route.params, activityId:parseInt(route?.params?.activityId ?? -1) }\r\n }, \r\n }\r\n ] \r\n }, \r\n {\r\n path: '/activites-adultes', \r\n component: () => import(/* webpackChunkName: \"activites-adultes\" */ '@/views/pages/activites/index.vue'),\r\n children:[\r\n {\r\n path: '',\r\n name: 'Adultes',\r\n component: () => import(/* webpackChunkName: \"activites-adultes\" */ '@/views/pages/activites/Adultes.vue'), \r\n },\r\n {\r\n path: ':slug',\r\n name: 'ActiviteAdulte',\r\n component: () => import(/* webpackChunkName: \"activites-enfants\" */ '@/views/pages/activites/DetailActivite.vue'),\r\n props(route: any) { \r\n return { ...route.params, activityId:parseInt(route?.params?.activityId ?? -1) }\r\n }, \r\n }\r\n ] \r\n }, \r\n {\r\n path: '/blog', \r\n component: () => import(/* webpackChunkName: \"blog\" */ '@/views/pages/blog/index.vue'),\r\n children:[\r\n {\r\n path: '',\r\n name: 'Blog',\r\n component: () => import(/* webpackChunkName: \"blog\" */ '@/views/pages/blog/Blog.vue'), \r\n },\r\n {\r\n path: ':name',\r\n name: 'Debutant',\r\n component: () => import(/* webpackChunkName: \"blog\" */ '@/views/pages/blog/Article.vue'),\r\n }\r\n ] \r\n },\r\n {\r\n path: '/domicile',\r\n name: 'Domicile',\r\n component: () => import(/* webpackChunkName: \"domicile\" */ '@/views/pages/domicile/Domicile.vue'),\r\n },\r\n {\r\n path: '/visio',\r\n name: 'Visio',\r\n component: () => import(/* webpackChunkName: \"visio\" */ '@/views/pages/domicile/Visio.vue'),\r\n },\r\n { \r\n name: 'MentionsLegales', path: '/mentions-legales', \r\n component: () => import(/* webpackChunkName: \"annexes\" */ '@/views/pages/annexes/MentionsLegales.vue'),\r\n }, \r\n { \r\n name: 'ConditionsGeneralesVente', path: '/cgv', \r\n component: () => import(/* webpackChunkName: \"annexes\" */ '@/views/pages/annexes/ConditionsGeneralesVente.vue'),\r\n }, \r\n { \r\n name: 'Contact', path: '/contact', \r\n component: () => import(/* webpackChunkName: \"aquadomic\" */ '@/views/pages/annexes/Contact.vue'),\r\n },\r\n {\r\n path: '/login',\r\n name: 'Login',\r\n component: () => import(/* webpackChunkName: \"aquadomic\" */ '@/views/Login.vue'),\r\n },\r\n {\r\n path: '/create-password',\r\n name: 'CreatePassword',\r\n component: () => import(/* webpackChunkName: \"aquadomic\" */ '@/views/CreatePassword.vue')\r\n },\r\n {\r\n path: '/profil', \r\n component: () => import(/* webpackChunkName: \"profil\" */ '@/views/back/profil/index.vue'),\r\n meta: { \r\n hideFooter: true \r\n },\r\n children:[\r\n { \r\n path: '',\r\n name: 'ProfilAccount',\r\n component: () => import(/* webpackChunkName: \"profil\" */ '@/views/back/profil/ProfilAccount.vue'),\r\n meta: { \r\n drawerCmp: 'menu-administration', \r\n roles:[\"Client\"]\r\n },\r\n }, \r\n {\r\n path: 'panier',\r\n name: 'Cart',\r\n component: () => import(/* webpackChunkName: \"profil\" */ '@/views/back/profil/Panier.vue'), \r\n meta: { \r\n hideFooter: false \r\n },\r\n }, \r\n {\r\n path: 'facturation',\r\n name: 'Billing',\r\n component: () => import(/* webpackChunkName: \"profil\" */ '@/views/back/profil/Panier.vue'), \r\n props(route: any) { \r\n return { ...route.params, initialStep:2}\r\n },\r\n meta: { \r\n hideFooter: false \r\n },\r\n }, \r\n {\r\n path: 'paiement',\r\n name: 'Checkout',\r\n component: () => import(/* webpackChunkName: \"profil\" */ '@/views/back/profil/Panier.vue'), \r\n props(route: any) { \r\n return { ...route.params, initialStep:3}\r\n },\r\n meta: { \r\n hideFooter: false \r\n },\r\n }, \r\n {\r\n path: 'administration', \r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/index.vue'),\r\n meta: {\r\n drawerCmp: 'menu-administration',\r\n hideFooter: true \r\n },\r\n children:[\r\n {\r\n path: '',\r\n name: 'Dashboard',\r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/Dashboard.vue'),\r\n meta: {\r\n drawerCmp: 'menu-administration' \r\n }\r\n },\r\n {\r\n path: 'contacts', \r\n name: 'AdminContact',\r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/contact/GestionContact.vue'),\r\n meta: { \r\n drawerCmp: 'menu-administration',\r\n roles:[\"Admin\"]\r\n }\r\n }, \r\n {\r\n path: 'contacts/:contactId',\r\n name: 'ModifyContact', \r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/contact/ModifyContact.vue'),\r\n props(route: any) { \r\n return { ...route.params, contactId:parseInt(route?.params?.contactId ?? -1) }\r\n },\r\n meta: {\r\n drawerCmp: 'menu-administration',\r\n roles:[\"Admin\"]\r\n }\r\n },\r\n {\r\n path: 'newsletters', \r\n name: 'AdminNewsletter',\r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/newsletter/GestionNewsletter.vue'),\r\n meta: { \r\n drawerCmp: 'menu-administration',\r\n roles:[\"Admin\"]\r\n }\r\n },\r\n {\r\n path: 'piscines', \r\n name: 'AdminPiscine',\r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/piscine/GestionPiscine.vue'),\r\n meta: { \r\n drawerCmp: 'menu-administration',\r\n roles:[\"Admin\"]\r\n }\r\n }, \r\n {\r\n path: 'piscines/:piscineId',\r\n name: 'ModifyPiscine', \r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/piscine/ModifyPiscine.vue'),\r\n props(route: any) { \r\n return { ...route.params, piscineId:parseInt(route?.params?.piscineId ?? -1) }\r\n },\r\n meta: {\r\n drawerCmp: 'menu-administration',\r\n roles:[\"Admin\"]\r\n }\r\n },\r\n {\r\n path: 'activites',\r\n name: 'AdminActivity',\r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/activity/GestionActivity.vue'),\r\n meta: {\r\n drawerCmp: 'menu-administration',\r\n roles:[\"Admin\"]\r\n }\r\n }, \r\n {\r\n path: 'activites/:activityId',\r\n name: 'ModifyActivity', \r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/activity/ModifyActivity.vue'),\r\n props(route: any) { \r\n return { ...route.params, activityId:parseInt(route?.params?.activityId ?? -1) }\r\n },\r\n meta: {\r\n drawerCmp: 'menu-administration',\r\n roles:[\"Admin\"]\r\n }\r\n },\r\n {\r\n path: 'forfaits',\r\n name: 'AdminForfait',\r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/forfait/GestionForfait.vue'),\r\n meta: {\r\n drawerCmp: 'menu-administration',\r\n roles:[\"Admin\"]\r\n }\r\n }, \r\n {\r\n path: 'forfaits/:forfaitId',\r\n name: 'ModifyForfait', \r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/forfait/ModifyForfait.vue'),\r\n props(route: any) { \r\n return { ...route.params, forfaitId:parseInt(route?.params?.forfaitId ?? -1) }\r\n },\r\n meta: {\r\n drawerCmp: 'menu-administration',\r\n roles:[\"Admin\"]\r\n }\r\n }, \r\n {\r\n path: 'familles',\r\n name: 'AdminFamily',\r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/family/GestionFamily.vue'),\r\n meta: {\r\n drawerCmp: 'menu-administration',\r\n roles:[\"Admin\"]\r\n }\r\n }, \r\n {\r\n path: 'familles/:familyId',\r\n name: 'ModifyFamily', \r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/family/ModifyFamily.vue'),\r\n props(route: any) { \r\n return { ...route.params, familyId:parseInt(route?.params?.familyId ?? -1) }\r\n },\r\n meta: {\r\n drawerCmp: 'menu-administration',\r\n roles:[\"Admin\"]\r\n }\r\n }, \r\n {\r\n path: 'pages',\r\n name: 'AdminPages',\r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/pages/ListPages.vue'),\r\n meta: {\r\n drawerCmp: 'menu-administration' \r\n }\r\n },\r\n {\r\n path: 'blog',\r\n name: 'AdminArticles',\r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/blog/ListArticles.vue'),\r\n meta: {\r\n drawerCmp: 'menu-administration' \r\n }\r\n },\r\n {\r\n path: 'medias',\r\n name: 'AdminMedias',\r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/mediatheque/ListMedias.vue'),\r\n meta: {\r\n drawerCmp: 'menu-administration' \r\n }\r\n },\r\n {\r\n path: 'cours', \r\n name: 'AdminCours',\r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/cours/ListCours.vue'),\r\n meta: {\r\n drawerCmp: 'menu-administration' \r\n }\r\n },\r\n {\r\n path: 'mns',\r\n name: 'AdminMns',\r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/mns/ListMns.vue'),\r\n meta: {\r\n drawerCmp: 'menu-administration' \r\n }\r\n },\r\n {\r\n path: 'commandes',\r\n name: 'AdminCommande',\r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/commande/GestionCommande.vue'),\r\n meta: {\r\n drawerCmp: 'menu-administration' \r\n }\r\n },\r\n {\r\n path: 'commandes/:commandeId',\r\n name: 'ModifyCommande', \r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/commande/ModifyCommande.vue'),\r\n props(route: any) { \r\n return { ...route.params, commandeId:parseInt(route?.params?.commandeId ?? -1) }\r\n },\r\n meta: {\r\n drawerCmp: 'menu-administration',\r\n roles:[\"Admin\"]\r\n }\r\n }, \r\n {\r\n path: 'templates', \r\n name: 'AdminMailTemplate',\r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/mailTemplate/GestionMailTemplate.vue'),\r\n meta: {\r\n drawerCmp: 'menu-administration' \r\n }\r\n },\r\n {\r\n path: 'skins',\r\n name: 'AdminMailSkin',\r\n component: () => import(/* webpackChunkName: \"administration\" */ '@/views/back/administration/mailSkin/GestionMailSkin.vue'),\r\n meta: {\r\n drawerCmp: 'menu-administration' \r\n }\r\n }\r\n ]\r\n }, \r\n {\r\n path: 'password',\r\n name: 'ChangePassword',\r\n component: () => import(/* webpackChunkName: \"profil\" */ '@/views/back/profil/ChangePassword.vue'),\r\n meta: { \r\n }\r\n },\r\n {\r\n path: 'my-booking',\r\n name: 'MyBooking',\r\n component: () => import(/* webpackChunkName: \"profil\" */ '@/views/back/profil/MyBooking.vue'),\r\n meta: { \r\n }\r\n },\r\n {\r\n path: 'session-history',\r\n name: 'SessionHistory',\r\n component: () => import(/* webpackChunkName: \"profil\" */ '@/views/back/profil/SessionHistory.vue'),\r\n meta: { \r\n }\r\n },\r\n {\r\n path: 'commandes',\r\n name: 'Command',\r\n component: () => import(/* webpackChunkName: \"profil\" */ '@/views/back/profil/Command.vue'),\r\n meta: {\r\n \r\n }\r\n }\r\n \r\n \r\n ]\r\n }\r\n ]\r\n\r\n \r\nexport default (store: Store) => {\r\n \r\n //@ts-ignore\r\nconst router = new VueRouter({\r\n scrollBehavior() {\r\n return { x: 0, y: 0 };\r\n },\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\nrouter.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\nreturn router\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.AdminPlateforme]:{\r\n [SecurityItemsKeys.DEBUG_LOG]: {enable:true, visible:true}\r\n },\r\n [ApiUserRole.AdminPiscine]:{\r\n [SecurityItemsKeys.DEBUG_LOG]: {enable:false, visible:false}\r\n }\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\r\n createAccount(data:AloForgottenPass): AxiosPromise> { \r\n return apiHelpers.apiCall({ \r\n url: '/webapi/Authenticate/create-account', \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}","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\r\nexport const AUTH_CREATE_ACCOUNT_SUCCESS = type('AUTH_CREATE_ACCOUNT_SUCCESS')\r\nexport const AUTH_CREATE_ACCOUNT_ERROR = type('AUTH_CREATE_ACCOUNT_ERROR')\r\n\r\n\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 { 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 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_CREATE_ACCOUNT_REQUEST](context: ActionContext, data: AloForgottenPass) {\r\n return payloadAction(context,types.AUTH_CREATE_ACCOUNT_REQUEST,types.AUTH_CREATE_ACCOUNT_SUCCESS,types.AUTH_CREATE_ACCOUNT_ERROR,apiAuth.createAccount,data)\r\n .then((user:AloUser)=>{\r\n context.commit(types.AUTH_SUCCESS)\r\n context.commit(types.AUTH_USER_SUCCESS, user) \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_CHANGE_PASSWORD_REQUEST,types.AUTH_CHANGE_PASSWORD_SUCCESS,types.AUTH_CHANGE_PASSWORD_ERROR,apiAuth.createPassword,data) \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(1)\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(1)\r\n })\r\n }\r\n\r\n public [types.AUTH_UPDATE_USER](context: ActionContext,user:AloUser) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.AUTH_UPDATE_USER,user)\r\n resolve(1)\r\n })\r\n }\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 { AdministrationGetter } from '../administration/getters'\r\nimport { IAuthState } from './state'\r\n\r\nexport class AuthGetter {\r\n public isAuthenticated(state: IAuthState) {\r\n return (state?.user?.id??0) > 0\r\n }\r\n public authStatus(state: IAuthState) {\r\n return state.authStatus\r\n }\r\n public token(state: IAuthState) {\r\n return state.token\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 isAdminPlateforme(state: IAuthState) {\r\n return state.user.roles.findIndex(r => r == ApiUserRole.AdminPlateforme) > -1\r\n } \r\n public isAdminPiscine(state: IAuthState){\r\n return state.user.roles.findIndex(r => r == ApiUserRole.AdminPiscine) > -1\r\n }\r\n public isClient(state: IAuthState) {\r\n return state.user.roles.findIndex(r => r == ApiUserRole.Client) > -1\r\n } \r\n public isFamille(state: IAuthState) {\r\n return state.user.roles.findIndex(r => r == ApiUserRole.Famille) > -1\r\n } \r\n public isMNS(state: IAuthState) {\r\n return state.user.roles.findIndex(r => r == ApiUserRole.MNS) > -1\r\n } \r\n public isProprietairePisicne(state: IAuthState) {\r\n return state.user.roles.findIndex(r => r == ApiUserRole.ProprietairePiscine) > -1\r\n } \r\n public canAccess(state: IAuthState) { \r\n return (roles:Array) => { \r\n return state.user.roles.findIndex(r => r == ApiUserRole.AdminPlateforme) > -1 \r\n || roles.some(role => \r\n ( role == \"AdminPiscine\" && state.user.roles.findIndex(r => r == ApiUserRole.AdminPiscine) > -1) \r\n || (role == \"Client\" && state.user.roles.findIndex(r => r == ApiUserRole.Client) > -1) \r\n || (role == \"Famille\" && state.user.roles.findIndex(r => r == ApiUserRole.Famille) > -1) \r\n || (role == \"MNS\" && state.user.roles.findIndex(r => r == ApiUserRole.MNS) > -1) \r\n || (role == \"ProprietairePisicne\" && state.user.roles.findIndex(r => r == ApiUserRole.ProprietairePiscine) > -1) \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 { AloUser, 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 [types.AUTH_CREATE_ACCOUNT_REQUEST]: state => {\r\n state.authStatus = 'CreateAccountProgress'\r\n },\r\n [types.AUTH_CREATE_ACCOUNT_SUCCESS]: state => { \r\n state.authStatus = 'CreateAccountSuccess'\r\n },\r\n [types.AUTH_CREATE_ACCOUNT_ERROR]: (state, message) => {\r\n state.authStatus = message || 'CreateAccountError'\r\n },\r\n [types.AUTH_UPDATE_USER]: (state, user:AloUser) => {\r\n state.user = user\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 token: string\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 token: localStorage.getItem('user-token') || '',\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 { QtyItem } from \"../ui/QtyItem\"\r\nimport { AloAddress } from \"./AloAddress\"\r\nimport { AloBase, getDefaultAloBase } from \"./AloBase\"\r\nimport { AloForfait } from \"./AloForfait\"\r\n\r\n\r\nexport interface IAloPanier { \r\n items:Array> \r\n clientSecret:string\r\n address:AloAddress\r\n}\r\n\r\nexport class AloPanier { \r\n public items:Array> \r\n public clientSecret:string\r\n public address:AloAddress\r\n\r\n constructor({items,clientSecret,address}:IAloPanier = {} as IAloPanier) { \r\n this.items = items ?? []\r\n this.clientSecret = clientSecret ?? \"\" \r\n this.address = address\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 prixTotal() {\r\n return this.items.reduce((total,item)=>total+((item.item.fftTarif??0) * item.qty) ,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.item.tva!] = (tvas[item.item.tva!] ?? 0) + ( (item.item.tva!/100.0) * ((item.item.fftTarif??0) * item.qty) / (100.0+(item.item.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}\r\n","import 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 { IAloPanier,AloPanier } from '@/models/alo/AloPanier'\r\nimport { ApiResultCode } from '@/enum/ApiResultCode'\r\n\r\nfunction parsePanierData(data:string) {\r\n const resp = JSON.parse(data) as AlrContainer \r\n if(resp.resultCode == ApiResultCode.Ok){\r\n resp.data = new AloPanier(resp.data as IAloPanier) as 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/Commande`, \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 getFilterCommande(dates : Array): AxiosPromise>> { \r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Commande/filter?from=${dates[0].toUTCString()}&to=${dates[1].toUTCString()}`, \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 getMinDate(){\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Commande/min-date`, \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 getCommande(id:number):AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Commande/${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 saveCommande(commande:AloCommande):AxiosPromise> {\r\n cleanAloCommande(commande)\r\n if(commande.id) {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Commande/${commande.id}`, \r\n method: 'PUT',\r\n data: commande,\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/Commande`, \r\n method: 'POST',\r\n data: commande,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n }) \r\n }\r\n },\r\n deleteCommande(id:number):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Commande/${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 checkout(panier:AloPanier):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Commande/checkout`, \r\n method: 'POST',\r\n data: panier,\r\n transformResponse: parsePanierData\r\n })\r\n },\r\n checkoutfree(panier:AloPanier):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Commande/checkoutfree`, \r\n method: 'POST',\r\n data: panier,\r\n transformResponse: parsePanierData\r\n })\r\n },\r\n}\r\n","import { type } from '@/utils/type'\r\n\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// CLIENT\r\n/////////////////////////////////////////////////////////////////\r\n\r\nexport const CLIENT_CHECKOUT_SUCCESS = type('CLIENT_CHECKOUT_SUCCESS')\r\nexport const CLIENT_CHECKOUT_ERROR = type('CLIENT_CHECKOUT_ERROR')\r\n\r\nexport const CLIENT_CHECKOUT_FREE_SUCCESS = type('CLIENT_CHECKOUT_FREE_SUCCESS')\r\nexport const CLIENT_CHECKOUT_FREE_ERROR = type('CLIENT_CHECKOUT_FREE_ERROR')\r\n\r\n\r\n\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 Vue from 'vue'\r\nimport util from '@/utils/classToObject'\r\nimport actionsTypes from '@/store/all-action-types'\r\nimport apiCommande from '@/api/commande'\r\nimport types from './all-mutation-types'\r\nimport { IRootState, emptyAction, actionEnsure, payloadAction } from '@/store'\r\nimport { IClientState } from './state'\r\nimport { buildStateItem } from '@/models/alo/StateItem'\r\nimport {i18n} from '@/locale/vueI18n'\r\nimport { QtyItem } from '@/models/ui/QtyItem'\r\nimport { AloForfait } from '@/models/alo/AloForfait'\r\nimport { formatCurrency } from '@/filters/currency'\r\nimport { AloPanier } from '@/models/alo/AloPanier'\r\nimport { AloAddress } from '@/models/alo/AloAddress'\r\n\r\nexport class ClientAction {\r\n \r\n public [types.CLIENT_ADD_PANIER](context: ActionContext,item:QtyItem) {\r\n return new Promise((resolve, reject) => {\r\n if(item.qty > 0){\r\n context.commit(types.CLIENT_ADD_PANIER,item) \r\n }\r\n resolve()\r\n })\r\n }\r\n \r\n public [types.CLIENT_UPD_PANIER_ITEM_QTY](context: ActionContext,{fftId,qty}:{fftId:number,qty:number}) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.CLIENT_UPD_PANIER_ITEM_QTY,{fftId,qty})\r\n resolve()\r\n })\r\n }\r\n\r\n public [types.CLIENT_CLEAR_PANIER](context: ActionContext) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.CLIENT_CLEAR_PANIER)\r\n resolve()\r\n })\r\n } \r\n\r\n public [types.CLIENT_CHECKOUT_REQUEST](context: ActionContext,payload:AloPanier) {\r\n return payloadAction(context,types.CLIENT_CHECKOUT_REQUEST,types.CLIENT_CHECKOUT_SUCCESS,types.CLIENT_CHECKOUT_ERROR,apiCommande.checkout,payload) \r\n } \r\n\r\n public [types.CLIENT_CHECKOUT_FREE_REQUEST](context: ActionContext,payload:AloPanier) {\r\n return payloadAction(context,types.CLIENT_CHECKOUT_FREE_REQUEST,types.CLIENT_CHECKOUT_FREE_SUCCESS,types.CLIENT_CHECKOUT_FREE_ERROR,apiCommande.checkoutfree,payload) \r\n } \r\n \r\n public [types.CLIENT_SET_PANIER_ADDRESS](context: ActionContext,address:AloAddress) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.CLIENT_SET_PANIER_ADDRESS,address)\r\n resolve()\r\n })\r\n } \r\n}\r\n\r\nexport default util.classToObject(ClientAction)\r\n","// Interface\r\n\r\nimport util from '@/utils/classToObject'\r\nimport { IClientState } from './state'\r\n\r\nexport class ClientGetter {\r\n \r\n public panier(state: IClientState) {\r\n return state.panier\r\n }\r\n \r\n}\r\n\r\nexport default util.classToObject(ClientGetter)","import types from './all-mutation-types'\r\nimport Vue from 'vue'\r\nimport { MutationTree } from 'vuex/types'\r\nimport { IClientState } from './state'\r\nimport { toNumberDictionary, toStringDictionary } from '@/utils/groupBy'\r\nimport { buildStateItem } from '@/models/alo/StateItem'\r\nimport { QtyItem } from '@/models/ui/QtyItem'\r\nimport { AloForfait } from '@/models/alo/AloForfait'\r\nimport { AloPanier } from '@/models/alo/AloPanier'\r\nimport { AloAddress } from '@/models/alo/AloAddress'\r\n\r\n\r\n\r\n\r\nconst mutations: MutationTree = {\r\n [types.CLIENT_ADD_PANIER]: (state,item:QtyItem) => { \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.item.id == item.item.id)\r\n if(itemPanier) {\r\n itemPanier.qty++;\r\n itemPanier.psnId = item.psnId\r\n }\r\n else {\r\n state.panier.items.push(item) \r\n } \r\n localStorage.setItem('aqua_panier',JSON.stringify(state.panier)) \r\n },\r\n [types.CLIENT_UPD_PANIER_ITEM_QTY]: (state,{fftId,qty}:{fftId:number,qty:number}) => { \r\n if (qty>0) \r\n state.panier.items.find(it => it.item.id == fftId)!.qty = qty\r\n else {\r\n state.panier.items.splice( state.panier.items.findIndex(it => it.item.id == fftId),1) \r\n }\r\n localStorage.setItem('aqua_panier',JSON.stringify(state.panier))\r\n }, \r\n [types.CLIENT_CLEAR_PANIER]: (state) => { \r\n state.panier = new AloPanier()\r\n localStorage.setItem('aqua_panier',JSON.stringify(state.panier))\r\n },\r\n [types.CLIENT_CHECKOUT_REQUEST]: state => { \r\n state.panierStatus = \"Génération de l'intention de paiement\"\r\n },\r\n [types.CLIENT_CHECKOUT_SUCCESS]: (state, panier:AloPanier) => { \r\n state.panier = panier\r\n state.panierStatus = \"Génération de l'intention de paiement terminée\"\r\n localStorage.setItem('aqua_panier',JSON.stringify(state.panier))\r\n },\r\n [types.CLIENT_CHECKOUT_ERROR]: state => { \r\n state.panierStatus = \"Erreur lors de la génération de l'intention de paiement\"\r\n }, \r\n [types.CLIENT_CHECKOUT_FREE_REQUEST]: state => { \r\n state.panierStatus = \"Validation de la commande\"\r\n },\r\n [types.CLIENT_CHECKOUT_FREE_SUCCESS]: (state, panier:AloPanier) => { \r\n state.panier = panier\r\n state.panierStatus = \"Validation de la commande terminée\"\r\n localStorage.setItem('aqua_panier',JSON.stringify(state.panier))\r\n },\r\n [types.CLIENT_CHECKOUT_ERROR]: state => { \r\n state.panierStatus = \"Erreur lors de la validation de la commande\"\r\n }, \r\n [types.CLIENT_SET_PANIER_ADDRESS]: (state, address:AloAddress) => { \r\n state.panier.address = address\r\n localStorage.setItem('aqua_panier',JSON.stringify(state.panier))\r\n }, \r\n \r\n}\r\n\r\nexport default mutations","import { AloPanier } from '@/models/alo/AloPanier';\r\nimport { StateItem, buildStateItem } from '@/models/alo/StateItem';\r\n\r\nexport interface IClientState { \r\n \r\n panier:AloPanier \r\n panierStatus:string\r\n}\r\n\r\nvar pan = localStorage.getItem('aqua_panier') \r\n\r\n//Initial State\r\nconst state: IClientState = { \r\n panier: pan?new AloPanier(JSON.parse(pan)):new AloPanier(),\r\n panierStatus:''\r\n}\r\nexport default state","import actions from './actions'\r\nimport getters from './getters'\r\nimport mutations from './mutations'\r\nimport state, { IClientState } 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 { AloMns,cleanAloMns } from '@/models/alo/AloMns'\r\n\r\nexport default {\r\n getAllMns(): AxiosPromise>> { \r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Mns`, \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 getMns(id:number):AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Mns/${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 saveMns(mns:AloMns):AxiosPromise> {\r\n cleanAloMns(mns)\r\n if(mns.id) {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Mns/${mns.id}`, \r\n method: 'PUT',\r\n data: mns,\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/Mns`, \r\n method: 'POST',\r\n data: mns,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n }) \r\n }\r\n },\r\n deleteMns(id:number):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Mns/${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 { 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){\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){\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 apiHelpers from '@/utils/api'\r\nimport { AlrContainer } from '@/models/response/AlrContainer'\r\nimport { AxiosPromise } from 'axios'\r\nimport { AloPiscine,cleanAloPiscine } from '@/models/alo/AloPiscine'\r\nimport { getDefaultAloConfigPiscine } from '@/models/alo/AloConfigPiscine'\r\nimport { ApiResultCode } from '@/enum/ApiResultCode'\r\n\r\nfunction parsePiscineData(data:string) {\r\n const resp = JSON.parse(data) as AlrContainer \r\n if(resp.resultCode == ApiResultCode.Ok){\r\n const psn = resp.data as AloPiscine \r\n if(psn?.image?.id > 1 && (!psn.images || psn.images.length == 0)) psn.images = [psn.image]\r\n psn.configPiscine = psn.config?{...getDefaultAloConfigPiscine(),...JSON.parse(psn.config)}:getDefaultAloConfigPiscine()\r\n } \r\n return resp\r\n}\r\n\r\nfunction parsePiscinesData(data:string) { \r\n const resp = JSON.parse(data) as AlrContainer> \r\n if(resp.resultCode == ApiResultCode.Ok) {\r\n const acys = resp.data as Array \r\n acys.forEach(psn => \r\n {\r\n if(psn?.image?.id > 1 && (!psn.images || psn.images.length == 0)) psn.images = [psn.image]\r\n psn.configPiscine = psn.config?{...getDefaultAloConfigPiscine(),...JSON.parse(psn.config)}:getDefaultAloConfigPiscine()\r\n }) \r\n } \r\n return resp\r\n}\r\n\r\nexport default {\r\n getAllPiscine(): AxiosPromise>> { \r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Piscine`, \r\n method: 'GET',\r\n transformResponse: parsePiscinesData\r\n })\r\n },\r\n getPiscine(idOrSlug:string|number):AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Piscine/${idOrSlug}`, \r\n method: 'GET',\r\n transformResponse: parsePiscineData\r\n })\r\n },\r\n savePiscine(piscine:AloPiscine):AxiosPromise> {\r\n cleanAloPiscine(piscine)\r\n if(piscine.id) {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Piscine/${piscine.id}`, \r\n method: 'PUT',\r\n data: piscine,\r\n transformResponse: parsePiscineData\r\n }) \r\n }\r\n else{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Piscine`, \r\n method: 'POST',\r\n data: piscine,\r\n transformResponse: parsePiscineData\r\n }) \r\n }\r\n },\r\n deletePiscine(id:number):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Piscine/${id}`, \r\n method: 'DELETE',\r\n transformResponse: parsePiscineData\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 { AloForfait,cleanAloForfait } from '@/models/alo/AloForfait'\r\n\r\nexport default {\r\n getAllForfait(): AxiosPromise>> { \r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Forfait`, \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 getForfait(id:number):AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Forfait/${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 saveForfait(forfait:AloForfait):AxiosPromise> {\r\n cleanAloForfait(forfait)\r\n if(forfait.id) {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Forfait/${forfait.id}`, \r\n method: 'PUT',\r\n data: forfait,\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/Forfait`, \r\n method: 'POST',\r\n data: forfait,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n }) \r\n }\r\n },\r\n deleteForfait(id:number):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Forfait/${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 { AloContact,cleanAloContact } from '@/models/alo/AloContact'\r\n\r\nexport default {\r\n getAllContact(): AxiosPromise>> { \r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Contact`, \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 getFilterContact(dates : Array): AxiosPromise>> { \r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Contact/filter?from=${dates[0].toUTCString()}&to=${dates[1].toUTCString()}`, \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 getMinDate(){\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Contact/min-date`, \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 getContact(id:number):AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Contact/${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 saveContact(contact:AloContact):AxiosPromise> {\r\n cleanAloContact(contact)\r\n if(contact.id) {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Contact/${contact.id}`, \r\n method: 'PUT',\r\n data: contact,\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/Contact`, \r\n method: 'POST',\r\n data: contact,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n }) \r\n }\r\n },\r\n deleteContact(id:number){\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Contact/${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 executeActionOnSelection(payload:{conIds:Array,action:string,data?:any}){\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Contact/execute`,\r\n method: 'PUT',\r\n data:payload,\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 { AloNewsletter,cleanAloNewsletter } from '@/models/alo/AloNewsletter'\r\n\r\nexport default {\r\n getAllNewsletter(): AxiosPromise>> { \r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Newsletter`, \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 getNewsletter(id:number):AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Newsletter/${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 saveNewsletter(newsletter:AloNewsletter):AxiosPromise> {\r\n cleanAloNewsletter(newsletter)\r\n if(newsletter.id) {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Newsletter/${newsletter.id}`, \r\n method: 'PUT',\r\n data: newsletter,\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/Newsletter`, \r\n method: 'POST',\r\n data: newsletter,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n }) \r\n }\r\n },\r\n deleteNewsletter(id:number):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Newsletter/${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 validNewsletter(key:string):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Newsletter/valid`, \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 executeActionOnSelection(payload:{conIds:Array,action:string,data?:any}){\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Newsletter/execute`,\r\n method: 'PUT',\r\n data:payload,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer>\r\n }]\r\n }) \r\n }\r\n}","import { CommitAction } from '@/enum/CommitAction'\r\nimport { AlsBase, getDefaultAlsBase } from './AlsBase'\r\n\r\n\r\nexport interface AlsCours extends AlsBase { \r\n from: Date,\r\n to: Date,\r\n psnId: number|null \r\n}\r\n\r\nexport const getDefaultAlsCours = (commit:CommitAction=CommitAction.listAndDic):AlsCours => { \r\n return {\r\n ...getDefaultAlsBase(commit),\r\n from: new Date(),\r\n to: new Date(),\r\n psnId:null\r\n }\r\n}\r\n\r\nexport const cleanAlsCours = (filter:AlsCours) => {\r\n if(!filter) return \r\n if(!filter.psnId) delete filter.psnId\r\n}\r\n","import apiHelpers from '@/utils/api'\r\nimport { AlrContainer } from '@/models/response/AlrContainer'\r\nimport { AxiosPromise } from 'axios'\r\nimport { AloCours,cleanAloCours } from '@/models/alo/AloCours'\r\nimport { AlsCours, cleanAlsCours } from '@/models/als/AlsCours'\r\n\r\nexport default {\r\n getAllCours(): AxiosPromise>> { \r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Cours`, \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 getCours(id:number):AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Cours/${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 saveCours(cours:AloCours):AxiosPromise> {\r\n cleanAloCours(cours)\r\n if(cours.id) {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Cours/${cours.id}`, \r\n method: 'PUT',\r\n data: cours,\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/Cours`, \r\n method: 'POST',\r\n data: cours,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n }) \r\n }\r\n },\r\n deleteCours(id:number):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Cours/${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 getFilterCours(crsFilter : AlsCours): AxiosPromise>> { \r\n cleanAlsCours(crsFilter)\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Cours/filter`, \r\n data:crsFilter,\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 addRange(cours : Array): AxiosPromise>> { \r\n cours.forEach(c => cleanAloCours(c))\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Cours/addRange`, \r\n data:cours,\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\n}\r\n","import { type } from '@/utils/type'\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_SAVE_MEMBER_SUCCESS = type('ADM_USER_SAVE_MEMBER_SUCCESS')\r\nexport const ADM_USER_SAVE_MEMBER_ERROR = type('ADM_USER_SAVE_MEMBER_ERROR')\r\n\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// 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// PISCINE\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_PISCINE_SUCCESS = type('ADM_PISCINE_SUCCESS')\r\nexport const ADM_PISCINE_ERROR = type('ADM_PISCINE_ERROR')\r\n\r\nexport const ADM_PISCINE_DETAIL_SUCCESS = type('ADM_PISCINE_DETAIL_SUCCESS')\r\nexport const ADM_PISCINE_DETAIL_ERROR = type('ADM_PISCINE_DETAIL_ERROR')\r\n\r\nexport const ADM_PISCINE_SAVE_SUCCESS = type('ADM_PISCINE_SAVE_SUCCESS')\r\nexport const ADM_PISCINE_SAVE_ERROR = type('ADM_PISCINE_SAVE_ERROR')\r\n\r\nexport const ADM_PISCINE_DELETE_SUCCESS = type('ADM_PISCINE_DELETE_SUCCESS')\r\nexport const ADM_PISCINE_DELETE_ERROR = type('ADM_PISCINE_DELETE_ERROR')\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// ACTIVITY\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_ACTIVITY_SUCCESS = type('ADM_ACTIVITY_SUCCESS')\r\nexport const ADM_ACTIVITY_ERROR = type('ADM_ACTIVITY_ERROR')\r\n\r\nexport const ADM_ACTIVITY_DETAIL_SUCCESS = type('ADM_ACTIVITY_DETAIL_SUCCESS')\r\nexport const ADM_ACTIVITY_DETAIL_ERROR = type('ADM_ACTIVITY_DETAIL_ERROR')\r\n\r\nexport const ADM_ACTIVITY_SAVE_SUCCESS = type('ADM_ACTIVITY_SAVE_SUCCESS')\r\nexport const ADM_ACTIVITY_SAVE_ERROR = type('ADM_ACTIVITY_SAVE_ERROR')\r\n\r\nexport const ADM_ACTIVITY_DELETE_SUCCESS = type('ADM_ACTIVITY_DELETE_SUCCESS')\r\nexport const ADM_ACTIVITY_DELETE_ERROR = type('ADM_ACTIVITY_DELETE_ERROR')\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// FORFAIT\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_FORFAIT_SUCCESS = type('ADM_FORFAIT_SUCCESS')\r\nexport const ADM_FORFAIT_ERROR = type('ADM_FORFAIT_ERROR')\r\n\r\nexport const ADM_FORFAIT_DETAIL_SUCCESS = type('ADM_FORFAIT_DETAIL_SUCCESS')\r\nexport const ADM_FORFAIT_DETAIL_ERROR = type('ADM_FORFAIT_DETAIL_ERROR')\r\n\r\nexport const ADM_FORFAIT_SAVE_SUCCESS = type('ADM_FORFAIT_SAVE_SUCCESS')\r\nexport const ADM_FORFAIT_SAVE_ERROR = type('ADM_FORFAIT_SAVE_ERROR')\r\n\r\nexport const ADM_FORFAIT_DELETE_SUCCESS = type('ADM_FORFAIT_DELETE_SUCCESS')\r\nexport const ADM_FORFAIT_DELETE_ERROR = type('ADM_FORFAIT_DELETE_ERROR')\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// MNS\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_MNS_SUCCESS = type('ADM_MNS_SUCCESS')\r\nexport const ADM_MNS_ERROR = type('ADM_MNS_ERROR')\r\n\r\nexport const ADM_MNS_DETAIL_SUCCESS = type('ADM_MNS_DETAIL_SUCCESS')\r\nexport const ADM_MNS_DETAIL_ERROR = type('ADM_MNS_DETAIL_ERROR')\r\n\r\nexport const ADM_MNS_SAVE_SUCCESS = type('ADM_MNS_SAVE_SUCCESS')\r\nexport const ADM_MNS_SAVE_ERROR = type('ADM_MNS_SAVE_ERROR')\r\n\r\nexport const ADM_MNS_DELETE_SUCCESS = type('ADM_MNS_DELETE_SUCCESS')\r\nexport const ADM_MNS_DELETE_ERROR = type('ADM_MNS_DELETE_ERROR')\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// CONTACT\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_CONTACT_SUCCESS = type('ADM_CONTACT_SUCCESS')\r\nexport const ADM_CONTACT_ERROR = type('ADM_CONTACT_ERROR')\r\n\r\nexport const ADM_CONTACT_DETAIL_SUCCESS = type('ADM_CONTACT_DETAIL_SUCCESS')\r\nexport const ADM_CONTACT_DETAIL_ERROR = type('ADM_CONTACT_DETAIL_ERROR')\r\n\r\nexport const ADM_CONTACT_MIN_DATE_REQUEST = type('ADM_CONTACT_MIN_DATE_REQUEST')\r\nexport const ADM_CONTACT_MIN_DATE_SUCCESS = type('ADM_CONTACT_MIN_DATE_SUCCESS')\r\nexport const ADM_CONTACT_MIN_DATE_ERROR = type('ADM_CONTACT_MIN_DATE_ERROR')\r\n\r\nexport const ADM_CONTACT_SAVE_SUCCESS = type('ADM_CONTACT_SAVE_SUCCESS')\r\nexport const ADM_CONTACT_SAVE_ERROR = type('ADM_CONTACT_SAVE_ERROR')\r\n\r\nexport const ADM_CONTACT_DELETE_SUCCESS = type('ADM_CONTACT_DELETE_SUCCESS')\r\nexport const ADM_CONTACT_DELETE_ERROR = type('ADM_CONTACT_DELETE_ERROR')\r\n\r\nexport const ADM_CONTACT_ACTION_ON_SELECTION_SUCCESS = type('ADM_CONTACT_ACTION_ON_SELECTION_SUCCESS')\r\nexport const ADM_CONTACT_ACTION_ON_SELECTION_ERROR = type('ADM_CONTACT_ACTION_ON_SELECTION_ERROR')\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// NEWSLETTER\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_NEWSLETTER_SUCCESS = type('ADM_NEWSLETTER_SUCCESS')\r\nexport const ADM_NEWSLETTER_ERROR = type('ADM_NEWSLETTER_ERROR')\r\n\r\nexport const ADM_NEWSLETTER_DETAIL_SUCCESS = type('ADM_NEWSLETTER_DETAIL_SUCCESS')\r\nexport const ADM_NEWSLETTER_DETAIL_ERROR = type('ADM_NEWSLETTER_DETAIL_ERROR')\r\n\r\nexport const ADM_NEWSLETTER_SAVE_SUCCESS = type('ADM_NEWSLETTER_SAVE_SUCCESS')\r\nexport const ADM_NEWSLETTER_SAVE_ERROR = type('ADM_NEWSLETTER_SAVE_ERROR')\r\n\r\nexport const ADM_NEWSLETTER_DELETE_SUCCESS = type('ADM_NEWSLETTER_DELETE_SUCCESS')\r\nexport const ADM_NEWSLETTER_DELETE_ERROR = type('ADM_NEWSLETTER_DELETE_ERROR')\r\n\r\nexport const ADM_NEWSLETTER_VALID_SUCCESS = type('ADM_NEWSLETTER_VALID_SUCCESS')\r\nexport const ADM_NEWSLETTER_VALID_ERROR = type('ADM_NEWSLETTER_VALID_ERROR')\r\n\r\nexport const ADM_NEWSLETTER_ACTION_ON_SELECTION_SUCCESS = type('ADM_NEWSLETTER_ACTION_ON_SELECTION_SUCCESS')\r\nexport const ADM_NEWSLETTER_ACTION_ON_SELECTION_ERROR = type('ADM_NEWSLETTER_ACTION_ON_SELECTION_ERROR')\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// COURS\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_COURS_SUCCESS = type('ADM_COURS_SUCCESS')\r\nexport const ADM_COURS_SUCCESS_DIC = type('ADM_COURS_SUCCESS_DIC')\r\nexport const ADM_COURS_ERROR = type('ADM_COURS_ERROR')\r\n\r\nexport const ADM_COURS_DETAIL_SUCCESS = type('ADM_COURS_DETAIL_SUCCESS')\r\nexport const ADM_COURS_DETAIL_ERROR = type('ADM_COURS_DETAIL_ERROR')\r\n\r\nexport const ADM_COURS_SAVE_SUCCESS = type('ADM_COURS_SAVE_SUCCESS')\r\nexport const ADM_COURS_SAVE_SUCCESS_DIC = type('ADM_COURS_SAVE_SUCCESS_DIC')\r\nexport const ADM_COURS_CREATE_RANGE_SUCCESS = type('ADM_COURS_CREATE_RANGE_SUCCESS')\r\nexport const ADM_COURS_SAVE_ERROR = type('ADM_COURS_SAVE_ERROR')\r\n\r\nexport const ADM_COURS_DELETE_SUCCESS = type('ADM_COURS_DELETE_SUCCESS')\r\nexport const ADM_COURS_DELETE_ERROR = type('ADM_COURS_DELETE_ERROR')\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_MIN_DATE_REQUEST = type('ADM_COMMANDE_MIN_DATE_REQUEST')\r\nexport const ADM_COMMANDE_MIN_DATE_SUCCESS = type('ADM_COMMANDE_MIN_DATE_SUCCESS')\r\nexport const ADM_COMMANDE_MIN_DATE_ERROR = type('ADM_COMMANDE_MIN_DATE_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\n\r\n//////////////////////////////////////////////////////////////////\r\n// FAMILY\r\n/////////////////////////////////////////////////////////////////\r\nexport const ADM_FAMILY_SUCCESS = type('ADM_FAMILY_SUCCESS')\r\nexport const ADM_FAMILY_ERROR = type('ADM_FAMILY_ERROR')\r\n\r\nexport const ADM_FAMILY_DETAIL_SUCCESS = type('ADM_FAMILY_DETAIL_SUCCESS')\r\nexport const ADM_FAMILY_DETAIL_ERROR = type('ADM_FAMILY_DETAIL_ERROR')\r\n\r\nexport const ADM_FAMILY_SAVE_SUCCESS = type('ADM_FAMILY_SAVE_SUCCESS')\r\nexport const ADM_FAMILY_SAVE_ERROR = type('ADM_FAMILY_SAVE_ERROR')\r\n\r\nexport const ADM_FAMILY_DELETE_SUCCESS = type('ADM_FAMILY_DELETE_SUCCESS')\r\nexport const ADM_FAMILY_DELETE_ERROR = type('ADM_FAMILY_DELETE_ERROR')","import * as ationTypes from './action-types'\r\nimport * as mutationTypes from './mutation-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 apiUser from '@/api/user'\r\nimport apiMns from '@/api/mns'\r\nimport apiMailTemplate from '@/api/mailTemplate'\r\nimport apiMailSkin from '@/api/mailSkin'\r\nimport apiPiscine from '@/api/piscine'\r\nimport apiActivity from '@/api/activity'\r\nimport apiForfait from '@/api/forfait'\r\nimport apiContact from '@/api/contact'\r\nimport apiNewsletter from '@/api/newsletter'\r\nimport apiCours from '@/api/cours'\r\nimport apiCommande from '@/api/commande'\r\nimport apiFamily from '@/api/family'\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 { IAdministrationState } from './state'\r\nimport { buildStateItem } from '@/models/alo/StateItem'\r\nimport { AloUser } from '@/models/alo/AloUser'\r\nimport { AloMailSkin } from '@/models/alo/AloMailSkin'\r\nimport { AloMailTemplate } from '@/models/alo/AloMailTemplate'\r\nimport { AlsUser } from '@/models/als/AlsUser'\r\nimport { AloPiscine } from '@/models/alo/AloPiscine'\r\nimport { AloActivity } from '@/models/alo/AloActivity'\r\nimport { AloForfait } from '@/models/alo/AloForfait'\r\nimport { AloMns } from '@/models/alo/AloMns'\r\nimport { AloContact } from '@/models/alo/AloContact'\r\nimport { AloNewsletter } from '@/models/alo/AloNewsletter'\r\nimport { AloCours } from '@/models/alo/AloCours'\r\nimport { AlsCours } from '@/models/als/AlsCours'\r\nimport { AloCommande } from '@/models/alo/AloCommande'\r\nimport { AloFamily } from '@/models/alo/AloFamily'\r\nimport { CommitAction } from '@/enum/CommitAction'\r\n\r\nexport class AdministrationAction {\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).then((user)=>{\r\n if(context.getters.user.id == data.id) context.dispatch(actionsTypes.AUTH_UPDATE_USER,user)\r\n }) \r\n }\r\n\r\n public [types.ADM_USER_SAVE_MEMBER_REQUEST](context: ActionContext,data: AloUser) {\r\n return payloadAction(context,types.ADM_USER_SAVE_MEMBER_REQUEST,types.ADM_USER_SAVE_MEMBER_SUCCESS,types.ADM_USER_SAVE_MEMBER_ERROR,apiUser.saveMemberUser,data).then((user)=>{ \r\n if(context.getters.user.famId == user.famId) context.dispatch(actionsTypes.AUTH_USER_REQUEST)\r\n }) \r\n }\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 // 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 // PISCINE\r\n /////////////////////////////////////////////////////////////////\r\n\r\n public [types.ADM_PISCINE_REQUEST](context: ActionContext) {\r\n return emptyAction(context,types.ADM_PISCINE_REQUEST,types.ADM_PISCINE_SUCCESS,types.ADM_PISCINE_ERROR,apiPiscine.getAllPiscine) \r\n }\r\n\r\n public [types.ADM_PISCINE_ENSURE](context: ActionContext) {\r\n return actionEnsure(context,types.ADM_PISCINE_REQUEST,context.state.piscineList) \r\n }\r\n\r\n public [types.ADM_PISCINE_DETAIL_REQUEST](context: ActionContext,idOrSlug:string|number) {\r\n return payloadAction(context,types.ADM_PISCINE_DETAIL_REQUEST,types.ADM_PISCINE_DETAIL_SUCCESS,types.ADM_PISCINE_DETAIL_ERROR,apiPiscine.getPiscine,idOrSlug)\r\n }\r\n\r\n public [types.ADM_PISCINE_DETAIL_ENSURE](context: ActionContext,id:number) {\r\n //Hack car le detail n'est pas dans un stateItems\r\n const item = context.state.piscineDic[id];\r\n return actionEnsure(context,types.ADM_PISCINE_DETAIL_REQUEST,buildStateItem(item,item?5:-5),id)\r\n }\r\n\r\n public [types.ADM_PISCINE_SAVE_REQUEST](context: ActionContext,data: AloPiscine) {\r\n return payloadAction(context,types.ADM_PISCINE_SAVE_REQUEST,types.ADM_PISCINE_SAVE_SUCCESS,types.ADM_PISCINE_SAVE_ERROR,apiPiscine.savePiscine,data) \r\n }\r\n\r\n public [types.ADM_PISCINE_DELETE_REQUEST](context: ActionContext,id: number) {\r\n return payloadAction(context,types.ADM_PISCINE_DELETE_REQUEST,types.ADM_PISCINE_DELETE_SUCCESS,types.ADM_PISCINE_DELETE_ERROR,apiPiscine.deletePiscine,id) \r\n }\r\n\r\n public [types.ADM_PISCINE_RESET_STATUS](context: ActionContext) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ADM_PISCINE_RESET_STATUS)\r\n resolve()\r\n })\r\n }\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // ACTIVITY\r\n /////////////////////////////////////////////////////////////////\r\n\r\n public [types.ADM_ACTIVITY_REQUEST](context: ActionContext) {\r\n return emptyAction(context,types.ADM_ACTIVITY_REQUEST,types.ADM_ACTIVITY_SUCCESS,types.ADM_ACTIVITY_ERROR,apiActivity.getAllActivity) \r\n }\r\n\r\n public [types.ADM_ACTIVITY_ENSURE](context: ActionContext) {\r\n return actionEnsure(context,types.ADM_ACTIVITY_REQUEST,context.state.activityList) \r\n }\r\n\r\n public [types.ADM_ACTIVITY_DETAIL_REQUEST](context: ActionContext,idOrSlug:string|number) {\r\n return payloadAction(context,types.ADM_ACTIVITY_DETAIL_REQUEST,types.ADM_ACTIVITY_DETAIL_SUCCESS,types.ADM_ACTIVITY_DETAIL_ERROR,apiActivity.getActivity,idOrSlug)\r\n }\r\n\r\n public [types.ADM_ACTIVITY_DETAIL_ENSURE](context: ActionContext,id:number) {\r\n //Hack car le detail n'est pas dans un stateItems\r\n const item = context.state.activityDic[id];\r\n return actionEnsure(context,types.ADM_ACTIVITY_DETAIL_REQUEST,buildStateItem(item,item?5:-5),id)\r\n }\r\n\r\n public [types.ADM_ACTIVITY_SAVE_REQUEST](context: ActionContext,data: AloActivity) {\r\n return payloadAction(context,types.ADM_ACTIVITY_SAVE_REQUEST,types.ADM_ACTIVITY_SAVE_SUCCESS,types.ADM_ACTIVITY_SAVE_ERROR,apiActivity.saveActivity,data) \r\n }\r\n\r\n public [types.ADM_ACTIVITY_DELETE_REQUEST](context: ActionContext,id: number) {\r\n return payloadAction(context,types.ADM_ACTIVITY_DELETE_REQUEST,types.ADM_ACTIVITY_DELETE_SUCCESS,types.ADM_ACTIVITY_DELETE_ERROR,apiActivity.deleteActivity,id) \r\n }\r\n\r\n public [types.ADM_ACTIVITY_RESET_STATUS](context: ActionContext) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ADM_ACTIVITY_RESET_STATUS)\r\n resolve()\r\n })\r\n }\r\n\r\n public [types.ADM_ACTIVITY_SET_LIST](context: ActionContext,list:Array) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ADM_ACTIVITY_SET_LIST,list)\r\n resolve()\r\n })\r\n }\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // FORFAIT\r\n /////////////////////////////////////////////////////////////////\r\n\r\n public [types.ADM_FORFAIT_REQUEST](context: ActionContext) {\r\n return emptyAction(context,types.ADM_FORFAIT_REQUEST,types.ADM_FORFAIT_SUCCESS,types.ADM_FORFAIT_ERROR,apiForfait.getAllForfait) \r\n }\r\n\r\n public [types.ADM_FORFAIT_ENSURE](context: ActionContext) {\r\n return actionEnsure(context,types.ADM_FORFAIT_REQUEST,context.state.forfaitList) \r\n }\r\n\r\n public [types.ADM_FORFAIT_DETAIL_REQUEST](context: ActionContext,id:number) {\r\n return payloadAction(context,types.ADM_FORFAIT_DETAIL_REQUEST,types.ADM_FORFAIT_DETAIL_SUCCESS,types.ADM_FORFAIT_DETAIL_ERROR,apiForfait.getForfait,id)\r\n }\r\n\r\n public [types.ADM_FORFAIT_DETAIL_ENSURE](context: ActionContext,id:number) {\r\n //Hack car le detail n'est pas dans un stateItems\r\n const item = context.state.forfaitDic[id];\r\n return actionEnsure(context,types.ADM_FORFAIT_DETAIL_REQUEST,buildStateItem(item,item?5:-5),id)\r\n }\r\n\r\n public [types.ADM_FORFAIT_SAVE_REQUEST](context: ActionContext,data: AloForfait) {\r\n return payloadAction(context,types.ADM_FORFAIT_SAVE_REQUEST,types.ADM_FORFAIT_SAVE_SUCCESS,types.ADM_FORFAIT_SAVE_ERROR,apiForfait.saveForfait,data) \r\n }\r\n\r\n public [types.ADM_FORFAIT_DELETE_REQUEST](context: ActionContext,id: number) {\r\n return payloadAction(context,types.ADM_FORFAIT_DELETE_REQUEST,types.ADM_FORFAIT_DELETE_SUCCESS,types.ADM_FORFAIT_DELETE_ERROR,apiForfait.deleteForfait,id) \r\n }\r\n\r\n public [types.ADM_FORFAIT_RESET_STATUS](context: ActionContext) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ADM_FORFAIT_RESET_STATUS)\r\n resolve()\r\n })\r\n }\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // MNS\r\n /////////////////////////////////////////////////////////////////\r\n\r\n public [types.ADM_MNS_REQUEST](context: ActionContext) {\r\n return emptyAction(context,types.ADM_MNS_REQUEST,types.ADM_MNS_SUCCESS,types.ADM_MNS_ERROR,apiMns.getAllMns) \r\n }\r\n\r\n public [types.ADM_MNS_ENSURE](context: ActionContext) {\r\n return actionEnsure(context,types.ADM_MNS_REQUEST,context.state.mnsList) \r\n }\r\n\r\n public [types.ADM_MNS_DETAIL_REQUEST](context: ActionContext,id:number) {\r\n return payloadAction(context,types.ADM_MNS_DETAIL_REQUEST,types.ADM_MNS_DETAIL_SUCCESS,types.ADM_MNS_DETAIL_ERROR,apiMns.getMns,id)\r\n }\r\n\r\n public [types.ADM_MNS_DETAIL_ENSURE](context: ActionContext,id:number) {\r\n //Hack car le detail n'est pas dans un stateItems\r\n const item = context.state.mnsDic[id];\r\n return actionEnsure(context,types.ADM_MNS_DETAIL_REQUEST,buildStateItem(item,item?5:-5),id)\r\n }\r\n\r\n public [types.ADM_MNS_SAVE_REQUEST](context: ActionContext,data: AloMns) {\r\n return payloadAction(context,types.ADM_MNS_SAVE_REQUEST,types.ADM_MNS_SAVE_SUCCESS,types.ADM_MNS_SAVE_ERROR,apiMns.saveMns,data) \r\n }\r\n\r\n public [types.ADM_MNS_DELETE_REQUEST](context: ActionContext,id: number) {\r\n return payloadAction(context,types.ADM_MNS_DELETE_REQUEST,types.ADM_MNS_DELETE_SUCCESS,types.ADM_MNS_DELETE_ERROR,apiMns.deleteMns,id) \r\n }\r\n\r\n public [types.ADM_MNS_RESET_STATUS](context: ActionContext) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ADM_MNS_RESET_STATUS)\r\n resolve()\r\n })\r\n }\r\n\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // CONTACT\r\n /////////////////////////////////////////////////////////////////\r\n\r\n public [types.ADM_CONTACT_REQUEST](context: ActionContext,dates:Array) {\r\n return dates && dates.length == 2?\r\n payloadAction(context,types.ADM_CONTACT_REQUEST,types.ADM_CONTACT_SUCCESS,types.ADM_CONTACT_ERROR,apiContact.getFilterContact,dates) \r\n :emptyAction(context,types.ADM_CONTACT_REQUEST,types.ADM_CONTACT_SUCCESS,types.ADM_CONTACT_ERROR,apiContact.getAllContact) \r\n }\r\n\r\n public [types.ADM_CONTACT_ENSURE](context: ActionContext) {\r\n return actionEnsure(context,types.ADM_CONTACT_REQUEST,context.state.contactList) \r\n }\r\n\r\n public [types.ADM_CONTACT_DETAIL_REQUEST](context: ActionContext,id:number) {\r\n return payloadAction(context,types.ADM_CONTACT_DETAIL_REQUEST,types.ADM_CONTACT_DETAIL_SUCCESS,types.ADM_CONTACT_DETAIL_ERROR,apiContact.getContact,id)\r\n }\r\n\r\n public [types.ADM_CONTACT_DETAIL_ENSURE](context: ActionContext,id:number) {\r\n //Hack car le detail n'est pas dans un stateItems\r\n const item = context.state.contactDic[id];\r\n return actionEnsure(context,types.ADM_CONTACT_DETAIL_REQUEST,buildStateItem(item,item?5:-5),id)\r\n }\r\n\r\n public [types.ADM_CONTACT_MIN_DATE_REQUEST](context: ActionContext) {\r\n return emptyAction(context,types.ADM_CONTACT_MIN_DATE_REQUEST,types.ADM_CONTACT_MIN_DATE_SUCCESS,types.ADM_CONTACT_MIN_DATE_ERROR,apiContact.getMinDate)\r\n }\r\n \r\n public [types.ADM_CONTACT_MIN_DATE_ENSURE](context: ActionContext) {\r\n //Hack car pas de stateItems\r\n const minDate = context.state.contactMinDate \r\n return actionEnsure(context,types.ADM_CONTACT_MIN_DATE_REQUEST,buildStateItem(minDate,minDate?5:-5))\r\n }\r\n\r\n public [types.ADM_CONTACT_SAVE_REQUEST](context: ActionContext,data: AloContact) {\r\n return payloadAction(context,types.ADM_CONTACT_SAVE_REQUEST,types.ADM_CONTACT_SAVE_SUCCESS,types.ADM_CONTACT_SAVE_ERROR,apiContact.saveContact,data) \r\n }\r\n\r\n public [types.ADM_CONTACT_DELETE_REQUEST](context: ActionContext,id: number) {\r\n return payloadAction(context,types.ADM_CONTACT_DELETE_REQUEST,types.ADM_CONTACT_DELETE_SUCCESS,types.ADM_CONTACT_DELETE_ERROR,apiContact.deleteContact,id) \r\n }\r\n\r\n public [types.ADM_CONTACT_RESET_STATUS](context: ActionContext) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ADM_CONTACT_RESET_STATUS)\r\n resolve()\r\n })\r\n }\r\n\r\n public [types.ADM_CONTACT_SET_SELECTION](context: ActionContext,{selected,ids}:{selected:boolean,ids:Array}) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ADM_CONTACT_SET_SELECTION,{selected,ids})\r\n resolve()\r\n })\r\n }\r\n \r\n public [types.ADM_CONTACT_ACTION_ON_SELECTION_REQUEST](context: ActionContext,payload:{conIds:Array,action:string,data?:any}) {\r\n return payloadAction(context,types.ADM_CONTACT_ACTION_ON_SELECTION_REQUEST,types.ADM_CONTACT_ACTION_ON_SELECTION_SUCCESS,types.ADM_CONTACT_ACTION_ON_SELECTION_ERROR,apiContact.executeActionOnSelection,payload,CommitAction.listAndDic,true) \r\n }\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // NEWSLETTER\r\n /////////////////////////////////////////////////////////////////\r\n\r\n public [types.ADM_NEWSLETTER_REQUEST](context: ActionContext) {\r\n return emptyAction(context,types.ADM_NEWSLETTER_REQUEST,types.ADM_NEWSLETTER_SUCCESS,types.ADM_NEWSLETTER_ERROR,apiNewsletter.getAllNewsletter) \r\n }\r\n\r\n public [types.ADM_NEWSLETTER_ENSURE](context: ActionContext) {\r\n return actionEnsure(context,types.ADM_NEWSLETTER_REQUEST,context.state.newsletterList) \r\n }\r\n\r\n public [types.ADM_NEWSLETTER_DETAIL_REQUEST](context: ActionContext,id:number) {\r\n return payloadAction(context,types.ADM_NEWSLETTER_DETAIL_REQUEST,types.ADM_NEWSLETTER_DETAIL_SUCCESS,types.ADM_NEWSLETTER_DETAIL_ERROR,apiNewsletter.getNewsletter,id)\r\n }\r\n\r\n public [types.ADM_NEWSLETTER_DETAIL_ENSURE](context: ActionContext,id:number) {\r\n //Hack car le detail n'est pas dans un stateItems\r\n const item = context.state.newsletterDic[id];\r\n return actionEnsure(context,types.ADM_NEWSLETTER_DETAIL_REQUEST,buildStateItem(item,item?5:-5),id)\r\n }\r\n\r\n public [types.ADM_NEWSLETTER_SAVE_REQUEST](context: ActionContext,data: AloNewsletter) {\r\n return payloadAction(context,types.ADM_NEWSLETTER_SAVE_REQUEST,types.ADM_NEWSLETTER_SAVE_SUCCESS,types.ADM_NEWSLETTER_SAVE_ERROR,apiNewsletter.saveNewsletter,data) \r\n }\r\n\r\n public [types.ADM_NEWSLETTER_DELETE_REQUEST](context: ActionContext,id: number) {\r\n return payloadAction(context,types.ADM_NEWSLETTER_DELETE_REQUEST,types.ADM_NEWSLETTER_DELETE_SUCCESS,types.ADM_NEWSLETTER_DELETE_ERROR,apiNewsletter.deleteNewsletter,id) \r\n }\r\n\r\n public [types.ADM_NEWSLETTER_RESET_STATUS](context: ActionContext) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ADM_NEWSLETTER_RESET_STATUS)\r\n resolve()\r\n })\r\n }\r\n\r\n public [types.ADM_NEWSLETTER_VALID_REQUEST](context: ActionContext,key:string) {\r\n return payloadAction(context,types.ADM_NEWSLETTER_VALID_REQUEST,types.ADM_NEWSLETTER_VALID_SUCCESS,types.ADM_NEWSLETTER_VALID_ERROR,apiNewsletter.validNewsletter,key) \r\n }\r\n\r\n public [types.ADM_NEWSLETTER_SET_SELECTION](context: ActionContext,{selected,ids}:{selected:boolean,ids:Array}) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ADM_NEWSLETTER_SET_SELECTION,{selected,ids})\r\n resolve()\r\n })\r\n }\r\n \r\n public [types.ADM_NEWSLETTER_ACTION_ON_SELECTION_REQUEST](context: ActionContext,payload:{nwlIds:Array,action:string,data?:any}) {\r\n return payloadAction(context,types.ADM_NEWSLETTER_ACTION_ON_SELECTION_REQUEST,types.ADM_NEWSLETTER_ACTION_ON_SELECTION_SUCCESS,types.ADM_NEWSLETTER_ACTION_ON_SELECTION_ERROR,apiNewsletter.executeActionOnSelection,payload,CommitAction.listAndDic,true) \r\n }\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // COURS\r\n /////////////////////////////////////////////////////////////////\r\n\r\n public [types.ADM_COURS_REQUEST](context: ActionContext,crsFilter:AlsCours|null) {\r\n return crsFilter?\r\n payloadAction(context,types.ADM_COURS_REQUEST,types.ADM_COURS_SUCCESS,types.ADM_COURS_ERROR,apiCours.getFilterCours,crsFilter,crsFilter.commit)\r\n :emptyAction(context,types.ADM_COURS_REQUEST,types.ADM_COURS_SUCCESS,types.ADM_COURS_ERROR,apiCours.getAllCours) \r\n }\r\n\r\n public [types.ADM_COURS_ENSURE](context: ActionContext) {\r\n return actionEnsure(context,types.ADM_COURS_REQUEST,context.state.coursList) \r\n }\r\n\r\n public [types.ADM_COURS_DETAIL_REQUEST](context: ActionContext,id:number) {\r\n return payloadAction(context,types.ADM_COURS_DETAIL_REQUEST,types.ADM_COURS_DETAIL_SUCCESS,types.ADM_COURS_DETAIL_ERROR,apiCours.getCours,id)\r\n }\r\n\r\n public [types.ADM_COURS_DETAIL_ENSURE](context: ActionContext,id:number) {\r\n //Hack car le detail n'est pas dans un stateItems\r\n const item = context.state.coursDic[id];\r\n return actionEnsure(context,types.ADM_COURS_DETAIL_REQUEST,buildStateItem(item,item?5:-5),id)\r\n } \r\n\r\n public [types.ADM_COURS_SAVE_REQUEST](context: ActionContext,data: AloCours) {\r\n return payloadAction(context,types.ADM_COURS_SAVE_REQUEST,types.ADM_COURS_SAVE_SUCCESS,types.ADM_COURS_SAVE_ERROR,apiCours.saveCours,data) \r\n }\r\n\r\n public [types.ADM_COURS_CREATE_REQUEST](context: ActionContext,data: AloCours) {\r\n return payloadAction(context,types.ADM_COURS_SAVE_REQUEST,types.ADM_COURS_SAVE_SUCCESS,types.ADM_COURS_SAVE_ERROR,apiCours.saveCours,data,CommitAction.dicOnly) \r\n }\r\n\r\n public [types.ADM_COURS_CREATE_RANGE_REQUEST](context: ActionContext,data: Array) {\r\n return payloadAction(context,types.ADM_COURS_SAVE_REQUEST,types.ADM_COURS_CREATE_RANGE_SUCCESS,types.ADM_COURS_SAVE_ERROR,apiCours.addRange,data) \r\n }\r\n\r\n public [types.ADM_COURS_DELETE_REQUEST](context: ActionContext,id: number) {\r\n return payloadAction(context,types.ADM_COURS_DELETE_REQUEST,types.ADM_COURS_DELETE_SUCCESS,types.ADM_COURS_DELETE_ERROR,apiCours.deleteCours,id) \r\n }\r\n\r\n public [types.ADM_COURS_RESET_STATUS](context: ActionContext) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ADM_COURS_RESET_STATUS)\r\n resolve()\r\n })\r\n }\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // COMMANDE\r\n /////////////////////////////////////////////////////////////////\r\n public [types.ADM_COMMANDE_REQUEST](context: ActionContext,dates:Array) {\r\n return dates && dates.length == 2?\r\n payloadAction(context,types.ADM_COMMANDE_REQUEST,types.ADM_COMMANDE_SUCCESS,types.ADM_COMMANDE_ERROR,apiCommande.getFilterCommande,dates) \r\n :emptyAction(context,types.ADM_COMMANDE_REQUEST,types.ADM_COMMANDE_SUCCESS,types.ADM_COMMANDE_ERROR,apiCommande.getAllCommande) \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 public [types.ADM_COMMANDE_MIN_DATE_REQUEST](context: ActionContext) {\r\n return emptyAction(context,types.ADM_COMMANDE_MIN_DATE_REQUEST,types.ADM_COMMANDE_MIN_DATE_SUCCESS,types.ADM_COMMANDE_MIN_DATE_ERROR,apiCommande.getMinDate)\r\n }\r\n \r\n public [types.ADM_COMMANDE_MIN_DATE_ENSURE](context: ActionContext) {\r\n //Hack car pas de stateItems\r\n const minDate = context.state.commandeMinDate \r\n return actionEnsure(context,types.ADM_COMMANDE_MIN_DATE_REQUEST,buildStateItem(minDate,minDate?5:-5))\r\n }\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // FAMILY\r\n /////////////////////////////////////////////////////////////////\r\n\r\n public [types.ADM_FAMILY_REQUEST](context: ActionContext) {\r\n return emptyAction(context,types.ADM_FAMILY_REQUEST,types.ADM_FAMILY_SUCCESS,types.ADM_FAMILY_ERROR,apiFamily.getAllFamily) \r\n }\r\n\r\n public [types.ADM_FAMILY_ENSURE](context: ActionContext) {\r\n return actionEnsure(context,types.ADM_FAMILY_REQUEST,context.state.familyList) \r\n }\r\n\r\n public [types.ADM_FAMILY_DETAIL_REQUEST](context: ActionContext,id:number) {\r\n return payloadAction(context,types.ADM_FAMILY_DETAIL_REQUEST,types.ADM_FAMILY_DETAIL_SUCCESS,types.ADM_FAMILY_DETAIL_ERROR,apiFamily.getFamily,id)\r\n }\r\n\r\n public [types.ADM_FAMILY_DETAIL_ENSURE](context: ActionContext,id:number) {\r\n //Hack car le detail n'est pas dans un stateItems\r\n const item = context.state.familyDic[id];\r\n return actionEnsure(context,types.ADM_FAMILY_DETAIL_REQUEST,buildStateItem(item,item?5:-5),id)\r\n }\r\n\r\n public [types.ADM_FAMILY_SAVE_REQUEST](context: ActionContext,data: AloFamily) {\r\n return payloadAction(context,types.ADM_FAMILY_SAVE_REQUEST,types.ADM_FAMILY_SAVE_SUCCESS,types.ADM_FAMILY_SAVE_ERROR,apiFamily.saveFamily,data) \r\n }\r\n\r\n public [types.ADM_FAMILY_DELETE_REQUEST](context: ActionContext,id: number) {\r\n return payloadAction(context,types.ADM_FAMILY_DELETE_REQUEST,types.ADM_FAMILY_DELETE_SUCCESS,types.ADM_FAMILY_DELETE_ERROR,apiFamily.deleteFamily,id) \r\n }\r\n\r\n public [types.ADM_FAMILY_RESET_STATUS](context: ActionContext) {\r\n return new Promise((resolve, reject) => {\r\n context.commit(types.ADM_FAMILY_RESET_STATUS)\r\n resolve()\r\n })\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 public configuration(state: IAdministrationState) {\r\n return state.configuration\r\n }\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 // 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 // PISCINE\r\n /////////////////////////////////////////////////////////////////\r\n public piscineStatus(state: IAdministrationState) {\r\n return state.piscineStatus\r\n }\r\n public piscineDic(state: IAdministrationState) {\r\n return state.piscineDic\r\n }\r\n public piscineList(state:IAdministrationState){\r\n return state.piscineList.item.map( id => state.piscineDic[id] ).sort((a,b) => a.libelle.localeCompare(b.libelle) )\r\n } \r\n \r\n //////////////////////////////////////////////////////////////////\r\n // ACTIVITY\r\n /////////////////////////////////////////////////////////////////\r\n public activityStatus(state: IAdministrationState) {\r\n return state.activityStatus\r\n }\r\n public activityDic(state: IAdministrationState) {\r\n return state.activityDic\r\n }\r\n public activityList(state:IAdministrationState){\r\n return state.activityList.item.map( id => state.activityDic[id] ) //.sort((a,b) => a.libelle.localeCompare(b.libelle) )\r\n } \r\n\r\n //////////////////////////////////////////////////////////////////\r\n // FORFAIT\r\n /////////////////////////////////////////////////////////////////\r\n public forfaitStatus(state: IAdministrationState) {\r\n return state.forfaitStatus\r\n }\r\n public forfaitDic(state: IAdministrationState) {\r\n return state.forfaitDic\r\n }\r\n public forfaitList(state:IAdministrationState){\r\n return state.forfaitList.item.map( id => state.forfaitDic[id] ).sort((a,b) => a.libelle.localeCompare(b.libelle) )\r\n } \r\n\r\n //////////////////////////////////////////////////////////////////\r\n // MNS\r\n /////////////////////////////////////////////////////////////////\r\n public mnsStatus(state: IAdministrationState) {\r\n return state.mnsStatus\r\n }\r\n public mnsDic(state: IAdministrationState) {\r\n return state.mnsDic\r\n }\r\n public mnsList(state:IAdministrationState){\r\n return state.mnsList.item.map( id => state.mnsDic[id] ).sort((a,b) => a.libelle.localeCompare(b.libelle) )\r\n } \r\n\r\n //////////////////////////////////////////////////////////////////\r\n // CONTACT\r\n /////////////////////////////////////////////////////////////////\r\n public contactStatus(state: IAdministrationState) {\r\n return state.contactStatus\r\n }\r\n public contactDic(state: IAdministrationState) {\r\n return state.contactDic\r\n }\r\n public contactList(state:IAdministrationState){\r\n return state.contactList.item.map( id => state.contactDic[id] )\r\n } \r\n public contactMinDate(state:IAdministrationState){\r\n if(state.contactMinDate && state.contactMinDate != '0001-01-01T00:00:00'){ \r\n const mindate = new Date(state.contactMinDate) \r\n const minYear = new Date().getFullYear() - 50;\r\n return (mindate.getFullYear() < minYear)?new Date(`${minYear}-01-01`):mindate\r\n }\r\n return new Date()\r\n } \r\n \r\n //////////////////////////////////////////////////////////////////\r\n // NEWSLETTER\r\n /////////////////////////////////////////////////////////////////\r\n public newsletterStatus(state: IAdministrationState) {\r\n return state.newsletterStatus\r\n }\r\n public newsletterDic(state: IAdministrationState) {\r\n return state.newsletterDic\r\n }\r\n public newsletterList(state:IAdministrationState){\r\n return state.newsletterList.item.map( id => state.newsletterDic[id] ).sort((a,b) => a.libelle.localeCompare(b.libelle) )\r\n } \r\n\r\n //////////////////////////////////////////////////////////////////\r\n // COURS\r\n /////////////////////////////////////////////////////////////////\r\n public coursStatus(state: IAdministrationState) {\r\n return state.coursStatus\r\n }\r\n public coursDic(state: IAdministrationState) {\r\n return state.coursDic\r\n }\r\n public coursList(state:IAdministrationState){\r\n return state.coursList.item.map( id => state.coursDic[id] ).sort((a,b) => a.libelle.localeCompare(b.libelle) )\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] )//.sort((a,b) => a.libelle.localeCompare(b.libelle) )\r\n } \r\n public commandeMinDate(state:IAdministrationState){\r\n if(state.commandeMinDate && state.commandeMinDate != '0001-01-01T00:00:00'){ \r\n const mindate = new Date(state.commandeMinDate) \r\n const minYear = new Date().getFullYear() - 50;\r\n return (mindate.getFullYear() < minYear)?new Date(`${minYear}-01-01`):mindate\r\n }\r\n return new Date()\r\n } \r\n\r\n //////////////////////////////////////////////////////////////////\r\n // FAMILY\r\n /////////////////////////////////////////////////////////////////\r\n public familyStatus(state: IAdministrationState) {\r\n return state.familyStatus\r\n }\r\n public familyDic(state: IAdministrationState) {\r\n return state.familyDic\r\n }\r\n public familyList(state:IAdministrationState){\r\n return state.familyList.item.map( id => state.familyDic[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 { toNumberDictionary } from '@/utils/groupBy'\r\nimport { buildStateItem } from '@/models/alo/StateItem'\r\nimport { AloUser, getDefaultAloUser } from '@/models/alo/AloUser'\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 { AloPiscine, getDefaultAloPiscine } from '@/models/alo/AloPiscine'\r\nimport { AloActivity, getDefaultAloActivity } from '@/models/alo/AloActivity'\r\nimport { AloForfait, getDefaultAloForfait } from '@/models/alo/AloForfait'\r\nimport { AloMns, getDefaultAloMns } from '@/models/alo/AloMns'\r\nimport { AloContact, getDefaultAloContact } from '@/models/alo/AloContact'\r\nimport { AloNewsletter, getDefaultAloNewsletter } from '@/models/alo/AloNewsletter'\r\nimport { AloCours, getDefaultAloCours } from '@/models/alo/AloCours'\r\nimport { AloCommande, getDefaultAloCommande } from '@/models/alo/AloCommande'\r\nimport { AloFamily, getDefaultAloFamily } from '@/models/alo/AloFamily'\r\n\r\n\r\n\r\n\r\nconst mutations: MutationTree = {\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,message:string) => { \r\n state.userStatus = message ?? '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,message:string) => { \r\n state.userStatus = message ?? '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,message:string) => { \r\n state.userStatus = message ?? \"Erreur lors de la sauvegarde de user\"\r\n }, \r\n [types.ADM_USER_SAVE_MEMBER_REQUEST]: state => { \r\n state.userStatus = \"Sauvegarde de user\"\r\n },\r\n [types.ADM_USER_SAVE_MEMBER_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 //mise à jour de la famille si présente\r\n const fam = state.familyDic[user.famId!];\r\n if(fam && fam.detailLoaded) {\r\n const idx = fam.membres.findIndex(m => m.id == user.id)\r\n if(idx >= 0) fam.membres.splice(idx,1,user)\r\n else fam.membres.push(user)\r\n }\r\n },\r\n [types.ADM_USER_SAVE_MEMBER_ERROR]: (state, message:string) => { \r\n state.userStatus = message ?? \"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,message:string) => { \r\n state.userStatus = message ?? \"Erreur lors de la Suppression de user\"\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,message:string) => { \r\n state.mailTemplateStatus = message ?? '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,message:string) => { \r\n state.mailTemplateStatus = message??'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,message:string) => { \r\n state.mailTemplateStatus = message??\"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,message:string) => { \r\n state.mailTemplateStatus = message??\"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,message:string) => { \r\n state.mailSkinStatus = message??'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,message:string) => { \r\n state.mailSkinStatus = message??'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,message:string) => { \r\n state.mailSkinStatus = message??\"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,message:string) => { \r\n state.mailSkinStatus = message??\"Erreur lors de la Suppression de mailSkin\"\r\n },\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // PISCINE\r\n /////////////////////////////////////////////////////////////////\r\n\r\n [types.ADM_PISCINE_REQUEST]: state => { \r\n state.piscineStatus = 'Chargement des piscine'\r\n },\r\n [types.ADM_PISCINE_SUCCESS]: (state, piscine:Array) => { \r\n state.piscineDic = {...state.piscineDic, ...toNumberDictionary(piscine,f => f.id,getDefaultAloPiscine)}\r\n state.piscineList = buildStateItem(piscine.map(f => f.id))\r\n state.piscineStatus = 'Chargement des piscine terminé'\r\n },\r\n [types.ADM_PISCINE_ERROR]: (state,message:string) => { \r\n state.piscineStatus = message??'Erreur lors du chargement des piscine'\r\n },\r\n [types.ADM_PISCINE_DETAIL_REQUEST]: state => { \r\n state.piscineStatus = \"Chargement du detail de piscine\"\r\n },\r\n [types.ADM_PISCINE_DETAIL_SUCCESS]: (state, piscine:AloPiscine) => { \r\n Vue.set(state.piscineDic,piscine.id,{...getDefaultAloPiscine(),...piscine})\r\n state.piscineStatus = 'Chargement du detail piscine terminé'\r\n },\r\n [types.ADM_PISCINE_DETAIL_ERROR]: (state,message:string) => { \r\n state.piscineStatus = message??'Erreur lors du chargement du detail piscine'\r\n },\r\n [types.ADM_PISCINE_SAVE_REQUEST]: state => { \r\n state.piscineStatus = \"Sauvegarde de piscine\"\r\n },\r\n [types.ADM_PISCINE_SAVE_SUCCESS]: (state, piscine:AloPiscine) => { \r\n Vue.set(state.piscineDic,piscine.id,{...getDefaultAloPiscine(),...piscine})\r\n //si l'id n'est pas dans la liste alors on l'ajoute\r\n if(state.piscineList.item.findIndex(n => n == piscine.id) == -1) state.piscineList.item.push(piscine.id)\r\n state.piscineStatus = \"Sauvegarde de piscine terminée\"\r\n },\r\n [types.ADM_PISCINE_SAVE_ERROR]: (state,message:string) => { \r\n state.piscineStatus = message??\"Erreur lors de la sauvegarde de piscine\"\r\n }, \r\n [types.ADM_PISCINE_RESET_STATUS]: (state) => {\r\n state.piscineStatus = ''\r\n },\r\n [types.ADM_PISCINE_DELETE_REQUEST]: state => { \r\n state.piscineStatus = \"Suppression de piscine\"\r\n },\r\n [types.ADM_PISCINE_DELETE_SUCCESS]: (state, piscine:AloPiscine) => { \r\n const idx = state.piscineList.item.indexOf(piscine.id)\r\n if(idx > -1) state.piscineList.item.splice(idx ,1)\r\n delete state.piscineDic[piscine.id] \r\n state.piscineStatus = \"Suppression de piscine terminée\"\r\n },\r\n [types.ADM_PISCINE_DELETE_ERROR]: (state,message:string) => { \r\n state.piscineStatus = message??\"Erreur lors de la Suppression de piscine\"\r\n },\r\n\r\n ////////////////////////////////////////////////////////////////\r\n // ACTIVITY\r\n /////////////////////////////////////////////////////////////////\r\n\r\n [types.ADM_ACTIVITY_REQUEST]: state => { \r\n state.activityStatus = 'Chargement des activity'\r\n },\r\n [types.ADM_ACTIVITY_SUCCESS]: (state, activity:Array) => { \r\n state.activityDic = {...state.activityDic, ...toNumberDictionary(activity,f => f.id,getDefaultAloActivity)}\r\n state.activityList = buildStateItem(activity.map(f => f.id))\r\n state.activityStatus = 'Chargement des activitéq terminé'\r\n },\r\n [types.ADM_ACTIVITY_ERROR]: (state,message:string) => { \r\n state.activityStatus = message??'Erreur lors du chargement des activités'\r\n },\r\n [types.ADM_ACTIVITY_DETAIL_REQUEST]: state => { \r\n state.activityStatus = \"Chargement du detail de l'activité\"\r\n },\r\n [types.ADM_ACTIVITY_DETAIL_SUCCESS]: (state, activity:AloActivity) => { \r\n Vue.set(state.activityDic,activity.id,{...getDefaultAloActivity(),...activity})\r\n state.activityStatus = \"Chargement du detail de l'activité terminé\"\r\n },\r\n [types.ADM_ACTIVITY_DETAIL_ERROR]: (state,message:string) => { \r\n state.activityStatus = message??\"Erreur lors du chargement du detail de l'activité\"\r\n },\r\n [types.ADM_ACTIVITY_SAVE_REQUEST]: state => { \r\n state.activityStatus = \"Sauvegarde de l'activité\"\r\n },\r\n [types.ADM_ACTIVITY_SAVE_SUCCESS]: (state, activity:AloActivity) => { \r\n Vue.set(state.activityDic,activity.id,{...getDefaultAloActivity(),...activity})\r\n //si l'id n'est pas dans la liste alors on l'ajoute\r\n if(state.activityList.item.findIndex(n => n == activity.id) == -1) state.activityList.item.push(activity.id)\r\n state.activityStatus = \"Sauvegarde de l'activité terminée\"\r\n },\r\n [types.ADM_ACTIVITY_SAVE_ERROR]: (state,message:string) => { \r\n state.activityStatus = message??\"Erreur lors de la sauvegarde de l'activité\"\r\n }, \r\n [types.ADM_ACTIVITY_RESET_STATUS]: (state) => {\r\n state.activityStatus = ''\r\n },\r\n [types.ADM_ACTIVITY_DELETE_REQUEST]: state => { \r\n state.activityStatus = \"Suppression de l'activité\"\r\n },\r\n [types.ADM_ACTIVITY_DELETE_SUCCESS]: (state, activity:AloActivity) => { \r\n const idx = state.activityList.item.indexOf(activity.id)\r\n if(idx > -1) state.activityList.item.splice(idx ,1)\r\n delete state.activityDic[activity.id] \r\n state.activityStatus = \"Suppression de l'activité terminée\"\r\n },\r\n [types.ADM_ACTIVITY_DELETE_ERROR]: (state,message:string) => { \r\n state.activityStatus = message??\"Erreur lors de la Suppression de l'activité\"\r\n }, \r\n [types.ADM_ACTIVITY_SET_LIST]: (state, list:Array) => { \r\n state.activityList.item = list\r\n },\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // FORFAIT\r\n /////////////////////////////////////////////////////////////////\r\n\r\n [types.ADM_FORFAIT_REQUEST]: state => { \r\n state.forfaitStatus = 'Chargement des forfaits'\r\n },\r\n [types.ADM_FORFAIT_SUCCESS]: (state, forfait:Array) => { \r\n state.forfaitDic = {...state.forfaitDic, ...toNumberDictionary(forfait,f => f.id,getDefaultAloForfait)}\r\n state.forfaitList = buildStateItem(forfait.map(f => f.id))\r\n state.forfaitStatus = 'Chargement des forfaits terminé'\r\n },\r\n [types.ADM_FORFAIT_ERROR]: (state,message:string) => { \r\n state.forfaitStatus = message??'Erreur lors du chargement des forfaits'\r\n },\r\n [types.ADM_FORFAIT_DETAIL_REQUEST]: state => { \r\n state.forfaitStatus = \"Chargement du detail de forfait\"\r\n },\r\n [types.ADM_FORFAIT_DETAIL_SUCCESS]: (state, forfait:AloForfait) => { \r\n Vue.set(state.forfaitDic,forfait.id,{...getDefaultAloForfait(),...forfait})\r\n state.forfaitStatus = 'Chargement du detail forfait terminé'\r\n },\r\n [types.ADM_FORFAIT_DETAIL_ERROR]: (state,message:string) => { \r\n state.forfaitStatus = message??'Erreur lors du chargement du detail forfait'\r\n },\r\n [types.ADM_FORFAIT_SAVE_REQUEST]: state => { \r\n state.forfaitStatus = \"Sauvegarde de forfait\"\r\n },\r\n [types.ADM_FORFAIT_SAVE_SUCCESS]: (state, forfait:AloForfait) => { \r\n Vue.set(state.forfaitDic,forfait.id,{...getDefaultAloForfait(),...forfait})\r\n //si l'id n'est pas dans la liste alors on l'ajoute\r\n if(state.forfaitList.item.findIndex(n => n == forfait.id) == -1) state.forfaitList.item.push(forfait.id)\r\n state.forfaitStatus = \"Sauvegarde de forfait terminée\"\r\n },\r\n [types.ADM_FORFAIT_SAVE_ERROR]: (state,message:string) => { \r\n state.forfaitStatus = message??\"Erreur lors de la sauvegarde de forfait\"\r\n }, \r\n [types.ADM_FORFAIT_RESET_STATUS]: (state) => {\r\n state.forfaitStatus = ''\r\n },\r\n [types.ADM_FORFAIT_DELETE_REQUEST]: state => { \r\n state.forfaitStatus = \"Suppression de forfait\"\r\n },\r\n [types.ADM_FORFAIT_DELETE_SUCCESS]: (state, forfait:AloForfait) => { \r\n const idx = state.forfaitList.item.indexOf(forfait.id)\r\n if(idx > -1) state.forfaitList.item.splice(idx ,1)\r\n delete state.forfaitDic[forfait.id] \r\n state.forfaitStatus = \"Suppression de forfait terminée\"\r\n },\r\n [types.ADM_FORFAIT_DELETE_ERROR]: (state,message:string) => { \r\n state.forfaitStatus = message??\"Erreur lors de la Suppression de forfait\"\r\n },\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // MNS\r\n /////////////////////////////////////////////////////////////////\r\n\r\n [types.ADM_MNS_REQUEST]: state => { \r\n state.mnsStatus = 'Chargement des mns'\r\n },\r\n [types.ADM_MNS_SUCCESS]: (state, mns:Array) => { \r\n state.mnsDic = {...state.mnsDic, ...toNumberDictionary(mns,f => f.id,getDefaultAloMns)}\r\n state.mnsList = buildStateItem(mns.map(f => f.id))\r\n state.mnsStatus = 'Chargement des mns terminé'\r\n },\r\n [types.ADM_MNS_ERROR]: (state,message:string) => { \r\n state.mnsStatus = message??'Erreur lors du chargement des mns'\r\n },\r\n [types.ADM_MNS_DETAIL_REQUEST]: state => { \r\n state.mnsStatus = \"Chargement du detail mns\"\r\n },\r\n [types.ADM_MNS_DETAIL_SUCCESS]: (state, mns:AloMns) => { \r\n Vue.set(state.mnsDic,mns.id,{...getDefaultAloMns(),...mns})\r\n state.mnsStatus = 'Chargement du detail mns terminé'\r\n },\r\n [types.ADM_MNS_DETAIL_ERROR]: (state,message:string) => { \r\n state.mnsStatus = message??'Erreur lors du chargement du detail mns'\r\n },\r\n [types.ADM_MNS_SAVE_REQUEST]: state => { \r\n state.mnsStatus = \"Sauvegarde du mns\"\r\n },\r\n [types.ADM_MNS_SAVE_SUCCESS]: (state, mns:AloMns) => { \r\n Vue.set(state.mnsDic,mns.id,{...getDefaultAloMns(),...mns})\r\n //si l'id n'est pas dans la liste alors on l'ajoute\r\n if(state.mnsList.item.findIndex(n => n == mns.id) == -1) state.mnsList.item.push(mns.id)\r\n state.mnsStatus = \"Sauvegarde du mns terminée\"\r\n },\r\n [types.ADM_MNS_SAVE_ERROR]: (state,message:string) => { \r\n state.mnsStatus = message??\"Erreur lors de la sauvegarde du mns\"\r\n }, \r\n [types.ADM_MNS_RESET_STATUS]: (state) => {\r\n state.mnsStatus = ''\r\n },\r\n [types.ADM_MNS_DELETE_REQUEST]: state => { \r\n state.mnsStatus = \"Suppression du mns\"\r\n },\r\n [types.ADM_MNS_DELETE_SUCCESS]: (state, mns:AloMns) => { \r\n const idx = state.mnsList.item.indexOf(mns.id)\r\n if(idx > -1) state.mnsList.item.splice(idx ,1)\r\n delete state.mnsDic[mns.id] \r\n state.mnsStatus = \"Suppression du mns terminée\"\r\n },\r\n [types.ADM_MNS_DELETE_ERROR]: (state,message:string) => { \r\n state.mnsStatus = message??\"Erreur lors de la Suppression du mns\"\r\n },\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // CONTACT\r\n /////////////////////////////////////////////////////////////////\r\n\r\n [types.ADM_CONTACT_REQUEST]: state => { \r\n state.contactStatus = 'Chargement des contact'\r\n },\r\n [types.ADM_CONTACT_SUCCESS]: (state, contact:Array) => { \r\n state.contactDic = {...state.contactDic, ...toNumberDictionary(contact,f => f.id,getDefaultAloContact)}\r\n state.contactList = buildStateItem(contact.map(f => f.id))\r\n state.contactStatus = 'Chargement des contact terminé'\r\n },\r\n [types.ADM_CONTACT_ERROR]: (state,message:string) => { \r\n state.contactStatus = message??'Erreur lors du chargement des contact'\r\n },\r\n [types.ADM_CONTACT_DETAIL_REQUEST]: state => { \r\n state.contactStatus = \"Chargement du detail de contact\"\r\n },\r\n [types.ADM_CONTACT_DETAIL_SUCCESS]: (state, contact:AloContact) => { \r\n Vue.set(state.contactDic,contact.id,{...getDefaultAloContact(),...contact})\r\n state.contactStatus = 'Chargement du detail contact terminé'\r\n },\r\n [types.ADM_CONTACT_DETAIL_ERROR]: (state,message:string) => { \r\n state.contactStatus = message??'Erreur lors du chargement du detail contact'\r\n },\r\n [types.ADM_CONTACT_SAVE_REQUEST]: state => { \r\n state.contactStatus = \"Sauvegarde de contact\"\r\n },\r\n [types.ADM_CONTACT_SAVE_SUCCESS]: (state, contact:AloContact) => { \r\n Vue.set(state.contactDic,contact.id,{...getDefaultAloContact(),...contact})\r\n //si l'id n'est pas dans la liste alors on l'ajoute\r\n if(state.contactList.item.findIndex(n => n == contact.id) == -1) state.contactList.item.push(contact.id)\r\n state.contactStatus = \"Sauvegarde de contact terminée\"\r\n },\r\n [types.ADM_CONTACT_SAVE_ERROR]: (state,message:string) => { \r\n state.contactStatus = message??\"Erreur lors de la sauvegarde de contact\"\r\n }, \r\n [types.ADM_CONTACT_RESET_STATUS]: (state) => {\r\n state.contactStatus = ''\r\n },\r\n [types.ADM_CONTACT_DELETE_REQUEST]: state => { \r\n state.contactStatus = \"Suppression de contact\"\r\n },\r\n [types.ADM_CONTACT_DELETE_SUCCESS]: (state, contact:AloContact) => { \r\n const idx = state.contactList.item.indexOf(contact.id)\r\n if(idx > -1) state.contactList.item.splice(idx ,1)\r\n delete state.contactDic[contact.id] \r\n state.contactStatus = \"Suppression de contact terminée\"\r\n },\r\n [types.ADM_CONTACT_DELETE_ERROR]: (state,message:string) => { \r\n state.contactStatus = message??\"Erreur lors de la Suppression de contact\"\r\n },\r\n [types.ADM_CONTACT_MIN_DATE_REQUEST]: state => { \r\n state.contactStatus = \"Recuperation min date des contacts\"\r\n },\r\n [types.ADM_CONTACT_MIN_DATE_SUCCESS]: (state, minDate:string) => { \r\n state.contactMinDate = minDate\r\n state.contactStatus = \"Recuperation min date des contacts terminée\"\r\n },\r\n [types.ADM_CONTACT_MIN_DATE_ERROR]: (state,message:string) => { \r\n state.contactStatus = message??\"Erreur lors de la recuperation min date des contacts\"\r\n }, \r\n [types.ADM_CONTACT_ACTION_ON_SELECTION_REQUEST]: (state,payload:{conIds:Array,action:string,data:string}) => { \r\n state.contactStatus = `Execution de l'action ${payload.action} sur la selection`\r\n },\r\n [types.ADM_CONTACT_ACTION_ON_SELECTION_SUCCESS]: (state, param:{item:Array,payload:{conIds:Array,action:string,data:string}}) => { \r\n state.contactStatus = `Execution de l'action ${param.payload.action} sur la selection terminée`\r\n state.contactDic = {...state.contactDic, ...toNumberDictionary(param.item.map(it => {return {...it,selected:state.contactDic[it.id].selected}}),f => f.id,getDefaultAloContact)} \r\n },\r\n [types.ADM_CONTACT_ACTION_ON_SELECTION_ERROR]: (state,payload:{conIds:Array,action:string,data:string}) => { \r\n state.contactStatus = `Erreur lors l'execution de l'action ${payload.action} sur la selection`\r\n },\r\n [types.ADM_CONTACT_SET_SELECTION]: (state,{selected,ids}:{selected:boolean,ids:Array}) => { \r\n //on reconstruit comme ca et non en foreach car plus performant sur la reactivité \r\n state.contactDic = {\r\n ...state.contactDic,\r\n ...ids.reduce((dic,id)=> {\r\n dic[id] = {...state.contactDic[id],selected}\r\n return dic\r\n },{} as {[id:number]:AloContact\r\n }) \r\n } \r\n },\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // NEWSLETTER\r\n /////////////////////////////////////////////////////////////////\r\n\r\n [types.ADM_NEWSLETTER_REQUEST]: state => { \r\n state.newsletterStatus = 'Chargement des inscriptions newsletter'\r\n },\r\n [types.ADM_NEWSLETTER_SUCCESS]: (state, newsletter:Array) => { \r\n state.newsletterDic = {...state.newsletterDic, ...toNumberDictionary(newsletter,f => f.id,getDefaultAloNewsletter)}\r\n state.newsletterList = buildStateItem(newsletter.map(f => f.id))\r\n state.newsletterStatus = 'Chargement des inscriptions newsletter terminé'\r\n },\r\n [types.ADM_NEWSLETTER_ERROR]: (state,message:string) => { \r\n state.newsletterStatus = message??'Erreur lors du chargement des inscriptions newsletter'\r\n },\r\n [types.ADM_NEWSLETTER_DETAIL_REQUEST]: state => { \r\n state.newsletterStatus = \"Chargement du detail de l'inscription newsletter\"\r\n },\r\n [types.ADM_NEWSLETTER_DETAIL_SUCCESS]: (state, newsletter:AloNewsletter) => { \r\n Vue.set(state.newsletterDic,newsletter.id,{...getDefaultAloNewsletter(),...newsletter})\r\n state.newsletterStatus = \"Chargement du detail de l'inscription newsletter terminé\"\r\n },\r\n [types.ADM_NEWSLETTER_DETAIL_ERROR]: (state,message:string) => { \r\n state.newsletterStatus = message??\"Erreur lors du chargement du detail de l'inscription newsletter\"\r\n },\r\n [types.ADM_NEWSLETTER_SAVE_REQUEST]: state => { \r\n state.newsletterStatus = \"Sauvegarde de l'inscription newsletter\"\r\n },\r\n [types.ADM_NEWSLETTER_SAVE_SUCCESS]: (state, newsletter:AloNewsletter) => { \r\n Vue.set(state.newsletterDic,newsletter.id,{...getDefaultAloNewsletter(),...newsletter})\r\n //si l'id n'est pas dans la liste alors on l'ajoute\r\n if(state.newsletterList.item.findIndex(n => n == newsletter.id) == -1) state.newsletterList.item.push(newsletter.id)\r\n state.newsletterStatus = \"Sauvegarde de l'inscription newsletter terminée\"\r\n },\r\n [types.ADM_NEWSLETTER_SAVE_ERROR]: (state,message:string) => { \r\n state.newsletterStatus = message??\"Erreur lors de la sauvegarde de l'inscription newsletter\"\r\n }, \r\n [types.ADM_NEWSLETTER_RESET_STATUS]: (state) => {\r\n state.newsletterStatus = ''\r\n },\r\n [types.ADM_NEWSLETTER_DELETE_REQUEST]: state => { \r\n state.newsletterStatus = \"Suppression de l'inscription newsletter\"\r\n },\r\n [types.ADM_NEWSLETTER_DELETE_SUCCESS]: (state, newsletter:AloNewsletter) => { \r\n const idx = state.newsletterList.item.indexOf(newsletter.id)\r\n if(idx > -1) state.newsletterList.item.splice(idx ,1)\r\n delete state.newsletterDic[newsletter.id] \r\n state.newsletterStatus = \"Suppression de l'inscription newsletter terminée\"\r\n },\r\n [types.ADM_NEWSLETTER_DELETE_ERROR]: (state,message:string) => { \r\n state.newsletterStatus = message??\"Erreur lors de la Suppression de l'inscription de newsletter\"\r\n },\r\n [types.ADM_NEWSLETTER_VALID_REQUEST]: state => { \r\n state.newsletterStatus = \"Demande de validation newsletter\"\r\n },\r\n [types.ADM_NEWSLETTER_VALID_SUCCESS]: (state, newsletter:AloNewsletter) => { \r\n state.newsletterStatus = \"Demande de validation newsletter terminée\"\r\n },\r\n [types.ADM_NEWSLETTER_VALID_ERROR]: (state,message:string) => { \r\n state.newsletterStatus = message??\"Erreur lors de la demande de validation newsletter\"\r\n }, \r\n [types.ADM_NEWSLETTER_ACTION_ON_SELECTION_REQUEST]: (state,payload:{nwlIds:Array,action:string,data:string}) => { \r\n state.newsletterStatus = `Execution de l'action ${payload.action} sur la selection`\r\n },\r\n [types.ADM_NEWSLETTER_ACTION_ON_SELECTION_SUCCESS]: (state, param:{item:Array,payload:{nwlIds:Array,action:string,data:string}}) => { \r\n state.newsletterStatus = `Execution de l'action ${param.payload.action} sur la selection terminée`\r\n state.newsletterDic = {...state.newsletterDic, ...toNumberDictionary(param.item.map(it => {return {...it,selected:state.newsletterDic[it.id].selected}}),f => f.id,getDefaultAloNewsletter)} \r\n },\r\n [types.ADM_NEWSLETTER_ACTION_ON_SELECTION_ERROR]: (state,payload:{nwlIds:Array,action:string,data:string}) => { \r\n state.newsletterStatus = `Erreur lors l'execution de l'action ${payload.action} sur la selection`\r\n },\r\n [types.ADM_NEWSLETTER_SET_SELECTION]: (state,{selected,ids}:{selected:boolean,ids:Array}) => { \r\n //on reconstruit comme ca et non en foreach car plus performant sur la reactivité \r\n state.newsletterDic = {\r\n ...state.newsletterDic,\r\n ...ids.reduce((dic,id)=> {\r\n dic[id] = {...state.newsletterDic[id],selected}\r\n return dic\r\n },{} as {[id:number]:AloNewsletter\r\n }) \r\n } \r\n },\r\n //////////////////////////////////////////////////////////////////\r\n // COURS\r\n /////////////////////////////////////////////////////////////////\r\n\r\n [types.ADM_COURS_REQUEST]: state => { \r\n state.coursStatus = 'Chargement des cours'\r\n },\r\n [types.ADM_COURS_SUCCESS]: (state, cours:Array) => { \r\n state.coursDic = {...state.coursDic, ...toNumberDictionary(cours,f => f.id,getDefaultAloCours)}\r\n state.coursList = buildStateItem(cours.map(f => f.id))\r\n state.coursStatus = 'Chargement des cours terminé'\r\n },\r\n [types.ADM_COURS_SUCCESS_DIC]: (state, cours:Array) => { \r\n state.coursDic = {...state.coursDic, ...toNumberDictionary(cours,f => f.id,getDefaultAloCours)} \r\n state.coursStatus = 'Chargement des cours terminé'\r\n },\r\n [types.ADM_COURS_ERROR]: (state,message:string) => { \r\n state.coursStatus = message??'Erreur lors du chargement des cours'\r\n },\r\n [types.ADM_COURS_DETAIL_REQUEST]: state => { \r\n state.coursStatus = \"Chargement du detail de cours\"\r\n },\r\n [types.ADM_COURS_DETAIL_SUCCESS]: (state, cours:AloCours) => { \r\n Vue.set(state.coursDic,cours.id,{...getDefaultAloCours(),...cours})\r\n state.coursStatus = 'Chargement du detail cours terminé'\r\n },\r\n [types.ADM_COURS_DETAIL_ERROR]: (state,message:string) => { \r\n state.coursStatus = message??'Erreur lors du chargement du detail cours'\r\n },\r\n [types.ADM_COURS_SAVE_REQUEST]: state => { \r\n state.coursStatus = \"Sauvegarde de cours\"\r\n },\r\n [types.ADM_COURS_SAVE_SUCCESS]: (state, cours:AloCours) => { \r\n Vue.set(state.coursDic,cours.id,{...getDefaultAloCours(),...cours})\r\n //si l'id n'est pas dans la liste alors on l'ajoute\r\n if(state.coursList.item.findIndex(n => n == cours.id) == -1) state.coursList.item.push(cours.id)\r\n state.coursStatus = \"Sauvegarde de cours terminée\"\r\n },\r\n [types.ADM_COURS_SAVE_SUCCESS_DIC]: (state, cours:AloCours) => { \r\n Vue.set(state.coursDic,cours.id,{...getDefaultAloCours(),...cours,selected:true}) \r\n state.coursStatus = \"Génération du cours terminée\"\r\n }, \r\n [types.ADM_COURS_CREATE_RANGE_SUCCESS]: (state, cours:Array) => { \r\n state.coursDic = {...state.coursDic, ...toNumberDictionary(cours,f => f.id,() => { return {...getDefaultAloCours(),selected:true}})} \r\n state.coursStatus = 'Générations des cours terminé'\r\n }, \r\n [types.ADM_COURS_SAVE_ERROR]: (state,message:string) => { \r\n state.coursStatus = message??\"Erreur lors de la sauvegarde de cours\"\r\n }, \r\n [types.ADM_COURS_RESET_STATUS]: (state) => {\r\n state.coursStatus = ''\r\n },\r\n [types.ADM_COURS_DELETE_REQUEST]: state => { \r\n state.coursStatus = \"Suppression de cours\"\r\n },\r\n [types.ADM_COURS_DELETE_SUCCESS]: (state, cours:AloCours) => { \r\n const idx = state.coursList.item.indexOf(cours.id)\r\n if(idx > -1) state.coursList.item.splice(idx ,1)\r\n delete state.coursDic[cours.id] \r\n state.coursStatus = \"Suppression de cours terminée\"\r\n },\r\n [types.ADM_COURS_DELETE_ERROR]: (state,message:string) => { \r\n state.coursStatus = message??\"Erreur lors de la Suppression de cours\"\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,message:string) => { \r\n state.commandeStatus = message??'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,message:string) => { \r\n state.commandeStatus = message??'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,message:string) => { \r\n state.commandeStatus = message??\"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,message:string) => { \r\n state.commandeStatus = message??\"Erreur lors de la Suppression de commande\"\r\n },\r\n [types.ADM_COMMANDE_MIN_DATE_REQUEST]: state => { \r\n state.commandeStatus = \"Recuperation min date des commandes\"\r\n },\r\n [types.ADM_COMMANDE_MIN_DATE_SUCCESS]: (state, minDate:string) => { \r\n state.commandeMinDate = minDate\r\n state.commandeStatus = \"Recuperation min date des commandes terminée\"\r\n },\r\n [types.ADM_COMMANDE_MIN_DATE_ERROR]: (state,message:string) => { \r\n state.commandeStatus = message??\"Erreur lors de la recuperation min date des commandes\"\r\n }, \r\n\r\n //////////////////////////////////////////////////////////////////\r\n // FAMILY\r\n /////////////////////////////////////////////////////////////////\r\n\r\n [types.ADM_FAMILY_REQUEST]: state => { \r\n state.familyStatus = 'Chargement des family'\r\n },\r\n [types.ADM_FAMILY_SUCCESS]: (state, family:Array) => { \r\n state.familyDic = {...state.familyDic, ...toNumberDictionary(family,f => f.id,getDefaultAloFamily)}\r\n state.familyList = buildStateItem(family.map(f => f.id))\r\n state.familyStatus = 'Chargement des family terminé'\r\n },\r\n [types.ADM_FAMILY_ERROR]: (state,message:string) => { \r\n state.familyStatus = message??'Erreur lors du chargement des family'\r\n },\r\n [types.ADM_FAMILY_DETAIL_REQUEST]: state => { \r\n state.familyStatus = \"Chargement du detail de family\"\r\n },\r\n [types.ADM_FAMILY_DETAIL_SUCCESS]: (state, family:AloFamily) => { \r\n Vue.set(state.familyDic,family.id,{...getDefaultAloFamily(),...family})\r\n state.familyStatus = 'Chargement du detail family terminé'\r\n },\r\n [types.ADM_FAMILY_DETAIL_ERROR]: (state,message:string) => { \r\n state.familyStatus = message??'Erreur lors du chargement du detail family'\r\n },\r\n [types.ADM_FAMILY_SAVE_REQUEST]: state => { \r\n state.familyStatus = \"Sauvegarde de family\"\r\n },\r\n [types.ADM_FAMILY_SAVE_SUCCESS]: (state, family:AloFamily) => { \r\n Vue.set(state.familyDic,family.id,{...getDefaultAloFamily(),...family})\r\n //si l'id n'est pas dans la liste alors on l'ajoute\r\n if(state.familyList.item.findIndex(n => n == family.id) == -1) state.familyList.item.push(family.id)\r\n state.familyStatus = \"Sauvegarde de family terminée\"\r\n },\r\n [types.ADM_FAMILY_SAVE_ERROR]: (state,message:string) => { \r\n state.familyStatus = message??\"Erreur lors de la sauvegarde de family\"\r\n }, \r\n [types.ADM_FAMILY_RESET_STATUS]: (state) => {\r\n state.familyStatus = ''\r\n },\r\n [types.ADM_FAMILY_DELETE_REQUEST]: state => { \r\n state.familyStatus = \"Suppression de family\"\r\n },\r\n [types.ADM_FAMILY_DELETE_SUCCESS]: (state, family:AloFamily) => { \r\n const idx = state.familyList.item.indexOf(family.id)\r\n if(idx > -1) state.familyList.item.splice(idx ,1)\r\n delete state.familyDic[family.id] \r\n state.familyStatus = \"Suppression de family terminée\"\r\n },\r\n [types.ADM_FAMILY_DELETE_ERROR]: (state,message:string) => { \r\n state.familyStatus = message??\"Erreur lors de la Suppression de family\"\r\n },\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}","\r\nimport { StateItem, buildStateItem } from '@/models/alo/StateItem'\r\nimport { AloUser } from '@/models/alo/AloUser'\r\nimport { AloPiscine } from '@/models/alo/AloPiscine'\r\nimport { AloMailTemplate } from '@/models/alo/AloMailTemplate'\r\nimport { AloMailSkin } from '@/models/alo/AloMailSkin'\r\nimport { AloActivity } from '@/models/alo/AloActivity'\r\nimport { Configuration, getDefaultConfiguration } from '@/models/alo/Configuration'\r\nimport { AloForfait } from '@/models/alo/AloForfait'\r\nimport { AloMns } from '@/models/alo/AloMns'\r\nimport { AloContact } from '@/models/alo/AloContact'\r\nimport { AloNewsletter } from '@/models/alo/AloNewsletter'\r\nimport { AloCours } from '@/models/alo/AloCours'\r\nimport { AloCommande } from '@/models/alo/AloCommande'\r\nimport { AloFamily } from '@/models/alo/AloFamily'\r\n\r\n\r\nexport interface IAdministrationState { \r\n \r\n configuration:Configuration\r\n\r\n userStatus: string\r\n userDic: {[id:number]:AloUser}\r\n userList: StateItem\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 piscineStatus: string\r\n piscineDic: {[id:number]:AloPiscine}\r\n piscineList: StateItem\r\n\r\n activityStatus: string\r\n activityDic: {[id:number]:AloActivity}\r\n activityList: StateItem\r\n\r\n forfaitStatus: string\r\n forfaitDic: {[id:number]:AloForfait}\r\n forfaitList: StateItem\r\n\r\n mnsStatus: string\r\n mnsDic: {[id:number]:AloMns}\r\n mnsList: StateItem\r\n\r\n contactStatus: string\r\n contactDic: {[id:number]:AloContact}\r\n contactList: StateItem\r\n contactMinDate: string|null\r\n\r\n newsletterStatus: string\r\n newsletterDic: {[id:number]:AloNewsletter}\r\n newsletterList: StateItem\r\n\r\n coursStatus: string\r\n coursDic: {[id:number]:AloCours}\r\n coursList: StateItem\r\n\r\n commandeStatus: string\r\n commandeDic: {[id:number]:AloCommande}\r\n commandeList: StateItem\r\n commandeMinDate: string|null\r\n\r\n familyStatus: string\r\n familyDic: {[id:number]:AloFamily}\r\n familyList: StateItem\r\n}\r\n\r\n//Initial State\r\nconst state: IAdministrationState = { \r\n \r\n \r\n configuration: getDefaultConfiguration(),\r\n \r\n userStatus:'',\r\n userDic: {} as {[id:number]:AloUser},\r\n userList: buildStateItem([] as number[],-5),\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 piscineStatus:'',\r\n piscineDic: {} as {[id:number]:AloPiscine},\r\n piscineList: buildStateItem([] as number[],-5),\r\n\r\n activityStatus:'',\r\n activityDic: {} as {[id:number]:AloActivity},\r\n activityList: buildStateItem([] as number[],-5),\r\n\r\n forfaitStatus:'',\r\n forfaitDic: {} as {[id:number]:AloForfait},\r\n forfaitList: buildStateItem([] as number[],-5),\r\n\r\n mnsStatus:'',\r\n mnsDic: {} as {[id:number]:AloMns},\r\n mnsList: buildStateItem([] as number[],-5),\r\n\r\n contactStatus:'',\r\n contactDic: {} as {[id:number]:AloContact},\r\n contactList: buildStateItem([] as number[],-5),\r\n contactMinDate:null,\r\n\r\n newsletterStatus:'',\r\n newsletterDic: {} as {[id:number]:AloNewsletter},\r\n newsletterList: buildStateItem([] as number[],-5),\r\n\r\n coursStatus:'',\r\n coursDic: {} as {[id:number]:AloCours},\r\n coursList: 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 commandeMinDate:null,\r\n\r\n familyStatus:'',\r\n familyDic: {} as {[id:number]:AloFamily},\r\n familyList: 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\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_DRAWER_OPEN](context: ActionContext,open:boolean) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_DRAWER_OPEN,open)\r\n resolve()\r\n })\r\n } \r\n\r\n public [types.UI_SET_DRAWER_ENABLE](context: ActionContext,enable:boolean) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_DRAWER_ENABLE,enable)\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 //////////////////////////////////////////////////////////////////\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 // 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 // PISCINE\r\n /////////////////////////////////////////////////////////////////\r\n public [types.UI_SET_SEARCH_PISCINE](context: ActionContext,search:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SEARCH_PISCINE ,search)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_PISCINE_DESC](context: ActionContext,desc:boolean) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_PISCINE_DESC ,desc)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_PISCINE_BY](context: ActionContext,sort:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_PISCINE_BY ,sort)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_MONTH_PISCINE](context: ActionContext,month:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_MONTH_PISCINE , month)\r\n resolve()\r\n })\r\n }\r\n\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // ACTIVITY\r\n /////////////////////////////////////////////////////////////////\r\n public [types.UI_SET_SEARCH_ACTIVITY](context: ActionContext,search:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SEARCH_ACTIVITY ,search)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_ACTIVITY_DESC](context: ActionContext,desc:boolean) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_ACTIVITY_DESC ,desc)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_ACTIVITY_BY](context: ActionContext,sort:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_ACTIVITY_BY ,sort)\r\n resolve()\r\n })\r\n }\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // FORFAIT\r\n /////////////////////////////////////////////////////////////////\r\n public [types.UI_SET_SEARCH_FORFAIT](context: ActionContext,search:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SEARCH_FORFAIT ,search)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_FORFAIT_DESC](context: ActionContext,desc:boolean) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_FORFAIT_DESC ,desc)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_FORFAIT_BY](context: ActionContext,sort:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_FORFAIT_BY ,sort)\r\n resolve()\r\n })\r\n }\r\n\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // MNS\r\n /////////////////////////////////////////////////////////////////\r\n public [types.UI_SET_SEARCH_MNS](context: ActionContext,search:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SEARCH_MNS ,search)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_MNS_DESC](context: ActionContext,desc:boolean) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_MNS_DESC ,desc)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_MNS_BY](context: ActionContext,sort:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_MNS_BY ,sort)\r\n resolve()\r\n })\r\n }\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // CONTACT\r\n /////////////////////////////////////////////////////////////////\r\n public [types.UI_SET_SEARCH_CONTACT](context: ActionContext,search:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SEARCH_CONTACT ,search)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_CONTACT_DESC](context: ActionContext,desc:boolean) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_CONTACT_DESC ,desc)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_CONTACT_BY](context: ActionContext,sort:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_CONTACT_BY ,sort)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_MONTH_CONTACT](context: ActionContext,month:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_MONTH_CONTACT , month)\r\n resolve()\r\n })\r\n }\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // NEWSLETTER\r\n /////////////////////////////////////////////////////////////////\r\n public [types.UI_SET_SEARCH_NEWSLETTER](context: ActionContext,search:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SEARCH_NEWSLETTER ,search)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_NEWSLETTER_DESC](context: ActionContext,desc:boolean) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_NEWSLETTER_DESC ,desc)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_NEWSLETTER_BY](context: ActionContext,sort:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_NEWSLETTER_BY ,sort)\r\n resolve()\r\n })\r\n }\r\n \r\n //////////////////////////////////////////////////////////////////\r\n // COURS\r\n /////////////////////////////////////////////////////////////////\r\n public [types.UI_SET_SEARCH_COURS](context: ActionContext,search:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SEARCH_COURS ,search)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_COURS_DESC](context: ActionContext,desc:boolean) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_COURS_DESC ,desc)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_COURS_BY](context: ActionContext,sort:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_COURS_BY ,sort)\r\n resolve()\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 public [types.UI_SET_MONTH_COMMANDE](context: ActionContext,month:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_MONTH_COMMANDE , month)\r\n resolve()\r\n })\r\n }\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // FAMILY\r\n /////////////////////////////////////////////////////////////////\r\n public [types.UI_SET_SEARCH_FAMILY](context: ActionContext,search:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SEARCH_FAMILY ,search)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_FAMILY_DESC](context: ActionContext,desc:boolean) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_FAMILY_DESC ,desc)\r\n resolve()\r\n })\r\n }\r\n public [types.UI_SET_SORT_FAMILY_BY](context: ActionContext,sort:string) {\r\n return new Promise((resolve) => {\r\n context.commit(types.UI_SET_SORT_FAMILY_BY ,sort)\r\n resolve()\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 drawerOpen(state: IUiState){\r\n return state.drawerOpen\r\n } \r\n\r\n public drawerEnable(state: IUiState){\r\n return state.drawerEnable\r\n } \r\n \r\n public snackMessages(state: IUiState) {\r\n return state.snackMessages\r\n } \r\n\r\n public showCart(state: IUiState) {\r\n return state.showCart\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 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 searchPiscine(state: IUiState) {\r\n return state.searchPiscine\r\n } \r\n\r\n public sortPiscineDesc(state: IUiState) {\r\n return state.sortPiscineDesc\r\n } \r\n\r\n public sortPiscineBy(state: IUiState) {\r\n return state.sortPiscineBy\r\n } \r\n \r\n public monthPiscine(state: IUiState){\r\n return state.monthPiscine?new Date(state.monthPiscine):new Date()\r\n }\r\n\r\n public searchActivity(state: IUiState) {\r\n return state.searchActivity\r\n } \r\n\r\n public sortActivityDesc(state: IUiState) {\r\n return state.sortActivityDesc\r\n } \r\n\r\n public sortActivityBy(state: IUiState) {\r\n return state.sortActivityBy\r\n } \r\n\r\n public searchForfait(state: IUiState) {\r\n return state.searchForfait\r\n } \r\n\r\n public sortForfaitDesc(state: IUiState) {\r\n return state.sortForfaitDesc\r\n } \r\n\r\n public sortForfaitBy(state: IUiState) {\r\n return state.sortForfaitBy\r\n } \r\n\r\n public searchMns(state: IUiState) {\r\n return state.searchMns\r\n } \r\n\r\n public sortMnsDesc(state: IUiState) {\r\n return state.sortMnsDesc\r\n } \r\n\r\n public sortMnsBy(state: IUiState) {\r\n return state.sortMnsBy\r\n } \r\n \r\n public searchContact(state: IUiState) {\r\n return state.searchContact\r\n } \r\n\r\n public sortContactDesc(state: IUiState) {\r\n return state.sortContactDesc\r\n } \r\n\r\n public sortContactBy(state: IUiState) {\r\n return state.sortContactBy\r\n }\r\n\r\n public monthContact(state: IUiState){\r\n return state.monthContact?new Date(state.monthContact):new Date()\r\n }\r\n\r\n public searchNewsletter(state: IUiState) {\r\n return state.searchNewsletter\r\n } \r\n\r\n public sortNewsletterDesc(state: IUiState) {\r\n return state.sortNewsletterDesc\r\n } \r\n\r\n public sortNewsletterBy(state: IUiState) {\r\n return state.sortNewsletterBy\r\n } \r\n\r\n public searchCours(state: IUiState) {\r\n return state.searchCours\r\n } \r\n\r\n public sortCoursDesc(state: IUiState) {\r\n return state.sortCoursDesc\r\n } \r\n\r\n public sortCoursBy(state: IUiState) {\r\n return state.sortCoursBy\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 monthCommande(state: IUiState){\r\n return state.monthCommande?new Date(state.monthCommande):new Date()\r\n }\r\n\r\n public searchFamily(state: IUiState) {\r\n return state.searchFamily\r\n } \r\n\r\n public sortFamilyDesc(state: IUiState) {\r\n return state.sortFamilyDesc\r\n } \r\n\r\n public sortFamilyBy(state: IUiState) {\r\n return state.sortFamilyBy\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\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_SET_DRAWER_OPEN]: (state,open:boolean) => {\r\n state.drawerOpen = open\r\n },\r\n [types.UI_SET_DRAWER_ENABLE]: (state,enable:boolean) => {\r\n state.drawerEnable = 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_CART_VISIBLITY]: (state,visibility:boolean) => {\r\n state.showCart = visibility\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 // 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 // PISCINE\r\n /////////////////////////////////////////////////////////////////\r\n [types.UI_SET_SEARCH_PISCINE]: (state,search:string) => {\r\n state.searchPiscine = search\r\n }, \r\n [types.UI_SET_SORT_PISCINE_DESC]: (state,desc:boolean) => {\r\n state.sortPiscineDesc = desc\r\n },\r\n [types.UI_SET_SORT_PISCINE_BY]: (state,sort:string) => {\r\n state.sortPiscineBy = sort\r\n },\r\n [types.UI_SET_MONTH_PISCINE]: (state,month:string) => {\r\n state.monthPiscine = month\r\n }, \r\n\r\n //////////////////////////////////////////////////////////////////\r\n // ACTIVITY\r\n /////////////////////////////////////////////////////////////////\r\n [types.UI_SET_SEARCH_ACTIVITY]: (state,search:string) => {\r\n state.searchActivity = search\r\n }, \r\n [types.UI_SET_SORT_ACTIVITY_DESC]: (state,desc:boolean) => {\r\n state.sortActivityDesc = desc\r\n },\r\n [types.UI_SET_SORT_ACTIVITY_BY]: (state,sort:string) => {\r\n state.sortActivityBy = sort\r\n },\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // FORFAIT\r\n /////////////////////////////////////////////////////////////////\r\n [types.UI_SET_SEARCH_FORFAIT]: (state,search:string) => {\r\n state.searchForfait = search\r\n }, \r\n [types.UI_SET_SORT_FORFAIT_DESC]: (state,desc:boolean) => {\r\n state.sortForfaitDesc = desc\r\n },\r\n [types.UI_SET_SORT_FORFAIT_BY]: (state,sort:string) => {\r\n state.sortForfaitBy = sort\r\n },\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // MNS\r\n /////////////////////////////////////////////////////////////////\r\n [types.UI_SET_SEARCH_MNS]: (state,search:string) => {\r\n state.searchMns = search\r\n }, \r\n [types.UI_SET_SORT_MNS_DESC]: (state,desc:boolean) => {\r\n state.sortMnsDesc = desc\r\n },\r\n [types.UI_SET_SORT_MNS_BY]: (state,sort:string) => {\r\n state.sortMnsBy = sort\r\n },\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // CONTACT\r\n /////////////////////////////////////////////////////////////////\r\n [types.UI_SET_SEARCH_CONTACT]: (state,search:string) => {\r\n state.searchContact = search\r\n }, \r\n [types.UI_SET_SORT_CONTACT_DESC]: (state,desc:boolean) => {\r\n state.sortContactDesc = desc\r\n },\r\n [types.UI_SET_SORT_CONTACT_BY]: (state,sort:string) => {\r\n state.sortContactBy = sort\r\n },\r\n [types.UI_SET_MONTH_CONTACT]: (state,month:string) => {\r\n state.monthContact = month\r\n }, \r\n\r\n //////////////////////////////////////////////////////////////////\r\n // NEWSLETTER\r\n /////////////////////////////////////////////////////////////////\r\n [types.UI_SET_SEARCH_NEWSLETTER]: (state,search:string) => {\r\n state.searchNewsletter = search\r\n }, \r\n [types.UI_SET_SORT_NEWSLETTER_DESC]: (state,desc:boolean) => {\r\n state.sortNewsletterDesc = desc\r\n },\r\n [types.UI_SET_SORT_NEWSLETTER_BY]: (state,sort:string) => {\r\n state.sortNewsletterBy = sort\r\n },\r\n\r\n //////////////////////////////////////////////////////////////////\r\n // COURS\r\n /////////////////////////////////////////////////////////////////\r\n [types.UI_SET_SEARCH_COURS]: (state,search:string) => {\r\n state.searchCours = search\r\n }, \r\n [types.UI_SET_SORT_COURS_DESC]: (state,desc:boolean) => {\r\n state.sortCoursDesc = desc\r\n },\r\n [types.UI_SET_SORT_COURS_BY]: (state,sort:string) => {\r\n state.sortCoursBy = 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 [types.UI_SET_MONTH_COMMANDE]: (state,month:string) => {\r\n state.monthCommande = month\r\n }, \r\n\r\n \r\n //////////////////////////////////////////////////////////////////\r\n // FAMILY\r\n /////////////////////////////////////////////////////////////////\r\n [types.UI_SET_SEARCH_FAMILY]: (state,search:string) => {\r\n state.searchFamily = search\r\n }, \r\n [types.UI_SET_SORT_FAMILY_DESC]: (state,desc:boolean) => {\r\n state.sortFamilyDesc = desc\r\n },\r\n [types.UI_SET_SORT_FAMILY_BY]: (state,sort:string) => {\r\n state.sortFamilyBy = sort\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 drawerOpen:boolean\r\n drawerEnable:boolean\r\n snackMessages: Array \r\n showCart:boolean\r\n\r\n searchUser:string\r\n sortUserDesc:boolean\r\n sortUserBy: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 searchPiscine:string\r\n sortPiscineDesc:boolean\r\n sortPiscineBy:string\t\r\n monthPiscine:string|null\r\n \r\n searchActivity:string\r\n sortActivityDesc:boolean\r\n sortActivityBy:string\r\n\r\n searchForfait:string\r\n sortForfaitDesc:boolean\r\n sortForfaitBy:string\t\r\n\r\n searchMns:string\r\n sortMnsDesc:boolean\r\n sortMnsBy:string\t\r\n\r\n searchContact:string\r\n sortContactDesc:boolean\r\n sortContactBy:string\t\r\n monthContact:string|null\r\n\r\n searchNewsletter:string\r\n sortNewsletterDesc:boolean\r\n sortNewsletterBy:string\t\r\n\r\n searchCours:string\r\n sortCoursDesc:boolean\r\n sortCoursBy:string\t\r\n\r\n searchCommande:string\r\n sortCommandeDesc:boolean\r\n sortCommandeBy:string\t\r\n monthCommande:string|null\r\n\r\n searchFamily:string\r\n sortFamilyDesc:boolean\r\n sortFamilyBy:string\t\r\n \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 drawerOpen:false,\r\n drawerEnable:false,\r\n snackMessages: [],\r\n showCart:false,\r\n\r\n searchUser:\"\",\r\n sortUserDesc:false,\r\n sortUserBy:\"\",\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 searchPiscine:\"\",\r\n sortPiscineDesc:false,\r\n sortPiscineBy:\"\",\r\n monthPiscine:null,\r\n\r\n searchActivity:\"\",\r\n sortActivityDesc:false,\r\n sortActivityBy:\"\",\r\n\r\n searchForfait:\"\",\r\n sortForfaitDesc:false,\r\n sortForfaitBy:\"\",\r\n \r\n searchMns:\"\",\r\n sortMnsDesc:false,\r\n sortMnsBy:\"\",\r\n\r\n searchContact:\"\",\r\n sortContactDesc:false,\r\n sortContactBy:\"\",\r\n monthContact:null,\r\n\r\n searchNewsletter:\"\",\r\n sortNewsletterDesc:false,\r\n sortNewsletterBy:\"\",\r\n\r\n searchCours:\"\",\r\n sortCoursDesc:false,\r\n sortCoursBy:\"\",\r\n\r\n searchCommande:\"\",\r\n sortCommandeDesc:false,\r\n sortCommandeBy:\"\",\r\n monthCommande:null,\r\n\r\n searchFamily:\"\",\r\n sortFamilyDesc:false,\r\n sortFamilyBy:\"\",\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 client from '@/store/modules/client'\r\nimport administration from '@/store/modules/administration'\r\nimport ui from '@/store/modules/ui'\r\nimport { IAuthState } from './modules/auth/state'\r\nimport { IClientState } from './modules/client/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\nimport { CommitAction } from '@/enum/CommitAction'\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 client:IClientState \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 client,\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:CommitAction = CommitAction.listAndDic ) => {\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 == CommitAction.listAndDic) context.commit(successCommit, item)\r\n else if(commit == CommitAction.dicOnly) context.commit(`${successCommit}_DIC`, item)\r\n resolve(item) \r\n\r\n } else { \r\n if(commit != CommitAction.none) context.commit(errorCommit,(resp.data.data as AloError).errorMessage)\r\n reject((resp.data.data as AloError).errorMessage)\r\n }\r\n })\r\n .catch(err => { \r\n if(err.response) {\r\n if(commit != CommitAction.none) context.commit(errorCommit,(err.response?.data?.data as AloError)?.errorMessage ?? err)\r\n reject((err.response?.data?.data as AloError)?.errorMessage ?? err)\r\n } \r\n if(commit != CommitAction.none) 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:CommitAction = CommitAction.listAndDic,\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 == CommitAction.listAndDic) context.commit(successCommit, addPayloadToCommit?{item,payload}:item)\r\n else if(commit == CommitAction.dicOnly) context.commit(`${successCommit}_DIC`, addPayloadToCommit?{item,payload}:item)\r\n resolve(item) \r\n\r\n } else { \r\n if(commit != CommitAction.none) addPayloadToCommit?context.commit(errorCommit,payload):context.commit(errorCommit,(resp.data.data as AloError).errorMessage)\r\n reject((resp.data.data as AloError).errorMessage)\r\n }\r\n })\r\n .catch(err => { \r\n if(err.response) {\r\n if(commit != CommitAction.none) addPayloadToCommit?context.commit(errorCommit,payload):context.commit(errorCommit,(err.response?.data?.data as AloError)?.errorMessage ?? err)\r\n reject((err.response?.data?.data as AloError)?.errorMessage ?? err)\r\n }\r\n else{\r\n if(commit != CommitAction.none) addPayloadToCommit?context.commit(errorCommit,payload):context.commit(errorCommit)\r\n reject(err)\r\n }\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() || (id && !(stateItemToCheck.item as AloBase).detailLoaded)) { \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\nimport axios from 'axios'\r\nimport VueI18n from 'vue-i18n'\r\nimport defaultLanguagesTrad from '@/locale/lang/fr'\r\nexport const defaultLocale = 'fr'\r\n\r\nVue.use(VueI18n)\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: 'fr',\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\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}","import Vue from 'vue'\r\n\r\nexport const formatDistance = (value: number) => {\r\n if (value || value === 0) { \r\n if (value > 1000) {\r\n return (Math.round(value / 1000 * 100 ) / (100)) + ' ' + 'km'\r\n }\r\n return (Math.round(value * 100) / 100) + ' ' + 'm'\r\n }\r\n}\r\nVue.filter('formatDistance',formatDistance)","import moment from 'moment'\r\nimport Vue from 'vue'\r\nimport VueI18n from 'vue-i18n'\r\nimport { AloCity } from '@/models/alo/AloCity'\r\nimport { AloAddress } from '@/models/alo/AloAddress'\r\nimport { concat } from '@/utils/string'\r\n\r\n\r\n\r\nexport const formatAddress = (value: AloAddress,separator:string=\"
\") => { \r\n let add = ''\r\n if(value) {\r\n add = concat(add,value.adrIndoorInfos)\r\n let ligne2 = ''\r\n if(value.adrNumberWay && value.adrNumberWay != 0) ligne2 = concat(ligne2,value.adrNumberWay.toString(),separator)\r\n ligne2 = concat(ligne2,value.adrOutsideInfos,' ')\r\n add = concat(add,ligne2,separator)\r\n add = concat(add,value.adrPostBox,separator)\r\n let ligne4 = concat(value.adrPostalCode,value.libelle,' ')\r\n add = concat(add,ligne4,separator)\r\n }\r\n return add \r\n \r\n}\r\n\r\nVue.filter('formatAddress',formatAddress)\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\nexport const poids = (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}\r\n\r\nVue.filter('poids', poids)","import moment from 'moment'\r\nimport Vue from 'vue'\r\n\r\nexport const tva = (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}\r\nVue.filter('tva', tva)","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","import Vue from 'vue'\r\nimport { MoyenPaiement } from '@/enum/MoyenPaiement'\r\n\r\nexport const moyenPaiement = (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}\r\nVue.filter('moyenPaiement',moyenPaiement)","import moment from 'moment'\r\nimport Vue from 'vue'\r\n\r\nexport const capitalize = (value:any) => {\r\n if (!value) return ''\r\n value = value.toString()\r\n return value.charAt(0).toUpperCase() + value.slice(1)\r\n}\r\n\r\nVue.filter('capitalize',capitalize)","import Vue from 'vue'\r\n\r\nexport const tel = (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}\r\nVue.filter('tel', tel)","import Vue from 'vue'\r\n\r\nexport const formatDay = (value: number) => {\r\n if (value || value === 0) { \r\n switch(value){\r\n case 0: return \"Dimanche\"\r\n case 1: return \"Lundi\"\r\n case 2: return \"Mardi\"\r\n case 3: return \"Mercredi\"\r\n case 4: return \"Jeudi\"\r\n case 5: return \"Vendredi\"\r\n case 6: return \"Samedi\" \r\n }\r\n }\r\n return ''\r\n}\r\n\r\nVue.filter('formatDay',formatDay)","import { StatusCommande } from '@/enum/StatusCommande';\r\nimport Vue from 'vue'\r\n\r\nexport const colorStatusCmd = (value: number) => { \r\n switch(value){\r\n case StatusCommande.bcd: return \"\";\r\n case StatusCommande.paye: return \"#A6F562\";\r\n case StatusCommande.preparation: return \"#4C8EF5\";\r\n case StatusCommande.envoye: return \"#F5CA73\";\r\n case StatusCommande.livre: return \"#E758F5\";\r\n case StatusCommande.annule: return \"#F57F65\";\r\n case StatusCommande.rembourse: return \"\";\r\n case StatusCommande.enLivraison: return \"\";\r\n case StatusCommande.enAttentePaiement: return \"ab4eed\";\r\n case StatusCommande.devis: return \"\";\r\n case StatusCommande.enCoursAppro: return \"\";\r\n case StatusCommande.erreur: return \"\";\r\n }\r\n return \"\"; \r\n}\r\nVue.filter('colorStatusCmd', colorStatusCmd)","import { StatusCommande } from '@/enum/StatusCommande';\r\nimport Vue from 'vue'\r\n\r\nexport const statusCmd = (value: number) => { \r\n switch(value){\r\n case StatusCommande.bcd: return \"Bon de commande\";\r\n case StatusCommande.paye: return \"Payé\";\r\n case StatusCommande.preparation: return \"En préparation\";\r\n case StatusCommande.envoye: return \"Envoyé\";\r\n case StatusCommande.livre: return \"Livré\";\r\n case StatusCommande.annule: return \"Annulé\";\r\n case StatusCommande.rembourse: return \"Remboursé\";\r\n case StatusCommande.enLivraison: return \"En livraison\";\r\n case StatusCommande.enAttentePaiement: return \"En attente de paiement\";\r\n case StatusCommande.devis: return \"Devis\";\r\n case StatusCommande.enCoursAppro: return \"En cours d'approvisionnement\";\r\n case StatusCommande.erreur: return \"Erreur\";\r\n } \r\n return \"\"; \r\n}\r\nVue.filter('statusCmd', statusCmd)","import { StatusInscription } from '@/enum/StatusInscription';\r\nimport Vue from 'vue'\r\n\r\nexport const colorStatusInscription = (value: number) => { \r\n switch(value){\r\n case StatusInscription.inscrit: return \"#A6F562\";\r\n case StatusInscription.present: return \"#E758F5\";\r\n case StatusInscription.abscent: return \"#F5CA73\";\r\n case StatusInscription.annulee: return \"#F57F65\";\r\n case StatusInscription.attente: return \"#4C8EF5\";\r\n }\r\n return \"\"; \r\n}\r\nVue.filter('colorStatusInscription', colorStatusInscription)","import { StatusInscription } from '@/enum/StatusInscription';\r\nimport Vue from 'vue'\r\n\r\nexport const statusInscription = (value: number) => { \r\n switch(value){\r\n case StatusInscription.inscrit: return \"inscrit\";\r\n case StatusInscription.present: return \"présent\";\r\n case StatusInscription.abscent: return \"abscent\";\r\n case StatusInscription.annulee: return \"annulé\";\r\n case StatusInscription.attente: return \"liste attente\";\r\n } \r\n return \"\"; \r\n}\r\nVue.filter('statusInscription', statusInscription)","import { StatusCarte } from '@/enum/StatusCarte';\r\nimport { StatusCommande } from '@/enum/StatusCommande';\r\nimport Vue from 'vue'\r\n\r\nexport const colorStatusCarte = (value: number) => { \r\n switch(value){\r\n case StatusCarte.valide: return \"#A6F562\";\r\n case StatusCarte.complet: return \"#E758F5\";\r\n case StatusCarte.perime: return \"#F57F65\";\r\n }\r\n return \"\"; \r\n}\r\nVue.filter('colorStatusCarte', colorStatusCarte)","import { StatusCarte } from '@/enum/StatusCarte';\r\nimport Vue from 'vue'\r\n\r\nexport const statusCarte = (value: number) => { \r\n switch(value){\r\n case StatusCarte.valide: return \"Valide\"\r\n case StatusCarte.complet: return \"Complète\"\r\n case StatusCarte.perime: return \"Périmée\"\r\n } \r\n return \"\"; \r\n}\r\nVue.filter('statusCarte', statusCarte)","import { StatusCarte } from '@/enum/StatusCarte';\r\nimport Vue from 'vue'\r\n\r\nexport const statusAbo = (value: number) => { \r\n switch(value){\r\n case StatusCarte.valide: return \"Valide\"\r\n case StatusCarte.complet: return \"Complet semaine\"\r\n case StatusCarte.perime: return \"Périmé\"\r\n } \r\n return \"\"; \r\n}\r\nVue.filter('statusAbo', statusAbo)","import moment from 'moment'\r\nimport Vue from 'vue'\r\nimport VueI18n from 'vue-i18n'\r\n\r\n\r\nexport const formatAge = (value: Date|string) => {\r\n if (value) { \r\n moment.locale(\"fr\") \r\n const duree = moment.duration(new Date().getTime() - new Date(value).getTime())\r\n return duree.asYears()>1?`${duree.years()} ans`:duree.asYears()>0?`${duree.years()} an`:`${duree.months()} mois`\r\n }\r\n}\r\nVue.filter('formatAge',formatAge)\r\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=62c0b4f8&\"\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('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=707ccb2a&\"\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 (_vm.maxImages>0)?_c('v-card',{staticClass:\"mb-4 actions-abr\",attrs:{\"color\":_vm.dhover?'primary lighten-5':'',\"outlined\":\"\",\"ripple\":false,\"loading\":_vm.loading||_vm.uploading},on:{\"dragover\":function($event){$event.preventDefault();_vm.dhover = $event.dataTransfer.effectAllowed == 'all'},\"dragleave\":function($event){$event.preventDefault();_vm.dhover=false},\"drop\":function($event){$event.preventDefault();_vm.onImagesAdded(Array.from($event.dataTransfer.files))}}},[_c('v-card-title',[_c('span',[_vm._v(_vm._s(_vm.title)+\" \"),_c('span',{staticClass:\"caption\"},[_vm._v(_vm._s(_vm.images.length)+\" / \"+_vm._s(_vm.maxImages))])]),_vm._v(\" \"),(_vm.images.length < _vm.maxImages)?_c('v-btn',{staticStyle:{\"position\":\"relative\"},attrs:{\"title\":\"Ajouter une image\",\"color\":\"primary\",\"icon\":\"\"}},[_c('v-icon',{attrs:{\"large\":\"\"}},[_vm._v(\"mdi-plus\")]),_c('v-file-input',{staticClass:\"imgInput\",attrs:{\"accept\":\"image/*\",\"multiple\":\"\",\"label\":\"File input\"},on:{\"change\":_vm.onImagesAdded},model:{value:(_vm.files),callback:function ($$v) {_vm.files=$$v},expression:\"files\"}})],1):_vm._e()],1),_c('v-card-text',{staticClass:\"d-flex flex-wrap\"},[_c('draggable',{staticClass:\"d-flex flex-wrap\",attrs:{\"handle\":\".handle\"},on:{\"change\":_vm.onOrderChange},model:{value:(_vm.images),callback:function ($$v) {_vm.images=$$v},expression:\"images\"}},_vm._l((_vm.images),function(image){return _c('image-detail',{key:image.id,staticClass:\"ma-2\",attrs:{\"allowOrder\":_vm.maxImages>1,\"img\":image},on:{\"delete\":_vm.deleteImage,\"edit\":_vm.editImage}})}),1)],1),(_vm.filesToUpload.length > 0)?_c('v-card-actions',{staticClass:\"d-flex flex-column align-start\"},[_c('v-row',[_c('v-col',{staticClass:\"mb-0 pb-0\",attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"title\"},[_vm._v(\"Fichier(s) à ajouter\")]),_c('v-btn',{staticClass:\"ml-2 primary--text\",attrs:{\"x-small\":\"\",\"outlined\":\"\",\"right\":\"\"},on:{\"click\":_vm.uploadAllImages}},[_vm._v(\"Envoyer tous les fichiers \"),_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-upload\")])],1),_c('v-btn',{staticClass:\"ml-2 secondary--text\",attrs:{\"x-small\":\"\",\"outlined\":\"\",\"right\":\"\"},on:{\"click\":function($event){_vm.fileToUpload=null}}},[_vm._v(\"Supprimer tous les fichiers \"),_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-delete\")])],1)],1),_c('v-col',{staticClass:\"d-flex flex-wrap\",attrs:{\"cols\":\"12\"}},_vm._l((_vm.filesToUpload),function(fileToUpload,idx){return _c('image-detail-upload',{key:idx,staticClass:\"ma-2\",attrs:{\"fileToUpload\":fileToUpload},on:{\"delete\":_vm.deleteUpload,\"upload\":_vm.uploadImage}})}),1)],1)],1):_vm._e(),_c('edit-image',{ref:\"editImage\"})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import apiHelpers from '@/utils/api'\r\nimport { AlrContainer } from '@/models/response/AlrContainer'\r\nimport axios, { AxiosPromise } from 'axios'\r\nimport { AloMedia,cleanAloMedia } from '@/models/alo/AloMedia'\r\n\r\nexport default {\r\n /*getAllMedia(): AxiosPromise>> { \r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Media`, \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 getMedia(id:number):AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Media/${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 saveMedia(media:AloMedia):AxiosPromise> {\r\n cleanAloMedia(media)\r\n if(media.id) {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Media/${media.id}`, \r\n method: 'PUT',\r\n data: media,\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/Media`, \r\n method: 'POST',\r\n data: media,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n }) \r\n }\r\n },\r\n deleteMedia(id:number):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Media/${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 upload({file,name,progress}:{file:File,name:string|null,progress:(e:ProgressEvent)=>void|null}) { \r\n const formData = new FormData();\r\n formData.append(\"data\", file, file.name); \r\n formData.append(\"name\",name??file.name); \r\n return axios({ \r\n url: `/webapi/Media/upload`, \r\n method: 'POST',\r\n data: formData,\r\n headers: {'Content-Type': 'multipart/form-data'}, \r\n onUploadProgress:progress, \r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n }) as AxiosPromise>\r\n }\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.img)?_c('v-card',{attrs:{\"max-width\":\"130\"}},[_c('v-responsive',{attrs:{\"aspect-ratio\":1}},[_c('v-card-text',{staticClass:\"pa-0 d-flex align-center\",staticStyle:{\"min-height\":\"102px\"}},[_c('v-img',{staticClass:\"cursor-zoom-in\",attrs:{\"contain\":\"\",\"width\":\"130\",\"max-height\":\"102\",\"src\":_vm.imageSmallUrl},on:{\"click\":function($event){_vm.zoom=true}}})],1),_c('v-card-actions',{staticClass:\"pa-0 px-1\"},[(_vm.allowOrder)?_c('v-btn',{staticClass:\"handle cursor-move\",attrs:{\"small\":\"\",\"icon\":\"\"}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-cursor-move\")])],1):_vm._e(),_c('v-spacer'),(_vm.img.id != 1)?_c('v-btn',{attrs:{\"small\":\"\",\"icon\":\"\"},on:{\"click\":_vm.editImage}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-pencil\")])],1):_vm._e(),(_vm.img.id != 1)?_c('v-btn',{attrs:{\"small\":\"\",\"icon\":\"\"},on:{\"click\":_vm.deleteImage}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-delete\")])],1):_vm._e()],1)],1),_c('v-dialog',{attrs:{\"max-width\":\"1200\",\"content-class\":\"elevation-0\"},model:{value:(_vm.zoom),callback:function ($$v) {_vm.zoom=$$v},expression:\"zoom\"}},[_c('v-img',{attrs:{\"contain\":\"\",\"max-width\":\"1200\",\"max-height\":\"800\",\"src\":_vm.imageLargeUrl},on:{\"click\":function($event){_vm.zoom=false}}})],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\r\n// @ is an alias to /src\r\nimport { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport { AloMedia } from '@/models/alo/AloMedia'\r\nimport {getImageUrl} from '@/utils/images'\r\n\r\n@Component({\r\n name: 'ImageDetail',\r\n props:{\r\n img:{\r\n type:Object,\r\n required:true\r\n\r\n },\r\n allowOrder:{\r\n type:Boolean,\r\n default:true\r\n }\r\n } \r\n})\r\nexport default class ImageDetail extends Vue {\r\n \r\n private img!:AloMedia \r\n private zoom = false\r\n private allowOrder!:boolean\r\n \r\n get imageSmallUrl() {\r\n return getImageUrl(this.img,130,102)\r\n }\r\n\r\n get imageLargeUrl() {\r\n return getImageUrl(this.img,1200)\r\n }\r\n\r\n deleteImage() {\r\n this.$emit(\"delete\",this.img)\r\n }\r\n\r\n editImage() {\r\n this.$emit(\"edit\",this.img)\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!./ImageDetail.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!./ImageDetail.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ImageDetail.vue?vue&type=template&id=fe39945e&\"\nimport script from \"./ImageDetail.vue?vue&type=script&lang=ts&\"\nexport * from \"./ImageDetail.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ImageDetail.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 { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VResponsive } from 'vuetify/lib/components/VResponsive';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VDialog,VIcon,VImg,VResponsive,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.fileToUpload && _vm.fileToUpload.img)?_c('v-card',{attrs:{\"max-width\":\"130\"}},[_c('v-responsive',{attrs:{\"aspect-ratio\":1}},[_c('v-card-text',{staticClass:\"pa-0 d-flex flex-column\",staticStyle:{\"min-height\":\"102px\"}},[_c('v-img',{staticClass:\"cursor-zoom-in\",attrs:{\"contain\":\"\",\"width\":\"130\",\"max-height\":\"102\",\"src\":_vm.fileToUpload.img},on:{\"click\":function($event){_vm.zoom=true}}})],1),_c('v-card-actions',{staticClass:\"pa-0 px-1\"},[(_vm.fileToUpload.progress>0)?_c('v-progress-linear',{attrs:{\"value\":_vm.fileToUpload.progress,\"color\":\"primary\"}}):[_c('v-spacer'),_c('v-btn',{attrs:{\"title\":\"Envoyer le fichier\",\"small\":\"\",\"icon\":\"\"},on:{\"click\":_vm.uploadImage}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-upload\")])],1)],_c('v-btn',{attrs:{\"title\":\"Supprimer le fichier\",\"small\":\"\",\"icon\":\"\"},on:{\"click\":_vm.deleteImage}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-delete\")])],1)],2)],1),_c('v-dialog',{attrs:{\"max-width\":\"1200\"},model:{value:(_vm.zoom),callback:function ($$v) {_vm.zoom=$$v},expression:\"zoom\"}},[_c('v-img',{attrs:{\"contain\":\"\",\"max-width\":\"1200\",\"max-height\":\"800\",\"src\":_vm.fileToUpload.img}})],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\r\n// @ is an alias to /src\r\nimport { Component, Vue, Watch } from 'vue-property-decorator';\r\nimport { IFileUpload } from '@/models/IFileUpload';\r\n\r\n@Component({\r\n name: 'ImageDetailUpload',\r\n props:{\r\n fileToUpload:Object,\r\n } \r\n})\r\nexport default class ImageDetailUpload extends Vue {\r\n \r\n private fileToUpload!:IFileUpload\r\n private zoom = false\r\n \r\n uploadImage(){\r\n this.$emit(\"upload\",this.fileToUpload)\r\n }\r\n\r\n deleteImage() {\r\n this.$emit(\"delete\",this.fileToUpload)\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!./ImageDetailUpload.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!./ImageDetailUpload.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ImageDetailUpload.vue?vue&type=template&id=519bd38a&\"\nimport script from \"./ImageDetailUpload.vue?vue&type=script&lang=ts&\"\nexport * from \"./ImageDetailUpload.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ImageDetailUpload.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 { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VResponsive } from 'vuetify/lib/components/VResponsive';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VDialog,VIcon,VImg,VProgressLinear,VResponsive,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.showDrawer)?_c('edit-drawer',{attrs:{\"title\":\"Configuration image\",\"saving\":_vm.saving,\"dirty\":_vm.isDirty,\"width\":\"900\"},on:{\"save\":function($event){return _vm.saveData()}},model:{value:(_vm.showDrawer),callback:function ($$v) {_vm.showDrawer=$$v},expression:\"showDrawer\"}},[_c('v-form',{ref:\"editConfigForm\",staticClass:\"ma-2\",attrs:{\"lazy-validation\":true}},[_c('v-text-field',{attrs:{\"label\":\"titre\"},model:{value:(_vm.modified.libelle),callback:function ($$v) {_vm.$set(_vm.modified, \"libelle\", $$v)},expression:\"modified.libelle\"}})],1)],1):_vm._e()}\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 apiMedia from '@/api/media'\r\nimport EditDrawer from '@/components/shared/EditDrawer.vue'\r\nimport deepEqual from 'deep-equal'\r\nimport cloneDeep from 'clone-deep'\r\nimport * as rules from '@/utils/validationRules'\r\nimport { directPayloadQuery } from '@/utils/api'\r\nimport { toStringDictionary } from '@/utils/groupBy'\r\nimport { AloMedia, getDefaultAloMedia } from '@/models/alo/AloMedia'\r\n\r\n\r\n@Component({\r\n name: 'EditImage', \r\n components:{EditDrawer}, \r\n})\r\nexport default class EditImage extends Vue {\r\n \r\n private original:AloMedia = getDefaultAloMedia()\r\n private modified:AloMedia = getDefaultAloMedia()\r\n private showDrawer = false\r\n private saving = false\r\n private status = \"\" \r\n \r\n \r\n mounted(){ \r\n }\r\n\r\n\r\n edit(item:AloMedia) { \r\n this.status = \"\"\r\n this.showDrawer = true\r\n this.original = {...getDefaultAloMedia(),...item}\r\n this.modified = cloneDeep(this.original) \r\n \r\n } \r\n \r\n\r\n get isDirty() {\r\n return !deepEqual(this.original,this.modified)\r\n }\r\n\r\n saveData() { \r\n if ((this.$refs.editConfigForm as HTMLFormElement).validate()) {\r\n this.$emit(\"update\",this.modified) \r\n \r\n this.showDrawer = false\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!./EditImage.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!./EditImage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditImage.vue?vue&type=template&id=3976f5f8&\"\nimport script from \"./EditImage.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditImage.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 { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VForm,VTextField})\n","\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 apiMedia from '@/api/media'\r\nimport {IFileUpload} from '@/models/IFileUpload'\r\nimport { AloMedia ,getDefaultAloMedia} from '@/models/alo/AloMedia'\r\nimport { directPayloadQuery } from '@/utils/api'\r\nimport ImageDetail from '@/components/image/ImageDetail.vue'\r\nimport ImageDetailUpload from '@/components/image/ImageDetailUpload.vue'\r\nimport EditImage from '@/components/image/EditImage.vue'\r\nimport { toNumberDictionary } from '@/utils/groupBy';\r\nimport { VuetifyConfirmObject } from '@/plugins/confirm/types'\r\nimport { getImageUrl } from '@/utils/images'\r\nimport cloneDeep from 'clone-deep'\r\n\r\n@Component({\r\n name: 'ReadImage',\r\n props:{\r\n imgs:{\r\n type:Array,\r\n default:()=>[]\r\n },\r\n title:{\r\n type:String,\r\n default:'Image'\r\n },\r\n name:{\r\n type:String,\r\n default:null\r\n },\r\n loading:{\r\n type:Boolean,\r\n default:false\r\n },\r\n maxImages:{\r\n type:Number,\r\n default:50, \r\n }\r\n },\r\n components:{\r\n ImageDetail,ImageDetailUpload,EditImage\r\n } \r\n})\r\nexport default class ReadImage extends Vue {\r\n \r\n //chaine ordonnée des ids des images \r\n private title!:String \r\n private maxImages!:number\r\n private imgs!:Array\r\n private images:Array = []\r\n private loading!:boolean \r\n private uploading:boolean = false \r\n private filesToUpload:Array = [] \r\n private dhover = false \r\n private files:any = [] \r\n private name!:String|null\r\n \r\n get nbImgAllowed(){\r\n return Math.max(this.maxImages - this.images.length,0)\r\n } \r\n\r\n created(){ \r\n }\r\n\r\n mounted(){\r\n this.images = cloneDeep(this.imgs)\r\n }\r\n \r\n @Watch('imgs')\r\n onImgsChanged() {\r\n this.images = cloneDeep(this.imgs)\r\n }\r\n\r\n onImagesAdded(files:File[]){ \r\n this.dhover = false \r\n if(this.nbImgAllowed > 0) \r\n {\r\n if(files.length > 0) {\r\n this.filesToUpload.push(...files.filter(f => f.type.startsWith('image')).map(f => { \r\n const it = {file:f,img:null,progress:0} \r\n const reader = new FileReader()\r\n reader.onload = (e) => {\r\n //@ts-ignore\r\n it.img = e.target.result \r\n }\r\n reader.readAsDataURL(it.file) \r\n return it\r\n }))\r\n this.files = []\r\n } \r\n }\r\n else {\r\n this.$confirm(\"Vous ne pouvez plus ajouter d'image. Le nombre maximal d'image a été atteint\",{title: \"Attention\",buttonTrueText:\"Ok\",buttonFalseText:\"\"} as VuetifyConfirmObject)\r\n }\r\n } \r\n\r\n editImage(img:AloMedia) { \r\n (this.$refs.editImage as EditImage).edit(img) \r\n }\r\n\r\n deleteImage(img:AloMedia) {\r\n this.$confirm(\"Voulez vous vraiment supprimer l'image?\",{title: \"Attention\",buttonTrueText:\"Supprimer\",buttonFalseText:\"Annuler\"} as VuetifyConfirmObject).then(answer=>{\r\n if(answer){ \r\n directPayloadQuery(apiMedia.deleteMedia,img.id).then((image) => { \r\n const idxToDeleted = this.images.findIndex(i => i.id == img.id)\r\n if(idxToDeleted > -1){\r\n this.images.splice(idxToDeleted,1)\r\n this.$emit(\"imageDeleted\",this.images)\r\n } \r\n }) \r\n }\r\n }) \r\n } \r\n\r\n deleteUpload(fileToUpload:IFileUpload){\r\n const idx = this.filesToUpload.findIndex(it => it == fileToUpload) \r\n if(idx > -1) this.filesToUpload.splice(idx,1)\r\n } \r\n\r\n uploadImage(fileToUpload:IFileUpload){ \r\n this.uploadImages([fileToUpload])\r\n }\r\n\r\n uploadAllImages() { \r\n this.uploadImages(this.filesToUpload) \r\n }\r\n \r\n updateImage(img:AloMedia) {\r\n this.$emit(\"update\",img) \r\n }\r\n \r\n uploadImages(filesToUpload:Array) { \r\n if(this.nbImgAllowed > 0) \r\n { \r\n if(this.nbImgAllowed < filesToUpload.length) { \r\n this.$confirm(`Seul ${this.nbImgAllowed==1?'la première image sera envoyée':`les ${this.nbImgAllowed} premières images seront envoyées`}. Voulez vous continuer`,{title: \"Attention trop d'images\",buttonTrueText:\"Continuer\",buttonFalseText:\"Arreter\"} as VuetifyConfirmObject)\r\n .then((continuer)=> {\r\n if(continuer) this.doUploadImages(filesToUpload.splice(0,Math.min(this.nbImgAllowed,filesToUpload.length)))\r\n }) \r\n }\r\n else {\r\n this.doUploadImages(filesToUpload)\r\n } \r\n }\r\n else {\r\n this.$confirm(\"Vous ne pouvez plus envoyer d'image. Le nombre maximal d'image a été atteint\",{title: \"Attention\",buttonTrueText:\"Ok\",buttonFalseText:\"\"} as VuetifyConfirmObject)\r\n } \r\n }\r\n \r\n doUploadImages(filesToUpload:Array) { \r\n this.uploading = true\r\n let hasAdded = false \r\n const queries:Array> = [] \r\n filesToUpload.forEach(fileToUpload => { \r\n fileToUpload.progress = 1 \r\n queries.push(directPayloadQuery(apiMedia.upload,\r\n { \r\n file:fileToUpload.file,\r\n name:this.name,\r\n progress:(e:ProgressEvent)=>{\r\n fileToUpload.progress = Math.round( ( e.loaded / e.total ) * 100 ) \r\n } \r\n }).then(img => { \r\n hasAdded = true\r\n this.images.push(img) \r\n //supprime l'image chargée\r\n this.deleteUpload(fileToUpload)\r\n })\r\n ) \r\n })\r\n Promise.all(queries).finally(() => {\r\n if(hasAdded) this.$emit(\"imagesAdded\",this.images) \r\n this.uploading = false\r\n }) \r\n }\r\n\r\n onOrderChange(temPhotosIds:string) {\r\n this.$emit(\"onOrderChange\",this.images) \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!./ReadImage.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!./ReadImage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReadImage.vue?vue&type=template&id=5b8884ae&\"\nimport script from \"./ReadImage.vue?vue&type=script&lang=ts&\"\nexport * from \"./ReadImage.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ReadImage.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 { VFileInput } from 'vuetify/lib/components/VFileInput';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VFileInput,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-main',[(_vm.loading)?_c('v-container',{staticClass:\"d-flex justify-center align-center\",staticStyle:{\"height\":\"100%\"},attrs:{\"fluid\":\"\"}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"primary\",\"size\":\"100\"}},[_c('v-img',{attrs:{\"src\":_vm.imageLoadingUrl}})],1)],1):_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\r\n// @ is an alias to /src\r\nimport { getDefaultAloMedia } from '@/models/alo/AloMedia';\r\nimport { getImageUrl } from '@/utils/images';\r\nimport { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'MainLoading', \r\n props: { \r\n loading:{\r\n type:Boolean,\r\n default:true\r\n }\r\n }\r\n})\r\nexport default class MainLoading extends Vue {\r\n loading!:boolean\r\n\r\n \r\n get imageLoadingUrl(){\r\n return getImageUrl(getDefaultAloMedia(),80)\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!./MainLoading.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!./MainLoading.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MainLoading.vue?vue&type=template&id=645f9611&\"\nimport script from \"./MainLoading.vue?vue&type=script&lang=ts&\"\nexport * from \"./MainLoading.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 { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VMain } from 'vuetify/lib/components/VMain';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\ninstallComponents(component, {VContainer,VImg,VMain,VProgressCircular})\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},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:{\"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\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 to:{\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,\"month\").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 to!: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 const start = moment.utc(`${this.to.getUTCFullYear()}-${(this.to.getUTCMonth()).toString().padStart(2,'0')}-01T00:00:00.0000000`) \n return [start.toDate(),start.add(1,\"month\").toDate()] \n\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=1c08a1fc&\"\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.$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: 'SearchDrawer', \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 SearchDrawer 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=b943cdf2&\"\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 _c('v-dialog',{attrs:{\"max-width\":\"800\"},model:{value:(_vm.showDialog),callback:function ($$v) {_vm.showDialog=$$v},expression:\"showDialog\"}},[_c('v-card',[_c('v-card-title',[_vm._v(_vm._s(_vm.title)),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.showDialog = false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-card-text',[_c('v-form',{ref:\"editForm\",staticClass:\"ma-2\",attrs:{\"lazy-validation\":true}},[_c('v-text-field',{attrs:{\"label\":\"Recherche\"},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}}),_c('v-btn',{attrs:{\"color\":\"primary\",\"width\":\"100%\",\"small\":\"\"},on:{\"click\":function($event){return _vm.doSearch()}}},[_vm._v(\"Recherche \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-magnify\")])],1)],1),_c('v-data-table',{staticClass:\"datatable elevation-1\",attrs:{\"dense\":\"\",\"headers\":_vm.headers,\"items\":_vm.items,\"loading\":_vm.loading,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"fixed-header\":\"\",\"height\":\"600\",\"mobile-breakpoint\":\"0\"},scopedSlots:_vm._u([{key:\"item.psnEnable\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('check-state',{attrs:{\"checked\":item.psnEnable}})]}},{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-btn',{attrs:{\"small\":\"\",\"icon\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.select(item)}}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-check-bold\")])],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\r\n// @ is an alias to /src\r\nimport { AloBase } from '@/models/alo/AloBase';\r\nimport { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component({\r\n name: 'SearchDialog', \r\n props: {\r\n title:String,\r\n libelle:String,\r\n extendHeader:{\r\n type:Array,\r\n default:()=>[]\r\n },\r\n search:{\r\n type:Function,\r\n required:true\r\n }\r\n }\r\n})\r\nexport default class SearchDialog extends Vue {\r\n title!:string\r\n libelle!:string\r\n extendHeader!:Array\r\n showDialog = false\r\n searchText = \"\"\r\n loading = false\r\n items:Array = [] \r\n search!:(search:string)=>Promise>\r\n\r\n private get headers() {\r\n return [\r\n { text: 'ID', value: 'id', width:70 }, \r\n { text: this.libelle, value: 'libelle' }, \r\n ...this.extendHeader,\r\n { text: '', value:'actions', width:30, sortable:false,filterable:false}\r\n ]\r\n }\r\n\r\n show() { \r\n this.items = []\r\n this.searchText = \"\"\r\n this.showDialog = true\r\n }\r\n\r\n select(item:AloBase) {\r\n this.$emit(\"select\",item) \r\n this.showDialog = false\r\n } \r\n\r\n doSearch(){\r\n this.loading = true\r\n this.search(this.searchText).then(items => {\r\n this.items = items\r\n })\r\n .finally(()=>{\r\n this.loading = false\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!./SearchDialog.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!./SearchDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SearchDialog.vue?vue&type=template&id=a1b1748e&\"\nimport script from \"./SearchDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./SearchDialog.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 { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VDataTable,VDialog,VForm,VIcon,VSpacer,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('menu-nav',{attrs:{\"items\":_vm.administrationItems,\"title\":_vm.menuTitle}})}\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-list',{attrs:{\"dense\":\"\"}},[(_vm.title)?_c('v-subheader',[_vm._v(_vm._s(_vm.title))]):_vm._e(),_c('v-list-item-group',{attrs:{\"color\":\"primary\"}},_vm._l((_vm.items),function(item,i){return _c('v-list-item',{key:(\"nav-\" + i),attrs:{\"exact\":\"\",\"to\":item.to}},[_c('v-list-item-icon',[_c('v-icon',{domProps:{\"textContent\":_vm._s(item.icon)}})],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(item.text))])],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\r\nimport { Component, Vue } from 'vue-property-decorator'\r\nimport { IMenuItem } from '@/models/ui/IMenuItem'\r\n\r\n@Component({\r\n name:\"MenuNav\",\r\n components: { \r\n },\r\n props:{ \r\n title:String,\r\n items:Array\r\n }\r\n})\r\nexport default class MenuNav extends Vue { \r\n title!:string\r\n items!:Array \r\n hideTitle!: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!./MenuNav.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!./MenuNav.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MenuNav.vue?vue&type=template&id=4e0fce69&\"\nimport script from \"./MenuNav.vue?vue&type=script&lang=ts&\"\nexport * from \"./MenuNav.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';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemGroup } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VSubheader } from 'vuetify/lib/components/VSubheader';\ninstallComponents(component, {VIcon,VList,VListItem,VListItemContent,VListItemGroup,VListItemIcon,VListItemTitle,VSubheader})\n","\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport MenuNav from '@/components/shared/MenuNav.vue'\r\nimport { IMenuItem } from '@/models/ui/IMenuItem';\r\n\r\n@Component({\r\n name:'MenuAdministration',\r\n props:{\r\n hideTitle:{\r\n type:Boolean,\r\n default:false\r\n }\r\n },\r\n components: { \r\n MenuNav, \r\n },\r\n})\r\nexport default class MenuAdministration extends Vue {\r\n hideTitle!:boolean\r\n\r\n get menuTitle(){\r\n return this.hideTitle?undefined:\"Administration\"\r\n }\r\n\r\n private get administrationItems(){\r\n return [\r\n {icon:'mdi-account-group',to:{name:'AdminContact'}, text:'Contacts'},\r\n {icon:'mdi-email',to:{name:'AdminNewsletter'}, text:'Newsletter'},\r\n {icon:'mdi-pool',to:{name:'AdminPiscine'}, text:'Piscines'},\r\n {icon:'mdi-waves',to:{name:'AdminActivity'}, text:'Activites'},\r\n //{icon:'mdi-web',to:{name:'AdminPage'}, text:'Pages'},\r\n //{icon:'mdi-folder-multiple-image',to:{name:'AdminMedia'}, text:'Médiathèque'},\r\n //{icon:'mdi-calendar-clock',to:{name:'AdminCours'}, text:'Cours'},\r\n //{icon:'mdi-account-child-outline',to:{name:'AdminMns'}, text:'MNS'},\r\n {icon:'mdi-currency-usd',to:{name:'AdminForfait'}, text:'Tarifs'},\r\n {icon:'mdi-account-multiple',to:{name:'AdminFamily'}, text:'Familles'},\r\n //{icon:'mdi-post',to:{name:'AdminArticle'}, text:'Articles Blog'},\r\n {icon:'mdi-cart',to:{name:'AdminCommande'}, text:'Commandes'},\r\n {icon:'mdi-brush',to:{name:'AdminMailSkin'}, text:this.$t('App.MailSkin')},\r\n {icon:'mdi-email-edit',to:{name:'AdminMailTemplate'}, text:this.$t('App.MailTemplate')},\r\n ] as Array\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!./MenuAdministration.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!./MenuAdministration.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MenuAdministration.vue?vue&type=template&id=223d5214&\"\nimport script from \"./MenuAdministration.vue?vue&type=script&lang=ts&\"\nexport * from \"./MenuAdministration.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","import './class-component-hooks.ts'\r\nimport Vue from 'vue'\r\nimport axios from 'axios'\r\nimport VConfirmDialog from './plugins/confirm'\r\n//@ts-ignore\r\nimport vuetify from './plugins/vuetify'\r\nimport App from './App.vue'\r\nimport { StoreHelper } from './plugins'\r\nimport createRouter from './router'\r\nimport store from './store'\r\nimport {i18n} from'./locale/vueI18n'\r\nimport '@/filters/formatDistance' \r\nimport '@/filters/formatAddress' \r\nimport '@/filters/formatDate'\r\nimport '@/filters/formatDuree'\r\nimport '@/filters/currency'\r\nimport '@/filters/poids' \r\nimport '@/filters/tva'\r\nimport '@/filters/moyenPaiement' \r\nimport '@/filters/capitalize'\r\nimport '@/filters/tel'\r\nimport '@/filters/formatDay'\r\nimport '@/filters/colorStatusCmd'\r\nimport '@/filters/statusCmd'\r\nimport '@/filters/colorStatusInscription'\r\nimport '@/filters/statusInscription'\r\nimport '@/filters/colorStatusCarte'\r\nimport '@/filters/statusCarte'\r\nimport '@/filters/statusAbo'\r\nimport '@/filters/formatFinValidite'\r\nimport '@/filters/formatAge'\r\nimport VuetifyConfirm from './plugins/confirm'\r\nimport 'leaflet/dist/leaflet.css'\r\n//@ts-ignore\r\nimport VueCalendly from 'vue-calendly';\r\n\r\n\r\n\r\n/*import { VueperSlides, VueperSlide } from 'vueperslides-router'\r\nimport 'vueperslides-router/dist/vueperslides.css'*/\r\n\r\nimport VueSlickCarousel from 'vue-slick-carousel'\r\nimport 'vue-slick-carousel/dist/vue-slick-carousel.css'\r\n// optional style for arrows & dots\r\nimport 'vue-slick-carousel/dist/vue-slick-carousel-theme.css'\r\n\r\nimport CKEditor from 'ckeditor4-vue' \r\nimport NumberFieldFactor from '@/components/shared/NumberFieldFactor.vue'\r\nimport CheckState from '@/components/shared/CheckState.vue'\r\nimport ReadImage from '@/components/image/ReadImage.vue'\r\nimport MainLoading from '@/components/shared/MainLoading.vue'\r\nimport MonthPicker from '@/components/shared/MonthPicker.vue' \r\nimport SearchDrawer from '@/components/shared/SearchDrawer.vue'\r\nimport SearchDialog from '@/components/shared/SearchDialog.vue'\r\nimport MenuAdministration from '@/components/administration/MenuAdministration.vue'\r\n\r\nimport Draggable from 'vuedraggable'\r\nimport VueClipboard from 'vue-clipboard2'\r\n\r\n\r\n\r\nVue.component('number-field-factor',NumberFieldFactor)\r\nVue.component('check-state',CheckState)\r\nVue.component('upload-image',ReadImage)\r\nVue.component('main-loading',MainLoading)\r\nVue.component('month-picker',MonthPicker)\r\nVue.component('draggable',Draggable) \r\nVue.component('vue-slick-carousel',VueSlickCarousel) \r\n\r\nVue.component('search-drawer',SearchDrawer)\r\nVue.component('search-dialog',SearchDialog)\r\nVue.component('menu-administration',MenuAdministration)\r\n\r\n\r\n\r\nimport types from '@/store/all-action-types'\r\n\r\n/* Correction Icon LeafLet */\r\nimport { Icon } from 'leaflet'\r\n//@ts-ignore\r\ndelete Icon.Default.prototype._getIconUrl;\r\nIcon.Default.mergeOptions({\r\n iconRetinaUrl: require('leaflet/dist/images/marker-icon-2x.png'),\r\n iconUrl: require('leaflet/dist/images/marker-icon.png'), \r\n shadowUrl: require('leaflet/dist/images/marker-shadow.png'),\r\n});\r\n\r\nVue.use(VuetifyConfirm, { vuetify,\r\n buttonTrueText: 'Oui', \r\n buttonFalseText: 'Non', })\r\n \r\nVue.use( CKEditor )\r\n\r\n\r\nVue.config.productionTip = false\r\nVue.use(VConfirmDialog)\r\nVue.use(StoreHelper)\r\nVue.use(VueClipboard)\r\nVue.use(VueCalendly);\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\nexport const router = createRouter(store)\r\n\r\nif((autolog?.length ?? 0) > 0) {\r\n store.dispatch(types.AUTH_AUTOLOG_REQUEST,autolog).finally(()=> {\r\n urlParams.delete(\"autolog\") \r\n window.history.replaceState({}, '', `${location.pathname}`); \r\n new Vue({\r\n i18n,\r\n //@ts-ignore\r\n vuetify,\r\n router,\r\n store,\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\nelse{\r\n store.dispatch(types.AUTH_USER_REQUEST).finally(()=>{ \r\n new Vue({\r\n i18n,\r\n //@ts-ignore\r\n vuetify,\r\n router,\r\n store,\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 ","module.exports = __webpack_public_path__ + \"img/logo.8f964081.png\";","export const concat = (chaine: string|null, chaineToAdd: string|null,separator:string=\"
\") => {\r\n return (chaine && chaine.length > 0)?\r\n ((chaineToAdd && chaineToAdd.length > 0)?`${chaine}${separator}${chaineToAdd}`:chaine)\r\n :chaineToAdd??''\r\n}","module.exports = __webpack_public_path__ + \"img/logo-white.f05830f3.png\";","import { AloAddress, getDefaultAloAddress } from './AloAddress';\r\nimport { AloBase, getDefaultAloBase } from './AloBase'\r\nimport { AloMedia, getDefaultAloMedia } from './AloMedia';\r\nimport { AloPageContent, getDefaultAloPageContent } from './AloPageContent';\r\n\r\n\r\nexport interface AloTemplateHoraire extends AloBase { \r\n usrId:number \r\n acyIdCplt:number \r\n thrHeure:number\r\n thrMinute:number\r\n thrJour:number\r\n tcsId:number\r\n}\r\n\r\nexport const getDefaultAloTemplateHoraire = (jour:number=3,heure:number=14,minute:number=0):AloTemplateHoraire => {\r\n return { \r\n ...getDefaultAloBase(), \r\n usrId:2, //LOIC\r\n acyIdCplt:0,\r\n thrHeure:heure,\r\n thrMinute:minute,\r\n thrJour:jour,\r\n tcsId:0\r\n }\r\n}\r\n\r\nexport const cleanAloTemplateHoraire = (tplHoraire:AloTemplateHoraire) => {\r\n if(!tplHoraire) return \r\n if(!tplHoraire.id) delete tplHoraire.id\r\n if(!tplHoraire.usrId) delete tplHoraire.usrId\r\n if(!tplHoraire.acyIdCplt) delete tplHoraire.acyIdCplt\r\n if(!tplHoraire.tcsId) delete tplHoraire.tcsId\r\n \r\n}","import { ApiUserRole } from '@/enum/ApiUserRole'\r\nimport { TemplateMail } from '@/enum/TemplateMail'\r\nimport { AloAddress, getDefaultAloAddress } from './AloAddress'\r\nimport { AloBase, getDefaultAloBase } from './AloBase'\r\n\r\n\r\nexport interface AloUser extends AloBase {\r\n \r\n actId: number|null\r\n famId: number|null\r\n usrCivilite: number|null\r\n usrDatlog: string\r\n usrDatbirth: string\r\n usrNom: string\r\n usrPrenom: string\r\n usrTel: string \r\n usrEmail: string\r\n usrNoteInterne: string \r\n actDisabled: boolean\r\n roles: Array\r\n address: AloAddress\r\n famName: string\r\n famActId: number\r\n mtpId: TemplateMail|null\r\n membres: Array\r\n}\r\n\r\nexport const getDefaultAloUser = (role:ApiUserRole = ApiUserRole.Client):AloUser => {\r\n return { \r\n ...getDefaultAloBase(), \r\n actId : null,\r\n famId: null,\r\n usrCivilite:null,\r\n usrDatlog:\"\",\r\n usrDatbirth:\"\",\r\n usrNom:\"\",\r\n usrPrenom:\"\", \r\n usrTel:\"\",\r\n usrEmail:\"\",\r\n usrNoteInterne:\"\", \r\n actDisabled:true,\r\n roles:[],\r\n address:getDefaultAloAddress(),\r\n famName:\"\",\r\n famActId:0,\r\n mtpId:null,\r\n membres:[]\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.actId) delete user.actId \r\n if(!user.famId) delete user.famId \r\n if(!user.usrCivilite) delete user.usrCivilite \r\n if(!user.mtpId) delete user.mtpId \r\n}\r\n\r\n","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!./ImageDetailUpload.vue?vue&type=style&index=0&lang=css&\"","import { CommitAction } from '@/enum/CommitAction'\r\nimport { 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:CommitAction=CommitAction.listAndDic):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","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\nimport { uuidv4 } from '@/utils/uuid'\r\nimport { use } from 'vue/types/umd'\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 saveMemberUser(user:AloUser):AxiosPromise> {\r\n cleanAloUser(user)\r\n if(user.id) {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/User/membre/${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 const pass=uuidv4() \r\n var userIdentity = { userEmail:user.usrEmail, userPass:pass , userNom:user.usrNom,userPrenom:user.usrPrenom, userNewPass:pass, famId:user.famId};\r\n return apiHelpers.apiCall({ \r\n url: '/webapi/Authenticate/create-account', \r\n method: 'POST',\r\n data:userIdentity,\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){\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 { AloConfigBase, cleanAloConfigBase, getDefaultAloConfigBase } from './AloConfigBase'\r\n\r\n\r\nexport interface AloConfigPiscine extends AloConfigBase { \r\n infosFermeture:string,\r\n}\r\n\r\nexport const getDefaultAloConfigPiscine = ():AloConfigPiscine => {\r\n return { \r\n ...getDefaultAloConfigBase(),\r\n infosFermeture:\"\"\r\n }\r\n}\r\n\r\nexport const cleanAloConfigActivite = (config:AloConfigPiscine) => {\r\n cleanAloConfigBase(config) \r\n if(!config) return \r\n}","\r\n\r\nexport interface AloBase {\r\n id:number\r\n libelle:string\r\n selected?:boolean \r\n detailLoaded?: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 detailLoaded:false\r\n }\r\n}","import apiHelpers from '@/utils/api'\r\nimport { AlrContainer } from '@/models/response/AlrContainer'\r\nimport { AxiosPromise } from 'axios'\r\nimport { AloActivity,cleanAloActivity, getDefaultAloActivity } from '@/models/alo/AloActivity'\r\nimport { ApiResultCode } from '@/enum/ApiResultCode'\r\nimport { getDefaultAloConfigActivity } from '@/models/alo/AloConfigActivity'\r\n\r\nfunction parseActivityData(data:string) {\r\n const resp = JSON.parse(data) as AlrContainer \r\n if(resp.resultCode == ApiResultCode.Ok){\r\n const acy = resp.data as AloActivity \r\n if(acy?.image?.id > 1 && (!acy.images || acy.images.length == 0)) acy.images = [acy.image]\r\n acy.configActivity = acy.config?{...getDefaultAloConfigActivity(),...JSON.parse(acy.config)}:getDefaultAloConfigActivity()\r\n } \r\n return resp\r\n}\r\n\r\nfunction parseActivitiesData(data:string) { \r\n const resp = JSON.parse(data) as AlrContainer> \r\n if(resp.resultCode == ApiResultCode.Ok) {\r\n const acys = resp.data as Array \r\n acys.forEach(acy => \r\n {\r\n if(acy?.image?.id > 1 && (!acy.images || acy.images.length == 0)) acy.images = [acy.image]\r\n acy.configActivity = acy.config?{...getDefaultAloConfigActivity(),...JSON.parse(acy.config)}:getDefaultAloConfigActivity()\r\n }) \r\n } \r\n return resp\r\n}\r\n\r\nexport default {\r\n getAllActivity(): AxiosPromise>> { \r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Activity`, \r\n method: 'GET',\r\n transformResponse: parseActivitiesData\r\n })\r\n },\r\n getActivity(idOrSlug:string|number):AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Activity/${idOrSlug}`, \r\n method: 'GET',\r\n transformResponse: parseActivityData\r\n })\r\n },\r\n saveActivity(activity:AloActivity):AxiosPromise> {\r\n cleanAloActivity(activity)\r\n if(activity.id) {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Activity/${activity.id}`, \r\n method: 'PUT',\r\n data: activity,\r\n transformResponse: parseActivityData\r\n }) \r\n }\r\n else{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Activity`, \r\n method: 'POST',\r\n data: activity,\r\n transformResponse: parseActivityData\r\n }) \r\n }\r\n },\r\n deleteActivity(id:number):AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Activity/${id}`, \r\n method: 'DELETE',\r\n transformResponse: parseActivityData\r\n })\r\n },\r\n sortActivity(ids:string){\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Activity/ordre/${ids}`, \r\n method: 'PUT',\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer>>\r\n }]\r\n })\r\n }\r\n}\r\n","export enum StatusInscription {\r\n inscrit = 1,\r\n present = 2,\r\n abscent = 3, \r\n annulee = 4, \r\n attente = 5\r\n}\r\n","import { ITuileNav } from '@/models/ui/ITuileNav'\r\nimport { AloBase, getDefaultAloBase } from './AloBase'\r\nimport { AloConfigActivity, getDefaultAloConfigActivity } from './AloConfigActivity'\r\nimport { AloMedia, cleanAloMedia, getDefaultAloMedia } from './AloMedia'\r\nimport { AloPageContent, getDefaultAloPageContent } from './AloPageContent'\r\n \r\nexport interface AloActivity extends AloBase { \r\n pagId:number\r\n acyEnfant:boolean\r\n acyInfos:string\r\n acyOrdre:number|null\r\n acyAge:number|null\r\n image:AloMedia\r\n images:Array\r\n content:AloPageContent\r\n config:string\r\n configActivity:AloConfigActivity\r\n}\r\n\r\nexport const getDefaultAloActivity = ():AloActivity => {\r\n return { \r\n ...getDefaultAloBase(),\r\n pagId:0,\r\n acyEnfant:false,\r\n acyInfos:\"\",\r\n acyOrdre:null,\r\n acyAge:null,\r\n image:getDefaultAloMedia(),\r\n images:[],\r\n content:getDefaultAloPageContent(),\r\n config:'',\r\n configActivity:getDefaultAloConfigActivity()\r\n }\r\n}\r\n\r\nexport const cleanAloActivity = (activity:AloActivity) => {\r\n if(!activity) return \r\n if(!activity.id) delete activity.id\r\n if(!activity.pagId) delete activity.pagId \r\n cleanAloMedia(activity.image)\r\n activity.images?.forEach(i => cleanAloMedia(i))\r\n activity.config = JSON.stringify(activity.configActivity)\r\n delete activity.configActivity\r\n}\r\n\r\nexport const ConvertToTuileNav = (activity:AloActivity):ITuileNav => {\r\n return {\r\n id: activity.id, \r\n title: activity.libelle,\r\n image: activity.image,\r\n subtitle: activity.acyInfos,\r\n promo: activity.acyAge == 0?\"A partir de 6 mois\":(activity.acyAge?`A partir de ${activity.acyAge} ans`:\"\"),\r\n to: {name:activity.acyEnfant?'ActiviteEnfant':'ActiviteAdulte',params:{activityId:activity.id.toString(),slug:activity.content.slug}}\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}","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!./ImageDetail.vue?vue&type=style&index=0&lang=css&\"","import { AloAddress, cleanAloAddress, getDefaultAloAddress } from './AloAddress';\r\nimport { AloBase, getDefaultAloBase } from './AloBase'\r\nimport { AloConfigPiscine, getDefaultAloConfigPiscine } from './AloConfigPiscine';\r\nimport { AloForfait, cleanAloForfait } from './AloForfait';\r\nimport { AloMedia, cleanAloMedia, getDefaultAloMedia } from './AloMedia';\r\nimport { AloMns, cleanAloMns } from './AloMns';\r\nimport { AloPageContent, cleanAloPageContent, getDefaultAloPageContent } from './AloPageContent';\r\nimport { AloTemplateCours, cleanAloTemplateCours } from './AloTemplateCours';\r\n\r\n\r\nexport interface AloPiscine extends AloBase { \r\n adrId:number\r\n psnEnable:boolean\r\n psnDomicile:boolean\r\n psnLargeurCm:number|null\r\n psnLongueurCm:number|null\r\n psnDepthMinCm:number|null\r\n psnDepthMaxCm:number|null\r\n address:AloAddress\r\n acyIds:number[] \r\n image:AloMedia\r\n images:Array\r\n content:AloPageContent\r\n templateCours:AloTemplateCours[]\r\n fftIds:number[]\r\n mns:AloMns[]\r\n config:string\r\n configPiscine:AloConfigPiscine\r\n datMinCours:string\r\n datMaxCours:string\r\n}\r\n\r\nexport const getDefaultAloPiscine = ():AloPiscine => {\r\n return { \r\n ...getDefaultAloBase(), \r\n adrId:0,\r\n psnEnable:false,\r\n psnDomicile:false,\r\n psnLargeurCm:null,\r\n psnLongueurCm:null,\r\n psnDepthMinCm:null,\r\n psnDepthMaxCm:null,\r\n address:getDefaultAloAddress(),\r\n acyIds:[],\r\n image:getDefaultAloMedia(),\r\n images:[],\r\n content:getDefaultAloPageContent(),\r\n templateCours:[],\r\n fftIds:[],\r\n mns:[],\r\n config:'',\r\n configPiscine:getDefaultAloConfigPiscine(),\r\n datMinCours:'',\r\n datMaxCours:''\r\n }\r\n}\r\n\r\nexport const cleanAloPiscine = (piscine:AloPiscine) => {\r\n if(!piscine) return \r\n if(!piscine.id) delete piscine.id\r\n if(!piscine.adrId) delete piscine.adrId\r\n delete piscine.acyIds \r\n cleanAloAddress(piscine.address) \r\n piscine.images?.forEach(i => cleanAloMedia(i))\r\n if(piscine.images.length>0)piscine.image = piscine.images[0]\r\n cleanAloPageContent(piscine.content)\r\n piscine.templateCours.forEach(t => cleanAloTemplateCours(t) ) \r\n piscine.mns.forEach(m => cleanAloMns(m))\r\n piscine.config = JSON.stringify(piscine.configPiscine)\r\n delete piscine.configPiscine \r\n}\r\n\r\n","import { AloBase, getDefaultAloBase } from './AloBase'\r\nimport { AloMedia, cleanAloMedia, getDefaultAloMedia } from './AloMedia'\r\n\r\n\r\nexport interface AloMns extends AloBase { \r\n usrNom: string\r\n usrPrenom: string\r\n ctyName: string\r\n image:AloMedia\r\n}\r\n\r\nexport const getDefaultAloMns = ():AloMns => {\r\n return { \r\n ...getDefaultAloBase(), \r\n usrNom:\"\",\r\n usrPrenom:\"\", \r\n ctyName:\"\",\r\n image:getDefaultAloMedia()\r\n }\r\n}\r\n\r\n\r\nexport const cleanAloMns = (mns:AloMns) => {\r\n if(!mns) return \r\n if(!mns.id) delete mns.id\r\n cleanAloMedia(mns.image)\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 { AloFamily,cleanAloFamily } from '@/models/alo/AloFamily'\r\nimport { AloInscription } from '@/models/alo/AloInscription'\r\nimport { AloFamInscription } from '@/models/alo/AloFamInscription'\r\nimport { AloFamCarte } from '@/models/alo/AloFamCarte'\r\nimport { AloNewCarte } from '@/models/alo/AloNewCarte'\r\nimport { uuidv4 } from '@/utils/uuid'\r\nimport { Tickets } from '@/models/alo/Tickets'\r\nimport { CmdTickets } from '@/models/alo/CmdTickets'\r\n\r\nexport default {\r\n getAllFamily(): AxiosPromise>> { \r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Family`, \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 getFamily(id:number):AxiosPromise> {\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Family/${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 saveFamily(family:AloFamily):AxiosPromise> {\r\n cleanAloFamily(family)\r\n if(family.id) { \r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Family/${family.id}`, \r\n method: 'PUT',\r\n data: family,\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 const pass=uuidv4() \r\n var userIdentity = { userEmail:'', userPass:pass , userNom:family.libelle,userPrenom:'', userNewPass:pass};\r\n return apiHelpers.apiCall({ \r\n url: '/webapi/Authenticate/create-account', \r\n method: 'POST',\r\n data:userIdentity,\r\n transformResponse: [function (data: string) { \r\n return JSON.parse(data) as AlrContainer\r\n }] \r\n })\r\n }\r\n },\r\n deleteFamily(id:number):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Family/${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 getTickets(payload:{famId:number,crsId:number}):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Family/tickets`, \r\n method: 'GET',\r\n params:payload,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n })\r\n },\r\n getAllowedTickets(payload:{famId:number,crsId:number}):AxiosPromise>>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Family/allowed-tickets`, \r\n method: 'GET',\r\n params:payload,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer>\r\n }]\r\n })\r\n },\r\n inscription(payload:{usrId:number,crsId:number,crwId:number}):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Family/inscription`, \r\n method: 'POST',\r\n params:payload,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n })\r\n },\r\n inscriptions(payload:{famId:number,all:boolean}):AxiosPromise>>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Family/inscriptions`, \r\n method: 'GET',\r\n params:payload,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer>\r\n }]\r\n })\r\n },\r\n forfaits(payload:{famId:number,all:boolean}):AxiosPromise>>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Family/forfaits`, \r\n method: 'GET',\r\n params:payload,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer>\r\n }]\r\n })\r\n },\r\n annule(isnId:number):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Family/annule/${isnId}`, \r\n method: 'PUT', \r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n })\r\n },\r\n addCarte(payload:{famId:number,carte:AloNewCarte}):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Family/carte/${payload.famId}`, \r\n method: 'POST', \r\n data:payload.carte,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n })\r\n },\r\n updateCarte(payload:{famId:number,carte:AloNewCarte}):AxiosPromise>{\r\n return apiHelpers.apiCall({ \r\n url: `/webapi/Family/carte/${payload.famId}`, \r\n method: 'PUT', \r\n data:payload.carte,\r\n transformResponse: [function (data:string) { \r\n return JSON.parse(data) as AlrContainer\r\n }]\r\n })\r\n },\r\n}"],"sourceRoot":""}